2024-05-17 22:38 UTC
  • Xyne


Description: A markdown- and Pandoc-based content management system (CMS).
Latest Version: 2021
Source Code: src/
  • any
  • pandoc
  • python3
Build Dependencies:
  • python-setuptools
Optional Dependencies:
  • graphviz: plugin support
  • openbabel: plugin support
  • source-highlight: plugin support
  • tex2png: plugin support
Arch Repositories:
  • [xyne-any]
  • [xyne-i686]
  • [xyne-x86_64]
AUR Page: xac
Arch Forum Thread: 136659


I have packaged Xac mostly for my own convenience. Although I will try to stabilize the API, I will not hesitate to make changes that break backwards compatibility if it suits my needs.

If you would like to use Xac to publish your own website, or even just to create a personal wiki or journal, I suggest that you maintain local copies of the modules.

I realize that this is an ideal scenario for using Git, and I plan to eventually.


Download the source archive and take a look inside. There is already a server set up with some information on it, along with the scripts needed to configure and launch it.

You can view the default server’s index page here.


To quickly see what Xac can do, just run the serve.sh script then navigate to http://localhost:8000/.

publish.py is the default publishing script and what you should play with if you want to tweak some server settings. Run the script twice after changes to make sure all changes are included (LaTeX users will be familiar with this behavior).

run.py combines publishing and starting the server in one step, but you should not use it the first time that you view the server because it will remove some content if you lack some of the optional dependencies, e.g. the openbabel chemical images will be removed when the files are updated if you do not have openbabel installed.

The scripts with _simple in their name are the equivalent scripts for the minimal server. The serve.sh script just serves the pub directory, so it does not require a simple variant.



  • get_pandoc_args should now return an additional argument (see documentation of Xac class arguments in Xac.publish).
  • Directory listings now support *.mdmeta inclusions.


  • Fixed handling of escaped CDATA-like blocks.
  • Added support for %SELF% in filepath resolution function.


  • Added error handling for Python modules that report incorrect file paths. Xac uses these to check last modification times to determine if any output files may need to be updated.
  • Added insert_file plugin for displaying file contents.
  • Added support to the source highlighting pluging for highlighting external files.
  • Restructured some argument passing to pass markdown source path to plugin functions.
echo xyne.archlinux.org | sed 's/\./@/'
XHTML 1.0 Strict CSS level 3 Atom 1.0