openstackdocstheme
Advanced tools
| --- | ||
| features: | ||
| - Add an optional project-scoped search bar to the sidebar. Updated OpenStack/StarlingX | ||
| wide search placeholder to "Global Search" for clarity. |
| --- | ||
| upgrade: | ||
| - | | ||
| Support for Python 3.8 and 3.9 has been removed. Now the minimum Python | ||
| version supported is 3.10. |
| repos: | ||
| - repo: https://github.com/pre-commit/pre-commit-hooks | ||
| rev: v4.6.0 | ||
| rev: v6.0.0 | ||
| hooks: | ||
| - id: trailing-whitespace | ||
| # Replaces or checks mixed line ending | ||
| - id: mixed-line-ending | ||
| args: ['--fix', 'lf'] | ||
| exclude: '.*\.(svg)$' | ||
| # Forbid files which have a UTF-8 byte-order marker | ||
| - id: check-byte-order-marker | ||
| # Checks that non-binary executables have a proper shebang | ||
| - id: fix-byte-order-marker | ||
| - id: check-executables-have-shebangs | ||
| # Check for files that contain merge conflict strings. | ||
| - id: check-merge-conflict | ||
| # Check for debugger imports and py37+ breakpoint() | ||
| # calls in python source | ||
| - id: debug-statements | ||
@@ -22,9 +16,9 @@ - id: check-yaml | ||
| - repo: https://github.com/astral-sh/ruff-pre-commit | ||
| rev: v0.6.2 | ||
| rev: v0.14.13 | ||
| hooks: | ||
| - id: ruff | ||
| - id: ruff-check | ||
| args: ['--fix'] | ||
| - id: ruff-format | ||
| - repo: https://opendev.org/openstack/hacking | ||
| rev: 7.0.0 | ||
| rev: 8.0.0 | ||
| hooks: | ||
@@ -31,0 +25,0 @@ - id: hacking |
@@ -1,2 +0,1 @@ | ||
| # -*- coding: utf-8 -*- | ||
| # Copyright (C) 2020 Red Hat, Inc. | ||
@@ -3,0 +2,0 @@ # |
+1
-0
@@ -38,2 +38,3 @@ Akihiro Motoki <amotoki@gmail.com> | ||
| Ildiko Vancsa <ildiko.vancsa@gmail.com> | ||
| Ivan Anfimov <lazekteam@gmail.com> | ||
| Jacky Hu <hudayou@hotmail.com> | ||
@@ -40,0 +41,0 @@ James E. Blair <jeblair@redhat.com> |
+1
-1
@@ -38,2 +38,2 @@ # This is a cross-platform list tracking distribution packages needed by tests; | ||
| graphviz [doc test] | ||
| libpcre3-dev [platform:dpkg test] | ||
| libpcre2-dev [platform:dpkg test] |
@@ -1,2 +0,1 @@ | ||
| # -*- coding: utf-8 -*- | ||
| # Copyright (C) 2020 Red Hat, Inc. | ||
@@ -3,0 +2,0 @@ # |
@@ -173,2 +173,11 @@ ========================= | ||
| The search bar in the sidebar is disabled by default. To enable it, set | ||
| the ``sidebar_search`` option to ``True`` for project-scoped search:: | ||
| html_theme_options = { | ||
| # ... | ||
| "sidebar_search": True, | ||
| # ... | ||
| } | ||
| If you are using this theme for documentation you want to release based on git | ||
@@ -175,0 +184,0 @@ tags on your repository, set the release dropdown menu option in the |
@@ -1,1 +0,1 @@ | ||
| {"git_version": "1d5cb6f", "is_release": true} | ||
| {"git_version": "57ac1e6", "is_release": true} |
@@ -1,8 +0,9 @@ | ||
| Metadata-Version: 2.1 | ||
| Metadata-Version: 2.4 | ||
| Name: openstackdocstheme | ||
| Version: 3.5.0 | ||
| Version: 3.6.0 | ||
| Summary: OpenStack Docs Theme | ||
| Home-page: https://docs.openstack.org/openstackdocstheme/latest/ | ||
| Author: OpenStack | ||
| Author-email: openstack-discuss@lists.openstack.org | ||
| Author-email: OpenStack <openstack-discuss@lists.openstack.org> | ||
| License: Apache-2.0 | ||
| Project-URL: Homepage, https://docs.openstack.org/openstackdocstheme | ||
| Project-URL: Repository, https://opendev.org/openstack/openstackdocstheme | ||
| Classifier: Environment :: OpenStack | ||
@@ -15,27 +16,23 @@ Classifier: Intended Audience :: Information Technology | ||
| Classifier: Programming Language :: Python :: 3 | ||
| Classifier: Programming Language :: Python :: 3.8 | ||
| Classifier: Programming Language :: Python :: 3.9 | ||
| Classifier: Programming Language :: Python :: 3.10 | ||
| Classifier: Programming Language :: Python :: 3.11 | ||
| Classifier: Programming Language :: Python :: 3.12 | ||
| Classifier: Programming Language :: Python :: 3 :: Only | ||
| Classifier: Programming Language :: Python :: 3.13 | ||
| Classifier: Topic :: Documentation | ||
| Requires-Python: >=3.8 | ||
| Classifier: Typing :: Typed | ||
| Requires-Python: >=3.10 | ||
| Description-Content-Type: text/x-rst | ||
| License-File: LICENSE | ||
| Requires-Dist: pbr!=2.1.0,>=2.0.0 | ||
| Requires-Dist: dulwich>=0.15.0 | ||
| Requires-Dist: sphinx>=6.0.0 | ||
| Requires-Dist: sphinx>=8.0.0 | ||
| Dynamic: license-file | ||
| Dynamic: requires-dist | ||
| ======================== | ||
| Team and repository tags | ||
| ======================== | ||
| ========================================== | ||
| Open Infrastructure Projects Sphinx Themes | ||
| ========================================== | ||
| .. image:: https://governance.openstack.org/tc/badges/openstackdocstheme.svg | ||
| :target: https://governance.openstack.org/tc/reference/tags/index.html | ||
| .. Change things from this point on | ||
| Open Infrastructure Projects Sphinx Themes | ||
| ========================================== | ||
| Theme and extension support for Sphinx documentation that is published by | ||
@@ -55,3 +52,3 @@ Open Infrastructure Foundation projects. | ||
| StarlingX docs.starlingx.io Sphinx Theme | ||
| ----------------------------------------- | ||
| ---------------------------------------- | ||
@@ -73,2 +70,1 @@ Theme support for Sphinx documentation that is published to | ||
| * Bugs: https://launchpad.net/openstack-doc-tools | ||
| pbr!=2.1.0,>=2.0.0 | ||
| dulwich>=0.15.0 | ||
| sphinx>=6.0.0 | ||
| sphinx>=8.0.0 |
@@ -46,2 +46,3 @@ .pre-commit-config.yaml | ||
| openstackdocstheme/paths.py | ||
| openstackdocstheme/py.typed | ||
| openstackdocstheme/version.py | ||
@@ -150,2 +151,3 @@ openstackdocstheme.egg-info/PKG-INFO | ||
| releasenotes/notes/add-reno-8da9bd3ccb7bbeab.yaml | ||
| releasenotes/notes/add-sidebar-search-0e62a9438dca8309.yaml | ||
| releasenotes/notes/add-starlingxdocs-10a33318f8630486.yaml | ||
@@ -176,2 +178,3 @@ releasenotes/notes/add-translations-9238b0f56b677a6b.yaml | ||
| releasenotes/notes/pdf_link-c6b0ed36dd12b0ef.yaml | ||
| releasenotes/notes/remove-py38-py39-3d46233c4a0a859a.yaml | ||
| releasenotes/notes/renamed-opts-bbf5d1390ed6ba71.yaml | ||
@@ -178,0 +181,0 @@ releasenotes/notes/side-bar-config-d7e66388e252cadf.yaml |
@@ -15,2 +15,6 @@ # Copyright 2018 Red Hat, Inc. | ||
| from typing import Any | ||
| from sphinx import application | ||
| from . import ext | ||
@@ -25,3 +29,3 @@ from . import page_context | ||
| def setup(app): | ||
| def setup(app: application.Sphinx) -> dict[str, Any]: | ||
| ext.setup(app) | ||
@@ -28,0 +32,0 @@ page_context.setup(app) |
@@ -19,5 +19,10 @@ # Copyright 2015 Rackspace US, Inc. | ||
| import textwrap | ||
| from typing import Any | ||
| from docutils import nodes | ||
| import dulwich.errors | ||
| import dulwich.repo | ||
| from pbr import packaging | ||
| from sphinx import application | ||
| from sphinx.config import Config | ||
| from sphinx.ext import extlinks | ||
@@ -29,6 +34,6 @@ from sphinx.util import logging | ||
| _series = None | ||
| _project = None | ||
| _series: str | None = None | ||
| _project: str | None = None | ||
| _giturl = 'https://opendev.org/{}/src/{}' | ||
| _html_context_data = None | ||
| _html_context_data: dict[str, Any] | None = None | ||
@@ -38,11 +43,11 @@ logger = logging.getLogger(__name__) | ||
| def _has_stable_branches(): | ||
| def _has_stable_branches() -> bool: | ||
| try: | ||
| repo = dulwich.repo.Repo.discover() | ||
| except dulwich.repo.NotGitRepository: | ||
| repo = dulwich.repo.Repo.discover() # type: ignore[no-untyped-call] | ||
| except dulwich.errors.NotGitRepository: | ||
| return False | ||
| refs = repo.get_refs() | ||
| for ref in refs.keys(): | ||
| ref = ref.decode('utf-8') | ||
| for ref_bytes in refs.keys(): | ||
| ref = ref_bytes.decode('utf-8') | ||
| if ref.startswith('refs/remotes/origin/stable'): | ||
@@ -54,3 +59,3 @@ return True | ||
| def _ref_sort_key(ref): | ||
| def _ref_sort_key(ref: str) -> str: | ||
| # note(frickler): make sure to sort series like 2023.1 after zed | ||
@@ -62,10 +67,10 @@ if ref.startswith("2"): | ||
| def _get_other_versions(app): | ||
| def _get_other_versions(app: application.Sphinx) -> list[str]: | ||
| if not app.config.html_theme_options.get('show_other_versions', False): | ||
| return [] | ||
| all_series = [] | ||
| all_series: list[str] = [] | ||
| try: | ||
| repo = dulwich.repo.Repo.discover() | ||
| except dulwich.repo.NotGitRepository: | ||
| repo = dulwich.repo.Repo.discover() # type: ignore[no-untyped-call] | ||
| except dulwich.errors.NotGitRepository: | ||
| return [] | ||
@@ -109,3 +114,3 @@ | ||
| def _get_doc_path(app): | ||
| def _get_doc_path(app: application.Sphinx) -> str | None: | ||
| # Handle 'doc/{docType}/source' paths | ||
@@ -124,6 +129,12 @@ doc_parts = os.path.abspath(app.srcdir).split(os.sep)[-3:] | ||
| ) | ||
| return | ||
| return None | ||
| def _html_page_context(app, pagename, templatename, context, doctree): | ||
| def _html_page_context( | ||
| app: application.Sphinx, | ||
| pagename: str, | ||
| templatename: str, | ||
| context: dict[str, Any], | ||
| doctree: nodes.document | None, | ||
| ) -> None: | ||
| global _html_context_data | ||
@@ -291,3 +302,3 @@ if _html_context_data is None: | ||
| def _get_series_name(): | ||
| def _get_series_name() -> str: | ||
| "Return string name of release series, or 'latest'" | ||
@@ -327,9 +338,7 @@ global _series | ||
| def _setup_link_roles(app): | ||
| def _setup_link_roles(app: application.Sphinx) -> None: | ||
| series = _get_series_name() | ||
| for project_name in app.config.openstackdocs_projects: | ||
| url = 'https://docs.openstack.org/{}/{}/%s'.format( | ||
| project_name, series | ||
| ) | ||
| role_name = '{}-doc'.format(project_name) | ||
| url = f'https://docs.openstack.org/{project_name}/{series}/%s' | ||
| role_name = f'{project_name}-doc' | ||
| logger.debug( | ||
@@ -346,3 +355,3 @@ '[openstackdocstheme] adding role %s to link to %s', | ||
| def _find_setup_cfg(srcdir): | ||
| def _find_setup_cfg(srcdir: str | os.PathLike[str]) -> str | None: | ||
| """Find the 'setup.cfg' file, if it exists. | ||
@@ -366,3 +375,3 @@ | ||
| def _get_project_name(srcdir): | ||
| def _get_project_name(srcdir: str | os.PathLike[str]) -> str | None: | ||
| """Return string name of project name, or None. | ||
@@ -405,3 +414,3 @@ | ||
| def _config_inited(app, config): | ||
| def _config_inited(app: application.Sphinx, config: Config) -> None: | ||
| if config.openstack_projects is not None: | ||
@@ -454,4 +463,5 @@ logger.info( | ||
| logger.debug( | ||
| f'[openstackdocstheme] auto-versioning disabled (doc name ' | ||
| f'contains {doc_parts[0]}' | ||
| '[openstackdocstheme] auto-versioning disabled (doc name ' | ||
| 'contains %s)', | ||
| doc_parts[0], | ||
| ) | ||
@@ -482,3 +492,3 @@ auto_version = False | ||
| def _builder_inited(app): | ||
| def _builder_inited(app: application.Sphinx) -> None: | ||
| theme_dir = paths.get_html_theme_path() | ||
@@ -524,3 +534,3 @@ logger.info('[openstackdocstheme] using theme from %s', theme_dir) | ||
| def setup(app): | ||
| def setup(app: application.Sphinx) -> dict[str, Any]: | ||
| logger.info( | ||
@@ -527,0 +537,0 @@ '[openstackdocstheme] version: %s', |
@@ -18,4 +18,6 @@ # Licensed under the Apache License, Version 2.0 (the "License"); you may | ||
| import time | ||
| from typing import Any | ||
| import sphinx | ||
| from docutils import nodes | ||
| from sphinx import application | ||
| from sphinx.util import logging | ||
@@ -28,6 +30,8 @@ | ||
| _timeint = int(os.environ.get('SOURCE_DATE_EPOCH', time.time())) | ||
| _default_last_updated = datetime.datetime.utcfromtimestamp(_timeint) | ||
| _default_last_updated = datetime.datetime.fromtimestamp( | ||
| _timeint, tz=datetime.timezone.utc | ||
| ).replace(tzinfo=None) | ||
| def _get_last_updated_file(src_file): | ||
| def _get_last_updated_file(src_file: str) -> datetime.datetime | None: | ||
| if not os.path.exists(src_file): | ||
@@ -77,18 +81,13 @@ return None | ||
| def _get_last_updated(app, pagename): | ||
| def _get_last_updated( | ||
| app: application.Sphinx, pagename: str | ||
| ) -> datetime.datetime: | ||
| last_updated = None | ||
| full_src_file = app.builder.env.doc2path(pagename) | ||
| candidates = [] | ||
| candidates: list[str] = [] | ||
| # Strip the prefix from the filename so the git command recognizes | ||
| # the file as part of the current repository. | ||
| # NOTE(sean-k-mooney): on python 3.9 we clamp sphinx to <8 | ||
| # app.builder.env.srcdir is a string on py39 | ||
| if sphinx.version_info >= (8, 0): | ||
| src_file = str(full_src_file.relative_to(app.builder.env.srcdir)) | ||
| else: # Sphinx < 8.0 | ||
| src_file = full_src_file[len(str(app.builder.env.srcdir)) :].lstrip( | ||
| '/' | ||
| ) | ||
| src_file = str(full_src_file.relative_to(app.builder.env.srcdir)) | ||
| candidates.append(src_file) | ||
@@ -122,3 +121,9 @@ | ||
| def html_page_context(app, pagename, templatename, context, doctree): | ||
| def html_page_context( | ||
| app: application.Sphinx, | ||
| pagename: str, | ||
| templatename: str, | ||
| context: dict[str, Any], | ||
| doctree: nodes.document | None, | ||
| ) -> None: | ||
| # Use the last modified date from git instead of applying a single | ||
@@ -129,3 +134,3 @@ # value to the entire site. | ||
| def setup(app): | ||
| def setup(app: application.Sphinx) -> dict[str, Any]: | ||
| LOG.info('[openstackdocstheme] connecting html-page-context event handler') | ||
@@ -132,0 +137,0 @@ app.connect('html-page-context', html_page_context) |
@@ -18,7 +18,7 @@ # Copyright 2018 Red Hat, Inc. | ||
| def get_pkg_path(): | ||
| def get_pkg_path() -> str: | ||
| return os.path.abspath(os.path.dirname(__file__)) | ||
| def get_html_theme_path(): | ||
| def get_html_theme_path() -> str: | ||
| """Return the directory containing HTML theme for local builds.""" | ||
@@ -28,3 +28,3 @@ return os.path.join(get_pkg_path(), 'theme') | ||
| def get_pdf_theme_path(theme='openstackdocs'): | ||
| def get_pdf_theme_path(theme: str = 'openstackdocs') -> str: | ||
| """Return the directory containing PDF theme for local builds.""" | ||
@@ -35,3 +35,3 @@ args = ['theme', theme + '_pdf', 'pdftheme'] | ||
| def get_theme_logo_path(theme='openstackdocs'): | ||
| def get_theme_logo_path(theme: str = 'openstackdocs') -> str: | ||
| """Return the directory containing theme logo for local builds.""" | ||
@@ -43,4 +43,4 @@ args = ['theme', theme + '_pdf', 'logo-full.png'] | ||
| # This function is for compatibility with previous releases. | ||
| def get_openstack_logo_path(): | ||
| def get_openstack_logo_path() -> str: | ||
| """Return the directory containing OpenStack logo for local builds.""" | ||
| return get_theme_logo_path('openstackdocs') |
@@ -15,8 +15,1 @@ <!-- Bootstrap CSS --> | ||
| <link href="{{pathto('_static/pygments.css', 1)}}" rel="stylesheet"> | ||
| <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> | ||
| <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> | ||
| <!--[if lt IE 9]> | ||
| <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> | ||
| <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> | ||
| <![endif]--> |
@@ -20,3 +20,3 @@ {% if page_source_suffix %}{# an input file was read #} | ||
| </button> | ||
| <div class="search-icon show"><i class="fa fa-search"></i> Search</div> | ||
| <div class="search-icon show"><i class="fa fa-search"></i> Global Search</div> | ||
| <div class="collapse navbar-collapse" id="navbar-main-1"> | ||
@@ -68,3 +68,3 @@ {% include 'os_search.html' %} | ||
| <li><a class="dropdown-item" href="{{osf_base_url}}/community/speakers/">Speakers Bureau</a></li> | ||
| <li><a class="dropdown-item" href="http://wiki.openstack.org">OpenStack Wiki</a></li> | ||
| <li><a class="dropdown-item" href="https://wiki.openstack.org">OpenStack Wiki</a></li> | ||
| <li><a class="dropdown-item" href="{{osf_base_url}}/coa/">Get Certified (COA)</a></li> | ||
@@ -74,3 +74,3 @@ <li><a class="dropdown-item" href="{{osf_base_url}}/community/jobs/">Jobs</a></li> | ||
| <li><a class="dropdown-item" href="{{osf_base_url}}/news/">Community News</a></li> | ||
| <li><a class="dropdown-item" href="http://superuser.openstack.org">Superuser Magazine</a></li> | ||
| <li><a class="dropdown-item" href="https://superuser.openstack.org">Superuser Magazine</a></li> | ||
| <li><hr class="dropdown-divider"></li> | ||
@@ -97,3 +97,3 @@ <li><a class="dropdown-item" href="{{osf_base_url}}/community/supporting-organizations/">OpenInfra Foundation Supporting Organizations</a></li> | ||
| <li class="nav-item"><!-- Docs --> | ||
| <a class="nav-link" href="http://docs.openstack.org/">Docs</a> | ||
| <a class="nav-link" href="https://docs.openstack.org/">Docs</a> | ||
| </li> | ||
@@ -100,0 +100,0 @@ <li class="nav-item dropdown join-nav-section"> <!-- Join --> |
@@ -7,13 +7,10 @@ {% extends "basic/layout.html" %} | ||
| {% if theme_analytics_tracking_code %} | ||
| <!-- Google Analytics --> | ||
| <!-- Google tag (gtag.js) --> | ||
| <script async src="https://www.googletagmanager.com/gtag/js?id={{ theme_analytics_tracking_code }}"> | ||
| </script> | ||
| <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', '{{ theme_analytics_tracking_code }}', 'auto'); | ||
| ga('send', 'pageview'); | ||
| window.dataLayer = window.dataLayer || []; | ||
| function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); | ||
| gtag('config', '{{ theme_analytics_tracking_code }}'); | ||
| </script> | ||
| <!-- End Google Analytics --> | ||
| {% endif %} | ||
@@ -20,0 +17,0 @@ {% endblock %} |
@@ -15,2 +15,8 @@ <div class="col-lg-3 col-md-4 col-sm-4 col-lg-pull-9 col-md-pull-8 col-sm-pull-8 order-1 docs-sidebar"> | ||
| <a href="{{ pathto(master_doc) }}" class="docs-sidebar-section-title"><h4>{{project}} {{version}}</h4></a> | ||
| {%- if theme_sidebar_search|tobool %} | ||
| <form action="{{ pathto('search') }}" method="get" class="input-group input-group-sm ps-3 pe-2 pb-3"> | ||
| <input class="form-control" type="text" name="q" value="" placeholder="{% trans %}Search in {{project}}{% endtrans %}" aria-label="{% trans %}Search{% endtrans %}"> | ||
| <button class="btn btn-outline-secondary" type="submit"><i class="fa fa-search"></i></button> | ||
| </form> | ||
| {%- endif %} | ||
| {%- if theme_sidebar_mode == 'toc' %} | ||
@@ -17,0 +23,0 @@ {{ toc }} |
@@ -40,18 +40,1 @@ | ||
| }); | ||
| // Remove Search text in smaller browser windows | ||
| jQuery(document).ready(function(){ | ||
| if (jQuery(window).width() < 1050) { | ||
| $('#search-label').text(''); | ||
| } else { | ||
| $('#search-label').text('Search'); | ||
| } | ||
| }); | ||
| jQuery(window).resize(function () { | ||
| if (jQuery(window).width() < 1050) { | ||
| $('#search-label').text(''); | ||
| } else { | ||
| $('#search-label').text('Search'); | ||
| } | ||
| }); | ||
@@ -7,3 +7,3 @@ [theme] | ||
| [options] | ||
| analytics_tracking_code = UA-17511903-1 | ||
| analytics_tracking_code = G-DD299CMF7V | ||
| sidebar_mode = toctree | ||
@@ -17,1 +17,2 @@ display_badge = True | ||
| earliest_published_series = mitaka | ||
| sidebar_search = False |
@@ -18,3 +18,3 @@ {% if page_source_suffix %}{# an input file was read #} | ||
| </button> | ||
| <div class="search-icon show"><i class="fa fa-search"></i> Search</div> | ||
| <div class="search-icon show"><i class="fa fa-search"></i> Global Search</div> | ||
| <div class="collapse navbar-collapse" id="navbar-main-1"> | ||
@@ -21,0 +21,0 @@ {% include 'stx_search.html' %} |
@@ -7,3 +7,3 @@ [theme] | ||
| [options] | ||
| #analytics_tracking_code = UA-17511903-1 | ||
| #analytics_tracking_code = GA_CODE_HERE | ||
| sidebar_mode = toctree | ||
@@ -10,0 +10,0 @@ display_badge = True |
@@ -15,4 +15,6 @@ # Copyright 2015 OpenStack Foundation | ||
| import pbr.version | ||
| from pbr import version as pbr_version | ||
| version_info = pbr.version.VersionInfo('openstackdocstheme') | ||
| version_info: pbr_version.VersionInfo = pbr_version.VersionInfo( | ||
| 'openstackdocstheme' | ||
| ) |
+17
-21
@@ -1,8 +0,9 @@ | ||
| Metadata-Version: 2.1 | ||
| Metadata-Version: 2.4 | ||
| Name: openstackdocstheme | ||
| Version: 3.5.0 | ||
| Version: 3.6.0 | ||
| Summary: OpenStack Docs Theme | ||
| Home-page: https://docs.openstack.org/openstackdocstheme/latest/ | ||
| Author: OpenStack | ||
| Author-email: openstack-discuss@lists.openstack.org | ||
| Author-email: OpenStack <openstack-discuss@lists.openstack.org> | ||
| License: Apache-2.0 | ||
| Project-URL: Homepage, https://docs.openstack.org/openstackdocstheme | ||
| Project-URL: Repository, https://opendev.org/openstack/openstackdocstheme | ||
| Classifier: Environment :: OpenStack | ||
@@ -15,27 +16,23 @@ Classifier: Intended Audience :: Information Technology | ||
| Classifier: Programming Language :: Python :: 3 | ||
| Classifier: Programming Language :: Python :: 3.8 | ||
| Classifier: Programming Language :: Python :: 3.9 | ||
| Classifier: Programming Language :: Python :: 3.10 | ||
| Classifier: Programming Language :: Python :: 3.11 | ||
| Classifier: Programming Language :: Python :: 3.12 | ||
| Classifier: Programming Language :: Python :: 3 :: Only | ||
| Classifier: Programming Language :: Python :: 3.13 | ||
| Classifier: Topic :: Documentation | ||
| Requires-Python: >=3.8 | ||
| Classifier: Typing :: Typed | ||
| Requires-Python: >=3.10 | ||
| Description-Content-Type: text/x-rst | ||
| License-File: LICENSE | ||
| Requires-Dist: pbr!=2.1.0,>=2.0.0 | ||
| Requires-Dist: dulwich>=0.15.0 | ||
| Requires-Dist: sphinx>=6.0.0 | ||
| Requires-Dist: sphinx>=8.0.0 | ||
| Dynamic: license-file | ||
| Dynamic: requires-dist | ||
| ======================== | ||
| Team and repository tags | ||
| ======================== | ||
| ========================================== | ||
| Open Infrastructure Projects Sphinx Themes | ||
| ========================================== | ||
| .. image:: https://governance.openstack.org/tc/badges/openstackdocstheme.svg | ||
| :target: https://governance.openstack.org/tc/reference/tags/index.html | ||
| .. Change things from this point on | ||
| Open Infrastructure Projects Sphinx Themes | ||
| ========================================== | ||
| Theme and extension support for Sphinx documentation that is published by | ||
@@ -55,3 +52,3 @@ Open Infrastructure Foundation projects. | ||
| StarlingX docs.starlingx.io Sphinx Theme | ||
| ----------------------------------------- | ||
| ---------------------------------------- | ||
@@ -73,2 +70,1 @@ Theme support for Sphinx documentation that is published to | ||
| * Bugs: https://launchpad.net/openstack-doc-tools | ||
+56
-0
@@ -0,1 +1,53 @@ | ||
| [build-system] | ||
| requires = ["pbr>=6.1.1"] | ||
| build-backend = "pbr.build" | ||
| [project] | ||
| name = "openstackdocstheme" | ||
| description = "OpenStack Docs Theme" | ||
| authors = [ | ||
| {name = "OpenStack", email = "openstack-discuss@lists.openstack.org"}, | ||
| ] | ||
| readme = {file = "README.rst", content-type = "text/x-rst"} | ||
| license = {text = "Apache-2.0"} | ||
| dynamic = ["version", "dependencies"] | ||
| requires-python = ">=3.10" | ||
| classifiers = [ | ||
| "Environment :: OpenStack", | ||
| "Intended Audience :: Information Technology", | ||
| "Intended Audience :: System Administrators", | ||
| "License :: OSI Approved :: Apache Software License", | ||
| "Operating System :: POSIX :: Linux", | ||
| "Programming Language :: Python", | ||
| "Programming Language :: Python :: 3", | ||
| "Programming Language :: Python :: 3.10", | ||
| "Programming Language :: Python :: 3.11", | ||
| "Programming Language :: Python :: 3.12", | ||
| "Programming Language :: Python :: 3.13", | ||
| "Topic :: Documentation", | ||
| "Typing :: Typed", | ||
| ] | ||
| [project.urls] | ||
| Homepage = "https://docs.openstack.org/openstackdocstheme" | ||
| Repository = "https://opendev.org/openstack/openstackdocstheme" | ||
| [tool.setuptools] | ||
| packages = [ | ||
| "openstackdocstheme" | ||
| ] | ||
| script-files = [ | ||
| "bin/docstheme-build-translated.sh", | ||
| "bin/docstheme-lang-display-name.py", | ||
| "bin/docstheme-build-pdf", | ||
| ] | ||
| [tool.mypy] | ||
| python_version = "3.10" | ||
| show_column_numbers = true | ||
| show_error_context = true | ||
| strict = true | ||
| disable_error_code = ["import-untyped"] | ||
| exclude = "(?x)(doc | releasenotes)" | ||
| [tool.ruff] | ||
@@ -7,1 +59,5 @@ line-length = 79 | ||
| docstring-code-format = true | ||
| [tool.ruff.lint] | ||
| select = ["E4", "E5", "E7", "E9", "F", "G", "LOG", "UP"] | ||
| external = ["H"] |
+4
-10
@@ -1,13 +0,7 @@ | ||
| ======================== | ||
| Team and repository tags | ||
| ======================== | ||
| ========================================== | ||
| Open Infrastructure Projects Sphinx Themes | ||
| ========================================== | ||
| .. image:: https://governance.openstack.org/tc/badges/openstackdocstheme.svg | ||
| :target: https://governance.openstack.org/tc/reference/tags/index.html | ||
| .. Change things from this point on | ||
| Open Infrastructure Projects Sphinx Themes | ||
| ========================================== | ||
| Theme and extension support for Sphinx documentation that is published by | ||
@@ -27,3 +21,3 @@ Open Infrastructure Foundation projects. | ||
| StarlingX docs.starlingx.io Sphinx Theme | ||
| ----------------------------------------- | ||
| ---------------------------------------- | ||
@@ -30,0 +24,0 @@ Theme support for Sphinx documentation that is published to |
@@ -1,2 +0,1 @@ | ||
| # -*- coding: utf-8 -*- | ||
| # Licensed under the Apache License, Version 2.0 (the "License"); | ||
@@ -3,0 +2,0 @@ # you may not use this file except in compliance with the License. |
+1
-1
| pbr!=2.1.0,>=2.0.0 # Apache-2.0 | ||
| dulwich>=0.15.0 # Apache-2.0 | ||
| sphinx>=6.0.0 # BSD | ||
| sphinx>=8.0.0 # BSD |
+0
-30
| [metadata] | ||
| name = openstackdocstheme | ||
| summary = OpenStack Docs Theme | ||
| description_file = | ||
| README.rst | ||
| author = OpenStack | ||
| author_email = openstack-discuss@lists.openstack.org | ||
| home_page = https://docs.openstack.org/openstackdocstheme/latest/ | ||
| python_requires = >=3.8 | ||
| classifier = | ||
| Environment :: OpenStack | ||
| Intended Audience :: Information Technology | ||
| Intended Audience :: System Administrators | ||
| License :: OSI Approved :: Apache Software License | ||
| Operating System :: POSIX :: Linux | ||
| Programming Language :: Python | ||
| Programming Language :: Python :: 3 | ||
| Programming Language :: Python :: 3.8 | ||
| Programming Language :: Python :: 3.9 | ||
| Programming Language :: Python :: 3.10 | ||
| Programming Language :: Python :: 3.11 | ||
| Programming Language :: Python :: 3.12 | ||
| Programming Language :: Python :: 3 :: Only | ||
| Topic :: Documentation | ||
| [files] | ||
| packages = | ||
| openstackdocstheme | ||
| scripts = | ||
| bin/docstheme-build-translated.sh | ||
| bin/docstheme-lang-display-name.py | ||
| bin/docstheme-build-pdf | ||
| [egg_info] | ||
@@ -35,0 +5,0 @@ tag_build = |
+13
-2
@@ -19,8 +19,19 @@ [tox] | ||
| Run style checks. | ||
| skip_install = true | ||
| deps = | ||
| pre-commit | ||
| {[testenv:mypy]deps} | ||
| commands = | ||
| pre-commit run -a | ||
| {[testenv:mypy]commands} | ||
| [testenv:mypy] | ||
| description = | ||
| Run type checks. | ||
| deps = | ||
| {[testenv]deps} | ||
| mypy | ||
| types-docutils | ||
| commands = | ||
| mypy --cache-dir="{envdir}/mypy_cache" -p openstackdocstheme {posargs} | ||
| [testenv:venv] | ||
@@ -86,3 +97,3 @@ commands = {posargs} | ||
| [flake8] | ||
| exclude=.venv,.git,.tox,dist,doc,api-ref,*lib/python*,*egg,tools | ||
| exclude = .venv,.git,.tox,dist,doc,api-ref,*lib/python*,*egg,tools | ||
| show-source = True | ||
@@ -89,0 +100,0 @@ # We only enable the hacking (H) checks |
Sorry, the diff of this file is not supported yet
Alert delta unavailable
Currently unable to show alert delta for PyPI packages.
4585469
0.04%194
1.57%30719
0