| esnet-gh-pages-base |
| =================== |
| |
| Base templates for ESnet's GitHub pages. These pages are created using the |
| Sphinx_ documentation package using the sphinx-bootstrap-theme_ with some |
| pages. This repo is meant to be included into a project using git subtree and |
| provides the overrides and customizations to the base theme. |
| |
| .. _Sphinx: http://sphinx-doc.org |
| .. _sphinx-bootstrap-theme: https://github.com/ryan-roemer/sphinx-bootstrap-theme |
| |
| Installation |
| ------------ |
| |
| 1. Install Sphinx and sphinx-bootstrap-theme. See the instructions below for |
| installing these either using the Mac OS X base system python or MacPorts. |
| 2. ``cd $PROJECT_ROOT`` |
| 3. ``mkdir docs`` |
| 4. ``git subtree add --prefix docs/_esnet https://github.com/esnet/esnet-gh-pages-base.git master --squash`` |
| 5. ``cd docs`` |
| 6. ``sphinx-quickstart`` |
| 7. ``ln -s ../_esnet/static _static/esnet`` |
| 8. edit ``conf.py`` as described in the next section |
| |
| Editing conf.py |
| ^^^^^^^^^^^^^^^ |
| |
| ``sphinx-quickstart`` creates a basic conf.py file, however to use the ESnet |
| theme we need to make some changes. Make the following changes to conf.py:: |
| |
| # add this with the imports at the top of the file |
| import sphinx_bootstrap_theme |
| |
| # change templates_path to this |
| templates_path = ['_esnet/templates'] |
| |
| # add _esnet to exclude_patterns |
| exclude_patterns = ['_build', '_esnet'] |
| |
| # change html_theme and html_theme_path: |
| html_theme = 'bootstrap' |
| html_theme_path = sphinx_bootstrap_theme.get_html_theme_path() |
| |
| # add html_theme options: |
| html_theme_options = { |
| "navbar_pagenav": False, |
| "nosidebar": False, |
| "navbar_class": "navbar", |
| "navbar_site_name": "Section", |
| "source_link_position": "footer", |
| "navbar_links": [ |
| ("Index", "genindex"), |
| ("ESnet", "https://www.es.net", True), |
| ], |
| } |
| |
| # add html_logo and html_sidebars |
| html_logo = "_esnet/static/logo-esnet-ball-sm.png" |
| html_sidebars = {'index': None, 'search': None, '*': ['localtoc.html']} |
| html_favicon = "_esnet/static/favicon.ico" |
| html_context = { |
| "github_url": "https://github.com/esnet/PROJNAME", |
| } |
| |
| That's it! |
| |
| Sphinx Installation using Mac OS X Base Python |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| 1. sudo /usr/bin/easy_install pip |
| 2. sudo /usr/local/bin/pip install sphinx sphinx-bootstrap-theme |
| |
| Sphinx Installation using MacPorts |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| 1. port install python27 py27-pip py27-sphinx |
| 2. port select pip py27-pip |
| 3. port select sphinx py27-sphinx |
| 4. pip install sphinx sphinx-bootstrap-theme # make sure this is |
| /opt/local/bin/pip |
| |
| Creating Content, Previewing and Publishing |
| ------------------------------------------- |
| |
| The files are in the ``docs`` directory. Take a look at the content of |
| ``index.rst``. Take a look at the docs from other projects and review the |
| documentation for Sphinx_. |
| |
| Building HTML |
| ^^^^^^^^^^^^^ |
| |
| In the ``docs`` directory run ``make clean html``. |
| |
| Previewing the site |
| ^^^^^^^^^^^^^^^^^^^ |
| |
| ``open _build/html/index.html`` |
| |
| or |
| |
| ``open -a /Application/Google\ Chrome.app _build/html/index.html`` |
| |
| Publishing the site |
| ^^^^^^^^^^^^^^^^^^^ |
| |
| From the ``docs`` directory run ``_esnet/deploy.sh``. It will be visible at: |
| ``http://github.com/esnet/PROJECT``. |