Lilian Besson’s Web Pages - using Sphinx
My web pages are currently generated with Sphinx Doc (v1.6+).
I have been using Sphinx since 2012, and I like it very much!
Currently this project is in version 3.0, public release! I recently switched to a much cleaner theme, based on alabaster, the new Sphinx’s default theme, and nicer fonts (in Dec 2017).
⟹ On https://perso.crans.org/besson/.
Some pages host my résumé, others are just experiments, about Sphinx and many other things. A few pages talk about some points I am interested in (GNU Nano, Sublime Text 3, Firefox, hitch-hiking, maths, Pokémon etc)…
To limit the size of this one, I used an other git repository to store
the scripts/
folder :
web-sphinx-scripts.
This second repository mainly hosts some Javascript scripts (GNU Plot &
OCaml & Python toplevel, shortcuts.js
, etc), and also a complete
Python distribution, used with python.opt.js
to embed a Python
toplevel in my web pages (I know, it’s useless, but so funny !).
- the reStructuredText plain text markup language, mainly, for the content of the pages,
- Jinja templates (for changing appearance of the web pages),
- Javascript in the
`.static/
<.static/>`__ folder, for some interactive stuff on the web-pages. See this page for some details, - CSS in the
`.static/
<.static/>`__ folder, for an improved style, based on the (old) default Sphinx style, - HTML (to include a few web components in some pages),
- Python (for Sphinx configuration,
`conf.py
<conf.py>`__ file).
This project use the following software:
- Python, version 2.7+ or 3.4+.
- Python Sphinx (currently v1.5+, but v1.3+ should be enough);
- GNU Make (other versions of Make should NOT work);
rst2pdf
,rst2html
,rst2s5
, included in the docutils package, only required to build other formats, but not required for building basic HTML;- Optional: LaTeX (
pdflatex
, andhevea
) (not required for building html); - git (but not required for building);
- rsync, for uploading the update pages online;
- GNU grep;
- GnuPG (
gpg
); - and the following Sphinx contrib
extensions (now living on this GitHub repo), to
be installed manually :
- autorun;
- bitbucket;
- cheeseshop;
- gnuplot;
- youtube;
- note: there are bugs in each of these extensions, that were written for Python 2 or previous versions of Sphinx. I know know almost by memory how to fixes these bugs, but I don't have the energy of trying again to submit tickets and pull-requests to the new repository. I had tickets opened on the old bitbucket repository, and didn't receive any feedback in two to four years. Basically, what I do everytime I have to install the dependencies to build my website, for instance on a new laptop, is to clone the repository, install them with a few
sudo python3 setup.py install
ran in the folders of the desired extensions. Then I try to compile the website, and everytime a Python exception occurs in the code of an extension, I manually edit the file in /usr/local/lib/python3.6/dist-packages/sphinxcontrib_XXX/XXX/XXX.py. It's durty, but simple.
- these Python packages, from PyPI:
ansicolortags,
sphinx_pyreverse,
sphinx_git,
sphinx_tabs. Install
them with
sudo pip install ansicolortags sphinx_pyreverse sphinx_git sphinx_tabs
; - Optional: GnuPlot (but not GNU Octave), only for these embedded examples;
- Optional: GraphViz and Dot graph (
dot
), only for these embedded examples; - Optional: Ocaml, only for these embedded examples.
To install all these dependencies, use brew on Mac OS, or your package manager on Linux/UNIX.
This project is released under the GPLv3 license, for more details, take a look at the LICENSE file in the source. © Lilian Besson, 2012-2024.
Basically, that allows you to use all or part of the project for you own business.