Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
10c2243
5 million changes
claudiacodacy Dec 15, 2025
ad62313
moved imports to another folder
claudiacodacy Dec 15, 2025
643d116
fix old docs
claudiacodacy Dec 16, 2025
093ce57
update favicons
claudiacodacy Dec 16, 2025
0e369c6
Update logo
claudiacodacy Dec 16, 2025
96eeaf6
adding remark ids for mdx files
claudiacodacy Dec 16, 2025
3a03dee
yaml quick fix on quick start + id fixes
claudiacodacy Dec 16, 2025
8f52fe5
revamp starter page
claudiacodacy Dec 16, 2025
50aad48
adjust title height + move home sidebar
claudiacodacy Dec 16, 2025
661f225
navbar color
claudiacodacy Dec 16, 2025
0d69c9c
add footer + social icons
claudiacodacy Dec 16, 2025
7d9a2a7
change base font-size
claudiacodacy Dec 16, 2025
1f62697
added todo file
claudiacodacy Dec 16, 2025
cba2155
added tabs with starlight-sidebar-topics
claudiacodacy Dec 16, 2025
f5d83b9
sidebar fixes + last updated date + versioning doc
claudiacodacy Dec 16, 2025
c3f7c76
update todo
claudiacodacy Dec 16, 2025
b5260b9
fix quick start in prod
claudiacodacy Dec 16, 2025
4bfe186
paid includes + review markdown
claudiacodacy Dec 16, 2025
3b6f101
sidebar collapse + import fix
claudiacodacy Dec 16, 2025
687cdf8
update ide getting started into folder
claudiacodacy Dec 16, 2025
30724da
get started ide folder
claudiacodacy Dec 16, 2025
b09f8df
fix active tab
claudiacodacy Dec 16, 2025
83bc0cb
codacy-api markdown to mdx
claudiacodacy Dec 16, 2025
c8b4142
using codacy-api to mdx
claudiacodacy Dec 16, 2025
6e81737
codacy api example : adding repos
claudiacodacy Dec 16, 2025
a87cb87
transfer all codacy-api
claudiacodacy Dec 16, 2025
ff9bce7
docs guardrails
claudiacodacy Dec 16, 2025
df202fd
changed all asides
claudiacodacy Dec 16, 2025
92508cf
removing all first titles
claudiacodacy Dec 16, 2025
03f8c4f
moved all Id attributes to new format
claudiacodacy Dec 16, 2025
d6f5b43
migrate all includes
claudiacodacy Dec 17, 2025
ea31ee5
trying out docusaurus instead
claudiacodacy Dec 17, 2025
e202ba2
fixed imports + all mdx / md formatting
claudiacodacy Dec 17, 2025
190af32
two tabs in docusaurus
claudiacodacy Dec 17, 2025
965d990
reorder sidebar items
claudiacodacy Dec 17, 2025
0ffcbb3
release notes sidebar
claudiacodacy Dec 17, 2025
eee24b5
logos + fav + homepage
claudiacodacy Dec 17, 2025
9be76aa
delete starlight from pr
claudiacodacy Dec 17, 2025
123e45c
updated todo list
claudiacodacy Dec 17, 2025
732639c
update todo
claudiacodacy Dec 17, 2025
ec1f6b9
theme: use inter
claudiacodacy Dec 17, 2025
38da6f5
Inter + sidebar adjustments
claudiacodacy Dec 17, 2025
414c9ce
color variables
claudiacodacy Dec 17, 2025
735ccac
css organize
claudiacodacy Dec 17, 2025
a1962cf
review greys
claudiacodacy Dec 17, 2025
3aea2e2
content footer
claudiacodacy Dec 17, 2025
9517c79
remove breadcrumbs
claudiacodacy Dec 17, 2025
f14e89b
center content in page
claudiacodacy Dec 17, 2025
5f696ca
remove github from navbar
claudiacodacy Dec 17, 2025
52024a7
adding search
claudiacodacy Dec 17, 2025
cde4753
adjust css file
claudiacodacy Dec 17, 2025
27443a7
convert all imports to mdx
claudiacodacy Dec 17, 2025
1530e4e
fix image in imports
claudiacodacy Dec 17, 2025
70052d8
update docs
claudiacodacy Dec 18, 2025
e3a129a
update todo
claudiacodacy Dec 18, 2025
ec4e2b8
navbar theme
claudiacodacy Dec 18, 2025
bd2de9b
adding main section border
claudiacodacy Dec 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
20 changes: 20 additions & 0 deletions docusaurus/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Dependencies
/node_modules

# Production
/build

# Generated files
.docusaurus
.cache-loader

# Misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
41 changes: 41 additions & 0 deletions docusaurus/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Website

This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator.

## Installation

```bash
yarn
```

## Local Development

```bash
yarn start
```

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

## Build

```bash
yarn build
```

This command generates static content into the `build` directory and can be served using any static contents hosting service.

## Deployment

Using SSH:

```bash
USE_SSH=true yarn deploy
```

Not using SSH:

```bash
GIT_USER=<Your GitHub username> yarn deploy
```

If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.
101 changes: 101 additions & 0 deletions docusaurus/TODO
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
MkDocs ➜ Docusaurus migration checklist

Goal: ship `docusaurus/` as the new production site for https://docs.codacy.com/

---
MVP

## 0) Make it beautiful
- [x] Colors, fonts and sizes
- [x] Better footer
- [x] Beautiful navigation
- [x] Nav links

## 0) Apply new theme!
- [ ] Homepage
- [ ] Sidebar
- [x] Navbar
- [ ] Search
- [ ] Footer
- [ ] Nav buttons
- [ ] Reading time?

## 1) Content parity (docs rendering)
- [ ] Confirm all pages exist in `docusaurus/docs` (count + spot-check key sections)
- [x] Confirm MkDocs-only templating is fully removed from Docusaurus content:
- [x] No Jinja tags (`{% ... %}` / `{{ ... }}`) remain in `docusaurus/docs`
- [x] Replace MkDocs `extra.*` variables with Docusaurus equivalents (MDX constants / front matter / config)
- [x] Confirm MkDocs `include-markdown` usage is fully replaced with `_includes/*.mdx` imports/usages
- [x] Confirm admonitions render as expected (MkDocs `!!! note|tip|warning` ➜ Docusaurus admonitions / MDX syntax)
- [ ] Confirm heading IDs/anchors are stable (MkDocs `toc` permalink + custom `{:#id}` usage)
- [ ] Fix all the links

## 2) Navigation & information architecture
- [ ] Review `docusaurus/sidebars.ts` vs MkDocs `nav:` in `mkdocs.yml` for:
- [ ] Missing/extra categories
- [ ] Ordering (including release notes yearly grouping)
- [ ] Any pages that should be hidden from sidebar but still routable
- [x] Replace placeholder site metadata in `docusaurus/docusaurus.config.ts` (title/tagline/footer links/GitHub links)
- [x] Decide canonical doc routes (Docusaurus uses `/` as `routeBasePath`): ensure this matches production expectations
---

Releseable

## 3) Redirects (must-have before cutover)
- [ ] Port MkDocs `redirect_maps` from `mkdocs.yml` to Docusaurus redirects
- Recommended: add `@docusaurus/plugin-client-redirects` and generate redirects from `mkdocs.yml`
- Include legacy Zendesk (`hc/...`) redirects and internal moved-page redirects
- [ ] Validate redirects with a link/redirect checker against the built site

## 5) Release notes specifics
- [ ] RSS feed parity (MkDocs uses `mkdocs-rss-plugin` for `release-notes/*`)
- [ ] Decide feed generation approach (Docusaurus plugin/custom script during build)
- [ ] Ensure `/feed_rss_created.xml` exists (many pages link to it)
- [ ] Confirm release notes sidebar + navigation matches expectations (tabs already added)

## 8) SEO & meta descriptions (replaces `mkdocs-meta-descriptions`)
- [ ] Decide how to generate meta descriptions (front matter `description` / plugin / build-time extraction)
- [ ] Preserve sitemap + robots behavior (MkDocs workflow wrote `robots.txt` with sitemap link)
- [ ] Validate canonical URLs and avoid indexing preview builds (MkDocs used preview banner + env toggles)

## 9) CI/CD parity (replaces `.github/workflows/mkdocs.yml`)
- [ ] Add a Docusaurus workflow that covers:
- [ ] Build
- [ ] HTML/link validation equivalent to `htmltest` + `lychee` expectations
- [ ] Branch previews (Netlify or equivalent)
- [ ] Deploy latest to `gh-pages` with `CNAME=docs.codacy.com`
- [ ] Deploy versioned Self-hosted docs from `release/v*`

---

NEXT

## 4) Versioning strategy (replaces `mike` + `MKDOCS_SELF_HOSTED`)
MkDocs currently publishes:
- Latest docs on `master` to `gh-pages/`
- Self-hosted versions from `release/v*` using `mike deploy ...` (and `MKDOCS_SELF_HOSTED=true`)

- [ ] Decide Docusaurus versioning model:
- [ ] Use Docusaurus docs versions for Self-hosted (`release/v*` ➜ versioned docs)
- [ ] Decide URL shape for versions (must preserve/redirect existing production URLs)
- [ ] Implement the model in CI (build + deploy) and document how to cut a new Self-hosted version
- [ ] Re-implement any “version selector” behavior (MkDocs `assets/javascripts/version-select.js` + CSS)

## 6) “Last updated” (replaces `git-revision-date-localized`)
- [ ] Enable/verify “Last updated” on doc pages (date + author if desired)
- [ ] Ensure CI checkout uses full git history (`fetch-depth: 0`) so last update data is correct

## 7) Tracking, scripts, and UX widgets
MkDocs uses `extra.segment_key`, `extra.user_feedback`, and custom JS/CSS.
- [ ] Add tracking (Segment or chosen tool) to Docusaurus
- [ ] Add Zendesk
- [ ] Re-implement “user feedback” if it was a widget on MkDocs

## 10) Cleanup & documentation for contributors
- [ ] Update root `README.md` and `CONTRIBUTING.md` for Docusaurus (build/preview instructions)
- [ ] Decide what to do with MkDocs artifacts once cutover is complete:
- [ ] `mkdocs.yml`, `requirements.txt`, MkDocs workflows
- [ ] MkDocs theme submodule `submodules/codacy-mkdocs-material`

## 11) Update release script
- [ ] Update release script
3 changes: 3 additions & 0 deletions docusaurus/docs/_includes/AdminAccessControlInfo.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
:::note
Organization admins can [manage access to this feature](/organizations/roles-and-permissions-for-organizations#change-analysis-configuration)
:::
3 changes: 3 additions & 0 deletions docusaurus/docs/_includes/AdminAccessInfo.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
:::note
Only organization admins can update this setting.
:::
5 changes: 5 additions & 0 deletions docusaurus/docs/_includes/AiInfo.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
:::note
- This feature is compatible with most programming languages and requires no additional setup.
- Comments are generated using the description of the static analysis issue, information about the tool that detected the issue, and a few lines of surrounding code to provide the AI with extra context and improve its accuracy.
- This feature leverages the OpenAI API. No information is shared with other third parties or used to train AI models. Refer to the [OpenAI API data usage policies](https://openai.com/policies/api-data-usage-policies) for more information.
:::
3 changes: 3 additions & 0 deletions docusaurus/docs/_includes/ApiExamplePaginationImportant.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
:::caution
[Learn how to use pagination](/codacy-api/using-the-codacy-api#using-pagination) to ensure that you process all results returned by the API.
:::
5 changes: 5 additions & 0 deletions docusaurus/docs/_includes/ApiTokenWarning.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
:::caution
**Never write API tokens to your configuration files** and keep your API tokens well protected, as they grant owner permissions to your projects on Codacy.

It's a best practice to store API tokens as environment variables. Check the documentation of your CI/CD platform on how to do this.
:::
14 changes: 14 additions & 0 deletions docusaurus/docs/_includes/ClientSideToolAdvanced.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
export default function ClientSideToolAdvanced({ toolName }) {
return (
<>
<h2>Advanced configuration</h2>
<p>
See the available{' '}
<a href="https://github.com/codacy/codacy-analysis-cli#configuration">
Codacy Analysis CLI configuration flags
</a>{' '}
to configure running {toolName} in more advanced scenarios.
</p>
</>
);
}
74 changes: 74 additions & 0 deletions docusaurus/docs/_includes/ClientSideToolInstructionsItems.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
import ApiTokenWarning from './ApiTokenWarning.mdx';

export default function ClientSideToolInstructionsItems({ toolName }) {
return (
<>
<li>
<a href="/repositories-configure/configuring-code-patterns/">
Enable {toolName}
</a>{' '}
and configure the corresponding code patterns on your repository{' '}
<strong>Code patterns</strong> page.
</li>

<li>
Enable <strong>Run analysis on your build server</strong> on your
repository <strong>Settings</strong>, tab <strong>General</strong>,{' '}
<strong>Repository analysis on your server</strong>.
<p>
This setting enables Codacy to wait for the results of the local
analysis before resuming the analysis of your commits.
</p>
<p>
<img
src="./images/run-analysis-through-build-server.png"
alt="Run analysis on your build server"
/>
</p>
</li>

<li>
Set up an API token to authenticate on Codacy:
<ul>
<li>
<strong>If you're setting up one repository</strong>,{' '}
<a href="/codacy-api/api-tokens#repository-api-tokens">
obtain a repository API token
</a>{' '}
and set the following environment variable to specify your
repository API token:
<pre>
<code className="language-bash">
export CODACY_PROJECT_TOKEN=&lt;your repository API token&gt;
</code>
</pre>
</li>
<li>
<strong>If you're setting up multiple repositories</strong>,{' '}
<a href="/codacy-api/api-tokens#account-api-tokens">
obtain an account API Token
</a>{' '}
and set the following environment variable to specify the account
API token:
<pre>
<code className="language-bash">
export CODACY_API_TOKEN=&lt;your account API token&gt;
</code>
</pre>
</li>
</ul>
<ApiTokenWarning />
</li>

<li>
<strong>If you're using Codacy Self-hosted</strong> set the following
environment variable to specify your Codacy instance URL:
<pre>
<code className="language-bash">
export CODACY_API_BASE_URL=&lt;your Codacy instance URL&gt;
</code>
</pre>
</li>
</>
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
:::note
GitHub only: this feature requires updated app permissions. If you haven't done so yet, please [review and accept the updated Codacy app permissions](https://docs.github.com/en/enterprise-cloud@latest/apps/using-github-apps/reviewing-and-modifying-installed-github-apps#reviewing-permissions) on GitHub.
:::
1 change: 1 addition & 0 deletions docusaurus/docs/_includes/CoverageIgnore.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
To exclude files from coverage analysis only, you must ignore them directly in the tool you're using to generate coverage reports and ensure that the reports you upload to Codacy don't include coverage information for those files.
11 changes: 11 additions & 0 deletions docusaurus/docs/_includes/DashboardApiReportNote.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
:::note
You can use the Codacy API to generate reports or obtain information
about the code quality of your repositories in a more flexible way.

For more information see the list of
[available API endpoints](https://api.codacy.com/api/api-docs#codacy-api-analysis)
and the following examples:

- [Obtaining current issues in repositories](/codacy-api/examples/obtaining-current-issues-in-repositories)
- [Obtaining code quality metrics for files](/codacy-api/examples/obtaining-code-quality-metrics-for-files)
:::
33 changes: 33 additions & 0 deletions docusaurus/docs/_includes/DefaultGitProviderSettingsTip.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import Admonition from '@theme/Admonition';

export default function DefaultGitProviderSettingsTip({
variant = 'default-settings',
}) {
if (variant === 'apply-all') {
return (
<Admonition type="tip">
<p>
You can{' '}
<a href="/organizations/integrations/default-git-provider-integration-settings#apply-all">
apply the default Git provider integration settings to all
repositories
</a>{' '}
to ensure that your repositories all share the same settings.
</p>
</Admonition>
);
}

return (
<Admonition type="tip">
<p>
Configure the{' '}
<a href="/organizations/integrations/default-git-provider-integration-settings">
default Git provider integration settings
</a>{' '}
that Codacy applies to new repositories to help ensure that all new
repositories have the same settings.
</p>
</Admonition>
);
}
8 changes: 8 additions & 0 deletions docusaurus/docs/_includes/IssueDetails.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Click the title of an issue card to expand it and see the following information:

- The committer and date of the commit that introduced the issue, if available
- The estimated time to fix the issue
- What the issue is and how to solve it
- The [tool that reported the issue](/getting-started/supported-languages-and-tools/) and the related code pattern
- Where this pattern is enabled: coding standard, repository rules, or configuration file

47 changes: 47 additions & 0 deletions docusaurus/docs/_includes/NavMultistep.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import Link from '@docusaurus/Link';

export default function NavMultistep({ step }) {
const activeStep = typeof step === 'number' ? step : Number(step);
const steps = [
{
label: 'Adding your first repository',
href: '/getting-started/codacy-quickstart#adding-your-first-repository',
},
{
label: 'Configuring your repository',
href: '/getting-started/configuring-your-repository#configuring-your-repository',
},
{
label: 'Integrating Codacy with your Git workflow',
href: '/getting-started/integrating-codacy-with-your-git-workflow#integrating-codacy-with-your-git-workflow',
},
];

return (
<nav className="nav-multistep" aria-label="Guided path">
<p className="nav-multistep__label">
This page is part of the following guided path:
</p>
<ol className="nav-multistep__list">
{steps.map((item, index) => {
const isActive = index === activeStep;

return (
<li
key={item.href}
className={`nav-multistep__step ${
isActive ? 'nav-multistep__step--active' : ''
}`}
>
{isActive ? (
<span className="nav-multistep__current">{item.label}</span>
) : (
<Link to={item.href}>{item.label}</Link>
)}
</li>
);
})}
</ol>
</nav>
);
}
Loading
Loading