corda/docs/docs_builder/lexer-fix
2019-04-11 13:43:47 +00:00
..
.gitignore Document warning cleanup + new version of docs builder 2019-04-11 13:43:47 +00:00
Dockerfile Document warning cleanup + new version of docs builder 2019-04-11 13:43:47 +00:00
jvm.py Document warning cleanup + new version of docs builder 2019-04-11 13:43:47 +00:00
readme.md Document warning cleanup + new version of docs builder 2019-04-11 13:43:47 +00:00
test_kotlin.py Document warning cleanup + new version of docs builder 2019-04-11 13:43:47 +00:00

Pygments lexer

We were getting a lot of warnings in the docs build, and people were unable to see the real warnings due to this. So we're on a mission to sort all of these out.

A lot of the errors were because the kotlin lexer in Pygments (the syntax highlighter that sphinx uses) didn't cope with a lot of the kotlin syntax that we use.

We have fixes for the kotlin lexer that we are trying to get checked into Pygments, but while this is taking place we need to maintain a slightly hacked corda/docs-build docker image in which to build the docs.

Some notes on building and testing

The sphinx/pygments brigade have delightfully decided that mercurial is a good idea. So broadly speaking, to build/test a fix:

  • checkout pygments from here

  • copy the two python files in (might be worth diffing - they're based on 2.3.1 - nb the kotlin test is entirely new)

  • build pygments whl file

    cd /path/to/pygments/
    python setup.py install
    pip install wheel
    wheel convert dist/Pygments-2.3.1.dev20190  # obviously use your version
    cp Pygments-2.3.1.dev20190401-py27-none-any.whl /path/to/corda/docs/source/docs_builder/lexer-fix
    
  • build the latest docker build (see docs readme)

    cd docs
    docker build -t corda/docs-builder:latest -f docs_builder/lexer-fix/Dockerfile .
    
  • push the new image up to docker hub (nb you can also test by going to /opt/docs and running ./make-docsite.sh)