Skip to content

Commit

Permalink
Adapt documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
botpub committed Oct 29, 2023
1 parent 54a60c9 commit c7b5797
Show file tree
Hide file tree
Showing 7 changed files with 64 additions and 45 deletions.
84 changes: 51 additions & 33 deletions docs/conf.py
Expand Up @@ -2,48 +2,58 @@
import os
import sys

from pelican import __version__
if sys.version_info >= (3, 11):
import tomllib
else:
import tomli as tomllib


sys.path.append(os.path.abspath(os.pardir))


with open("../pyproject.toml", "rb") as f:
project_data = tomllib.load(f).get("project")
if project_data is None:
raise KeyError("project data is not found")


# -- General configuration ----------------------------------------------------
templates_path = ['_templates']
templates_path = ["_templates"]
extensions = [
"sphinx.ext.autodoc",
"sphinx.ext.ifconfig",
"sphinx.ext.extlinks",
"sphinxext.opengraph",
]
source_suffix = '.rst'
master_doc = 'index'
project = 'Pelican'
source_suffix = ".rst"
master_doc = "index"
project = project_data.get("name").upper()
year = datetime.datetime.now().date().year
copyright = f'2010–{year}'
exclude_patterns = ['_build']
release = __version__
version = '.'.join(release.split('.')[:1])
last_stable = __version__
rst_prolog = '''
.. |last_stable| replace:: :pelican-doc:`{}`
'''.format(last_stable)

extlinks = {
'pelican-doc': ('https://docs.getpelican.com/en/latest/%s.html', '%s')
}
copyright = f"2010–{year}"
exclude_patterns = ["_build"]
release = project_data.get("version")
version = ".".join(release.split(".")[:1])
last_stable = project_data.get("version")
rst_prolog = f"""
.. |last_stable| replace:: :pelican-doc:`{last_stable}`
.. |min_python| replace:: {project_data.get('requires-python').split(",")[0]}
"""

extlinks = {"pelican-doc": ("https://docs.getpelican.com/en/latest/%s.html", "%s")}

# -- Options for HTML output --------------------------------------------------

html_theme = 'furo'
html_title = f'<strong>{project}</strong> <i>{release}</i>'
html_static_path = ['_static']
html_theme = "furo"
html_title = f"<strong>{project}</strong> <i>{release}</i>"
html_static_path = ["_static"]
html_theme_options = {
'light_logo': 'pelican-logo.svg',
'dark_logo': 'pelican-logo.svg',
'navigation_with_keys': True,
"light_logo": "pelican-logo.svg",
"dark_logo": "pelican-logo.svg",
"navigation_with_keys": True,
}

# Output file base name for HTML help builder.
htmlhelp_basename = 'Pelicandoc'
htmlhelp_basename = "Pelicandoc"

html_use_smartypants = True

Expand All @@ -59,21 +69,29 @@

def setup(app):
# overrides for wide tables in RTD theme
app.add_css_file('theme_overrides.css') # path relative to _static
app.add_css_file("theme_overrides.css") # path relative to _static


# -- Options for LaTeX output -------------------------------------------------
latex_documents = [
('index', 'Pelican.tex', 'Pelican Documentation', 'Justin Mayer',
'manual'),
("index", "Pelican.tex", "Pelican Documentation", "Justin Mayer", "manual"),
]

# -- Options for manual page output -------------------------------------------
man_pages = [
('index', 'pelican', 'pelican documentation',
['Justin Mayer'], 1),
('pelican-themes', 'pelican-themes', 'A theme manager for Pelican',
['Mickaël Raybaud'], 1),
('themes', 'pelican-theming', 'How to create themes for Pelican',
['The Pelican contributors'], 1)
("index", "pelican", "pelican documentation", ["Justin Mayer"], 1),
(
"pelican-themes",
"pelican-themes",
"A theme manager for Pelican",
["Mickaël Raybaud"],
1,
),
(
"themes",
"pelican-theming",
"How to create themes for Pelican",
["The Pelican contributors"],
1,
),
]
12 changes: 6 additions & 6 deletions docs/contribute.rst
Expand Up @@ -15,16 +15,16 @@ Setting up the development environment
======================================

While there are many ways to set up one's development environment, the following
instructions will utilize Pip_ and Poetry_. These tools facilitate managing
instructions will utilize Pip_ and pdm_. These tools facilitate managing
virtual environments for separate Python projects that are isolated from one
another, so you can use different packages (and package versions) for each.

Please note that Python 3.7+ is required for Pelican development.
Please note that Python |min_python| is required for Pelican development.

*(Optional)* If you prefer to `install Poetry <https://python-poetry.org/docs/master/#installation>`_ once for use with multiple projects,
*(Optional)* If you prefer to `install pdm <https://pdm.fming.dev/latest/#installation>`_ once for use with multiple projects,
you can install it via::

curl -sSL https://install.python-poetry.org | python3 -
curl -sSL https://pdm.fming.dev/install-pdm.py | python3 -

Point your web browser to the `Pelican repository`_ and tap the **Fork** button
at top-right. Then clone the source for your fork and add the upstream project
Expand All @@ -35,7 +35,7 @@ as a Git remote::
cd ~/projects/pelican
git remote add upstream https://github.com/getpelican/pelican.git

While Poetry can dynamically create and manage virtual environments, we're going
While pdm can dynamically create and manage virtual environments, we're going
to manually create and activate a virtual environment::

mkdir ~/virtualenvs && cd ~/virtualenvs
Expand All @@ -51,7 +51,7 @@ Install the needed dependencies and set up the project::
Your local environment should now be ready to go!

.. _Pip: https://pip.pypa.io/
.. _Poetry: https://python-poetry.org/
.. _pdm: https://pdm.fming.dev/latest/
.. _Pelican repository: https://github.com/getpelican/pelican

Development
Expand Down
2 changes: 1 addition & 1 deletion docs/install.rst
@@ -1,7 +1,7 @@
Installing Pelican
##################

Pelican currently runs best on 3.7+; earlier versions of Python are not supported.
Pelican currently runs best on |min_python|; earlier versions of Python are not supported.

You can install Pelican via several different methods. The simplest is via Pip_::

Expand Down
2 changes: 1 addition & 1 deletion docs/quickstart.rst
Expand Up @@ -8,7 +8,7 @@ Installation
------------

Install Pelican (and optionally Markdown if you intend to use it) on Python
3.7+ by running the following command in your preferred terminal, prefixing
|min_python| by running the following command in your preferred terminal, prefixing
with ``sudo`` if permissions warrant::

python -m pip install "pelican[markdown]"
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Expand Up @@ -65,7 +65,6 @@ git-email = "52496925+botpub@users.noreply.github.com"
changelog-file = "docs/changelog.rst"
changelog-header = "###############"
version-header = "="
version-strings = ["pyproject.toml"]

[tool.pdm]

Expand Down Expand Up @@ -97,6 +96,7 @@ dev = [
"isort<6.0,>=5.2",
"black<20.0,>=19.10b0",
"ruff>=0.1.3,<1.0.0",
"tomli;python_version<'3.11'",
]

[build-system]
Expand Down
1 change: 1 addition & 0 deletions requirements/docs.pip
Expand Up @@ -2,3 +2,4 @@ sphinx<6.0
sphinxext-opengraph
furo
livereload
tomli;python_version<"3.11"
6 changes: 3 additions & 3 deletions tasks.py
Expand Up @@ -15,8 +15,8 @@
VENV = str(VENV_PATH.expanduser())
VENV_BIN = Path(VENV) / Path(BIN_DIR)

TOOLS = ["poetry", "pre-commit", "psutil"]
POETRY = which("poetry") or VENV_BIN / "poetry"
TOOLS = ["pdm", "pre-commit", "psutil"]
PDM = which("pdm") or VENV_BIN / "pdm"
PRECOMMIT = which("pre-commit") or VENV_BIN / "pre-commit"


Expand Down Expand Up @@ -107,7 +107,7 @@ def precommit(c):
def setup(c):
c.run(f"{VENV_BIN}/python -m pip install -U pip", pty=PTY)
tools(c)
c.run(f"{POETRY} install", pty=PTY)
c.run(f"{PDM} install", pty=PTY)
precommit(c)


Expand Down

0 comments on commit c7b5797

Please sign in to comment.