├── src ├── img │ ├── .gitkeep │ ├── favicon.ico │ ├── mascots │ │ ├── 404.jpg │ │ ├── scylla-gear.png │ │ ├── scylla-hearts.png │ │ ├── scylla-plugin.png │ │ ├── scylla-repair.png │ │ ├── scylla-server.png │ │ ├── scylla-3monsters.png │ │ ├── scylla-hardhat.png │ │ ├── scylla-headband.png │ │ ├── scylla-headset.png │ │ ├── scylla-movement.png │ │ ├── scylla-onpremise.png │ │ ├── scylla-sleeping.png │ │ ├── scylla-weights.png │ │ ├── scylla-writting.png │ │ ├── scylla-looking-up.png │ │ ├── scylla-university.png │ │ ├── scylla-with-linux.png │ │ ├── scylla-cup-number-one.png │ │ ├── scylla-forklift-boxes.png │ │ ├── scylla-looking-down.png │ │ ├── scylla-movement-fast.png │ │ ├── scylla-release-mascot.png │ │ ├── scylla-tall-measure.png │ │ ├── scylla-with-computer.png │ │ ├── scylla-advisor-crystal.png │ │ ├── scylla-computer-headset.png │ │ ├── scylla-magnifying-glass.png │ │ ├── scylla-window-cleaning.png │ │ ├── scylla-with-computer-2.png │ │ ├── scylla-computer-3-monsters.png │ │ ├── scylla-forklift-migration.png │ │ └── scylla-magnifying-glass-fronting.png │ ├── favicon-32x32.png │ ├── favicon-228x228.png │ ├── menu.svg │ └── banner-background.svg ├── css │ ├── components │ │ ├── _notice.scss │ │ ├── _panel-box.scss │ │ ├── _scroll-bar.scss │ │ ├── _side-nav-toggle.scss │ │ ├── _images.scss │ │ ├── _last-updated.scss │ │ ├── _contribute.scss │ │ ├── _not-found.scss │ │ ├── _labels.scss │ │ ├── _sphinx-tab.scss │ │ ├── _tooltips.scss │ │ ├── _dropdown-versions.scss │ │ ├── _feedback.scss │ │ ├── _buttons.scss │ │ ├── _collapse.scss │ │ ├── _index.scss │ │ ├── _breadcrumbs.scss │ │ ├── _dropdowns.scss │ │ ├── _toc-local.scss │ │ ├── _content-navigation.scss │ │ ├── _code-blocks.scss │ │ ├── _promo-banner.scss │ │ ├── _tables.scss │ │ └── _admonitions.scss │ ├── base │ │ ├── _index.scss │ │ ├── _mixins.scss │ │ └── _utilities.scss │ └── main.scss ├── fonts │ ├── fonticon.eot │ ├── fonticon.ttf │ └── fonticon.woff └── js │ ├── tables.js │ ├── links.js │ ├── secondary-sidebar.js │ ├── images.js │ ├── index.js │ ├── content.js │ ├── sidebar.js │ ├── dark-theme.js │ ├── search-to-chat.js │ └── collapse.js ├── .isort.cfg ├── sphinx_scylladb_theme ├── lexers │ ├── __init__.py │ └── ditaa.py ├── static │ ├── img │ │ ├── .gitkeep │ │ ├── favicon.ico │ │ ├── mascots │ │ │ ├── 404.jpg │ │ │ ├── scylla-gear.png │ │ │ ├── scylla-hearts.png │ │ │ ├── scylla-plugin.png │ │ │ ├── scylla-repair.png │ │ │ ├── scylla-server.png │ │ │ ├── scylla-3monsters.png │ │ │ ├── scylla-hardhat.png │ │ │ ├── scylla-headband.png │ │ │ ├── scylla-headset.png │ │ │ ├── scylla-movement.png │ │ │ ├── scylla-onpremise.png │ │ │ ├── scylla-sleeping.png │ │ │ ├── scylla-weights.png │ │ │ ├── scylla-writting.png │ │ │ ├── scylla-looking-up.png │ │ │ ├── scylla-university.png │ │ │ ├── scylla-with-linux.png │ │ │ ├── scylla-cup-number-one.png │ │ │ ├── scylla-forklift-boxes.png │ │ │ ├── scylla-looking-down.png │ │ │ ├── scylla-movement-fast.png │ │ │ ├── scylla-release-mascot.png │ │ │ ├── scylla-tall-measure.png │ │ │ ├── scylla-with-computer.png │ │ │ ├── scylla-advisor-crystal.png │ │ │ ├── scylla-computer-headset.png │ │ │ ├── scylla-magnifying-glass.png │ │ │ ├── scylla-window-cleaning.png │ │ │ ├── scylla-with-computer-2.png │ │ │ ├── scylla-computer-3-monsters.png │ │ │ ├── scylla-forklift-migration.png │ │ │ └── scylla-magnifying-glass-fronting.png │ │ ├── favicon-32x32.png │ │ ├── favicon-228x228.png │ │ ├── menu.svg │ │ └── banner-background.svg │ └── js │ │ └── runtime.bundle.js ├── extensions │ ├── __init__.py │ ├── validations.py │ ├── labels.py │ ├── panel_box.py │ ├── alerts.py │ ├── grid.py │ └── navigation.py ├── notice.html ├── local-scripts.html ├── side-nav-toggle.html ├── _version.py ├── secondary-side-nav.html ├── breadcrumbs.html ├── version-warning.html ├── promo-banner.html ├── side-nav.html ├── theme.conf ├── content-navigation.html ├── contribute.html ├── 404.html ├── versions.html ├── utils.py └── scylladb-scripts.html ├── extensions ├── sphinx-multiversion │ ├── tests │ │ └── __init__.py │ ├── requirements.txt │ ├── .gitignore │ ├── sphinx_multiversion │ │ ├── __main__.py │ │ └── __init__.py │ ├── setup.py │ ├── LICENSE │ └── README.md └── sphinx-scylladb-markdown │ ├── requirements.txt │ ├── .gitignore │ ├── setup.py │ ├── README.md │ └── sphinx_scylladb_markdown │ └── __init__.py ├── .babelrc.json ├── .prettierignore ├── .ruff.toml ├── .lycheeignore ├── docs ├── source │ ├── examples │ │ ├── __init__.py │ │ ├── images │ │ │ └── checkmark.png │ │ ├── api-documentation │ │ │ ├── index.rst │ │ │ └── python.rst │ │ ├── diagrams.rst │ │ ├── versions.rst │ │ ├── alerts.rst │ │ ├── collapse.rst │ │ ├── doxygen_output │ │ │ └── xml │ │ │ │ ├── combine.xslt │ │ │ │ ├── xml.xsd │ │ │ │ ├── index.xml │ │ │ │ └── index.xsd │ │ ├── Doxyfile │ │ ├── substitutions.rst │ │ ├── toc.rst │ │ ├── labels.rst │ │ ├── includes.rst │ │ ├── tabs.rst │ │ ├── admonitions.rst │ │ ├── lists.rst │ │ ├── text.rst │ │ ├── images.rst │ │ ├── panel-box.rst │ │ ├── index.rst │ │ ├── tooltips.rst │ │ ├── glossary.rst │ │ ├── headings.rst │ │ ├── _sample_module.h │ │ ├── links.rst │ │ └── code-blocks.rst │ ├── upgrade │ │ ├── version.png │ │ ├── _partials │ │ │ ├── dependabot_template.yml │ │ │ └── docs-pages-1.7.yml │ │ ├── index.rst │ │ ├── 1-6-to-1-7.rst │ │ ├── 1-3-to-1-4.rst │ │ ├── 1-5-to-1-6.rst │ │ ├── 1-4-to-1-5.rst │ │ └── 1-2-to-1-3.rst │ ├── deployment │ │ ├── images │ │ │ ├── preview.png │ │ │ ├── build-log.png │ │ │ ├── build-error.png │ │ │ ├── manual-deploy.png │ │ │ ├── pages-configuration.png │ │ │ └── pages-custom-domain.png │ │ ├── previews.rst │ │ └── index.rst │ ├── contribute │ │ ├── docs-submission.png │ │ └── index.rst │ ├── configuration │ │ ├── images │ │ │ └── ai-chatbot.png │ │ ├── search.rst │ │ ├── index.rst │ │ ├── redirects.rst │ │ ├── markdown.md │ │ ├── ai-chatbot.rst │ │ ├── dependabot.rst │ │ └── page.rst │ ├── getting-started │ │ ├── index.rst │ │ └── toolchain.rst │ └── index.rst ├── _utils │ ├── redirects.yaml │ ├── dependabot_template.yml │ └── pyproject_template.toml └── Makefile ├── tests ├── test_version.py ├── extensions │ ├── test_validations.py │ ├── test_panel_box.py │ ├── test_extensions_utils.py │ ├── test_include_tooltip.py │ └── test_alerts.py └── test_sphinx_scylladb_theme.py ├── .postcss.config.js ├── .eslintrc.yml ├── PYPI.rst ├── config ├── paths.js ├── webpack.prod.js └── webpack.common.js ├── .github ├── dependabot.yaml └── workflows │ ├── docs-pr.yaml │ ├── theme-tests.yaml │ ├── multiversion-tests.yaml │ ├── docs-links.yaml │ ├── docs-pages.yaml │ └── codeql-analysis.yaml ├── .pre-commit-config.yaml ├── deploy.sh ├── pyproject.toml ├── README.rst └── package.json /src/img/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.isort.cfg: -------------------------------------------------------------------------------- 1 | [settings] 2 | profile=black 3 | -------------------------------------------------------------------------------- /sphinx_scylladb_theme/lexers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /extensions/sphinx-multiversion/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sphinx_scylladb_theme/extensions/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /extensions/sphinx-multiversion/requirements.txt: -------------------------------------------------------------------------------- 1 | sphinx 2 | -------------------------------------------------------------------------------- /extensions/sphinx-scylladb-markdown/requirements.txt: -------------------------------------------------------------------------------- 1 | sphinx 2 | -------------------------------------------------------------------------------- /.babelrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["@babel/preset-env"] 3 | } 4 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | sphinx_scylladb_theme/static 2 | *.py 3 | *.html 4 | -------------------------------------------------------------------------------- /sphinx_scylladb_theme/notice.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /sphinx_scylladb_theme/local-scripts.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/css/components/_notice.scss: -------------------------------------------------------------------------------- 1 | .notice { 2 | margin-top: 40px; 3 | } 4 | -------------------------------------------------------------------------------- /.ruff.toml: -------------------------------------------------------------------------------- 1 | line-length = 88 2 | exclude = ["sphinx_scylladb_theme/lexers/cql.py"] 3 | -------------------------------------------------------------------------------- /.lycheeignore: -------------------------------------------------------------------------------- 1 | http://0.0.0.0:5500 2 | http://127.0.0.1:5500 3 | https://scylladb.github.io 4 | -------------------------------------------------------------------------------- /docs/source/examples/__init__.py: -------------------------------------------------------------------------------- 1 | """Examples package for ScyllaDB Sphinx Theme documentation.""" 2 | -------------------------------------------------------------------------------- /extensions/sphinx-multiversion/.gitignore: -------------------------------------------------------------------------------- 1 | *.egg-info 2 | *.pyest_cache 3 | *.pyc 4 | build 5 | dist 6 | -------------------------------------------------------------------------------- /extensions/sphinx-scylladb-markdown/.gitignore: -------------------------------------------------------------------------------- 1 | *.egg-info 2 | *.pyest_cache 3 | *.pyc 4 | build 5 | dist 6 | -------------------------------------------------------------------------------- /src/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/favicon.ico -------------------------------------------------------------------------------- /src/fonts/fonticon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/fonts/fonticon.eot -------------------------------------------------------------------------------- /src/fonts/fonticon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/fonts/fonticon.ttf -------------------------------------------------------------------------------- /src/fonts/fonticon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/fonts/fonticon.woff -------------------------------------------------------------------------------- /src/img/mascots/404.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/404.jpg -------------------------------------------------------------------------------- /src/img/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/favicon-32x32.png -------------------------------------------------------------------------------- /src/img/favicon-228x228.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/favicon-228x228.png -------------------------------------------------------------------------------- /docs/source/upgrade/version.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/docs/source/upgrade/version.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-gear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-gear.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-hearts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-hearts.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-plugin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-plugin.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-repair.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-repair.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-server.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-3monsters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-3monsters.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-hardhat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-hardhat.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-headband.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-headband.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-headset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-headset.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-movement.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-movement.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-onpremise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-onpremise.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-sleeping.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-sleeping.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-weights.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-weights.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-writting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-writting.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/lexers/ditaa.py: -------------------------------------------------------------------------------- 1 | from pygments.lexers.shell import BashLexer 2 | 3 | 4 | class DitaaLexer(BashLexer): 5 | pass 6 | -------------------------------------------------------------------------------- /src/css/base/_index.scss: -------------------------------------------------------------------------------- 1 | @import "fonticon"; 2 | @import "variables"; 3 | @import "mixins"; 4 | @import "reset"; 5 | @import "utilities"; 6 | -------------------------------------------------------------------------------- /src/css/main.scss: -------------------------------------------------------------------------------- 1 | @import "~foundation-sites/dist/css/foundation.min.css"; 2 | 3 | @import "base/index"; 4 | @import "components/index"; 5 | -------------------------------------------------------------------------------- /src/img/mascots/scylla-looking-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-looking-up.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-university.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-university.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-with-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-with-linux.png -------------------------------------------------------------------------------- /docs/source/deployment/images/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/docs/source/deployment/images/preview.png -------------------------------------------------------------------------------- /docs/source/examples/images/checkmark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/docs/source/examples/images/checkmark.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-cup-number-one.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-cup-number-one.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-forklift-boxes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-forklift-boxes.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-looking-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-looking-down.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-movement-fast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-movement-fast.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-release-mascot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-release-mascot.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-tall-measure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-tall-measure.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-with-computer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-with-computer.png -------------------------------------------------------------------------------- /tests/test_version.py: -------------------------------------------------------------------------------- 1 | from sphinx_scylladb_theme._version import version 2 | 3 | 4 | def test_version(): 5 | assert version is not None 6 | -------------------------------------------------------------------------------- /docs/source/contribute/docs-submission.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/docs/source/contribute/docs-submission.png -------------------------------------------------------------------------------- /docs/source/deployment/images/build-log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/docs/source/deployment/images/build-log.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-advisor-crystal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-advisor-crystal.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-computer-headset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-computer-headset.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-magnifying-glass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-magnifying-glass.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-window-cleaning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-window-cleaning.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-with-computer-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-with-computer-2.png -------------------------------------------------------------------------------- /.postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | "postcss-preset-env": { 4 | browsers: "last 2 versions", 5 | }, 6 | }, 7 | }; 8 | -------------------------------------------------------------------------------- /docs/source/deployment/images/build-error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/docs/source/deployment/images/build-error.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/favicon.ico -------------------------------------------------------------------------------- /src/img/mascots/scylla-computer-3-monsters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-computer-3-monsters.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-forklift-migration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-forklift-migration.png -------------------------------------------------------------------------------- /docs/source/configuration/images/ai-chatbot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/docs/source/configuration/images/ai-chatbot.png -------------------------------------------------------------------------------- /docs/source/deployment/images/manual-deploy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/docs/source/deployment/images/manual-deploy.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/404.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/404.jpg -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/favicon-32x32.png -------------------------------------------------------------------------------- /docs/source/deployment/images/pages-configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/docs/source/deployment/images/pages-configuration.png -------------------------------------------------------------------------------- /docs/source/deployment/images/pages-custom-domain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/docs/source/deployment/images/pages-custom-domain.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/favicon-228x228.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/favicon-228x228.png -------------------------------------------------------------------------------- /src/img/mascots/scylla-magnifying-glass-fronting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/src/img/mascots/scylla-magnifying-glass-fronting.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-gear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-gear.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-hearts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-hearts.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-plugin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-plugin.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-repair.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-repair.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-server.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-3monsters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-3monsters.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-hardhat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-hardhat.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-headband.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-headband.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-headset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-headset.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-movement.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-movement.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-onpremise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-onpremise.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-sleeping.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-sleeping.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-weights.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-weights.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-writting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-writting.png -------------------------------------------------------------------------------- /extensions/sphinx-multiversion/sphinx_multiversion/__main__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | import sys 4 | 5 | from .main import main 6 | 7 | sys.exit(main()) 8 | -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-looking-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-looking-up.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-university.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-university.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-with-linux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-with-linux.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-cup-number-one.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-cup-number-one.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-forklift-boxes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-forklift-boxes.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-looking-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-looking-down.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-movement-fast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-movement-fast.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-release-mascot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-release-mascot.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-tall-measure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-tall-measure.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-with-computer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-with-computer.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-advisor-crystal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-advisor-crystal.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-computer-headset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-computer-headset.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-magnifying-glass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-magnifying-glass.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-window-cleaning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-window-cleaning.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-with-computer-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-with-computer-2.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-computer-3-monsters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-computer-3-monsters.png -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-forklift-migration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-forklift-migration.png -------------------------------------------------------------------------------- /docs/_utils/redirects.yaml: -------------------------------------------------------------------------------- 1 | ### a dictionary of redirects 2 | #old path: new path 3 | # 4 | 5 | # removing redirection html script files 6 | # test: / 7 | 8 | /stable/test-redirect.html: /stable/index.html 9 | -------------------------------------------------------------------------------- /.eslintrc.yml: -------------------------------------------------------------------------------- 1 | env: 2 | browser: true 3 | node: true 4 | es2021: true 5 | extends: "eslint:recommended" 6 | parserOptions: 7 | ecmaVersion: 12 8 | sourceType: module 9 | rules: 10 | no-undef: 0 11 | -------------------------------------------------------------------------------- /src/css/base/_mixins.scss: -------------------------------------------------------------------------------- 1 | @mixin floating { 2 | background: var(--white); 3 | border: 0; 4 | border-radius: $border-radius-md; 5 | box-shadow: 0px 4px 25px rgba(0, 0, 0, 0.15); 6 | overflow: hidden; 7 | } 8 | -------------------------------------------------------------------------------- /PYPI.rst: -------------------------------------------------------------------------------- 1 | ===================== 2 | ScyllaDB Sphinx Theme 3 | ===================== 4 | 5 | Sphinx theme for ScyllaDB documentation projects. 6 | 7 | `Read More: `_ 8 | -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/mascots/scylla-magnifying-glass-fronting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scylladb/sphinx-scylladb-theme/HEAD/sphinx_scylladb_theme/static/img/mascots/scylla-magnifying-glass-fronting.png -------------------------------------------------------------------------------- /src/css/components/_panel-box.scss: -------------------------------------------------------------------------------- 1 | .panel { 2 | border: 0; 3 | margin-bottom: $gap; 4 | border-radius: 4px; 5 | } 6 | 7 | .panel.callout { 8 | background-color: transparent; 9 | color: inherit; 10 | } -------------------------------------------------------------------------------- /extensions/sphinx-multiversion/sphinx_multiversion/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from .main import main 3 | from .sphinx import setup 4 | 5 | __version__ = "0.3.4" 6 | 7 | __all__ = [ 8 | "setup", 9 | "main", 10 | ] 11 | -------------------------------------------------------------------------------- /sphinx_scylladb_theme/side-nav-toggle.html: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 | 5 |
6 |
7 | -------------------------------------------------------------------------------- /docs/_utils/dependabot_template.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "pip" 4 | directory: "/docs" 5 | schedule: 6 | interval: "daily" 7 | allow: 8 | - dependency-name: "sphinx-scylladb-theme" 9 | - dependency-name: "sphinx-multiversion-scylla" 10 | -------------------------------------------------------------------------------- /src/img/menu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/source/upgrade/_partials/dependabot_template.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: "pip" 4 | directory: "/docs" 5 | schedule: 6 | interval: "daily" 7 | allow: 8 | - dependency-name: "sphinx-scylladb-theme" 9 | - dependency-name: "sphinx-multiversion-scylla" 10 | -------------------------------------------------------------------------------- /src/css/components/_scroll-bar.scss: -------------------------------------------------------------------------------- 1 | .custom-scroll-bar { 2 | &::-webkit-scrollbar { 3 | width: 5px; 4 | background-color: transparent; 5 | } 6 | &::-webkit-scrollbar-thumb { 7 | background-color: var(--scollbar-bg); 8 | -webkit-border-radius: 8px; 9 | border-radius: 8px; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/css/components/_side-nav-toggle.scss: -------------------------------------------------------------------------------- 1 | .side-nav-toggle { 2 | cursor: pointer; 3 | display: flex; 4 | gap: 10px; 5 | font-size: 22px; 6 | position: relative; 7 | z-index: 1000; 8 | } 9 | 10 | @media screen and (min-width: $large) { 11 | .side-nav-toggle { 12 | display: none; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /sphinx_scylladb_theme/_version.py: -------------------------------------------------------------------------------- 1 | try: 2 | # Available in Python 3.8 and later 3 | import importlib.metadata as importlib_metadata 4 | except ImportError: 5 | # Fallback to 'importlib_metadata' for older versions 6 | import importlib_metadata 7 | 8 | version = importlib_metadata.version("sphinx-scylladb-theme") 9 | -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/menu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /sphinx_scylladb_theme/secondary-side-nav.html: -------------------------------------------------------------------------------- 1 |
2 | {% include 'contribute.html' %} 3 | {% if not hide_toc %} 4 |
5 |

On this page

6 | {{ toc }} 7 |
8 | {% endif %} 9 |
10 | -------------------------------------------------------------------------------- /src/css/components/_images.scss: -------------------------------------------------------------------------------- 1 | .enlarge-image { 2 | cursor: zoom-in; 3 | } 4 | 5 | .enlarge-image-reveal { 6 | background: transparent; 7 | cursor: zoom-out; 8 | border: none; 9 | padding: 0px; 10 | text-align: center; 11 | width: fit-content; 12 | 13 | img { 14 | padding: 15px; 15 | background-color: var(--white); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /config/paths.js: -------------------------------------------------------------------------------- 1 | const path = require("path"); 2 | 3 | module.exports = { 4 | // Source files 5 | src: path.resolve(__dirname, "../src"), 6 | 7 | // Production build files 8 | build: path.resolve(__dirname, "../sphinx_scylladb_theme/static"), 9 | 10 | // Static files that get copied to build folder 11 | public: path.resolve(__dirname, "../src/img"), 12 | }; 13 | -------------------------------------------------------------------------------- /src/css/components/_last-updated.scss: -------------------------------------------------------------------------------- 1 | .last-updated { 2 | margin: 10px 0; 3 | color: var(--link); 4 | font-size: $font-xs; 5 | letter-spacing: 1.5px; 6 | text-transform: uppercase; 7 | 8 | &__icon { 9 | font-size: $font-sm; 10 | } 11 | } 12 | 13 | @media screen and (min-width: $large) { 14 | .last-updated { 15 | float: right; 16 | margin: 0; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/js/tables.js: -------------------------------------------------------------------------------- 1 | export class TablesHandler { 2 | 3 | createResponsiveTables() { 4 | const tables = $("table.docutils"); 5 | tables.wrap("
"); 6 | 7 | tables.each(function () { 8 | if ($(this).find("thead tr").length > 1) { 9 | $(this).addClass("thead-border"); 10 | } 11 | }); 12 | } 13 | 14 | init() { 15 | this.createResponsiveTables(); 16 | } 17 | } -------------------------------------------------------------------------------- /src/css/components/_contribute.scss: -------------------------------------------------------------------------------- 1 | .contribute { 2 | margin: 0; 3 | margin-bottom: 20px; 4 | list-style: none; 5 | 6 | &__item { 7 | font-size: $font-sm; 8 | padding-bottom: 10px; 9 | list-style: none; 10 | 11 | a { 12 | display: inline-flex; 13 | align-items: center; 14 | } 15 | 16 | i { 17 | font-size: 1.2em; 18 | line-height: 1em; 19 | margin-right: 5px; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/js/links.js: -------------------------------------------------------------------------------- 1 | export class LinksHandler { 2 | 3 | openExternalLinksNewBrowserTab() { 4 | const isExternal = new RegExp("^(?:[a-z]+:)?//", "i"); 5 | $("a.reference").each(function () { 6 | $(this).removeClass("internal external"); 7 | 8 | if (isExternal.test($(this).attr("href"))) { 9 | $(this).addClass("external"); 10 | $(this).attr("target", "_blank"); 11 | } else { 12 | $(this).addClass("internal"); 13 | } 14 | }); 15 | } 16 | 17 | init() { 18 | this.openExternalLinksNewBrowserTab(); 19 | } 20 | } -------------------------------------------------------------------------------- /src/css/components/_not-found.scss: -------------------------------------------------------------------------------- 1 | .not-found { 2 | background-color: var(--navigation-bg); 3 | height: 100%; 4 | overflow: hidden; 5 | 6 | &__icon { 7 | display: block; 8 | margin: 40px auto; 9 | max-width: 300px; 10 | } 11 | 12 | &__text { 13 | text-align: center; 14 | 15 | h1 { 16 | font-size: 60px; 17 | line-height: 1; 18 | } 19 | 20 | p { 21 | margin: 30px 0; 22 | width: 100%; 23 | } 24 | } 25 | 26 | &__button { 27 | text-transform: uppercase; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/css/components/_labels.scss: -------------------------------------------------------------------------------- 1 | .label { 2 | border: 0; 3 | border-radius: 4px; 4 | background-color: var(--navigation-bg); 5 | color: var(--white); 6 | font-size: inherit; 7 | 8 | &--default { 9 | color: var(--text-color); 10 | } 11 | 12 | &--note { 13 | background-color: var(--info); 14 | } 15 | 16 | &--tip { 17 | background-color: var(--success); 18 | } 19 | 20 | &--caution { 21 | background-color: var(--warning); 22 | } 23 | 24 | &--warning { 25 | background-color: var(--danger); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/css/components/_sphinx-tab.scss: -------------------------------------------------------------------------------- 1 | .sphinx-tabs { 2 | margin-bottom: $gap; 3 | } 4 | 5 | .sphinx-tabs-tab { 6 | border-bottom: 1px solid var(--text-muted); 7 | color: var(--text-muted); 8 | cursor: pointer; 9 | font-size: $font-sm; 10 | font-weight: 500; 11 | line-height: 13px; 12 | 13 | padding: 20px 25px; 14 | 15 | &[aria-selected="true"] { 16 | color: var(--link-color); 17 | border-bottom: 2px solid var(--link-color); 18 | padding-bottom: 19px; 19 | } 20 | } 21 | 22 | .sphinx-tabs-panel { 23 | margin: $gap 0; 24 | } 25 | -------------------------------------------------------------------------------- /docs/source/configuration/search.rst: -------------------------------------------------------------------------------- 1 | ============== 2 | Search support 3 | ============== 4 | 5 | The toolchain uses the service `Expertrec `_ to offer a unified search experience across all sites. 6 | 7 | Installation 8 | ------------ 9 | 10 | .. note:: 11 | The process of listing a new site must be done by an Expertrec administrator. 12 | Contact us in Slack (``#scylla-docs`` channel) to set this configuration for you. 13 | 14 | For more information, see `Crawl new URLs `_. 15 | -------------------------------------------------------------------------------- /docs/source/deployment/previews.rst: -------------------------------------------------------------------------------- 1 | ====================== 2 | Pull requests previews 3 | ====================== 4 | 5 | .. caution:: This feature is only available for a selected number of projects. 6 | 7 | We use a custom Jenkins pipeline to automatically generate a preview site for the documentation on every pull request that modifies the docs folder. 8 | 9 | To request activation of this feature for your ScyllaDB project, `open an issue on this repository `_ in this repository and ask to enable the pull request preview feature. 10 | -------------------------------------------------------------------------------- /docs/source/examples/api-documentation/index.rst: -------------------------------------------------------------------------------- 1 | API Documentation 2 | ================= 3 | 4 | Automatically generate documentation from your source code using Sphinx's extensions. 5 | This approach keeps your API reference in sync with your codebase. 6 | 7 | .. toctree:: 8 | :maxdepth: 1 9 | :hidden: 10 | 11 | python 12 | doxygen 13 | rest-api 14 | 15 | .. panel-box:: 16 | :title: Languages 17 | :id: "api-languages" 18 | :class: my-panel 19 | 20 | * :doc:`Python ` 21 | * :doc:`Doxygen ` 22 | * :doc:`REST API (Redocly) ` 23 | -------------------------------------------------------------------------------- /src/css/components/_tooltips.scss: -------------------------------------------------------------------------------- 1 | .tooltip { 2 | background-color: var(--tooltip-bg); 3 | border-radius: 4px; 4 | font-size: $font-xs; 5 | padding: 6px; 6 | border: 0; 7 | max-width: 50%; 8 | } 9 | 10 | .tooltip:before { 11 | display: none !important; 12 | } 13 | 14 | .tooltip:empty { 15 | display: none !important; 16 | } 17 | 18 | .has-tip { 19 | border: 0; 20 | cursor: pointer; 21 | } 22 | 23 | .content .has-tip { 24 | font-weight: inherit; 25 | cursor: help; 26 | text-decoration: underline; 27 | text-decoration-style: dotted; 28 | } 29 | 30 | .content .copybtn { 31 | cursor: pointer; 32 | } -------------------------------------------------------------------------------- /docs/_utils/pyproject_template.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "sphinx-docs" 3 | description = "ScyllaDB Documentation" 4 | version = "0.1.0" 5 | authors = ["ScyllaDB Documentation Contributors"] 6 | package-mode = false 7 | 8 | [tool.poetry.dependencies] 9 | python = "^3.10" 10 | pygments = "^2.18.0" 11 | sphinx-scylladb-theme = "^1.8.1" 12 | myst-parser = "^3.0.1" 13 | sphinx-autobuild = "^2024.4.19" 14 | Sphinx = "^7.3.7" 15 | sphinx-multiversion-scylla = "^0.3.1" 16 | sphinx-sitemap = "^2.6.0" 17 | redirects_cli ="^0.1.3" 18 | 19 | [build-system] 20 | requires = ["poetry>=1.8.0"] 21 | build-backend = "poetry.masonry.api" 22 | -------------------------------------------------------------------------------- /docs/source/deployment/index.rst: -------------------------------------------------------------------------------- 1 | ========== 2 | Deployment 3 | ========== 4 | 5 | .. toctree:: 6 | :maxdepth: 2 7 | :hidden: 8 | 9 | production 10 | previews 11 | centralized-publication 12 | 13 | .. panel-box:: 14 | :title: Overview 15 | :id: "deployment" 16 | :class: my-panel 17 | 18 | * :doc:`Production deployments ` - Procedures to publish docs in production. 19 | * :doc:`Pull request previews ` - Procedures to enable documentation previews in pull-requests. 20 | * :doc:`Centralized publication ` - Procedure to list a new version in the centralized publication. 21 | -------------------------------------------------------------------------------- /src/css/components/_dropdown-versions.scss: -------------------------------------------------------------------------------- 1 | .scylla-dropdown--versions { 2 | .scylla-dropdown__item { 3 | background: var(--card-bg); 4 | border-radius: $border-radius-md; 5 | box-shadow: 0 28px 32px rgba(0, 0, 0, 0.06); 6 | width: 100%; 7 | } 8 | 9 | .scylla-dropdown__title { 10 | align-items: center; 11 | display: flex; 12 | justify-content: space-between; 13 | 14 | .chevron { 15 | transform: rotate(90deg); 16 | } 17 | } 18 | } 19 | 20 | @media screen and (min-width: $large) { 21 | .scylla-dropdown--versions { 22 | .scylla-dropdown__item { 23 | box-shadow: none; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /docs/source/examples/diagrams.rst: -------------------------------------------------------------------------------- 1 | Diagrams 2 | ======== 3 | 4 | The documentation toolchain supports rendering diagrams and charts using `Mermaid `_, a library designed for creating sequence diagrams, flowcharts, and other visualizations. 5 | 6 | Using: 7 | 8 | .. code-block:: python 9 | 10 | .. mermaid :: 11 | 12 | graph TD 13 | A --> B 14 | B -- Label --> C 15 | 16 | Renders: 17 | 18 | .. mermaid :: 19 | 20 | graph TD 21 | A --> B 22 | B -- Label --> C 23 | 24 | For more details, refer to the `sphinxcontrib-mermaid `_ documentation. 25 | -------------------------------------------------------------------------------- /docs/source/examples/versions.rst: -------------------------------------------------------------------------------- 1 | Versions 2 | ======== 3 | 4 | This is an inline directive which should be used when introducing or deprecating a feature 5 | 6 | .. code-block:: rst 7 | 8 | .. versionadded:: version 9 | 10 | .. code-block:: rst 11 | 12 | .. versionchanged:: version 13 | 14 | .. code-block:: rst 15 | 16 | .. deprecated:: version 17 | 18 | When using, these directives a blank line must follow. Until we have separated the content, please use the product name with the version number. 19 | 20 | .. versionadded:: 1.1 ScyllaDB Manager 21 | 22 | .. versionchanged:: 2018.1 ScyllaDB Enterprise 23 | 24 | .. deprecated:: 2.0 ScyllaDB Open Source 25 | -------------------------------------------------------------------------------- /.github/dependabot.yaml: -------------------------------------------------------------------------------- 1 | # Basic set up for three package managers 2 | 3 | version: 2 4 | updates: 5 | # Maintain dependencies for GitHub Actions 6 | - package-ecosystem: "github-actions" 7 | directory: "/" 8 | schedule: 9 | interval: "daily" 10 | 11 | # Maintain dependencies for npm 12 | - package-ecosystem: "npm" 13 | directory: "/" 14 | schedule: 15 | interval: "daily" 16 | 17 | # Maintain dependencies for Poetry 18 | - package-ecosystem: "pip" 19 | directory: "/" 20 | schedule: 21 | interval: "daily" 22 | 23 | - package-ecosystem: "pip" 24 | directory: "/docs/_utils" 25 | schedule: 26 | interval: "daily" 27 | -------------------------------------------------------------------------------- /src/css/components/_feedback.scss: -------------------------------------------------------------------------------- 1 | .feedback-container { 2 | text-align: left; 3 | font-size: $font-md; 4 | 5 | &__title { 6 | font-weight: bold; 7 | margin-bottom: 5px !important; 8 | } 9 | 10 | &__button { 11 | cursor: pointer; 12 | margin: 4px; 13 | padding: 8px; 14 | border: 1px solid var(--card-bg); 15 | color: var(--text-color); 16 | @include floating; 17 | 18 | background-color: var(--card-bg) !important; 19 | &.active { 20 | border-color: var(--primary); 21 | } 22 | } 23 | 24 | &__icon { 25 | font-size: 22px; 26 | } 27 | 28 | &__message { 29 | margin-top: 10px; 30 | font-size: $font-md; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/img/banner-background.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /tests/extensions/test_validations.py: -------------------------------------------------------------------------------- 1 | from unittest.mock import MagicMock 2 | 3 | from sphinx_scylladb_theme.extensions.validations import warn_on_underscores 4 | 5 | 6 | def test_warn_on_underscores(): 7 | app_mock = MagicMock() 8 | html_theme_options = {} 9 | app_mock.config.html_theme_options = html_theme_options 10 | 11 | assert warn_on_underscores(app_mock, "file_name.rst", None) 12 | 13 | 14 | def test_skip_warn_on_underscores(): 15 | app_mock = MagicMock() 16 | html_theme_options = {"skip_warnings": "document_has_underscores"} 17 | app_mock.config.html_theme_options = html_theme_options 18 | 19 | assert warn_on_underscores(app_mock, "file_name.rst", None) is False 20 | -------------------------------------------------------------------------------- /docs/source/examples/alerts.rst: -------------------------------------------------------------------------------- 1 | Alert 2 | ===== 3 | 4 | A custom admonition to highlight important updates or announcements. It includes an icon, a short description, and an optional link that can direct users to additional information or external resources. 5 | 6 | Using: 7 | 8 | .. code-block:: rst 9 | 10 | .. alert:: 11 | :link: https://scylladb.com 12 | :link_text: Learn more about the change 13 | :icon: logs 14 | 15 | We’re updating our license & versioning policy. 16 | 17 | Renders as: 18 | 19 | .. alert:: 20 | :link: https://scylladb.com 21 | :link_text: Learn more about the change 22 | :icon: logs 23 | 24 | We’re updating our license & versioning policy. 25 | -------------------------------------------------------------------------------- /docs/source/upgrade/_partials/docs-pages-1.7.yml: -------------------------------------------------------------------------------- 1 | # (...) 2 | on: 3 | push: 4 | branches: 5 | - master # Replace with your default branch name 6 | - 'branch-**' # Use the versioned branch pattern 7 | paths: 8 | - "docs/**" 9 | workflow_dispatch: 10 | 11 | jobs: 12 | build: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - name: Checkout 16 | uses: actions/checkout@v4 17 | with: 18 | ref: ${{ github.event.repository.default_branch }} 19 | persist-credentials: false 20 | fetch-depth: 0 21 | - name: Set up Python 22 | uses: actions/setup-python@v5 23 | with: 24 | python-version: '3.10' 25 | # (...) 26 | -------------------------------------------------------------------------------- /sphinx_scylladb_theme/static/img/banner-background.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/css/components/_buttons.scss: -------------------------------------------------------------------------------- 1 | .button { 2 | background: transparent; 3 | border: 1px solid var(--text-color); 4 | border-radius: 4px; 5 | color: var(--text-color); 6 | display: inline-flex; 7 | align-items: center; 8 | font-size: $font-sm; 9 | letter-spacing: 1px; 10 | line-height: 21px; 11 | padding: $spacer-xxs $spacer-sm; 12 | margin: 0; 13 | 14 | &:hover, 15 | &:focus { 16 | background: transparent; 17 | color: var(--link-color); 18 | text-decoration: none; 19 | } 20 | 21 | &--reverse { 22 | border: 0; 23 | background: var(--bg-color); 24 | 25 | &:hover, 26 | &:focus { 27 | background: var(--bg-color); 28 | } 29 | } 30 | 31 | &.button-sm { 32 | padding: $spacer-3xs $spacer-xs; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /docs/source/examples/collapse.rst: -------------------------------------------------------------------------------- 1 | Collapse 2 | ======== 3 | 4 | Collapsibles are useful to hide large amounts of content. 5 | 6 | Using: 7 | 8 | .. code-block:: rst 9 | 10 | .. collapse:: Click here 11 | 12 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 13 | Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 14 | 15 | 16 | Renders: 17 | 18 | .. collapse:: Click here 19 | 20 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 21 | Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 22 | -------------------------------------------------------------------------------- /docs/source/examples/doxygen_output/xml/combine.xslt: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/source/examples/Doxyfile: -------------------------------------------------------------------------------- 1 | # Doxyfile for generating XML documentation 2 | 3 | # Project settings 4 | PROJECT_NAME = "Sample Module" 5 | OUTPUT_DIRECTORY = doxygen_output 6 | CREATE_SUBDIRS = NO 7 | 8 | # Input settings 9 | INPUT = _sample_module.h 10 | FILE_PATTERNS = *.h *.hpp *.cpp 11 | RECURSIVE = NO 12 | 13 | # Output settings 14 | GENERATE_HTML = NO 15 | GENERATE_LATEX = NO 16 | GENERATE_XML = YES 17 | XML_OUTPUT = xml 18 | XML_PROGRAMLISTING = YES 19 | 20 | # Extraction settings 21 | EXTRACT_ALL = YES 22 | EXTRACT_PRIVATE = YES 23 | EXTRACT_STATIC = YES 24 | 25 | # Other settings 26 | QUIET = YES 27 | WARNINGS = NO 28 | -------------------------------------------------------------------------------- /.github/workflows/docs-pr.yaml: -------------------------------------------------------------------------------- 1 | name: "Docs / Build PR" 2 | # For more information, 3 | # see https://sphinx-theme.scylladb.com/stable/deployment/production.html#available-workflows 4 | 5 | on: 6 | pull_request: 7 | branches: 8 | - master 9 | paths: 10 | - "docs/**" 11 | 12 | jobs: 13 | build: 14 | runs-on: ubuntu-latest 15 | steps: 16 | - name: Checkout 17 | uses: actions/checkout@v6 18 | with: 19 | persist-credentials: false 20 | fetch-depth: 0 21 | 22 | - name: Set up Python 23 | uses: actions/setup-python@v6 24 | with: 25 | python-version: '3.10' 26 | 27 | - name: Set up env 28 | run: make -C docs setupenv 29 | 30 | - name: Build docs 31 | run: make -C docs test 32 | -------------------------------------------------------------------------------- /docs/source/examples/doxygen_output/xml/xml.xsd: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/js/secondary-sidebar.js: -------------------------------------------------------------------------------- 1 | export class SecondarySidebarHandler { 2 | 3 | onScrollHighlightSecondarySidebar() { 4 | const sections = $(".content").find("h2").parent(); 5 | const offset = 1; 6 | 7 | $(window).scroll(function () { 8 | const dynamicPaddingTop = parseInt($('html').css('scroll-padding-top')); 9 | const currentScroll = $(this).scrollTop() + dynamicPaddingTop; 10 | 11 | sections.each(function () { 12 | const sectionPosition = $(this).offset().top; 13 | if (sectionPosition - offset <= currentScroll) { 14 | const id = $(this).attr("id"); 15 | $(".secondary-side-nav a").removeClass("current"); 16 | $('.secondary-side-nav a[href="#' + id + '"]').addClass("current"); 17 | } 18 | }); 19 | }); 20 | } 21 | init() { 22 | this.onScrollHighlightSecondarySidebar(); 23 | } 24 | } -------------------------------------------------------------------------------- /.github/workflows/theme-tests.yaml: -------------------------------------------------------------------------------- 1 | name: "Theme / Unit tests" 2 | 3 | on: 4 | pull_request: 5 | branches: 6 | - master 7 | paths: 8 | - "sphinx_scylladb_theme/**" 9 | push: 10 | branches: 11 | - master 12 | paths: 13 | - "sphinx_scylladb_theme/**" 14 | 15 | jobs: 16 | build: 17 | runs-on: ubuntu-latest 18 | steps: 19 | - name: Checkout 20 | uses: actions/checkout@v6 21 | with: 22 | persist-credentials: false 23 | fetch-depth: 0 24 | 25 | - name: Set up Python 26 | uses: actions/setup-python@v6 27 | with: 28 | python-version: "3.10" 29 | 30 | - name: Set up env 31 | run: | 32 | make -C docs setupenv 33 | poetry install 34 | 35 | - name: Run tests 36 | run: poetry run pytest . 37 | -------------------------------------------------------------------------------- /sphinx_scylladb_theme/breadcrumbs.html: -------------------------------------------------------------------------------- 1 | 23 | -------------------------------------------------------------------------------- /src/css/components/_collapse.scss: -------------------------------------------------------------------------------- 1 | /* This stylesheet uses the !important operator 2 | to overwrite sphinx_collapse custom CSS rules. 3 | */ 4 | .sphinx_collapse__label { 5 | display: flex !important; 6 | font-size: initial; 7 | font-weight: bold; 8 | flex-direction: row-reverse; 9 | justify-content: flex-end; 10 | margin-left: 0 !important; 11 | color: var(--text-color); 12 | } 13 | 14 | .sphinx_collapse__icon { 15 | margin-left: 5px; 16 | margin-right: 0; 17 | 18 | border-top-color: var(--text-color) !important; 19 | } 20 | 21 | .sphinx_collapse__input:checked ~ .sphinx_collapse__label, 22 | .sphinx_collapse__label:hover { 23 | color: var(--link-color); 24 | .sphinx_collapse__icon { 25 | border-top-color: var(--link-color) !important; 26 | } 27 | } 28 | 29 | .sphinx_collapse__content { 30 | margin-top: 10px; 31 | } 32 | -------------------------------------------------------------------------------- /docs/source/upgrade/index.rst: -------------------------------------------------------------------------------- 1 | Upgrade guides 2 | ============== 3 | 4 | .. toctree:: 5 | :maxdepth: 2 6 | :hidden: 7 | 8 | 1-7-to-1-8 9 | 1-6-to-1-7 10 | 1-5-to-1-6 11 | 1-4-to-1-5 12 | 1-3-to-1-4 13 | 1-2-to-1-3 14 | 1-1-to-1-2 15 | 1-0-to-1-1 16 | 0-x-to-1-0 17 | CHANGELOG 18 | 19 | .. panel-box:: 20 | 21 | * :doc:`Upgrading from 1.7 to 1.8 <1-7-to-1-8>` 22 | * :doc:`Upgrading from 1.6 to 1.7 <1-6-to-1-7>` 23 | * :doc:`Upgrading from 1.5 to 1.6 <1-5-to-1-6>` 24 | * :doc:`Upgrading from 1.4 to 1.5 <1-4-to-1-5>` 25 | * :doc:`Upgrading from 1.3 to 1.4 <1-3-to-1-4>` 26 | * :doc:`Upgrading from 1.2 to 1.3 <1-2-to-1-3>` 27 | * :doc:`Upgrading from 1.1 to 1.2 <1-1-to-1-2>` 28 | * :doc:`Upgrading from 1.0 to 1.1 <1-0-to-1-1>` 29 | * :doc:`Upgrading from 0.x to 1.0 <0-x-to-1-0>` 30 | * :doc:`CHANGELOG ` 31 | -------------------------------------------------------------------------------- /sphinx_scylladb_theme/version-warning.html: -------------------------------------------------------------------------------- 1 | {% if versions and current_version and latest_version and current_version != latest_version %} 2 |
3 |

Caution

4 |

5 | {% if current_version.name in theme_versions_unstable %} 6 | You're viewing documentation for an unstable version of {{ project }}. 7 | {% elif current_version.name in theme_versions_deprecated %} 8 | You're viewing documentation for a deprecated version of {{ project }}. 9 | {% else %} 10 | You're viewing documentation for a previous version of {{ project }}. 11 | {% endif %} 12 | Switch to the latest stable version. 13 |

14 |
15 | {% endif %} 16 | -------------------------------------------------------------------------------- /tests/test_sphinx_scylladb_theme.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from sphinx_scylladb_theme import override_rst_epilog, override_smv_latest_version 4 | 5 | 6 | class ConfigStub: 7 | def __init__(self): 8 | self.smv_latest_version = "" 9 | self.rst_epilog = "" 10 | 11 | 12 | def test_override_smv_latest_version_default(): 13 | config = ConfigStub() 14 | assert override_smv_latest_version(config) == "master" 15 | 16 | 17 | def test_override_smv_latest_version_env(): 18 | config = ConfigStub() 19 | os.environ["LATEST_VERSION"] = "abc" 20 | assert override_smv_latest_version(config) == "abc" 21 | 22 | 23 | def test_override_rst_epilog(): 24 | config = ConfigStub() 25 | config.rst_epilog = "|a| raw:: html" 26 | assert "|v| replace:: :raw-html:" in override_rst_epilog(config) 27 | assert "|x| replace:: :raw-html:" in override_rst_epilog(config) 28 | -------------------------------------------------------------------------------- /src/css/components/_index.scss: -------------------------------------------------------------------------------- 1 | /* Base*/ 2 | @import "buttons"; 3 | @import "tooltips"; 4 | @import "dropdowns"; 5 | @import "images"; 6 | 7 | /* Layout */ 8 | @import "header"; 9 | @import "side-nav"; 10 | @import "side-nav-toggle"; 11 | @import "secondary-side-nav"; 12 | @import "content"; 13 | @import "toc-local"; 14 | @import "notice"; 15 | @import "footer"; 16 | @import "not-found"; 17 | 18 | /* Extensions */ 19 | @import "admonitions"; 20 | @import "api-docs"; 21 | @import "breadcrumbs"; 22 | @import "code-blocks"; 23 | @import "collapse"; 24 | @import "contribute"; 25 | @import "content-navigation"; 26 | @import "dropdown-versions"; 27 | @import "feedback"; 28 | @import "hero"; 29 | @import "labels"; 30 | @import "last-updated"; 31 | @import "panel-box"; 32 | @import "promo-banner"; 33 | @import "scroll-bar"; 34 | @import "search-box"; 35 | @import "sphinx-tab"; 36 | @import "tables"; 37 | @import "topic-box"; 38 | -------------------------------------------------------------------------------- /docs/source/contribute/index.rst: -------------------------------------------------------------------------------- 1 | ========== 2 | Contribute 3 | ========== 4 | 5 | .. toctree:: 6 | :hidden: 7 | 8 | Contribute to the documentation 9 | Contribute to the theme 10 | Source Code 11 | 12 | We are always looking for those who want to help and appreciate any contribution we can get. 13 | 14 | Before you can contribute to ScyllaDB for the first time, you should download, print, and sign the `Contributor License Agreement `_ and send the signed form to cla@scylladb.com. 15 | 16 | There are two ways to contribute to ScyllaDB Docs: 17 | 18 | * :doc:`Contribute to the documentation ` - by writing new or changing existing Documentation. 19 | * :doc:`Contribute to the theme ` - this is the CSS for our docs website. 20 | -------------------------------------------------------------------------------- /extensions/sphinx-scylladb-markdown/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | import os.path 4 | 5 | from setuptools import setup 6 | 7 | with open(os.path.join(os.path.dirname(__file__), "README.md")) as f: 8 | readme = f.read() 9 | 10 | setup( 11 | name="sphinx-scylladb-markdown", 12 | description="Sphinx extension for ScyllaDB documentation with enhanced Markdown support through MystParser and recommonmark.", 13 | long_description=readme, 14 | long_description_content_type="text/markdown", 15 | author="David Garcia", 16 | author_email="hi@davidgarcia.dev", 17 | url="https://github.com/scylladb/sphinx-scylladb-theme", 18 | version="0.1.4", 19 | install_requires=[ 20 | "sphinx >= 2.1", 21 | "recommonmark == 0.7.1", 22 | "sphinx-markdown-tables == 0.0.17", 23 | "myst-parser >= 2.0.0", 24 | ], 25 | packages=["sphinx_scylladb_markdown"], 26 | ) 27 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | fail_fast: true 2 | exclude: ^(.github|src|sphinx_scylladb_theme/static) 3 | repos: 4 | - repo: local 5 | hooks: 6 | - id: build-assets 7 | name: build-assets 8 | entry: npm run 9 | args: ["build"] 10 | language: system 11 | pass_filenames: false 12 | 13 | - repo: https://github.com/pycqa/isort 14 | rev: 5.13.2 15 | hooks: 16 | - id: isort 17 | 18 | - repo: https://github.com/rtts/djhtml 19 | rev: 3.0.6 20 | hooks: 21 | - id: djhtml 22 | 23 | - repo: https://github.com/astral-sh/ruff-pre-commit 24 | rev: v0.5.0 25 | hooks: 26 | - id: ruff 27 | args: [ --fix ] 28 | - id: ruff-format 29 | 30 | - repo: https://github.com/pre-commit/pre-commit-hooks 31 | rev: v4.6.0 32 | hooks: 33 | - id: end-of-file-fixer 34 | - id: trailing-whitespace 35 | - id: check-yaml 36 | - id: check-json 37 | -------------------------------------------------------------------------------- /src/js/images.js: -------------------------------------------------------------------------------- 1 | export class ImagesHandler { 2 | 3 | createEnlargeImagesButtons() { 4 | $(".content img[width], .content img[style]").each(function () { 5 | const revealID = (Math.random() + 1).toString(36).substring(7); 6 | $(this).wrap( 7 | `` 8 | ); 9 | const imageReveal = 10 | ` 11 |
14 | 17 |
18 | `; 19 | $(this).after(imageReveal); 20 | }); 21 | $(".content a.image-reference").click(function (event) { 22 | if ($(this).children(".enlarge-image").length > 0) { 23 | event.preventDefault(); 24 | } 25 | }); 26 | } 27 | 28 | init() { 29 | this.createEnlargeImagesButtons(); 30 | } 31 | } -------------------------------------------------------------------------------- /sphinx_scylladb_theme/extensions/validations.py: -------------------------------------------------------------------------------- 1 | from sphinx.util import logging 2 | 3 | logger = logging.getLogger(__name__) 4 | 5 | 6 | def warn_on_underscores(app, docname, source): 7 | if not docname: 8 | return False 9 | 10 | excluded_strings = ["rst_include", "_common"] 11 | 12 | theme_options = app.config.html_theme_options 13 | skip_warnings = theme_options.get("skip_warnings", []) 14 | 15 | if "document_has_underscores" in skip_warnings: 16 | return False 17 | 18 | if "_" in docname and not any(excluded in docname for excluded in excluded_strings): 19 | logger.warning(f"Document name contains underscores: {docname}") 20 | return True 21 | return False 22 | 23 | 24 | def setup(app): 25 | app.connect("source-read", warn_on_underscores) 26 | return { 27 | "version": "0.1", 28 | "parallel_read_safe": True, 29 | "parallel_write_safe": True, 30 | } 31 | -------------------------------------------------------------------------------- /src/css/components/_breadcrumbs.scss: -------------------------------------------------------------------------------- 1 | .breadcrumbs { 2 | /* Reset Foundation */ 3 | margin-bottom: 0; 4 | text-transform: uppercase; 5 | padding-top: $spacer-xs; 6 | padding-bottom: $spacer-xs; 7 | gap: $spacer-xxs 0; 8 | display: flex; 9 | flex-wrap: wrap; 10 | 11 | .bread__item, 12 | a, 13 | .bread__item:not(.bread__item--last)::after { 14 | color: var(--text-color); 15 | font-size: $font-xs; 16 | font-weight: 400; 17 | letter-spacing: 1.5px; 18 | margin: 0; 19 | padding: 0; 20 | } 21 | 22 | .bread__item { 23 | &:before { 24 | display: none; 25 | } 26 | 27 | &:not(.bread__item--last)::after { 28 | content: "/"; 29 | margin: 0 5px; 30 | opacity: 1; 31 | position: relative; 32 | } 33 | } 34 | 35 | .bread__highlight { 36 | color: var(--link-color); 37 | 38 | &:hover { 39 | text-decoration: none; 40 | font-weight: bold; 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /sphinx_scylladb_theme/promo-banner.html: -------------------------------------------------------------------------------- 1 | 18 | -------------------------------------------------------------------------------- /docs/source/examples/substitutions.rst: -------------------------------------------------------------------------------- 1 | Substitutions 2 | ============= 3 | 4 | Substitutions are variables. They are declared in any document and defined in the ``conf.py`` file, ``rst_prolog`` setting. 5 | 6 | .. caution:: Do not use substitutions in headings. The reason is the text that replaces the variable may be longer than the line that is over or below the text and this will produce an error. 7 | 8 | Default substitutions 9 | --------------------- 10 | 11 | Projects using the theme can use the following substitutions: 12 | 13 | * ``|v|`` for |v| 14 | * ``|x|`` for |x| 15 | 16 | Substitutions within code blocks 17 | -------------------------------- 18 | 19 | To add substitutions within :doc:`Code blocks `, pass the option ``:substitutions:`` to the ``code-block`` directive. 20 | 21 | For example: 22 | 23 | .. code-block:: rst 24 | 25 | .. code-block:: 26 | :substitutions: 27 | 28 | |rst| 29 | 30 | Renders as: 31 | 32 | .. code-block:: 33 | :substitutions: 34 | 35 | |rst| 36 | -------------------------------------------------------------------------------- /docs/source/examples/toc.rst: -------------------------------------------------------------------------------- 1 | TOC 2 | === 3 | 4 | These directives create TOCs automatically 5 | 6 | .. contents:: 7 | :depth: 2 8 | :local: 9 | 10 | TOC 11 | --- 12 | 13 | The :abbr:`TOC (Table of Contents)` is automatically generated in sphinx when you build the site. 14 | 15 | Each index.rst needs to have a toctree directive in order to build the left side nav menu. 16 | 17 | .. code-block:: rst 18 | 19 | .. toctree:: 20 | :maxdepth: 2 21 | 22 | For more details, see `toctree documentation `_. 23 | 24 | Mini-TOC 25 | -------- 26 | 27 | Every topic which has more than one heading in it needs to have a mini-toc. 28 | The Contents directive creates a mini-TOC using the headings you have in the document. 29 | You can set the level of headings to include in the TOC. The recommended depth is 2 for H1 and H2. 30 | 31 | 32 | .. code-block:: rst 33 | 34 | .. contents:: 35 | :depth: 2 36 | :local: 37 | -------------------------------------------------------------------------------- /.github/workflows/multiversion-tests.yaml: -------------------------------------------------------------------------------- 1 | name: "Sphinx Multiversion Extension / Unit tests" 2 | 3 | on: 4 | pull_request: 5 | branches: 6 | - master 7 | paths: 8 | - "extensions/sphinx-multiversion/**" 9 | push: 10 | branches: 11 | - master 12 | paths: 13 | - "extensions/sphinx-multiversion/**" 14 | 15 | jobs: 16 | build: 17 | runs-on: ubuntu-latest 18 | defaults: 19 | run: 20 | working-directory: ./extensions/sphinx-multiversion 21 | steps: 22 | - name: Checkout 23 | uses: actions/checkout@v6 24 | with: 25 | persist-credentials: false 26 | fetch-depth: 0 27 | 28 | - name: Set up Python 29 | uses: actions/setup-python@v6 30 | with: 31 | python-version: '3.10' 32 | 33 | - name: Set up requirements 34 | run: python -m pip install -r requirements.txt 35 | 36 | - name: Setup extension 37 | run: python setup.py install 38 | 39 | - name: Run tests 40 | run: python -m unittest --verbose 41 | -------------------------------------------------------------------------------- /sphinx_scylladb_theme/side-nav.html: -------------------------------------------------------------------------------- 1 |
2 | 5 |
6 | 10 | 15 |
{% if versions and not theme_hide_versions_dropdown|tobool %}{% include 16 | 'versions.html' %}{% endif %}
17 |
18 | {{ navigation_tree(toctree, maxdepth=theme_navigation_depth|int, 19 | collapse=theme_collapse_navigation|tobool)}} 20 |
21 |
22 |
23 | -------------------------------------------------------------------------------- /src/css/components/_dropdowns.scss: -------------------------------------------------------------------------------- 1 | .scylla-dropdown { 2 | color: var(--text-color); 3 | font-size: $font-sm; 4 | line-height: 20px; 5 | 6 | a, 7 | a:hover, 8 | a:focus { 9 | color: var(--text-emphasis) !important; 10 | padding: 0 !important; 11 | } 12 | 13 | &__item { 14 | font-size: $font-md; 15 | padding: 15px; 16 | } 17 | 18 | &__title { 19 | /* Override Foundation */ 20 | color: inherit; 21 | align-items: center; 22 | display: flex !important; 23 | position: initial !important; 24 | &:after { 25 | display: none !important; 26 | } 27 | 28 | } 29 | 30 | &__content { 31 | @include floating; 32 | font-size: $font-md; 33 | list-style: none; 34 | margin-top: 1px; 35 | padding: $spacer-xs 0; 36 | width: max-content; 37 | 38 | li { 39 | padding: 7px 16px; 40 | 41 | a { 42 | display: flex; 43 | align-items: center; 44 | } 45 | 46 | i { 47 | font-size: 24px; 48 | margin-right: 10px; 49 | } 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /docs/source/configuration/index.rst: -------------------------------------------------------------------------------- 1 | Configuration 2 | ============= 3 | 4 | .. toctree:: 5 | :maxdepth: 2 6 | :hidden: 7 | 8 | template 9 | page 10 | multiversion 11 | markdown 12 | redirects 13 | ai-chatbot 14 | search 15 | dependabot 16 | 17 | .. panel-box:: 18 | :title: Overview 19 | :id: "getting-started" 20 | :class: my-panel 21 | 22 | * :doc:`Template options