feat(docs): new docs build logic

- remove nix
- use docker container
- install latest google analytics
This commit is contained in:
RhodeCode Admin 2023-11-17 10:46:07 +01:00
parent 95a81d966d
commit 42606f970b
16 changed files with 506 additions and 651 deletions

View file

@ -69,19 +69,19 @@ ruff-check:
.PHONY: docs
## build docs
docs:
(cd docs; nix-build default.nix -o result; make clean html)
(cd docs; docker run --rm -v $(PWD):/project --workdir=/project/docs sphinx-doc-build-rc make clean html)
.PHONY: docs-clean
## Cleanup docs
docs-clean:
(cd docs; make clean)
(cd docs; docker run --rm -v $(PWD):/project --workdir=/project/docs sphinx-doc-build-rc make clean)
.PHONY: docs-cleanup
## Cleanup docs
docs-cleanup:
(cd docs; make cleanup)
(cd docs; docker run --rm -v $(PWD):/project --workdir=/project/docs sphinx-doc-build-rc make cleanup)
.PHONY: web-build

View file

@ -1,9 +1,6 @@
# generating packages
nix-shell pkgs/shell-generate.nix
cd docs
pip2nix generate
## BUILD
# cd docs
# docker build --tag sphinx-doc-build-rc .
# building the docs
cd docs
nix-build default.nix -o result
make clean html
# Build Docs
# docker run --rm -v $(PWD):/project --workdir=/project/docs sphinx-doc-build-rc make clean html

5
docs/Dockerfile Normal file
View file

@ -0,0 +1,5 @@
FROM sphinxdoc/sphinx
WORKDIR /project
ADD requirements_docs.txt /project
RUN pip3 install -r requirements_docs.txt

View file

@ -2,9 +2,9 @@
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = ./result/bin/sphinx-build
PAPER =
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = source
BUILDDIR = _build
# User-friendly check for sphinx-build

117
docs/_templates/base.html vendored Normal file
View file

@ -0,0 +1,117 @@
<!doctype html>
<html class="no-js"{% if language is not none %} lang="{{ language }}"{% endif %} data-content_root="{{ content_root }}">
<head>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-M2TSG36B');</script>
<!-- End Google Tag Manager -->
{%- block site_meta -%}
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark">
{%- if metatags %}{{ metatags }}{% endif -%}
{%- block linktags %}
{%- if hasdoc('about') -%}
<link rel="author" title="{{ _('About these documents') }}" href="{{ pathto('about') }}" />
{%- endif -%}
{%- if hasdoc('genindex') -%}
<link rel="index" title="{{ _('Index') }}" href="{{ pathto('genindex') }}" />
{%- endif -%}
{%- if hasdoc('search') -%}
<link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}" />
{%- endif -%}
{%- if hasdoc('copyright') -%}
<link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}" />
{%- endif -%}
{%- if next -%}
<link rel="next" title="{{ next.title|striptags|e }}" href="{{ next.link|e }}" />
{%- endif -%}
{%- if prev -%}
<link rel="prev" title="{{ prev.title|striptags|e }}" href="{{ prev.link|e }}" />
{%- endif -%}
{#- rel="canonical" (set by html_baseurl) -#}
{%- if pageurl %}
<link rel="canonical" href="{{ pageurl|e }}" />
{%- endif %}
{%- endblock linktags %}
{# Favicon #}
{%- if favicon_url -%}
<link rel="shortcut icon" href="{{ favicon_url }}"/>
{%- endif -%}
<!-- Generated with Sphinx {{ sphinx_version }} and Furo {{ furo_version }} -->
{%- endblock site_meta -%}
{#- Site title -#}
{%- block htmltitle -%}
{% if not docstitle %}
<title>{{ title|striptags|e }}</title>
{% elif pagename == master_doc %}
<title>{{ docstitle|striptags|e }}</title>
{% else %}
<title>{{ title|striptags|e }} - {{ docstitle|striptags|e }}</title>
{% endif %}
{%- endblock -%}
{%- block styles -%}
{# Custom stylesheets #}
{%- block regular_styles -%}
{%- for css in css_files -%}
{% if css|attr("filename") -%}
{{ css_tag(css) }}
{%- else -%}
<link rel="stylesheet" href="{{ pathto(css, 1)|e }}" type="text/css" />
{%- endif %}
{% endfor -%}
{%- endblock regular_styles -%}
{#- Theme-related stylesheets -#}
{%- block theme_styles %}
{% include "partials/_head_css_variables.html" with context %}
{%- endblock -%}
{%- block extra_styles %}
{%- endblock -%}
{%- endblock styles -%}
{#- Custom front matter #}
{%- block extrahead -%}{%- endblock -%}
</head>
<body>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-M2TSG36B"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
{% block body %}
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
{% endblock %}
{%- block scripts -%}
{# Custom JS #}
{%- block regular_scripts -%}
{% for path in script_files -%}
{{ js_tag(path) }}
{% endfor -%}
{%- endblock regular_scripts -%}
{# Theme-related JavaScript code #}
{%- block theme_scripts -%}
{%- endblock -%}
{%- endblock scripts -%}
</body>
</html>

View file

@ -1,6 +0,0 @@
{% extends "!footer.html" %}
{% block extrafooter %}
<br/>
Documentation defects and suggestions can be submitted <a href="https://issues.rhodecode.com/projects/documentation">here</a>
{% endblock %}

View file

@ -1,18 +0,0 @@
{% extends "!layout.html" %}
{% set css_files = css_files + ['_static/add.css'] %}
{% block footer %}
{{ super() }}
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-55639800-3', 'auto');
ga('send', 'pageview');
</script>
{% endblock %}

204
docs/_templates/page.html vendored Normal file
View file

@ -0,0 +1,204 @@
{% extends "base.html" %}
{% block body -%}
{{ super() }}
{% include "partials/icons.html" %}
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
{% if theme_announcement -%}
<div class="announcement">
<aside class="announcement-content">
{% block announcement %} {{ theme_announcement }} {% endblock announcement %}
</aside>
</div>
{%- endif %}
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="{{ pathto(master_doc) }}"><div class="brand">{{ docstitle if docstitle else project }}</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon{% if furo_hide_toc %} no-toc{% endif %}" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
{% block left_sidebar %}
<div class="sidebar-sticky">
{%- for sidebar_section in sidebars %}
{%- include sidebar_section %}
{%- endfor %}
</div>
{% endblock left_sidebar %}
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>{% trans %}Back to top{% endtrans %}</span>
</a>
<div class="content-icon-container">
{% if theme_top_of_page_button == "edit" -%}
{%- include "components/edit-this-page.html" with context -%}
{%- elif theme_top_of_page_button != None -%}
{{ warning("Got an unsupported value for 'top_of_page_button'") }}
{%- endif -%}
{#- Theme toggle -#}
<div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon{% if furo_hide_toc %} no-toc{% endif %}" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
{% block content %}{{ body }}{% endblock %}
</article>
</div>
<footer>
{% block footer %}
<div class="related-pages">
{% if next -%}
<a class="next-page" href="{{ next.link }}">
<div class="page-info">
<div class="context">
<span>{{ _("Next") }}</span>
</div>
<div class="title">{{ next.title }}</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
{%- endif %}
{% if prev -%}
<a class="prev-page" href="{{ prev.link }}">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>{{ _("Previous") }}</span>
</div>
{% if prev.link == pathto(master_doc) %}
<div class="title">{{ _("Home") }}</div>
{% else %}
<div class="title">{{ prev.title }}</div>
{% endif %}
</div>
</a>
{%- endif %}
</div>
<div class="bottom-of-page">
<div class="left-details">
{%- if show_copyright %}
<div class="copyright">
{%- if hasdoc('copyright') %}
{% trans path=pathto('copyright'), copyright=copyright|e -%}
<a href="{{ path }}">Copyright</a> &#169; {{ copyright }}
{%- endtrans %}
{%- else %}
{% trans copyright=copyright|e -%}
Copyright &#169; {{ copyright }}
{%- endtrans %}
{%- endif %}
</div>
{%- endif %}
{%- if show_sphinx -%}
{% trans %}<a href="https://www.sphinx-doc.org/">Sphinx</a> and {% endtrans -%}
<a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
{% endif -%}
{%- if last_updated -%}
<div class="last-updated">
{% trans last_updated=last_updated|e -%}
Last updated on {{ last_updated }}
{%- endtrans -%}
</div>
<div style="border-top: 0">
Got documentation defects and suggestions? <a href="https://community.rhodecode.com">Submit docs issues</a>
</div>
{%- endif %}
</div>
<div class="right-details">
{% if theme_footer_icons or READTHEDOCS -%}
<div class="icons">
{% if theme_footer_icons -%}
{% for icon_dict in theme_footer_icons -%}
<a class="muted-link {{ icon_dict.class }}" href="{{ icon_dict.url }}" aria-label="{{ icon_dict.name }}">
{{- icon_dict.html -}}
</a>
{% endfor %}
{%- else -%}
{#- Show Read the Docs project -#}
{%- if READTHEDOCS and slug -%}
<a class="muted-link" href="https://readthedocs.org/projects/{{ slug }}" aria-label="On Read the Docs">
<svg x="0px" y="0px" viewBox="-125 217 360 360" xml:space="preserve">
<path fill="currentColor" d="M39.2,391.3c-4.2,0.6-7.1,4.4-6.5,8.5c0.4,3,2.6,5.5,5.5,6.3 c0,0,18.5,6.1,50,8.7c25.3,2.1,54-1.8,54-1.8c4.2-0.1,7.5-3.6,7.4-7.8c-0.1-4.2-3.6-7.5-7.8-7.4c-0.5,0-1,0.1-1.5,0.2 c0,0-28.1,3.5-50.9,1.6c-30.1-2.4-46.5-7.9-46.5-7.9C41.7,391.3,40.4,391.1,39.2,391.3z M39.2,353.6c-4.2,0.6-7.1,4.4-6.5,8.5 c0.4,3,2.6,5.5,5.5,6.3c0,0,18.5,6.1,50,8.7c25.3,2.1,54-1.8,54-1.8c4.2-0.1,7.5-3.6,7.4-7.8c-0.1-4.2-3.6-7.5-7.8-7.4 c-0.5,0-1,0.1-1.5,0.2c0,0-28.1,3.5-50.9,1.6c-30.1-2.4-46.5-7.9-46.5-7.9C41.7,353.6,40.4,353.4,39.2,353.6z M39.2,315.9 c-4.2,0.6-7.1,4.4-6.5,8.5c0.4,3,2.6,5.5,5.5,6.3c0,0,18.5,6.1,50,8.7c25.3,2.1,54-1.8,54-1.8c4.2-0.1,7.5-3.6,7.4-7.8 c-0.1-4.2-3.6-7.5-7.8-7.4c-0.5,0-1,0.1-1.5,0.2c0,0-28.1,3.5-50.9,1.6c-30.1-2.4-46.5-7.9-46.5-7.9 C41.7,315.9,40.4,315.8,39.2,315.9z M39.2,278.3c-4.2,0.6-7.1,4.4-6.5,8.5c0.4,3,2.6,5.5,5.5,6.3c0,0,18.5,6.1,50,8.7 c25.3,2.1,54-1.8,54-1.8c4.2-0.1,7.5-3.6,7.4-7.8c-0.1-4.2-3.6-7.5-7.8-7.4c-0.5,0-1,0.1-1.5,0.2c0,0-28.1,3.5-50.9,1.6 c-30.1-2.4-46.5-7.9-46.5-7.9C41.7,278.2,40.4,278.1,39.2,278.3z M-13.6,238.5c-39.6,0.3-54.3,12.5-54.3,12.5v295.7 c0,0,14.4-12.4,60.8-10.5s55.9,18.2,112.9,19.3s71.3-8.8,71.3-8.8l0.8-301.4c0,0-25.6,7.3-75.6,7.7c-49.9,0.4-61.9-12.7-107.7-14.2 C-8.2,238.6-10.9,238.5-13.6,238.5z M19.5,257.8c0,0,24,7.9,68.3,10.1c37.5,1.9,75-3.7,75-3.7v267.9c0,0-19,10-66.5,6.6 C59.5,536.1,19,522.1,19,522.1L19.5,257.8z M-3.6,264.8c4.2,0,7.7,3.4,7.7,7.7c0,4.2-3.4,7.7-7.7,7.7c0,0-12.4,0.1-20,0.8 c-12.7,1.3-21.4,5.9-21.4,5.9c-3.7,2-8.4,0.5-10.3-3.2c-2-3.7-0.5-8.4,3.2-10.3c0,0,0,0,0,0c0,0,11.3-6,27-7.5 C-16,264.9-3.6,264.8-3.6,264.8z M-11,302.6c4.2-0.1,7.4,0,7.4,0c4.2,0.5,7.2,4.3,6.7,8.5c-0.4,3.5-3.2,6.3-6.7,6.7 c0,0-12.4,0.1-20,0.8c-12.7,1.3-21.4,5.9-21.4,5.9c-3.7,2-8.4,0.5-10.3-3.2c-2-3.7-0.5-8.4,3.2-10.3c0,0,11.3-6,27-7.5 C-20.5,302.9-15.2,302.7-11,302.6z M-3.6,340.2c4.2,0,7.7,3.4,7.7,7.7s-3.4,7.7-7.7,7.7c0,0-12.4-0.1-20,0.7 c-12.7,1.3-21.4,5.9-21.4,5.9c-3.7,2-8.4,0.5-10.3-3.2c-2-3.7-0.5-8.4,3.2-10.3c0,0,11.3-6,27-7.5C-16,340.1-3.6,340.2-3.6,340.2z" />
</svg>
</a>
{%- endif -%}
{%- endif %}
</div>
{%- endif %}
</div>
</div>
{% endblock footer %}
</footer>
</div>
<aside class="toc-drawer{% if furo_hide_toc %} no-toc{% endif %}">
{% block right_sidebar %}
{% if not furo_hide_toc %}
<div class="toc-sticky toc-scroll">
<div class="toc-title-container">
<span class="toc-title">
{{ _("On this page") }}
</span>
</div>
<div class="toc-tree-container">
<div class="toc-tree">
{{ toc }}
</div>
</div>
</div>
{% endif %}
{% endblock right_sidebar %}
</aside>
</div>
</div>
{%- endblock %}

View file

@ -25,7 +25,7 @@ account permissions.
# Open iShell from the terminal
$ rccontrol ishell enterprise-1
.. code-block:: mysql
.. code-block:: python
# Use this example to change user permissions
In [1]: adminuser = User.get_by_username('username')
@ -49,7 +49,7 @@ following example to make changes to this table.
# Open iShell from the terminal
$ rccontrol ishell enterprise-1
.. code-block:: mysql
.. code-block:: python
# Use this example to enable global .hgrc access
In [1]: new_option = RhodeCodeUi()
@ -76,7 +76,7 @@ Use the following code example to carry out these steps.
# starts the ishell interactive prompt
$ rccontrol ishell enterprise-1
.. code-block:: mysql
.. code-block:: python
In [1]: from rhodecode.lib.auth import generate_auth_token
In [2]: from rhodecode.lib.auth import get_crypt_password
@ -107,7 +107,7 @@ Use the following code example to carry out these steps.
# starts the ishell interactive prompt
$ rccontrol ishell enterprise-1
.. code-block:: mysql
.. code-block:: python
# Use this example to change email and username of LDAP user
In [1]: my_user = User.get_by_username('some_username')
@ -139,7 +139,7 @@ Use the text which is shown after '#' sign, eg.
# starts the ishell interactive prompt
$ rccontrol ishell enterprise-1
.. code-block:: mysql
.. code-block:: python
# Use this example to change users from authentication
# using rhodecode internal to ldap

View file

@ -202,7 +202,6 @@ are not required in args.
methods/deprecated-methods
methods/gist-methods
methods/pull-request-methods
methods/repo-methods
methods/repo-group-methods
methods/search-methods
methods/server-methods

View file

@ -1,32 +0,0 @@
# Try and keep this list alphabetical
# ui is for user interface elements and messages
# button - that's obvious
rst_epilog = '''
.. |AE| replace:: Appenlight
.. |authtoken| replace:: Authentication Token
.. |authtokens| replace:: **Auth Tokens**
.. |RCCEshort| replace:: Community
.. |RCEEshort| replace:: Enterprise
.. |git| replace:: Git
.. |hg| replace:: Mercurial
.. |svn| replace:: Subversion
.. |LDAP| replace:: LDAP / Active Directory
.. |os| replace:: operating system
.. |OS| replace:: Operating System
.. |PY| replace:: Python
.. |pr| replace:: pull request
.. |prs| replace:: pull requests
.. |psf| replace:: Python Software Foundation
.. |repo| replace:: repository
.. |repos| replace:: repositories
.. |RCC| replace:: RhodeCode Control
.. |RCE| replace:: RhodeCode Enterprise
.. |RCCE| replace:: RhodeCode Community
.. |RCEE| replace:: RhodeCode Enterprise
.. |RCX| replace:: RhodeCode Extensions
.. |RCT| replace:: RhodeCode Tools
.. |RCEBOLD| replace:: **RhodeCode Enterprise**
.. |RCEITALICS| replace:: `RhodeCode Enterprise`
.. |RNS| replace:: Release Notes
'''

View file

@ -1,132 +1,160 @@
# Configuration file for the Sphinx documentation builder.
#
# For the full list of built-in configuration values, see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
#
# RhodeCode Enterprise documentation build configuration file, created by
# sphinx-quickstart on Tue Nov 4 11:48:37 2014.
#
# This file is execfile()d with the current directory set to its
# containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
# -- Project information -----------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
import sys
import os
import sys
import datetime
import sphinx_rtd_theme
# sphinx injects tags magically during build, we re-define it here to make linters happy
tags = tags # noqa
# 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.
sys.path.insert(0, os.path.abspath('.'))
import common
sys.path.insert(0, os.path.abspath("."))
def _get_version():
with open("../rhodecode/VERSION") as f:
return f.read().strip()
now = datetime.datetime.today()
# The full project version, used as the replacement for |release| and e.g. in the HTML templates.
# For example, for the Python documentation, this may be something like 2.6.0rc1.
# If you dont need the separation provided between version and release, just set them both to the same value.
release = _get_version()
# The major project version, used as the replacement for |version|.
# For example, for the Python documentation, this may be something like 2.6.
version = ".".join(release.split(".", 2)[:2]) # First two parts of release
# General information about the project.
project = "RhodeCode Enterprise"
copyright = f"2010-{now.year}, RhodeCode GmbH"
author = "RhodeCode GmbH"
# -- General configuration ------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
# needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.intersphinx',
'sphinx.ext.todo',
'sphinx.ext.imgmath'
"sphinx.ext.autodoc",
"sphinx.ext.intersphinx",
"sphinx.ext.todo",
"sphinx.ext.imgmath",
]
intersphinx_mapping = {
'enterprise': ('https://docs.rhodecode.com/RhodeCode-Enterprise/', None),
'control': ('https://docs.rhodecode.com/RhodeCode-Control/', None),
"enterprise": ("https://docs.rhodecode.com/RhodeCode-Enterprise/", None),
"rcstack": ("https://docs.rhodecode.com/rcstack/", None),
"control": ("https://docs.rhodecode.com/RhodeCode-Control/", None),
}
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
templates_path = ["_templates"]
# The suffix of source filenames.
source_suffix = '.rst'
source_suffix = ".rst"
# The encoding of source files.
#source_encoding = 'utf-8-sig'
# source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'index'
master_doc = "index"
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
def _get_version():
with open('../rhodecode/VERSION') as f:
return f.read().strip()
# The full version, including alpha/beta/rc tags.
release = _get_version()
# The short X.Y version.
version = '.'.join(release.split('.', 2)[:2]) # First two parts of release
# General information about the project.
project = u'RhodeCode Enterprise %s ' % _get_version()
copyright = u'2010-{now.year}, RhodeCode GmbH'.format(
now=datetime.datetime.today())
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#language = None
# language = None
rst_epilog = common.rst_epilog + """
rst_epilog = """
.. |async| replace:: asynchronous
.. |AE| replace:: Appenlight
.. |authtoken| replace:: Authentication Token
.. |authtokens| replace:: **Auth Tokens**
.. |RCCEshort| replace:: Community
.. |RCEEshort| replace:: Enterprise
.. |git| replace:: Git
.. |hg| replace:: Mercurial
.. |svn| replace:: Subversion
.. |LDAP| replace:: LDAP / Active Directory
.. |os| replace:: operating system
.. |OS| replace:: Operating System
.. |PY| replace:: Python
.. |pr| replace:: pull request
.. |prs| replace:: pull requests
.. |psf| replace:: Python Software Foundation
.. |repo| replace:: repository
.. |repos| replace:: repositories
.. |RCC| replace:: RhodeCode Control
.. |RCE| replace:: RhodeCode Enterprise
.. |RCCE| replace:: RhodeCode Community
.. |RCEE| replace:: RhodeCode Enterprise
.. |RCX| replace:: RhodeCode Extensions
.. |RCT| replace:: RhodeCode Tools
.. |RCEBOLD| replace:: **RhodeCode Enterprise**
.. |RCEITALICS| replace:: `RhodeCode Enterprise`
.. |RNS| replace:: Release Notes
"""
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# today = ''
# Else, today_fmt is used as the format for a strftime call.
#today_fmt = '%B %d, %Y'
# today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = [
# Special directories
'_build',
'result',
"_build",
"result",
# Other RST files
'admin/rhodecode-backup.rst',
'issue-trackers/redmine.rst',
'known-issues/error-msg-guide.rst',
'tutorials/docs-build.rst',
'integrations/example-ext.py',
'collaboration/supported-workflows.rst',
"admin/rhodecode-backup.rst",
"issue-trackers/redmine.rst",
"known-issues/error-msg-guide.rst",
"tutorials/docs-build.rst",
"integrations/example-ext.py",
"collaboration/supported-workflows.rst",
]
# The reST default role (used for this markup: `text`) to use for all
# documents.
#default_role = None
# default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
pygments_style = "sphinx"
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# modindex_common_prefix = []
# If true, keep warnings as "system message" paragraphs in the built documents.
keep_warnings = tags.has("dev")
@ -136,135 +164,138 @@ keep_warnings = tags.has("dev")
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#html_theme = 'rctheme'
html_theme = 'sphinx_rtd_theme'
html_theme = "furo"
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
# html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
html_sidebars = {
'**': ['globaltoc.html'],
}
# html_logo = None
#html_sidebars = {
# "**": ["globaltoc.html"],
#}
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
html_favicon = 'images/favicon.ico'
html_favicon = "images/favicon.ico"
# 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/css/add.css']
html_static_path = ["static/css/add.css"]
# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied
# directly to the root of the documentation.
#html_extra_path = []
# html_extra_path = []
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
html_last_updated_fmt = " %H:%m %b %d, %Y"
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
html_show_sphinx = False
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'rhodecode-enterprise'
htmlhelp_basename = "rhodecode-enterprise"
# -- Options for LaTeX output ---------------------------------------------
latex_elements = {
'classoptions': ',oneside',
'babel': '\\usepackage[english]{babel}',
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
"classoptions": ",oneside",
"babel": "\\usepackage[english]{babel}",
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
('index', 'RhodeCodeEnterprise.tex', u'RhodeCode Enterprise',
u'RhodeCode GmbH', 'manual'),
(
"index",
"RhodeCodeEnterprise.tex",
"RhodeCode Enterprise",
"RhodeCode GmbH",
"manual",
),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# latex_use_parts = False
# If true, show page references after internal links.
latex_show_pagerefs = True
# If true, show URL addresses after external links.
latex_show_urls = 'footnote'
latex_show_urls = "footnote"
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# latex_domain_indices = True
# Mode for literal blocks wider than the frame. Can be
# overflow, shrink or truncate
@ -276,12 +307,11 @@ pdf_fit_mode = "truncate"
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('index', 'rhodecodeenterprise', u'RhodeCode Enterprise',
[u'RhodeCode GmbH'], 1)
("index", "rhodecodeenterprise", "RhodeCode Enterprise", ["RhodeCode GmbH"], 1)
]
# If true, show URL addresses after external links.
#man_show_urls = False
# man_show_urls = False
# -- Options for Texinfo output -------------------------------------------
@ -290,22 +320,28 @@ man_pages = [
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'RhodeCodeEnterprise', u'RhodeCode Enterprise',
u'RhodeCode Docs Team', 'RhodeCodeEnterprise', 'RhodeCode Docs Project',
'Miscellaneous'),
(
"index",
"RhodeCodeEnterprise",
"RhodeCode Enterprise",
"RhodeCode Docs Team",
"RhodeCodeEnterprise",
"RhodeCode Docs Project",
"Miscellaneous",
),
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'
# texinfo_show_urls = 'footnote'
# If true, do not generate a @detailmenu in the "Top" node's menu.
#texinfo_no_detailmenu = False
# texinfo_no_detailmenu = False
# We want to see todo notes in case of a pre-release build of the documentation
todo_include_todos = tags.has("dev")

View file

@ -1,227 +0,0 @@
{ system ? builtins.currentSystem
}:
let
pkgs = import <nixpkgs> { inherit system; };
inherit (pkgs) fetchurl;
buildPythonPackage = pkgs.python27Packages.buildPythonPackage;
python = pkgs.python27Packages.python;
alabaster = buildPythonPackage {
name = "alabaster-0.7.11";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/3f/46/9346ea429931d80244ab7f11c4fce83671df0b7ae5a60247a2b588592c46/alabaster-0.7.11.tar.gz";
sha256 = "1mvm69xsn5xf1jc45kdq1mn0yq0pfn54mv2jcww4s1vwqx6iyfxn";
};
};
babel = buildPythonPackage {
name = "babel-2.6.0";
doCheck = false;
propagatedBuildInputs = [
pytz
];
src = fetchurl {
url = "https://files.pythonhosted.org/packages/be/cc/9c981b249a455fa0c76338966325fc70b7265521bad641bf2932f77712f4/Babel-2.6.0.tar.gz";
sha256 = "08rxmbx2s4irp0w0gmn498vns5xy0fagm0fg33xa772jiks51flc";
};
};
certifi = buildPythonPackage {
name = "certifi-2018.8.24";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/e1/0f/f8d5e939184547b3bdc6128551b831a62832713aa98c2ccdf8c47ecc7f17/certifi-2018.8.24.tar.gz";
sha256 = "0f0nhrj9mlrf79iway4578wrsgmjh0fmacl9zv8zjckdy7b90rip";
};
};
chardet = buildPythonPackage {
name = "chardet-3.0.4";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/fc/bb/a5768c230f9ddb03acc9ef3f0d4a3cf93462473795d18e9535498c8f929d/chardet-3.0.4.tar.gz";
sha256 = "1bpalpia6r5x1kknbk11p1fzph56fmmnp405ds8icksd3knr5aw4";
};
};
docutils = buildPythonPackage {
name = "docutils-0.14";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c/docutils-0.14.tar.gz";
sha256 = "0x22fs3pdmr42kvz6c654756wja305qv6cx1zbhwlagvxgr4xrji";
};
};
idna = buildPythonPackage {
name = "idna-2.7";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/65/c4/80f97e9c9628f3cac9b98bfca0402ede54e0563b56482e3e6e45c43c4935/idna-2.7.tar.gz";
sha256 = "05jam7d31767dr12x0rbvvs8lxnpb1mhdb2zdlfxgh83z6k3hjk8";
};
};
imagesize = buildPythonPackage {
name = "imagesize-1.1.0";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/41/f5/3cf63735d54aa9974e544aa25858d8f9670ac5b4da51020bbfc6aaade741/imagesize-1.1.0.tar.gz";
sha256 = "1dg3wn7qpwmhgqc0r9na2ding1wif9q5spz3j9zn2riwphc2k0zk";
};
};
jinja2 = buildPythonPackage {
name = "jinja2-2.9.6";
doCheck = false;
propagatedBuildInputs = [
markupsafe
];
src = fetchurl {
url = "https://files.pythonhosted.org/packages/90/61/f820ff0076a2599dd39406dcb858ecb239438c02ce706c8e91131ab9c7f1/Jinja2-2.9.6.tar.gz";
sha256 = "1zzrkywhziqffrzks14kzixz7nd4yh2vc0fb04a68vfd2ai03anx";
};
};
markupsafe = buildPythonPackage {
name = "markupsafe-1.0";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz";
sha256 = "0rdn1s8x9ni7ss8rfiacj7x1085lx8mh2zdwqslnw8xc3l4nkgm6";
};
};
packaging = buildPythonPackage {
name = "packaging-17.1";
doCheck = false;
propagatedBuildInputs = [
pyparsing
six
];
src = fetchurl {
url = "https://files.pythonhosted.org/packages/77/32/439f47be99809c12ef2da8b60a2c47987786d2c6c9205549dd6ef95df8bd/packaging-17.1.tar.gz";
sha256 = "0nrpayk8kij1zm9sjnk38ldz3a6705ggvw8ljylqbrb4vmqbf6gh";
};
};
pygments = buildPythonPackage {
name = "pygments-2.2.0";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/71/2a/2e4e77803a8bd6408a2903340ac498cb0a2181811af7c9ec92cb70b0308a/Pygments-2.2.0.tar.gz";
sha256 = "1k78qdvir1yb1c634nkv6rbga8wv4289xarghmsbbvzhvr311bnv";
};
};
pyparsing = buildPythonPackage {
name = "pyparsing-2.2.0";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/3c/ec/a94f8cf7274ea60b5413df054f82a8980523efd712ec55a59e7c3357cf7c/pyparsing-2.2.0.tar.gz";
sha256 = "016b9gh606aa44sq92jslm89bg874ia0yyiyb643fa6dgbsbqch8";
};
};
pytz = buildPythonPackage {
name = "pytz-2018.4";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/10/76/52efda4ef98e7544321fd8d5d512e11739c1df18b0649551aeccfb1c8376/pytz-2018.4.tar.gz";
sha256 = "0jgpqx3kk2rhv81j1izjxvmx8d0x7hzs1857pgqnixic5wq2ar60";
};
};
requests = buildPythonPackage {
name = "requests-2.19.1";
doCheck = false;
propagatedBuildInputs = [
chardet
idna
urllib3
certifi
];
src = fetchurl {
url = "https://files.pythonhosted.org/packages/54/1f/782a5734931ddf2e1494e4cd615a51ff98e1879cbe9eecbdfeaf09aa75e9/requests-2.19.1.tar.gz";
sha256 = "0snf8xxdzsgh1x2zv3vilvbrv9jbpmnfagzzb1rjmmvflckdh8pc";
};
};
six = buildPythonPackage {
name = "six-1.11.0";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz";
sha256 = "1scqzwc51c875z23phj48gircqjgnn3af8zy2izjwmnlxrxsgs3h";
};
};
snowballstemmer = buildPythonPackage {
name = "snowballstemmer-1.2.1";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/20/6b/d2a7cb176d4d664d94a6debf52cd8dbae1f7203c8e42426daa077051d59c/snowballstemmer-1.2.1.tar.gz";
sha256 = "0a0idq4y5frv7qsg2x62jd7rd272749xk4x99misf5rcifk2d7wi";
};
};
sphinx = buildPythonPackage {
name = "sphinx-1.7.8";
doCheck = false;
propagatedBuildInputs = [
six
jinja2
pygments
docutils
snowballstemmer
babel
alabaster
imagesize
requests
setuptools
packaging
sphinxcontrib-websupport
typing
];
src = fetchurl {
url = "https://files.pythonhosted.org/packages/ac/54/4ef326d0c654da1ed91341a7a1f43efc18a8c770ddd2b8e45df97cb79d82/Sphinx-1.7.8.tar.gz";
sha256 = "1ryz0w4c31930f1br2sjwrxwx9cmsy7cqdb0d81g98n9bj250w50";
};
};
sphinx-rtd-theme = buildPythonPackage {
name = "sphinx-rtd-theme-0.4.1";
doCheck = false;
propagatedBuildInputs = [
sphinx
];
src = fetchurl {
url = "https://files.pythonhosted.org/packages/f2/b0/a1933d792b806118ddbca6699f2e2c844d9b1b16e84a89d7effd5cd2a800/sphinx_rtd_theme-0.4.1.tar.gz";
sha256 = "1xkyqam8dzbjaymdyvkiif85m4y3jf8crdiwlgcfp8gqcj57aj9v";
};
};
sphinxcontrib-websupport = buildPythonPackage {
name = "sphinxcontrib-websupport-1.1.0";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/07/7a/e74b06dce85555ffee33e1d6b7381314169ebf7e31b62c18fcb2815626b7/sphinxcontrib-websupport-1.1.0.tar.gz";
sha256 = "1ff3ix76xi1y6m99qxhaq5161ix9swwzydilvdya07mgbcvpzr4x";
};
};
typing = buildPythonPackage {
name = "typing-3.6.6";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/bf/9b/2bf84e841575b633d8d91ad923e198a415e3901f228715524689495b4317/typing-3.6.6.tar.gz";
sha256 = "0ba9acs4awx15bf9v3nrs781msbd2nx826906nj6fqks2bvca9s0";
};
};
"urllib3" = super.buildPythonPackage {
name = "urllib3-1.25.2";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/9a/8b/ea6d2beb2da6e331e9857d0a60b79ed4f72dcbc4e2c7f2d2521b0480fda2/urllib3-1.25.2.tar.gz";
sha256 = "1nq2k4pss1ihsjh02r41sqpjpm5rfqkjfysyq7g7n2i1p7c66c55";
};
};
# Avoid that setuptools is replaced, this leads to trouble
# with buildPythonPackage.
setuptools = pkgs.python27Packages.setuptools;
in python.buildEnv.override {
inherit python;
extraLibs = [
sphinx
sphinx-rtd-theme
];
}

View file

@ -1,3 +0,0 @@
[pip2nix]
requirements = -r ./requirements_docs.txt
output = ./python-packages-generated.nix

View file

@ -1,221 +0,0 @@
# Generated by pip2nix 0.8.0.dev1
# See https://github.com/johbo/pip2nix
{ pkgs, fetchurl, fetchgit, fetchhg }:
self: super: {
"alabaster" = super.buildPythonPackage {
name = "alabaster-0.7.12";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/cc/b4/ed8dcb0d67d5cfb7f83c4d5463a7614cb1d078ad7ae890c9143edebbf072/alabaster-0.7.12.tar.gz";
sha256 = "00nwwjj2d2ym4s2kk217x7jkx1hnczc3fvm8yxbqmsp6b0nxfqd6";
};
};
"babel" = super.buildPythonPackage {
name = "babel-2.6.0";
doCheck = false;
propagatedBuildInputs = [
self."pytz"
];
src = fetchurl {
url = "https://files.pythonhosted.org/packages/be/cc/9c981b249a455fa0c76338966325fc70b7265521bad641bf2932f77712f4/Babel-2.6.0.tar.gz";
sha256 = "08rxmbx2s4irp0w0gmn498vns5xy0fagm0fg33xa772jiks51flc";
};
};
"certifi" = super.buildPythonPackage {
name = "certifi-2018.11.29";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/55/54/3ce77783acba5979ce16674fc98b1920d00b01d337cfaaf5db22543505ed/certifi-2018.11.29.tar.gz";
sha256 = "1dvccavd2fzq4j37w0sznylp92ps14zi6gvlxzm23in0yhzciya7";
};
};
"chardet" = super.buildPythonPackage {
name = "chardet-3.0.4";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/fc/bb/a5768c230f9ddb03acc9ef3f0d4a3cf93462473795d18e9535498c8f929d/chardet-3.0.4.tar.gz";
sha256 = "1bpalpia6r5x1kknbk11p1fzph56fmmnp405ds8icksd3knr5aw4";
};
};
"docutils" = super.buildPythonPackage {
name = "docutils-0.14";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c/docutils-0.14.tar.gz";
sha256 = "0x22fs3pdmr42kvz6c654756wja305qv6cx1zbhwlagvxgr4xrji";
};
};
"idna" = super.buildPythonPackage {
name = "idna-2.7";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/65/c4/80f97e9c9628f3cac9b98bfca0402ede54e0563b56482e3e6e45c43c4935/idna-2.7.tar.gz";
sha256 = "05jam7d31767dr12x0rbvvs8lxnpb1mhdb2zdlfxgh83z6k3hjk8";
};
};
"imagesize" = super.buildPythonPackage {
name = "imagesize-1.1.0";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/41/f5/3cf63735d54aa9974e544aa25858d8f9670ac5b4da51020bbfc6aaade741/imagesize-1.1.0.tar.gz";
sha256 = "1dg3wn7qpwmhgqc0r9na2ding1wif9q5spz3j9zn2riwphc2k0zk";
};
};
"jinja2" = super.buildPythonPackage {
name = "jinja2-2.9.6";
doCheck = false;
propagatedBuildInputs = [
self."markupsafe"
];
src = fetchurl {
url = "https://files.pythonhosted.org/packages/90/61/f820ff0076a2599dd39406dcb858ecb239438c02ce706c8e91131ab9c7f1/Jinja2-2.9.6.tar.gz";
sha256 = "1zzrkywhziqffrzks14kzixz7nd4yh2vc0fb04a68vfd2ai03anx";
};
};
"markupsafe" = super.buildPythonPackage {
name = "markupsafe-1.0";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/MarkupSafe-1.0.tar.gz";
sha256 = "0rdn1s8x9ni7ss8rfiacj7x1085lx8mh2zdwqslnw8xc3l4nkgm6";
};
};
"packaging" = super.buildPythonPackage {
name = "packaging-18.0";
doCheck = false;
propagatedBuildInputs = [
self."pyparsing"
self."six"
];
src = fetchurl {
url = "https://files.pythonhosted.org/packages/cf/50/1f10d2626df0aa97ce6b62cf6ebe14f605f4e101234f7748b8da4138a8ed/packaging-18.0.tar.gz";
sha256 = "01wq9c53ix5rz6qg2c98gy8n4ff768rmanifm8m5jpjiaizj51h8";
};
};
"pygments" = super.buildPythonPackage {
name = "pygments-2.3.0";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/63/a2/91c31c4831853dedca2a08a0f94d788fc26a48f7281c99a303769ad2721b/Pygments-2.3.0.tar.gz";
sha256 = "1z34ms51dh4jq4h3cizp7vd1dmsxcbvffkjsd2xxfav22nn6lrl2";
};
};
"pyparsing" = super.buildPythonPackage {
name = "pyparsing-2.3.0";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/d0/09/3e6a5eeb6e04467b737d55f8bba15247ac0876f98fae659e58cd744430c6/pyparsing-2.3.0.tar.gz";
sha256 = "14k5v7n3xqw8kzf42x06bzp184spnlkya2dpjyflax6l3yrallzk";
};
};
"pytz" = super.buildPythonPackage {
name = "pytz-2018.4";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/10/76/52efda4ef98e7544321fd8d5d512e11739c1df18b0649551aeccfb1c8376/pytz-2018.4.tar.gz";
sha256 = "0jgpqx3kk2rhv81j1izjxvmx8d0x7hzs1857pgqnixic5wq2ar60";
};
};
"requests" = super.buildPythonPackage {
name = "requests-2.20.1";
doCheck = false;
propagatedBuildInputs = [
self."chardet"
self."idna"
self."urllib3"
self."certifi"
];
src = fetchurl {
url = "https://files.pythonhosted.org/packages/40/35/298c36d839547b50822985a2cf0611b3b978a5ab7a5af5562b8ebe3e1369/requests-2.20.1.tar.gz";
sha256 = "0qzj6cgv3k9wyj7wlxgz7xq0cfg4jbbkfm24pp8dnhczwl31527a";
};
};
"setuptools" = super.buildPythonPackage {
name = "setuptools-40.6.2";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/b0/d1/8acb42f391cba52e35b131e442e80deffbb8d0676b93261d761b1f0ef8fb/setuptools-40.6.2.zip";
sha256 = "0r2c5hapirlzm34h7pl1lgkm6gk7bcrlrdj28qgsvaqg3f74vfw6";
};
};
"six" = super.buildPythonPackage {
name = "six-1.11.0";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/16/d8/bc6316cf98419719bd59c91742194c111b6f2e85abac88e496adefaf7afe/six-1.11.0.tar.gz";
sha256 = "1scqzwc51c875z23phj48gircqjgnn3af8zy2izjwmnlxrxsgs3h";
};
};
"snowballstemmer" = super.buildPythonPackage {
name = "snowballstemmer-1.2.1";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/20/6b/d2a7cb176d4d664d94a6debf52cd8dbae1f7203c8e42426daa077051d59c/snowballstemmer-1.2.1.tar.gz";
sha256 = "0a0idq4y5frv7qsg2x62jd7rd272749xk4x99misf5rcifk2d7wi";
};
};
"sphinx" = super.buildPythonPackage {
name = "sphinx-1.8.2";
doCheck = false;
propagatedBuildInputs = [
self."six"
self."jinja2"
self."pygments"
self."docutils"
self."snowballstemmer"
self."babel"
self."alabaster"
self."imagesize"
self."requests"
self."setuptools"
self."packaging"
self."sphinxcontrib-websupport"
self."typing"
];
src = fetchurl {
url = "https://files.pythonhosted.org/packages/4c/ea/7388faba7cf02999e1bc42f6a8eb1ea0120aec3dd93474cee21cea2d693f/Sphinx-1.8.2.tar.gz";
sha256 = "1sia2h5rfzy76rbsd69ghr8bbidhsjzzinf3f523dcmivp5k41qj";
};
};
"sphinx-rtd-theme" = super.buildPythonPackage {
name = "sphinx-rtd-theme-0.4.1";
doCheck = false;
propagatedBuildInputs = [
self."sphinx"
];
src = fetchurl {
url = "https://files.pythonhosted.org/packages/f2/b0/a1933d792b806118ddbca6699f2e2c844d9b1b16e84a89d7effd5cd2a800/sphinx_rtd_theme-0.4.1.tar.gz";
sha256 = "1xkyqam8dzbjaymdyvkiif85m4y3jf8crdiwlgcfp8gqcj57aj9v";
};
};
"sphinxcontrib-websupport" = super.buildPythonPackage {
name = "sphinxcontrib-websupport-1.1.0";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/07/7a/e74b06dce85555ffee33e1d6b7381314169ebf7e31b62c18fcb2815626b7/sphinxcontrib-websupport-1.1.0.tar.gz";
sha256 = "1ff3ix76xi1y6m99qxhaq5161ix9swwzydilvdya07mgbcvpzr4x";
};
};
"typing" = super.buildPythonPackage {
name = "typing-3.6.6";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/bf/9b/2bf84e841575b633d8d91ad923e198a415e3901f228715524689495b4317/typing-3.6.6.tar.gz";
sha256 = "0ba9acs4awx15bf9v3nrs781msbd2nx826906nj6fqks2bvca9s0";
};
};
"urllib3" = super.buildPythonPackage {
name = "urllib3-1.25.2";
doCheck = false;
src = fetchurl {
url = "https://files.pythonhosted.org/packages/9a/8b/ea6d2beb2da6e331e9857d0a60b79ed4f72dcbc4e2c7f2d2521b0480fda2/urllib3-1.25.2.tar.gz";
sha256 = "1nq2k4pss1ihsjh02r41sqpjpm5rfqkjfysyq7g7n2i1p7c66c55";
};
};
### Test requirements
}

View file

@ -1,7 +1,11 @@
sphinx==1.8.2
six==1.11.0
sphinx_rtd_theme==0.4.1
docutils==0.16.0
pygments==2.3.0
markupsafe==1.0.0
jinja2==2.9.6
sphinx==7.2.6
furo==2023.9.10
sphinx-press-theme==0.8.0
sphinx-rtd-theme==1.3.0
pygments==2.16.1
docutils<0.19
markupsafe==2.1.3
jinja2==3.1.2