Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add GHA that will check links + Fix broken links #3765

Merged
merged 18 commits into from Nov 15, 2022
Merged

Add GHA that will check links + Fix broken links #3765

merged 18 commits into from Nov 15, 2022

Conversation

spier
Copy link
Contributor

@spier spier commented Nov 6, 2022

📑 Summary

Adds a GitHub Action (GHA) that check links in documentation files using lychee.
The markdown files that are checked so far are: packages/mermaid/src/docs/**/*.md README.md README.zh-CN.md

This is based on a conversation from a previous PR:
#3760 (comment)

📏 Design Decisions

  • I am suggesting to run this link check once per week only, rather than for every PR. The link check can be a bit brittle, so running them for each PR can create too many false positives (I made this experience on another project).
  • There were some relative links like ../config/configuration that did not contain the .md extension. Therefore lychee reported these links as broken. I have added the .md extension for these cases
  • The section about "Contributing to Documentation" has various issues, as it is still pointing to the wrong docs folder. As that is unrelated to checking broken links, I have mostly ignored these for now.

Open Questions

  • Various documentation files link to /packages/mermaid/src/docs/config/setup/README, which does not exist any more. Where was that content moved? => answer: auto-generated via pnpm docs:code
  • The file https://github.com/mermaid-js/mermaid/edit/develop/src/docs/_sidebar.md does not exist any more. Should we link to packages/mermaid/src/docs/.vitepress/config.ts instead?

📋 Tasks

Make sure you

  • 📖 have read the contribution guidelines
  • 💻 have added unit/e2e tests (if appropriate)
  • 🔖 targeted develop branch

@spier
Copy link
Contributor Author

spier commented Nov 6, 2022

@aloisklink I created this based on our conversation as a Draft PR, so that we can work out how to best get this ready for merging.

I will leave some more comments inline to explain why i did what.

I already fixed various links, so the new link checker only reports a few broken links now.
See https://github.com/mermaid-js/mermaid/actions/runs/3406168811

Copy link
Member

@aloisklink aloisklink left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So far, progress looks good. Great work!

From a quick look, it seems like lychee has already caught quite a few broken links :)


I am suggesting to run this link check once per week only, rather than for every PR. The link check can be a bit brittle, so running them for each PR can create too many false positives (I made this experience on another project).

My gut feeling is to leave it running on each push/PR, and if does start causing false positives, we could then disable it and just keep it running on a schedule.

But let's see what other reviewers say once this is ready to review.


Various documentation files link to /packages/mermaid/src/docs/config/setup/README, which does not exist any more. Where was that content moved?

https://github.com/mermaid-js/mermaid/blob/develop/packages/mermaid/src/docs/intro/index.md
is probably the new closest thing to it.

(a processed version appears in https://github.com/mermaid-js/mermaid/blob/develop/docs/intro/index.md)


The file https://github.com/mermaid-js/mermaid/edit/develop/src/docs/_sidebar.md does not exist any more. Should we link to packages/mermaid/src/docs/.vitepress/config.ts instead?

Sounds good!


The section about "Contributing to Documentation" has various issues, as it is still pointing to the wrong docs folder. As that is unrelated to checking broken links, I have mostly ignored these for now.

Before we merge this, it's important that the CI passes (otherwise the link checking CI failing might hide other more important issues). It should be fine if you don't have time to update the "Contributing to Documentation" section, but in that case, we may want to either:

a) ignore that file in CI
b) leave this PR open until a maintainer has time to fix that bit

@spier
Copy link
Contributor Author

spier commented Nov 7, 2022

Figured out why the link checker could not find /packages/mermaid/src/docs/config/setup/README.
The content of the setup folder is generated from code, see packages/mermaid/package.json:

"docs:code": "typedoc src/defaultConfig.ts src/config.ts src/mermaidAPI.ts && prettier --write ./src/docs/config/setup",

When running that it outputs:

Documentation generated at ./src/docs/config/setup
src/docs/config/setup/modules/config.md 75ms
src/docs/config/setup/modules/defaultConfig.md 92ms
src/docs/config/setup/modules/mermaidAPI.md 333ms
src/docs/config/setup/README.md 4ms

The folder src/docs/config/setup is ignored by version control. See packages/mermaid/.gitignore.

That means that the link checker cannot check these links locally, as they don't exist as static files in the file system but rather are generated during the build.

So an interim solution for the link checker would be to ignore links below /packages/mermaid/src/docs/config/setup.

However there is still another mystery:

Even after generating these extra documentation files using npm docs:code, the documentation files I see locally are not the same as what is deployed at https://mermaid-js.github.io/mermaid/#/./Setup. I have no idea where the content that I see online comes from. Also when you try the "Edit this Page" this leads to a 404. Very strange :)

@spier
Copy link
Contributor Author

spier commented Nov 7, 2022

Hi @aloisklink, I cannot figure this out, so maybe you can help me:

I understood that I am not supposed to change files in the /docs folder.
However I keep keep getting this error in the lint (18.x) GHA:

Changed files were transformed in src/docs but do not match the files in ../../docs. Please run 'pnpm --filter mermaid run docs:build' after making changes to src/docs to update the ../../docs directory with the transformed files.

I tried that command but it didn't resolve the issue.

I went back and forth and tried various thinks but now I am officially out of ideas :)
Help would be much appreciated.

@aloisklink
Copy link
Member

So an interim solution for the link checker would be to ignore links below /packages/mermaid/src/docs/config/setup.

Sounds good! We could also do a pnpm --filter mermaid run docs:build first in GitHub Actions, but it might be simpler to leave it as something for a future PR.

Even after generating these extra documentation files using npm docs:code, the documentation files I see locally are not the same as what is deployed at https://mermaid-js.github.io/mermaid/#/./Setup. I have no idea where the content that I see online comes from. Also when you try the "Edit this Page" this leads to a 404. Very strange :)

The old content was auto-generated from code comments by documentationjs, but that's unfortunately has some bugs (e.g. documentationjs/documentation#1553), and the package is in low maintenance so they might not be fixed.

The new auto-generation code should be better in the long-term, since it supports TypeScript types, but unfortunately, a bunch of the old comments aren't compatible with the new generator, so those docs are currently pretty empty until we update those comments.

I understood that I am not supposed to change files in the /docs folder.
However I keep keep getting this error in the lint (18.x) GHA:

Changed files were transformed in src/docs but do not match the files in ../../docs. Please run 'pnpm --filter mermaid run docs:build' after making changes to src/docs to update the ../../docs directory with the transformed files.

I tried that command but it didn't resolve the issue.

I just pulled down your branch and ran pnpm --filter mermaid run docs:build and this is what git diff 66c543cb8fd8bb52451ff96231976bf2949f7f22 looks like:
image

Maybe the pnpm --filter mermaid run docs:build script is somehow viewing the contents of your git repo to see whether the default origin is? You might have found a bug! That script was only added in #3678 (6 days ago), so thank you for being our beta tester!

As a temporary measure, you could try manually replacing all the https://github.com/spier/mermaid with https://github.com/mermaid-js/mermaid and see if that works. Otherwise, I'd be happy to just manually push to your branch once you think the PR is ready to go.

CONTRIBUTING.md Show resolved Hide resolved
@spier spier marked this pull request as ready for review November 8, 2022 12:53
@spier
Copy link
Contributor Author

spier commented Nov 8, 2022

@aloisklink thanks for the quick response.

I think I took this as fast as I could, as some of the remaining internals of how this all works are still unclear to me.
e.g. I don't understand how the full documentation gets published to https://mermaid-js.github.io/mermaid as it looks different from the documentation that I can generate for the project locally.

I'd be happy to just manually push to your branch once you think the PR is ready to go.

Yes, it would be great if you could do that. Thank you!

I have marked this PR as "ready for review" 🥳

Sync generated markdown docs by running
`pnpm --filter mermaid run docs:build`
Copy link
Member

@aloisklink aloisklink left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for making this PR! Lots of broken links have been fixed, so you've done a great job, and it definitely feels like Lychee is a valuable addition!

I think I took this as fast as I could, as some of the remaining internals of how this all works are still unclear to me.
e.g. I don't understand how the full documentation gets published to https://mermaid-js.github.io/mermaid as it looks different from the documentation that I can generate for the project locally.

I believe that only the docs on the master branch are pushed to https://mermaid-js.github.io/mermaid

The docs were recently reworked in #3678, so I'm guessing they'll only be published with Mermaid v9.3.0

I'd be happy to just manually push to your branch once you think the PR is ready to go.

Yes, it would be great if you could do that. Thank you!

I have marked this PR as "ready for review" 🥳

Done! I think the Mermaid team may need to investigate whether we can make pnpm run docs:verify point links to mermaid-js/mermaid even from a GitHub fork.

.github/workflows/link-checker.yml Show resolved Hide resolved
Lock down the GITHUB_TOKEN permissions.

lychee only needs `GITHUB_TOKEN` to read public
data without hitting rate-limits, so having read-only
access to contents should be fine.
@sidharthv96
Copy link
Member

Done! I think the Mermaid team may need to investigate whether we can make pnpm run docs:verify point links to mermaid-js/mermaid even from a GitHub fork.

It should work now. I've fixed the typedoc config.

Copy link
Member

@sidharthv96 sidharthv96 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!
Thank you @spier :)

Just a small query.

.github/workflows/link-checker.yml Outdated Show resolved Hide resolved
@sidharthv96 sidharthv96 merged commit b202b53 into mermaid-js:develop Nov 15, 2022
@spier spier deleted the feature/check-links-in-docs branch November 15, 2022 08:53
fuxingloh pushed a commit to fuxingloh/contented that referenced this pull request Dec 19, 2022
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [mermaid](https://togithub.com/mermaid-js/mermaid) | [`9.2.2` ->
`9.3.0`](https://renovatebot.com/diffs/npm/mermaid/9.2.2/9.3.0) |
[![age](https://badges.renovateapi.com/packages/npm/mermaid/9.3.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/mermaid/9.3.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/mermaid/9.3.0/compatibility-slim/9.2.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/mermaid/9.3.0/confidence-slim/9.2.2)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>mermaid-js/mermaid</summary>

###
[`v9.3.0`](https://togithub.com/mermaid-js/mermaid/releases/tag/v9.3.0)

[Compare
Source](https://togithub.com/mermaid-js/mermaid/compare/v9.2.2...v9.3.0)

### Significant Changes

-   25% Smaller
-   New docs
-   Replaces the deprecated and vulnerable `dagre-d3` with `dagre-es`

### Release Notes

- [#&#8203;3778](https://togithub.com/mermaid-js/mermaid/issues/3778)
Adding a hexgon shape
([#&#8203;3834](https://togithub.com/mermaid-js/mermaid/issues/3834))
[@&#8203;knsv](https://togithub.com/knsv)
- [#&#8203;3831](https://togithub.com/mermaid-js/mermaid/issues/3831)
Re-enabling themes for er diagrams
([#&#8203;3837](https://togithub.com/mermaid-js/mermaid/issues/3837))
[@&#8203;knsv](https://togithub.com/knsv)
- [#&#8203;3882](https://togithub.com/mermaid-js/mermaid/issues/3882)
fix for issues with mindmaps with only a single node
([#&#8203;3833](https://togithub.com/mermaid-js/mermaid/issues/3833))
[@&#8203;knsv](https://togithub.com/knsv)
- (chore) remove console stmt in pieDetector
([#&#8203;3840](https://togithub.com/mermaid-js/mermaid/issues/3840))
[@&#8203;weedySeaDragon](https://togithub.com/weedySeaDragon)
- (feat) state classDef documentation
([#&#8203;3841](https://togithub.com/mermaid-js/mermaid/issues/3841))
[@&#8203;weedySeaDragon](https://togithub.com/weedySeaDragon)
- 3882 edge labels
([#&#8203;3883](https://togithub.com/mermaid-js/mermaid/issues/3883))
[@&#8203;knsv](https://togithub.com/knsv)
- Add GHA that will check links + Fix broken links
([#&#8203;3765](https://togithub.com/mermaid-js/mermaid/issues/3765))
[@&#8203;spier](https://togithub.com/spier)
- Add official vim plugin to list in integrations
([#&#8203;3847](https://togithub.com/mermaid-js/mermaid/issues/3847))
[@&#8203;craigmac](https://togithub.com/craigmac)
- Add package visualizations
([#&#8203;3823](https://togithub.com/mermaid-js/mermaid/issues/3823))
[@&#8203;sidharthv96](https://togithub.com/sidharthv96)
- Add support for [@&#8203;include](https://togithub.com/include) in
docs
([#&#8203;3863](https://togithub.com/mermaid-js/mermaid/issues/3863))
[@&#8203;sidharthv96](https://togithub.com/sidharthv96)
- CI: disable pinning dependencies
([#&#8203;3735](https://togithub.com/mermaid-js/mermaid/issues/3735))
[@&#8203;aloisklink](https://togithub.com/aloisklink)
- Defects/issue 3878
([#&#8203;3880](https://togithub.com/mermaid-js/mermaid/issues/3880))
[@&#8203;MrCoder](https://togithub.com/MrCoder)
- Feat: Add aria-describedby, aria-roledescription
([#&#8203;3808](https://togithub.com/mermaid-js/mermaid/issues/3808))
[@&#8203;weedySeaDragon](https://togithub.com/weedySeaDragon)
- Fix
[#&#8203;3799](https://togithub.com/mermaid-js/mermaid/issues/3799):
Remove `type` from package.json
([#&#8203;3802](https://togithub.com/mermaid-js/mermaid/issues/3802))
[@&#8203;sidharthv96](https://togithub.com/sidharthv96)
- Fix for
[#&#8203;3835](https://togithub.com/mermaid-js/mermaid/issues/3835),
makes it possible to style path elements
([#&#8203;3836](https://togithub.com/mermaid-js/mermaid/issues/3836))
[@&#8203;knsv](https://togithub.com/knsv)
- Fix typos
([#&#8203;3820](https://togithub.com/mermaid-js/mermaid/issues/3820))
[@&#8203;endolith](https://togithub.com/endolith)
- Housekeeping with eslint-unicorn
([#&#8203;3845](https://togithub.com/mermaid-js/mermaid/issues/3845))
[@&#8203;sidharthv96](https://togithub.com/sidharthv96)
- Integrations added - Visual Studio Code \[Polyglot Interactive
Notebooks]
([#&#8203;3821](https://togithub.com/mermaid-js/mermaid/issues/3821))
[@&#8203;dfinke](https://togithub.com/dfinke)
- Mindmap integration docs
([#&#8203;3810](https://togithub.com/mermaid-js/mermaid/issues/3810))
[@&#8203;sidharthv96](https://togithub.com/sidharthv96)
- Reduce mermaid size by 31%
([#&#8203;3825](https://togithub.com/mermaid-js/mermaid/issues/3825))
[@&#8203;sidharthv96](https://togithub.com/sidharthv96)
- Remove extra arrow and adjust cross position
([#&#8203;3641](https://togithub.com/mermaid-js/mermaid/issues/3641))
[@&#8203;ishuen](https://togithub.com/ishuen)
- Replace `dagre`/`dagre-d3` with `dagre-d3-es`
([#&#8203;3809](https://togithub.com/mermaid-js/mermaid/issues/3809))
[@&#8203;aloisklink](https://togithub.com/aloisklink)
- Revert "Added pie"
([#&#8203;3842](https://togithub.com/mermaid-js/mermaid/issues/3842))
[@&#8203;pbrolin47](https://togithub.com/pbrolin47)
- Switch CDN to unpkg.com
([#&#8203;3777](https://togithub.com/mermaid-js/mermaid/issues/3777))
[@&#8203;sidharthv96](https://togithub.com/sidharthv96)
- Switch back to jsdelivr
([#&#8203;3873](https://togithub.com/mermaid-js/mermaid/issues/3873))
[@&#8203;sidharthv96](https://togithub.com/sidharthv96)
- Use `github-dark` to highlight fence blocks in vitepress docs
([#&#8203;3807](https://togithub.com/mermaid-js/mermaid/issues/3807))
[@&#8203;aloisklink](https://togithub.com/aloisklink)
- Use current mermaid version in docs.
([#&#8203;3846](https://togithub.com/mermaid-js/mermaid/issues/3846))
[@&#8203;sidharthv96](https://togithub.com/sidharthv96)
- Use stylis to prepend idSelector
([#&#8203;3829](https://togithub.com/mermaid-js/mermaid/issues/3829))
[@&#8203;DanInProgress](https://togithub.com/DanInProgress)
- bug: State diagram fix classes type
([#&#8203;3798](https://togithub.com/mermaid-js/mermaid/issues/3798))
[@&#8203;weedySeaDragon](https://togithub.com/weedySeaDragon)
- bug: change shiki getHighlighter import
([#&#8203;3804](https://togithub.com/mermaid-js/mermaid/issues/3804))
[@&#8203;weedySeaDragon](https://togithub.com/weedySeaDragon)
- chore(deps): remove dependency on `graphlib`
([#&#8203;3861](https://togithub.com/mermaid-js/mermaid/issues/3861))
[@&#8203;aloisklink](https://togithub.com/aloisklink)
- chore(deps): update all non-major dependencies (minor)
([#&#8203;3905](https://togithub.com/mermaid-js/mermaid/issues/3905))
[@&#8203;renovate](https://togithub.com/renovate)
- chore(deps): update all non-major dependencies (minor)
([#&#8203;3791](https://togithub.com/mermaid-js/mermaid/issues/3791))
[@&#8203;renovate](https://togithub.com/renovate)
- chore(deps): update lycheeverse/lychee-action action to v1.5.4
([#&#8203;3827](https://togithub.com/mermaid-js/mermaid/issues/3827))
[@&#8203;renovate](https://togithub.com/renovate)
- chore(deps): update pnpm to v7.17.0
([#&#8203;3828](https://togithub.com/mermaid-js/mermaid/issues/3828))
[@&#8203;renovate](https://togithub.com/renovate)
- chore(deps): update pnpm to v7.17.1
([#&#8203;3862](https://togithub.com/mermaid-js/mermaid/issues/3862))
[@&#8203;renovate](https://togithub.com/renovate)
- chore(docs): Auto build docs
([#&#8203;3547](https://togithub.com/mermaid-js/mermaid/issues/3547))
[@&#8203;sidharthv96](https://togithub.com/sidharthv96)
- chore: Housekeeping
([#&#8203;3783](https://togithub.com/mermaid-js/mermaid/issues/3783))
[@&#8203;sidharthv96](https://togithub.com/sidharthv96)
- chore: Merge master to develop
([#&#8203;3780](https://togithub.com/mermaid-js/mermaid/issues/3780))
[@&#8203;sidharthv96](https://togithub.com/sidharthv96)
- chore: clean up code in mermaidAPI render() and write specs/tests
([#&#8203;3684](https://togithub.com/mermaid-js/mermaid/issues/3684))
[@&#8203;weedySeaDragon](https://togithub.com/weedySeaDragon)
- chore: delete functions not used in diagrams/c4 code (dead code)
([#&#8203;3871](https://togithub.com/mermaid-js/mermaid/issues/3871))
[@&#8203;weedySeaDragon](https://togithub.com/weedySeaDragon)
- comments in states are skipped now
([#&#8203;3762](https://togithub.com/mermaid-js/mermaid/issues/3762))
[@&#8203;avijit1258](https://togithub.com/avijit1258)
- doc: remove links from atom.io; add note Atom has been archived
([#&#8203;3899](https://togithub.com/mermaid-js/mermaid/issues/3899))
[@&#8203;weedySeaDragon](https://togithub.com/weedySeaDragon)
- docs: refactor Theming doc
([#&#8203;3889](https://togithub.com/mermaid-js/mermaid/issues/3889))
[@&#8203;huynhicode](https://togithub.com/huynhicode)
- feat: Redirect old documentation links.
([#&#8203;3797](https://togithub.com/mermaid-js/mermaid/issues/3797))
[@&#8203;sidharthv96](https://togithub.com/sidharthv96)
- feat: Title support via front matter for ER, state, class, git, and
graph diagrams
([#&#8203;3706](https://togithub.com/mermaid-js/mermaid/issues/3706))
[@&#8203;MasonM](https://togithub.com/MasonM)
- fix(deps): update all non-major dependencies (patch)
([#&#8203;3790](https://togithub.com/mermaid-js/mermaid/issues/3790))
[@&#8203;renovate](https://togithub.com/renovate)
- fix(deps): update dependency rollup to v3
([#&#8203;3674](https://togithub.com/mermaid-js/mermaid/issues/3674))
[@&#8203;renovate](https://togithub.com/renovate)
- fix: LintStaged
([#&#8203;3844](https://togithub.com/mermaid-js/mermaid/issues/3844))
[@&#8203;sidharthv96](https://togithub.com/sidharthv96)

🎉 **Thanks to all contributors helping with this release!** 🎉

#### What's Changed

- chore(deps): update actions/checkout action to v3 by
[@&#8203;renovate](https://togithub.com/renovate) in
[mermaid-js/mermaid#3645
- chore(deps): update actions/setup-node action to v3 by
[@&#8203;renovate](https://togithub.com/renovate) in
[mermaid-js/mermaid#3646
- Remove inconsistent and deprecated semicolons by
[@&#8203;revolter](https://togithub.com/revolter) in
[mermaid-js/mermaid#3657
- Fix windows paths for `docs:build` by
[@&#8203;arpansaha13](https://togithub.com/arpansaha13) in
[mermaid-js/mermaid#3605
- feat: make `parseError` function more type-safe by
[@&#8203;Some-Dood](https://togithub.com/Some-Dood) in
[mermaid-js/mermaid#3643
- chore(deps): update all non-major dependencies (minor) by
[@&#8203;renovate](https://togithub.com/renovate) in
[mermaid-js/mermaid#3632
- chore(deps): update all non-major dependencies (patch) by
[@&#8203;renovate](https://togithub.com/renovate) in
[mermaid-js/mermaid#3671
- chore(deps): pin dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[mermaid-js/mermaid#3685
- Added Open Graph meta tags by
[@&#8203;danangtomo](https://togithub.com/danangtomo) in
[mermaid-js/mermaid#3679
- add eslint-plugin-no-only-tests plugin by
[@&#8203;DKurilo](https://togithub.com/DKurilo) in
[mermaid-js/mermaid#3690
- Added and configured cspell plugin to eslint by
[@&#8203;devcer](https://togithub.com/devcer) in
[mermaid-js/mermaid#3604
- fix: gantt demo diagrams
([#&#8203;3655](https://togithub.com/mermaid-js/mermaid/issues/3655)) by
[@&#8203;isinek](https://togithub.com/isinek) in
[mermaid-js/mermaid#3688
- Chore/3697 eslint curly by
[@&#8203;jeroenekkelkamp](https://togithub.com/jeroenekkelkamp) in
[mermaid-js/mermaid#3698
- Update sequenceDiagram.md by
[@&#8203;imgss](https://togithub.com/imgss) in
[mermaid-js/mermaid#3707
- Use `eslint-plugin-tsdoc` for TypeScript files instead of
`eslint-plugin-jsdoc` by
[@&#8203;aloisklink](https://togithub.com/aloisklink) in
[mermaid-js/mermaid#3708
- chore(deps): pin dependencies by
[@&#8203;renovate](https://togithub.com/renovate) in
[mermaid-js/mermaid#3713
- chore(deps): update all non-major dependencies (patch) by
[@&#8203;renovate](https://togithub.com/renovate) in
[mermaid-js/mermaid#3714
- Order pie chart slices clockwise by order of entries by
[@&#8203;jasmaa](https://togithub.com/jasmaa) in
[mermaid-js/mermaid#3609
- fix: border attribute does not work in a certain writing style by
[@&#8203;maiermic](https://togithub.com/maiermic) in
[mermaid-js/mermaid#3636
- add the way to add notes to class diagram by
[@&#8203;DKurilo](https://togithub.com/DKurilo) in
[mermaid-js/mermaid#3647
- add statement aliases for ER diagram by
[@&#8203;DKurilo](https://togithub.com/DKurilo) in
[mermaid-js/mermaid#3649
- fix: Fix useMaxWidth option for git graph by
[@&#8203;uttk](https://togithub.com/uttk) in
[mermaid-js/mermaid#3652
- [#&#8203;3659](https://togithub.com/mermaid-js/mermaid/issues/3659)
Adding height when not using maxWidth by
[@&#8203;knsv](https://togithub.com/knsv) in
[mermaid-js/mermaid#3668
- Change fill attribute to style by
[@&#8203;CalebUsadi](https://togithub.com/CalebUsadi) in
[mermaid-js/mermaid#3719
- feat: \[State diagram] Add classDefs and classes to states by
[@&#8203;weedySeaDragon](https://togithub.com/weedySeaDragon) in
[mermaid-js/mermaid#3644
- Fill inheritance arrow with background color by
[@&#8203;vallsv](https://togithub.com/vallsv) in
[mermaid-js/mermaid#3543
- Ensure example code and rendered output are synced by
[@&#8203;marcjansen](https://togithub.com/marcjansen) in
[mermaid-js/mermaid#3721
- fix(git): Support quoted branch names by
[@&#8203;gibson042](https://togithub.com/gibson042) in
[mermaid-js/mermaid#3726
- docs: Add link to docs source by
[@&#8203;sidharthv96](https://togithub.com/sidharthv96) in
[mermaid-js/mermaid#3612
- chore(deps): update all non-major dependencies (patch) by
[@&#8203;renovate](https://togithub.com/renovate) in
[mermaid-js/mermaid#3736
- chore(deps): update all non-major dependencies (minor) by
[@&#8203;renovate](https://togithub.com/renovate) in
[mermaid-js/mermaid#3737
- feat(gantt): Add option 'tickInterval' for custom tick interval by
[@&#8203;DarkNami](https://togithub.com/DarkNami) in
[mermaid-js/mermaid#3729
- Fix/convert attr to style in er graph by
[@&#8203;CalebUsadi](https://togithub.com/CalebUsadi) in
[mermaid-js/mermaid#3722
- update user story link for
[#&#8203;3740](https://togithub.com/mermaid-js/mermaid/issues/3740) by
[@&#8203;6footGeek](https://togithub.com/6footGeek) in
[mermaid-js/mermaid#3741
- Improved New Documentation by
[@&#8203;emersonbottero](https://togithub.com/emersonbottero) in
[mermaid-js/mermaid#3678
- chore: fix cSpell word entry misspelling "mermiad" -> "mermaid" by
[@&#8203;weedySeaDragon](https://togithub.com/weedySeaDragon) in
[mermaid-js/mermaid#3751
- Fix link to CSS classes by
[@&#8203;hugovk](https://togithub.com/hugovk) in
[mermaid-js/mermaid#3752
- docs: Update references to default config in directives page by
[@&#8203;raptor0929](https://togithub.com/raptor0929) in
[mermaid-js/mermaid#3738
- Fix link relative links to documentation files by
[@&#8203;spier](https://togithub.com/spier) in
[mermaid-js/mermaid#3760
- chore(deps): update all non-major dependencies (patch) by
[@&#8203;renovate](https://togithub.com/renovate) in
[mermaid-js/mermaid#3769
- chore(deps): update all non-major dependencies (minor) by
[@&#8203;renovate](https://togithub.com/renovate) in
[mermaid-js/mermaid#3770
- Fix CSpell by [@&#8203;sidharthv96](https://togithub.com/sidharthv96)
in
[mermaid-js/mermaid#3753
- Live edits for Docs by
[@&#8203;sidharthv96](https://togithub.com/sidharthv96) in
[mermaid-js/mermaid#3755
- Switch CDN to unpkg.com by
[@&#8203;sidharthv96](https://togithub.com/sidharthv96) in
[mermaid-js/mermaid#3777
- chore: Housekeeping by
[@&#8203;sidharthv96](https://togithub.com/sidharthv96) in
[mermaid-js/mermaid#3783
- Pnpm issue reproduction by
[@&#8203;sidharthv96](https://togithub.com/sidharthv96) in
[mermaid-js/mermaid#3784
- fix(deps): update all non-major dependencies (patch) by
[@&#8203;renovate](https://togithub.com/renovate) in
[mermaid-js/mermaid#3790
- chore: clean up code in mermaidAPI render() and write specs/tests by
[@&#8203;weedySeaDragon](https://togithub.com/weedySeaDragon) in
[mermaid-js/mermaid#3684
- chore(deps): update all non-major dependencies (minor) by
[@&#8203;renovate](https://togithub.com/renovate) in
[mermaid-js/mermaid#3791
- fix(deps): update dependency rollup to v3 by
[@&#8203;renovate](https://togithub.com/renovate) in
[mermaid-js/mermaid#3674
- Add GHA that will check links + Fix broken links by
[@&#8203;spier](https://togithub.com/spier) in
[mermaid-js/mermaid#3765
- chore: Merge master to develop by
[@&#8203;sidharthv96](https://togithub.com/sidharthv96) in
[mermaid-js/mermaid#3780
- bug: change shiki getHighlighter import by
[@&#8203;weedySeaDragon](https://togithub.com/weedySeaDragon) in
[mermaid-js/mermaid#3804
- Fix
[#&#8203;3799](https://togithub.com/mermaid-js/mermaid/issues/3799):
Remove `type` from package.json by
[@&#8203;sidharthv96](https://togithub.com/sidharthv96) in
[mermaid-js/mermaid#3802
- CI: disable pinning dependencies by
[@&#8203;aloisklink](https://togithub.com/aloisklink) in
[mermaid-js/mermaid#3735
- bug: State diagram fix classes type by
[@&#8203;weedySeaDragon](https://togithub.com/weedySeaDragon) in
[mermaid-js/mermaid#3798
- Remove extra arrow and adjust cross position by
[@&#8203;ishuen](https://togithub.com/ishuen) in
[mermaid-js/mermaid#3641
- comments in states are skipped now by
[@&#8203;avijit1258](https://togithub.com/avijit1258) in
[mermaid-js/mermaid#3762
- feat: Redirect old documentation links. by
[@&#8203;sidharthv96](https://togithub.com/sidharthv96) in
[mermaid-js/mermaid#3797
- Mindmap integration docs by
[@&#8203;sidharthv96](https://togithub.com/sidharthv96) in
[mermaid-js/mermaid#3810
- Use `github-dark` to highlight fence blocks in vitepress docs by
[@&#8203;aloisklink](https://togithub.com/aloisklink) in
[mermaid-js/mermaid#3807
- chore(deps): update lycheeverse/lychee-action action to v1.5.4 by
[@&#8203;renovate](https://togithub.com/renovate) in
[mermaid-js/mermaid#3827
- chore(deps): update pnpm to v7.17.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[mermaid-js/mermaid#3828
- feat: Title support via front matter for ER, state, class, git, and
graph diagrams by [@&#8203;MasonM](https://togithub.com/MasonM) in
[mermaid-js/mermaid#3706
- Replace `dagre`/`dagre-d3` with `dagre-d3-es` by
[@&#8203;aloisklink](https://togithub.com/aloisklink) in
[mermaid-js/mermaid#3809
- Add package visualizations by
[@&#8203;sidharthv96](https://togithub.com/sidharthv96) in
[mermaid-js/mermaid#3823
- [#&#8203;3882](https://togithub.com/mermaid-js/mermaid/issues/3882)
fix for issues with mindmaps with only a single node by
[@&#8203;knsv](https://togithub.com/knsv) in
[mermaid-js/mermaid#3833
- [#&#8203;3778](https://togithub.com/mermaid-js/mermaid/issues/3778)
Adding a hexgon shape by [@&#8203;knsv](https://togithub.com/knsv) in
[mermaid-js/mermaid#3834
- Fix for
[#&#8203;3835](https://togithub.com/mermaid-js/mermaid/issues/3835),
makes it possible to style path elements by
[@&#8203;knsv](https://togithub.com/knsv) in
[mermaid-js/mermaid#3836
- [#&#8203;3831](https://togithub.com/mermaid-js/mermaid/issues/3831)
Re-enabling themes for er diagrams by
[@&#8203;knsv](https://togithub.com/knsv) in
[mermaid-js/mermaid#3837
- (chore) remove console stmt in pieDetector by
[@&#8203;weedySeaDragon](https://togithub.com/weedySeaDragon) in
[mermaid-js/mermaid#3840
- Revert "Added pie" by
[@&#8203;pbrolin47](https://togithub.com/pbrolin47) in
[mermaid-js/mermaid#3842
- Fix typos by [@&#8203;endolith](https://togithub.com/endolith) in
[mermaid-js/mermaid#3820
- (feat) state classDef documentation by
[@&#8203;weedySeaDragon](https://togithub.com/weedySeaDragon) in
[mermaid-js/mermaid#3841
- Integrations added - Visual Studio Code \[Polyglot Interactive
Notebooks] by [@&#8203;dfinke](https://togithub.com/dfinke) in
[mermaid-js/mermaid#3821
- Reduce mermaid size by 31% by
[@&#8203;sidharthv96](https://togithub.com/sidharthv96) in
[mermaid-js/mermaid#3825
- fix: LintStaged by
[@&#8203;sidharthv96](https://togithub.com/sidharthv96) in
[mermaid-js/mermaid#3844
- Add official vim plugin to list in integrations by
[@&#8203;craigmac](https://togithub.com/craigmac) in
[mermaid-js/mermaid#3847
- chore(deps): remove dependency on `graphlib` by
[@&#8203;aloisklink](https://togithub.com/aloisklink) in
[mermaid-js/mermaid#3861
- chore(deps): update pnpm to v7.17.1 by
[@&#8203;renovate](https://togithub.com/renovate) in
[mermaid-js/mermaid#3862
- Make gitgraph snapshots consistent in E2E tests by
[@&#8203;aloisklink](https://togithub.com/aloisklink) in
[mermaid-js/mermaid#3860
- Use stylis to prepend idSelector by
[@&#8203;DanInProgress](https://togithub.com/DanInProgress) in
[mermaid-js/mermaid#3829
- Use current mermaid version in docs. by
[@&#8203;sidharthv96](https://togithub.com/sidharthv96) in
[mermaid-js/mermaid#3846
- Add support for [@&#8203;include](https://togithub.com/include) in
docs by [@&#8203;sidharthv96](https://togithub.com/sidharthv96) in
[mermaid-js/mermaid#3863
- Housekeeping with eslint-unicorn by
[@&#8203;sidharthv96](https://togithub.com/sidharthv96) in
[mermaid-js/mermaid#3845
- chore: delete functions not used in diagrams/c4 code (dead code) by
[@&#8203;weedySeaDragon](https://togithub.com/weedySeaDragon) in
[mermaid-js/mermaid#3871
- Switch back to jsdelivr by
[@&#8203;sidharthv96](https://togithub.com/sidharthv96) in
[mermaid-js/mermaid#3873
- 3882 edge labels by [@&#8203;knsv](https://togithub.com/knsv) in
[mermaid-js/mermaid#3883
- Small fix for issue
[#&#8203;3881](https://togithub.com/mermaid-js/mermaid/issues/3881) by
[@&#8203;knsv](https://togithub.com/knsv) in
[mermaid-js/mermaid#3884
- Defects/issue 3878 by [@&#8203;MrCoder](https://togithub.com/MrCoder)
in
[mermaid-js/mermaid#3880
- chore(docs): Auto build docs by
[@&#8203;sidharthv96](https://togithub.com/sidharthv96) in
[mermaid-js/mermaid#3547
- docs: refactor Theming doc by
[@&#8203;huynhicode](https://togithub.com/huynhicode) in
[mermaid-js/mermaid#3889
- Feat: Add aria-describedby, aria-roledescription by
[@&#8203;weedySeaDragon](https://togithub.com/weedySeaDragon) in
[mermaid-js/mermaid#3808
- Release/9.3.0 by
[@&#8203;sidharthv96](https://togithub.com/sidharthv96) in
[mermaid-js/mermaid#3911

#### New Contributors

- [@&#8203;revolter](https://togithub.com/revolter) made their first
contribution in
[mermaid-js/mermaid#3657
- [@&#8203;Some-Dood](https://togithub.com/Some-Dood) made their first
contribution in
[mermaid-js/mermaid#3643
- [@&#8203;danangtomo](https://togithub.com/danangtomo) made their first
contribution in
[mermaid-js/mermaid#3679
- [@&#8203;DKurilo](https://togithub.com/DKurilo) made their first
contribution in
[mermaid-js/mermaid#3690
- [@&#8203;devcer](https://togithub.com/devcer) made their first
contribution in
[mermaid-js/mermaid#3604
- [@&#8203;isinek](https://togithub.com/isinek) made their first
contribution in
[mermaid-js/mermaid#3688
- [@&#8203;jeroenekkelkamp](https://togithub.com/jeroenekkelkamp) made
their first contribution in
[mermaid-js/mermaid#3698
- [@&#8203;imgss](https://togithub.com/imgss) made their first
contribution in
[mermaid-js/mermaid#3707
- [@&#8203;jasmaa](https://togithub.com/jasmaa) made their first
contribution in
[mermaid-js/mermaid#3609
- [@&#8203;uttk](https://togithub.com/uttk) made their first
contribution in
[mermaid-js/mermaid#3652
- [@&#8203;CalebUsadi](https://togithub.com/CalebUsadi) made their first
contribution in
[mermaid-js/mermaid#3719
- [@&#8203;marcjansen](https://togithub.com/marcjansen) made their first
contribution in
[mermaid-js/mermaid#3721
- [@&#8203;DarkNami](https://togithub.com/DarkNami) made their first
contribution in
[mermaid-js/mermaid#3729
- [@&#8203;6footGeek](https://togithub.com/6footGeek) made their first
contribution in
[mermaid-js/mermaid#3741
- [@&#8203;hugovk](https://togithub.com/hugovk) made their first
contribution in
[mermaid-js/mermaid#3752
- [@&#8203;raptor0929](https://togithub.com/raptor0929) made their first
contribution in
[mermaid-js/mermaid#3738
- [@&#8203;spier](https://togithub.com/spier) made their first
contribution in
[mermaid-js/mermaid#3760
- [@&#8203;ishuen](https://togithub.com/ishuen) made their first
contribution in
[mermaid-js/mermaid#3641
- [@&#8203;avijit1258](https://togithub.com/avijit1258) made their first
contribution in
[mermaid-js/mermaid#3762
- [@&#8203;MasonM](https://togithub.com/MasonM) made their first
contribution in
[mermaid-js/mermaid#3706
- [@&#8203;endolith](https://togithub.com/endolith) made their first
contribution in
[mermaid-js/mermaid#3820
- [@&#8203;dfinke](https://togithub.com/dfinke) made their first
contribution in
[mermaid-js/mermaid#3821
- [@&#8203;craigmac](https://togithub.com/craigmac) made their first
contribution in
[mermaid-js/mermaid#3847
- [@&#8203;DanInProgress](https://togithub.com/DanInProgress) made their
first contribution in
[mermaid-js/mermaid#3829
- [@&#8203;MrCoder](https://togithub.com/MrCoder) made their first
contribution in
[mermaid-js/mermaid#3880
- [@&#8203;huynhicode](https://togithub.com/huynhicode) made their first
contribution in
[mermaid-js/mermaid#3889

**Full Changelog**:
mermaid-js/mermaid@v9.2.2...v9.3.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/BirthdayResearch/contented).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC41NC4yIiwidXBkYXRlZEluVmVyIjoiMzQuNjIuMSJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants