Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sogne

License

About

Sogne is a Haskell framework for building generators that turn Doxygen XML output into other formats, such as Typst or custom markup. It is meant for developers who want to write their own documentation generator on top of a shared intermediate representation, not for end users looking for a ready-made documentation tool.

Dependencies

  • GHC 9.10 or later
  • cabal-install 3.16 or later
  • Library dependencies (resolved automatically by cabal): text, containers, xml-conduit, directory, filepath, hspec

Build

Sogne is a Cabal monorepo. All packages are listed in cabal.project at the repository root.

cabal build all
cabal test all

Packages

  • sogne-core: format-agnostic intermediate representation (IR) for the entities Doxygen documents (compounds, members, parameters, descriptions, visibility, cross-references). No parsing or rendering logic.
  • sogne-doxygen: parses Doxygen's generated XML (index.xml and the per-compound XML files) into sogne-core IR values.
  • sogne-render: the generator abstraction. Defines the Generator typeclass a third-party generator implements, plus IR traversal and text/file-writing helpers.
  • sogne-markdown: a reference generator built on sogne-core and sogne-render that emits plain Markdown. Included to demonstrate how to use the framework, not as the main deliverable.

Usage

The sogne-markdown executable takes a Doxygen XML output directory and an output directory:

cabal run sogne-markdown -- <doxygen-xml-dir> <output-dir>

Acknowledgments

Sogne reads XML produced by Doxygen.

Documentation and contributing

See CONTRIBUTING.md for how to contribute.

License

Sogne is licensed under the Mozilla Public License 2.0. See LICENSE for the full text.

About

Sogne is a Haskell framework for building generators that turn Doxygen XML output into other documentation formats.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages