From 940e155114a06350e848a91d29b72ffcff64559f Mon Sep 17 00:00:00 2001 From: Joshua Kuestersteffen Date: Sat, 30 Nov 2019 08:03:46 -0600 Subject: [PATCH] fix(report): Embed settings cog wheel icon instead of loading from CDN (#26) * Embed settings cog as b64 image instead of loading from web resource * Add CC BY attribution to settings drawer * Scroll pre blocks instead of page * Scroll tables instead of page --- package-lock.json | 200 +++++++++++++++++----------- package.json | 10 +- src/Generator.js | 3 + src/templates/cog.b64 | 1 + src/templates/doc_template.html | 13 +- src/templates/feature_template.html | 76 ++++++----- src/templates/style.css | 23 +++- 7 files changed, 199 insertions(+), 127 deletions(-) create mode 100644 src/templates/cog.b64 diff --git a/package-lock.json b/package-lock.json index abd107f..7fd3bfb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,9 +33,9 @@ } }, "@babel/runtime-corejs2": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.7.1.tgz", - "integrity": "sha512-nlxajcFXWFyrFOyzOkphfby2izqoB9B4a3+rMqG4dBKMaHZUUS3BkgFBIAbNK6s+VOx0vaGJVgaQL0+3oWnxDQ==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.7.4.tgz", + "integrity": "sha512-hKNcmHQbBSJFnZ82ewYtWDZ3fXkP/l1XcfRtm7c8gHPM/DMecJtFFBEp7KMLZTuHwwb7RfemHdsEnd7L916Z6A==", "dev": true, "requires": { "core-js": "^2.6.5", @@ -143,18 +143,18 @@ } }, "ansi-escapes": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.2.1.tgz", - "integrity": "sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz", + "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==", "dev": true, "requires": { - "type-fest": "^0.5.2" + "type-fest": "^0.8.1" }, "dependencies": { "type-fest": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.5.2.tgz", - "integrity": "sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true } } @@ -705,9 +705,9 @@ } }, "cucumber": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/cucumber/-/cucumber-6.0.3.tgz", - "integrity": "sha512-FSx7xdAQfFjcxp/iRBAuCFSXp2iJP1tF2Q5k/a67YgHiYbnwsD9F+UNv9ZG90LFHNsNQhb+67AmVxHkp4JRDpg==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cucumber/-/cucumber-6.0.5.tgz", + "integrity": "sha512-x+W9Fwk6TvcapQsYMxwFU5AsQJDOIJVGrPKmH15OC7jzb9/Dk7Hb0ZAyw4WcpaDcUDRc8bi2k2yJejDp5eTRlg==", "dev": true, "requires": { "assertion-error-formatter": "^3.0.0", @@ -715,7 +715,7 @@ "cli-table3": "^0.5.1", "colors": "^1.1.2", "commander": "^3.0.1", - "cucumber-expressions": "^8.0.1", + "cucumber-expressions": "^8.1.0", "cucumber-tag-expressions": "^2.0.2", "duration": "^0.2.1", "escape-string-regexp": "^2.0.0", @@ -760,9 +760,9 @@ } }, "cucumber-expressions": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/cucumber-expressions/-/cucumber-expressions-8.1.0.tgz", - "integrity": "sha512-mOrAa/i/8uc6guMbrEqftt3FiXgpCngwQpqQmoPAYWNLNttSpXz5JwwLNTk99bTlHhJIMdGe3QR2v3tu6kBHLA==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/cucumber-expressions/-/cucumber-expressions-8.2.1.tgz", + "integrity": "sha512-6n5JKbAzXfIiwyu2UyUcOmO83QmuSme25+Dw2taK6VNOybOfRkh4yNMA9VtuAJHOmsX3/8l0OVjTbE8lHnjOHA==", "dev": true, "requires": { "becke-ch--regex--s0-0-v1--base--pl--lib": "^1.4.0", @@ -1017,13 +1017,13 @@ } }, "es5-ext": { - "version": "0.10.52", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.52.tgz", - "integrity": "sha512-bWCbE9fbpYQY4CU6hJbJ1vSz70EClMlDgJ7BmwI+zEJhxrwjesZRPglGJlsZhu0334U3hI+gaspwksH9IGD6ag==", + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", "dev": true, "requires": { "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.2", + "es6-symbol": "~3.1.3", "next-tick": "~1.0.0" } }, @@ -1080,9 +1080,9 @@ } }, "eslint": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.6.0.tgz", - "integrity": "sha512-PpEBq7b6qY/qrOmpYQ/jTMDYfuQMELR4g4WI1M/NaSDDD/bdcMb+dj4Hgks7p41kW2caXsPsEZAEAyAgjVVC0g==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.7.1.tgz", + "integrity": "sha512-UWzBS79pNcsDSxgxbdjkmzn/B6BhsXMfUaOHnNwyE8nD+Q6pyT96ow2MccVayUTV4yMid4qLhMiQaywctRkBLA==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -1100,7 +1100,7 @@ "file-entry-cache": "^5.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.0.0", - "globals": "^11.7.0", + "globals": "^12.1.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -1113,7 +1113,7 @@ "minimatch": "^3.0.4", "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", - "optionator": "^0.8.2", + "optionator": "^0.8.3", "progress": "^2.0.0", "regexpp": "^2.0.1", "semver": "^6.1.2", @@ -1139,6 +1139,20 @@ "ms": "^2.1.1" } }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -1448,9 +1462,9 @@ } }, "ext": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.1.2.tgz", - "integrity": "sha512-/KLjJdTNyDepCihrk4HQt57nAE1IRCEo5jUt+WgWGCr1oARhibDvmI2DMcSNWood1T9AUWwq+jaV1wvRqaXfnA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.2.1.tgz", + "integrity": "sha512-x+OKKC57tNiLhDW26UmWtvQBpvO+2wxdC/A0jP7RkmjAc4gze9/U98hQyIYJUzo9A+o9ntMHpC+LH3pWMSbrVQ==", "dev": true, "requires": { "type": "^2.0.0" @@ -1681,9 +1695,9 @@ "dev": true }, "glob": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz", - "integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==", + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -1711,10 +1725,21 @@ } }, "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz", + "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } }, "got": { "version": "9.6.0", @@ -1740,9 +1765,9 @@ "integrity": "sha512-b9usnbDGnD928gJB3LrCmxoibr3VE4U2SMo5PBuBnokWyDADTqDPXg4YpwKF1trpH+UbGp7QLicO3+aWEy0+mw==" }, "handlebars": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.1.tgz", - "integrity": "sha512-C29UoFzHe9yM61lOsIlCE5/mQVGrnIOrOq7maQl76L7tYPCgC1og0Ajt6uWnX4ZTxBPnjw+CUvawphwCfJgUnA==", + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.3.tgz", + "integrity": "sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA==", "requires": { "neo-async": "^2.6.0", "optimist": "^0.6.1", @@ -1859,9 +1884,9 @@ } }, "i18next": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-19.0.0.tgz", - "integrity": "sha512-xxNKNOqLdGP/M+/fzzBOhcc9hCAqv6gDhHq0xbYz/Vlz5PlMfr9P1LbBvmk7RkZjYoh/kyM1tnfSl+sJ2VaD0Q==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-19.0.1.tgz", + "integrity": "sha512-xZjzCcInvkgx3ZzymkySZ/ULOZyAMXTmQP22Hvnf5CMRqrxe3BXhg6CBtpGSVPMiANnHOmPiNVWHLSncnffnxw==", "requires": { "@babel/runtime": "^7.3.1" } @@ -1903,9 +1928,9 @@ } }, "import-fresh": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", - "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -1974,9 +1999,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, "emoji-regex": { @@ -1992,14 +2017,25 @@ "dev": true }, "string-width": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz", - "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^5.2.0" + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } } }, "strip-ansi": { @@ -2009,6 +2045,14 @@ "dev": true, "requires": { "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + } } } } @@ -2490,9 +2534,9 @@ } }, "make-fetch-happen": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.1.tgz", - "integrity": "sha512-b4dfaMvUDR67zxUq1+GN7Ke9rH5WvGRmoHuMH7l+gmUCR2tCXFP6mpeJ9Dp+jB6z8mShRopSf1vLRBhRs8Cu5w==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz", + "integrity": "sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==", "requires": { "agentkeepalive": "^3.4.1", "cacache": "^12.0.0", @@ -2747,9 +2791,9 @@ "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==" }, "npm-check-updates": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-3.2.0.tgz", - "integrity": "sha512-Gqxd6Fv+EoGNKg2thclx3LPs9dHa1Tp/R+/59iYAgbliJ5NsDd/D6j6kjhnLtKh+7XMX7co3gTrVzsSqTPNRAg==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-3.2.2.tgz", + "integrity": "sha512-smZLGQWYbNOQVL787LwxTKakhTll/GZ4EwlKRfskD+eTCSpxdwpbkUHbT0QxyCf1uZw86TXeAFGw8ETzmW3Fqw==", "requires": { "chalk": "^2.4.2", "cint": "^8.2.1", @@ -3291,9 +3335,9 @@ } }, "prompts": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.2.1.tgz", - "integrity": "sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.0.tgz", + "integrity": "sha512-NfbbPPg/74fT7wk2XYQ7hAIp9zJyZp5Fu19iRbORqqy1BhtrkZ0fPafBU+7bmn8ie69DpT0R6QpJIN2oisYjJg==", "requires": { "kleur": "^3.0.3", "sisteransi": "^1.0.3" @@ -3759,9 +3803,9 @@ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "sisteransi": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.3.tgz", - "integrity": "sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.4.tgz", + "integrity": "sha512-/ekMoM4NJ59ivGSfKapeG+FWtrmWvA1p6FBZwXrqojw90vJu8lBmrTxCMuBCydKtkaUe2zt4PlxeTKpjwMbyig==" }, "slice-ansi": { "version": "2.1.0", @@ -3775,17 +3819,17 @@ } }, "smart-buffer": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.2.tgz", - "integrity": "sha512-JDhEpTKzXusOqXZ0BUIdH+CjFdO/CR3tLlf5CN34IypI+xMmXW1uB16OOY8z3cICbJlDAVJzNbwBhNO0wt9OAw==" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", + "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==" }, "socks": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.2.tgz", - "integrity": "sha512-pCpjxQgOByDHLlNqlnh/mNSAxIUkyBBuwwhTcV+enZGbDaClPvHdvm6uvOwZfFJkam7cGhBNbb4JxiP8UZkRvQ==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", + "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", "requires": { - "ip": "^1.1.5", - "smart-buffer": "4.0.2" + "ip": "1.1.5", + "smart-buffer": "^4.1.0" } }, "socks-proxy-agent": { @@ -4219,9 +4263,9 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "uglify-js": { - "version": "3.6.7", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.7.tgz", - "integrity": "sha512-4sXQDzmdnoXiO+xvmTzQsfIiwrjUCSA95rSP4SEd8tDb51W2TiDOlL76Hl+Kw0Ie42PSItCW8/t6pBNCF2R48A==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.0.tgz", + "integrity": "sha512-PC/ee458NEMITe1OufAjal65i6lB58R1HWMRcxwvdz1UopW0DYqlRL3xdu3IcTvTXsB02CRHykidkTRL+A3hQA==", "optional": true, "requires": { "commander": "~2.20.3", @@ -4445,6 +4489,12 @@ } } }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, "wordwrap": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", diff --git a/package.json b/package.json index c3fd13a..af65e4a 100644 --- a/package.json +++ b/package.json @@ -25,17 +25,17 @@ "repositoryUrl": "https://github.com/cerner/cucumber-forge-report-generator.git" }, "dependencies": { - "handlebars": "^4.5.1", - "i18next": "^19.0.0", + "handlebars": "^4.5.3", + "i18next": "^19.0.1", "i18next-node-fs-backend": "^2.1.3", "line-reader": "^0.4.0", "moment": "^2.24.0", - "npm-check-updates": "^3.2.0" + "npm-check-updates": "^3.2.2" }, "devDependencies": { "chai": "^4.2.0", - "cucumber": "^6.0.3", - "eslint": "^6.6.0", + "cucumber": "^6.0.5", + "eslint": "^6.7.1", "eslint-config-airbnb-base": "^14.0.0", "eslint-plugin-import": "^2.18.2", "eslint-plugin-jsx-a11y": "^6.2.3", diff --git a/src/Generator.js b/src/Generator.js index 781c0f9..197846e 100644 --- a/src/Generator.js +++ b/src/Generator.js @@ -21,6 +21,7 @@ let featureHbTemplate; let cssStyles; let scripts; let logo; +let cog; let projectName = 'Feature documentation'; let reportName = DEFAULT_REPORT_NAME; @@ -253,6 +254,7 @@ const create = async (files) => { docData.cssStyles = cssStyles; docData.scripts = scripts; docData.logo = logo; + docData.cog = cog; docData.creationdate = moment().format('LL'); docData.author = author; docData.reportName = reportName; @@ -273,6 +275,7 @@ class Generator { cssStyles = fs.readFileSync(path.resolve(__dirname, TEMPLATESDIR, 'style.css'), FILE_ENCODING); scripts = fs.readFileSync(path.resolve(__dirname, TEMPLATESDIR, 'scripts.js'), FILE_ENCODING); logo = fs.readFileSync(path.resolve(__dirname, TEMPLATESDIR, 'logo.b64'), FILE_ENCODING); + cog = fs.readFileSync(path.resolve(__dirname, TEMPLATESDIR, 'cog.b64'), FILE_ENCODING); } // eslint-disable-next-line class-methods-use-this diff --git a/src/templates/cog.b64 b/src/templates/cog.b64 new file mode 100644 index 0000000..e0ab032 --- /dev/null +++ b/src/templates/cog.b64 @@ -0,0 +1 @@ +iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAABzElEQVQ4jZWUMWtVQRCFvwkhPEIKCUEkRBAJIhIkShARSWMjoo1Yir/Byl6sLPwpNraCjUgKbRRRxEBAsNAoMRJFjTmfRfbFm/hewHOb3bszs2fOzGyJDIRMALNqr6o2gGWKH4ONAYd9ek59rn5WH6tzQ22RkU7EUeQ6ctt4EJhRj6mTwFF1BplB7iIXd/nuYqQ3kvx0G8/V93aQZCXJ27ZdUxcHM4JTVTXW1ifVaQDd1rCqjlTVbDs/AJwYxmhGXekw2Eyypq6q60m2kvSPl5JM7mYkE8Yz6mlgojH4DTwALgCHgSvAo6pKY3kAWDDOIT3azzPq61Yd262r6rE9VTyfZL0x2moa7lRzFJgAjvdTrSqAT+pyUV0VnlXVr7YeAaaBXvNnBPiqvgQ+dsSd6gjbxwIw1rdRPwHLwPd+auNJ5tVLSfrpbSa5n+S02lMX1YctJdU36mV1Psm4OLhqTafN1i+r6rrardpTdaqrYTfQPQeg47wXN4c15BLsDOUz4J1KVfV1WwZeNTm+AC8GNmSS0SRX1VvqlHpN/dZu/5DkUpJDSe6oF9WRwan9O/1n/Tv9T5Kc3G/6a7/3SJ2tqp66UVX7vkfDA/0n/gBsYWgG0jlqkQAAAABJRU5ErkJggg== \ No newline at end of file diff --git a/src/templates/doc_template.html b/src/templates/doc_template.html index d591935..7e85be1 100644 --- a/src/templates/doc_template.html +++ b/src/templates/doc_template.html @@ -32,12 +32,13 @@ {{/each}}
-
- - -
- - Cucumber Forge +
+ +

Icons courtesy of + licensed under .

+
+ Settings Cog + Cucumber Forge
diff --git a/src/templates/feature_template.html b/src/templates/feature_template.html index 54dacd7..7cdf804 100644 --- a/src/templates/feature_template.html +++ b/src/templates/feature_template.html @@ -16,15 +16,17 @@

{{this.background.name}}

{{#each this.background.steps}}

{{this.name}}

{{#if this.table.length}} - - {{#each this.table}} - - {{#each this}} - - {{/each}} - - {{/each}} -
{{this}}
+
+ + {{#each this.table}} + + {{#each this}} + + {{/each}} + + {{/each}} +
{{this}}
+
{{/if}} {{#if this.docString}}
{{this.docString}}
@@ -48,15 +50,17 @@

{{this.name}}

{{#each this.steps}}

{{this.name}}

{{#if this.table.length}} - - {{#each this.table}} - - {{#each this}} - - {{/each}} - - {{/each}} -
{{this}}
+
+ + {{#each this.table}} + + {{#each this}} + + {{/each}} + + {{/each}} +
{{this}}
+
{{/if}} {{#if this.docString}}
{{this.docString}}
@@ -65,23 +69,25 @@

{{this.name}}

{{#if this.examples}}

{{this.examples.name}}

{{#if this.examples.table.length}} - - {{#each this.examples.table}} - {{#if @first}} - - {{#each this}} - - {{/each}} - - {{else}} - - {{#each this}} - - {{/each}} - - {{/if}} - {{/each}} -
{{this}}
{{this}}
+
+ + {{#each this.examples.table}} + {{#if @first}} + + {{#each this}} + + {{/each}} + + {{else}} + + {{#each this}} + + {{/each}} + + {{/if}} + {{/each}} +
{{this}}
{{this}}
+
{{/if}} {{/if}}
diff --git a/src/templates/style.css b/src/templates/style.css index 95e6a7d..af017af 100644 --- a/src/templates/style.css +++ b/src/templates/style.css @@ -13,7 +13,7 @@ body { background-color: #fcfcfc; } pre { - overflow: visible; + overflow-x: auto; } a.anchor { display: block; @@ -21,15 +21,18 @@ a.anchor { top: -1.5em; } +.table-wrapper { + width: calc(70vw - 4em); + overflow-x: auto; +} table { border-collapse: collapse; margin-left: 1em; + white-space: nowrap; } - table, th, td { border: 1px solid black; } - .step-table td, .example-table td, .example-table th { padding: 5px; } @@ -94,13 +97,21 @@ table, th, td { #settingsDrawer.active { display: block; } -#sidenavFooter i { +#settingsDrawer p { + color: grey; +} +#settingsDrawer a { + color: grey; +} +#settingsButton { padding: 0.25em; + margin-left: 0.25em; cursor: pointer; + vertical-align: middle; } -#sidenavFooter a { +#footerTitle { color: #3a7ca8; - margin-left: calc(15vw - 6em); + margin-left: calc(15vw - 6.25em); } .feature-button { font-family: "Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;