mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-11-05 15:00:30 +03:00
Merge branch 'sphinx' into 'master'
set up docs based on docstrings and publish HTML versions See merge request fdroid/fdroidserver!911
This commit is contained in:
commit
58ff81e7b5
7 changed files with 182 additions and 0 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -68,3 +68,6 @@ makebuildserver.config.py
|
||||||
|
|
||||||
# generated by gettext
|
# generated by gettext
|
||||||
locale/*/LC_MESSAGES/fdroidserver.mo
|
locale/*/LC_MESSAGES/fdroidserver.mo
|
||||||
|
|
||||||
|
# sphinx
|
||||||
|
public/
|
||||||
|
|
@ -412,3 +412,27 @@ servergitmirrors:
|
||||||
- echo $DLURL
|
- echo $DLURL
|
||||||
- wget $DLURL/index-v1.jar
|
- wget $DLURL/index-v1.jar
|
||||||
- diff repo/index-v1.jar index-v1.jar
|
- diff repo/index-v1.jar index-v1.jar
|
||||||
|
|
||||||
|
Build documentation:
|
||||||
|
image: python:3.9-buster
|
||||||
|
script:
|
||||||
|
- pip install -e .[docs]
|
||||||
|
- cd docs
|
||||||
|
- sphinx-apidoc -o ./source ../fdroidserver -M -e
|
||||||
|
- sphinx-autogen -o generated source/*.rst
|
||||||
|
- make html
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- docs/build/html/
|
||||||
|
|
||||||
|
pages:
|
||||||
|
image: alpine:latest
|
||||||
|
stage: deploy
|
||||||
|
script:
|
||||||
|
- cp docs/build/html public -r # GL Pages needs the files in a directory named "public"
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- public
|
||||||
|
needs: ["Build documentation"]
|
||||||
|
rules:
|
||||||
|
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' # only publish pages on default (master) branch
|
||||||
20
docs/Makefile
Normal file
20
docs/Makefile
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
# Minimal makefile for Sphinx documentation
|
||||||
|
#
|
||||||
|
|
||||||
|
# You can set these variables from the command line, and also
|
||||||
|
# from the environment for the first two.
|
||||||
|
SPHINXOPTS ?=
|
||||||
|
SPHINXBUILD ?= sphinx-build
|
||||||
|
SOURCEDIR = source
|
||||||
|
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)
|
||||||
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=source
|
||||||
|
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% %O%
|
||||||
|
goto end
|
||||||
|
|
||||||
|
:help
|
||||||
|
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
|
||||||
|
|
||||||
|
:end
|
||||||
|
popd
|
||||||
75
docs/source/conf.py
Normal file
75
docs/source/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:
|
||||||
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html
|
||||||
|
|
||||||
|
# -- 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('../../fdroidserver'))
|
||||||
|
|
||||||
|
# -- Project information -----------------------------------------------------
|
||||||
|
|
||||||
|
project = 'fdroidserver'
|
||||||
|
copyright = '2021, The F-Droid Project'
|
||||||
|
author = 'The F-Droid Project'
|
||||||
|
|
||||||
|
|
||||||
|
# -- 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 = [
|
||||||
|
'numpydoc',
|
||||||
|
'sphinx.ext.autodoc',
|
||||||
|
'sphinx.ext.autosummary',
|
||||||
|
]
|
||||||
|
|
||||||
|
# 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 = []
|
||||||
|
|
||||||
|
|
||||||
|
# -- 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 = "pydata_sphinx_theme"
|
||||||
|
|
||||||
|
html_theme_options = {
|
||||||
|
"gitlab_url": "https://gitlab.com/fdroid/fdroidserver",
|
||||||
|
"show_prev_next": False,
|
||||||
|
"navbar_end": ["search-field.html", "navbar-icon-links.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']
|
||||||
|
|
||||||
|
html_sidebars = {
|
||||||
|
"**": [],
|
||||||
|
}
|
||||||
|
|
||||||
|
#html_sidebars = {
|
||||||
|
# '**': ['globaltoc.html', 'sourcelink.html', 'searchbox.html'],
|
||||||
|
# 'using/windows': ['windowssidebar.html', 'searchbox.html'],
|
||||||
|
#}
|
||||||
|
|
||||||
|
html_split_index = True
|
||||||
|
#numpydoc_validation_checks = {"all"}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
20
docs/source/index.rst
Normal file
20
docs/source/index.rst
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
.. fdroidserver documentation master file, created by
|
||||||
|
sphinx-quickstart on Mon May 3 10:06:52 2021.
|
||||||
|
You can adapt this file completely to your liking, but it should at least
|
||||||
|
contain the root `toctree` directive.
|
||||||
|
|
||||||
|
Welcome to fdroidserver's documentation!
|
||||||
|
========================================
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 2
|
||||||
|
:caption: Contents:
|
||||||
|
|
||||||
|
These pages contain the autogenerated module docu based on the current `sources <https://gitlab.com/fdroid/fdroidserver/-/tree/master/fdroidserver>`_.
|
||||||
|
|
||||||
|
Indices and tables
|
||||||
|
==================
|
||||||
|
|
||||||
|
|
||||||
|
* Under :ref:`modindex` the different fdroidserver modules are listed.
|
||||||
|
* In :ref:`genindex` you'll find all methods sorted alphabetically.
|
||||||
5
setup.py
5
setup.py
|
|
@ -92,6 +92,11 @@ setup(name='fdroidserver',
|
||||||
'pyjks',
|
'pyjks',
|
||||||
'html5print'
|
'html5print'
|
||||||
],
|
],
|
||||||
|
'docs': [
|
||||||
|
'sphinx',
|
||||||
|
'numpydoc',
|
||||||
|
'pydata_sphinx_theme',
|
||||||
|
]
|
||||||
},
|
},
|
||||||
classifiers=[
|
classifiers=[
|
||||||
'Development Status :: 4 - Beta',
|
'Development Status :: 4 - Beta',
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue