Coder Social home page Coder Social logo

ged2dot's Introduction

ged2dot, a GEDCOM to Graphviz converter

Build Status

What’s the problem the tool solves?

ged2dot is a script that takes a GEDCOM file and tries to visualize it using Graphviz's dot tool. The basic idea is that you can map individuals to graph nodes and families to graph edges, then dot takes care of the rest. What’s unique about ged2dot is that it allows more than showing ancestors and descendants of a single individual (what you can easily do with random family editor software).

Layouts

  • The default layout allows to show ancestors of a family (both husband and wife), and you can set how many generations do you want to see:

screenshot
  • There is also a Descendants layout, that shows all descendants of a root family.

LibreOffice Draw GEDCOM import filter

The libreoffice/ subdirectory contains a LibreOffice extension, that implements a GEDCOM import filter for Draw. Needless to say, it uses ged2dot internally — think of it as a GUI for ged2dot, with the additional benefit that you can hand-edit the resulting layout in Draw, if you want.

Its dependencies:

  • It uses Graphviz to process the dot format. In case you don’t have Graphviz installed:

    • For Windows, get it here (2.34 is tested).

    • For Linux, use your package manager to install the graphviz package (2.28 is tested).

    • For Mac, get it here (2.36 is tested).

  • We depend on LibreOffice >= 4.2 RC1 because fdo#39206 is not fixed in earlier versions.

Features:

  • Filter detection: you can use File → Open and select a GEDCOM file, and it’ll be opened in Draw automatically.

  • Import options: On import, a graphical dialog can be used to set a subset of the options available in a ged2dotrc.

  • Internally reuses the excellent SVG import filter of LibreOffice, contributed by Fridrich Strba and Thorsten Behrens, so the result can be manually fine-tuned if necessary.

  • Runs on Windows and Linux.

You can grap a release binary at the LibreOffice Extensions site — more on how to to install a LibreOffice extension here.

Once that’s done, you’ll see something like this if you open a GEDCOM file:

screenshot

Bugs

For ged2dot, in case a given input results in a runtime crash, it’s considered a bug. If you have a fix for it, pull requests on GitHub are welcome, especially if the fix comes with a test as well.

For the LibreOffice extension, in case you get an error during opening:

  • For Windows, the log file location is something like:

C:/Users/John/Application Data/LibreOffice/4/user/Scripts/python/log.txt
  • For Linux, start LibreOffice from a terminal, the log is printed to the standard error.

  • For Mac, start LibreOffice from Terminal:

cd /Applications/LibreOffice.app/Contents/program
./soffice --nologo /path/to/test.ged

then the log is printed to the standard error as well.

Icons

Icons are from WPZOOM, in case placeholders have to be used for missing images.

ged2dot's People

Contributors

schuellerf avatar rgerkin avatar vmiklos avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.