Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
e8208df
Make the description at least a bit useful
hroncok Mar 5, 2019
74173e7
Merge pull request #1 from hroncok/patch-1
tk0miya Mar 5, 2019
56c1330
Fix #6229: htmlhelp builder generates invalid .hhc file
tk0miya Apr 7, 2019
517e36d
Merge pull request #2 from sphinx-doc/6229_invalid_hhc
tk0miya Apr 11, 2019
4aa6f8a
Bump version
tk0miya Apr 11, 2019
025967e
Fix mypy-0.730 violation
tk0miya Oct 6, 2019
92d6969
Merge pull request #3 from sphinx-doc/mypy-0.730
tk0miya Oct 6, 2019
c14c1c2
meta charset fix for cp1251
kpnr Dec 9, 2019
25bb7ed
Do testing with py38
tk0miya Jan 9, 2020
e235904
Separate "lint" extra requires from "test"
tk0miya Jan 9, 2020
83cf7a5
test: Use HEAD of html5lib in case of py39
tk0miya Jan 10, 2020
77b89a0
mypy: Disable strict_optional
tk0miya Jan 10, 2020
2b6f0f1
Merge pull request #5 from sphinx-doc/tests_with_py38
tk0miya Jan 10, 2020
703afb8
Fix #6685: htmlhelp builder should generate HTML4 docs instead of HTML5
tk0miya Feb 7, 2020
c250d2b
Merge pull request #6 from sphinx-doc/6685_html4
tk0miya Feb 7, 2020
be03167
Merge pull request #4 from kpnr/patch-1
tk0miya Feb 7, 2020
5019e39
Disable HTML5 header forcedly
tk0miya Feb 8, 2020
3015274
Merge pull request #7 from sphinx-doc/6685_html4
tk0miya Feb 8, 2020
10be129
Update CHANGES
tk0miya Feb 21, 2020
5590110
setup.py: Fix short description has been broken
tk0miya Feb 21, 2020
f7669f5
Bump version
tk0miya Feb 21, 2020
54bd133
Test with python 3.10
tk0miya May 30, 2020
793471b
Merge pull request #8 from sphinx-doc/test_with_py3.10
tk0miya May 30, 2020
ad2d974
Introduce gh-actions
shkumagai Mar 1, 2021
a6e7fa7
Merge pull request #9 from shkumagai/feature/introduce-gh-actions
tk0miya Mar 2, 2021
94089c8
Invoke CI on PR
tk0miya Mar 14, 2021
48d7743
Merge pull request #10 from tk0miya/invoke_ci_on_pr
tk0miya Mar 14, 2021
506f197
tox: Fix testenv for python3.10
tk0miya May 6, 2021
bf15667
test: Fix ImportError on loading htmlhelp builder
tk0miya May 7, 2021
8783158
CI: Do not test with python3.5
tk0miya May 7, 2021
35077e4
Merge pull request #12 from tk0miya/drop_py35
tk0miya May 7, 2021
9e1489b
Merge branch 'master' into tk0miya-patch-1
tk0miya May 7, 2021
89aba82
Merge pull request #11 from sphinx-doc/tk0miya-patch-1
tk0miya May 7, 2021
8322da1
Remove HTMLHelpBuilder.open_file()
tk0miya May 16, 2021
596e17b
Merge pull request #14 from tk0miya/remove_HTMLHelpBuilder.open_file
tk0miya May 22, 2021
9a8642e
Drop python3.5 support
tk0miya May 22, 2021
f9b842d
Merge pull request #15 from tk0miya/drop_py35
tk0miya May 22, 2021
a45a539
Update message catalogs
tk0miya May 22, 2021
1949f3c
Bump version
tk0miya May 22, 2021
03e2f73
Fix #9457: RemovedInSphinx50Warning on testing
tk0miya Jul 17, 2021
42e3497
CI: Install types-setuptools to invoke mypy
tk0miya Jul 17, 2021
96c67fa
Merge pull request #17 from tk0miya/mypy_types-setuptools
tk0miya Jul 17, 2021
0a8a6b6
Merge branch 'master' into 9457_test
tk0miya Jul 17, 2021
54e2cd5
Merge pull request #16 from tk0miya/9457_test
tk0miya Jul 17, 2021
a0abc5f
git mv setup.py pyproject.toml
AA-Turner Jan 23, 2023
97f5955
Use modern ``pyproject`` based packaging
AA-Turner Jan 23, 2023
b9d2d04
Drop support for Python 3.7 and below
AA-Turner Jan 23, 2023
9e8ca91
Move tool configuration to individual files
AA-Turner Jan 23, 2023
4b58855
Merge branch 'pyproject'
AA-Turner Jan 23, 2023
1a77cb8
Fix imports for Sphinx above 6.1
AA-Turner Jan 23, 2023
53d9116
Update Tox commands and environment list
AA-Turner Jan 23, 2023
fb852db
Update test matrix
AA-Turner Jan 23, 2023
edb77d2
Bump to 2.0.1 final
AA-Turner Jan 31, 2023
72d128a
Bump version
AA-Turner Jan 31, 2023
d0ffd90
Drop ``setuptools``
AA-Turner Mar 16, 2023
0ab4c74
Support Python 3.9 and later
AA-Turner Aug 7, 2023
26c4828
Add GHA release workflow
AA-Turner Aug 7, 2023
7fe8146
Invoke pytest directly
AA-Turner Aug 7, 2023
16efe59
Fix the quoting for installation from git
AA-Turner Aug 7, 2023
5770f29
Fix test failures
AA-Turner Aug 7, 2023
cc5eb7b
Fix path operations in tests
AA-Turner Aug 7, 2023
8bac286
Fix mypy errors
AA-Turner Aug 7, 2023
56a176f
Convert type comments to annotations
AA-Turner Aug 7, 2023
3b70213
fixup! Convert type comments to annotations
AA-Turner Aug 7, 2023
9e5ca14
Remove unused ``HTMLTranslator`` import
AA-Turner Aug 7, 2023
2ea70c8
Remove module titles in docstrings
AA-Turner Aug 7, 2023
b22c454
Add a workflow to synchronisation translations
AA-Turner Aug 7, 2023
995acb0
Remove outdated sections from README
AA-Turner Aug 7, 2023
3b422b2
Fix tag pattern
AA-Turner Aug 7, 2023
2cad431
Bump to 2.0.2 final
AA-Turner Aug 7, 2023
4ef79cd
Fix GitHub Release workflow
AA-Turner Aug 7, 2023
00b2f93
Test Sphinx's master branch distinctly from ordinary tests
AA-Turner Aug 9, 2023
90cc577
Run pytest with ``-vv``
AA-Turner Aug 9, 2023
8d50265
Restore support in tests for ``Sphinx<7.2``
AA-Turner Aug 9, 2023
6d86d6e
Bump to 2.0.3 final
AA-Turner Aug 9, 2023
0689218
Use ``os.PathLike`` over ``pathlib.Path``
AA-Turner Aug 14, 2023
37c114a
Bump to 2.0.4 final
AA-Turner Aug 14, 2023
0b573b5
Remove Sphinx as a required dependency (#18)
phlax Jan 13, 2024
ab0281c
Bump to 2.0.5 final
AA-Turner Jan 13, 2024
d1c6f3c
Fix tests for Sphinx 7.4 (#20)
AA-Turner Jul 20, 2024
c18db66
Bump to 2.0.6 final
AA-Turner Jul 20, 2024
1e79ff1
Update .gitignore
AA-Turner Jul 27, 2024
b8ecd96
Adopt Ruff and use stricter MyPy settings
AA-Turner Jul 28, 2024
c1719ba
Enable GitHub's dependabot package update service
AA-Turner Jul 28, 2024
efbe454
Use the latest GitHub actions versions
AA-Turner Jul 28, 2024
dfad566
Fix test_htmlhelp; use the basic theme
AA-Turner Jul 28, 2024
85e1300
Run mypy without command-line options
AA-Turner Jul 28, 2024
a0180d2
Run CI with Python 3.12 releases
AA-Turner Jul 28, 2024
61528e2
Rename CHANGES to CHANGES.rst
AA-Turner Jul 28, 2024
471b9b9
Rename LICENSE to LICENCE.rst
AA-Turner Jul 28, 2024
0f92abe
Update CHANGES links
AA-Turner Jul 28, 2024
9ef18be
Escape HTML entities
AA-Turner Jul 29, 2024
3032a27
Bump to 2.1.0
AA-Turner Jul 29, 2024
76cc760
Fix typo in epilog message (.htp -> .hhp)
wavebyrd Mar 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "daily"
90 changes: 90 additions & 0 deletions .github/workflows/create-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: Create release

on:
push:
tags:
- "*.*.*"
workflow_dispatch:

permissions:
contents: read

jobs:
publish-pypi:
runs-on: ubuntu-latest
name: PyPI Release
environment: release
permissions:
id-token: write # for PyPI trusted publishing
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3
cache: pip
cache-dependency-path: pyproject.toml

- name: Install build dependencies (pypa/build, twine)
run: |
pip install -U pip
pip install build twine

- name: Build distribution
run: python -m build

- name: Mint PyPI API token
id: mint-token
uses: actions/github-script@v7
with:
# language=JavaScript
script: |
// retrieve the ambient OIDC token
const oidc_request_token = process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN;
const oidc_request_url = process.env.ACTIONS_ID_TOKEN_REQUEST_URL;
const oidc_resp = await fetch(`${oidc_request_url}&audience=pypi`, {
headers: {Authorization: `bearer ${oidc_request_token}`},
});
const oidc_token = (await oidc_resp.json()).value;

// exchange the OIDC token for an API token
const mint_resp = await fetch('https://pypi.org/_/oidc/github/mint-token', {
method: 'post',
body: `{"token": "${oidc_token}"}` ,
headers: {'Content-Type': 'application/json'},
});
const api_token = (await mint_resp.json()).token;

// mask the newly minted API token, so that we don't accidentally leak it
core.setSecret(api_token)
core.setOutput('api-token', api_token)

- name: Upload to PyPI
env:
TWINE_NON_INTERACTIVE: "true"
TWINE_USERNAME: "__token__"
TWINE_PASSWORD: "${{ steps.mint-token.outputs.api-token }}"
run: |
twine check dist/*
twine upload dist/*

github-release:
runs-on: ubuntu-latest
name: GitHub release
environment: release
permissions:
contents: write # for softprops/action-gh-release to create GitHub release
steps:
- uses: actions/checkout@v4
- name: Get release version
id: get_version
uses: actions/github-script@v7
with:
script: core.setOutput('version', context.ref.replace("refs/tags/", ""))

- name: Create GitHub release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
name: "sphinxcontrib-htmlhelp ${{ steps.get_version.outputs.version }}"
body: "Changelog: https://github.com/sphinx-doc/sphinxcontrib-htmlhelp/blob/master/CHANGES.rst"
91 changes: 91 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: Test
on:
push:
pull_request:
workflow_dispatch:

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

env:
FORCE_COLOR: "1"
PYTHONDEVMODE: "1" # -X dev
PYTHONWARNDEFAULTENCODING: "1" # -X warn_default_encoding

jobs:
tests:
runs-on: ubuntu-latest
strategy:
matrix:
python:
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "3.13-dev"
fail-fast: false

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v5
if: "!endsWith(matrix.python, '-dev')"
with:
python-version: ${{ matrix.python }}
- name: Set up Python ${{ matrix.python }} (deadsnakes)
uses: deadsnakes/action@v3.1.0
if: "endsWith(matrix.python, '-dev')"
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install .[standalone,test]

- name: Test with pytest
run: python -m pytest -vv --durations 25

test-latest-sphinx:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v5
with:
python-version: "3"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install .[test]
python -m pip install "Sphinx @ git+https://github.com/sphinx-doc/sphinx"

- name: Test with pytest
run: python -m pytest -vv --durations 25

lint:
runs-on: ubuntu-latest
strategy:
matrix:
env:
- ruff
- mypy

steps:
- uses: actions/checkout@v4
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: "3"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install --upgrade tox

- name: Run tox
run: tox -e ${{ matrix.env }}
75 changes: 75 additions & 0 deletions .github/workflows/transifex.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: Synchronise translations

on:
schedule:
# 22:38 GMT, every Sunday. Chosen to be a random time.
- cron: "38 22 * * SUN"
workflow_dispatch:

permissions:
contents: read

jobs:
push:
if: github.repository_owner == 'sphinx-doc'
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3
- name: Install transifex client
run: |
mkdir -p /tmp/tx_cli && cd $_
curl -o- https://raw.githubusercontent.com/transifex/cli/master/install.sh | bash
shell: bash
- name: Install dependencies
run: pip install --upgrade babel jinja2
- name: Extract translations from source code
run: python utils/babel_runner.py extract
- name: Push translations to transifex.com
run: |
cd sphinxcontrib/htmlhelp/locales
/tmp/tx_cli/tx push --source --use-git-timestamps --workers 10
env:
TX_TOKEN: ${{ secrets.TX_TOKEN }}

pull:
permissions:
contents: write # for peter-evans/create-pull-request to create branch
pull-requests: write # for peter-evans/create-pull-request to create a PR
if: github.repository_owner == 'sphinx-doc'
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3
- name: Install transifex client
run: |
mkdir -p /tmp/tx_cli && cd $_
curl -o- https://raw.githubusercontent.com/transifex/cli/master/install.sh | bash
shell: bash
- name: Install dependencies
run: pip install --upgrade babel jinja2
- name: Extract translations from source code
run: python utils/babel_runner.py extract
- name: Pull translations from transifex.com
run: |
cd sphinxcontrib/htmlhelp/locales
/tmp/tx_cli/tx pull --translations --all --force --use-git-timestamps --workers 10
env:
TX_TOKEN: ${{ secrets.TX_TOKEN }}
- name: Compile message catalogs
run: python utils/babel_runner.py compile
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
with:
commit-message: "[internationalisation] Update translations"
branch: bot/pull-translations
title: "[bot]: Update message catalogues"
labels: "internals:internationalisation"
12 changes: 8 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
*.pyc
*.egg
*.so
*.swp

.DS_Store
idea/
.vscode/

.mypy_cache/
.pytest_cache/
.ruff_cache/
.tags
.tox/

.venv/
venv/

build/
dist/
sphinxcontrib_htmlhelp.egg-info/
53 changes: 53 additions & 0 deletions .ruff.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
target-version = "py39" # Pin Ruff to Python 3.9
output-format = "full"
line-length = 95

[lint]
preview = true
select = [
# "ANN", # flake8-annotations
"C4", # flake8-comprehensions
"COM", # flake8-commas
"B", # flake8-bugbear
"DTZ", # flake8-datetimez
"E", # pycodestyle
"EM", # flake8-errmsg
"EXE", # flake8-executable
"F", # pyflakes
"FA", # flake8-future-annotations
"FLY", # flynt
"FURB", # refurb
"G", # flake8-logging-format
"I", # isort
"ICN", # flake8-import-conventions
"INT", # flake8-gettext
"LOG", # flake8-logging
"PERF", # perflint
"PGH", # pygrep-hooks
"PIE", # flake8-pie
"PT", # flake8-pytest-style
"SIM", # flake8-simplify
"SLOT", # flake8-slots
"TCH", # flake8-type-checking
"UP", # pyupgrade
"W", # pycodestyle
"YTT", # flake8-2020
]
ignore = [
"E116",
"E241",
"E251",
]

[lint.per-file-ignores]
"tests/*" = [
"ANN", # tests don't need annotations
]

[lint.isort]
forced-separate = [
"tests",
]
required-imports = [
"from __future__ import annotations",
]
28 changes: 0 additions & 28 deletions .travis.yml

This file was deleted.

9 changes: 0 additions & 9 deletions CHANGES

This file was deleted.

Loading
Loading