mirror of
				https://github.com/f-droid/fdroidserver.git
				synced 2025-11-04 06:30:27 +03:00 
			
		
		
		
	Draft: set up docs based on docstrings and publish HTML versions
This commit is contained in:
		
							parent
							
								
									022d0796d8
								
							
						
					
					
						commit
						a15581faa9
					
				
					 5 changed files with 147 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -412,3 +412,15 @@ servergitmirrors:
 | 
			
		|||
    - echo $DLURL
 | 
			
		||||
    - wget $DLURL/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/
 | 
			
		||||
							
								
								
									
										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"}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										5
									
								
								setup.py
									
										
									
									
									
								
							
							
						
						
									
										5
									
								
								setup.py
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -92,6 +92,11 @@ setup(name='fdroidserver',
 | 
			
		|||
              'pyjks',
 | 
			
		||||
              'html5print'
 | 
			
		||||
              ],
 | 
			
		||||
          'docs': [
 | 
			
		||||
              'sphinx',
 | 
			
		||||
              'numpydoc',
 | 
			
		||||
              'pydata_sphinx_theme',
 | 
			
		||||
          ]
 | 
			
		||||
      },
 | 
			
		||||
      classifiers=[
 | 
			
		||||
          'Development Status :: 4 - Beta',
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue