Important
Find the latest documentation at spoofax.dev. The documentation in this repository is no longer maintained.
This repository contains the old (unmaintained) Spoofax documentation, made with Sphinx in the Read The Docs style of documentation.
This documentation is hosted at https://www.metaborg.org/en/latest/. When a commit to this repository is made, it will automatically build and update the documentation.
Sphinx requires Python, at least version 2.6. To install the required Python packages, run:
pip install -r requirements.txt --upgradeTo build the documentation, use the Makefile:
make htmlwhich will generate HTML documentation into _build/html with _build/html/index.html as the main page.
Sphinx does incremental building if possible. If your changes are not being built for some reason, use the clean target:
make clean htmllatexpdffor a PDF version (via latex) of the documentation. A working latex distribution is required.epubfor an epub version, an e-book format with resizable text, for tablets and e-readers.singlehtmlfor single page HTML documentation.textfor plain-text documentation.helpfor a list of all other targets.
While making the documentation, if you get an error similar to this:
Could not import extension foo (exception: No module named foo)Then you need to update the installed Python packages from the requirements.txt file.
If you get this error while installing the required Python packages:
*********************************************************************************
Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
*********************************************************************************Then you need to install lxml through easy_install instead:
easy_install lxmlAfter that, installing the required Python packages through pip should succeed.
If you get this error while installing the required Python packages on Windows:
error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat).
Then you need to download and install Microsoft Visual C++ Compiler for Python 2.7 from https://aka.ms/vcpython27.
If you get the error:
Failed to execute process '/usr/local/bin/pip'. Reason:
The file '/usr/local/bin/pip' specified the interpreter '/usr/local/opt/python/bin/python3.x', which is not an executable command.
Or:
/bin/sh: /usr/local/bin/sphinx-build: /usr/local/opt/python/bin/python3.x: bad interpreter: No such file or directory
make: *** [html] Error 126
Then make sure your pip installation corresponds to your python installation. Execute the following to fix:
pip3 install --upgrade pip
If you get this error:
Extension error (sphinx.ext.intersphinx):
Handler <function load_mappings at 0x10fd122a0> for event 'builder-inited' threw an exception (exception: '<' not supported between instances of 'dict' and 'dict')
make: *** [html] Error 2
Then delete your _build directory and try again.