Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
4dbf464
docs: add Material documentation theme
claudiacodacy Jul 14, 2026
fb45a6f
fix: preserve untitled admonition content
claudiacodacy Jul 14, 2026
e3969a5
fix: address theme quality checks
claudiacodacy Jul 14, 2026
364ad2a
fix: add homepage icon text alternatives
claudiacodacy Jul 14, 2026
1251b8a
fix: resolve theme script quality findings
claudiacodacy Jul 14, 2026
85309aa
fix: avoid focus-trap scanner false positives
claudiacodacy Jul 14, 2026
ad6de16
fix: center no-TOC documentation layouts
claudiacodacy Jul 14, 2026
bf42326
revert: center no-TOC documentation layouts
claudiacodacy Jul 14, 2026
cf04dc7
fix: use standard layout for release notes
claudiacodacy Jul 14, 2026
81b0410
refactor: configure sidebar icons in mkdocs
claudiacodacy Jul 14, 2026
fa8cede
fix: normalize sidebar nav row heights
claudiacodacy Jul 14, 2026
e67c75c
fix: align standalone sidebar icon colors
claudiacodacy Jul 14, 2026
be88e95
refactor: unify main layout into one token-driven shell
claudiacodacy Jul 14, 2026
ea7fd7d
fix: align header utility control spacing
claudiacodacy Jul 14, 2026
8f218b4
fix: reset header button margins
claudiacodacy Jul 14, 2026
01c06bf
fix: keep copyright year current with instant navigation
claudiacodacy Jul 14, 2026
e372b00
fix: preserve active sidebar icon color
claudiacodacy Jul 14, 2026
415362a
refactor: align header, content, and footer to one shared frame
claudiacodacy Jul 14, 2026
744cf3b
fix: correct clipboard toast colors
claudiacodacy Jul 14, 2026
319ed24
refactor(theme): self-host icons, native admonitions, split stylesheet
claudiacodacy Jul 14, 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
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# MkDocs build dir
site/

# Python bytecode generated while running MkDocs hooks
__pycache__/
*.py[cod]

# OS generated files
.DS_Store

Expand Down Expand Up @@ -28,4 +32,3 @@ tools/*.csv

#Ignore vscode AI rules
.github/instructions/codacy.instructions.md

70 changes: 70 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
You're welcome to make fixes and changes to the documentation. Here are a few steps to get you going:

- [Authoring documentation pages](#authoring-documentation-pages)
- [Working on the documentation theme](#working-on-the-documentation-theme)
- [Releasing a new Codacy Self-hosted documentation version](#releasing-a-new-codacy-self-hosted-documentation-version)
- [Updating an existing Codacy Self-hosted documentation version](#updating-an-existing-codacy-self-hosted-documentation-version)
- [Applying documentation hotfixes to existing chart releases](#applying-documentation-hotfixes-to-existing-chart-releases)
Expand Down Expand Up @@ -39,6 +40,75 @@
mkdocs serve
```

### Working on the documentation theme

The documentation uses the installed `mkdocs-material` package with a small,
Codacy-owned theme layer in [`theme/`](theme/). This is
the current theme source of truth. Do not copy, modify, or revive the legacy

Check failure on line 47 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'Revive' instead of 'revive'. Raw Output: {"message": "[Vale.Terms] Use 'Revive' instead of 'revive'.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 47, "column": 60}}}, "severity": "ERROR"}

Check failure on line 47 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Microsoft.Contractions] Use 'don't' instead of 'Do not'. Raw Output: {"message": "[Microsoft.Contractions] Use 'don't' instead of 'Do not'.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 47, "column": 36}}}, "severity": "ERROR"}
`submodules/codacy-mkdocs-material` clone when changing this site's theme.

The theme is intentionally plain CSS and minimal Jinja overrides:

- [`theme/stylesheets/tokens.css`](theme/stylesheets/tokens.css)
defines the Codacy color tokens and Material color mappings.
- The visual styling lives in [`theme/stylesheets/`](theme/stylesheets/),
split by concern (`base`, `header`, `navigation`, `content`, `home`,
`footer`, `layout`, `responsive`) and loaded in that order via `extra_css`.
The files are plain, comment-free CSS; keep a rule in the file that matches
its concern, and keep `extra_css` in cascade order (it layers over the
Material package, so order and specificity are what make an override win).
- [`theme/main.html`](theme/main.html) and its
[`partials/`](theme/partials/) retain only the overrides and
integrations that Codacy needs.
- [`mkdocs.yml`](mkdocs.yml) connects this layer through `theme.custom_dir`
and loads the small supporting browser scripts and stylesheets.

Several partials under [`theme/partials/`](theme/partials/) (for example
`nav-item.html`, `header.html`, `search.html`, and `toc.html`) are derived from
the equivalent templates in the `mkdocs-material` version pinned in
[`requirements.txt`](requirements.txt) and then trimmed to Codacy's needs. They
are coupled to that version's markup, CSS class names, and JavaScript component
contracts, so **bumping `mkdocs-material` requires re-diffing these partials
against the new upstream templates** and re-testing search, the palette toggle,
and navigation. Pin the package to an exact version and treat an upgrade as a
deliberate task, not an incidental dependency bump.

There is no front-end build step. Edit the CSS, Jinja partials, or supporting
JavaScript directly, then use the normal MkDocs preview:

```bash
mkdocs serve
```

The theme self-hosts the Inter and Roboto Mono font files under

Check failure on line 83 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'Roboto'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'Roboto'?", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 83, "column": 36}}}, "severity": "ERROR"}
`theme/assets/fonts/`; it doesn't contact a third-party font service. Keep the
font license beside those assets when updating them.

Icons are provided by Ionicons, also vendored locally under

Check failure on line 87 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'vendored'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'vendored'?", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 87, "column": 38}}}, "severity": "ERROR"}

Check failure on line 87 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'Ionicons'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'Ionicons'?", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 87, "column": 23}}}, "severity": "ERROR"}
`theme/assets/vendor/ionicons/` (the runtime loader plus only the SVGs the theme

Check failure on line 88 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'SVGs'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'SVGs'?", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 88, "column": 67}}}, "severity": "ERROR"}
references) so the docs render fully offline and don't depend on a third-party
CDN — this matters for Self-hosted installations. When you add an

Check failure on line 90 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Microsoft.Dashes] Remove the spaces around ' — '. Raw Output: {"message": "[Microsoft.Dashes] Remove the spaces around ' — '.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 90, "column": 4}}}, "severity": "ERROR"}
`<ion-icon name="…">` or a `sidebar_icons` entry, copy the matching
`svg/<name>.svg` from the Ionicons package into that folder; unreferenced icons

Check failure on line 92 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'unreferenced'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'unreferenced'?", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 92, "column": 62}}}, "severity": "ERROR"}

Check failure on line 92 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'Ionicons'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'Ionicons'?", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 92, "column": 27}}}, "severity": "ERROR"}
are intentionally not vendored. Keep the Ionicons license beside the assets.

The `theme/hooks/image_metadata.py` hook adds intrinsic dimensions and safe
loading hints to local documentation images at build time. Authors normally use
standard Markdown image syntax; explicit HTML image attributes are preserved
when a page needs an exception.

Before opening a pull request that changes the theme, build with warnings
treated as errors and check representative pages in the local preview:

```bash
mkdocs build --strict
```

Check a Cloud page and, when relevant, a Self-hosted page. Also check light and

Check warning on line 107 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Microsoft.OxfordComma] Use the Oxford comma in 'Also check light and dark color schemes, desktop and'. Raw Output: {"message": "[Microsoft.OxfordComma] Use the Oxford comma in 'Also check light and dark color schemes, desktop and'.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 107, "column": 60}}}, "severity": "WARNING"}
dark color schemes, desktop and narrow mobile widths, search, the version
picker, and any changed content component. Preserve analytics, feedback,

Check warning on line 109 in CONTRIBUTING.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Microsoft.OxfordComma] Use the Oxford comma in 'Preserve analytics, feedback, preview and'. Raw Output: {"message": "[Microsoft.OxfordComma] Use the Oxford comma in 'Preserve analytics, feedback, preview and'.", "location": {"path": "CONTRIBUTING.md", "range": {"start": {"line": 109, "column": 44}}}, "severity": "WARNING"}
preview and Self-hosted notices, source metadata, and existing URLs.

### Markdown conventions

Follow these Markdown conventions when editing the documentation:
Expand Down
2 changes: 1 addition & 1 deletion docs/account/emails.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ To manage the email addresses associated with your account and your email notifi

Codacy automatically links to your Codacy account the email addresses from the Git provider associated with your current session. On the **Emails** page, you can verify which email addresses are linked to your Codacy account.

!!! notes
!!! note
- For **GitHub**, if you have [email privacy enabled](https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-your-commit-email-address?platform=mac#about-commit-email-addresses) on the provider, Codacy doesn't show your private emails and uses another available email address when displaying your personal details on lists, search filters, or activity.
- Codacy doesn't allow you to have one email associated with more than one GitHub account. You can manage your [associated emails in the provider GitHub](https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/adding-an-email-address-to-your-github-account).

Expand Down
1 change: 1 addition & 0 deletions docs/assets/images/codacy-docs-logo-light.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/assets/images/codacy-docs-logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading