Help us shape the future of Go! Take the 2026 Go Developer Survey

chart

package
v0.0.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 21, 2026 License: Unlicense Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Command = &cli.Command{
	Name:   "chart",
	Usage:  "Create a family tree chart.",
	Action: chartCmd,
	Flags: append([]cli.Flag{
		&cli.StringFlag{
			Name:        "gedcom",
			Aliases:     []string{"g", "input"},
			Usage:       "GEDCOM file to read from",
			Destination: &chartopts.gedcomFile,
		},
		&cli.StringFlag{
			Name:        "gramps",
			Usage:       "Gramps xml file to read from",
			Destination: &chartopts.grampsFile,
		},
		&cli.StringFlag{
			Name:        "gramps-dbname",
			Usage:       "Name of the gramps database, used to keep IDs consistent between versions of the same database",
			Destination: &chartopts.grampsDatabaseName,
		},
		&cli.StringFlag{
			Name:        "type",
			Aliases:     []string{"t"},
			Usage:       "Type of chart to produce: descendant, ancestor, fan or focus",
			Destination: &chartopts.chartType,
		},
		&cli.StringFlag{
			Name:        "config",
			Aliases:     []string{"c"},
			Usage:       "Path to a KDL tree configuration file",
			Destination: &chartopts.treeConfig,
		},
		&cli.StringFlag{
			Name:        "output",
			Usage:       "output image filename",
			Destination: &chartopts.outputFilename,
		},
		&cli.StringFlag{
			Name:        "person",
			Usage:       "identifier of person to build tree from",
			Destination: &chartopts.startPersonID,
		},
		&cli.StringFlag{
			Name:        "key",
			Aliases:     []string{"k"},
			Usage:       "Identifier of the key individual",
			Destination: &chartopts.keyPersonID,
		},
		&cli.StringFlag{
			Name:        "title",
			Usage:       "Title to add to chart",
			Destination: &chartopts.title,
		},
		&cli.IntFlag{
			Name:        "gen",
			Usage:       "number of generations to draw",
			Value:       2,
			Destination: &chartopts.generations,
		},
		&cli.IntFlag{
			Name:        "detail",
			Usage:       "level of detail to include with each person (0:none,1:years,2:dates,3:full)",
			Value:       3,
			Destination: &chartopts.detail,
		},
		&cli.BoolFlag{
			Name:        "direct",
			Usage:       "only show children of direct ancestors (same as children=direct) DEPRECATED",
			Value:       false,
			Destination: &chartopts.directOnly,
		},
		&cli.BoolFlag{
			Name:        "parents",
			Usage:       "include parents of person",
			Value:       false,
			Destination: &chartopts.parents,
		},
		&cli.StringFlag{
			Name:        "children",
			Usage:       "which children to show in the descendant chart (all, direct=children of direct ancestors, none=no children",
			Value:       "all",
			Destination: &chartopts.children,
		},
		&cli.BoolFlag{
			Name:        "minimalsurnames",
			Usage:       "only show surnames that are different to father's",
			Value:       false,
			Destination: &chartopts.minimalSurnames,
		},

		&cli.BoolFlag{
			Name:        "compact",
			Usage:       "attempt to compact displayed information (for descendant charts)",
			Value:       false,
			Destination: &chartopts.compact,
		},

		&cli.BoolFlag{
			Name:        "nodecoration",
			Usage:       "don't include title or legend",
			Value:       false,
			Destination: &chartopts.nodecoration,
		},

		&cli.BoolFlag{
			Name:        "debug",
			Usage:       "draw debug information",
			Value:       false,
			Destination: &chartopts.debug,
		},
		&cli.Float64Flag{
			Name:        "font-scale",
			Usage:       "scale all fonts by this factor",
			Value:       1.0,
			Destination: &chartopts.fontScale,
		},
		&cli.StringFlag{
			Name:        "target",
			Usage:       "target of output, either a paper size ('A3Landscape') or 'web' which sizes to fit and makes background transparent",
			Value:       "A3Landscape",
			Destination: &chartopts.target,
		},
	}, logging.Flags...),
}

Functions

func BuildAncestorChart

func BuildAncestorChart(t *tree.Tree, startPerson *model.Person, detail int, depth int, compact bool) (*gtree.AncestorChart, error)

func BuildButterflyChart added in v0.0.3

func BuildButterflyChart(t *tree.Tree, startPerson *model.Person) (*gtree.ButterflyChart, error)

func BuildDescendantChart

func BuildDescendantChart(t *tree.Tree, startPerson *model.Person, detail int, depth int, compact bool, children string, parents bool, minimalSurnames bool, showStars bool) (*gtree.DescendantChart, error)

func BuildFanChart added in v0.0.3

func BuildFanChart(t *tree.Tree, startPerson *model.Person, maxGeneration int) (*gtree.FanChart, error)

func BuildFocusChart added in v0.0.3

func BuildFocusChart(t *tree.Tree, startPerson *model.Person, detail int, minimalSurnames bool, showStars bool) (*gtree.DescendantChart, error)

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL