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

Automated docs spell-checking via GitHub Actions (and address all reported issues) #3600

Merged
merged 44 commits into from
Oct 8, 2022
Merged
Show file tree
Hide file tree
Changes from 39 commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
0b54366
Add GH Action
SeanKilleen Oct 8, 2022
12e4819
Add cSpell config
SeanKilleen Oct 8, 2022
b9fcb66
Add known words
SeanKilleen Oct 8, 2022
ab2e727
Back-ticks around non-word term
SeanKilleen Oct 8, 2022
e494e2d
Revert "Back-ticks around non-word term"
SeanKilleen Oct 8, 2022
d24256e
add knsv to dictionary
SeanKilleen Oct 8, 2022
c404f6f
add terms
SeanKilleen Oct 8, 2022
ab15730
add terms
SeanKilleen Oct 8, 2022
3c4acd2
back-ticks for non-word terms
SeanKilleen Oct 8, 2022
c10eb5a
back-ticks for non-word terms
SeanKilleen Oct 8, 2022
a0c3de5
back-ticks for non-word terms
SeanKilleen Oct 8, 2022
86adf96
fix: boundaries
SeanKilleen Oct 8, 2022
405df09
standardization: "behavior"
SeanKilleen Oct 8, 2022
8cf4efc
fix: "source control"
SeanKilleen Oct 8, 2022
4f91c9a
add known terms
SeanKilleen Oct 8, 2022
5390c40
back-ticks for non-word terms
SeanKilleen Oct 8, 2022
a1757ba
standardization: "sanitize"
SeanKilleen Oct 8, 2022
2e72c0b
add known term
SeanKilleen Oct 8, 2022
6b736f0
add known term
SeanKilleen Oct 8, 2022
3777ccb
more known terms
SeanKilleen Oct 8, 2022
b0ed5e9
turn npmjs.org into link
SeanKilleen Oct 8, 2022
aacc40e
add known term
SeanKilleen Oct 8, 2022
56b9aab
fix: "previous"
SeanKilleen Oct 8, 2022
0859f28
fix: "different"
SeanKilleen Oct 8, 2022
9fe7152
add known term
SeanKilleen Oct 8, 2022
a4b0e6b
known term
SeanKilleen Oct 8, 2022
b1f3e21
fix: "stable"
SeanKilleen Oct 8, 2022
ee45ab2
known terms
SeanKilleen Oct 8, 2022
8215c7d
known terms
SeanKilleen Oct 8, 2022
0e61395
fix: "JetBrains"
SeanKilleen Oct 8, 2022
9c1da3b
known terms
SeanKilleen Oct 8, 2022
6d9b695
known terms
SeanKilleen Oct 8, 2022
034fe80
fix: "corresponding"
SeanKilleen Oct 8, 2022
f31db31
fix: "skin param"
SeanKilleen Oct 8, 2022
18283bc
Revert "fix: "skin param""
SeanKilleen Oct 8, 2022
01fac85
ignore the changelog
SeanKilleen Oct 8, 2022
514d12d
fix: "skin param"
SeanKilleen Oct 8, 2022
8a3bd5b
separate words & ignoreWords
SeanKilleen Oct 8, 2022
a22158b
format cSpell.json
SeanKilleen Oct 8, 2022
44f463c
format docs YAML
SeanKilleen Oct 8, 2022
7e1006d
format cSpell.json
SeanKilleen Oct 8, 2022
2b40bc0
format Setup.md
SeanKilleen Oct 8, 2022
e21da2e
capitalization fix
SeanKilleen Oct 8, 2022
a23a7ed
docs: Sync
sidharthv96 Oct 8, 2022
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
28 changes: 28 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Documentation Checks

on:
push:
branches:
- develop
paths:
- "packages/mermaid/src/docs/**/*"
pull_request:
branches:
- develop
paths:
- "packages/mermaid/src/docs/**/*"
jobs:
spellcheck:
name: "Docs: Spellcheck"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
name: Check out the code
- uses: actions/setup-node@v1
name: Setup node
with:
node-version: "16"
- run: npm install -g cspell
name: Install cSpell
- run: cspell --config ./cSpell.json "packages/mermaid/src/docs/**/*.md" --no-progress
name: run cSpell
SeanKilleen marked this conversation as resolved.
Show resolved Hide resolved
97 changes: 97 additions & 0 deletions cSpell.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
{
"version": "0.2",
"language": "en",
"words": [
"customizability",
"Gantt",
"jison",
"knsv",
"Knut",
"mindmap",
"Mindmaps",
"mitigations",
"sandboxed",
"Sveidqvist",
"verdana",
"Visio"
],
"ignoreWords": [
"Adamiecki",
"applitools",
"Asciidoctor",
"Astah",
"Bisheng",
"codedoc",
"Docsy",
"Doku",
"Gitea",
"Gitgraph",
"Grav",
"Inkdrop",
"Jaoude",
"mdbook",
"mermerd",
"mkdocs",
"phpbb",
"Plantuml",
"Playfair's",
"Podlite",
"redmine",
"sphinxcontrib",
"Tuleap"
],
"patterns": [
{
"name": "Markdown links",
"pattern": "\\((.*)\\)",
"description": ""
},
{
"name": "Markdown code blocks",
"pattern": "/^(\\s*`{3,}).*[\\s\\S]*?^\\1/gmx",
"description": "Taken from the cSpell example at https://cspell.org/configuration/patterns/#verbose-regular-expressions"
},
{
"name": "Inline code blocks",
"pattern": "\\`([^\\`\\r\\n]+?)\\`",
"description": "https://stackoverflow.com/questions/41274241/how-to-capture-inline-markdown-code-but-not-a-markdown-code-fence-with-regex"
},
{
"name": "Link contents",
"pattern": "\\<a(.*)\\>",
"description": ""
},
{
"name": "Snippet references",
"pattern": "-- snippet:(.*)",
"description": ""
},
{
"name": "Snippet references 2",
"pattern": "\\<\\[sample:(.*)",
"description": "another kind of snippet reference"
},
{
"name": "Multi-line code blocks",
"pattern": "/^\\s*```[\\s\\S]*?^\\s*```/gm"
},
{
"name": "HTML Tags",
"pattern": "<[^>]*>",
"description": "Reference: https://stackoverflow.com/questions/11229831/regular-expression-to-remove-html-tags-from-a-string"
}
],
"ignoreRegExpList": [
"Markdown links",
"Markdown code blocks",
"Inline code blocks",
"Link contents",
"Snippet references",
"Snippet references 2",
"Multi-line code blocks",
"HTML Tags"
],
"ignorePaths": [
"packages/mermaid/src/docs/CHANGELOG.md"
]
}
4 changes: 2 additions & 2 deletions packages/mermaid/src/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ Update version number in `package.json`.
npm publish
```

The above command generates files into the `dist` folder and publishes them to npmjs.org.
The above command generates files into the `dist` folder and publishes them to <npmjs.org>.
Copy link
Member

Choose a reason for hiding this comment

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

Why is <> added?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Since npmjs isn't a recognized word, and the file is markdown, I used <npmjs.org> to turn it into a link within the markdown. I could have turn it into npmjs.org, but it seemed more fitting to make it a link.

Copy link
Member

Choose a reason for hiding this comment

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

I thought that might be the case, but GitHub doesn't render it as a link.

image


## Related projects

Expand All @@ -279,7 +279,7 @@ Detailed information about how to contribute can be found in the [contribution g

## Security and safe diagrams

For public sites, it can be precarious to retrieve text from users on the internet, storing that content for presentation in a browser at a later stage. The reason is that the user content can contain embedded malicious scripts that will run when the data is presented. For Mermaid this is a risk, specially as mermaid diagrams contain many characters that are used in html which makes the standard sanitation unusable as it also breaks the diagrams. We still make an effort to sanitise the incoming code and keep refining the process but it is hard to guarantee that there are no loop holes.
For public sites, it can be precarious to retrieve text from users on the internet, storing that content for presentation in a browser at a later stage. The reason is that the user content can contain embedded malicious scripts that will run when the data is presented. For Mermaid this is a risk, specially as mermaid diagrams contain many characters that are used in html which makes the standard sanitation unusable as it also breaks the diagrams. We still make an effort to sanitize the incoming code and keep refining the process but it is hard to guarantee that there are no loop holes.

As an extra level of security for sites with external users we are happy to introduce a new security level in which the diagram is rendered in a sandboxed iframe preventing JavaScript in the code from being executed. This is a great step forward for better security.

Expand Down
38 changes: 19 additions & 19 deletions packages/mermaid/src/docs/Setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,15 +72,15 @@ Theme , the CSS style sheet

| Parameter | Description | Type | Required | Values |
| ------------- | --------------------------------- | ------ | -------- | ------------------------------------------ |
| securityLevel | Level of trust for parsed diagram | string | Required | 'sandbox', 'strict', 'loose', 'antiscript' |
| securityLevel | Level of trust for parsed diagram | string | Required | `sandbox`, `strict`, `loose`, `antiscript` |

**Notes**:

- **strict**: (**default**) tags in text are encoded, click functionality is disabled
- **loose**: tags in text are allowed, click functionality is enabled
- **antiscript**: html tags in text are allowed, (only script element is removed), click
- **`strict`**: (**default**) tags in text are encoded, click functionality is disabled
- **`loose`**: tags in text are allowed, click functionality is enabled
- **`antiscript`**: html tags in text are allowed, (only script element is removed), click
functionality is enabled
- **sandbox**: With this security level all rendering takes place in a sandboxed iframe. This
- **`sandbox`**: With this security level all rendering takes place in a sandboxed iframe. This
prevent any JavaScript from running in the context. This may hinder interactive functionality
of the diagram like scripts, popups in sequence diagram or links to other tabs/targets etc.

Expand Down Expand Up @@ -119,11 +119,11 @@ Default value: ['secure', 'securityLevel', 'startOnLoad', 'maxTextSize']

This option controls if the generated ids of nodes in the SVG are generated randomly or based
on a seed. If set to false, the IDs are generated based on the current date and thus are not
deterministic. This is the default behaviour.
deterministic. This is the default behavior.

**Notes**:

This matters if your files are checked into sourcecontrol e.g. git and should not change unless
This matters if your files are checked into source control e.g. git and should not change unless
content is changed.

Default value: false
Expand Down Expand Up @@ -210,16 +210,16 @@ Default value: true

### defaultRenderer

| Parameter | Description | Type | Required | Values |
| --------------- | ----------- | ------- | -------- | ----------------------- |
| defaultRenderer | See notes | boolean | 4 | dagre-d3, dagre-wrapper |
| Parameter | Description | Type | Required | Values |
| --------------- | ----------- | ------- | -------- | --------------------------- |
| defaultRenderer | See notes | boolean | 4 | `dagre-d3`, `dagre-wrapper` |

**Notes:**

Decides which rendering engine that is to be used for the rendering. Legal values are:
dagre-d3 dagre-wrapper - wrapper for dagre implemented in mermaid
`dagre-d3` `dagre-wrapper` - wrapper for `dagre` implemented in mermaid

Default value: 'dagre-wrapper'
Default value: `dagre-wrapper`

## sequence

Expand Down Expand Up @@ -737,14 +737,14 @@ Default value: true

| Parameter | Description | Type | Required | Values |
| --------------- | ----------- | ------- | -------- | ----------------------- |
| defaultRenderer | See notes | boolean | 4 | dagre-d3, dagre-wrapper |
| defaultRenderer | See notes | boolean | 4 | `dagre-d3`, `dagre-wrapper` |

**Notes**:

Decides which rendering engine that is to be used for the rendering. Legal values are:
dagre-d3 dagre-wrapper - wrapper for dagre implemented in mermaid
`dagre-d3` `dagre-wrapper` - wrapper for `dagre` implemented in mermaid

Default value: 'dagre-d3'
Default value: `dagre-d3`

## useMaxWidth

Expand All @@ -763,14 +763,14 @@ Default value: true

| Parameter | Description | Type | Required | Values |
| --------------- | ----------- | ------- | -------- | ----------------------- |
| defaultRenderer | See notes | boolean | 4 | dagre-d3, dagre-wrapper |
| defaultRenderer | See notes | boolean | 4 | `dagre-d3`, `dagre-wrapper` |

**Notes:**

Decides which rendering engine that is to be used for the rendering. Legal values are:
dagre-d3 dagre-wrapper - wrapper for dagre implemented in mermaid
`dagre-d3` `dagre-wrapper` - wrapper for `dagre` implemented in mermaid

Default value: 'dagre-d3'
Default value: `dagre-d3`

## er

Expand Down Expand Up @@ -992,7 +992,7 @@ Default value: 4
| --------------- | ----------- | ------- | -------- | ------------------ |
| c4BoundaryInRow | See Notes | Integer | Required | Any Positive Value |

**Notes:** How many boundarys to place in each row.
**Notes:** How many boundaries to place in each row.

Default value: 2

Expand Down
2 changes: 1 addition & 1 deletion packages/mermaid/src/docs/accessibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ The diagram authors can now add the accessibility options in the diagram definit
- `accTitle: "Your Accessibility Title"` or
- `accDescr: "Your Accessibility Description"`

**When these two options are defined, they will add a coressponding `<title>` and `<desc>` tag in the SVG.**
**When these two options are defined, they will add a corresponding `<title>` and `<desc>` tag in the SVG.**

Let us take a look at the following example with a flowchart diagram:

Expand Down
2 changes: 1 addition & 1 deletion packages/mermaid/src/docs/c4c.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ The following unfinished features are not supported in the short term.
- - [x] Rel_Back
- - [x] RelIndex \* Compatible with C4-Plantuml syntax, but ignores the index parameter. The sequence number is determined by the order in which the rel statements are written.

- [ ] Custom tags/stereotypes support and skinparam updates
- [ ] Custom tags/stereotypes support and skin param updates
- - [ ] AddElementTag(tagStereo, ?bgColor, ?fontColor, ?borderColor, ?shadowing, ?shape, ?sprite, ?techn, ?legendText, ?legendSprite): Introduces a new element tag. The styles of the tagged elements are updated and the tag is displayed in the calculated legend.
- - [ ] AddRelTag(tagStereo, ?textColor, ?lineColor, ?lineStyle, ?sprite, ?techn, ?legendText, ?legendSprite): Introduces a new Relationship tag. The styles of the tagged relationships are updated and the tag is displayed in the calculated legend.
- - [x] UpdateElementStyle(elementName, ?bgColor, ?fontColor, ?borderColor, ?shadowing, ?shape, ?sprite, ?techn, ?legendText, ?legendSprite): This call updates the default style of the elements (component, ...) and creates no additional legend entry.
Expand Down
2 changes: 1 addition & 1 deletion packages/mermaid/src/docs/integrations.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ They also serve as proof of concept, for the variety of things that can be built
- [Mermaid Macro](https://www.redmine.org/plugins/redmine_mermaid_macro)
- [redmine-mermaid](https://github.com/styz/redmine_mermaid)
- [markdown-for-mermaid-plugin](https://github.com/jamieh-mongolian/markdown-for-mermaid-plugin)
- [Jetsbrain IDE eg Pycharm](https://www.jetbrains.com/go/guide/tips/mermaid-js-support-in-markdown/)
- [JetBrains IDE eg Pycharm](https://www.jetbrains.com/go/guide/tips/mermaid-js-support-in-markdown/)
- [mermerd](https://github.com/KarnerTh/mermerd)

## CRM/ERP/Similar
Expand Down
4 changes: 2 additions & 2 deletions packages/mermaid/src/docs/mindmap.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Mindmap

> Mindmap: This is an experimental diagram for now. The syntax and properties can change in future releases. The syntax is stabel except for the icon integration which is the experimental part.
> Mindmap: This is an experimental diagram for now. The syntax and properties can change in future releases. The syntax is stable except for the icon integration which is the experimental part.

"A mind map is a diagram used to visually organize information into a hierarchy, showing relationships among pieces of the whole. It is often created around a single concept, drawn as an image in the center of a blank page, to which associated representations of ideas such as images, words and parts of words are added. Major ideas are connected directly to the central concept, and other ideas branch out from those major ideas." Wikipedia

Expand Down Expand Up @@ -31,7 +31,7 @@ mindmap

The syntax for creating Mindmaps is simple and relies on indentation for setting the levels in the hierarchy.

In the following example you can see how there are 3 dufferent levels. One with starting at the left of the text and another level with two rows starting at the same column, defining the node A. At the end there is one more level where the text is indented further then the prevoius lines defining the nodes B and C.
In the following example you can see how there are 3 different levels. One with starting at the left of the text and another level with two rows starting at the same column, defining the node A. At the end there is one more level where the text is indented further then the previous lines defining the nodes B and C.

```
mindmap
Expand Down