mirror of
https://github.com/simonw/sqlite-utils.git
synced 2026-09-18 06:24:23 +02:00
The docs already escape '--' as '\\--' inside cross-references like
:ref:`insert \--convert <cli_insert_convert>`
but the Sphinx smart-quotes filter still rewrites the two dashes to an
en dash (–) in the rendered HTML, so the page ends up reading 'insert
–convert' / 'query –functions' instead of the actual flag names.
The smart-quotes default action is "qDe" (quotes + dashes + ellipses).
Drop the "D" so we only get smart quotes for actual quotes and
ellipses, and dashes pass through unchanged. The existing '\--'
escapes are now redundant but harmless, so leaving them to keep the
diff small.
Closes #493
Signed-off-by: Charlie Tonneslan <cst0520@gmail.com>
201 lines
6 KiB
Python
201 lines
6 KiB
Python
#!/usr/bin/env python3
|
||
# -*- coding: utf-8 -*-
|
||
|
||
from subprocess import Popen, PIPE
|
||
from beanbag_docutils.sphinx.ext.github import github_linkcode_resolve
|
||
|
||
# This file is execfile()d with the current directory set to its
|
||
# containing dir.
|
||
#
|
||
# Note that not all possible configuration values are present in this
|
||
# autogenerated file.
|
||
#
|
||
# All configuration values have a default; values that are commented out
|
||
# serve to show the default.
|
||
|
||
# If extensions (or modules to document with autodoc) are in another directory,
|
||
# add these directories to sys.path here. If the directory is relative to the
|
||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||
#
|
||
# import os
|
||
# import sys
|
||
# sys.path.insert(0, os.path.abspath('.'))
|
||
|
||
|
||
# -- General configuration ------------------------------------------------
|
||
|
||
# If your documentation needs a minimal Sphinx version, state it here.
|
||
#
|
||
# needs_sphinx = '1.0'
|
||
|
||
# Add any Sphinx extension module names here, as strings. They can be
|
||
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
||
# ones.
|
||
extensions = [
|
||
"sphinx.ext.extlinks",
|
||
"sphinx.ext.autodoc",
|
||
"sphinx_copybutton",
|
||
"sphinx.ext.linkcode",
|
||
]
|
||
autodoc_member_order = "bysource"
|
||
autodoc_typehints = "description"
|
||
|
||
extlinks = {
|
||
"issue": ("https://github.com/simonw/sqlite-utils/issues/%s", "#%s"),
|
||
}
|
||
|
||
|
||
def linkcode_resolve(domain, info):
|
||
return github_linkcode_resolve(
|
||
domain=domain,
|
||
info=info,
|
||
allowed_module_names=["sqlite_utils"],
|
||
github_org_id="simonw",
|
||
github_repo_id="sqlite-utils",
|
||
branch="main",
|
||
)
|
||
|
||
|
||
# Add any paths that contain templates here, relative to this directory.
|
||
templates_path = ["_templates"]
|
||
|
||
# The suffix(es) of source filenames.
|
||
# You can specify multiple suffix as a list of string:
|
||
#
|
||
# source_suffix = ['.rst', '.md']
|
||
source_suffix = ".rst"
|
||
|
||
# The master toctree document.
|
||
master_doc = "index"
|
||
|
||
# General information about the project.
|
||
project = "sqlite-utils"
|
||
copyright = "2018-2022, Simon Willison"
|
||
author = "Simon Willison"
|
||
|
||
# The version info for the project you're documenting, acts as replacement for
|
||
# |version| and |release|, also used in various other places throughout the
|
||
# built documents.
|
||
#
|
||
# The short X.Y version.
|
||
pipe = Popen("git describe --tags --always", stdout=PIPE, shell=True)
|
||
git_version = pipe.stdout.read().decode("utf8") if pipe.stdout else ""
|
||
|
||
if git_version:
|
||
version = git_version.rsplit("-", 1)[0]
|
||
release = git_version
|
||
else:
|
||
version = ""
|
||
release = ""
|
||
|
||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||
# for a list of supported languages.
|
||
#
|
||
# This is also used if you do content translation via gettext catalogs.
|
||
# Usually you set "language" from the command line for these cases.
|
||
language = "en"
|
||
|
||
# List of patterns, relative to source directory, that match files and
|
||
# directories to ignore when looking for source files.
|
||
# This patterns also effect to html_static_path and html_extra_path
|
||
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
|
||
|
||
# The name of the Pygments (syntax highlighting) style to use.
|
||
pygments_style = "sphinx"
|
||
|
||
# Only syntax highlight of code-block is used:
|
||
highlight_language = "none"
|
||
|
||
# If true, `todo` and `todoList` produce output, else they produce nothing.
|
||
todo_include_todos = False
|
||
|
||
# Smart-quote substitutions, but skip the dash transformations. Without this,
|
||
# "--" inside cross-references like :ref:`insert --convert <...>` gets rewritten
|
||
# to en/em dashes (the en dash "–"), which is the bug from
|
||
# https://github.com/simonw/sqlite-utils/issues/493. The default action is
|
||
# "qDe"; dropping the "D" keeps SmartQuotes for quotes ("q") and ellipses
|
||
# ("e") while leaving "--" alone.
|
||
smartquotes_action = "qe"
|
||
|
||
|
||
# -- Options for HTML output ----------------------------------------------
|
||
|
||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||
# a list of builtin themes.
|
||
#
|
||
html_theme = "furo"
|
||
html_title = "sqlite-utils"
|
||
|
||
# Theme options are theme-specific and customize the look and feel of a theme
|
||
# further. For a list of options available for each theme, see the
|
||
# documentation.
|
||
#
|
||
# html_theme_options = {}
|
||
|
||
# Add any paths that contain custom static files (such as style sheets) here,
|
||
# relative to this directory. They are copied after the builtin static files,
|
||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||
html_static_path = ["_static"]
|
||
|
||
html_js_files = ["js/custom.js"]
|
||
|
||
# -- Options for HTMLHelp output ------------------------------------------
|
||
|
||
# Output file base name for HTML help builder.
|
||
htmlhelp_basename = "sqlite-utils-doc"
|
||
|
||
|
||
# -- Options for LaTeX output ---------------------------------------------
|
||
|
||
latex_elements = {
|
||
# The paper size ('letterpaper' or 'a4paper').
|
||
#
|
||
# 'papersize': 'letterpaper',
|
||
# The font size ('10pt', '11pt' or '12pt').
|
||
#
|
||
# 'pointsize': '10pt',
|
||
# Additional stuff for the LaTeX preamble.
|
||
#
|
||
# 'preamble': '',
|
||
# Latex figure (float) alignment
|
||
#
|
||
# 'figure_align': 'htbp',
|
||
}
|
||
|
||
# Grouping the document tree into LaTeX files. List of tuples
|
||
# (source start file, target name, title,
|
||
# author, documentclass [howto, manual, or own class]).
|
||
latex_documents = [
|
||
(
|
||
master_doc,
|
||
"sqlite-utils.tex",
|
||
"sqlite-utils documentation",
|
||
"Simon Willison",
|
||
"manual",
|
||
)
|
||
]
|
||
|
||
|
||
# -- Options for manual page output ---------------------------------------
|
||
|
||
# One entry per manual page. List of tuples
|
||
# (source start file, name, description, authors, manual section).
|
||
man_pages = [(master_doc, "sqlite-utils", "sqlite-utils documentation", [author], 1)]
|
||
|
||
|
||
# -- Options for Texinfo output -------------------------------------------
|
||
|
||
# Grouping the document tree into Texinfo files. List of tuples
|
||
# (source start file, target name, title, author,
|
||
# dir menu entry, description, category)
|
||
texinfo_documents = [
|
||
(
|
||
master_doc,
|
||
"sqlite-utils",
|
||
"sqlite-utils documentation",
|
||
author,
|
||
"sqlite-utils",
|
||
"Python library for manipulating SQLite databases",
|
||
"Miscellaneous",
|
||
)
|
||
]
|