Documentation
¶
Index ¶
- Constants
- func AgeQualifier(age int) string
- func AgeWhenWhere[T render.EncodedText](ev model.IndividualTimelineEvent, enc render.TextEncoder[T], nc NameChooser) string
- func AgeWhenWherePov[T render.EncodedText](ev model.IndividualTimelineEvent, enc render.TextEncoder[T], nc NameChooser, ...) string
- func Bio(p *model.Person) string
- func ChildCardinal(clist []*model.Person) string
- func ChildList[T render.EncodedText](clist []*model.Person, enc render.ContentBuilder[T], nc NameChooser) []T
- func ChooseFrom(n int, alternatives ...string) string
- func DeathWhat(ev model.IndividualTimelineEvent, mode model.ModeOfDeath) string
- func EncodePeopleListInline[T render.EncodedText](ps []*model.Person, formatter func(*model.Person) string, ...) string
- func EncodeRawLink[T render.EncodedText](u string, enc render.TextEncoder[T]) string
- func EncodeText[T render.EncodedText](t model.Text, enc render.TextEncoder[T]) string
- func EventNarrativeDetail[T render.EncodedText](ev model.TimelineEvent, enc render.ContentBuilder[T]) string
- func EventWhatWhenWhere[T render.EncodedText](ev model.TimelineEvent, enc render.TextEncoder[T], nc NameChooser) string
- func EventWhatWhenWherePov[T render.EncodedText](ev model.TimelineEvent, enc render.TextEncoder[T], nc NameChooser, ...) string
- func EventWhatWhere[T render.EncodedText](ev model.TimelineEvent, enc render.TextEncoder[T], nc NameChooser) string
- func EventWhatWherePov[T render.EncodedText](ev model.TimelineEvent, enc render.TextEncoder[T], nc NameChooser, ...) string
- func EventWhenWhere[T render.EncodedText](ev model.TimelineEvent, enc render.TextEncoder[T], nc NameChooser) string
- func EventWhenWherePov[T render.EncodedText](ev model.TimelineEvent, enc render.TextEncoder[T], nc NameChooser, ...) string
- func FollowingWhatWhenWhere[T render.EncodedText](what string, dt *model.Date, pl *model.Place, preceding model.TimelineEvent, ...) string
- func GenerateOlb(p *model.Person) string
- func InferredWhat(w model.Whater, ev model.TimelineEvent) string
- func MediaObjectsAsFigures[T render.EncodedText](mos []*model.CitedMediaObject, enc render.ContentBuilder[T], ...) error
- func NamedWhen(dt *model.Date) string
- func PersonBirthSummary[T render.EncodedText](p *model.Person, enc render.TextEncoder[T], nc NameChooser, name T, ...) T
- func PersonDeathSummary[T render.EncodedText](p *model.Person, enc render.TextEncoder[T], nc NameChooser, name T, ...) T
- func PersonMarriageSummary[T render.EncodedText](p *model.Person, enc render.TextEncoder[T], nc NameChooser, name T, ...) T
- func PersonParentage[T render.EncodedText](p *model.Person, enc render.TextEncoder[T]) string
- func PersonSummary[T render.EncodedText](p *model.Person, enc render.TextEncoder[T], nc NameChooser, name T, ...) T
- func PositionInFamily(p *model.Person) string
- func RenderText[T render.EncodedText](t model.Text, enc render.ContentBuilder[T]) error
- func WhatWhen[T render.EncodedText](what string, dt *model.Date, enc render.TextEncoder[T]) string
- func WhatWhenWhere[T render.EncodedText](what string, dt *model.Date, pl *model.Place, enc render.TextEncoder[T], ...) string
- func WhatWhenWherePov[T render.EncodedText](what string, dt *model.Date, pl *model.Place, enc render.TextEncoder[T], ...) string
- func WhatWhere[T render.EncodedText](what string, pl *model.Place, enc render.TextEncoder[T], nc NameChooser) string
- func WhatWherePov[T render.EncodedText](what string, pl *model.Place, enc render.TextEncoder[T], nc NameChooser, ...) string
- func WhenWhere[T render.EncodedText](dt *model.Date, pl *model.Place, enc render.TextEncoder[T], nc NameChooser) string
- func WhenWherePov[T render.EncodedText](dt *model.Date, pl *model.Place, enc render.TextEncoder[T], nc NameChooser, ...) string
- func Who[T render.EncodedText](ev model.TimelineEvent, enc render.TextEncoder[T], nc NameChooser) string
- func WhoDoing[T render.EncodedText](p *model.Person, dt *model.Date, enc render.TextEncoder[T], nc NameChooser) string
- func WhoPov[T render.EncodedText](ev model.TimelineEvent, enc render.TextEncoder[T], nc NameChooser, ...) string
- func WhoWhatWhenWhere[T render.EncodedText](ev model.TimelineEvent, enc render.TextEncoder[T], nc NameChooser) string
- func WhoWhatWhenWherePov[T render.EncodedText](ev model.TimelineEvent, enc render.TextEncoder[T], nc NameChooser, ...) string
- func YoungPersonOnePlaceSummary[T render.EncodedText](p *model.Person, enc render.TextEncoder[T], nc NameChooser, name T, ...) T
- type CensusStatement
- func (s *CensusStatement[T]) End() *model.Date
- func (s *CensusStatement[T]) NarrativeSequence() int
- func (s *CensusStatement[T]) Priority() int
- func (s *CensusStatement[T]) RenderDetail(seq int, intro *IntroGenerator[T], enc render.ContentBuilder[T], ...)
- func (s *CensusStatement[T]) Start() *model.Date
- type ChildrenStatement
- func (s *ChildrenStatement[T]) End() *model.Date
- func (s *ChildrenStatement[T]) NarrativeSequence() int
- func (s *ChildrenStatement[T]) Priority() int
- func (s *ChildrenStatement[T]) RenderDetail(seq int, intro *IntroGenerator[T], enc render.ContentBuilder[T], ...)
- func (s *ChildrenStatement[T]) Start() *model.Date
- type CitationSkippingEncoder
- type DeathStatement
- func (s *DeathStatement[T]) End() *model.Date
- func (s *DeathStatement[T]) NarrativeSequence() int
- func (s *DeathStatement[T]) Priority() int
- func (s *DeathStatement[T]) RenderDetail(seq int, intro *IntroGenerator[T], enc render.ContentBuilder[T], ...)
- func (s *DeathStatement[T]) RenderDetailUnknown(seq int, intro *IntroGenerator[T], enc render.ContentBuilder[T], ...) error
- func (s *DeathStatement[T]) Start() *model.Date
- type DeathSummarizer
- type DefaultNameChooser
- type FamilyEndStatement
- func (s *FamilyEndStatement[T]) End() *model.Date
- func (s *FamilyEndStatement[T]) NarrativeSequence() int
- func (s *FamilyEndStatement[T]) Priority() int
- func (s *FamilyEndStatement[T]) RenderDetail(seq int, intro *IntroGenerator[T], enc render.ContentBuilder[T], ...)
- func (s *FamilyEndStatement[T]) Start() *model.Date
- type FamilyNarrative
- type FamilyStatement
- func (s *FamilyStatement[T]) End() *model.Date
- func (s *FamilyStatement[T]) NarrativeSequence() int
- func (s *FamilyStatement[T]) Priority() int
- func (s *FamilyStatement[T]) RenderDetail(seq int, intro *IntroGenerator[T], enc render.ContentBuilder[T], ...)
- func (s *FamilyStatement[T]) Start() *model.Date
- type FullNameChooser
- type GeneralEventStatement
- func (s *GeneralEventStatement[T]) End() *model.Date
- func (s *GeneralEventStatement[T]) NarrativeSequence() int
- func (s *GeneralEventStatement[T]) Priority() int
- func (s *GeneralEventStatement[T]) RenderDetail(seq int, intro *IntroGenerator[T], enc render.ContentBuilder[T], ...)
- func (s *GeneralEventStatement[T]) Start() *model.Date
- type IntroGenerator
- func (n *IntroGenerator[T]) Default(seq int, dt *model.Date) string
- func (n *IntroGenerator[T]) IntroducePerson(seq int, p *model.Person, dt *model.Date, suppressSameSurname bool, ...) string
- func (n *IntroGenerator[T]) Pronoun(seq int, dt *model.Date, principal *model.Person) string
- func (n *IntroGenerator[T]) RelativeTime(seq int, dt *model.Date, includeFullDate bool) string
- func (n *IntroGenerator[T]) WasWere(principal *model.Person) string
- type IntroStatement
- type MediaStatement
- type NameChooser
- type NarrativeTimelineEntryFormatter
- type PersonLinkingTextEncoder
- type PersonNarrative
- type Statement
- type TimelineNameChooser
- type UniqueNameChooser
Constants ¶
const ( NarrativeSequenceIntro = 0 NarrativeSequenceEarlyLife = 1 NarrativeSequenceLifeStory = 2 NarrativeSequenceDeath = 3 NarrativeSequencePostDeath = 4 )
Variables ¶
This section is empty.
Functions ¶
func AgeQualifier ¶
func AgeWhenWhere ¶
func AgeWhenWhere[T render.EncodedText](ev model.IndividualTimelineEvent, enc render.TextEncoder[T], nc NameChooser) string
func AgeWhenWherePov ¶
func AgeWhenWherePov[T render.EncodedText](ev model.IndividualTimelineEvent, enc render.TextEncoder[T], nc NameChooser, pov *model.POV) string
func ChildCardinal ¶
func ChildList ¶
func ChildList[T render.EncodedText](clist []*model.Person, enc render.ContentBuilder[T], nc NameChooser) []T
func ChooseFrom ¶
func DeathWhat ¶
func DeathWhat(ev model.IndividualTimelineEvent, mode model.ModeOfDeath) string
func EncodePeopleListInline ¶
func EncodePeopleListInline[T render.EncodedText](ps []*model.Person, formatter func(*model.Person) string, enc render.TextEncoder[T]) string
EncodePeopleListInline encodes a list of people as a comma separated list
func EncodeRawLink ¶
func EncodeRawLink[T render.EncodedText](u string, enc render.TextEncoder[T]) string
func EncodeText ¶
func EncodeText[T render.EncodedText](t model.Text, enc render.TextEncoder[T]) string
func EventNarrativeDetail ¶
func EventNarrativeDetail[T render.EncodedText](ev model.TimelineEvent, enc render.ContentBuilder[T]) string
func EventWhatWhenWhere ¶
func EventWhatWhenWhere[T render.EncodedText](ev model.TimelineEvent, enc render.TextEncoder[T], nc NameChooser) string
func EventWhatWhenWherePov ¶
func EventWhatWhenWherePov[T render.EncodedText](ev model.TimelineEvent, enc render.TextEncoder[T], nc NameChooser, pov *model.POV) string
func EventWhatWhere ¶
func EventWhatWhere[T render.EncodedText](ev model.TimelineEvent, enc render.TextEncoder[T], nc NameChooser) string
func EventWhatWherePov ¶
func EventWhatWherePov[T render.EncodedText](ev model.TimelineEvent, enc render.TextEncoder[T], nc NameChooser, pov *model.POV) string
func EventWhenWhere ¶
func EventWhenWhere[T render.EncodedText](ev model.TimelineEvent, enc render.TextEncoder[T], nc NameChooser) string
func EventWhenWherePov ¶
func EventWhenWherePov[T render.EncodedText](ev model.TimelineEvent, enc render.TextEncoder[T], nc NameChooser, pov *model.POV) string
func FollowingWhatWhenWhere ¶
func FollowingWhatWhenWhere[T render.EncodedText](what string, dt *model.Date, pl *model.Place, preceding model.TimelineEvent, enc render.TextEncoder[T], nc NameChooser) string
func GenerateOlb ¶
func InferredWhat ¶
func InferredWhat(w model.Whater, ev model.TimelineEvent) string
func MediaObjectsAsFigures ¶
func MediaObjectsAsFigures[T render.EncodedText](mos []*model.CitedMediaObject, enc render.ContentBuilder[T], cropMediaHighlights bool) error
func PersonBirthSummary ¶
func PersonBirthSummary[T render.EncodedText](p *model.Person, enc render.TextEncoder[T], nc NameChooser, name T, allowInferred bool, includeBirthDate bool, includeParentage bool, activeTense bool) T
func PersonDeathSummary ¶
func PersonDeathSummary[T render.EncodedText](p *model.Person, enc render.TextEncoder[T], nc NameChooser, name T, allowInferred bool, activeTense bool, minimal bool, includeAge bool) T
func PersonMarriageSummary ¶
func PersonMarriageSummary[T render.EncodedText](p *model.Person, enc render.TextEncoder[T], nc NameChooser, name T, allowInferred bool, activeTense bool) T
func PersonParentage ¶
func PersonParentage[T render.EncodedText](p *model.Person, enc render.TextEncoder[T]) string
func PersonSummary ¶
func PersonSummary[T render.EncodedText](p *model.Person, enc render.TextEncoder[T], nc NameChooser, name T, includeBirth bool, includeParentage bool, activeTense bool, linkname bool, minimal bool) T
func PositionInFamily ¶
func RenderText ¶
func RenderText[T render.EncodedText](t model.Text, enc render.ContentBuilder[T]) error
func WhatWhen ¶
func WhatWhen[T render.EncodedText](what string, dt *model.Date, enc render.TextEncoder[T]) string
func WhatWhenWhere ¶
func WhatWhenWhere[T render.EncodedText](what string, dt *model.Date, pl *model.Place, enc render.TextEncoder[T], nc NameChooser) string
func WhatWhenWherePov ¶
func WhatWhenWherePov[T render.EncodedText](what string, dt *model.Date, pl *model.Place, enc render.TextEncoder[T], nc NameChooser, pov *model.POV) string
func WhatWhere ¶
func WhatWhere[T render.EncodedText](what string, pl *model.Place, enc render.TextEncoder[T], nc NameChooser) string
func WhatWherePov ¶
func WhatWherePov[T render.EncodedText](what string, pl *model.Place, enc render.TextEncoder[T], nc NameChooser, pov *model.POV) string
func WhenWhere ¶
func WhenWhere[T render.EncodedText](dt *model.Date, pl *model.Place, enc render.TextEncoder[T], nc NameChooser) string
func WhenWherePov ¶
func WhenWherePov[T render.EncodedText](dt *model.Date, pl *model.Place, enc render.TextEncoder[T], nc NameChooser, pov *model.POV) string
func Who ¶
func Who[T render.EncodedText](ev model.TimelineEvent, enc render.TextEncoder[T], nc NameChooser) string
func WhoDoing ¶
func WhoDoing[T render.EncodedText](p *model.Person, dt *model.Date, enc render.TextEncoder[T], nc NameChooser) string
WhoDoing returns a persons full or familiar name with their occupation as an aside if known.
func WhoPov ¶
func WhoPov[T render.EncodedText](ev model.TimelineEvent, enc render.TextEncoder[T], nc NameChooser, pov *model.POV) string
func WhoWhatWhenWhere ¶
func WhoWhatWhenWhere[T render.EncodedText](ev model.TimelineEvent, enc render.TextEncoder[T], nc NameChooser) string
func WhoWhatWhenWherePov ¶
func WhoWhatWhenWherePov[T render.EncodedText](ev model.TimelineEvent, enc render.TextEncoder[T], nc NameChooser, pov *model.POV) string
func YoungPersonOnePlaceSummary ¶
func YoungPersonOnePlaceSummary[T render.EncodedText](p *model.Person, enc render.TextEncoder[T], nc NameChooser, name T, includeBirth bool, includeParentage bool, activeTense bool, linkname bool, minimal bool) T
Types ¶
type CensusStatement ¶
type CensusStatement[T render.EncodedText] struct { Principal *model.Person Event *model.CensusEvent IncludeMedia bool CropMediaHighlights bool }
func (*CensusStatement[T]) End ¶
func (s *CensusStatement[T]) End() *model.Date
func (*CensusStatement[T]) NarrativeSequence ¶
func (s *CensusStatement[T]) NarrativeSequence() int
func (*CensusStatement[T]) Priority ¶
func (s *CensusStatement[T]) Priority() int
func (*CensusStatement[T]) RenderDetail ¶
func (s *CensusStatement[T]) RenderDetail(seq int, intro *IntroGenerator[T], enc render.ContentBuilder[T], nc NameChooser)
func (*CensusStatement[T]) Start ¶
func (s *CensusStatement[T]) Start() *model.Date
type ChildrenStatement ¶
type ChildrenStatement[T render.EncodedText] struct { Family *model.Family }
func (*ChildrenStatement[T]) End ¶
func (s *ChildrenStatement[T]) End() *model.Date
func (*ChildrenStatement[T]) NarrativeSequence ¶
func (s *ChildrenStatement[T]) NarrativeSequence() int
func (*ChildrenStatement[T]) Priority ¶
func (s *ChildrenStatement[T]) Priority() int
func (*ChildrenStatement[T]) RenderDetail ¶
func (s *ChildrenStatement[T]) RenderDetail(seq int, intro *IntroGenerator[T], enc render.ContentBuilder[T], nc NameChooser)
func (*ChildrenStatement[T]) Start ¶
func (s *ChildrenStatement[T]) Start() *model.Date
type CitationSkippingEncoder ¶
type CitationSkippingEncoder[T render.EncodedText] struct { render.ContentBuilder[T] }
func (*CitationSkippingEncoder[T]) EncodeModelLinkDedupe ¶
func (e *CitationSkippingEncoder[T]) EncodeModelLinkDedupe(firstText T, subsequentText T, m any) T
func (*CitationSkippingEncoder[T]) EncodeWithCitations ¶
func (e *CitationSkippingEncoder[T]) EncodeWithCitations(s T, citations []*model.GeneralCitation) T
type DeathStatement ¶
type DeathStatement[T render.EncodedText] struct { Principal *model.Person PossibleDeaths []*model.PossibleDeathEvent ExcludeSurvivingPartner bool IncludeMedia bool CropMediaHighlights bool }
func (*DeathStatement[T]) End ¶
func (s *DeathStatement[T]) End() *model.Date
func (*DeathStatement[T]) NarrativeSequence ¶
func (s *DeathStatement[T]) NarrativeSequence() int
func (*DeathStatement[T]) Priority ¶
func (s *DeathStatement[T]) Priority() int
func (*DeathStatement[T]) RenderDetail ¶
func (s *DeathStatement[T]) RenderDetail(seq int, intro *IntroGenerator[T], enc render.ContentBuilder[T], nc NameChooser)
func (*DeathStatement[T]) RenderDetailUnknown ¶
func (s *DeathStatement[T]) RenderDetailUnknown(seq int, intro *IntroGenerator[T], enc render.ContentBuilder[T], nc NameChooser) error
func (*DeathStatement[T]) Start ¶
func (s *DeathStatement[T]) Start() *model.Date
type DeathSummarizer ¶
type DeathSummarizer struct {
DeathEvent *model.DeathEvent
BurialEvent *model.BurialEvent
CremationEvent *model.CremationEvent
ModeOfDeath model.ModeOfDeath
CauseOfDeath *model.Fact
AgeInYearsAtDeath int
}
type DefaultNameChooser ¶
func (DefaultNameChooser) FirstUse ¶
func (c DefaultNameChooser) FirstUse(v any) string
func (DefaultNameChooser) FirstUseSplit ¶
func (DefaultNameChooser) Subsequent ¶
func (c DefaultNameChooser) Subsequent(v any) string
func (DefaultNameChooser) SubsequentSplit ¶
type FamilyEndStatement ¶
type FamilyEndStatement[T render.EncodedText] struct { Principal *model.Person Family *model.Family }
func (*FamilyEndStatement[T]) End ¶
func (s *FamilyEndStatement[T]) End() *model.Date
func (*FamilyEndStatement[T]) NarrativeSequence ¶
func (s *FamilyEndStatement[T]) NarrativeSequence() int
func (*FamilyEndStatement[T]) Priority ¶
func (s *FamilyEndStatement[T]) Priority() int
func (*FamilyEndStatement[T]) RenderDetail ¶
func (s *FamilyEndStatement[T]) RenderDetail(seq int, intro *IntroGenerator[T], enc render.ContentBuilder[T], nc NameChooser)
func (*FamilyEndStatement[T]) Start ¶
func (s *FamilyEndStatement[T]) Start() *model.Date
type FamilyNarrative ¶
type FamilyNarrative[T render.EncodedText] struct { Family *model.Family FatherStatements []Statement[T] MotherStatements []Statement[T] FamilyStatements []Statement[T] }
func (*FamilyNarrative[T]) Render ¶
func (n *FamilyNarrative[T]) Render(b render.ContentBuilder[T], nc NameChooser)
type FamilyStatement ¶
func (*FamilyStatement[T]) End ¶
func (s *FamilyStatement[T]) End() *model.Date
func (*FamilyStatement[T]) NarrativeSequence ¶
func (s *FamilyStatement[T]) NarrativeSequence() int
func (*FamilyStatement[T]) Priority ¶
func (s *FamilyStatement[T]) Priority() int
func (*FamilyStatement[T]) RenderDetail ¶
func (s *FamilyStatement[T]) RenderDetail(seq int, intro *IntroGenerator[T], enc render.ContentBuilder[T], nc NameChooser)
func (*FamilyStatement[T]) Start ¶
func (s *FamilyStatement[T]) Start() *model.Date
type FullNameChooser ¶
type FullNameChooser struct{}
FullNameChooser always returns the full name
func (FullNameChooser) FirstUse ¶
func (c FullNameChooser) FirstUse(v any) string
func (FullNameChooser) FirstUseSplit ¶
func (FullNameChooser) Subsequent ¶
func (c FullNameChooser) Subsequent(v any) string
func (FullNameChooser) SubsequentSplit ¶
type GeneralEventStatement ¶
type GeneralEventStatement[T render.EncodedText] struct { Principal *model.Person Event model.TimelineEvent }
A GeneralEventStatement is used for any general event that may include a narrative. If the Event is an IndividualNarrativeEvent then the narrative field is used in place of any generated text. Otherwise an introductory sentence is prepended followed by the event detail. Any additional narrative text is appended as a new sentence.
func (*GeneralEventStatement[T]) End ¶
func (s *GeneralEventStatement[T]) End() *model.Date
func (*GeneralEventStatement[T]) NarrativeSequence ¶
func (s *GeneralEventStatement[T]) NarrativeSequence() int
func (*GeneralEventStatement[T]) Priority ¶
func (s *GeneralEventStatement[T]) Priority() int
func (*GeneralEventStatement[T]) RenderDetail ¶
func (s *GeneralEventStatement[T]) RenderDetail(seq int, intro *IntroGenerator[T], enc render.ContentBuilder[T], nc NameChooser)
func (*GeneralEventStatement[T]) Start ¶
func (s *GeneralEventStatement[T]) Start() *model.Date
type IntroGenerator ¶
type IntroGenerator[T render.EncodedText] struct { POV *model.POV NameMinSeq int // the minimum sequence that the person's name may be used in an intro AgeMinSeq int // the minimum sequence that the person's age may be used in an intro LastIntroDate *model.Date // the date that the last intro was requested PeopleIntroduced map[string][]string // a lookup of occupations for people who have been introduced }
func (*IntroGenerator[T]) Default ¶
func (n *IntroGenerator[T]) Default(seq int, dt *model.Date) string
func (*IntroGenerator[T]) IntroducePerson ¶
func (n *IntroGenerator[T]) IntroducePerson(seq int, p *model.Person, dt *model.Date, suppressSameSurname bool, enc render.TextEncoder[T], nc NameChooser) string
func (*IntroGenerator[T]) RelativeTime ¶
type IntroStatement ¶
type IntroStatement[T render.EncodedText] struct { Principal *model.Person Baptisms []*model.BaptismEvent PossibleBirths []*model.PossibleBirthEvent SuppressRelation bool NameChooser NameChooser IncludeMedia bool CropMediaHighlights bool }
func (*IntroStatement[T]) End ¶
func (s *IntroStatement[T]) End() *model.Date
func (*IntroStatement[T]) NarrativeSequence ¶
func (s *IntroStatement[T]) NarrativeSequence() int
func (*IntroStatement[T]) Priority ¶
func (s *IntroStatement[T]) Priority() int
func (*IntroStatement[T]) RenderDetail ¶
func (s *IntroStatement[T]) RenderDetail(seq int, intro *IntroGenerator[T], enc render.ContentBuilder[T], nc NameChooser)
func (*IntroStatement[T]) Start ¶
func (s *IntroStatement[T]) Start() *model.Date
type MediaStatement ¶
type MediaStatement[T render.EncodedText] struct { Date *model.Date Sequence int MediaObjects []*model.CitedMediaObject }
func (*MediaStatement[T]) End ¶
func (s *MediaStatement[T]) End() *model.Date
func (*MediaStatement[T]) NarrativeSequence ¶
func (s *MediaStatement[T]) NarrativeSequence() int
func (*MediaStatement[T]) Priority ¶
func (s *MediaStatement[T]) Priority() int
func (*MediaStatement[T]) RenderDetail ¶
func (s *MediaStatement[T]) RenderDetail(seq int, intro *IntroGenerator[T], enc render.ContentBuilder[T], nc NameChooser)
func (*MediaStatement[T]) Start ¶
func (s *MediaStatement[T]) Start() *model.Date
type NameChooser ¶
type NameChooser interface {
FirstUse(any) string // name to use for first occurrence
Subsequent(any) string // name to use for subsequent occurrences
FirstUseSplit(m any, pov *model.POV) (string, string, string) // prefix, name and suffix to use for first occurrence
SubsequentSplit(m any, pov *model.POV) (string, string, string) // prefix, name and suffix to use for subsequent occurrences
}
type NarrativeTimelineEntryFormatter ¶
type NarrativeTimelineEntryFormatter[T render.EncodedText] struct { // contains filtered or unexported fields }
func NewNarrativeTimelineEntryFormatter ¶
func NewNarrativeTimelineEntryFormatter[T render.EncodedText](pov *model.POV, enc render.TextEncoder[T], logger *logging.Logger, nc NameChooser, omitDate bool) *NarrativeTimelineEntryFormatter[T]
func (*NarrativeTimelineEntryFormatter[T]) Detail ¶
func (t *NarrativeTimelineEntryFormatter[T]) Detail(seq int, ev model.TimelineEvent) string
func (*NarrativeTimelineEntryFormatter[T]) Title ¶
func (t *NarrativeTimelineEntryFormatter[T]) Title(seq int, ev model.TimelineEvent) string
type PersonLinkingTextEncoder ¶
type PersonLinkingTextEncoder[T render.EncodedText] struct { render.TextEncoder[T] }
A PersonLinkingTextEncoder is a [TextEncoder] that only generates links for people.
func (*PersonLinkingTextEncoder[T]) EncodeModelLink ¶
func (e *PersonLinkingTextEncoder[T]) EncodeModelLink(text T, m any) T
func (*PersonLinkingTextEncoder[T]) EncodeModelLinkDedupe ¶
func (e *PersonLinkingTextEncoder[T]) EncodeModelLinkDedupe(firstText T, subsequentText T, m any) T
type PersonNarrative ¶
type PersonNarrative[T render.EncodedText] struct { Statements []Statement[T] }
func (*PersonNarrative[T]) Render ¶
func (n *PersonNarrative[T]) Render(pov *model.POV, b render.ContentBuilder[T])
type Statement ¶
type Statement[T render.EncodedText] interface { RenderDetail(int, *IntroGenerator[T], render.ContentBuilder[T], NameChooser) Start() *model.Date End() *model.Date NarrativeSequence() int Priority() int // priority within a narrative against another statement with same date, higher will be rendered first }
type TimelineNameChooser ¶
type TimelineNameChooser struct{}
func (TimelineNameChooser) FirstUse ¶
func (c TimelineNameChooser) FirstUse(v any) string
func (TimelineNameChooser) FirstUseSplit ¶
func (TimelineNameChooser) Subsequent ¶
func (c TimelineNameChooser) Subsequent(v any) string
func (TimelineNameChooser) SubsequentSplit ¶
type UniqueNameChooser ¶
type UniqueNameChooser struct{}
UniqueNameChooser always returns the unique name
func (UniqueNameChooser) FirstUse ¶
func (c UniqueNameChooser) FirstUse(v any) string
func (UniqueNameChooser) FirstUseSplit ¶
func (UniqueNameChooser) Subsequent ¶
func (c UniqueNameChooser) Subsequent(v any) string