Skip to content
A Go library and CLI tools for encoding, decoding, traversing, merging, comparing, querying and publishing GEDCOM files.
Branch: master
Clone or download
elliotchance gedcom2html: Faster and customizable rendering (#266)
The code to publish a website has now been moved into the html package as Publisher. This means that the gedcom2html is much lighter.

The Publisher can now be customised to write to the file system, or any other storage mechanism and it can now render the website in parallel making it much faster. This can be configured with the new "-jobs" option.

The "-checksum" option has been removed from the gedcom2html because it was already problematic at best and not needed now that the rendering process is much faster.
Latest commit 51dc917 Mar 20, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
gedcom2html
gedcom2json
gedcom2text
gedcomdiff
gedcomq
gedcomtune
html
q
util
.gitignore
.travis.yml
Gopkg.lock
Gopkg.toml
LICENSE
Makefile
README.md
age.go
age_constraint.go
age_constraint_test.go
age_test.go
assert_test.go
baptism_node.go
baptism_node_test.go
birth_node.go
birth_node_test.go
burial_node.go
burial_node_test.go
child_born_before_parent_warning.go
child_node.go
child_node_test.go
child_nodes.go
copy.go
copy_test.go
countries.go
date.go
date_constraint.go
date_constraint_test.go
date_node.go
date_node_test.go
date_nodes.go
date_nodes_test.go
date_range.go
date_range_comparison.go
date_range_comparison_test.go
date_range_test.go
date_test.go
dater.go
dater_test.go
death_node.go
death_node_test.go
decoder.go
decoder_test.go
doc.go
document.go
document_noder.go
document_test.go
duration.go
duration_range.go
duration_test.go
encoder.go
entity_map.go
equal.go
equal_test.go
errors.go
event_node.go
event_node_test.go
family_node.go
family_node_test.go
family_noder.go
family_nodes.go
familysearch_id_node.go
familysearch_id_node_test.go
filter.go
filter_flags.go
filter_test.go
flatten.go
flatten_test.go
format_node.go
format_node_test.go
gedcomer.go
gedcomer_test.go
husband_node.go
incorrect_event_order_warning.go
individual_comparison.go
individual_node.go
individual_node_pair.go
individual_node_pairs.go
individual_node_test.go
individual_nodes.go
individual_nodes_compare_options.go
individual_nodes_test.go
individual_too_old_warning.go
inverse_spouses_warning.go
jaro.go
jaro_test.go
latitude_node.go
latitude_node_test.go
longitude_node.go
longitude_node_test.go
map_node.go
map_node_test.go
married_out_of_range.go
merge.go
merge_test.go
multiple_sexes_warning.go
name_format.go
name_format_test.go
name_node.go
name_node_test.go
name_type.go
name_type_test.go
nickname_node.go
nickname_node_test.go
node.go
node_diff.go
node_diff_test.go
node_set.go
node_set_test.go
noder.go
nodes.go
nodes_test.go
note_node.go
note_node_test.go
number.go
number_test.go
object_mapper.go
phonetic_variation_node.go
phonetic_variation_node_test.go
place_node.go
place_node_test.go
placer.go
placer_test.go
progress.go
residence_node.go
residence_node_test.go
romanized_variation_node.go
romanized_variation_node_test.go
sex_node.go
sex_node_test.go
siblings_born_too_close_warning.go
similarity_options.go
similarity_options_test.go
simple_document_node.go
simple_node.go
simple_node_test.go
simple_warning.go
source_node.go
source_node_test.go
string_set.go
string_set_test.go
surrounding_similarity.go
surrounding_similarity_test.go
tag.go
tag_test.go
type_node.go
type_node_test.go
unique_id_node.go
unique_id_node_test.go
unparsable_date_warning.go
util.go
util_test.go
uuid.go
uuid_test.go
warner.go
warning.go
warning_context.go
warnings.go
wife_node.go
years.go
years_test.go

README.md

github.com/elliotchance/gedcom

Build Status codecov GitHub release Join the chat at https://gitter.im/gedcom-app/community Maintainability


You can use most of the tools right now for free at:

https://gedcom.app.

Have questions? Want to get help or give feedback? Discuss new features? Join the chat: Join the chat at https://gitter.im/gedcom-app/community


github.com/elliotchance/gedcom is an advanced Go-style library and set of command-line tools for dealing with GEDCOM files.

You can download the latest binaries for macOS, Windows and Linux on the Releases page. This will not require you to install Go or any other dependencies.

What Can It Do?

  • Decode and encode GEDCOM files.

  • Traverse and manipulate GEDCOM files with the provided API.

  • A powerful query language called gedcomq lets you query GEDCOM files with a CLI tool. It can output CSV, JSON and other GEDCOM files.

  • Render GEDCOM files as fully static HTML websites. See an example at http://dechauncy.family.

  • Compare GEDCOM files from the same or different providers to find differences using the very advanced and configurable tool: gedcomdiff.

  • Merge GEDCOM files using the same advanced Compare algorithm with gedcomq.

Packages

Package Description
GoDoc
gedcom
Package gedcom contains functionality for encoding, decoding, traversing, manipulating and comparing of GEDCOM data.
GoDoc
gedcom/gedcom2html
Gedcom2html renders a GEDCOM file into HTML pages that can be shared and published easily.
GoDoc
gedcom/gedcom2json
Gedcom2json converts a GEDCOM file to JSON so that it can easily processed and consumed by other applications.
GoDoc
gedcom/gedcom2text
Gedcom2text converts a GEDCOM file to a human-readable text format.
GoDoc
gedcom/gedcomdiff
Gedcomdiff is a tool for comparing GEDCOM files and producing a HTML report.
GoDoc
gedcom/q
Package q is the gedcomq parser and engine.
GoDoc
gedcom/gedcomq
Gedcomq is a command line tool and query language for GEDCOM files heavily inspired by jq, in name and syntax.
GoDoc
gedcom/gedcomtune
Gedcomtune is used to calculate the ideal weights and similarities for the main gedcom package.
GoDoc
gedcom/html
Package html is shared HTML rendering components that are shared by the other packages.
GoDoc
gedcom/util
Package util contains shared functions used by several packages.
You can’t perform that action at this time.