From a49ca17e860f538edb958254b02568294069958f Mon Sep 17 00:00:00 2001 From: Alan Date: Tue, 24 Jul 2018 16:17:14 +1000 Subject: [PATCH] [SDPA-572] Updated Documentation generation script. * Updated ripple dev site URL * Added markdown linter to `npm run lint` * Updated readme template to be lint compliant --- .markdownlint.json | 3 + package-lock.json | 168 ++++++++++++++--- package.json | 8 +- packages/Atoms/Button/README.md | 21 +-- packages/Atoms/Global/README.md | 25 +-- packages/Atoms/Grid/README.md | 20 +-- packages/Atoms/Icon/README.md | 20 +-- packages/Atoms/Link/README.md | 23 +-- packages/Atoms/MetaTag/README.md | 18 +- packages/Molecules/AnchorLinks/README.md | 18 +- packages/Molecules/Breadcrumbs/README.md | 21 +-- packages/Molecules/Card/README.md | 29 +-- packages/Molecules/Contact/README.md | 21 +-- packages/Molecules/EmbeddedVideo/README.md | 18 +- packages/Molecules/Form/README.md | 21 +-- packages/Molecules/Form/package.json | 2 +- packages/Molecules/Form/stories.js | 169 +++++++++--------- packages/Molecules/Layout/README.md | 29 +-- packages/Molecules/RelatedLinks/README.md | 21 +-- packages/Molecules/Search/README.md | 20 +-- packages/Molecules/ShareThis/README.md | 21 +-- packages/Molecules/Sitemap/README.md | 18 +- packages/Molecules/WhatsNext/README.md | 19 +- packages/Organisms/CallToAction/README.md | 18 +- packages/Organisms/CampaignPrimary/README.md | 21 +-- .../Organisms/CampaignSecondary/README.md | 21 +-- packages/Organisms/HeroBanner/README.md | 18 +- packages/Organisms/SiteFooter/README.md | 18 +- packages/Organisms/SiteHeader/README.md | 18 +- .../Organisms/SiteSectionNavigation/README.md | 18 +- packages/Organisms/UpdatedDate/README.md | 18 +- .../generate-readme}/README_template.md | 21 +-- .../generate-readme/generate-readme.js | 11 +- 33 files changed, 343 insertions(+), 572 deletions(-) create mode 100644 .markdownlint.json rename {docs => scripts/generate-readme}/README_template.md (77%) rename docs/docs.js => scripts/generate-readme/generate-readme.js (87%) diff --git a/.markdownlint.json b/.markdownlint.json new file mode 100644 index 000000000..e55dc9f80 --- /dev/null +++ b/.markdownlint.json @@ -0,0 +1,3 @@ +{ + "default": true +} diff --git a/package-lock.json b/package-lock.json index 1bbf74c36..1b3a74e28 100644 --- a/package-lock.json +++ b/package-lock.json @@ -475,19 +475,6 @@ "version": "file:packages/Organisms/UpdatedDate", "requires": { "@dpc-sdp/ripple-global": "1.0.0-alpha.3" - }, - "dependencies": { - "@dpc-sdp/ripple-global": { - "version": "1.0.0-alpha.3", - "bundled": true, - "requires": { - "masonry-layout": "^4.2.1", - "moment": "^2.22.1", - "object-fit-images": "^3.2.3", - "vue-focus": "^2.1.0", - "vue-social-sharing": "^2.3.3" - } - } } }, "@dpc-sdp/ripple-whats-next": { @@ -3847,6 +3834,14 @@ "center-align": "^0.1.1", "right-align": "^0.1.1", "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + } } }, "clone": { @@ -8300,6 +8295,12 @@ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + }, "growly": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", @@ -10968,6 +10969,15 @@ "type-check": "~0.3.2" } }, + "linkify-it": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.0.3.tgz", + "integrity": "sha1-2UpGSPmxwXnWT6lykSaL22zpQ08=", + "dev": true, + "requires": { + "uc.micro": "^1.0.1" + } + }, "load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", @@ -11118,6 +11128,18 @@ "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", "dev": true }, + "lodash.differencewith": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.differencewith/-/lodash.differencewith-4.5.0.tgz", + "integrity": "sha1-uvr7yRi1UVTheRdqALsK76rIVLc=", + "dev": true + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", + "dev": true + }, "lodash.isarguments": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", @@ -11311,6 +11333,19 @@ "object-visit": "^1.0.0" } }, + "markdown-it": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.1.tgz", + "integrity": "sha512-CzzqSSNkFRUf9vlWvhK1awpJreMRqdCrBvZ8DIoDWTOkESMIF741UPAhuAmbyWmdiFPA6WARNhnu2M6Nrhwa+A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "entities": "~1.1.1", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + } + }, "markdown-loader": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/markdown-loader/-/markdown-loader-2.0.2.tgz", @@ -11331,6 +11366,79 @@ "markdown-loader": "^2.0.1" } }, + "markdownlint": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.10.0.tgz", + "integrity": "sha512-QqNUxh8CsdSjfj16nlNOMmeJG1BxSuQTS6Ak5XxQhCOCncZsNW7wgnOcVqsxFJfPRn2xfKTFigsYHsgZUEvVQA==", + "dev": true, + "requires": { + "markdown-it": "8.4.1" + } + }, + "markdownlint-cli": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.11.0.tgz", + "integrity": "sha512-jb5G1ODH8RoN1OoQyW2e3Qwr5oRolbt+7dZ4lopS09VQaupbcBdsn5zhh/NezmEj7PMiC2hY2nhcj1uITPUiLw==", + "dev": true, + "requires": { + "commander": "~2.9.0", + "deep-extend": "~0.5.1", + "get-stdin": "~5.0.1", + "glob": "~7.0.3", + "js-yaml": "~3.11.0", + "lodash.differencewith": "~4.5.0", + "lodash.flatten": "~4.4.0", + "markdownlint": "~0.10.0", + "rc": "~1.2.7" + }, + "dependencies": { + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "dev": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", + "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", + "dev": true + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "glob": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", + "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "js-yaml": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz", + "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + } + } + }, "marked": { "version": "0.3.19", "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", @@ -11379,6 +11487,12 @@ "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==", "dev": true }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", + "dev": true + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -12495,6 +12609,14 @@ "requires": { "minimist": "~0.0.1", "wordwrap": "~0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } } }, "optionator": { @@ -12509,14 +12631,6 @@ "prelude-ls": "~1.1.2", "type-check": "~0.3.2", "wordwrap": "~1.0.0" - }, - "dependencies": { - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - } } }, "original": { @@ -18584,6 +18698,12 @@ "integrity": "sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA==", "dev": true }, + "uc.micro": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.5.tgz", + "integrity": "sha512-JoLI4g5zv5qNyT09f4YAvEZIIV1oOjqnewYg5D38dkQljIzpPT296dbIGvKro3digYI1bkb7W6EP1y4uDlmzLg==", + "dev": true + }, "uglify-js": { "version": "2.8.29", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", @@ -19525,9 +19645,9 @@ "dev": true }, "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, "worker-farm": { diff --git a/package.json b/package.json index b0e6942d4..e4bde25ca 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "private": true, "scripts": { "publish": "lerna publish", - "lint": "eslint --ext .js,.vue src && sass-lint -qv --max-warnings 0", + "lint": "eslint --ext .js,.vue src && sass-lint -qv --max-warnings 0 && markdownlint ./packages/**/*.md", "test": "NODE_ENV=test jest", "storybook": "start-storybook -p 3000 -c .storybook -s ./static", "build-storybook": "build-storybook -c .storybook -s ./static", @@ -21,7 +21,7 @@ "bay:pull": "docker image ls --format \"{{.Repository}}:{{.Tag}}\" | grep amazeeio | grep -v none | xargs -n1 docker pull | cat", "bay:test": "docker-compose run test npm test", "install-curl": "if [ \"$LAGOON_GIT_BRANCH\" != \"production\" ] ; then apk --update add curl; fi", - "docs": "node ./docs/docs.js" + "docs": "node ./scripts/generate-readme/generate-readme.js" }, "dependencies": { "@dpc-sdp/ripple-anchor-links": "file:packages/Molecules/AnchorLinks", @@ -81,6 +81,7 @@ "jest": "^23.3.0", "lerna": "^2.11.0", "markdown-loader-jest": "^0.1.1", + "markdownlint-cli": "^0.11.0", "node-sass": "^4.7.2", "sass-lint": "^1.12.1", "sass-loader": "^6.0.7", @@ -94,7 +95,8 @@ "vue-jest": "^2.6.0", "vue-loader": "^14.2.3", "vue-style-loader": "^3.0.1", - "vue-template-compiler": "^2.5.2" + "vue-template-compiler": "^2.5.2", + "wordwrap": "^1.0.0" }, "engines": { "node": ">= 8.9.0", diff --git a/packages/Atoms/Button/README.md b/packages/Atoms/Button/README.md index 532efb77e..356f9f632 100644 --- a/packages/Atoms/Button/README.md +++ b/packages/Atoms/Button/README.md @@ -1,23 +1,18 @@ -@dpc-sdp/ripple-button -============ - -> A button themed element. Will be a `