feat(docs): new docs build logic
- remove nix - use docker container - install latest google analytics
This commit is contained in:
parent
95a81d966d
commit
42606f970b
16 changed files with 506 additions and 651 deletions
6
Makefile
6
Makefile
|
|
@ -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
|
||||
|
|
|
|||
13
docs/.howto
13
docs/.howto
|
|
@ -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
5
docs/Dockerfile
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
FROM sphinxdoc/sphinx
|
||||
|
||||
WORKDIR /project
|
||||
ADD requirements_docs.txt /project
|
||||
RUN pip3 install -r requirements_docs.txt
|
||||
|
|
@ -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
117
docs/_templates/base.html
vendored
Normal 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>
|
||||
6
docs/_templates/footer.html
vendored
6
docs/_templates/footer.html
vendored
|
|
@ -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 %}
|
||||
18
docs/_templates/layout.html
vendored
18
docs/_templates/layout.html
vendored
|
|
@ -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
204
docs/_templates/page.html
vendored
Normal 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> © {{ copyright }}
|
||||
{%- endtrans %}
|
||||
{%- else %}
|
||||
{% trans copyright=copyright|e -%}
|
||||
Copyright © {{ 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 %}
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
'''
|
||||
270
docs/conf.py
270
docs/conf.py
|
|
@ -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 don’t 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")
|
||||
|
|
|
|||
227
docs/default.nix
227
docs/default.nix
|
|
@ -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
|
||||
];
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
[pip2nix]
|
||||
requirements = -r ./requirements_docs.txt
|
||||
output = ./python-packages-generated.nix
|
||||
|
|
@ -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
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue