A Microsoft Word add-in that checks academic references against the University of Hertfordshire School of Health and Social Work Referencing Guidelines 2020–21 (APA 7th), with one-click in-place fixes that preserve italics and hanging indents.
This is the Word integration of the existing uh-reference-formatter.html standalone tool. The same engine (60+ auto-fix rules, 225 unit/integration tests) powers both.
The engine handles, among others:
and → & between authors (without false-positives on names like Health and Care Professions Council)& for 3+ authorsSmith, J., 2020. → APA Smith, J. (2020).& and other HTML entities decodeddx.doi.org / http://doi.org / doi: → https://doi.org/…pp. removed from journal page rangesLondon: Publisher → Publisher)(15th Edition) → (15th ed.)(nd) → (n.d.)Retrieved March 1, 2026 from URL → Retrieved March 1, 2026, from URLThe installer creates a tiny SMB share at \\YOUR-PC\UHReferenceCheckerAddin containing only manifest.xml, registers it as a Trusted Catalog under HKCU\Software\Microsoft\Office\16.0\WEF\TrustedCatalogs, and downloads the manifest from this GitHub Pages site. To remove everything later: download uninstall.ps1 and run it from an elevated PowerShell.
Word add-ins need to be hosted on an HTTPS URL for Word to load them. This add-in is already hosted at https://codescribler.github.io/uh-reference-checker-addin/ — but if you want to fork and host your own:
uh-reference-checker-addin). Make it public.main branch (root).https://YOUR_USERNAME.github.io/uh-reference-checker-addin
Open manifest.xml in a text editor and replace every occurrence of {HOST_URL} with the URL from step 1.
There are 6 placeholders to update — SourceLocation, IconUrl, HighResolutionIconUrl, SupportUrl, plus the three bt:Url resources. A quick search-and-replace catches them all.
Then commit and push the edited manifest back to your repo.
manifest.xml to your local disk.manifest.xml.manifest.xml.Sideloading requires a Microsoft 365 tenant’s centralised deployment. The desktop instructions above are the easiest path for personal use.
If you’d rather host the add-in on localhost instead of GitHub Pages, you’ll need:
npm install -g office-addin-dev-certs office-addin-debugging
npx office-addin-dev-certs install
npx office-addin-debugging start manifest.xml desktop
This will install a trusted local certificate, start an HTTPS server on https://localhost:3000, sideload the manifest, and open Word with the add-in already loaded. Edit manifest.xml’s {HOST_URL} to https://localhost:3000 first.
uh-reference-checker-addin/
├── manifest.xml ← describes the add-in (edit {HOST_URL})
├── taskpane.html ← UI shown in the task pane
├── taskpane.css ← styling
├── taskpane.js ← Office.js integration: read/apply paragraphs
├── engine.js ← shared rules engine (60+ auto-fix rules)
├── commands.html ← placeholder required by the manifest
├── assets/
│ ├── icon-16.png
│ ├── icon-32.png
│ └── icon-80.png
├── extract-engine.py ← regenerates engine.js from the standalone HTML
├── make-icons.py ← regenerates the icon PNGs
└── README.md
engine.js is auto-extracted from the standalone uh-reference-formatter.html tool’s <script> block. If you edit the engine in the HTML and want the changes reflected here:
python extract-engine.py
The 225 existing unit/integration tests can then be re-run against the new engine.js:
node engine-tests.js # runs all 6 suites
(See engine-tests.js for how this works — it stubs fs.readFileSync so the existing test files pick up engine.js instead of the HTML.)
The manifest requests ReadWriteDocument — the add-in needs to read paragraph contents (to check) and replace them (to fix). It does not access anything outside the current document, does not contact any external server (other than the static files it loads from your hosting URL), and stores no data.
| Symptom | Likely cause | Fix |
|---|---|---|
| “Could not start the add-in” | Manifest’s {HOST_URL} placeholders not replaced |
Edit manifest.xml and replace all 6 {HOST_URL} occurrences |
| Ribbon button missing | Add-in installed but in a different tab | Look on Home tab, References group |
| Task pane shows “blocked content” | Browser/Office can’t reach the host URL | Verify GitHub Pages is live by opening https://your.url/taskpane.html directly |
| “No reference paragraphs were found” on whole-document scan | No “References” heading detected | Highlight the list manually and use Check selected paragraphs |
| Fix applied but italics lost on some paragraph | The paragraph used unusual Word formatting (e.g. character styles) | Verify the original — the heuristic falls back to plain text for paragraphs it can’t parse |
Built for personal use by the document’s author. The HSK referencing guidelines are © University of Hertfordshire and are not redistributed by this tool — only their rules are encoded in the engine.