mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Merge pull request #171 from SchrodingersGat/documentation
Configure automated documentation
This commit is contained in:
commit
cad5b4276c
5
.gitignore
vendored
5
.gitignore
vendored
@ -27,6 +27,11 @@ var/
|
|||||||
local_settings.py
|
local_settings.py
|
||||||
*.sqlite3
|
*.sqlite3
|
||||||
|
|
||||||
|
# Sphinx files
|
||||||
|
docs/_build
|
||||||
|
docs/_static
|
||||||
|
docs/_templates
|
||||||
|
|
||||||
# Local media storage (only when running in development mode)
|
# Local media storage (only when running in development mode)
|
||||||
InvenTree/media
|
InvenTree/media
|
||||||
|
|
||||||
|
19
.readthedocs.yml
Normal file
19
.readthedocs.yml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# .readthedocs.yml
|
||||||
|
# Read the Docs configuration file
|
||||||
|
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
|
||||||
|
|
||||||
|
version: 2
|
||||||
|
|
||||||
|
# Location of sphinx configuration settings
|
||||||
|
sphinx:
|
||||||
|
configuration: docs/conf.py
|
||||||
|
|
||||||
|
formats:
|
||||||
|
- pdf
|
||||||
|
- epub
|
||||||
|
|
||||||
|
python:
|
||||||
|
version: 3.5
|
||||||
|
install:
|
||||||
|
- requirements: docs/requirements.txt
|
||||||
|
- method: pip
|
@ -1,4 +1,8 @@
|
|||||||
# Generate a SECRET_KEY file
|
"""
|
||||||
|
Module keygen
|
||||||
|
=============
|
||||||
|
This module generates a Django SECRET_KEY file to be used by manage.py
|
||||||
|
"""
|
||||||
|
|
||||||
import random
|
import random
|
||||||
import string
|
import string
|
||||||
@ -10,9 +14,16 @@ KEY_FN = 'secret_key.txt'
|
|||||||
KEY_DIR = os.path.dirname(os.path.realpath(__file__))
|
KEY_DIR = os.path.dirname(os.path.realpath(__file__))
|
||||||
|
|
||||||
|
|
||||||
def generate_key():
|
def generate_key(length=50):
|
||||||
|
"""
|
||||||
|
Generate a random string
|
||||||
|
|
||||||
|
:param length: Number of characters in returned string (default=50)
|
||||||
|
:returns: Randomized secret key string
|
||||||
|
"""
|
||||||
|
|
||||||
options = string.digits + string.ascii_letters + string.punctuation
|
options = string.digits + string.ascii_letters + string.punctuation
|
||||||
key = ''.join([random.choice(options) for i in range(50)])
|
key = ''.join([random.choice(options) for i in range(length)])
|
||||||
return key
|
return key
|
||||||
|
|
||||||
|
|
20
Makefile
20
Makefile
@ -7,13 +7,6 @@ clean:
|
|||||||
rm -rf .tox
|
rm -rf .tox
|
||||||
rm -f .coverage
|
rm -f .coverage
|
||||||
|
|
||||||
style:
|
|
||||||
flake8 InvenTree
|
|
||||||
|
|
||||||
test:
|
|
||||||
python InvenTree/manage.py check
|
|
||||||
python InvenTree/manage.py test build company part stock
|
|
||||||
|
|
||||||
migrate:
|
migrate:
|
||||||
python InvenTree/manage.py makemigrations company
|
python InvenTree/manage.py makemigrations company
|
||||||
python InvenTree/manage.py makemigrations part
|
python InvenTree/manage.py makemigrations part
|
||||||
@ -24,14 +17,25 @@ migrate:
|
|||||||
|
|
||||||
install:
|
install:
|
||||||
pip install -U -r requirements.txt
|
pip install -U -r requirements.txt
|
||||||
python InvenTree/key.py
|
python InvenTree/keygen.py
|
||||||
|
|
||||||
setup: install migrate
|
setup: install migrate
|
||||||
|
|
||||||
|
style:
|
||||||
|
flake8 InvenTree
|
||||||
|
|
||||||
|
test:
|
||||||
|
python InvenTree/manage.py check
|
||||||
|
python InvenTree/manage.py test build company part stock
|
||||||
|
|
||||||
coverage:
|
coverage:
|
||||||
python InvenTree/manage.py check
|
python InvenTree/manage.py check
|
||||||
coverage run InvenTree/manage.py test build company part stock
|
coverage run InvenTree/manage.py test build company part stock
|
||||||
coverage html
|
coverage html
|
||||||
|
|
||||||
|
documentation:
|
||||||
|
pip install -U -r docs/requirements.txt
|
||||||
|
cd docs & make html
|
||||||
|
|
||||||
superuser:
|
superuser:
|
||||||
python InvenTree/manage.py createsuperuser
|
python InvenTree/manage.py createsuperuser
|
||||||
|
19
docs/Makefile
Normal file
19
docs/Makefile
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# Minimal makefile for Sphinx documentation
|
||||||
|
#
|
||||||
|
|
||||||
|
# You can set these variables from the command line.
|
||||||
|
SPHINXOPTS =
|
||||||
|
SPHINXBUILD = sphinx-build
|
||||||
|
SOURCEDIR = .
|
||||||
|
BUILDDIR = _build
|
||||||
|
|
||||||
|
# Put it first so that "make" without argument is like "make help".
|
||||||
|
help:
|
||||||
|
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
||||||
|
|
||||||
|
.PHONY: help Makefile
|
||||||
|
|
||||||
|
# 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)
|
75
docs/conf.py
Normal file
75
docs/conf.py
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
# Configuration file for the Sphinx documentation builder.
|
||||||
|
#
|
||||||
|
# This file only contains 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 os
|
||||||
|
import sys
|
||||||
|
sys.path.insert(0, os.path.abspath('../'))
|
||||||
|
sys.path.append(os.path.abspath('../InvenTree'))
|
||||||
|
|
||||||
|
|
||||||
|
# -- Project information -----------------------------------------------------
|
||||||
|
|
||||||
|
project = 'InvenTree'
|
||||||
|
copyright = '2019, InvenTree'
|
||||||
|
|
||||||
|
|
||||||
|
# -- General configuration ---------------------------------------------------
|
||||||
|
|
||||||
|
# Add any Sphinx extension module names here, as strings. They can be
|
||||||
|
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
||||||
|
# ones.
|
||||||
|
extensions = [
|
||||||
|
'autoapi.extension'
|
||||||
|
]
|
||||||
|
|
||||||
|
autoapi_dirs = [
|
||||||
|
'../InvenTree',
|
||||||
|
]
|
||||||
|
|
||||||
|
autoapi_options = [
|
||||||
|
'members',
|
||||||
|
]
|
||||||
|
|
||||||
|
autoapi_type = 'python'
|
||||||
|
|
||||||
|
autoapi_ignore = [
|
||||||
|
'*migrations*',
|
||||||
|
'**/test*.py',
|
||||||
|
'**/manage.py'
|
||||||
|
]
|
||||||
|
|
||||||
|
# Add any paths that contain templates here, relative to this directory.
|
||||||
|
templates_path = ['_templates']
|
||||||
|
|
||||||
|
# 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 = [
|
||||||
|
'_build',
|
||||||
|
'Thumbs.db',
|
||||||
|
'.DS_Store',
|
||||||
|
'manage.rst', # Ignore django management file
|
||||||
|
'**/*.migrations*.rst', # Ignore migration files
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
# -- Options for HTML output -------------------------------------------------
|
||||||
|
|
||||||
|
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||||
|
# a list of builtin themes.
|
||||||
|
#
|
||||||
|
html_theme = 'sphinx_rtd_theme'
|
||||||
|
|
||||||
|
# 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']
|
20
docs/index.rst
Normal file
20
docs/index.rst
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
.. InvenTree documentation master file, created by
|
||||||
|
sphinx-quickstart on Sat Apr 27 15:45:39 2019.
|
||||||
|
You can adapt this file completely to your liking, but it should at least
|
||||||
|
contain the root `toctree` directive.
|
||||||
|
|
||||||
|
Welcome to InvenTree's documentation!
|
||||||
|
=====================================
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
:caption: Contents:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Indices and tables
|
||||||
|
==================
|
||||||
|
|
||||||
|
* :ref:`genindex`
|
||||||
|
* :ref:`modindex`
|
||||||
|
* :ref:`search`
|
35
docs/make.bat
Normal file
35
docs/make.bat
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
@ECHO OFF
|
||||||
|
|
||||||
|
pushd %~dp0
|
||||||
|
|
||||||
|
REM Command file for Sphinx documentation
|
||||||
|
|
||||||
|
if "%SPHINXBUILD%" == "" (
|
||||||
|
set SPHINXBUILD=sphinx-build
|
||||||
|
)
|
||||||
|
set SOURCEDIR=.
|
||||||
|
set BUILDDIR=_build
|
||||||
|
|
||||||
|
if "%1" == "" goto help
|
||||||
|
|
||||||
|
%SPHINXBUILD% >NUL 2>NUL
|
||||||
|
if errorlevel 9009 (
|
||||||
|
echo.
|
||||||
|
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
|
||||||
|
echo.installed, then set the SPHINXBUILD environment variable to point
|
||||||
|
echo.to the full path of the 'sphinx-build' executable. Alternatively you
|
||||||
|
echo.may add the Sphinx directory to PATH.
|
||||||
|
echo.
|
||||||
|
echo.If you don't have Sphinx installed, grab it from
|
||||||
|
echo.http://sphinx-doc.org/
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
|
||||||
|
goto end
|
||||||
|
|
||||||
|
:help
|
||||||
|
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
|
||||||
|
|
||||||
|
:end
|
||||||
|
popd
|
3
docs/requirements.txt
Normal file
3
docs/requirements.txt
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
Sphinx>=2.0.1
|
||||||
|
sphinx-autoapi==1.0.0
|
||||||
|
sphinx-rtd-theme==0.4.3
|
Loading…
Reference in New Issue
Block a user