# FILE LOCATION: <project_root>/docs/source/index.rst
It's an example project with documentation
.. toctree:: :maxdepth: 1 API Reference <apidoc/myproject>
# FILE LOCATION: <project_root>/docs/source/conf.py | |
# -*- coding: utf-8 -*- | |
# | |
# Configuration file for the Sphinx documentation builder. | |
# | |
# This file does only contain a selection of the most common options. For a | |
# full list see the documentation: | |
# http://www.sphinx-doc.org/en/master/config | |
# -- Path setup -------------------------------------------------------------- | |
# If extensions (or modules to document with autodoc) are in another directory, | |
# add these directories to sys.path here. If the directory is relative to the | |
# documentation root, use os.path.abspath to make it absolute, like shown here. | |
# | |
import sys | |
from os.path import abspath, dirname | |
sys.path.insert(0, abspath(dirname(dirname(dirname(__file__))))) | |
# -- Project information ----------------------------------------------------- | |
project = "myproject" | |
copyright = "2018, Kyle Carretto" | |
author = "Kyle Carretto" | |
# The short X.Y version | |
version = "" | |
# The full version, including alpha/beta/rc tags | |
release = "" | |
# -- General configuration --------------------------------------------------- | |
# If your documentation needs a minimal Sphinx version, state it here. | |
# | |
# needs_sphinx = '1.0' | |
# Add any Sphinx extension module names here, as strings. They can be | |
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom | |
# ones. | |
extensions = [ | |
"sphinx.ext.autodoc", | |
"sphinx.ext.intersphinx", | |
"sphinx.ext.coverage", | |
"sphinx.ext.ifconfig", | |
"sphinx.ext.viewcode", | |
"sphinx.ext.graphviz", | |
"sphinx.ext.githubpages", | |
"sphinxjp.themes.basicstrap", | |
] | |
# Add any paths that contain templates here, relative to this directory. | |
templates_path = ["_templates"] | |
# The suffix(es) of source filenames. | |
# You can specify multiple suffix as a list of string: | |
# | |
# source_suffix = ['.rst', '.md'] | |
source_suffix = ".rst" | |
# The master toctree document. | |
master_doc = "index" | |
# The language for content autogenerated by Sphinx. Refer to documentation | |
# for a list of supported languages. | |
# | |
# This is also used if you do content translation via gettext catalogs. | |
# Usually you set "language" from the command line for these cases. | |
language = None | |
# List of patterns, relative to source directory, that match files and | |
# directories to ignore when looking for source files. | |
# This pattern also affects html_static_path and html_extra_path. | |
exclude_patterns = [] | |
# The name of the Pygments (syntax highlighting) style to use. | |
pygments_style = None | |
# -- Options for HTML output ------------------------------------------------- | |
import sphinx_bootstrap_theme | |
html_theme = "bootstrap" | |
html_theme_path = sphinx_bootstrap_theme.get_html_theme_path() | |
html_theme_options = { | |
# Navigation bar title. (Default: ``project`` value) | |
"navbar_title": "My Title", | |
# Tab name for entire site. (Default: "Site") | |
"navbar_site_name": "Documentation", | |
# 3rd argument = True indicates an arbitrary url | |
"navbar_links": [ | |
("Code", "https://github.com/kcarretto/arsenal", True), | |
], | |
# Render the next and previous page links in navbar. (Default: true) | |
"navbar_sidebarrel": False, | |
# Render the current pages TOC in the navbar. (Default: true) | |
"navbar_pagenav": False, | |
# Global TOC depth for "site" navbar tab. (Default: 1) | |
# Switching to -1 shows all levels. | |
"globaltoc_depth": 2, | |
# Include hidden TOCs in Site navbar? | |
# | |
# Note: If this is "false", you cannot have mixed ``:hidden:`` and | |
# non-hidden ``toctree`` directives in the same page, or else the build | |
# will break. | |
# | |
# Values: "true" (default) or "false" | |
"globaltoc_includehidden": "true", | |
"navbar_fixed_top": "true", | |
# Hide documentation (.rst) source | |
"source_link_position": None, | |
"bootswatch_theme": "paper", | |
"bootstrap_version": "3", | |
} | |
html_sidebars = {"**": ["sidebar.html"]} | |
# Add any paths that contain custom static files (such as style sheets) here, | |
# relative to this directory. They are copied after the builtin static files, | |
# so a file named "default.css" will overwrite the builtin "default.css". | |
html_static_path = ["_static"] | |
# Custom sidebar templates, must be a dictionary that maps document names | |
# to template names. | |
# | |
# The default sidebars (for documents that don't match any pattern) are | |
# defined by theme itself. Builtin themes are using these templates by | |
# default: ``['localtoc.html', 'relations.html', 'sourcelink.html', | |
# 'searchbox.html']``. | |
# | |
# html_sidebars = {} | |
# -- Options for HTMLHelp output --------------------------------------------- | |
# Output file base name for HTML help builder. | |
htmlhelp_basename = "myprojectdoc" | |
# -- Options for LaTeX output ------------------------------------------------ | |
latex_elements = { | |
# The paper size ('letterpaper' or 'a4paper'). | |
# | |
# 'papersize': 'letterpaper', | |
# The font size ('10pt', '11pt' or '12pt'). | |
# | |
# 'pointsize': '10pt', | |
# Additional stuff for the LaTeX preamble. | |
# | |
# 'preamble': '', | |
# Latex figure (float) alignment | |
# | |
# 'figure_align': 'htbp', | |
} | |
# Grouping the document tree into LaTeX files. List of tuples | |
# (source start file, target name, title, | |
# author, documentclass [howto, manual, or own class]). | |
latex_documents = [(master_doc, "myproject.tex", "myproject Documentation", "Kyle Carretto", "manual")] | |
# -- Options for manual page output ------------------------------------------ | |
# One entry per manual page. List of tuples | |
# (source start file, name, description, authors, manual section). | |
man_pages = [(master_doc, "myproject", "myproject Documentation", [author], 1)] | |
# -- Options for Texinfo output ---------------------------------------------- | |
# Grouping the document tree into Texinfo files. List of tuples | |
# (source start file, target name, title, author, | |
# dir menu entry, description, category) | |
texinfo_documents = [ | |
( | |
master_doc, | |
"myproject", | |
"myproject Documentation", | |
author, | |
"myproject", | |
"One line description of project.", | |
"Miscellaneous", | |
) | |
] | |
# -- Options for Epub output ------------------------------------------------- | |
# Bibliographic Dublin Core info. | |
epub_title = project | |
# The unique identifier of the text. This can be a ISBN number | |
# or the project homepage. | |
# | |
# epub_identifier = '' | |
# A unique identification for the text. | |
# | |
# epub_uid = '' | |
# A list of files that should not be packed into the epub file. | |
epub_exclude_files = ["search.html"] | |
# -- Extension configuration ------------------------------------------------- | |
# -- Options for intersphinx extension --------------------------------------- | |
# Example configuration for intersphinx: refer to the Python standard library. | |
intersphinx_mapping = {"https://docs.python.org/": None} |
# FILE LOCATION: <project_root>/docs/Makefile | |
# Minimal makefile for Sphinx documentation | |
# | |
# You can set these variables from the command line. | |
SPHINXOPTS = | |
SPHINXBUILD = sphinx-build | |
SOURCEDIR = source | |
BUILDDIR = build | |
GH_PAGES_SOURCES = source Makefile | |
GH_PAGES_BASE_BRANCH = stable # Change this to be the branch that your documentation should be built from | |
# Put first so that "make" without argument is like "make help". | |
help: | |
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) | |
.PHONY: help Makefile | |
.PHONY: gh-pages | |
.ONESHELL: | |
gh-pages: | |
rm -rf /tmp/gh-pages | |
cp -r $(BUILDDIR)/html /tmp/gh-pages | |
git checkout gh-pages | |
cd .. && rm -rf * && cp -r /tmp/gh-pages/* ./ && rm -rf /tmp/gh-pages && git add . && git commit -m "Updated gh-pages" && git push && git checkout master | |
# Catch-all target: route all unknown targets to Sphinx using the new | |
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). | |
%: Makefile | |
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) |
suggest