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
 | 
					    - 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/
 | 
				
			||||||
							
								
								
									
										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',
 | 
					              '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