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

Fix the "Edit this page on GitHub" link in Vitepress documentation for the Mermaid Config pages #4640

Merged
merged 4 commits into from
Jul 20, 2023

Conversation

aloisklink
Copy link
Member

📑 Summary

Fix the "Edit this page on GitHub" link for the Mermaid Config Schema http://localhost:3333/config/schema-docs/config.html.

Before (edit link points to file that doesn't exist)

Edit Link points to packages/mermaid/src/docs/config/schema-docs/config.md, which doesn't exist: https://github.com/mermaid-js/mermaid/edit/develop/packages/mermaid/src/docs/config/schema-docs/config.md

image

After (edit link points to correct file)

Edit Link correctly points to packages/mermaid/src/schemas/config.schema.yaml: https://github.com/mermaid-js/mermaid/edit/develop/packages/mermaid/src/schemas/config.schema.yaml

image

📏 Design Decisions

Vitepress 1.0.0-beta.53 allowed the editLink parameter in the Vitepress config to accept a function, instead of just a pattern. I've changed this Vitepress config function to then accept a custom edit link in the YAML frontmatter of Markdown files, which is created by transformMarkdownAst.

So essentially:

  • transformMarkdownAst({originalFilename, addEditLink: true}) now adds the following YAML frontmatter to a markdown file:
    ---
    editLink: "https://github.com/mermaid-js/mermaid/edit/develop/packages/mermaid/src/schemas/config.schema.yaml"
    ---
    
    Here is my markdown file!
  • Our custom .vitepress/config.ts editLink.pattern function will then use the frontmatter.editLink as the edit link, if it exists.

📋 Tasks

Make sure you

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

We use the `unified.stringify()` function on our remark plugins to
stringify the Markdown AST for our MermaidConfig documentation.
However, [`.stringify()`][1] only runs the stringify phase in unified,
not the "run" phase. If we want to run our plugins on the Markdown AST,
we need to also use the [`.run()`][2] function.

[1]: https://github.com/unifiedjs/unified#processorstringifytree-file
[2]: https://github.com/unifiedjs/unified#processorruntree-file-done
Add a YAML front-matter entry called `editLink` to Markdown files in
Vitepress, e.g.

```markdown
---
editLink: "https://github.com/mermaid-js/mermaid/edit/develop/packages/mermaid/src/schemas/config.schema.yaml"
---

Here is my markdown file!
```

Although Vitepress doesn't officially support adding a URL as a
`editLink:` YAML front-matter, we can add a custom `editLink` function
to our Vitepress config that does allow it.
In Vitepress, allow using a custom `editLink`, if specified in the YAML
frontmatter.
@codecov
Copy link

codecov bot commented Jul 15, 2023

Codecov Report

Merging #4640 (4d2d790) into develop (946b5f1) will increase coverage by 31.72%.
The diff coverage is n/a.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff              @@
##           develop    #4640       +/-   ##
============================================
+ Coverage    45.28%   77.01%   +31.72%     
============================================
  Files           52      143       +91     
  Lines         6633    14476     +7843     
  Branches        18      516      +498     
============================================
+ Hits          3004    11149     +8145     
+ Misses        3629     3222      -407     
- Partials         0      105      +105     
Flag Coverage Δ
e2e 83.97% <ø> (?)
unit 45.32% <ø> (+0.03%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

see 137 files with indirect coverage changes

packages/mermaid/src/docs.mts Outdated Show resolved Hide resolved
Our current method of adding a entry using `+=` is not safe in YAML,
since it's valid to make a YAML object entirely in JSON,
see mermaid-js#4640 (comment)

We're already using `js-yaml` elsewhere in this file, so we may as well
use it for parsing/stringifying.

Reported-by: Remco Haszing <[email protected]>
@sidharthv96 sidharthv96 added this pull request to the merge queue Jul 20, 2023
Merged via the queue into mermaid-js:develop with commit 1b2340b Jul 20, 2023
13 checks passed
@aloisklink aloisklink deleted the docs/fix-edit-url branch July 20, 2023 17:23
github-merge-queue bot pushed a commit to fuxingloh/contented that referenced this pull request Jul 31, 2023
[![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://github.com/mermaid-js/mermaid) | [`10.2.4` ->
`10.3.0`](https://renovatebot.com/diffs/npm/mermaid/10.2.4/10.3.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/mermaid/10.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/mermaid/10.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/mermaid/10.2.4/10.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/mermaid/10.2.4/10.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

###
[`v10.3.0`](https://github.com/mermaid-js/mermaid/releases/tag/v10.3.0):
10.3.0

[Compare
Source](https://github.com/mermaid-js/mermaid/compare/v10.2.4...v10.3.0)

#### What's Changed

##### Features

- Sankey diagrams by [@&#8203;nirname](https://github.com/nirname) in
[mermaid-js/mermaid#4502
- Feature/1838 actor creation destruction by
[@&#8203;Valentine14th](https://github.com/Valentine14th) in
[mermaid-js/mermaid#4466
- Vertical branches in Git Diagram by
[@&#8203;mastersibin](https://github.com/mastersibin) in
[mermaid-js/mermaid#4639
- Use JSON Schema to define and document `MermaidConfig` by
[@&#8203;aloisklink](https://github.com/aloisklink) in
[mermaid-js/mermaid#4112
- Remove the test checking whether the JSON Schema default config
matched the old default config by
[@&#8203;aloisklink](https://github.com/aloisklink) in
[mermaid-js/mermaid#4610
- Fixes support of the macro `ContainerQueue_Ext` for C4 diagrams
definition. by [@&#8203;kislerdm](https://github.com/kislerdm) in
[mermaid-js/mermaid#4577

##### Bugfixes

- Make quadrant chart options TypeScript types optional by
[@&#8203;aloisklink](https://github.com/aloisklink) in
[mermaid-js/mermaid#4602
- Remove double parsing by
[@&#8203;nirname](https://github.com/nirname) in
[mermaid-js/mermaid#4587
- Fix flowchart tooltip typing bug by
[@&#8203;lishid](https://github.com/lishid) in
[mermaid-js/mermaid#4562
- Bug/4590 allow notes identical to keywords by
[@&#8203;ibrahimWassouf](https://github.com/ibrahimWassouf) in
[mermaid-js/mermaid#4597
- feat: allow specifying on which weekday a tickInterval should start by
[@&#8203;leinelissen](https://github.com/leinelissen) in
[mermaid-js/mermaid#4634
- Split formatted markdown strings with unicode support. by
[@&#8203;sidharthv96](https://github.com/sidharthv96) in
[mermaid-js/mermaid#4470
- fix: Mind maps handles `-` signs in node ids/text by
[@&#8203;knsv](https://github.com/knsv)

##### Chores

- Remove all TypeScript enums and forbid them in ESLint by
[@&#8203;aloisklink](https://github.com/aloisklink) in
[mermaid-js/mermaid#4580
- refactor accessibility by
[@&#8203;Yokozuna59](https://github.com/Yokozuna59) in
[mermaid-js/mermaid#4551
- chore: Reduce codecov pushes by
[@&#8203;sidharthv96](https://github.com/sidharthv96) in
[mermaid-js/mermaid#4604
- Run PR-labeler-config-validator only if config changes by
[@&#8203;sidharthv96](https://github.com/sidharthv96) in
[mermaid-js/mermaid#4607
- chore(deps): update all minor dependencies (minor) by
[@&#8203;renovate](https://github.com/renovate) in
[mermaid-js/mermaid#4624
- Update all patch dependencies (patch) by
[@&#8203;renovate](https://github.com/renovate) in
[mermaid-js/mermaid#4566
- Update all patch dependencies (patch) by
[@&#8203;renovate](https://github.com/renovate) in
[mermaid-js/mermaid#4581
- Rename workflow jobs by
[@&#8203;sidharthv96](https://github.com/sidharthv96) in
[mermaid-js/mermaid#4574
- Removed unused code in state diagrams by
[@&#8203;nirname](https://github.com/nirname) in
[mermaid-js/mermaid#4631
- chore(deps): update all patch dependencies (patch) by
[@&#8203;renovate](https://github.com/renovate) in
[mermaid-js/mermaid#4623
- chore: remove unused `devDependency` on coveralls by
[@&#8203;aloisklink](https://github.com/aloisklink) in
[mermaid-js/mermaid#4641
- Allow entity diagram attribute names to start with asterisk by
[@&#8203;ibrahimWassouf](https://github.com/ibrahimWassouf) in
[mermaid-js/mermaid#4588
- Bug/4592 fix new line padding class diagram by
[@&#8203;ibrahimWassouf](https://github.com/ibrahimWassouf) in
[mermaid-js/mermaid#4633
- Fix graph not loading when the img loads too fast or fail to load by
[@&#8203;pierrickouw](https://github.com/pierrickouw) in
[mermaid-js/mermaid#4496
- convert `cypress/helpers/util.js` to ts by
[@&#8203;Yokozuna59](https://github.com/Yokozuna59) in
[mermaid-js/mermaid#4552
- build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 by
[@&#8203;dependabot](https://github.com/dependabot) in
[mermaid-js/mermaid#4652
- chore(deps): update all minor dependencies (minor) by
[@&#8203;renovate](https://github.com/renovate) in
[mermaid-js/mermaid#4663
- chore(deps): update all patch dependencies (patch) by
[@&#8203;renovate](https://github.com/renovate) in
[mermaid-js/mermaid#4662

##### Documentation

- Sankey: Remove duplicated examples by
[@&#8203;nirname](https://github.com/nirname) in
[mermaid-js/mermaid#4595
- Release docs by
[@&#8203;sidharthv96](https://github.com/sidharthv96) in
[mermaid-js/mermaid#4493
- Update latest news section by
[@&#8203;huynhicode](https://github.com/huynhicode) in
[mermaid-js/mermaid#4495
- Fix Typo by [@&#8203;ryru](https://github.com/ryru) in
[mermaid-js/mermaid#4567
- Docs: add ChatGPT plugin blog post by
[@&#8203;huynhicode](https://github.com/huynhicode) in
[mermaid-js/mermaid#4570
- Fix relative link to theme variables list by
[@&#8203;ibrahimWassouf](https://github.com/ibrahimWassouf) in
[mermaid-js/mermaid#4573
- Fix docs:dev by
[@&#8203;sidharthv96](https://github.com/sidharthv96) in
[mermaid-js/mermaid#4598
- Docs: update link - "Join the Community" by
[@&#8203;huynhicode](https://github.com/huynhicode) in
[mermaid-js/mermaid#4601
- Support docs:dev in docker by
[@&#8203;nirname](https://github.com/nirname) in
[mermaid-js/mermaid#4599
- docs(flowchart): add documentation on multiple nodes style by
[@&#8203;tomperr](https://github.com/tomperr) in
[mermaid-js/mermaid#4600
- Avoid downloading avtars everytime on docs:dev by
[@&#8203;sidharthv96](https://github.com/sidharthv96) in
[mermaid-js/mermaid#4603
- docs: Fix checkbox syntax by
[@&#8203;guilhermgonzaga](https://github.com/guilhermgonzaga) in
[mermaid-js/mermaid#4646
- Fix the "Edit this page on GitHub" link in Vitepress documentation for
the Mermaid Config pages by
[@&#8203;aloisklink](https://github.com/aloisklink) in
[mermaid-js/mermaid#4640
- Support MERMAID_RELEASE_VERSION in docs. by
[@&#8203;sidharthv96](https://github.com/sidharthv96) in
[mermaid-js/mermaid#4612
- Docs: update Latest News section by
[@&#8203;huynhicode](https://github.com/huynhicode) in
[mermaid-js/mermaid#4655
- added Typora to integrations list by
[@&#8203;kgilbert78](https://github.com/kgilbert78) in
[mermaid-js/mermaid#4666
- Docs: Corrects name of C4 link by
[@&#8203;Incognito](https://github.com/Incognito) in
[mermaid-js/mermaid#4660
- Fix a typo by [@&#8203;gjtorikian](https://github.com/gjtorikian) in
[mermaid-js/mermaid#4396

#### New Contributors

- [@&#8203;ryru](https://github.com/ryru) made their first
contribution in
[mermaid-js/mermaid#4567
- [@&#8203;ibrahimWassouf](https://github.com/ibrahimWassouf) made
their first contribution in
[mermaid-js/mermaid#4573
- [@&#8203;kislerdm](https://github.com/kislerdm) made their first
contribution in
[mermaid-js/mermaid#4577
- [@&#8203;leinelissen](https://github.com/leinelissen) made their
first contribution in
[mermaid-js/mermaid#4634
- [@&#8203;pierrickouw](https://github.com/pierrickouw) made their
first contribution in
[mermaid-js/mermaid#4496
- [@&#8203;mastersibin](https://github.com/mastersibin) made their
first contribution in
[mermaid-js/mermaid#4639
- [@&#8203;kgilbert78](https://github.com/kgilbert78) made their first
contribution in
[mermaid-js/mermaid#4666
- [@&#8203;Incognito](https://github.com/Incognito) made their first
contribution in
[mermaid-js/mermaid#4660
- [@&#8203;gjtorikian](https://github.com/gjtorikian) made their first
contribution in
[mermaid-js/mermaid#4396

**Full Changelog**:
mermaid-js/mermaid@v10.2.4...v10.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://developer.mend.io/github/levaintech/contented).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMS4wIiwidXBkYXRlZEluVmVyIjoiMzYuMTEuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants