diff --git a/.markdownlint.json b/.markdownlint.json index a476fe58fb98e0f..f8e478075dffb9f 100644 --- a/.markdownlint.json +++ b/.markdownlint.json @@ -102,5 +102,44 @@ "style": "asterisk" }, "MD051": false, - "MD052": false + "MD052": false, + "search-replace": { + "rules": [ + { + "name": "curly-double-quotes", + "message": "Don't use curly double quotes", + "searchPattern": "/“|”/g", + "replace": "\"", + "skipCode": true + }, + { + "name": "curly-single-quotes", + "message": "Don't use curly single quotes", + "searchPattern": "/‘|’/g", + "replace": "'", + "skipCode": true + }, + { + "name": "m-dash", + "message": "Don't use '--'. Use m-dash — instead", + "search": " -- ", + "replace": " — ", + "skipCode": true + }, + { + "name": "relative-link", + "message": "Internal links should start with '/'", + "search": "(en-US/docs", + "replace": "(/en-US/docs", + "skipCode": true + }, + { + "name": "trailing-spaces", + "message": "Avoid trailing spaces", + "searchPattern": "/ +$/gm", + "replace": "", + "skipCode": false + } + ] + } } diff --git a/package.json b/package.json index 0a3e92ece585385..99b3de8a05a4e20 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "fix:md": "npm run lint:md -- --fix", "fix:yml": "prettier -w \"**/*.yml\"", "lint:json": "prettier -c \"**/*.json\"", - "lint:md": "markdownlint \"**/*.md\" -i node_modules", + "lint:md": "markdownlint \"**/*.md\" -i node_modules -r markdownlint-rule-search-replace", "lint:yml": "prettier -c \"**/*.yml\"", "start": "yarn up-to-date-check && env-cmd --silent cross-env CONTENT_ROOT=files REACT_APP_DISABLE_AUTH=true BUILD_OUT_ROOT=build yari-server", "up-to-date-check": "node scripts/up-to-date-check.js" @@ -24,6 +24,7 @@ "cross-env": "7.0.3", "env-cmd": "10.1.0", "markdownlint-cli": "0.32.2", + "markdownlint-rule-search-replace": "1.0.5", "prettier": "2.7.1" } } diff --git a/yarn.lock b/yarn.lock index 2fd27ac3db1273b..3894e08b4f7d61d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3070,6 +3070,13 @@ markdownlint-rule-helpers@~0.17.2: resolved "https://registry.yarnpkg.com/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.17.2.tgz#64d6e8c66e497e631b0e40cf1cef7ca622a0b654" integrity sha512-XaeoW2NYSlWxMCZM2B3H7YTG6nlaLfkEZWMBhr4hSPlq9MuY2sy83+Xr89jXOqZMZYjvi5nBCGoFh7hHoPKZmA== +markdownlint-rule-search-replace@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/markdownlint-rule-search-replace/-/markdownlint-rule-search-replace-1.0.5.tgz#20cc1681e3c162dd43d19614e3d1515e75cf0299" + integrity sha512-PXpHZuZrqaPA0kpkPSsTPVndxtoM+wgG95V9vzL5sZl+SQUp8hJIHSqOnNJOwd85ykgjbnripZYf0IN40ADkdw== + dependencies: + markdownlint-rule-helpers "~0.17.2" + markdownlint@~0.26.2: version "0.26.2" resolved "https://registry.yarnpkg.com/markdownlint/-/markdownlint-0.26.2.tgz#11d3d03e7f0dd3c2e239753ee8fd064a861d9237"