Skip to content

Added docker image to easier build documentation #110

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
FROM debian:latest

# Credit goes to https://github.com/headstar/sphinx-doc-docker

RUN apt-get update
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why double space between keywords and commands?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-pip
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we install these in one command to use less layers in the container?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I get an error if I try to install python-php textlive... enchant at the same time. apt-get fails to fetch resource.. I do not know why, That's why they are separate

RUN DEBIAN_FRONTEND=noninteractive apt-get install -y texlive texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y enchant
RUN apt-get update --fix-missing
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y git

RUN pip install Sphinx==1.4
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we install these in one command to create less layers? Maybe we can use the requirements.txt from the project to avoid duplication?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe, But I leave that for a future PR if you don't mind

RUN pip install sphinx_rtd_theme
RUN pip install alabaster
RUN pip install sphinx_bootstrap_theme

CMD ["/bin/bash"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing newline

33 changes: 29 additions & 4 deletions development/documentation.rst
Original file line number Diff line number Diff line change
@@ -1,8 +1,33 @@
Building the Documentation
--------------------------
==========================

First `install Sphinx`_ and `install enchant`_ (e.g. ``sudo apt-get install enchant``),
then download the requirements:
We build the documentation with Sphinx. You could install it on your system or use Docker.

Install Sphinx
--------------

Install on local machine
~~~~~~~~~~~~~~~~~~~~~~~~

The installation for Sphinx differs between system. See `Sphinx installation page`_ for details. When Sphinx is
installed you need to `install enchant`_ (e.g. ``sudo apt-get install enchant``).

Using Docker
~~~~~~~~~~~~

If you are using docker. Run the following commands from the repository root.

.. code-block:: bash

$ docker build -t sphinx-doc .
$ docker run -i -t -v /absolute/path/to/repo/root:/doc sphinx-doc
$ # You are now in the docker image
$ cd doc

Build documentation
-------------------

Before we can build the documentation we have to make sure to install all requirements.

.. code-block:: bash

Expand All @@ -15,6 +40,6 @@ To build the docs:
$ make html
$ make spelling

.. _install Sphinx: http://sphinx-doc.org/latest/install.html
.. _Sphinx installation page: http://sphinx-doc.org/latest/install.html
.. _install enchant: http://www.abisource.com/projects/enchant/