Commit

Add Sphinx
Daniel Moch committed 5 years ago (Tree)

Diffstat

 {{cookiecutter.project_slug}}/.gitignore | 1 
 {{cookiecutter.project_slug}}/docs/Makefile | 20 +
 {{cookiecutter.project_slug}}/docs/make.bat | 42 ++++
 {{cookiecutter.project_slug}}/docs/source/conf.py | 156 +++++++++++++++
 {{cookiecutter.project_slug}}/docs/source/index.rst | 20 +

{{cookiecutter.project_slug}}/.gitignore

2 2 .coverage
3 3 .pytest_cache/
4 4 htmlcov/
5 +docs/build/

{{cookiecutter.project_slug}}/docs/Makefile (created)

1 +# Minimal makefile for Sphinx documentation
2 +#
3 +
4 +# You can set these variables from the command line.
5 +SPHINXOPTS =
6 +SPHINXBUILD = pipenv run sphinx-build
7 +SPHINXPROJ = {{ cookiecutter.project_slug }}
8 +SOURCEDIR = source
9 +BUILDDIR = build
10 +
11 +# Put it first so that "make" without argument is like "make help".
12 +help:
13 + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14 +
15 +.PHONY: help Makefile
16 +
17 +# Catch-all target: route all unknown targets to Sphinx using the new
18 +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19 +%: Makefile
20 + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

{{cookiecutter.project_slug}}/docs/make.bat (created)

1 +@ECHO OFF
2 +
3 +pushd %~dp0
4 +
5 +REM Python command
6 +
7 +if "%PYTHON%" == "" (
8 + set PYTHON=python
9 +)
10 +
11 +REM Command file for Sphinx documentation
12 +
13 +if "%SPHINXBUILD%" == "" (
14 + set SPHINXBUILD=%PYTHON% -m pipenv run sphinx-build
15 +)
16 +set SOURCEDIR=source
17 +set BUILDDIR=build
18 +set SPHINXPROJ={{ cookiecutterproject_slug }}
19 +
20 +if "%1" == "" goto help
21 +
22 +%SPHINXBUILD% >NUL 2>NUL
23 +if errorlevel 9009 (
24 + echo.
25 + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
26 + echo.installed, then set the SPHINXBUILD environment variable to point
27 + echo.to the full path of the 'sphinx-build' executable. Alternatively you
28 + echo.may add the Sphinx directory to PATH.
29 + echo.
30 + echo.If you don't have Sphinx installed, grab it from
31 + echo.http://sphinx-doc.org/
32 + exit /b 1
33 +)
34 +
35 +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
36 +goto end
37 +
38 +:help
39 +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
40 +
41 +:end
42 +popd

{{cookiecutter.project_slug}}/docs/source/conf.py (created)

1 +# -*- coding: utf-8 -*-
2 +#
3 +# Configuration file for the Sphinx documentation builder.
4 +#
5 +# This file does only contain a selection of the most common options. For a
6 +# full list see the documentation:
7 +# http://www.sphinx-doc.org/en/master/config
8 +
9 +# -- Path setup --------------------------------------------------------------
10 +
11 +# If extensions (or modules to document with autodoc) are in another directory,
12 +# add these directories to sys.path here. If the directory is relative to the
13 +# documentation root, use os.path.abspath to make it absolute, like shown here.
14 +#
15 +import os
16 +import sys
17 +sys.path.insert(0, os.path.abspath(os.path.join(['..', '..']))
18 +import {{ cookiecutter.project_slug }}
19 +
20 +
21 +# -- Project information -----------------------------------------------------
22 +
23 +project = '{{ cookiecutter.project_slug }}'
24 +copyright = '2018, {{ cookiecutter.full_name }}'
25 +author = '{{ cookiecutter.full_name }}'
26 +
27 +# The short X.Y version
28 +version = '{{ cookiecutter.project_slug }}.__version__'
29 +# The full version, including alpha/beta/rc tags
30 +release = '{{ cookiecutter.project_slug }}.__version__'
31 +
32 +
33 +# -- General configuration ---------------------------------------------------
34 +
35 +# If your documentation needs a minimal Sphinx version, state it here.
36 +#
37 +# needs_sphinx = '1.0'
38 +
39 +# Add any Sphinx extension module names here, as strings. They can be
40 +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
41 +# ones.
42 +extensions = [
43 +]
44 +
45 +# Add any paths that contain templates here, relative to this directory.
46 +templates_path = ['.templates']
47 +
48 +# The suffix(es) of source filenames.
49 +# You can specify multiple suffix as a list of string:
50 +#
51 +# source_suffix = ['.rst', '.md']
52 +source_suffix = '.rst'
53 +
54 +# The master toctree document.
55 +master_doc = 'index'
56 +
57 +# The language for content autogenerated by Sphinx. Refer to documentation
58 +# for a list of supported languages.
59 +#
60 +# This is also used if you do content translation via gettext catalogs.
61 +# Usually you set "language" from the command line for these cases.
62 +language = None
63 +
64 +# List of patterns, relative to source directory, that match files and
65 +# directories to ignore when looking for source files.
66 +# This pattern also affects html_static_path and html_extra_path .
67 +exclude_patterns = []
68 +
69 +# The name of the Pygments (syntax highlighting) style to use.
70 +pygments_style = 'sphinx'
71 +
72 +
73 +# -- Options for HTML output -------------------------------------------------
74 +
75 +# The theme to use for HTML and HTML Help pages. See the documentation for
76 +# a list of builtin themes.
77 +#
78 +html_theme = 'default'
79 +
80 +# Theme options are theme-specific and customize the look and feel of a theme
81 +# further. For a list of options available for each theme, see the
82 +# documentation.
83 +#
84 +# html_theme_options = {}
85 +
86 +# Add any paths that contain custom static files (such as style sheets) here,
87 +# relative to this directory. They are copied after the builtin static files,
88 +# so a file named "default.css" will overwrite the builtin "default.css".
89 +html_static_path = ['.static']
90 +
91 +# Custom sidebar templates, must be a dictionary that maps document names
92 +# to template names.
93 +#
94 +# The default sidebars (for documents that don't match any pattern) are
95 +# defined by theme itself. Builtin themes are using these templates by
96 +# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
97 +# 'searchbox.html']``.
98 +#
99 +# html_sidebars = {}
100 +
101 +
102 +# -- Options for HTMLHelp output ---------------------------------------------
103 +
104 +# Output file base name for HTML help builder.
105 +htmlhelp_basename = 'cookiecutterproject_slugdoc'
106 +
107 +
108 +# -- Options for LaTeX output ------------------------------------------------
109 +
110 +latex_elements = {
111 + # The paper size ('letterpaper' or 'a4paper').
112 + #
113 + # 'papersize': 'letterpaper',
114 +
115 + # The font size ('10pt', '11pt' or '12pt').
116 + #
117 + # 'pointsize': '10pt',
118 +
119 + # Additional stuff for the LaTeX preamble.
120 + #
121 + # 'preamble': '',
122 +
123 + # Latex figure (float) alignment
124 + #
125 + # 'figure_align': 'htbp',
126 +}
127 +
128 +# Grouping the document tree into LaTeX files. List of tuples
129 +# (source start file, target name, title,
130 +# author, documentclass [howto, manual, or own class]).
131 +latex_documents = [
132 + (master_doc, 'cookiecutterproject_slug.tex', '\\{\\{ cookiecutter.project\\_slug \\}\\} Documentation',
133 + '\\{\\{ cookiecutter.full\\_name \\}\\}', 'manual'),
134 +]
135 +
136 +
137 +# -- Options for manual page output ------------------------------------------
138 +
139 +# One entry per manual page. List of tuples
140 +# (source start file, name, description, authors, manual section).
141 +man_pages = [
142 + (master_doc, 'cookiecutterproject_slug', '{{ cookiecutter.project_slug }} Documentation',
143 + [author], 1)
144 +]
145 +
146 +
147 +# -- Options for Texinfo output ----------------------------------------------
148 +
149 +# Grouping the document tree into Texinfo files. List of tuples
150 +# (source start file, target name, title, author,
151 +# dir menu entry, description, category)
152 +texinfo_documents = [
153 + (master_doc, 'cookiecutterproject_slug', '{{ cookiecutter.project_slug }} Documentation',
154 + author, 'cookiecutterproject_slug', 'One line description of project.',
155 + 'Miscellaneous'),
156 +]

{{cookiecutter.project_slug}}/docs/source/index.rst (created)

1 +.. {{ cookiecutter.project_slug }} documentation master file, created by
2 + sphinx-quickstart on Mon Sep 3 18:20:30 2018.
3 + You can adapt this file completely to your liking, but it should at least
4 + contain the root `toctree` directive.
5 +
6 +Welcome to {{ cookiecutter.project_slug }}'s documentation!
7 +===========================================================
8 +
9 +.. toctree::
10 + :maxdepth: 2
11 + :caption: Contents:
12 +
13 +
14 +
15 +Indices and tables
16 +==================
17 +
18 +* :ref:`genindex`
19 +* :ref:`modindex`
20 +* :ref:`search`