chore: release v0.0.1
This commit is contained in:
183
docs/source/conf.py
Normal file
183
docs/source/conf.py
Normal file
@@ -0,0 +1,183 @@
|
||||
# Copyright (C) 2020-2025 Motphys Technology Co., Ltd. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
# ==============================================================================
|
||||
|
||||
# Configuration file for the Sphinx documentation builder.
|
||||
#
|
||||
# For the full list of built-in configuration values, see the documentation:
|
||||
# https://www.sphinx-doc.org/en/master/usage/configuration.html
|
||||
|
||||
import os
|
||||
import shutil
|
||||
from pathlib import Path
|
||||
|
||||
__version__ = "0.1.0"
|
||||
|
||||
# -- Project information -----------------------------------------------------
|
||||
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
|
||||
|
||||
project = "Motrixlab"
|
||||
copyright = "2025, Motphys"
|
||||
author = "Motphys"
|
||||
release = __version__
|
||||
version = __version__
|
||||
language = "zh_CN"
|
||||
|
||||
|
||||
def setup(app):
|
||||
app.connect("builder-inited", copy_file_by_language)
|
||||
|
||||
|
||||
def copy_file_by_language(app):
|
||||
"""根据语言配置复制语言目录"""
|
||||
lang = app.config.language
|
||||
srcdir = Path(app.srcdir)
|
||||
|
||||
lang_dir = srcdir / lang
|
||||
if lang_dir.exists() and lang_dir.is_dir():
|
||||
shutil.copytree(lang_dir, srcdir, dirs_exist_ok=True, copy_function=shutil.copy2)
|
||||
print(f"Copied language directory: {lang_dir} -> {srcdir}")
|
||||
else:
|
||||
print(f"[WARNING] Language directory not found: {lang_dir}")
|
||||
|
||||
|
||||
# -- General configuration ---------------------------------------------------
|
||||
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
||||
|
||||
extensions = [
|
||||
# Include documentation from docstrings
|
||||
"sphinx.ext.autodoc",
|
||||
# Support for NumPy and Google style docstrings
|
||||
"sphinx.ext.napoleon",
|
||||
# Generate autodoc summaries
|
||||
"sphinx.ext.autosummary",
|
||||
# Extending your autodoc API docs with a summary
|
||||
"autodocsumm",
|
||||
"sphinx.ext.mathjax",
|
||||
"sphinx.ext.viewcode",
|
||||
"sphinx.ext.intersphinx",
|
||||
"sphinx_copybutton",
|
||||
"myst_parser",
|
||||
"sphinx_subfigure",
|
||||
"sphinxcontrib.video",
|
||||
"sphinx_togglebutton",
|
||||
"sphinx_design",
|
||||
]
|
||||
|
||||
# https://sphinx-design.readthedocs.io/en/pydata-theme/get_started.html#usage
|
||||
myst_enable_extensions = ["colon_fence", "deflist"]
|
||||
|
||||
### Autodoc configurations ###
|
||||
# put type hints inside the signature instead of the description (easier to maintain)
|
||||
autodoc_typehints = "both"
|
||||
# Define the order in which automodule and autoclass members are listed
|
||||
autodoc_member_order = "groupwise"
|
||||
# default autodoc settings
|
||||
autodoc_default_options = {
|
||||
"autosummary": True,
|
||||
}
|
||||
|
||||
autodoc_typehints_description_target = "all"
|
||||
autodoc_default_flags = ["members", "show-inheritance", "undoc-members"]
|
||||
|
||||
|
||||
# generate autosummary even if no references
|
||||
autosummary_generate = True
|
||||
autosummary_generate_overwrite = False
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ["_templates"]
|
||||
# List of patterns, relative to source directory, that match files and
|
||||
# directories to ignore when looking for source files.
|
||||
# This pattern also affects html_static_path and html_extra_path.
|
||||
exclude_patterns = ["index_*.md", "api_reference/low**", "zh_CN/**", "en/**"]
|
||||
|
||||
# https://myst-parser.readthedocs.io/en/latest/syntax/optional.html
|
||||
myst_enable_extensions = ["colon_fence", "dollarmath"]
|
||||
# https://github.com/executablebooks/MyST-Parser/issues/519#issuecomment-1037239655
|
||||
myst_heading_anchors = 4
|
||||
|
||||
# -- Options for HTML output -------------------------------------------------
|
||||
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
|
||||
html_title = "Motrixlab Documentation"
|
||||
html_theme = "pydata_sphinx_theme"
|
||||
html_static_path = ["_static"]
|
||||
html_logo = "_static/Motphys_logo_Black.svg"
|
||||
html_favicon = "_static/Motphys_Logo_only_Black_100x100px.svg"
|
||||
html_show_copyright = True
|
||||
html_show_sphinx = False
|
||||
html_last_updated_fmt = "" # to reveal the build date in the pages meta
|
||||
|
||||
html_theme_options = {
|
||||
# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/navigation.html
|
||||
"show_nav_level": 2,
|
||||
# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/source-buttons.html#add-an-edit-button
|
||||
"use_edit_page_button": False,
|
||||
# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/indices.html#add-indices-links
|
||||
"primary_sidebar_end": ["indices.html"],
|
||||
"logo": {
|
||||
"image_light": "_static/Motphys_logo_Black.svg",
|
||||
"image_dark": "_static/Motphys_logo_White.svg",
|
||||
},
|
||||
# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/layout.html#configure-the-navbar-center-alignment
|
||||
"navbar_start": ["navbar-logo"],
|
||||
"navbar_center": ["navbar-nav"], # "version-switcher"
|
||||
"navbar_persistent": ["search-field.html"],
|
||||
"navbar_end": ["navbar-icon-links", "theme-switcher"],
|
||||
# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/layout.html#configure-the-navbar-center-alignment
|
||||
"navbar_align": "content",
|
||||
# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/page-toc.html#per-page-secondary-sidebar-content
|
||||
"secondary_sidebar_items": ["page-toc", "sidebar-ethical-ads"],
|
||||
# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/layout.html#footer-content
|
||||
"show_prev_next": True,
|
||||
# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/announcements.html#version-warning-banners
|
||||
"show_version_warning_banner": False,
|
||||
# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/layout.html#footer-content
|
||||
"footer_start": ["copyright", "sphinx-version"],
|
||||
"footer_end": ["theme-version"],
|
||||
# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/header-links.html#navigation-bar-external-links
|
||||
"external_links": [
|
||||
{"name": "Issues", "url": "https://github.com/Motphys/MotrixLab/issues"},
|
||||
{"name": "Discussions", "url": "https://github.com/Motphys/MotrixLab/discussions"},
|
||||
],
|
||||
"header_links_before_dropdown": 2,
|
||||
# https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/header-links.html#icon-links
|
||||
"icon_links": [
|
||||
{
|
||||
# Label for this link
|
||||
"name": "GitHub",
|
||||
# URL where the link will redirect
|
||||
"url": "https://github.com/Motphys/MotrixLab", # required
|
||||
# Icon class (if "type": "fontawesome"), or path to local image (if "type": "local")
|
||||
"icon": "fa-brands fa-github",
|
||||
"type": "fontawesome",
|
||||
},
|
||||
{
|
||||
"name": "About Motphys",
|
||||
"url": "https://www.motphys.com",
|
||||
"icon": "fa-solid fa-building",
|
||||
"type": "fontawesome",
|
||||
},
|
||||
],
|
||||
}
|
||||
project_version = os.environ.get("READTHEDOCS_VERSION")
|
||||
if project_version is None:
|
||||
project_version = __version__
|
||||
html_context = {}
|
||||
html_css_files = [
|
||||
"css/custom.css",
|
||||
]
|
||||
html_js_files = [
|
||||
"js/custom.js",
|
||||
]
|
||||
Reference in New Issue
Block a user