Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
418 commits
Select commit Hold shift + click to select a range
fa9efa1
Readme: direct users to use PIP when installing SCons and Markdown, u…
josephsl Mar 3, 2021
2666b7c
SConstruct: update copyright year
josephsl Mar 3, 2021
c0c882b
SConstruct: remove Python 2 support.
josephsl Mar 3, 2021
22d6eeb
SConstruct: ecetp -> except Exception (Flake8 E722 lint)
josephsl Mar 4, 2021
4949c1b
Build Vars: clarify Markdown extensions list format
josephsl Mar 4, 2021
c94190f
SConstruct: use Markdown extensions list defined in build vars.
josephsl Mar 4, 2021
da6cd61
Readme: SCons 4.3.0, Markdown 3.3.0 or later
josephsl May 19, 2022
30be768
SConstruct: update copyright year
josephsl May 19, 2022
1532239
Flake8 (additional tools): add a basic Flake8 config file.
josephsl May 19, 2022
1fb8f6e
Readme: add notes on additional tools such as Flake8 config ifle
josephsl May 19, 2022
8b50935
add workflow
alekssamos Oct 11, 2022
604eae8
add pre-commit
alekssamos Oct 11, 2022
61eaa45
add information about GH Actions
alekssamos Oct 11, 2022
314280b
Merge pull request #23 from alekssamos/master
josephsl Oct 12, 2022
9f70adb
BuidVars: add some fields from NV Access add-on datastore. Re #22.
josephsl Oct 12, 2022
478dfb5
SConstruct: define a json generator function. Re #22.
josephsl Oct 12, 2022
ad25683
SConstruct: call json generaor after creating dd-on bundle. Re #22.
josephsl Oct 12, 2022
3188020
SConstruct: Flake8 - add whitespace
josephsl Oct 12, 2022
c398ca4
GitHub Actions: comment out building on main/master branch to avoid u…
josephsl Oct 12, 2022
6e8a02d
Readme: edit GitHub Actions line on main/master branch push
josephsl Oct 12, 2022
89db11e
Readme: document additional build vars fields such as license
josephsl Oct 12, 2022
cf3995b
Update copyright year
josephsl Dec 31, 2022
895bfd3
SConstruct: add 'versionNumber' argument.
josephsl Dec 31, 2022
1b16393
SConstruct: validate version number string.
josephsl Dec 31, 2022
83a8131
SConstruct/json generator: fill in add-on version major.minor.patch b…
josephsl Dec 31, 2022
541d856
SConstruct (Flake8 E501): shorten comment
josephsl Dec 31, 2022
9c02809
Readme: document versionNumber argument
josephsl Dec 31, 2022
f035537
Add workspace configuration for VS Code
nvdaes Feb 4, 2023
20475bb
Update readme
nvdaes Feb 4, 2023
a9968a4
SConstruct: handle minimum and last teted NVDA versions being None.
josephsl Feb 4, 2023
2ef1ada
Merge branch 'master' into vsCodeSupport
josephsl Feb 4, 2023
b861315
Merge pull request #24 from nvdaaddons/vsCodeSupport
josephsl Feb 4, 2023
07c8859
SConstruct: for dev biuds, default to YYYYMMDD.0.0 for version number.
josephsl Feb 28, 2023
b84938a
Readme: add info on add-on store
josephsl Mar 1, 2023
68b09c1
Add-on store entry generator: remove ad-on name from json file to com…
josephsl Mar 2, 2023
ceb4b2f
Add-on store: add template json file
josephsl Mar 2, 2023
4229773
Ignore JSON file generated for the add-on store.
CyrilleB79 Mar 8, 2023
a470981
Also ignore manifest.ini instead of all .ini files
CyrilleB79 Mar 8, 2023
0dccfa5
readme: Corrected the path in the GH workflows comments to ".github/w…
Feb 11, 2023
192031b
readme: In section "To create a new NVDA add-on using this template":
Feb 11, 2023
23858a8
readme: In section "To create a new NVDA add-on using this template:"…
Feb 11, 2023
b0965d1
readme: Minor typos/grammar
Feb 11, 2023
069a384
readme: Added a note to requirements section, about using cloud based…
Feb 11, 2023
f83c84e
readme: Replaced more bolding markdown with code markers, and added o…
Feb 11, 2023
02ac23a
readme: Added the need to copy .pre-commit-config.yaml to the list of…
Feb 11, 2023
ca9a518
Added a note to step 5 in readme, about adjusting paths in buildVars.
Mar 13, 2023
df94014
Merge pull request #26 from CyrilleB79/ignoreJson
josephsl Mar 16, 2023
b60c19c
Merge pull request #25 from XLTechie/LDReadmeImprovements2023A
josephsl Mar 16, 2023
05169a5
Clear up the VS Code procedure
zersiax Mar 20, 2023
ff77300
Merge pull request #27 from zersiax/patch-1
josephsl Mar 26, 2023
9fb0b93
SConstruct: default daily build (dev channel) name changed from yyyym…
josephsl Mar 26, 2023
5b82e32
Corrected the translation of the documentation title in the SConstruc…
abdel792 May 5, 2023
eb8e32a
Merge pull request #28 from abdel792/docTitleTranslation
josephsl May 6, 2023
6663b5c
Fix-up of #28 to handle the situation when there are no existing tran…
Jun 10, 2023
910f6ac
Merge pull request #29 from XLTechie/fixSconstructForNoTranslations
josephsl Jun 10, 2023
b6faf91
Depend on the correct moFile for a given md file.
Jun 17, 2023
08e3a08
VS Code config: Add functions used for translation to the list of rec…
lukaszgo1 Sep 7, 2023
5b46cf1
Merge pull request #32 from lukaszgo1/transBuiltins
josephsl Sep 13, 2023
9e26d87
Fixed the error that the NVDA Python virtual environment could not be…
hwf1324 Sep 22, 2023
84ec603
Migration to Python Flake8 Extensions
hwf1324 Sep 22, 2023
46383ed
Upgrade python 3.11
hwf1324 Oct 16, 2023
e3fa6d5
Flake8: add ngettext and npgettext variants.
josephsl Oct 21, 2023
f0fb3d4
Merge pull request #34 from hwf1324/feature-Migration-to-Python-Flake…
josephsl Oct 21, 2023
bda5b59
SConstruct: remove json creation tool. Closes #36.
josephsl Oct 21, 2023
f0fff5d
SConstruct: update copyright year
josephsl May 7, 2024
2354f5e
SConstruct: remove add-on store json generator as the store wil gener…
josephsl May 7, 2024
37f2b59
SConstruct: ensure Python 3.10 or later
josephsl May 7, 2024
9f7fe84
Readme: update copyrights and Python 3.11 requirement
josephsl May 7, 2024
ac57655
Readme: add-ons manager -> add-on store, update URL manifest key desc…
josephsl May 7, 2024
b8bf472
SConstruct: replace string interpolation (%s) with formatted string l…
josephsl May 8, 2024
933fd68
buildVars: add braileTables dictionary. Re #38.
josephsl May 9, 2024
4b844ab
SConstruct: add custom braille tables section to manifest (actual and…
josephsl May 9, 2024
bc2f980
SConstruct: add new lines at the end of custom braille tables section…
josephsl May 9, 2024
a22aa7e
Readme: document custom braille translation table manifest specificia…
josephsl May 9, 2024
d41f11c
SConstruct: use getattr to make sure buildVars.brailleTables is defin…
josephsl May 9, 2024
b82cbfc
SConstruct: do not use F strings when generating braille tables manif…
josephsl May 11, 2024
db1de6d
Upgrade python version to 3.11
May 16, 2024
49c3a07
fixed a bug of nested double quotes
May 16, 2024
0cb5234
Merge pull request #40 from w-sx/master
josephsl May 16, 2024
a1e8e98
pyproject.toml: add Ruff section - first step toward replacing Flake8…
josephsl Jun 29, 2024
27b8fda
SConstruct: mention Ruff alongside Flake8. Re #41
josephsl Jun 29, 2024
0ac9d56
Readme: mention Ruff alongside Flake8 (for now). Fixes #41
josephsl Jun 29, 2024
728260a
VS Code config: replace Flake8 with Ruff
josephsl Jun 29, 2024
205fb16
Flake8: ini file removed (replaced with Ruff)
josephsl Jun 29, 2024
9a73405
SConstruct: remove Flake8 mention
josephsl Jun 29, 2024
04c1036
Readme: remove Flake8 mentions
josephsl Jun 29, 2024
1908b55
pyproject: add sconstruct file to scope of Ruff lint
josephsl Jul 7, 2024
f3fc4d5
pyproject/sconstruct: ignore F821 (attribute definition) error
josephsl Jul 7, 2024
4ca17c1
SConstruct: remove Ruff lint F821 notes as pyproject.toml will keep F…
josephsl Jul 7, 2024
c8bfb49
Add support for 2024.3 symbol dictionaries
LeonarddeR Aug 17, 2024
75123e2
Fix translation of displayName
LeonarddeR Aug 17, 2024
6583ed7
Apply suggestions from code review
LeonarddeR Aug 19, 2024
4cef57d
Merge pull request #43 from LeonarddeR/dictionaries
josephsl Aug 29, 2024
12a007f
Added support for Dependabot, which will create a pull request whenev…
jmdaweb Oct 6, 2024
d541201
Include a changelog file which will be part of the release body when …
jmdaweb Oct 6, 2024
e9985ab
Include a template for translators on each add-on release as part of …
jmdaweb Oct 6, 2024
96dc325
Merge pull request #46 from nvda-es/translationTemplate
josephsl Oct 15, 2024
185fe05
Merge pull request #44 from nvda-es/dependabot
josephsl Oct 15, 2024
ff581ae
Bump actions/setup-python from 4 to 5
dependabot[bot] Oct 15, 2024
d342db5
Bump actions/upload-artifact from 3 to 4
dependabot[bot] Oct 15, 2024
9c951ff
Bump actions/checkout from 3 to 4
dependabot[bot] Oct 15, 2024
986d14e
Merged latest changes from master
jmdaweb Oct 17, 2024
185fe41
Merge pull request #45 from nvda-es/changelogs
josephsl Oct 19, 2024
27e474d
Bump softprops/action-gh-release from 1 to 2
dependabot[bot] Oct 19, 2024
33d0464
Bump actions/download-artifact from 3 to 4
dependabot[bot] Oct 19, 2024
2030241
Merge pull request #47 from nvdaaddons/dependabot/github_actions/soft…
josephsl Oct 19, 2024
1e28403
Merge pull request #48 from nvdaaddons/dependabot/github_actions/acti…
josephsl Oct 19, 2024
5a6070c
Merge pull request #49 from nvdaaddons/dependabot/github_actions/acti…
josephsl Oct 19, 2024
8edd259
Merge pull request #50 from nvdaaddons/dependabot/github_actions/acti…
josephsl Oct 19, 2024
d8682de
Merge pull request #51 from nvdaaddons/dependabot/github_actions/acti…
josephsl Oct 19, 2024
ec06b99
changeSHA
hwf1324 Oct 28, 2024
03913af
Merge pull request #52 from hwf1324/changeSHA
josephsl Nov 2, 2024
fc901de
SConstruct (Ruff): format the module to align with NVDA Core
josephsl Nov 5, 2024
de41dd2
Gettext Site tools (Ruff): format the module
josephsl Nov 5, 2024
2f4ba1e
Add-on template/build vars: add a note on editing .gitignore files wh…
josephsl Nov 14, 2024
340d82d
fix up merge conflicts.
Nov 19, 2024
b8eba97
Merge pull request #31 from derekriemer/lang_fixup
josephsl Nov 20, 2024
3b22bfa
SConstruct: reformat via Ruff
josephsl Nov 20, 2024
4e80d7b
The meta elements in the generated HTML are on separate lines.
hwf1324 Jan 2, 2025
bbf3c2e
Merge pull request #54 from hwf1324/fixGenerateHTML
josephsl Jan 2, 2025
5584c62
Readme and SConstruct: update copyright years, update dependency vers…
josephsl Jan 2, 2025
ac411c4
Add-on template: remove template-based NV Access add-on store json fi…
josephsl Jan 2, 2025
3e124a4
Enable write permission when creating releases
tspivey Feb 3, 2025
bf259d0
Merge pull request #55 from tspivey/releasePermissions
josephsl Feb 7, 2025
c0aa5a6
BuildVars: add-ons manager -> add-on store, clarify that summary can …
josephsl Feb 26, 2025
cb03ab8
BuildVars: update minimum and last tesed version examples based on ad…
josephsl Feb 26, 2025
eb4f643
BuildVars, readme, sconstruct: remove extraneous whitespace
josephsl Mar 13, 2025
ba7c657
Pyproject: add Pyright support.
josephsl Jun 22, 2025
fd73176
Readme: mention Pyright
josephsl Jun 22, 2025
72a2c14
buildVars: move down dont_write_bytecode after comment
balaraz Jul 17, 2025
21abd0e
SConstruct: add matchesNoPatterns function
balaraz Jul 17, 2025
a0244e8
SConstruct: The function X is rewritten
balaraz Jul 17, 2025
935ef8d
buildVars: Extend comment before excludedFiles
balaraz Jul 17, 2025
c84a6c1
Merge pull request #59 from balaraz/master
josephsl Jul 17, 2025
99722d6
SConstruct: Refactor md2html func
balaraz Jul 21, 2025
b982d4d
SConstruct: Refactor createAddonHelp func
balaraz Jul 21, 2025
e8e4a27
SConstruct: Fix typo in name machesNoPaterns
balaraz Jul 21, 2025
8ca6146
SConstruct: Refactor validateVersionNumber
balaraz Jul 22, 2025
31a57c3
SConstruct: Refactor if env["dev"] section
balaraz Jul 22, 2025
4b2d2ac
SConstruct: Refactor matchesNoPatterns
balaraz Jul 23, 2025
12cc3af
SConstruct: Update expandGlobs func
balaraz Jul 24, 2025
8b1b954
SConstruct: Removed unnecessary os.path.join
balaraz Jul 27, 2025
5b1ba4b
SConstruct: Migrated to pathlib.Path from os.path
balaraz Jul 27, 2025
df6abb9
SConstruct: Replaced literal "addon" with const addonDir
balaraz Jul 27, 2025
9b52fc4
SConstruct: Moved down a definition of addonFile
balaraz Jul 27, 2025
2c49e6c
SConstruct: Rewrote iteration over markdown doc files
balaraz Jul 27, 2025
dea8dbf
SConstruct: Updated createAddonHelp func
balaraz Jul 27, 2025
1a25925
SConstruct: Rewrote definition of localeDirs list
balaraz Jul 27, 2025
bbe7b16
SConstruct: Added explicit imports for linter compatibility
balaraz Jul 27, 2025
dddf7af
SConstruct: Added type hints from SCons.Node.FS
balaraz Jul 27, 2025
0151f4f
buildVars: Added type hints for _ function
balaraz Jul 27, 2025
917d540
buildVars: Added type hints to variables
balaraz Jul 27, 2025
30ae096
buildVars: Added AddonInfo typed dict
balaraz Jul 27, 2025
2577e43
SConstruct: Fixed build in Linux environment
balaraz Jul 27, 2025
0f434d4
SConstruct: Extend commit bbe7b16
balaraz Jul 28, 2025
97ed6d1
SConstruct: Improved type hints
balaraz Jul 28, 2025
28459b8
SConstruct: Updated expandGlobs function
balaraz Jul 28, 2025
e9efd87
SConstruct: Updated mdTool
balaraz Jul 28, 2025
ec44944
SConstruct, mdTool: Moved mdTool & md2html to site_tools
balaraz Jul 28, 2025
53363bf
mdTool: Fixed mdAction lambda funcs
balaraz Jul 28, 2025
a34ce1f
SConstruct: Returned env.Glob instead of Path.glob
balaraz Jul 29, 2025
20ff630
buildVars, SConstruct: Added type hints to non typed vars
balaraz Jul 29, 2025
0071a85
SConstruct:Refactored if getattr calls
balaraz Jul 29, 2025
76b7120
SConstruct: Added format_nested_section func
balaraz Jul 29, 2025
7bbf1af
SConstruct: Update generateManifest
balaraz Jul 29, 2025
21b2733
SConstruct: Refactored generateTranslatedManifest
balaraz Jul 29, 2025
a25f882
mdTool, SConstruct: Renamed markdown builder to md2html
balaraz Jul 29, 2025
9526341
SConstruct: Removed createAddonHelp func
balaraz Jul 29, 2025
a206862
SConstruct: Refactored script
balaraz Jul 30, 2025
16b0d3b
SConstruct: Update addonGenerator
balaraz Jul 30, 2025
857867b
SConstruct: Update manifestGenerator
balaraz Jul 30, 2025
6d85c81
SConstruct: Update addonTool
balaraz Jul 30, 2025
7fbfbd7
SConstruct, NVDATool: Created NVDATool
balaraz Jul 30, 2025
fced694
buildVars, NVDATool: Moved AddonInfo class to NVDATool
balaraz Jul 30, 2025
958a157
buildVars, NVDATool: Update brl tabs & sym dicts type hints
balaraz Jul 30, 2025
c769cac
SConstruct: Fixed import Mapping
balaraz Jul 30, 2025
b5ed0ed
NVDATool: Added Strable protocol
balaraz Jul 30, 2025
ea7d99d
SConstruct: Updated functions signatures, used Strable
balaraz Jul 30, 2025
7ef5669
SConstruct: Updated generateManifest
balaraz Jul 30, 2025
ae3af0d
SConstruct: Updated generateTranslatedManifest
balaraz Jul 30, 2025
57e9081
SConstruct, NVDATool: Moved manifest generators to NVDATool
balaraz Jul 31, 2025
d7545ba
SConstruct, NVDATool: Updated translatedManifestGenrator
balaraz Jul 31, 2025
d5e3462
NVDATOOl: Removed translatedManifestGenerator
balaraz Jul 31, 2025
0f4c508
NVDATool: Remove typing.override from typings.py
balaraz Jul 31, 2025
bc09b71
SConstruct: Removed unneeded update buildVars.addon_info
balaraz Jul 31, 2025
e7e900f
SConstruct, mdTool, NVDATool: Removed mdTool
balaraz Aug 2, 2025
1a0968d
NVDATool: Updated md2html
balaraz Aug 2, 2025
9334189
buildVars, NVDATool: Moved _ func to NVDATool.utils
balaraz Aug 2, 2025
f3347a0
NVDATool: Refactored import typings in NVDATool.manifests
balaraz Aug 2, 2025
68e292e
NVDATool: Moved format_nested_section func to utils.py
balaraz Aug 2, 2025
3420405
NVDATool: Update format_nested_section util
balaraz Aug 2, 2025
b989853
NVDATool: Refactored generateTranslatedManifest
balaraz Aug 2, 2025
b6c38da
NVDATool: Update md2html func
balaraz Aug 2, 2025
307361c
SConstruct: Fixed moFile binding to mdFile
balaraz Aug 2, 2025
604778e
SConstruct, NVDATool: Updated md2html
balaraz Aug 2, 2025
57d14fc
buildVars: Refactored definition of addon_info
balaraz Aug 3, 2025
3ccc1eb
NVDATool.md2html: Fixed title definition
balaraz Aug 3, 2025
1eef48a
NVDATool: Refactored md2html func
balaraz Aug 5, 2025
6919905
SConstruct: Fixed applying addon_info
balaraz Aug 5, 2025
7fc4ed2
Merge pull request #61 from balaraz/modernize
josephsl Aug 5, 2025
d069b54
SConstruct, NVDA tool: remove unused imports
josephsl Aug 5, 2025
7dba876
Site tools: spacing around 'or' operator, mention pathlib.Path
josephsl Aug 5, 2025
77abd3b
Readme: updates including dependencies and removal of versionNumber C…
josephsl Aug 5, 2025
6c023a4
BuildVars: add 'changelog' manifest key to record latest changes for …
josephsl Aug 11, 2025
2c2166d
Manifest template: add 'chagelog' key
josephsl Aug 11, 2025
1846beb
Manifest template: add 'changelog' to translatable manifest template
josephsl Aug 11, 2025
75df0dc
Bump actions/download-artifact from 4 to 5
dependabot[bot] Aug 12, 2025
3c3bc83
Merge pull request #62 from nvdaaddons/dependabot/github_actions/acti…
josephsl Aug 12, 2025
bfe944a
Bump actions/checkout from 4 to 5
dependabot[bot] Aug 12, 2025
94c6cc1
Merge pull request #63 from nvdaaddons/dependabot/github_actions/acti…
josephsl Aug 12, 2025
b5c38cb
Readme: document 'changelog' manifest key
josephsl Aug 12, 2025
2abc1de
Site_scons.NVDA tool: add type hint for add-on changelog key and decl…
josephsl Aug 18, 2025
1cf8b8c
Delete fixed paths in upload jobs
hwf1324 Aug 19, 2025
a001914
Merge pull request #66 from hwf1324/fixRelease
josephsl Aug 19, 2025
2b9bf7b
Manifest: triple quote add-on changelog data
josephsl Aug 29, 2025
29d9506
NVDATool.docs - md2html: Fix encoding bug - Encoding still needs to b…
Sep 2, 2025
723da29
Merge pull request #68 from CyrilleB79/encodingFix
josephsl Sep 2, 2025
fa4745e
Bump actions/setup-python from 5 to 6
dependabot[bot] Sep 8, 2025
ca99a76
Merge pull request #69 from nvdaaddons/dependabot/github_actions/acti…
josephsl Sep 15, 2025
f6fdfc1
Template readme: Python 3.11 -> 3.1 64-bit
josephsl Oct 18, 2025
d3f2ea6
Bump actions/download-artifact from 5 to 6
dependabot[bot] Oct 27, 2025
8bc7e4a
Bump actions/upload-artifact from 4 to 5
dependabot[bot] Oct 27, 2025
ced2e26
Merge pull request #71 from nvdaaddons/dependabot/github_actions/acti…
josephsl Nov 7, 2025
1c0a417
Merge pull request #72 from nvdaaddons/dependabot/github_actions/acti…
josephsl Nov 7, 2025
c81ad0e
Readme: SCons and Markdown dependency version updates, retire Appveyo…
josephsl Nov 11, 2025
8e0f88e
Bump actions/checkout from 5 to 6 (#3)
CyrilleB79 Nov 28, 2025
00c6b31
Update precommit configuration (#4)
nvdaes Dec 16, 2025
0273641
Update pyproject (#5)
nvdaes Dec 29, 2025
3ec67ac
Fix branch args (#9)
nvdaes Dec 30, 2025
c890dd0
fixRuffInPyProject (#8)
nvdaes Dec 30, 2025
ce86935
Fixes using pre-commit (#10)
nvdaes Dec 30, 2025
7b7b8b1
Add a note encouraging to use pre-commit.ci (#11)
nvdaes Dec 30, 2025
c6f50e9
Bump actions/download-artifact from 6 to 7 and bump actions/upload-ar…
CyrilleB79 Jan 8, 2026
a4f9291
Bump actions/download-artifact from 7 to 8 (#17)
dependabot[bot] Feb 26, 2026
20c3919
Bump actions/upload-artifact from 6 to 7 (#16)
dependabot[bot] Feb 26, 2026
945487a
Bump the uv group across 1 directory with 3 updates (#18)
dependabot[bot] Feb 26, 2026
3ac4b6f
Add-on template: add support for custom speech pronunciation dictiona…
josephsl Mar 2, 2026
bda47e6
BuildVars: add missing SpeechDictionaries import (#20)
josephsl Mar 3, 2026
3ab0021
Run workflow just when files are changed in the addon folder (#21)
nvdaes Mar 3, 2026
6093c55
Do not restrict workflow triggers to addon path (#22)
CyrilleB79 Mar 4, 2026
e0585fd
Fixes for CI workflow (#23)
CyrilleB79 Mar 17, 2026
867f183
Workflow runs produce add-on and .pot artifacts instead of a .zip (#24)
CyrilleB79 Mar 19, 2026
eef379d
Bump requests from 2.32.5 to 2.33.0 in the uv group across 1 director…
dependabot[bot] Mar 30, 2026
b4c72dd
Bump uv from 0.9.11 to 0.11.6 in the uv group across 1 directory (#26)
dependabot[bot] Apr 16, 2026
dab00d5
Bump softprops/action-gh-release from 2 to 3 (#27)
dependabot[bot] Apr 16, 2026
b6443de
Bump lxml from 6.0.2 to 6.1.0 in the uv group across 1 directory (#29)
dependabot[bot] Apr 21, 2026
ef8c343
Update link to the GetText build for Windows (#30)
tseykovets May 4, 2026
e3a6ab4
Bump urllib3 from 2.6.3 to 2.7.0 in the uv group across 1 directory (…
dependabot[bot] May 12, 2026
aba4902
Bump idna from 3.11 to 3.15 in the uv group across 1 directory (#33)
dependabot[bot] May 19, 2026
5d0f6ce
Sync upstream AddonTemplate
cary-rowen May 23, 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
65 changes: 44 additions & 21 deletions .github/workflows/build_addon.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,49 +3,69 @@ name: build addon
on:
push:
tags: ["*"]
# To build on main/master branch, uncomment the following line:
# branches: [ main , master ]
branches: [ main , master ]

pull_request:
branches: [ main, master ]

workflow_dispatch:

env:
# Set this to "true" when source formatting should block pull requests,
# branch builds, and release builds.
SOURCE_FORMATTING_BLOCKS_BUILD: "false"

jobs:
build:
# Building the add-on template as an add-on does not make sense (and fails).
# Do not modify this repo name with your own one! (should remain the template)
if: github.repository != 'nvaccess/addonTemplate'

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v5

- run: echo -e "pre-commit\nscons\nmarkdown">requirements.txt

- name: Set up Python
uses: actions/setup-python@v6
- name: Checkout repo
uses: actions/checkout@v6
- name: Install uv
uses: astral-sh/setup-uv@v7
with:
python-version: 3.11
cache: 'pip'

enable-cache: true
- name: Install dependencies
run: |
python -m pip install --upgrade pip wheel
pip install -r requirements.txt
sudo apt-get update -y
sudo apt-get install -y gettext
uv sync

- name: Code checks
run: export SKIP=no-commit-to-branch; pre-commit run --all
- name: Repository checks
run: |
export SKIP=no-commit-to-branch,pyright,trailing-whitespace,end-of-file-fixer,fix-byte-order-marker,check-vcs-permalinks,add-trailing-comma,ruff,ruff-format
uv run pre-commit run --all-files

- name: Source formatting
run: |
if ! uv run ruff format --check addon/globalPlugins/Access8Math tests buildVars.py; then
if [ "$SOURCE_FORMATTING_BLOCKS_BUILD" = "true" ]; then
exit 1
fi
echo "::warning::Source formatting check failed but SOURCE_FORMATTING_BLOCKS_BUILD is false."
fi

- name: building addon
run: scons && scons pot
run: uv run scons && uv run scons pot

- uses: actions/upload-artifact@v5
- uses: actions/upload-artifact@v7
with:
name: packaged_addon
path: |
./*.nvda-addon
archive: false

- uses: actions/upload-artifact@v7
with:
name: translation_template
path: |
./*.pot
archive: false

upload_release:
runs-on: ubuntu-latest
Expand All @@ -54,9 +74,12 @@ jobs:
permissions:
contents: write
steps:
- uses: actions/checkout@v5
- name: download releases files
uses: actions/download-artifact@v6
- uses: actions/checkout@v6
- name: download all artifacts
uses: actions/download-artifact@v8
with:
path: .
merge-multiple: true
- name: Display structure of downloaded files
run: ls -R
- name: Calculate sha256
Expand All @@ -65,7 +88,7 @@ jobs:
sha256sum *.nvda-addon >> changelog.md

- name: Release
uses: softprops/action-gh-release@v2
uses: softprops/action-gh-release@v3
with:
files: |
*.nvda-addon
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ manifest.ini
*.nvda-addon
.sconsign.dblite
/[0-9]*.[0-9]*.[0-9]*.json
*.egg-info
92 changes: 86 additions & 6 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,87 @@
# Copied from https://github.com/nvaccess/nvda
# https://pre-commit.ci/
# Configuration for Continuous Integration service
ci:
# Pyright does not seem to work in pre-commit CI
skip: [pyright]
autoupdate_schedule: monthly
autoupdate_commit_msg: "Pre-commit auto-update"
autofix_commit_msg: "Pre-commit auto-fix"
submodules: true

default_language_version:
python: python3.13

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.3.0
hooks:
- id: check-ast
- id: check-case-conflict
- id: check-yaml
- repo: https://github.com/pre-commit-ci/pre-commit-ci-config
rev: v1.6.1
hooks:
- id: check-pre-commit-ci-config

- repo: meta
hooks:
# ensures that exclude directives apply to any file in the repository.
- id: check-useless-excludes
# ensures that the configured hooks apply to at least one file in the repository.
- id: check-hooks-apply

- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
# Prevents commits to certain branches
- id: no-commit-to-branch
args: ["--branch", "main", "--branch", "master", ]
# Checks that large files have not been added. Default cut-off for "large" files is 500kb.
- id: check-added-large-files
# Checks python syntax
- id: check-ast
# Checks for filenames that will conflict on case insensitive filesystems (the majority of Windows filesystems, most of the time)
- id: check-case-conflict
# Checks for artifacts from resolving merge conflicts.
- id: check-merge-conflict
# Checks Python files for debug statements, such as python's breakpoint function, or those inserted by some IDEs.
- id: debug-statements
# Removes trailing whitespace.
- id: trailing-whitespace
types_or: [python, c, c++, batch, markdown, toml, yaml, powershell]
# Ensures all files end in 1 (and only 1) newline.
- id: end-of-file-fixer
types_or: [python, c, c++, batch, markdown, toml, yaml, powershell]
# Removes the UTF-8 BOM from files that have it.
# See https://github.com/nvaccess/nvda/blob/master/projectDocs/dev/codingStandards.md#encoding
- id: fix-byte-order-marker
types_or: [python, c, c++, batch, markdown, toml, yaml, powershell]
# Validates TOML files.
- id: check-toml
# Validates YAML files.
- id: check-yaml
# Ensures that links to lines in files under version control point to a particular commit.
- id: check-vcs-permalinks
# Avoids using reserved Windows filenames.
- id: check-illegal-windows-names
- repo: https://github.com/asottile/add-trailing-comma
rev: v3.2.0
hooks:
# Ruff preserves indent/new-line formatting of function arguments, list items, and similar iterables,
# if a trailing comma is added.
# This adds a trailing comma to args/iterable items in case it was missed.
- id: add-trailing-comma

- repo: https://github.com/astral-sh/ruff-pre-commit
# Matches Ruff version in pyproject.
rev: v0.12.7
hooks:
- id: ruff
name: lint with ruff
args: [ --fix ]
- id: ruff-format
name: format with ruff

- repo: local
hooks:

- id: pyright
name: type check with pyright
entry: uv run pyright
language: system
types: [python]
8 changes: 2 additions & 6 deletions .vscode/typings/__builtins__.pyi
Original file line number Diff line number Diff line change
@@ -1,6 +1,2 @@
def _(msg: str) -> str:
...


def pgettext(context: str, message: str) -> str:
...
def _(msg: str) -> str: ...
def pgettext(context: str, message: str) -> str: ...
17 changes: 14 additions & 3 deletions buildVars.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Build customizations
# Change this file instead of sconstruct or manifest files, whenever possible.

from site_scons.site_tools.NVDATool.typings import AddonInfo, BrailleTables, SymbolDictionaries
from site_scons.site_tools.NVDATool.typings import AddonInfo, BrailleTables, SymbolDictionaries, SpeechDictionaries

# Since some strings in `addon_info` are translatable,
# we need to include them in the .po files.
Expand All @@ -21,7 +21,9 @@
addon_summary=_("Access8Math"),
# Add-on description
# Translators: Long description to be shown for this add-on on add-on information from add-on store
addon_description=_("""Allows access math content written by MathML ; Allows write math content by LaTeX"""),
addon_description=_(
"""Read MathML with speech and braille, explore expressions step by step, and write math in LaTeX."""
),
# version
addon_version="5.0",
# Brief changelog for this version
Expand Down Expand Up @@ -105,5 +107,14 @@
# Each key is the name of the dictionary,
# with keys inside recording the following attributes:
# displayName (name of the speech dictionary shown to users and translatable),
# mandatory (True when always enabled, False when not.
# mandatory (True when always enabled, False when not).
symbolDictionaries: SymbolDictionaries = {}

# Custom speech dictionaries (distinct from symbol dictionaries above)
# Speech dictionary files reside in the speechDicts folder and are named `name.dic`.
# If your add-on includes custom speech (pronunciation) dictionaries (most will not), fill out this dictionary.
# Each key is the name of the dictionary,
# with keys inside recording the following attributes:
# displayName (name of the speech dictionary shown to users and translatable),
# mandatory (True when always enabled, False when not).
speechDictionaries: SpeechDictionaries = {}
60 changes: 58 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,49 @@
[build-system]
requires = ["setuptools~=80.9", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "Access8Math"
dynamic = ["version"]
description = "Read MathML with NVDA and write math in LaTeX"
maintainers = [
{name = "Tseng Woody", email = "tsengwoody.tw@gmail.com"},
]
requires-python = ">=3.13,<3.14"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: End Users/Desktop",
"License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)",
"Operating System :: Microsoft :: Windows",
"Programming Language :: Python :: 3",
"Topic :: Accessibility",
]
readme = "readme.md"
license = {file = "COPYING.txt"}
dependencies = [
# Build add-on
"scons==4.10.1",
"Markdown==3.10",
# Translations management
"requests==2.33.0",
"nh3==0.3.2",
"crowdin-api-client==1.24.1",
"lxml==6.1.0",
"mdx_truly_sane_lists==1.3",
"markdown-link-attr-modifier==0.2.1",
"mdx-gh-links==0.4",
# Lint
"uv==0.11.6",
"ruff==0.14.5",
"pre-commit==4.2.0",
"pyright[nodejs]==1.1.407",
]
[project.urls]
Repository = "https://github.com/tsengwoody/Access8Math"

[tool.setuptools]
py-modules = []

[tool.ruff]
line-length = 110

Expand All @@ -20,10 +66,15 @@ include = [
exclude = [
".git",
"__pycache__",
".venv",
"addon/globalPlugins/Access8Math/package",
"addon/runtime",
"buildVars.py",
]

[tool.ruff.format]
indent-style = "tab"
line-ending = "lf"

[tool.ruff.lint.mccabe]
max-complexity = 15
Expand All @@ -33,13 +84,16 @@ ignore = [
# indentation contains tabs
"W191",
]
logger-objects = ["logHandler.log"]

[tool.ruff.lint.per-file-ignores]
# sconstruct contains many inbuilt functions not recognised by the lint,
# sconscripts contains many inbuilt functions not recognised by the lint,
# so ignore F821.
"sconstruct" = ["F821"]

[tool.pyright]
venvPath = ".venv"
venv = "."
pythonPlatform = "Windows"
typeCheckingMode = "strict"

Expand All @@ -51,6 +105,8 @@ exclude = [
"sconstruct",
".git",
"__pycache__",
".venv",
"site_scons",
# When excluding concrete paths relative to a directory,
# not matching multiple folders by name e.g. `__pycache__`,
# paths are relative to the configuration file.
Expand All @@ -59,6 +115,7 @@ exclude = [
# Tell pyright where to load python code from
extraPaths = [
"./addon",
"../nvda/source",
]

# General config
Expand Down Expand Up @@ -120,7 +177,6 @@ reportPropertyTypeMismatch = true
reportRedeclaration = true
reportReturnType = true
reportSelfClsParameterName = true
reportShadowedImports = true
reportTypeCommentUsage = true
reportTypedDictNotRequiredAccess = true
reportUnboundVariable = true
Expand Down
1 change: 1 addition & 0 deletions sconstruct
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ env.Append(
addon_info=buildVars.addon_info,
brailleTables=buildVars.brailleTables,
symbolDictionaries=buildVars.symbolDictionaries,
speechDictionaries=buildVars.speechDictionaries,
)

if env["dev"]:
Expand Down
Loading
Loading