Welcome to Gliffy2outline’s documentation!

Contents:

Usage

Introduction

Gliffy2outline converts Gliffy mindmaps to various text formats.

Gliffy is a popular tool that allows users to create various diagrams (in particular in a Confluence wiki). One type of diagram that Gliffy provides is mind maps.

In a mind map, a central topic is connected to sub-topics, etc., so that topics are put in a well organized tree-like structure:

Example mindmap

Gliffy2outline converts such a Gliffy mind map into various text formats. While graphical representations are great for quickly finding information, text representations are much better at tracking changes between versions, as input to other programs, etc.

Usage

The mind map above can be converted to a simple (Markdown-compatible) text outline by calling gliffy2outline like such:

% gliffy2outline.py examples/Example_mindmap.gliffy
- Shareholders
  - Retail
  - Institutions for
- Revenues
  - Filings
  - Earning calls

(You can try this with the example provided in the source repository, examples/Example_mindmap.gliffy.)

Output formats

Multiple formats are available through the --format option, so as to fit your usage:

  • Markdown (md, which is the default), as in the example above,

  • Markdown with Gliffy IDs (md-id), which is convenient for tracking large changes in the text of some mind map nodes (as the ID is likely to be left unchanged):

    % ./gliffy2outline.py --format md-id examples/Example_mindmap.gliffy
    - 6: Shareholders
      - 10: Retail
      - 14: Institutions
    - 18: Revenues
      - 22: Filings
      - 26: Earning calls
    
  • developed (developed), where ancestors are explicit:

    % ./gliffy2outline.py --format developed examples/Example_mindmap.gliffy
    Shareholders
    Shareholders > Retail
    Shareholders > Institutions
    Revenues
    Revenues > Filings
    Revenues > Earning calls
    
  • OPML (OPML), an important XML outline representation, which can in particular be used for importing mind maps into some other mind mapping tools:

    % ./gliffy2outline.py --format OPML examples/Example_mindmap.gliffy
    <?xml version="1.0" ?>
    <opml version="1.0">
      <head>
            <title>Company</title>
            <dateCreated>Mon, 02 Nov 2020 10:18:59 -0000</dateCreated>
      </head>
      <body>
            <outline text="Shareholders">
              <outline text="Retail"/>
              …
      </body>
    </opml>
    

It is possible to include the (unique) mind map root to these output formats by adding the --root option:

% ./gliffy2outline.py --root examples/Example_mindmap.gliffy
- Company
  - Shareholders
    - Retail
    - Institutions
  - Revenues
    - Filings
    - Earning calls

Installation

Supported environments

Gliffy2outline currently works on any platform.

Python 3.5 to 3.9 are supported. The code is likely to work with later versions of Python.

From pip

pip can be used for an automatic installation:

pip install gliffy2outline

Contribution guide

If you want to contribute to this project, you are welcome to do so!

We would be happy to hear about your propositions and suggestions. Feel free to submit them as issues and:

  • Explain in details the expected behavior.

  • Keep the scope as narrow as possible. This will make it easier to implement.

Bug reporting

Report bugs for Gliffy2outline in the issue tracker. Every filed bugs should include:

  • Your operating system name and version.

  • Any details about your local setup that might be helpful in troubleshooting, specifically:
    • the Python interpreter version,

    • installed libraries.

  • Detailed steps to reproduce the bug.

Bug fixing

Look through the GitHub issues for bugs and add comments there to discuss how you can fix specific bugs.

Feature implementation

Look through the GitHub issues tagged with “enhancements” and comment there to discuss how you can implement specific features.

Thank you!

Changelog

0.9 2021-01

  • [Feature]: Initial release