From 1584c025bc791a77adca7e3a3ae212fec016e358 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Mon, 30 Jan 2023 20:08:47 +0000 Subject: [PATCH 01/42] Add page for docs --- pages/docs/index.vue | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 pages/docs/index.vue diff --git a/pages/docs/index.vue b/pages/docs/index.vue new file mode 100644 index 0000000..82240cf --- /dev/null +++ b/pages/docs/index.vue @@ -0,0 +1,6 @@ + \ No newline at end of file From 8c09f75db9906b804faa5fdac62bc230ddf9eb9c Mon Sep 17 00:00:00 2001 From: rmccreath Date: Mon, 30 Jan 2023 20:09:06 +0000 Subject: [PATCH 02/42] Install octokit --- package-lock.json | 444 ++++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + 2 files changed, 445 insertions(+) diff --git a/package-lock.json b/package-lock.json index 414d2e2..8d92b86 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1667,11 +1667,303 @@ "stack-trace": "0.0.10" } }, + "@octokit/app": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/@octokit/app/-/app-13.1.2.tgz", + "integrity": "sha512-Kf+h5sa1SOI33hFsuHvTsWj1jUrjp1x4MuiJBq7U/NicfEGa6nArPUoDnyfP/YTmcQ5cQ5yvOgoIBkbwPg6kzQ==", + "requires": { + "@octokit/auth-app": "^4.0.8", + "@octokit/auth-unauthenticated": "^3.0.0", + "@octokit/core": "^4.0.0", + "@octokit/oauth-app": "^4.0.7", + "@octokit/plugin-paginate-rest": "^6.0.0", + "@octokit/types": "^9.0.0", + "@octokit/webhooks": "^10.0.0" + } + }, + "@octokit/auth-app": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@octokit/auth-app/-/auth-app-4.0.9.tgz", + "integrity": "sha512-VFpKIXhHO+kVJtane5cEvdYPtjDKCOI0uKsRrsZfJP+uEu7rcPbQCLCcRKgyT+mUIzGr1IIOmwP/lFqSip1dXA==", + "requires": { + "@octokit/auth-oauth-app": "^5.0.0", + "@octokit/auth-oauth-user": "^2.0.0", + "@octokit/request": "^6.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "@types/lru-cache": "^5.1.0", + "deprecation": "^2.3.1", + "lru-cache": "^6.0.0", + "universal-github-app-jwt": "^1.1.1", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "@octokit/auth-oauth-app": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-app/-/auth-oauth-app-5.0.5.tgz", + "integrity": "sha512-UPX1su6XpseaeLVCi78s9droxpGtBWIgz9XhXAx9VXabksoF0MyI5vaa1zo1njyYt6VaAjFisC2A2Wchcu2WmQ==", + "requires": { + "@octokit/auth-oauth-device": "^4.0.0", + "@octokit/auth-oauth-user": "^2.0.0", + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "@types/btoa-lite": "^1.0.0", + "btoa-lite": "^1.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/auth-oauth-device": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-device/-/auth-oauth-device-4.0.4.tgz", + "integrity": "sha512-Xl85BZYfqCMv+Uvz33nVVUjE7I/PVySNaK6dRRqlkvYcArSr9vRcZC9KVjXYObGRTCN6mISeYdakAZvWEN4+Jw==", + "requires": { + "@octokit/oauth-methods": "^2.0.0", + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/auth-oauth-user": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-user/-/auth-oauth-user-2.1.1.tgz", + "integrity": "sha512-JgqnNNPf9CaWLxWm9uh2WgxcaVYhxBR09NVIPTiMU2dVZ3FObOHs3njBiLNw+zq84k+rEdm5Y7AsiASrZ84Apg==", + "requires": { + "@octokit/auth-oauth-device": "^4.0.0", + "@octokit/oauth-methods": "^2.0.0", + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "btoa-lite": "^1.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/auth-token": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.3.tgz", + "integrity": "sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA==", + "requires": { + "@octokit/types": "^9.0.0" + } + }, + "@octokit/auth-unauthenticated": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@octokit/auth-unauthenticated/-/auth-unauthenticated-3.0.4.tgz", + "integrity": "sha512-AT74XGBylcLr4lmUp1s6mjSUgphGdlse21Qjtv5DzpX1YOl5FXKwvNcZWESdhyBbpDT8VkVyLFqa/7a7eqpPNw==", + "requires": { + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0" + } + }, + "@octokit/core": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.0.tgz", + "integrity": "sha512-AgvDRUg3COpR82P7PBdGZF/NNqGmtMq2NiPqeSsDIeCfYFOZ9gddqWNQHnFdEUf+YwOj4aZYmJnlPp7OXmDIDg==", + "requires": { + "@octokit/auth-token": "^3.0.0", + "@octokit/graphql": "^5.0.0", + "@octokit/request": "^6.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/endpoint": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.5.tgz", + "integrity": "sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA==", + "requires": { + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + } + } + }, + "@octokit/graphql": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.5.tgz", + "integrity": "sha512-Qwfvh3xdqKtIznjX9lz2D458r7dJPP8l6r4GQkIdWQouZwHQK0mVT88uwiU2bdTU2OtT1uOlKpRciUWldpG0yQ==", + "requires": { + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/oauth-app": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@octokit/oauth-app/-/oauth-app-4.2.0.tgz", + "integrity": "sha512-gyGclT77RQMkVUEW3YBeAKY+LBSc5u3eC9Wn/Uwt3WhuKuu9mrV18EnNpDqmeNll+mdV02yyBROU29Tlili6gg==", + "requires": { + "@octokit/auth-oauth-app": "^5.0.0", + "@octokit/auth-oauth-user": "^2.0.0", + "@octokit/auth-unauthenticated": "^3.0.0", + "@octokit/core": "^4.0.0", + "@octokit/oauth-authorization-url": "^5.0.0", + "@octokit/oauth-methods": "^2.0.0", + "@types/aws-lambda": "^8.10.83", + "fromentries": "^1.3.1", + "universal-user-agent": "^6.0.0" + } + }, + "@octokit/oauth-authorization-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@octokit/oauth-authorization-url/-/oauth-authorization-url-5.0.0.tgz", + "integrity": "sha512-y1WhN+ERDZTh0qZ4SR+zotgsQUE1ysKnvBt1hvDRB2WRzYtVKQjn97HEPzoehh66Fj9LwNdlZh+p6TJatT0zzg==" + }, + "@octokit/oauth-methods": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@octokit/oauth-methods/-/oauth-methods-2.0.5.tgz", + "integrity": "sha512-yQP6B5gE3axNxuM3U9KqWs/ErAQ+WLPaPgC/7EjsZsQibkf8sjdAfF8/y/EJW+Dd05XQvadX4WhQZPMnO1SE1A==", + "requires": { + "@octokit/oauth-authorization-url": "^5.0.0", + "@octokit/request": "^6.2.3", + "@octokit/request-error": "^3.0.3", + "@octokit/types": "^9.0.0", + "btoa-lite": "^1.0.0" + } + }, + "@octokit/openapi-types": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-16.0.0.tgz", + "integrity": "sha512-JbFWOqTJVLHZSUUoF4FzAZKYtqdxWu9Z5m2QQnOyEa04fOFljvyh7D3GYKbfuaSWisqehImiVIMG4eyJeP5VEA==" + }, + "@octokit/plugin-paginate-rest": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.0.0.tgz", + "integrity": "sha512-Sq5VU1PfT6/JyuXPyt04KZNVsFOSBaYOAq2QRZUwzVlI10KFvcbUo8lR258AAQL1Et60b0WuVik+zOWKLuDZxw==", + "requires": { + "@octokit/types": "^9.0.0" + } + }, + "@octokit/plugin-rest-endpoint-methods": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.0.1.tgz", + "integrity": "sha512-pnCaLwZBudK5xCdrR823xHGNgqOzRnJ/mpC/76YPpNP7DybdsJtP7mdOwh+wYZxK5jqeQuhu59ogMI4NRlBUvA==", + "requires": { + "@octokit/types": "^9.0.0", + "deprecation": "^2.3.1" + } + }, + "@octokit/plugin-retry": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-4.1.1.tgz", + "integrity": "sha512-iR7rg5KRSl6L6RELTQQ3CYeNgeBJyuAmP95odzcQ/zyefnRT/Peo8rWeky4z7V/+/oPWqOL4I5Z+V8KtjpHCJw==", + "requires": { + "@octokit/types": "^9.0.0", + "bottleneck": "^2.15.3" + } + }, + "@octokit/plugin-throttling": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-5.0.1.tgz", + "integrity": "sha512-I4qxs7wYvYlFuY3PAUGWAVPhFXG3RwnvTiSr5Fu/Auz7bYhDLnzS2MjwV8nGLq/FPrWwYiweeZrI5yjs1YG4tQ==", + "requires": { + "@octokit/types": "^9.0.0", + "bottleneck": "^2.15.3" + } + }, + "@octokit/request": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.3.tgz", + "integrity": "sha512-TNAodj5yNzrrZ/VxP+H5HiYaZep0H3GU0O7PaF+fhDrt8FPrnkei9Aal/txsN/1P7V3CPiThG0tIvpPDYUsyAA==", + "requires": { + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + }, + "node-fetch": { + "version": "2.6.8", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.8.tgz", + "integrity": "sha512-RZ6dBYuj8dRSfxpUSu+NsdF1dpPpluJxwOp+6IoDp/sH2QNDSvurYsAa+F1WxY2RjA1iP93xhcsUoYbF2XBqVg==", + "requires": { + "whatwg-url": "^5.0.0" + } + } + } + }, + "@octokit/request-error": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", + "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", + "requires": { + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + } + }, + "@octokit/types": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.0.0.tgz", + "integrity": "sha512-LUewfj94xCMH2rbD5YJ+6AQ4AVjFYTgpp6rboWM5T7N3IsIF65SBEOVcYMGAEzO/kKNiNaW4LoWtoThOhH06gw==", + "requires": { + "@octokit/openapi-types": "^16.0.0" + } + }, + "@octokit/webhooks": { + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/@octokit/webhooks/-/webhooks-10.7.0.tgz", + "integrity": "sha512-zZBbQMpXXnK/ki/utrFG/TuWv9545XCSLibfDTxrYqR1PmU6zel02ebTOrA7t5XIGHzlEOc/NgISUIBUe7pMFA==", + "requires": { + "@octokit/request-error": "^3.0.0", + "@octokit/webhooks-methods": "^3.0.0", + "@octokit/webhooks-types": "6.10.0", + "aggregate-error": "^3.1.0" + } + }, + "@octokit/webhooks-methods": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@octokit/webhooks-methods/-/webhooks-methods-3.0.2.tgz", + "integrity": "sha512-Vlnv5WBscf07tyAvfDbp7pTkMZUwk7z7VwEF32x6HqI+55QRwBTcT+D7DDjZXtad/1dU9E32x0HmtDlF9VIRaQ==" + }, + "@octokit/webhooks-types": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/@octokit/webhooks-types/-/webhooks-types-6.10.0.tgz", + "integrity": "sha512-lDNv83BeEyxxukdQ0UttiUXawk9+6DkdjjFtm2GFED+24IQhTVaoSbwV9vWWKONyGLzRmCQqZmoEWkDhkEmPlw==" + }, "@polka/url": { "version": "1.0.0-next.15", "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.15.tgz", "integrity": "sha512-15spi3V28QdevleWBNXE4pIls3nFZmBbUGrW9IVPwiQczuSb9n76TCB4bsk8TSel+I1OkHEdPhu5QKMfY6rQHA==" }, + "@types/aws-lambda": { + "version": "8.10.110", + "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.110.tgz", + "integrity": "sha512-r6egf2Cwv/JaFTTrF9OXFVUB3j/SXTgM9BwrlbBRjWAa2Tu6GWoDoLflppAZ8uSfbUJdXvC7Br3DjuN9pQ2NUQ==" + }, + "@types/btoa-lite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/btoa-lite/-/btoa-lite-1.0.0.tgz", + "integrity": "sha512-wJsiX1tosQ+J5+bY5LrSahHxr2wT+uME5UDwdN1kg4frt40euqA+wzECkmq4t5QbveHiJepfdThgQrPw6KiSlg==" + }, "@types/html-minifier-terser": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz", @@ -1690,6 +1982,19 @@ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz", "integrity": "sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==" }, + "@types/jsonwebtoken": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.1.tgz", + "integrity": "sha512-c5ltxazpWabia/4UzhIoaDcIza4KViOQhdbjRlfcIGVnsE3c3brkz9Z+F/EeJIECOQP7W7US2hNE930cWWkPiw==", + "requires": { + "@types/node": "*" + } + }, + "@types/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==" + }, "@types/node": { "version": "16.4.3", "resolved": "https://registry.npmjs.org/@types/node/-/node-16.4.3.tgz", @@ -2444,6 +2749,11 @@ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, + "before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" + }, "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -2495,6 +2805,11 @@ "vue-functional-data-merge": "^3.1.0" } }, + "bottleneck": { + "version": "2.19.5", + "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", + "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==" + }, "boxen": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.0.1.tgz", @@ -2655,6 +2970,11 @@ "node-releases": "^1.1.71" } }, + "btoa-lite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", + "integrity": "sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA==" + }, "buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -2664,6 +2984,11 @@ "ieee754": "^1.1.13" } }, + "buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", @@ -3640,6 +3965,11 @@ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, + "deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" + }, "des.js": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", @@ -3802,6 +4132,14 @@ "stream-shift": "^1.0.0" } }, + "ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -4365,6 +4703,11 @@ "readable-stream": "^2.0.0" } }, + "fromentries": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", + "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==" + }, "fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -5422,6 +5765,59 @@ "universalify": "^2.0.0" } }, + "jsonwebtoken": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz", + "integrity": "sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==", + "requires": { + "jws": "^3.2.2", + "lodash": "^4.17.21", + "ms": "^2.1.1", + "semver": "^7.3.8" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "requires": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "requires": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, "katex": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/katex/-/katex-0.6.0.tgz", @@ -6337,6 +6733,21 @@ "es-abstract": "^1.18.2" } }, + "octokit": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/octokit/-/octokit-2.0.14.tgz", + "integrity": "sha512-z6cgZBFxirpFEQ1La8Lg83GCs5hOV2EPpkYYdjsGNbfQMv8qUGjq294MiRBCbZqLufviakGsPUxaNKe3JrPmsA==", + "requires": { + "@octokit/app": "^13.1.1", + "@octokit/core": "^4.0.4", + "@octokit/oauth-app": "^4.0.6", + "@octokit/plugin-paginate-rest": "^6.0.0", + "@octokit/plugin-rest-endpoint-methods": "^7.0.0", + "@octokit/plugin-retry": "^4.0.3", + "@octokit/plugin-throttling": "^5.0.0", + "@octokit/types": "^9.0.0" + } + }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", @@ -9142,6 +9553,11 @@ "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==" }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, "ts-pnp": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", @@ -9264,6 +9680,20 @@ "imurmurhash": "^0.1.4" } }, + "universal-github-app-jwt": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/universal-github-app-jwt/-/universal-github-app-jwt-1.1.1.tgz", + "integrity": "sha512-G33RTLrIBMFmlDV4u4CBF7dh71eWwykck4XgaxaIVeZKOYZRAAxvcGMRFTUclVY6xoUPQvO4Ne5wKGxYm/Yy9w==", + "requires": { + "@types/jsonwebtoken": "^9.0.0", + "jsonwebtoken": "^9.0.0" + } + }, + "universal-user-agent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", + "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" + }, "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -9954,6 +10384,11 @@ } } }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, "webpack": { "version": "4.46.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", @@ -10468,6 +10903,15 @@ } } }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", diff --git a/package.json b/package.json index 563765a..3a9c84f 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "eva-icons": "^1.1.3", "jquery": "^1.9.1", "nuxt": "^2.14.12", + "octokit": "^2.0.14", "vue-analytics": "^5.22.1", "vue-eva-icons": "^1.1.1", "vue-markdown": "^2.1.2", From f61c718639a3ea5e891916584d4e45a0440fb0ab Mon Sep 17 00:00:00 2001 From: rmccreath Date: Tue, 31 Jan 2023 15:30:53 +0000 Subject: [PATCH 03/42] Add API connection and skeleton data --- package-lock.json | 16 +++++++++++++++ package.json | 1 + pages/docs/index.vue | 47 +++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 63 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 8d92b86..247ab0b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1855,6 +1855,11 @@ "@octokit/types": "^9.0.0" } }, + "@octokit/plugin-request-log": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==" + }, "@octokit/plugin-rest-endpoint-methods": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.0.1.tgz", @@ -1920,6 +1925,17 @@ "once": "^1.4.0" } }, + "@octokit/rest": { + "version": "19.0.7", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.7.tgz", + "integrity": "sha512-HRtSfjrWmWVNp2uAkEpQnuGMJsu/+dBr47dRc5QVgsCbnIc1+GFEaoKBWkYG+zjrsHpSqcAElMio+n10c0b5JA==", + "requires": { + "@octokit/core": "^4.1.0", + "@octokit/plugin-paginate-rest": "^6.0.0", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^7.0.0" + } + }, "@octokit/types": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.0.0.tgz", diff --git a/package.json b/package.json index 3a9c84f..ac2323a 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ }, "dependencies": { "@nuxtjs/axios": "^5.12.5", + "@octokit/rest": "^19.0.7", "babel-runtime": "^6.26.0", "bootstrap": "^4.5.0", "bootstrap-vue": "^2.15.0", diff --git a/pages/docs/index.vue b/pages/docs/index.vue index 82240cf..e56d655 100644 --- a/pages/docs/index.vue +++ b/pages/docs/index.vue @@ -2,5 +2,50 @@

Docs

Some docs

+
{{ login }}
+ + + +
+ + + {{ item.name }} + + + +
+
{{ docs }}
- \ No newline at end of file + + + From 247e293ed32dc9860950f3d1fb93d7d309ee050f Mon Sep 17 00:00:00 2001 From: rmccreath Date: Tue, 31 Jan 2023 15:32:17 +0000 Subject: [PATCH 04/42] Create build for test --- docs/404.html | 4 +- docs/_nuxt/{19b38da.js => 14e5cfc.js} | 2 +- docs/_nuxt/{1a88ccb.js => 38efac1.js} | 2 +- docs/_nuxt/{b6f8e63.js => 5f746d5.js} | 2 +- docs/_nuxt/{5bdd65a.js => 75c6f21.js} | 2 +- docs/_nuxt/790c1f1.js | 1 + docs/_nuxt/{69a3b0c.js => 7c5e134.js} | 2 +- docs/_nuxt/7cf56cc.js | 1 - docs/_nuxt/894e3af.js | 2 - docs/_nuxt/9a48136.js | 2 + docs/_nuxt/9e42d14.js | 2 - docs/_nuxt/LICENSES | 58 +++++++++++++++------------ docs/_nuxt/a284b19.js | 1 + docs/_nuxt/a3d5e35.js | 2 - docs/_nuxt/ae7ca2f.js | 2 + docs/_nuxt/b5c6c2c.js | 1 - docs/_nuxt/bd40fc5.js | 1 + docs/_nuxt/c158d23.js | 2 + docs/_nuxt/ca3ca66.js | 2 + docs/_nuxt/cde532c.js | 1 + docs/_nuxt/{00878fb.js => d6ccc2a.js} | 2 +- docs/_nuxt/{9ca15cf.js => f8290de.js} | 2 +- docs/_nuxt/fd826ac.js | 1 - docs/admin/index.html | 4 +- docs/develop/index.html | 4 +- docs/develop/r-pathway/index.html | 4 +- docs/docs/index.html | 9 +++++ docs/index.html | 4 +- docs/social/index.html | 4 +- 29 files changed, 73 insertions(+), 53 deletions(-) rename docs/_nuxt/{19b38da.js => 14e5cfc.js} (98%) rename docs/_nuxt/{1a88ccb.js => 38efac1.js} (77%) rename docs/_nuxt/{b6f8e63.js => 5f746d5.js} (92%) rename docs/_nuxt/{5bdd65a.js => 75c6f21.js} (90%) create mode 100644 docs/_nuxt/790c1f1.js rename docs/_nuxt/{69a3b0c.js => 7c5e134.js} (99%) delete mode 100644 docs/_nuxt/7cf56cc.js delete mode 100644 docs/_nuxt/894e3af.js create mode 100644 docs/_nuxt/9a48136.js delete mode 100644 docs/_nuxt/9e42d14.js create mode 100644 docs/_nuxt/a284b19.js delete mode 100644 docs/_nuxt/a3d5e35.js create mode 100644 docs/_nuxt/ae7ca2f.js delete mode 100644 docs/_nuxt/b5c6c2c.js create mode 100644 docs/_nuxt/bd40fc5.js create mode 100644 docs/_nuxt/c158d23.js create mode 100644 docs/_nuxt/ca3ca66.js create mode 100644 docs/_nuxt/cde532c.js rename docs/_nuxt/{00878fb.js => d6ccc2a.js} (78%) rename docs/_nuxt/{9ca15cf.js => f8290de.js} (97%) delete mode 100644 docs/_nuxt/fd826ac.js create mode 100644 docs/docs/index.html diff --git a/docs/404.html b/docs/404.html index ee5d260..446eb28 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/_nuxt/19b38da.js b/docs/_nuxt/14e5cfc.js similarity index 98% rename from docs/_nuxt/19b38da.js rename to docs/_nuxt/14e5cfc.js index 12048c4..a5fc886 100644 --- a/docs/_nuxt/19b38da.js +++ b/docs/_nuxt/14e5cfc.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{254:function(e){e.exports=JSON.parse('[{"title":"Introduction to R","slug":"introduction-to-r","description":"A beginner\'s course for learning R from the basics.","overview":"In Introduction to R, you\'re given a brief introduction to programming before building the foundations in R. Throughout the course, you will build from these foundations and master the basics of this widely used open source language, including data structures, flow, exploration, and wrangling. This is all supported with live coding and quizzes so you can be sure you know what you\'re doing. \\n\\nWhile the use of R continues to grow globally, PHS continues to secure the infrastructure and tools for everyone to make the best use of this technology. This course is suitable for everyone new to R and provides the knowledge to build topic specific skills.","link":"https://scotland.shinyapps.io/phs-learnr-intro/","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmmiLaHlezqJOh-fBWH8cGyhUQUlQMVNZMk1aTjdCMllRTFJNWkZKTFNSMy4u","online":"https://scotland.shinyapps.io/phs-learnr-intro/","image":"","type":["In-Person Course","Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":"none","timetable":"3 half days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/learnr-intro","related":[]},{"title":"Introduction to Git ","slug":"introduction-to-git","description":"A beginner\'s course for learning git (including GitHub and Gitea) from the basics.","overview":"In Introduction to Git, there is no assumption of any background in Git, or even version control. Instead, this introduces you to version control topics and provides a deeper understanding of how things work, all from the perspective of an R user. The practical elements of the course utilise the user interface on RStudio so, while there\'s no prerequisite on R, you should be familiar with the RStudio software. \\n\\nVersion control is a powerful tool across software engineering disciplines. At a high level, it allows you to keep track of changes, undoing them when necessary, and collaborating at scale. This course introduces you to Git as a version control tool (arguably the most popular), GitHub and Gitea. You\'ll learn about repositories, commits, branches, and pull requests.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu&embed=true","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"Git","level":"1","packages":[],"tags":["git"],"prereqs":"none","timetable":"1 half day (plus both a pre-course check and post-course drop-in)","materials":"https://github.com/Public-Health-Scotland/learn-git","related":["R","Python"]},{"title":"Data Visualisation in R","slug":"data-visualisation-in-r","description":"Learn about data viz using R. This course has a focus on ggplot2 but includes an introduction to plotly.","overview":"Data visualisation is useful across all roles that interact with data, it\'s important that these are meaningful and visually appealing too. Building from the Introduction to R course, this course covers the structure on which visualisations are built and then, more practically, how to actually build them. \\n\\nThe ggplot2 package is the primary R package that is used across the organisation and in this course. However, this package is built on the same underlying structure as the plotly package. When things need to get interactive on your visualisations, you\'ll need to use plotly.","link":"https://scotland.shinyapps.io/phs-learnr-dataviz/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-dataviz/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ggplot2","plotly"],"tags":["r","viz"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to R Markdown","slug":"introduction-to-r-markdown","description":"Learn about building reports and other functionality of R Markdown.","overview":"R Markdown is used to create outputs such as PDFs, HTML, or even a Shiny app. These are generated from the R Markdown file which simply lays out the document with a minimal and easy to use syntax. You can also include executable code chunks, allowing you to produce visualisations and analytical outputs. R Markdown is already widely used across the organisation, with templates available for publications, presentations, and even training course apps. \\n\\nIn this course you\'ll learn the foundations and practicalities of using R Markdown. While there\'s enough theory to understand how things work, there\'s practical exercises to get familiar and embed your learning. You\'ll need to do most of the practical exercises on RStudio (desktop or server) as the training app can\'t show the outputs.","link":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","rmarkdown"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"PHS Methods","slug":"phs-methods","description":"The first step in taking R further. Learn about the `phsmethods` package created by and for staff in PHS.","overview":"","link":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","phsmethods"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Open Data","slug":"introduction-to-open-data","description":"Learn about open data, what it is, why we use it, and how to interact with our open data using R.","overview":"Open data is the name for publicly released data which is made freely available to everyone to use and reuse in any way they like. With open data, anyone is able to make use of its potential: improving, innovating, and making better decisions. In this course, we provide a theoretical background of open data, building on PHS practices, and then getting practical with some coding examples in R. ","link":"https://scotland.shinyapps.io/phs-learnr-opendata","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-opendata","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ckanr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SPSS to R","slug":"spss-to-r","description":"A companion to the Intro to R course for SPSS users, understanding the differences and how to start translating SPSS to R.","overview":"While not repeating the content of the Introduction to R course, this course attempts to support existing SPSS users to transition to R. The course follows the same structure to allow you to compare and see how the code varies between the different technologies.","link":"https://scotland.shinyapps.io/phs-learnr-spsstor/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-spsstor/","image":"","type":["Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"R Shiny","slug":"r-shiny","description":"Learn how to develop web apps and dashboards using R Shiny.","overview":"R Shiny is an R package that allows you to develop interactive web apps. The use of R Shiny is expansive and flexible, with the ability to integrate with R Markdown and other tools. With an element of web development practices, the course builds the knowledge of Shiny through practical exercises but is thorough enough to cover how each component works. In this course you\'ll learn how a complete R shiny comes together, from forming your data, developing user interfaces with interactive data visualisations that conform to PHS standards, right through to deploying for others to use on the web.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"R","level":"3","packages":["base","shiny"],"tags":["r"],"prereqs":["Introduction to R","Data Visualisation in R"],"timetable":"3 days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/RShiny-training","related":[]},{"title":"SQL in R","slug":"sql-in-r","description":"Learn about writing and using SQL commands in R.","overview":"Using SQL is is applicable to so many roles, it\'s almost inevitable that you\'ll come across it at some stage. However, this could also mean that you inherit pre-written SQL or be dealing with massive quantities of data. Using SQL doesn\'t need to be intimidating but it\'s going to make your life a lot easier if you know what you\'re doing and how to do it efficiently. This course is a complete introduction to SQL from the foundations up, you can use the first few chapters to learn about SQL and leave it there. However, the course continues and shows how that SQL code can be integrated into R, making your coding experience much more seamless. The course concludes with a taster for using an R package, dbplyr. This package allows you to use familiar R syntax (if you\'re familiar with the Tidyverse) rather than using SQL at all.","link":"https://scotland.shinyapps.io/phs-learnr-sql/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-sql/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","odbc","dbplyr"],"tags":["r","sql"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"OpenXLSX","slug":"openxlsx","description":"Learn about the openxlsx package to work with Excel files within R.","overview":"The openxlsx package is a great way to work with Excel files within R. It allows you to read, write, and modify Excel files, and is a great alternative to the readxl and writexl packages. This course is a complete introduction to the openxlsx package, from the foundations up. It covers the basics of working with Excel files, including reading, writing, and modifying data. It also covers some more advanced topics, such as working with multiple worksheets, formatting, and using functions to automate tasks. This course is designed to be a complete introduction to the openxlsx package, so you can use the first few chapters to learn about the package and leave it there. However, the course continues and shows how that openxlsx code can be integrated into R, making your coding experience much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","openxlsx"],"tags":["r","excel"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Python","slug":"introduction-to-python","description":"A beginner\'s course for learning Python from the basics.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"1","packages":[],"tags":["python"],"prereqs":"none","timetable":"","materials":"","related":[]},{"title":"R Functions","slug":"r-functions","description":"R is a functional programming language. So let\'s learn how to write some functions.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Functions","slug":"python-functions","description":"Learn how to write functions in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Dates & Times in R","slug":"dates-and-times-in-r","description":"Learn how to work with dates and times in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","lubridate"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"R Control Structures","slug":"r-control-structures","description":"Learn how to control the flow of execution in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","purrr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Control Structures","slug":"python-control-structures","description":"Learn how to control the flow of execution in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Data Cleaning in R","slug":"data-cleaning-in-r","description":"Learn about data cleaning in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","stringr","forcats","tidyr","tidylog","janitor"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Testing in R","slug":"testing-in-r","description":"Learn about testing in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","testthat"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Reproducible Environments in R","slug":"reproducible-environments-in-r","description":"Learn about creating and using reproducible environments in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","renv"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Data Viz in Python","slug":"data-viz-in-python","description":"Learn about data visualisation using Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":["plotly"],"tags":["python","viz"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"R Packages","slug":"r-packages","description":"Learn how to build your own R packages and get them ready for CRAN.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"3","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]}]')},328:function(e,t,o){var content=o(438);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,o(59).default)("4dbac968",content,!0,{sourceMap:!1})},437:function(e,t,o){"use strict";o(328)},438:function(e,t,o){var n=o(58)(!1);n.push([e.i,".breadcrumb[data-v-17615772]{background-color:#fff}.pathway-notice[data-v-17615772]{background-color:#3f3685;border:none;color:#fff;font-size:1.1rem}",""]),e.exports=n},445:function(e,t,o){"use strict";o.r(t);o(1);var n=o(254),r={data:function(){return{courses:n}},computed:{course:function(){var e=this,t=n.filter((function(t){return t.slug==e.$route.params.course}))[0];return t||{}}}},l=(o(437),o(50)),component=Object(l.a)(r,(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{},[o("b-breadcrumb",[o("b-breadcrumb-item",{on:{click:function(t){return e.$router.push("/")}}},[e._v("Home")]),e._v(" "),o("b-breadcrumb-item",{on:{click:function(t){return e.$router.push("/develop")}}},[e._v("Develop")]),e._v(" "),o("b-breadcrumb-item",{attrs:{active:""}},[e._v(e._s(e.course.title))])],1),e._v(" "),o("b-row",{staticClass:"pt-4"},[o("b-col",[o("h3",[e._v(e._s(e.course.title))])])],1),e._v(" "),o("b-row",{staticClass:"pt-5",attrs:{cols:"1","cols-lg":"2"}},[o("b-col",{staticClass:"pb-5",attrs:{cols:"12",lg:"8"}},[o("h4",[e._v("Description")]),e._v(" "),o("p",[e._v(e._s(e.course.description))]),e._v(" "),o("span",{staticStyle:{"white-space":"pre-wrap"}},[e._v(e._s(e.course.overview))])]),e._v(" "),o("b-col",{attrs:{cols:"12",lg:"4"}},[""!=e.course.f2f?o("b-card",{staticClass:"mb-4"},[o("div",{staticClass:"d-flex justify-content-between align-items-center"},[o("h5",[e._v("In-Person Course")]),e._v(" "),o("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal.booking-modal",modifiers:{"booking-modal":!0}}],attrs:{variant:"primary"},on:{click:function(t){e.selectedCourse=e.course}}},[e._v("\n Book\n ")])],1)]):e._e(),e._v(" "),""!=e.course.online?o("b-card",{staticClass:"mb-4"},[o("div",{staticClass:"d-flex justify-content-between align-items-center"},[o("h5",[e._v("Online Course")]),e._v(" "),o("b-button",{attrs:{href:e.course.link,target:"_blank",variant:"primary"}},[e._v("\n Start\n ")])],1)]):e._e(),e._v(" "),"R"==e.course.technology?o("b-card",{staticClass:"mb-5 pathway-notice"},[o("h6",{staticClass:"pathway-notice"},[e._v("Part of the "),o("strong",[o("NuxtLink",{staticClass:"pathway-notice",attrs:{to:"/develop/r-pathway"}},[e._v("R technology pathway")])],1)])]):e._e()],1)],1),e._v(" "),o("b-row",{attrs:{cols:"1","cols-lg":"2"}},[o("b-col",{attrs:{cols:"12",lg:"8"}},[o("h4",[e._v("Details")]),e._v(" "),o("h5",{staticClass:"pt-3"},[e._v("Prerequisites")]),e._v(" "),"none"==e.course.prereqs?o("p",[e._v("There are "),o("strong",[e._v("no")]),e._v(" prerequisites for this course.")]):o("ul",e._l(e.courses.filter((function(t){return e.course.prereqs.includes(t.title)})),(function(t){return o("li",[o("NuxtLink",{attrs:{to:"/develop/"+t.slug}},[e._v(e._s(t.title))])],1)})),0),e._v(" "),""!=e.course.f2f&&""!=e.course.timetable?o("h5",{staticClass:"pt-2"},[e._v("In-Person Timetable")]):e._e(),e._v(" "),""!=e.course.f2f&&""!=e.course.timetable?o("p",[e._v("This course is ran over "),o("strong",[e._v(e._s(e.course.timetable))]),e._v(".")]):e._e(),e._v(" "),""!=e.course.f2f&&""!=e.course.materials?o("h5",{staticClass:"pt-2"},[e._v("In-Person Materials")]):e._e(),e._v(" "),""!=e.course.f2f&&""!=e.course.materials?o("p",[o("a",{attrs:{href:e.course.materials,target:"_blank"}},[e._v(e._s(e.course.materials))])]):e._e()])],1),e._v(" "),o("b-modal",{attrs:{id:"booking-modal",size:"xl"}},[e._v("\n If this content doesn't load, "),o("a",{attrs:{target:"_blank",href:e.course.f2f}},[e._v("click here")]),e._v(" to open in a browser tab.\n "),o("br"),e._v(" "),o("div",[o("iframe",{staticStyle:{border:"none",width:"100%"},attrs:{width:"640px",height:"1550px",src:e.course.f2f,frameborder:"0",marginwidth:"0",marginheight:"0",allowfullscreen:"",webkitallowfullscreen:"",mozallowfullscreen:"",msallowfullscreen:""}})])])],1)}),[],!1,null,"17615772",null);t.default=component.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{254:function(e){e.exports=JSON.parse('[{"title":"Introduction to R","slug":"introduction-to-r","description":"A beginner\'s course for learning R from the basics.","overview":"In Introduction to R, you\'re given a brief introduction to programming before building the foundations in R. Throughout the course, you will build from these foundations and master the basics of this widely used open source language, including data structures, flow, exploration, and wrangling. This is all supported with live coding and quizzes so you can be sure you know what you\'re doing. \\n\\nWhile the use of R continues to grow globally, PHS continues to secure the infrastructure and tools for everyone to make the best use of this technology. This course is suitable for everyone new to R and provides the knowledge to build topic specific skills.","link":"https://scotland.shinyapps.io/phs-learnr-intro/","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmmiLaHlezqJOh-fBWH8cGyhUQUlQMVNZMk1aTjdCMllRTFJNWkZKTFNSMy4u","online":"https://scotland.shinyapps.io/phs-learnr-intro/","image":"","type":["In-Person Course","Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":"none","timetable":"3 half days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/learnr-intro","related":[]},{"title":"Introduction to Git ","slug":"introduction-to-git","description":"A beginner\'s course for learning git (including GitHub and Gitea) from the basics.","overview":"In Introduction to Git, there is no assumption of any background in Git, or even version control. Instead, this introduces you to version control topics and provides a deeper understanding of how things work, all from the perspective of an R user. The practical elements of the course utilise the user interface on RStudio so, while there\'s no prerequisite on R, you should be familiar with the RStudio software. \\n\\nVersion control is a powerful tool across software engineering disciplines. At a high level, it allows you to keep track of changes, undoing them when necessary, and collaborating at scale. This course introduces you to Git as a version control tool (arguably the most popular), GitHub and Gitea. You\'ll learn about repositories, commits, branches, and pull requests.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu&embed=true","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"Git","level":"1","packages":[],"tags":["git"],"prereqs":"none","timetable":"1 half day (plus both a pre-course check and post-course drop-in)","materials":"https://github.com/Public-Health-Scotland/learn-git","related":["R","Python"]},{"title":"Data Visualisation in R","slug":"data-visualisation-in-r","description":"Learn about data viz using R. This course has a focus on ggplot2 but includes an introduction to plotly.","overview":"Data visualisation is useful across all roles that interact with data, it\'s important that these are meaningful and visually appealing too. Building from the Introduction to R course, this course covers the structure on which visualisations are built and then, more practically, how to actually build them. \\n\\nThe ggplot2 package is the primary R package that is used across the organisation and in this course. However, this package is built on the same underlying structure as the plotly package. When things need to get interactive on your visualisations, you\'ll need to use plotly.","link":"https://scotland.shinyapps.io/phs-learnr-dataviz/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-dataviz/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ggplot2","plotly"],"tags":["r","viz"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to R Markdown","slug":"introduction-to-r-markdown","description":"Learn about building reports and other functionality of R Markdown.","overview":"R Markdown is used to create outputs such as PDFs, HTML, or even a Shiny app. These are generated from the R Markdown file which simply lays out the document with a minimal and easy to use syntax. You can also include executable code chunks, allowing you to produce visualisations and analytical outputs. R Markdown is already widely used across the organisation, with templates available for publications, presentations, and even training course apps. \\n\\nIn this course you\'ll learn the foundations and practicalities of using R Markdown. While there\'s enough theory to understand how things work, there\'s practical exercises to get familiar and embed your learning. You\'ll need to do most of the practical exercises on RStudio (desktop or server) as the training app can\'t show the outputs.","link":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","rmarkdown"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"PHS Methods","slug":"phs-methods","description":"The first step in taking R further. Learn about the `phsmethods` package created by and for staff in PHS.","overview":"","link":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","phsmethods"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Open Data","slug":"introduction-to-open-data","description":"Learn about open data, what it is, why we use it, and how to interact with our open data using R.","overview":"Open data is the name for publicly released data which is made freely available to everyone to use and reuse in any way they like. With open data, anyone is able to make use of its potential: improving, innovating, and making better decisions. In this course, we provide a theoretical background of open data, building on PHS practices, and then getting practical with some coding examples in R. ","link":"https://scotland.shinyapps.io/phs-learnr-opendata","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-opendata","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ckanr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SPSS to R","slug":"spss-to-r","description":"A companion to the Intro to R course for SPSS users, understanding the differences and how to start translating SPSS to R.","overview":"While not repeating the content of the Introduction to R course, this course attempts to support existing SPSS users to transition to R. The course follows the same structure to allow you to compare and see how the code varies between the different technologies.","link":"https://scotland.shinyapps.io/phs-learnr-spsstor/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-spsstor/","image":"","type":["Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"R Shiny","slug":"r-shiny","description":"Learn how to develop web apps and dashboards using R Shiny.","overview":"R Shiny is an R package that allows you to develop interactive web apps. The use of R Shiny is expansive and flexible, with the ability to integrate with R Markdown and other tools. With an element of web development practices, the course builds the knowledge of Shiny through practical exercises but is thorough enough to cover how each component works. In this course you\'ll learn how a complete R shiny comes together, from forming your data, developing user interfaces with interactive data visualisations that conform to PHS standards, right through to deploying for others to use on the web.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"R","level":"3","packages":["base","shiny"],"tags":["r"],"prereqs":["Introduction to R","Data Visualisation in R"],"timetable":"3 days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/RShiny-training","related":[]},{"title":"SQL in R","slug":"sql-in-r","description":"Learn about writing and using SQL commands in R.","overview":"Using SQL is is applicable to so many roles, it\'s almost inevitable that you\'ll come across it at some stage. However, this could also mean that you inherit pre-written SQL or be dealing with massive quantities of data. Using SQL doesn\'t need to be intimidating but it\'s going to make your life a lot easier if you know what you\'re doing and how to do it efficiently. This course is a complete introduction to SQL from the foundations up, you can use the first few chapters to learn about SQL and leave it there. However, the course continues and shows how that SQL code can be integrated into R, making your coding experience much more seamless. The course concludes with a taster for using an R package, dbplyr. This package allows you to use familiar R syntax (if you\'re familiar with the Tidyverse) rather than using SQL at all.","link":"https://scotland.shinyapps.io/phs-learnr-sql/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-sql/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","odbc","dbplyr"],"tags":["r","sql"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"OpenXLSX","slug":"openxlsx","description":"Learn about the openxlsx package to work with Excel files within R.","overview":"The openxlsx package is a great way to work with Excel files within R. It allows you to read, write, and modify Excel files, and is a great alternative to the readxl and writexl packages. This course is a complete introduction to the openxlsx package, from the foundations up. It covers the basics of working with Excel files, including reading, writing, and modifying data. It also covers some more advanced topics, such as working with multiple worksheets, formatting, and using functions to automate tasks. This course is designed to be a complete introduction to the openxlsx package, so you can use the first few chapters to learn about the package and leave it there. However, the course continues and shows how that openxlsx code can be integrated into R, making your coding experience much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","openxlsx"],"tags":["r","excel"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Python","slug":"introduction-to-python","description":"A beginner\'s course for learning Python from the basics.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"1","packages":[],"tags":["python"],"prereqs":"none","timetable":"","materials":"","related":[]},{"title":"R Functions","slug":"r-functions","description":"R is a functional programming language. So let\'s learn how to write some functions.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Functions","slug":"python-functions","description":"Learn how to write functions in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Dates & Times in R","slug":"dates-and-times-in-r","description":"Learn how to work with dates and times in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","lubridate"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"R Control Structures","slug":"r-control-structures","description":"Learn how to control the flow of execution in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","purrr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Control Structures","slug":"python-control-structures","description":"Learn how to control the flow of execution in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Data Cleaning in R","slug":"data-cleaning-in-r","description":"Learn about data cleaning in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","stringr","forcats","tidyr","tidylog","janitor"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Testing in R","slug":"testing-in-r","description":"Learn about testing in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","testthat"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Reproducible Environments in R","slug":"reproducible-environments-in-r","description":"Learn about creating and using reproducible environments in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","renv"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Data Viz in Python","slug":"data-viz-in-python","description":"Learn about data visualisation using Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":["plotly"],"tags":["python","viz"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"R Packages","slug":"r-packages","description":"Learn how to build your own R packages and get them ready for CRAN.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"3","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]}]')},329:function(e,t,o){var content=o(446);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,o(59).default)("4dbac968",content,!0,{sourceMap:!1})},445:function(e,t,o){"use strict";o(329)},446:function(e,t,o){var n=o(58)(!1);n.push([e.i,".breadcrumb[data-v-17615772]{background-color:#fff}.pathway-notice[data-v-17615772]{background-color:#3f3685;border:none;color:#fff;font-size:1.1rem}",""]),e.exports=n},455:function(e,t,o){"use strict";o.r(t);o(1);var n=o(254),r={data:function(){return{courses:n}},computed:{course:function(){var e=this,t=n.filter((function(t){return t.slug==e.$route.params.course}))[0];return t||{}}}},l=(o(445),o(50)),component=Object(l.a)(r,(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{},[o("b-breadcrumb",[o("b-breadcrumb-item",{on:{click:function(t){return e.$router.push("/")}}},[e._v("Home")]),e._v(" "),o("b-breadcrumb-item",{on:{click:function(t){return e.$router.push("/develop")}}},[e._v("Develop")]),e._v(" "),o("b-breadcrumb-item",{attrs:{active:""}},[e._v(e._s(e.course.title))])],1),e._v(" "),o("b-row",{staticClass:"pt-4"},[o("b-col",[o("h3",[e._v(e._s(e.course.title))])])],1),e._v(" "),o("b-row",{staticClass:"pt-5",attrs:{cols:"1","cols-lg":"2"}},[o("b-col",{staticClass:"pb-5",attrs:{cols:"12",lg:"8"}},[o("h4",[e._v("Description")]),e._v(" "),o("p",[e._v(e._s(e.course.description))]),e._v(" "),o("span",{staticStyle:{"white-space":"pre-wrap"}},[e._v(e._s(e.course.overview))])]),e._v(" "),o("b-col",{attrs:{cols:"12",lg:"4"}},[""!=e.course.f2f?o("b-card",{staticClass:"mb-4"},[o("div",{staticClass:"d-flex justify-content-between align-items-center"},[o("h5",[e._v("In-Person Course")]),e._v(" "),o("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal.booking-modal",modifiers:{"booking-modal":!0}}],attrs:{variant:"primary"},on:{click:function(t){e.selectedCourse=e.course}}},[e._v("\n Book\n ")])],1)]):e._e(),e._v(" "),""!=e.course.online?o("b-card",{staticClass:"mb-4"},[o("div",{staticClass:"d-flex justify-content-between align-items-center"},[o("h5",[e._v("Online Course")]),e._v(" "),o("b-button",{attrs:{href:e.course.link,target:"_blank",variant:"primary"}},[e._v("\n Start\n ")])],1)]):e._e(),e._v(" "),"R"==e.course.technology?o("b-card",{staticClass:"mb-5 pathway-notice"},[o("h6",{staticClass:"pathway-notice"},[e._v("Part of the "),o("strong",[o("NuxtLink",{staticClass:"pathway-notice",attrs:{to:"/develop/r-pathway"}},[e._v("R technology pathway")])],1)])]):e._e()],1)],1),e._v(" "),o("b-row",{attrs:{cols:"1","cols-lg":"2"}},[o("b-col",{attrs:{cols:"12",lg:"8"}},[o("h4",[e._v("Details")]),e._v(" "),o("h5",{staticClass:"pt-3"},[e._v("Prerequisites")]),e._v(" "),"none"==e.course.prereqs?o("p",[e._v("There are "),o("strong",[e._v("no")]),e._v(" prerequisites for this course.")]):o("ul",e._l(e.courses.filter((function(t){return e.course.prereqs.includes(t.title)})),(function(t){return o("li",[o("NuxtLink",{attrs:{to:"/develop/"+t.slug}},[e._v(e._s(t.title))])],1)})),0),e._v(" "),""!=e.course.f2f&&""!=e.course.timetable?o("h5",{staticClass:"pt-2"},[e._v("In-Person Timetable")]):e._e(),e._v(" "),""!=e.course.f2f&&""!=e.course.timetable?o("p",[e._v("This course is ran over "),o("strong",[e._v(e._s(e.course.timetable))]),e._v(".")]):e._e(),e._v(" "),""!=e.course.f2f&&""!=e.course.materials?o("h5",{staticClass:"pt-2"},[e._v("In-Person Materials")]):e._e(),e._v(" "),""!=e.course.f2f&&""!=e.course.materials?o("p",[o("a",{attrs:{href:e.course.materials,target:"_blank"}},[e._v(e._s(e.course.materials))])]):e._e()])],1),e._v(" "),o("b-modal",{attrs:{id:"booking-modal",size:"xl"}},[e._v("\n If this content doesn't load, "),o("a",{attrs:{target:"_blank",href:e.course.f2f}},[e._v("click here")]),e._v(" to open in a browser tab.\n "),o("br"),e._v(" "),o("div",[o("iframe",{staticStyle:{border:"none",width:"100%"},attrs:{width:"640px",height:"1550px",src:e.course.f2f,frameborder:"0",marginwidth:"0",marginheight:"0",allowfullscreen:"",webkitallowfullscreen:"",mozallowfullscreen:"",msallowfullscreen:""}})])])],1)}),[],!1,null,"17615772",null);t.default=component.exports}}]); \ No newline at end of file diff --git a/docs/_nuxt/1a88ccb.js b/docs/_nuxt/38efac1.js similarity index 77% rename from docs/_nuxt/1a88ccb.js rename to docs/_nuxt/38efac1.js index 8e4f7bb..4f361c7 100644 --- a/docs/_nuxt/1a88ccb.js +++ b/docs/_nuxt/38efac1.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{237:function(t,n){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},238:function(t,n){var r=t.exports={version:"2.6.12"};"number"==typeof __e&&(__e=r)},239:function(t,n,r){var e=r(262)("wks"),o=r(263),c=r(237).Symbol,f="function"==typeof c;(t.exports=function(t){return e[t]||(e[t]=f&&c[t]||(f?c:o)("Symbol."+t))}).store=e},240:function(t,n,r){var e=r(249),o=r(260);t.exports=r(243)?function(object,t,n){return e.f(object,t,o(1,n))}:function(object,t,n){return object[t]=n,object}},241:function(t,n){t.exports={}},242:function(t,n,r){var e=r(250);t.exports=function(t){if(!e(t))throw TypeError(t+" is not an object!");return t}},243:function(t,n,r){t.exports=!r(251)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},244:function(t,n){var r={}.hasOwnProperty;t.exports=function(t,n){return r.call(t,n)}},247:function(t,n,r){var e=r(279),o=r(248);t.exports=function(t){return e(o(t))}},248:function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},249:function(t,n,r){var e=r(242),o=r(282),c=r(283),f=Object.defineProperty;n.f=r(243)?Object.defineProperty:function(t,n,r){if(e(t),n=c(n,!0),e(r),o)try{return f(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(t[n]=r.value),t}},250:function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},251:function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},252:function(t,n){var r=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?e:r)(t)}},253:function(t,n,r){var e=r(262)("keys"),o=r(263);t.exports=function(t){return e[t]||(e[t]=o(t))}},255:function(t,n){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},256:function(t,n,r){"use strict";var e=r(257),o=r(258),c=r(284),f=r(240),l=r(241),v=r(285),h=r(265),y=r(293),d=r(239)("iterator"),x=!([].keys&&"next"in[].keys()),_="keys",S="values",w=function(){return this};t.exports=function(t,n,r,m,O,k,j){v(r,n,m);var L,T,P,E=function(t){if(!x&&t in F)return F[t];switch(t){case _:case S:return function(){return new r(this,t)}}return function(){return new r(this,t)}},M=n+" Iterator",A=O==S,C=!1,F=t.prototype,I=F[d]||F["@@iterator"]||O&&F[O],G=I||E(O),R=O?A?E("entries"):G:void 0,N="Array"==n&&F.entries||I;if(N&&(P=y(N.call(new t)))!==Object.prototype&&P.next&&(h(P,M,!0),e||"function"==typeof P[d]||f(P,d,w)),A&&I&&I.name!==S&&(C=!0,G=function(){return I.call(this)}),e&&!j||!x&&!C&&F[d]||f(F,d,G),l[n]=G,l[M]=w,O)if(L={values:A?G:E(S),keys:k?G:E(_),entries:R},j)for(T in L)T in F||c(F,T,L[T]);else o(o.P+o.F*(x||C),n,L);return L}},257:function(t,n){t.exports=!0},258:function(t,n,r){var e=r(237),o=r(238),c=r(280),f=r(240),l=r(244),v=function(t,n,source){var r,h,y,d=t&v.F,x=t&v.G,_=t&v.S,S=t&v.P,w=t&v.B,m=t&v.W,O=x?o:o[n]||(o[n]={}),k=O.prototype,j=x?e:_?e[n]:(e[n]||{}).prototype;for(r in x&&(source=n),source)(h=!d&&j&&void 0!==j[r])&&l(O,r)||(y=h?j[r]:source[r],O[r]=x&&"function"!=typeof j[r]?source[r]:w&&h?c(y,e):m&&j[r]==y?function(t){var n=function(a,b,n){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(a);case 2:return new t(a,b)}return new t(a,b,n)}return t.apply(this,arguments)};return n.prototype=t.prototype,n}(y):S&&"function"==typeof y?c(Function.call,y):y,S&&((O.virtual||(O.virtual={}))[r]=y,t&v.R&&k&&!k[r]&&f(k,r,y)))};v.F=1,v.G=2,v.S=4,v.P=8,v.B=16,v.W=32,v.U=64,v.R=128,t.exports=v},259:function(t,n,r){var e=r(250),o=r(237).document,c=e(o)&&e(o.createElement);t.exports=function(t){return c?o.createElement(t):{}}},260:function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},261:function(t,n,r){var e=r(288),o=r(264);t.exports=Object.keys||function(t){return e(t,o)}},262:function(t,n,r){var e=r(238),o=r(237),c="__core-js_shared__",f=o[c]||(o[c]={});(t.exports=function(t,n){return f[t]||(f[t]=void 0!==n?n:{})})("versions",[]).push({version:e.version,mode:r(257)?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},263:function(t,n){var r=0,e=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++r+e).toString(36))}},264:function(t,n){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},265:function(t,n,r){var e=r(249).f,o=r(244),c=r(239)("toStringTag");t.exports=function(t,n,r){t&&!o(t=r?t:t.prototype,c)&&e(t,c,{configurable:!0,value:n})}},266:function(t,n,r){var e=r(248);t.exports=function(t){return Object(e(t))}},275:function(t,n,r){r(276);for(var e=r(237),o=r(240),c=r(241),f=r(239)("toStringTag"),l="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),i=0;i=t.length?(this._t=void 0,o(1)):o(0,"keys"==n?r:"values"==n?t[r]:[r,t[r]])}),"values"),c.Arguments=c.Array,e("keys"),e("values"),e("entries")},277:function(t,n){t.exports=function(){}},278:function(t,n){t.exports=function(t,n){return{value:n,done:!!t}}},279:function(t,n,r){var e=r(255);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==e(t)?t.split(""):Object(t)}},280:function(t,n,r){var e=r(281);t.exports=function(t,n,r){if(e(t),void 0===n)return t;switch(r){case 1:return function(a){return t.call(n,a)};case 2:return function(a,b){return t.call(n,a,b)};case 3:return function(a,b,r){return t.call(n,a,b,r)}}return function(){return t.apply(n,arguments)}}},281:function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},282:function(t,n,r){t.exports=!r(243)&&!r(251)((function(){return 7!=Object.defineProperty(r(259)("div"),"a",{get:function(){return 7}}).a}))},283:function(t,n,r){var e=r(250);t.exports=function(t,n){if(!e(t))return t;var r,o;if(n&&"function"==typeof(r=t.toString)&&!e(o=r.call(t)))return o;if("function"==typeof(r=t.valueOf)&&!e(o=r.call(t)))return o;if(!n&&"function"==typeof(r=t.toString)&&!e(o=r.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},284:function(t,n,r){t.exports=r(240)},285:function(t,n,r){"use strict";var e=r(286),o=r(260),c=r(265),f={};r(240)(f,r(239)("iterator"),(function(){return this})),t.exports=function(t,n,r){t.prototype=e(f,{next:o(1,r)}),c(t,n+" Iterator")}},286:function(t,n,r){var e=r(242),o=r(287),c=r(264),f=r(253)("IE_PROTO"),l=function(){},v=function(){var t,iframe=r(259)("iframe"),i=c.length;for(iframe.style.display="none",r(292).appendChild(iframe),iframe.src="javascript:",(t=iframe.contentWindow.document).open(),t.write("
Loading...
- + diff --git a/docs/develop/index.html b/docs/develop/index.html index ee5d260..446eb28 100644 --- a/docs/develop/index.html +++ b/docs/develop/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/develop/r-pathway/index.html b/docs/develop/r-pathway/index.html index ee5d260..446eb28 100644 --- a/docs/develop/r-pathway/index.html +++ b/docs/develop/r-pathway/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/docs/index.html b/docs/docs/index.html new file mode 100644 index 0000000..446eb28 --- /dev/null +++ b/docs/docs/index.html @@ -0,0 +1,9 @@ + + + + PHS Data Science - Knowledge Base + + +
Loading...
+ + diff --git a/docs/index.html b/docs/index.html index ee5d260..446eb28 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/social/index.html b/docs/social/index.html index ee5d260..446eb28 100644 --- a/docs/social/index.html +++ b/docs/social/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + From b8b4f5b9dd061eda7d5c5d8159e4438e3ceb2ca1 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Tue, 31 Jan 2023 15:52:51 +0000 Subject: [PATCH 05/42] Change http call to axios --- docs/404.html | 4 +- docs/_nuxt/{d6ccc2a.js => 00878fb.js} | 2 +- docs/_nuxt/{38efac1.js => 19c08e0.js} | 2 +- docs/_nuxt/2ef2e07.js | 1 + docs/_nuxt/{a284b19.js => 4196795.js} | 2 +- docs/_nuxt/{14e5cfc.js => 4f4f173.js} | 2 +- docs/_nuxt/570b92b.js | 2 + docs/_nuxt/{7c5e134.js => 69a3b0c.js} | 2 +- docs/_nuxt/790c1f1.js | 1 - docs/_nuxt/9428813.js | 2 + docs/_nuxt/9a48136.js | 2 - docs/_nuxt/{f8290de.js => 9ca15cf.js} | 2 +- docs/_nuxt/9e42d14.js | 2 + docs/_nuxt/LICENSES | 58 ++++++++++++--------------- docs/_nuxt/ae7ca2f.js | 2 - docs/_nuxt/bd40fc5.js | 1 - docs/_nuxt/c158d23.js | 2 - docs/_nuxt/{5f746d5.js => c33e1e9.js} | 2 +- docs/_nuxt/c4ef1d7.js | 1 + docs/_nuxt/ca3ca66.js | 2 - docs/_nuxt/cde532c.js | 1 - docs/_nuxt/cf1e120.js | 1 + docs/_nuxt/{75c6f21.js => d86cc25.js} | 2 +- docs/admin/index.html | 4 +- docs/develop/index.html | 4 +- docs/develop/r-pathway/index.html | 4 +- docs/docs/index.html | 4 +- docs/index.html | 4 +- docs/social/index.html | 4 +- pages/docs/index.vue | 26 ++++++------ 30 files changed, 69 insertions(+), 79 deletions(-) rename docs/_nuxt/{d6ccc2a.js => 00878fb.js} (78%) rename docs/_nuxt/{38efac1.js => 19c08e0.js} (78%) create mode 100644 docs/_nuxt/2ef2e07.js rename docs/_nuxt/{a284b19.js => 4196795.js} (97%) rename docs/_nuxt/{14e5cfc.js => 4f4f173.js} (98%) create mode 100644 docs/_nuxt/570b92b.js rename docs/_nuxt/{7c5e134.js => 69a3b0c.js} (99%) delete mode 100644 docs/_nuxt/790c1f1.js create mode 100644 docs/_nuxt/9428813.js delete mode 100644 docs/_nuxt/9a48136.js rename docs/_nuxt/{f8290de.js => 9ca15cf.js} (97%) create mode 100644 docs/_nuxt/9e42d14.js delete mode 100644 docs/_nuxt/ae7ca2f.js delete mode 100644 docs/_nuxt/bd40fc5.js delete mode 100644 docs/_nuxt/c158d23.js rename docs/_nuxt/{5f746d5.js => c33e1e9.js} (92%) create mode 100644 docs/_nuxt/c4ef1d7.js delete mode 100644 docs/_nuxt/ca3ca66.js delete mode 100644 docs/_nuxt/cde532c.js create mode 100644 docs/_nuxt/cf1e120.js rename docs/_nuxt/{75c6f21.js => d86cc25.js} (90%) diff --git a/docs/404.html b/docs/404.html index 446eb28..6c6c1b1 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/_nuxt/d6ccc2a.js b/docs/_nuxt/00878fb.js similarity index 78% rename from docs/_nuxt/d6ccc2a.js rename to docs/_nuxt/00878fb.js index 52fc2b7..d9b1345 100644 --- a/docs/_nuxt/d6ccc2a.js +++ b/docs/_nuxt/00878fb.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{450:function(e,n,t){"use strict";t.r(n);var l={},c=t(50),component=Object(c.a)(l,(function(){var e=this,n=e.$createElement;return(e._self._c||n)("div",{},[e._v("\n Hello World\n")])}),[],!1,null,"3e6c4b34",null);n.default=component.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{441:function(e,n,t){"use strict";t.r(n);var l={},c=t(50),component=Object(c.a)(l,(function(){var e=this,n=e.$createElement;return(e._self._c||n)("div",{},[e._v("\n Hello World\n")])}),[],!1,null,"3e6c4b34",null);n.default=component.exports}}]); \ No newline at end of file diff --git a/docs/_nuxt/38efac1.js b/docs/_nuxt/19c08e0.js similarity index 78% rename from docs/_nuxt/38efac1.js rename to docs/_nuxt/19c08e0.js index 4f361c7..3f6a056 100644 --- a/docs/_nuxt/38efac1.js +++ b/docs/_nuxt/19c08e0.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{237:function(t,n){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},238:function(t,n){var r=t.exports={version:"2.6.12"};"number"==typeof __e&&(__e=r)},239:function(t,n,r){var e=r(262)("wks"),o=r(263),c=r(237).Symbol,f="function"==typeof c;(t.exports=function(t){return e[t]||(e[t]=f&&c[t]||(f?c:o)("Symbol."+t))}).store=e},240:function(t,n,r){var e=r(249),o=r(260);t.exports=r(243)?function(object,t,n){return e.f(object,t,o(1,n))}:function(object,t,n){return object[t]=n,object}},241:function(t,n){t.exports={}},242:function(t,n,r){var e=r(250);t.exports=function(t){if(!e(t))throw TypeError(t+" is not an object!");return t}},243:function(t,n,r){t.exports=!r(251)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},244:function(t,n){var r={}.hasOwnProperty;t.exports=function(t,n){return r.call(t,n)}},247:function(t,n,r){var e=r(280),o=r(248);t.exports=function(t){return e(o(t))}},248:function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},249:function(t,n,r){var e=r(242),o=r(283),c=r(284),f=Object.defineProperty;n.f=r(243)?Object.defineProperty:function(t,n,r){if(e(t),n=c(n,!0),e(r),o)try{return f(t,n,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(t[n]=r.value),t}},250:function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},251:function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},252:function(t,n){var r=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?e:r)(t)}},253:function(t,n,r){var e=r(262)("keys"),o=r(263);t.exports=function(t){return e[t]||(e[t]=o(t))}},255:function(t,n){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},256:function(t,n,r){"use strict";var e=r(257),o=r(258),c=r(285),f=r(240),l=r(241),v=r(286),h=r(265),y=r(294),d=r(239)("iterator"),x=!([].keys&&"next"in[].keys()),_="keys",S="values",w=function(){return this};t.exports=function(t,n,r,m,O,k,j){v(r,n,m);var L,T,P,E=function(t){if(!x&&t in F)return F[t];switch(t){case _:case S:return function(){return new r(this,t)}}return function(){return new r(this,t)}},M=n+" Iterator",A=O==S,C=!1,F=t.prototype,I=F[d]||F["@@iterator"]||O&&F[O],G=I||E(O),R=O?A?E("entries"):G:void 0,N="Array"==n&&F.entries||I;if(N&&(P=y(N.call(new t)))!==Object.prototype&&P.next&&(h(P,M,!0),e||"function"==typeof P[d]||f(P,d,w)),A&&I&&I.name!==S&&(C=!0,G=function(){return I.call(this)}),e&&!j||!x&&!C&&F[d]||f(F,d,G),l[n]=G,l[M]=w,O)if(L={values:A?G:E(S),keys:k?G:E(_),entries:R},j)for(T in L)T in F||c(F,T,L[T]);else o(o.P+o.F*(x||C),n,L);return L}},257:function(t,n){t.exports=!0},258:function(t,n,r){var e=r(237),o=r(238),c=r(281),f=r(240),l=r(244),v=function(t,n,source){var r,h,y,d=t&v.F,x=t&v.G,_=t&v.S,S=t&v.P,w=t&v.B,m=t&v.W,O=x?o:o[n]||(o[n]={}),k=O.prototype,j=x?e:_?e[n]:(e[n]||{}).prototype;for(r in x&&(source=n),source)(h=!d&&j&&void 0!==j[r])&&l(O,r)||(y=h?j[r]:source[r],O[r]=x&&"function"!=typeof j[r]?source[r]:w&&h?c(y,e):m&&j[r]==y?function(t){var n=function(a,b,n){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(a);case 2:return new t(a,b)}return new t(a,b,n)}return t.apply(this,arguments)};return n.prototype=t.prototype,n}(y):S&&"function"==typeof y?c(Function.call,y):y,S&&((O.virtual||(O.virtual={}))[r]=y,t&v.R&&k&&!k[r]&&f(k,r,y)))};v.F=1,v.G=2,v.S=4,v.P=8,v.B=16,v.W=32,v.U=64,v.R=128,t.exports=v},259:function(t,n,r){var e=r(250),o=r(237).document,c=e(o)&&e(o.createElement);t.exports=function(t){return c?o.createElement(t):{}}},260:function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},261:function(t,n,r){var e=r(289),o=r(264);t.exports=Object.keys||function(t){return e(t,o)}},262:function(t,n,r){var e=r(238),o=r(237),c="__core-js_shared__",f=o[c]||(o[c]={});(t.exports=function(t,n){return f[t]||(f[t]=void 0!==n?n:{})})("versions",[]).push({version:e.version,mode:r(257)?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},263:function(t,n){var r=0,e=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++r+e).toString(36))}},264:function(t,n){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},265:function(t,n,r){var e=r(249).f,o=r(244),c=r(239)("toStringTag");t.exports=function(t,n,r){t&&!o(t=r?t:t.prototype,c)&&e(t,c,{configurable:!0,value:n})}},266:function(t,n,r){var e=r(248);t.exports=function(t){return Object(e(t))}},276:function(t,n,r){r(277);for(var e=r(237),o=r(240),c=r(241),f=r(239)("toStringTag"),l="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),i=0;i=t.length?(this._t=void 0,o(1)):o(0,"keys"==n?r:"values"==n?t[r]:[r,t[r]])}),"values"),c.Arguments=c.Array,e("keys"),e("values"),e("entries")},278:function(t,n){t.exports=function(){}},279:function(t,n){t.exports=function(t,n){return{value:n,done:!!t}}},280:function(t,n,r){var e=r(255);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==e(t)?t.split(""):Object(t)}},281:function(t,n,r){var e=r(282);t.exports=function(t,n,r){if(e(t),void 0===n)return t;switch(r){case 1:return function(a){return t.call(n,a)};case 2:return function(a,b){return t.call(n,a,b)};case 3:return function(a,b,r){return t.call(n,a,b,r)}}return function(){return t.apply(n,arguments)}}},282:function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},283:function(t,n,r){t.exports=!r(243)&&!r(251)((function(){return 7!=Object.defineProperty(r(259)("div"),"a",{get:function(){return 7}}).a}))},284:function(t,n,r){var e=r(250);t.exports=function(t,n){if(!e(t))return t;var r,o;if(n&&"function"==typeof(r=t.toString)&&!e(o=r.call(t)))return o;if("function"==typeof(r=t.valueOf)&&!e(o=r.call(t)))return o;if(!n&&"function"==typeof(r=t.toString)&&!e(o=r.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},285:function(t,n,r){t.exports=r(240)},286:function(t,n,r){"use strict";var e=r(287),o=r(260),c=r(265),f={};r(240)(f,r(239)("iterator"),(function(){return this})),t.exports=function(t,n,r){t.prototype=e(f,{next:o(1,r)}),c(t,n+" Iterator")}},287:function(t,n,r){var e=r(242),o=r(288),c=r(264),f=r(253)("IE_PROTO"),l=function(){},v=function(){var t,iframe=r(259)("iframe"),i=c.length;for(iframe.style.display="none",r(293).appendChild(iframe),iframe.src="javascript:",(t=iframe.contentWindow.document).open(),t.write("
Loading...
- + diff --git a/docs/develop/index.html b/docs/develop/index.html index 446eb28..6c6c1b1 100644 --- a/docs/develop/index.html +++ b/docs/develop/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/develop/r-pathway/index.html b/docs/develop/r-pathway/index.html index 446eb28..6c6c1b1 100644 --- a/docs/develop/r-pathway/index.html +++ b/docs/develop/r-pathway/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/docs/index.html b/docs/docs/index.html index 446eb28..6c6c1b1 100644 --- a/docs/docs/index.html +++ b/docs/docs/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/index.html b/docs/index.html index 446eb28..6c6c1b1 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/social/index.html b/docs/social/index.html index 446eb28..6c6c1b1 100644 --- a/docs/social/index.html +++ b/docs/social/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/pages/docs/index.vue b/pages/docs/index.vue index e56d655..2c94833 100644 --- a/pages/docs/index.vue +++ b/pages/docs/index.vue @@ -19,10 +19,6 @@ From d2a9727c75027b6b44307f3ff07bca8b41ffe5ea Mon Sep 17 00:00:00 2001 From: rmccreath Date: Wed, 1 Feb 2023 14:13:54 +0000 Subject: [PATCH 10/42] Display sub-contents and add chevron to dirs --- pages/docs/index.vue | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pages/docs/index.vue b/pages/docs/index.vue index 1a683d1..51c7551 100644 --- a/pages/docs/index.vue +++ b/pages/docs/index.vue @@ -8,6 +8,10 @@ {{ item.name }} + + + {{ child.name }} + @@ -26,8 +30,6 @@ export default { } }, - - async created(){ let docs = await this.$axios.get('/repos/Public-Health-Scotland/technical-docs/contents/',{ baseURL: 'https://api.github.com' From f36500e0668c021aa66fdc7d61b9780d596a3a36 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Wed, 1 Feb 2023 20:10:24 +0000 Subject: [PATCH 11/42] Add markdown render --- package-lock.json | 293 +++---------------------------------------- package.json | 1 - pages/docs/index.vue | 23 ++-- 3 files changed, 35 insertions(+), 282 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6efa8ec..edf2248 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1819,280 +1819,6 @@ "stack-trace": "0.0.10" } }, - "@octokit/app": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/@octokit/app/-/app-13.1.2.tgz", - "integrity": "sha512-Kf+h5sa1SOI33hFsuHvTsWj1jUrjp1x4MuiJBq7U/NicfEGa6nArPUoDnyfP/YTmcQ5cQ5yvOgoIBkbwPg6kzQ==", - "requires": { - "@octokit/auth-app": "^4.0.8", - "@octokit/auth-unauthenticated": "^3.0.0", - "@octokit/core": "^4.0.0", - "@octokit/oauth-app": "^4.0.7", - "@octokit/plugin-paginate-rest": "^6.0.0", - "@octokit/types": "^9.0.0", - "@octokit/webhooks": "^10.0.0" - } - }, - "@octokit/auth-app": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/@octokit/auth-app/-/auth-app-4.0.9.tgz", - "integrity": "sha512-VFpKIXhHO+kVJtane5cEvdYPtjDKCOI0uKsRrsZfJP+uEu7rcPbQCLCcRKgyT+mUIzGr1IIOmwP/lFqSip1dXA==", - "requires": { - "@octokit/auth-oauth-app": "^5.0.0", - "@octokit/auth-oauth-user": "^2.0.0", - "@octokit/request": "^6.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "@types/lru-cache": "^5.1.0", - "deprecation": "^2.3.1", - "lru-cache": "^6.0.0", - "universal-github-app-jwt": "^1.1.1", - "universal-user-agent": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "@octokit/auth-oauth-app": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-app/-/auth-oauth-app-5.0.5.tgz", - "integrity": "sha512-UPX1su6XpseaeLVCi78s9droxpGtBWIgz9XhXAx9VXabksoF0MyI5vaa1zo1njyYt6VaAjFisC2A2Wchcu2WmQ==", - "requires": { - "@octokit/auth-oauth-device": "^4.0.0", - "@octokit/auth-oauth-user": "^2.0.0", - "@octokit/request": "^6.0.0", - "@octokit/types": "^9.0.0", - "@types/btoa-lite": "^1.0.0", - "btoa-lite": "^1.0.0", - "universal-user-agent": "^6.0.0" - } - }, - "@octokit/auth-oauth-device": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-device/-/auth-oauth-device-4.0.4.tgz", - "integrity": "sha512-Xl85BZYfqCMv+Uvz33nVVUjE7I/PVySNaK6dRRqlkvYcArSr9vRcZC9KVjXYObGRTCN6mISeYdakAZvWEN4+Jw==", - "requires": { - "@octokit/oauth-methods": "^2.0.0", - "@octokit/request": "^6.0.0", - "@octokit/types": "^9.0.0", - "universal-user-agent": "^6.0.0" - } - }, - "@octokit/auth-oauth-user": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-user/-/auth-oauth-user-2.1.1.tgz", - "integrity": "sha512-JgqnNNPf9CaWLxWm9uh2WgxcaVYhxBR09NVIPTiMU2dVZ3FObOHs3njBiLNw+zq84k+rEdm5Y7AsiASrZ84Apg==", - "requires": { - "@octokit/auth-oauth-device": "^4.0.0", - "@octokit/oauth-methods": "^2.0.0", - "@octokit/request": "^6.0.0", - "@octokit/types": "^9.0.0", - "btoa-lite": "^1.0.0", - "universal-user-agent": "^6.0.0" - } - }, - "@octokit/auth-token": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.3.tgz", - "integrity": "sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA==", - "requires": { - "@octokit/types": "^9.0.0" - } - }, - "@octokit/auth-unauthenticated": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@octokit/auth-unauthenticated/-/auth-unauthenticated-3.0.4.tgz", - "integrity": "sha512-AT74XGBylcLr4lmUp1s6mjSUgphGdlse21Qjtv5DzpX1YOl5FXKwvNcZWESdhyBbpDT8VkVyLFqa/7a7eqpPNw==", - "requires": { - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0" - } - }, - "@octokit/core": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.0.tgz", - "integrity": "sha512-AgvDRUg3COpR82P7PBdGZF/NNqGmtMq2NiPqeSsDIeCfYFOZ9gddqWNQHnFdEUf+YwOj4aZYmJnlPp7OXmDIDg==", - "requires": { - "@octokit/auth-token": "^3.0.0", - "@octokit/graphql": "^5.0.0", - "@octokit/request": "^6.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" - } - }, - "@octokit/endpoint": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.5.tgz", - "integrity": "sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA==", - "requires": { - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" - }, - "dependencies": { - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - } - } - }, - "@octokit/graphql": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.5.tgz", - "integrity": "sha512-Qwfvh3xdqKtIznjX9lz2D458r7dJPP8l6r4GQkIdWQouZwHQK0mVT88uwiU2bdTU2OtT1uOlKpRciUWldpG0yQ==", - "requires": { - "@octokit/request": "^6.0.0", - "@octokit/types": "^9.0.0", - "universal-user-agent": "^6.0.0" - } - }, - "@octokit/oauth-app": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@octokit/oauth-app/-/oauth-app-4.2.0.tgz", - "integrity": "sha512-gyGclT77RQMkVUEW3YBeAKY+LBSc5u3eC9Wn/Uwt3WhuKuu9mrV18EnNpDqmeNll+mdV02yyBROU29Tlili6gg==", - "requires": { - "@octokit/auth-oauth-app": "^5.0.0", - "@octokit/auth-oauth-user": "^2.0.0", - "@octokit/auth-unauthenticated": "^3.0.0", - "@octokit/core": "^4.0.0", - "@octokit/oauth-authorization-url": "^5.0.0", - "@octokit/oauth-methods": "^2.0.0", - "@types/aws-lambda": "^8.10.83", - "fromentries": "^1.3.1", - "universal-user-agent": "^6.0.0" - } - }, - "@octokit/oauth-authorization-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@octokit/oauth-authorization-url/-/oauth-authorization-url-5.0.0.tgz", - "integrity": "sha512-y1WhN+ERDZTh0qZ4SR+zotgsQUE1ysKnvBt1hvDRB2WRzYtVKQjn97HEPzoehh66Fj9LwNdlZh+p6TJatT0zzg==" - }, - "@octokit/oauth-methods": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@octokit/oauth-methods/-/oauth-methods-2.0.5.tgz", - "integrity": "sha512-yQP6B5gE3axNxuM3U9KqWs/ErAQ+WLPaPgC/7EjsZsQibkf8sjdAfF8/y/EJW+Dd05XQvadX4WhQZPMnO1SE1A==", - "requires": { - "@octokit/oauth-authorization-url": "^5.0.0", - "@octokit/request": "^6.2.3", - "@octokit/request-error": "^3.0.3", - "@octokit/types": "^9.0.0", - "btoa-lite": "^1.0.0" - } - }, - "@octokit/openapi-types": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-16.0.0.tgz", - "integrity": "sha512-JbFWOqTJVLHZSUUoF4FzAZKYtqdxWu9Z5m2QQnOyEa04fOFljvyh7D3GYKbfuaSWisqehImiVIMG4eyJeP5VEA==" - }, - "@octokit/plugin-paginate-rest": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.0.0.tgz", - "integrity": "sha512-Sq5VU1PfT6/JyuXPyt04KZNVsFOSBaYOAq2QRZUwzVlI10KFvcbUo8lR258AAQL1Et60b0WuVik+zOWKLuDZxw==", - "requires": { - "@octokit/types": "^9.0.0" - } - }, - "@octokit/plugin-rest-endpoint-methods": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.0.1.tgz", - "integrity": "sha512-pnCaLwZBudK5xCdrR823xHGNgqOzRnJ/mpC/76YPpNP7DybdsJtP7mdOwh+wYZxK5jqeQuhu59ogMI4NRlBUvA==", - "requires": { - "@octokit/types": "^9.0.0", - "deprecation": "^2.3.1" - } - }, - "@octokit/plugin-retry": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-4.1.1.tgz", - "integrity": "sha512-iR7rg5KRSl6L6RELTQQ3CYeNgeBJyuAmP95odzcQ/zyefnRT/Peo8rWeky4z7V/+/oPWqOL4I5Z+V8KtjpHCJw==", - "requires": { - "@octokit/types": "^9.0.0", - "bottleneck": "^2.15.3" - } - }, - "@octokit/plugin-throttling": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-5.0.1.tgz", - "integrity": "sha512-I4qxs7wYvYlFuY3PAUGWAVPhFXG3RwnvTiSr5Fu/Auz7bYhDLnzS2MjwV8nGLq/FPrWwYiweeZrI5yjs1YG4tQ==", - "requires": { - "@octokit/types": "^9.0.0", - "bottleneck": "^2.15.3" - } - }, - "@octokit/request": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.3.tgz", - "integrity": "sha512-TNAodj5yNzrrZ/VxP+H5HiYaZep0H3GU0O7PaF+fhDrt8FPrnkei9Aal/txsN/1P7V3CPiThG0tIvpPDYUsyAA==", - "requires": { - "@octokit/endpoint": "^7.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" - }, - "dependencies": { - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - } - } - }, - "@octokit/request-error": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", - "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", - "requires": { - "@octokit/types": "^9.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" - } - }, - "@octokit/types": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.0.0.tgz", - "integrity": "sha512-LUewfj94xCMH2rbD5YJ+6AQ4AVjFYTgpp6rboWM5T7N3IsIF65SBEOVcYMGAEzO/kKNiNaW4LoWtoThOhH06gw==", - "requires": { - "@octokit/openapi-types": "^16.0.0" - } - }, - "@octokit/webhooks": { - "version": "10.7.0", - "resolved": "https://registry.npmjs.org/@octokit/webhooks/-/webhooks-10.7.0.tgz", - "integrity": "sha512-zZBbQMpXXnK/ki/utrFG/TuWv9545XCSLibfDTxrYqR1PmU6zel02ebTOrA7t5XIGHzlEOc/NgISUIBUe7pMFA==", - "requires": { - "@octokit/request-error": "^3.0.0", - "@octokit/webhooks-methods": "^3.0.0", - "@octokit/webhooks-types": "6.10.0", - "aggregate-error": "^3.1.0" - } - }, - "@octokit/webhooks-methods": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@octokit/webhooks-methods/-/webhooks-methods-3.0.2.tgz", - "integrity": "sha512-Vlnv5WBscf07tyAvfDbp7pTkMZUwk7z7VwEF32x6HqI+55QRwBTcT+D7DDjZXtad/1dU9E32x0HmtDlF9VIRaQ==" - }, - "@octokit/webhooks-types": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@octokit/webhooks-types/-/webhooks-types-6.10.0.tgz", - "integrity": "sha512-lDNv83BeEyxxukdQ0UttiUXawk9+6DkdjjFtm2GFED+24IQhTVaoSbwV9vWWKONyGLzRmCQqZmoEWkDhkEmPlw==" - }, "@polka/url": { "version": "1.0.0-next.21", "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", @@ -10701,6 +10427,11 @@ "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==" }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, "ts-pnp": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", @@ -11458,6 +11189,11 @@ } } }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, "webpack": { "version": "4.46.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", @@ -11891,6 +11627,15 @@ } } }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", diff --git a/package.json b/package.json index d82767d..1919232 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,6 @@ "eva-icons": "^1.1.3", "jquery": "^1.12.4", "nuxt": "^2.15.8", - "octokit": "^2.0.14", "vue-analytics": "^5.22.1", "vue-eva-icons": "^1.1.1", "vue-markdown": "^2.1.2", diff --git a/pages/docs/index.vue b/pages/docs/index.vue index 51c7551..e6a8528 100644 --- a/pages/docs/index.vue +++ b/pages/docs/index.vue @@ -9,24 +9,37 @@ {{ item.name }} - + {{ child.name }} - + + +
+
{{ docs }}
From 4471f014472b4395cec87c746c46990166bd28c7 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Wed, 1 Feb 2023 22:20:04 +0000 Subject: [PATCH 12/42] Create docs page with dynamic view --- pages/docs.vue | 101 +++++++++++++++++++++++++++++++++++++++++++ pages/docs/_doc.vue | 51 ++++++++++++++++++++++ pages/docs/index.vue | 73 +------------------------------ 3 files changed, 154 insertions(+), 71 deletions(-) create mode 100644 pages/docs.vue create mode 100644 pages/docs/_doc.vue diff --git a/pages/docs.vue b/pages/docs.vue new file mode 100644 index 0000000..18e5515 --- /dev/null +++ b/pages/docs.vue @@ -0,0 +1,101 @@ + + + diff --git a/pages/docs/_doc.vue b/pages/docs/_doc.vue new file mode 100644 index 0000000..eb79170 --- /dev/null +++ b/pages/docs/_doc.vue @@ -0,0 +1,51 @@ + + + + + \ No newline at end of file diff --git a/pages/docs/index.vue b/pages/docs/index.vue index e6a8528..f06302a 100644 --- a/pages/docs/index.vue +++ b/pages/docs/index.vue @@ -1,72 +1,3 @@ - - +

Standard page here...

+ \ No newline at end of file From a3ff8fba27d401ac795f4a27af89545c89b26652 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Fri, 3 Mar 2023 18:47:03 +0000 Subject: [PATCH 13/42] Create nav for docs and link to GH --- pages/develop/r-pathway.vue | 2 +- pages/docs.vue | 230 +++++++++++++++++++++++++----------- pages/docs/_doc.vue | 27 ++--- 3 files changed, 176 insertions(+), 83 deletions(-) diff --git a/pages/develop/r-pathway.vue b/pages/develop/r-pathway.vue index 26fa721..99b9d69 100644 --- a/pages/develop/r-pathway.vue +++ b/pages/develop/r-pathway.vue @@ -227,7 +227,7 @@ + v-for="course in courses.filter( course => course.related.includes('R'))" :key="course.title"> diff --git a/pages/docs.vue b/pages/docs.vue index 18e5515..50537af 100644 --- a/pages/docs.vue +++ b/pages/docs.vue @@ -1,101 +1,197 @@ + + \ No newline at end of file diff --git a/pages/docs/_doc.vue b/pages/docs/_doc.vue index eb79170..64346ce 100644 --- a/pages/docs/_doc.vue +++ b/pages/docs/_doc.vue @@ -1,6 +1,5 @@ @@ -16,33 +15,31 @@ export default{ } }, watch:{ - '$route.params.doc': function(doc) { - this.getMarkdownFile(doc) + '$route': function() { + this.getMarkdownFile() } }, methods:{ - async getMarkdownFile(doc){ - if(!doc) return + async getMarkdownFile(){ + this.$route.query.doc = this.$route.query.doc || 'README.md' + let path = this.$route.params.doc + '/' + this.$route.query.doc - let path = doc.split('-')[0] - - let subDocs = await this.$axios.get('/repos/Public-Health-Scotland/technical-docs/contents/' + path,{ + let doc = await this.$axios.get('/repos/Public-Health-Scotland/technical-docs/contents/' + path,{ baseURL: 'https://api.github.com' - }).then(r => r.data) - doc = subDocs.find(d => - d.path.replace(/\//g, '-').replace(/\s/g, '_').split('.')[0] == doc - ) - + }).then(r => r.data).catch(e => ({})) + console.log('download_url', doc.download_url); if(doc.type == 'file'){ - this.source = await this.$axios.get(doc.download_url).then(r => r.data) + this.source = await this.$axios.get(doc.download_url).then(r => r.data).catch(e => '') + }else{ + this.source = '' } } }, created(){ - this.getMarkdownFile(this.$route.params.doc) + this.getMarkdownFile() } } From cc630762d1d51eaa7f6d6ef5048c30ac9a82c740 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Fri, 3 Mar 2023 19:47:37 +0000 Subject: [PATCH 14/42] Fix router load issue --- layouts/default.vue | 1 + pages/docs.vue | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/layouts/default.vue b/layouts/default.vue index cbd981b..8ba717d 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -37,6 +37,7 @@ Develop Social + diff --git a/pages/docs.vue b/pages/docs.vue index 50537af..f9ae5fb 100644 --- a/pages/docs.vue +++ b/pages/docs.vue @@ -36,7 +36,7 @@ @@ -72,7 +72,7 @@ - + @@ -82,6 +82,12 @@
Loading...
- + diff --git a/docs/_nuxt/00878fb.js b/docs/_nuxt/00878fb.js deleted file mode 100644 index d9b1345..0000000 --- a/docs/_nuxt/00878fb.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{441:function(e,n,t){"use strict";t.r(n);var l={},c=t(50),component=Object(c.a)(l,(function(){var e=this,n=e.$createElement;return(e._self._c||n)("div",{},[e._v("\n Hello World\n")])}),[],!1,null,"3e6c4b34",null);n.default=component.exports}}]); \ No newline at end of file diff --git a/docs/_nuxt/00b5b8a.js b/docs/_nuxt/00b5b8a.js new file mode 100644 index 0000000..bb0fa26 --- /dev/null +++ b/docs/_nuxt/00b5b8a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{253:function(t,e,n){var content=n(277);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("58b5ddad",content,!0,{sourceMap:!1})},265:function(t,e,n){"use strict";n(253)},277:function(t,e,n){var r=n(59)(!1);r.push([t.i,'fieldset[disabled] .multiselect{pointer-events:none}.multiselect__spinner{position:absolute;right:1px;top:1px;width:40px;height:38px;background:#fff;display:block}.multiselect__spinner:after,.multiselect__spinner:before{position:absolute;content:"";top:50%;left:50%;margin:-8px 0 0 -8px;width:16px;height:16px;border-radius:100%;border:2px solid transparent;border-top-color:#41b883;-webkit-box-shadow:0 0 0 1px transparent;box-shadow:0 0 0 1px transparent}.multiselect__spinner:before{-webkit-animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.multiselect__spinner:after{-webkit-animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.multiselect__loading-enter-active,.multiselect__loading-leave-active{-webkit-transition:opacity .4s ease-in-out;transition:opacity .4s ease-in-out;opacity:1}.multiselect__loading-enter,.multiselect__loading-leave-active{opacity:0}.multiselect,.multiselect__input,.multiselect__single{font-family:inherit;font-size:16px;-ms-touch-action:manipulation;touch-action:manipulation}.multiselect{-webkit-box-sizing:content-box;box-sizing:content-box;display:block;position:relative;width:100%;min-height:40px;text-align:left;color:#35495e}.multiselect *{-webkit-box-sizing:border-box;box-sizing:border-box}.multiselect:focus{outline:none}.multiselect--disabled{background:#ededed;pointer-events:none;opacity:.6}.multiselect--active{z-index:50}.multiselect--active:not(.multiselect--above) .multiselect__current,.multiselect--active:not(.multiselect--above) .multiselect__input,.multiselect--active:not(.multiselect--above) .multiselect__tags{border-bottom-left-radius:0;border-bottom-right-radius:0}.multiselect--active .multiselect__select{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.multiselect--above.multiselect--active .multiselect__current,.multiselect--above.multiselect--active .multiselect__input,.multiselect--above.multiselect--active .multiselect__tags{border-top-left-radius:0;border-top-right-radius:0}.multiselect__input,.multiselect__single{position:relative;display:inline-block;min-height:20px;line-height:20px;border:none;border-radius:5px;background:#fff;padding:0 0 0 5px;width:100%;-webkit-transition:border .1s ease;transition:border .1s ease;-webkit-box-sizing:border-box;box-sizing:border-box;margin-bottom:8px;vertical-align:top}.multiselect__input::-webkit-input-placeholder{color:#35495e}.multiselect__input::-moz-placeholder{color:#35495e}.multiselect__input:-ms-input-placeholder{color:#35495e}.multiselect__input::-ms-input-placeholder{color:#35495e}.multiselect__input::placeholder{color:#35495e}.multiselect__tag~.multiselect__input,.multiselect__tag~.multiselect__single{width:auto}.multiselect__input:hover,.multiselect__single:hover{border-color:#cfcfcf}.multiselect__input:focus,.multiselect__single:focus{border-color:#a8a8a8;outline:none}.multiselect__single{padding-left:5px;margin-bottom:8px}.multiselect__tags-wrap{display:inline}.multiselect__tags{min-height:40px;display:block;padding:8px 40px 0 8px;border-radius:5px;border:1px solid #e8e8e8;background:#fff;font-size:14px}.multiselect__tag{position:relative;display:inline-block;padding:4px 26px 4px 10px;border-radius:5px;margin-right:10px;color:#fff;line-height:1;background:#41b883;margin-bottom:5px;white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}.multiselect__tag-icon{cursor:pointer;margin-left:7px;position:absolute;right:0;top:0;bottom:0;font-weight:700;font-style:normal;width:22px;text-align:center;line-height:22px;-webkit-transition:all .2s ease;transition:all .2s ease;border-radius:5px}.multiselect__tag-icon:after{content:"\\D7";color:#266d4d;font-size:14px}.multiselect__tag-icon:focus,.multiselect__tag-icon:hover{background:#369a6e}.multiselect__tag-icon:focus:after,.multiselect__tag-icon:hover:after{color:#fff}.multiselect__current{min-height:40px;overflow:hidden;padding:8px 30px 0 12px;white-space:nowrap;border-radius:5px;border:1px solid #e8e8e8}.multiselect__current,.multiselect__select{line-height:16px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;margin:0;text-decoration:none;cursor:pointer}.multiselect__select{position:absolute;width:40px;height:38px;right:1px;top:1px;padding:4px 8px;text-align:center;-webkit-transition:-webkit-transform .2s ease;transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease}.multiselect__select:before{position:relative;right:0;top:65%;color:#999;margin-top:4px;border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 0;content:""}.multiselect__placeholder{color:#adadad;display:inline-block;margin-bottom:10px;padding-top:2px}.multiselect--active .multiselect__placeholder{display:none}.multiselect__content-wrapper{position:absolute;display:block;background:#fff;width:100%;max-height:240px;overflow:auto;border:1px solid #e8e8e8;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;z-index:50;-webkit-overflow-scrolling:touch}.multiselect__content{list-style:none;display:inline-block;padding:0;margin:0;min-width:100%;vertical-align:top}.multiselect--above .multiselect__content-wrapper{bottom:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom:none;border-top:1px solid #e8e8e8}.multiselect__content::webkit-scrollbar{display:none}.multiselect__element{display:block}.multiselect__option{display:block;padding:12px;min-height:40px;line-height:16px;text-decoration:none;text-transform:none;vertical-align:middle;position:relative;cursor:pointer;white-space:nowrap}.multiselect__option:after{top:0;right:0;position:absolute;line-height:40px;padding-right:12px;padding-left:20px;font-size:13px}.multiselect__option--highlight{background:#41b883;outline:none;color:#fff}.multiselect__option--highlight:after{content:attr(data-select);background:#41b883;color:#fff}.multiselect__option--selected{background:#f3f3f3;color:#35495e;font-weight:700}.multiselect__option--selected:after{content:attr(data-selected);color:silver;background:inherit}.multiselect__option--selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect--disabled .multiselect__current,.multiselect--disabled .multiselect__select{background:#ededed;color:#a6a6a6}.multiselect__option--disabled{background:#ededed!important;color:#a6a6a6!important;cursor:text;pointer-events:none}.multiselect__option--group{background:#ededed;color:#35495e}.multiselect__option--group.multiselect__option--highlight{background:#35495e;color:#fff}.multiselect__option--group.multiselect__option--highlight:after{background:#35495e}.multiselect__option--disabled.multiselect__option--highlight{background:#dedede}.multiselect__option--group-selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--group-selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect-enter-active,.multiselect-leave-active{-webkit-transition:all .15s ease;transition:all .15s ease}.multiselect-enter,.multiselect-leave-active{opacity:0}.multiselect__strong{margin-bottom:8px;line-height:20px;display:inline-block;vertical-align:top}[dir=rtl] .multiselect{text-align:right}[dir=rtl] .multiselect__select{right:auto;left:1px}[dir=rtl] .multiselect__tags{padding:8px 8px 0 40px}[dir=rtl] .multiselect__content{text-align:right}[dir=rtl] .multiselect__option:after{right:auto;left:0}[dir=rtl] .multiselect__clear{right:auto;left:12px}[dir=rtl] .multiselect__spinner{right:auto;left:1px}@-webkit-keyframes spinning{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(2turn);transform:rotate(2turn)}}@keyframes spinning{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(2turn);transform:rotate(2turn)}}',""]),t.exports=r},278:function(t,e,n){"use strict";var strong=n(310),r=n(98);t.exports=n(176)("Set",(function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{add:function(t){return strong.def(r(this,"Set"),t=0===t?0:t,t)}},strong)},279:function(t,e,n){t.exports=function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/",e(e.s=89)}([function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){var r=n(35),i=Function.prototype,o=i.call,s=r&&i.bind.bind(o,o);t.exports=r?s:function(t){return function(){return o.apply(t,arguments)}}},function(t,e,n){var r=n(59),i=r.all;t.exports=r.IS_HTMLDDA?function(t){return"function"==typeof t||t===i}:function(t){return"function"==typeof t}},function(t,e,n){var r=n(4),i=n(43).f,o=n(30),s=n(11),u=n(33),a=n(95),l=n(66);t.exports=function(t,e){var n,c,f,p,h,d=t.target,v=t.global,g=t.stat;if(n=v?r:g?r[d]||u(d,{}):(r[d]||{}).prototype)for(c in e){if(p=e[c],f=t.dontCallGetSet?(h=i(n,c))&&h.value:n[c],!l(v?c:d+(g?".":"#")+c,t.forced)&&void 0!==f){if(typeof p==typeof f)continue;a(p,f)}(t.sham||f&&f.sham)&&o(p,"sham",!0),s(n,c,p,t)}}},function(t,e,n){(function(e){var n=function(t){return t&&t.Math==Math&&t};t.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||function(){return this}()||Function("return this")()}).call(e,n(139))},function(t,e,n){var r=n(0);t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,e,n){var r=n(8),i=String,o=TypeError;t.exports=function(t){if(r(t))return t;throw o(i(t)+" is not an object")}},function(t,e,n){var r=n(1),i=n(14),o=r({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return o(i(t),e)}},function(t,e,n){var r=n(2),i=n(59),o=i.all;t.exports=i.IS_HTMLDDA?function(t){return"object"==typeof t?null!==t:r(t)||t===o}:function(t){return"object"==typeof t?null!==t:r(t)}},function(t,e,n){var r=n(4),i=n(47),o=n(7),s=n(75),u=n(72),a=n(76),l=i("wks"),c=r.Symbol,f=c&&c.for,p=a?c:c&&c.withoutSetter||s;t.exports=function(t){if(!o(l,t)||!u&&"string"!=typeof l[t]){var e="Symbol."+t;u&&o(c,t)?l[t]=c[t]:l[t]=a&&f?f(e):p(e)}return l[t]}},function(t,e,n){var r=n(123);t.exports=function(t){return r(t.length)}},function(t,e,n){var r=n(2),i=n(13),o=n(104),s=n(33);t.exports=function(t,e,n,u){u||(u={});var a=u.enumerable,l=void 0!==u.name?u.name:e;if(r(n)&&o(n,l,u),u.global)a?t[e]=n:s(e,n);else{try{u.unsafe?t[e]&&(a=!0):delete t[e]}catch(t){}a?t[e]=n:i.f(t,e,{value:n,enumerable:!1,configurable:!u.nonConfigurable,writable:!u.nonWritable})}return t}},function(t,e,n){var r=n(35),i=Function.prototype.call;t.exports=r?i.bind(i):function(){return i.apply(i,arguments)}},function(t,e,n){var r=n(5),i=n(62),o=n(77),s=n(6),u=n(50),a=TypeError,l=Object.defineProperty,c=Object.getOwnPropertyDescriptor;e.f=r?o?function(t,e,n){if(s(t),e=u(e),s(n),"function"==typeof t&&"prototype"===e&&"value"in n&&"writable"in n&&!n.writable){var r=c(t,e);r&&r.writable&&(t[e]=n.value,n={configurable:"configurable"in n?n.configurable:r.configurable,enumerable:"enumerable"in n?n.enumerable:r.enumerable,writable:!1})}return l(t,e,n)}:l:function(t,e,n){if(s(t),e=u(e),s(n),i)try{return l(t,e,n)}catch(t){}if("get"in n||"set"in n)throw a("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(24),i=Object;t.exports=function(t){return i(r(t))}},function(t,e,n){var r=n(1),i=r({}.toString),o=r("".slice);t.exports=function(t){return o(i(t),8,-1)}},function(t,e,n){var r=n(0),i=n(9),o=n(23),s=i("species");t.exports=function(t){return o>=51||!r((function(){var e=[];return(e.constructor={})[s]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},function(t,e,n){var r=n(4),i=n(2),o=function(t){return i(t)?t:void 0};t.exports=function(t,e){return arguments.length<2?o(r[t]):r[t]&&r[t][e]}},function(t,e,n){var r=n(15);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(39),i=n(24);t.exports=function(t){return r(i(t))}},function(t,e,n){var r=n(29),i=String;t.exports=function(t){if("Symbol"===r(t))throw TypeError("Cannot convert a Symbol value to a string");return i(t)}},function(t,e,n){var r=n(100),i=n(1),o=n(39),s=n(14),u=n(10),a=n(28),l=i([].push),c=function(t){var e=1==t,n=2==t,i=3==t,c=4==t,f=6==t,p=7==t,h=5==t||f;return function(d,v,g,m){for(var b,y,_=s(d),x=o(_),w=r(v,g),O=u(x),S=0,k=m||a,E=e?k(d,O):n||p?k(d,0):void 0;O>S;S++)if((h||S in x)&&(y=w(b=x[S],S,_),t))if(e)E[S]=y;else if(y)switch(t){case 3:return!0;case 5:return b;case 6:return S;case 2:l(E,b)}else switch(t){case 4:return!1;case 7:l(E,b)}return f?-1:i||c?c:E}};t.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6),filterReject:c(7)}},function(t,e){var n=TypeError;t.exports=function(t){if(t>9007199254740991)throw n("Maximum allowed index exceeded");return t}},function(t,e,n){var r,i,o=n(4),s=n(97),u=o.process,a=o.Deno,l=u&&u.versions||a&&a.version,c=l&&l.v8;c&&(i=(r=c.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!i&&s&&(!(r=s.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=s.match(/Chrome\/(\d+)/))&&(i=+r[1]),t.exports=i},function(t,e,n){var r=n(40),i=TypeError;t.exports=function(t){if(r(t))throw i("Can't call method on "+t);return t}},function(t,e,n){var r=n(2),i=n(74),o=TypeError;t.exports=function(t){if(r(t))return t;throw o(i(t)+" is not a function")}},function(t,e,n){"use strict";var r=n(0);t.exports=function(t,e){var n=[][t];return!!n&&r((function(){n.call(null,e||function(){return 1},1)}))}},function(t,e,n){"use strict";var r=n(5),i=n(18),o=TypeError,s=Object.getOwnPropertyDescriptor,u=r&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}();t.exports=u?function(t,e){if(i(t)&&!s(t,"length").writable)throw o("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e}},function(t,e,n){var r=n(94);t.exports=function(t,e){return new(r(t))(0===e?0:e)}},function(t,e,n){var r=n(51),i=n(2),o=n(15),u=n(9)("toStringTag"),a=Object,l="Arguments"==o(function(){return arguments}()),c=function(t,e){try{return t[e]}catch(t){}};t.exports=r?o:function(t){var e,n,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=c(e=a(t),u))?n:l?o(e):"Object"==(r=o(e))&&i(e.callee)?"Arguments":r}},function(t,e,n){var r=n(5),i=n(13),o=n(31);t.exports=r?function(t,e,n){return i.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){"use strict";var r=n(50),i=n(13),o=n(31);t.exports=function(t,e,n){var s=r(e);s in t?i.f(t,s,o(0,n)):t[s]=n}},function(t,e,n){var r=n(4),i=Object.defineProperty;t.exports=function(t,e){try{i(r,t,{value:e,configurable:!0,writable:!0})}catch(n){r[t]=e}return e}},function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,e,n){var r=n(0);t.exports=!r((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},function(t,e,n){var r=n(5),i=n(7),o=Function.prototype,s=r&&Object.getOwnPropertyDescriptor,u=i(o,"name"),a=u&&"something"===function(){}.name,l=u&&(!r||r&&s(o,"name").configurable);t.exports={EXISTS:u,PROPER:a,CONFIGURABLE:l}},function(t,e,n){var r=n(15),i=n(1);t.exports=function(t){if("Function"===r(t))return i(t)}},function(t,e){t.exports={}},function(t,e,n){var r=n(1),i=n(0),o=n(15),s=Object,u=r("".split);t.exports=i((function(){return!s("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?u(t,""):s(t)}:s},function(t,e){t.exports=function(t){return null==t}},function(t,e,n){var r=n(17),i=n(2),o=n(44),s=n(76),u=Object;t.exports=s?function(t){return"symbol"==typeof t}:function(t){var e=r("Symbol");return i(e)&&o(e.prototype,u(t))}},function(t,e,n){var r,i=n(6),o=n(107),s=n(34),u=n(38),a=n(101),l=n(60),c=n(70)("IE_PROTO"),p=function(){},f=function(t){return"
Loading...
- + diff --git a/docs/develop/index.html b/docs/develop/index.html index 6c6c1b1..a569a10 100644 --- a/docs/develop/index.html +++ b/docs/develop/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/develop/r-pathway/index.html b/docs/develop/r-pathway/index.html index 6c6c1b1..a569a10 100644 --- a/docs/develop/r-pathway/index.html +++ b/docs/develop/r-pathway/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/docs/index.html b/docs/docs/index.html index 6c6c1b1..a569a10 100644 --- a/docs/docs/index.html +++ b/docs/docs/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/index.html b/docs/index.html index 6c6c1b1..a569a10 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/social/index.html b/docs/social/index.html index 6c6c1b1..a569a10 100644 --- a/docs/social/index.html +++ b/docs/social/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + From c7113249a2068b1cd80b0666a6ba30a9348614c4 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Fri, 3 Mar 2023 20:43:53 +0000 Subject: [PATCH 16/42] Add env file --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 8587409..87e33a2 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,5 @@ builds static/sw.js .DS_Store + +.env \ No newline at end of file From 047e45cda96a9b2ec6bedfa4c468ff4a9274355c Mon Sep 17 00:00:00 2001 From: rmccreath Date: Sat, 4 Mar 2023 18:19:34 +0000 Subject: [PATCH 17/42] Use download link and remove headers --- nuxt.config.js | 1 - pages/docs.vue | 6 +++++- pages/docs/_doc.vue | 14 +++++++++----- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/nuxt.config.js b/nuxt.config.js index 91fc21c..8ab2759 100644 --- a/nuxt.config.js +++ b/nuxt.config.js @@ -1,4 +1,3 @@ - export default { /* ** Nuxt rendering mode diff --git a/pages/docs.vue b/pages/docs.vue index f9ae5fb..f2f99f0 100644 --- a/pages/docs.vue +++ b/pages/docs.vue @@ -102,7 +102,6 @@ export default { openGithub() { let link = this.selectedDoc.children.find((d) => d.name == this.$route.query.doc); - console.log('link', link); window.open(link.html_url,'_blank') }, @@ -112,6 +111,8 @@ export default { let docs = await this.$axios .get("/repos/Public-Health-Scotland/technical-docs/contents/", { baseURL: "https://api.github.com", + headers: { + } }) .then((r) => r.data); @@ -131,6 +132,9 @@ export default { doc.path, { baseURL: "https://api.github.com", + headers: { + + } } ) .then((r) => r.data); diff --git a/pages/docs/_doc.vue b/pages/docs/_doc.vue index 64346ce..43850fe 100644 --- a/pages/docs/_doc.vue +++ b/pages/docs/_doc.vue @@ -22,16 +22,20 @@ export default{ methods:{ async getMarkdownFile(){ this.$route.query.doc = this.$route.query.doc || 'README.md' - let path = this.$route.params.doc + '/' + this.$route.query.doc + let path = this.$route.params.doc //+ '/' + this.$route.query.doc let doc = await this.$axios.get('/repos/Public-Health-Scotland/technical-docs/contents/' + path,{ - baseURL: 'https://api.github.com' + baseURL: 'https://api.github.com', + headers: { + } }).then(r => r.data).catch(e => ({})) - - console.log('download_url', doc.download_url); + + doc = doc.find(d => d.name == this.$route.query.doc) if(doc.type == 'file'){ - this.source = await this.$axios.get(doc.download_url).then(r => r.data).catch(e => '') + this.source = await this.$axios.get(doc.git_url) + .then(r => Buffer.from(r.data.content, 'base64').toString('ascii')) + .catch(e => '') }else{ this.source = '' } From 9ed625ff3bb17f80946a7b297d020af20f3adc76 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Sat, 4 Mar 2023 18:20:39 +0000 Subject: [PATCH 18/42] Create new build --- docs/404.html | 4 ++-- docs/_nuxt/{00b5b8a.js => 2fa8a8e.js} | 2 +- docs/_nuxt/355e1b5.js | 1 - docs/_nuxt/{68edc9a.js => 3f69aa3.js} | 2 +- docs/_nuxt/{47c12cb.js => 4bc9f04.js} | 2 +- docs/_nuxt/{80a5dda.js => 5677feb.js} | 2 +- docs/_nuxt/5d6ec15.js | 1 + docs/_nuxt/65822dd.js | 1 + docs/_nuxt/7eef1ce.js | 2 ++ docs/_nuxt/80cef68.js | 2 -- docs/_nuxt/{91d0946.js => 8d821eb.js} | 2 +- docs/_nuxt/{5fbb0db.js => 966550c.js} | 2 +- docs/_nuxt/9aed769.js | 2 ++ docs/_nuxt/LICENSES | 24 ++++++++++++------------ docs/_nuxt/{68b6d06.js => ad357b3.js} | 2 +- docs/_nuxt/{297ba81.js => b8aee6d.js} | 2 +- docs/_nuxt/d723cda.js | 2 -- docs/_nuxt/{5482fe9.js => ea02fa9.js} | 2 +- docs/_nuxt/{d8d37a9.js => fc9eaa2.js} | 2 +- docs/_nuxt/fe1a33a.js | 1 - docs/_nuxt/{e300fed.js => ff69f01.js} | 2 +- docs/admin/index.html | 4 ++-- docs/develop/index.html | 4 ++-- docs/develop/r-pathway/index.html | 4 ++-- docs/docs/index.html | 4 ++-- docs/index.html | 4 ++-- docs/social/index.html | 4 ++-- 27 files changed, 43 insertions(+), 43 deletions(-) rename docs/_nuxt/{00b5b8a.js => 2fa8a8e.js} (97%) delete mode 100644 docs/_nuxt/355e1b5.js rename docs/_nuxt/{68edc9a.js => 3f69aa3.js} (92%) rename docs/_nuxt/{47c12cb.js => 4bc9f04.js} (99%) rename docs/_nuxt/{80a5dda.js => 5677feb.js} (87%) create mode 100644 docs/_nuxt/5d6ec15.js create mode 100644 docs/_nuxt/65822dd.js create mode 100644 docs/_nuxt/7eef1ce.js delete mode 100644 docs/_nuxt/80cef68.js rename docs/_nuxt/{91d0946.js => 8d821eb.js} (98%) rename docs/_nuxt/{5fbb0db.js => 966550c.js} (76%) create mode 100644 docs/_nuxt/9aed769.js rename docs/_nuxt/{68b6d06.js => ad357b3.js} (98%) rename docs/_nuxt/{297ba81.js => b8aee6d.js} (90%) delete mode 100644 docs/_nuxt/d723cda.js rename docs/_nuxt/{5482fe9.js => ea02fa9.js} (98%) rename docs/_nuxt/{d8d37a9.js => fc9eaa2.js} (76%) delete mode 100644 docs/_nuxt/fe1a33a.js rename docs/_nuxt/{e300fed.js => ff69f01.js} (98%) diff --git a/docs/404.html b/docs/404.html index a569a10..fabceaa 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/_nuxt/00b5b8a.js b/docs/_nuxt/2fa8a8e.js similarity index 97% rename from docs/_nuxt/00b5b8a.js rename to docs/_nuxt/2fa8a8e.js index bb0fa26..ffd81a7 100644 --- a/docs/_nuxt/00b5b8a.js +++ b/docs/_nuxt/2fa8a8e.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{253:function(t,e,n){var content=n(277);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("58b5ddad",content,!0,{sourceMap:!1})},265:function(t,e,n){"use strict";n(253)},277:function(t,e,n){var r=n(59)(!1);r.push([t.i,'fieldset[disabled] .multiselect{pointer-events:none}.multiselect__spinner{position:absolute;right:1px;top:1px;width:40px;height:38px;background:#fff;display:block}.multiselect__spinner:after,.multiselect__spinner:before{position:absolute;content:"";top:50%;left:50%;margin:-8px 0 0 -8px;width:16px;height:16px;border-radius:100%;border:2px solid transparent;border-top-color:#41b883;-webkit-box-shadow:0 0 0 1px transparent;box-shadow:0 0 0 1px transparent}.multiselect__spinner:before{-webkit-animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.multiselect__spinner:after{-webkit-animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.multiselect__loading-enter-active,.multiselect__loading-leave-active{-webkit-transition:opacity .4s ease-in-out;transition:opacity .4s ease-in-out;opacity:1}.multiselect__loading-enter,.multiselect__loading-leave-active{opacity:0}.multiselect,.multiselect__input,.multiselect__single{font-family:inherit;font-size:16px;-ms-touch-action:manipulation;touch-action:manipulation}.multiselect{-webkit-box-sizing:content-box;box-sizing:content-box;display:block;position:relative;width:100%;min-height:40px;text-align:left;color:#35495e}.multiselect *{-webkit-box-sizing:border-box;box-sizing:border-box}.multiselect:focus{outline:none}.multiselect--disabled{background:#ededed;pointer-events:none;opacity:.6}.multiselect--active{z-index:50}.multiselect--active:not(.multiselect--above) .multiselect__current,.multiselect--active:not(.multiselect--above) .multiselect__input,.multiselect--active:not(.multiselect--above) .multiselect__tags{border-bottom-left-radius:0;border-bottom-right-radius:0}.multiselect--active .multiselect__select{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.multiselect--above.multiselect--active .multiselect__current,.multiselect--above.multiselect--active .multiselect__input,.multiselect--above.multiselect--active .multiselect__tags{border-top-left-radius:0;border-top-right-radius:0}.multiselect__input,.multiselect__single{position:relative;display:inline-block;min-height:20px;line-height:20px;border:none;border-radius:5px;background:#fff;padding:0 0 0 5px;width:100%;-webkit-transition:border .1s ease;transition:border .1s ease;-webkit-box-sizing:border-box;box-sizing:border-box;margin-bottom:8px;vertical-align:top}.multiselect__input::-webkit-input-placeholder{color:#35495e}.multiselect__input::-moz-placeholder{color:#35495e}.multiselect__input:-ms-input-placeholder{color:#35495e}.multiselect__input::-ms-input-placeholder{color:#35495e}.multiselect__input::placeholder{color:#35495e}.multiselect__tag~.multiselect__input,.multiselect__tag~.multiselect__single{width:auto}.multiselect__input:hover,.multiselect__single:hover{border-color:#cfcfcf}.multiselect__input:focus,.multiselect__single:focus{border-color:#a8a8a8;outline:none}.multiselect__single{padding-left:5px;margin-bottom:8px}.multiselect__tags-wrap{display:inline}.multiselect__tags{min-height:40px;display:block;padding:8px 40px 0 8px;border-radius:5px;border:1px solid #e8e8e8;background:#fff;font-size:14px}.multiselect__tag{position:relative;display:inline-block;padding:4px 26px 4px 10px;border-radius:5px;margin-right:10px;color:#fff;line-height:1;background:#41b883;margin-bottom:5px;white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}.multiselect__tag-icon{cursor:pointer;margin-left:7px;position:absolute;right:0;top:0;bottom:0;font-weight:700;font-style:normal;width:22px;text-align:center;line-height:22px;-webkit-transition:all .2s ease;transition:all .2s ease;border-radius:5px}.multiselect__tag-icon:after{content:"\\D7";color:#266d4d;font-size:14px}.multiselect__tag-icon:focus,.multiselect__tag-icon:hover{background:#369a6e}.multiselect__tag-icon:focus:after,.multiselect__tag-icon:hover:after{color:#fff}.multiselect__current{min-height:40px;overflow:hidden;padding:8px 30px 0 12px;white-space:nowrap;border-radius:5px;border:1px solid #e8e8e8}.multiselect__current,.multiselect__select{line-height:16px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;margin:0;text-decoration:none;cursor:pointer}.multiselect__select{position:absolute;width:40px;height:38px;right:1px;top:1px;padding:4px 8px;text-align:center;-webkit-transition:-webkit-transform .2s ease;transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease}.multiselect__select:before{position:relative;right:0;top:65%;color:#999;margin-top:4px;border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 0;content:""}.multiselect__placeholder{color:#adadad;display:inline-block;margin-bottom:10px;padding-top:2px}.multiselect--active .multiselect__placeholder{display:none}.multiselect__content-wrapper{position:absolute;display:block;background:#fff;width:100%;max-height:240px;overflow:auto;border:1px solid #e8e8e8;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;z-index:50;-webkit-overflow-scrolling:touch}.multiselect__content{list-style:none;display:inline-block;padding:0;margin:0;min-width:100%;vertical-align:top}.multiselect--above .multiselect__content-wrapper{bottom:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom:none;border-top:1px solid #e8e8e8}.multiselect__content::webkit-scrollbar{display:none}.multiselect__element{display:block}.multiselect__option{display:block;padding:12px;min-height:40px;line-height:16px;text-decoration:none;text-transform:none;vertical-align:middle;position:relative;cursor:pointer;white-space:nowrap}.multiselect__option:after{top:0;right:0;position:absolute;line-height:40px;padding-right:12px;padding-left:20px;font-size:13px}.multiselect__option--highlight{background:#41b883;outline:none;color:#fff}.multiselect__option--highlight:after{content:attr(data-select);background:#41b883;color:#fff}.multiselect__option--selected{background:#f3f3f3;color:#35495e;font-weight:700}.multiselect__option--selected:after{content:attr(data-selected);color:silver;background:inherit}.multiselect__option--selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect--disabled .multiselect__current,.multiselect--disabled .multiselect__select{background:#ededed;color:#a6a6a6}.multiselect__option--disabled{background:#ededed!important;color:#a6a6a6!important;cursor:text;pointer-events:none}.multiselect__option--group{background:#ededed;color:#35495e}.multiselect__option--group.multiselect__option--highlight{background:#35495e;color:#fff}.multiselect__option--group.multiselect__option--highlight:after{background:#35495e}.multiselect__option--disabled.multiselect__option--highlight{background:#dedede}.multiselect__option--group-selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--group-selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect-enter-active,.multiselect-leave-active{-webkit-transition:all .15s ease;transition:all .15s ease}.multiselect-enter,.multiselect-leave-active{opacity:0}.multiselect__strong{margin-bottom:8px;line-height:20px;display:inline-block;vertical-align:top}[dir=rtl] .multiselect{text-align:right}[dir=rtl] .multiselect__select{right:auto;left:1px}[dir=rtl] .multiselect__tags{padding:8px 8px 0 40px}[dir=rtl] .multiselect__content{text-align:right}[dir=rtl] .multiselect__option:after{right:auto;left:0}[dir=rtl] .multiselect__clear{right:auto;left:12px}[dir=rtl] .multiselect__spinner{right:auto;left:1px}@-webkit-keyframes spinning{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(2turn);transform:rotate(2turn)}}@keyframes spinning{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(2turn);transform:rotate(2turn)}}',""]),t.exports=r},278:function(t,e,n){"use strict";var strong=n(310),r=n(98);t.exports=n(176)("Set",(function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}}),{add:function(t){return strong.def(r(this,"Set"),t=0===t?0:t,t)}},strong)},279:function(t,e,n){t.exports=function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/",e(e.s=89)}([function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){var r=n(35),i=Function.prototype,o=i.call,s=r&&i.bind.bind(o,o);t.exports=r?s:function(t){return function(){return o.apply(t,arguments)}}},function(t,e,n){var r=n(59),i=r.all;t.exports=r.IS_HTMLDDA?function(t){return"function"==typeof t||t===i}:function(t){return"function"==typeof t}},function(t,e,n){var r=n(4),i=n(43).f,o=n(30),s=n(11),u=n(33),a=n(95),l=n(66);t.exports=function(t,e){var n,c,f,p,h,d=t.target,v=t.global,g=t.stat;if(n=v?r:g?r[d]||u(d,{}):(r[d]||{}).prototype)for(c in e){if(p=e[c],f=t.dontCallGetSet?(h=i(n,c))&&h.value:n[c],!l(v?c:d+(g?".":"#")+c,t.forced)&&void 0!==f){if(typeof p==typeof f)continue;a(p,f)}(t.sham||f&&f.sham)&&o(p,"sham",!0),s(n,c,p,t)}}},function(t,e,n){(function(e){var n=function(t){return t&&t.Math==Math&&t};t.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||function(){return this}()||Function("return this")()}).call(e,n(139))},function(t,e,n){var r=n(0);t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,e,n){var r=n(8),i=String,o=TypeError;t.exports=function(t){if(r(t))return t;throw o(i(t)+" is not an object")}},function(t,e,n){var r=n(1),i=n(14),o=r({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return o(i(t),e)}},function(t,e,n){var r=n(2),i=n(59),o=i.all;t.exports=i.IS_HTMLDDA?function(t){return"object"==typeof t?null!==t:r(t)||t===o}:function(t){return"object"==typeof t?null!==t:r(t)}},function(t,e,n){var r=n(4),i=n(47),o=n(7),s=n(75),u=n(72),a=n(76),l=i("wks"),c=r.Symbol,f=c&&c.for,p=a?c:c&&c.withoutSetter||s;t.exports=function(t){if(!o(l,t)||!u&&"string"!=typeof l[t]){var e="Symbol."+t;u&&o(c,t)?l[t]=c[t]:l[t]=a&&f?f(e):p(e)}return l[t]}},function(t,e,n){var r=n(123);t.exports=function(t){return r(t.length)}},function(t,e,n){var r=n(2),i=n(13),o=n(104),s=n(33);t.exports=function(t,e,n,u){u||(u={});var a=u.enumerable,l=void 0!==u.name?u.name:e;if(r(n)&&o(n,l,u),u.global)a?t[e]=n:s(e,n);else{try{u.unsafe?t[e]&&(a=!0):delete t[e]}catch(t){}a?t[e]=n:i.f(t,e,{value:n,enumerable:!1,configurable:!u.nonConfigurable,writable:!u.nonWritable})}return t}},function(t,e,n){var r=n(35),i=Function.prototype.call;t.exports=r?i.bind(i):function(){return i.apply(i,arguments)}},function(t,e,n){var r=n(5),i=n(62),o=n(77),s=n(6),u=n(50),a=TypeError,l=Object.defineProperty,c=Object.getOwnPropertyDescriptor;e.f=r?o?function(t,e,n){if(s(t),e=u(e),s(n),"function"==typeof t&&"prototype"===e&&"value"in n&&"writable"in n&&!n.writable){var r=c(t,e);r&&r.writable&&(t[e]=n.value,n={configurable:"configurable"in n?n.configurable:r.configurable,enumerable:"enumerable"in n?n.enumerable:r.enumerable,writable:!1})}return l(t,e,n)}:l:function(t,e,n){if(s(t),e=u(e),s(n),i)try{return l(t,e,n)}catch(t){}if("get"in n||"set"in n)throw a("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(24),i=Object;t.exports=function(t){return i(r(t))}},function(t,e,n){var r=n(1),i=r({}.toString),o=r("".slice);t.exports=function(t){return o(i(t),8,-1)}},function(t,e,n){var r=n(0),i=n(9),o=n(23),s=i("species");t.exports=function(t){return o>=51||!r((function(){var e=[];return(e.constructor={})[s]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},function(t,e,n){var r=n(4),i=n(2),o=function(t){return i(t)?t:void 0};t.exports=function(t,e){return arguments.length<2?o(r[t]):r[t]&&r[t][e]}},function(t,e,n){var r=n(15);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(39),i=n(24);t.exports=function(t){return r(i(t))}},function(t,e,n){var r=n(29),i=String;t.exports=function(t){if("Symbol"===r(t))throw TypeError("Cannot convert a Symbol value to a string");return i(t)}},function(t,e,n){var r=n(100),i=n(1),o=n(39),s=n(14),u=n(10),a=n(28),l=i([].push),c=function(t){var e=1==t,n=2==t,i=3==t,c=4==t,f=6==t,p=7==t,h=5==t||f;return function(d,v,g,m){for(var b,y,_=s(d),x=o(_),w=r(v,g),O=u(x),S=0,k=m||a,E=e?k(d,O):n||p?k(d,0):void 0;O>S;S++)if((h||S in x)&&(y=w(b=x[S],S,_),t))if(e)E[S]=y;else if(y)switch(t){case 3:return!0;case 5:return b;case 6:return S;case 2:l(E,b)}else switch(t){case 4:return!1;case 7:l(E,b)}return f?-1:i||c?c:E}};t.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6),filterReject:c(7)}},function(t,e){var n=TypeError;t.exports=function(t){if(t>9007199254740991)throw n("Maximum allowed index exceeded");return t}},function(t,e,n){var r,i,o=n(4),s=n(97),u=o.process,a=o.Deno,l=u&&u.versions||a&&a.version,c=l&&l.v8;c&&(i=(r=c.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!i&&s&&(!(r=s.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=s.match(/Chrome\/(\d+)/))&&(i=+r[1]),t.exports=i},function(t,e,n){var r=n(40),i=TypeError;t.exports=function(t){if(r(t))throw i("Can't call method on "+t);return t}},function(t,e,n){var r=n(2),i=n(74),o=TypeError;t.exports=function(t){if(r(t))return t;throw o(i(t)+" is not a function")}},function(t,e,n){"use strict";var r=n(0);t.exports=function(t,e){var n=[][t];return!!n&&r((function(){n.call(null,e||function(){return 1},1)}))}},function(t,e,n){"use strict";var r=n(5),i=n(18),o=TypeError,s=Object.getOwnPropertyDescriptor,u=r&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}();t.exports=u?function(t,e){if(i(t)&&!s(t,"length").writable)throw o("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e}},function(t,e,n){var r=n(94);t.exports=function(t,e){return new(r(t))(0===e?0:e)}},function(t,e,n){var r=n(51),i=n(2),o=n(15),u=n(9)("toStringTag"),a=Object,l="Arguments"==o(function(){return arguments}()),c=function(t,e){try{return t[e]}catch(t){}};t.exports=r?o:function(t){var e,n,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=c(e=a(t),u))?n:l?o(e):"Object"==(r=o(e))&&i(e.callee)?"Arguments":r}},function(t,e,n){var r=n(5),i=n(13),o=n(31);t.exports=r?function(t,e,n){return i.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){"use strict";var r=n(50),i=n(13),o=n(31);t.exports=function(t,e,n){var s=r(e);s in t?i.f(t,s,o(0,n)):t[s]=n}},function(t,e,n){var r=n(4),i=Object.defineProperty;t.exports=function(t,e){try{i(r,t,{value:e,configurable:!0,writable:!0})}catch(n){r[t]=e}return e}},function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,e,n){var r=n(0);t.exports=!r((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},function(t,e,n){var r=n(5),i=n(7),o=Function.prototype,s=r&&Object.getOwnPropertyDescriptor,u=i(o,"name"),a=u&&"something"===function(){}.name,l=u&&(!r||r&&s(o,"name").configurable);t.exports={EXISTS:u,PROPER:a,CONFIGURABLE:l}},function(t,e,n){var r=n(15),i=n(1);t.exports=function(t){if("Function"===r(t))return i(t)}},function(t,e){t.exports={}},function(t,e,n){var r=n(1),i=n(0),o=n(15),s=Object,u=r("".split);t.exports=i((function(){return!s("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?u(t,""):s(t)}:s},function(t,e){t.exports=function(t){return null==t}},function(t,e,n){var r=n(17),i=n(2),o=n(44),s=n(76),u=Object;t.exports=s?function(t){return"symbol"==typeof t}:function(t){var e=r("Symbol");return i(e)&&o(e.prototype,u(t))}},function(t,e,n){var r,i=n(6),o=n(107),s=n(34),u=n(38),a=n(101),l=n(60),c=n(70)("IE_PROTO"),p=function(){},f=function(t){return"
Loading...
- + diff --git a/docs/develop/index.html b/docs/develop/index.html index a569a10..fabceaa 100644 --- a/docs/develop/index.html +++ b/docs/develop/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/develop/r-pathway/index.html b/docs/develop/r-pathway/index.html index a569a10..fabceaa 100644 --- a/docs/develop/r-pathway/index.html +++ b/docs/develop/r-pathway/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/docs/index.html b/docs/docs/index.html index a569a10..fabceaa 100644 --- a/docs/docs/index.html +++ b/docs/docs/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/index.html b/docs/index.html index a569a10..fabceaa 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/social/index.html b/docs/social/index.html index a569a10..fabceaa 100644 --- a/docs/social/index.html +++ b/docs/social/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + From 1481cdc071b9586d5b76074a052e6a0ed3063fa3 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Sat, 4 Mar 2023 19:03:07 +0000 Subject: [PATCH 19/42] Fix internal and external links --- pages/docs/_doc.vue | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pages/docs/_doc.vue b/pages/docs/_doc.vue index 43850fe..17573ec 100644 --- a/pages/docs/_doc.vue +++ b/pages/docs/_doc.vue @@ -39,7 +39,15 @@ export default{ }else{ this.source = '' } - + + // Workaround for links in the md file + // eg. [Get support](Login%20to%20Posit%20Workbench.md) should link to + // /knowledge-base/docs/${$route.params.doc}?doc=Login%20to%20Posit%20Workbench.md + this.source = this.source.replace(/\[(.*?)\]\((.*?)\)/g, (match, p1, p2) => { + if(p2.includes('http')) return `${p1}` + return `[${p1}](/knowledge-base/docs/${this.$route.params.doc}?doc=${p2})` + }) + } }, created(){ From 629c780ef37592366ea2ca066ba68e6f6d5c4545 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Sat, 4 Mar 2023 19:03:29 +0000 Subject: [PATCH 20/42] Filter contributing file --- pages/docs.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/pages/docs.vue b/pages/docs.vue index f2f99f0..b7d4bfc 100644 --- a/pages/docs.vue +++ b/pages/docs.vue @@ -117,6 +117,7 @@ export default { .then((r) => r.data); docs = docs.filter((d) => !d.name.startsWith(".")); + docs = docs.filter((d) => !d.name.startsWith("CONTRIBUTING")); docs = docs.filter((d) => !d.name.startsWith("README")); let getSubDocs = async (docs) => { From b333a891c5f1a7e52627423ddcc0f7f0d0d2c7f0 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Thu, 9 Mar 2023 12:54:50 +0000 Subject: [PATCH 21/42] Align page structure and fix breakpoint layout --- pages/docs.vue | 84 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 62 insertions(+), 22 deletions(-) diff --git a/pages/docs.vue b/pages/docs.vue index b7d4bfc..d6211b9 100644 --- a/pages/docs.vue +++ b/pages/docs.vue @@ -1,38 +1,65 @@ @@ -187,16 +226,17 @@ export default { .active{ font-weight: bold ; } + .not-active{ font-weight: normal ; } -.top-row{ +.gh-button{ display: flex; justify-content: space-between; align-items: center; - } + a li{ font-weight: 400; } From 91fd42ed0661e4463811c4e023f71ba84514d67b Mon Sep 17 00:00:00 2001 From: rmccreath Date: Thu, 9 Mar 2023 21:27:43 +0000 Subject: [PATCH 22/42] Implement search functionality --- nuxt.config.js | 10 + package-lock.json | 1077 ++++++++++++++++++++++++++++++++++++++++++++- package.json | 3 + pages/docs.vue | 82 +++- 4 files changed, 1161 insertions(+), 11 deletions(-) diff --git a/nuxt.config.js b/nuxt.config.js index 8ab2759..f738f3b 100644 --- a/nuxt.config.js +++ b/nuxt.config.js @@ -66,6 +66,16 @@ export default { ** Build configuration ** See https://nuxtjs.org/api/configuration-build/ */ + build: { + loaders: { + sass: { + implementation: require('sass'), + }, + scss: { + implementation: require('sass'), + }, + }, + } // build: { // extend(config) { // const vueLoader = config.module.rules.find(rule => rule.loader === 'vue-loader') diff --git a/package-lock.json b/package-lock.json index edf2248..427e3c2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1824,6 +1824,11 @@ "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==" }, + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==" + }, "@types/html-minifier-terser": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz", @@ -1842,11 +1847,21 @@ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" }, + "@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" + }, "@types/node": { "version": "18.11.18", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==" }, + "@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" + }, "@types/q": { "version": "1.5.5", "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", @@ -2216,6 +2231,11 @@ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, "accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -2235,6 +2255,24 @@ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, + "agentkeepalive": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz", + "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==", + "requires": { + "debug": "^4.1.0", + "depd": "^2.0.0", + "humanize-ms": "^1.2.1" + } + }, "aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -2318,6 +2356,27 @@ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.1.tgz", + "integrity": "sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, "arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", @@ -2368,6 +2427,11 @@ "is-string": "^1.0.7" } }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==" + }, "asn1.js": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", @@ -2421,6 +2485,11 @@ "integrity": "sha512-5QzqtU3BlagehwmdoqwaS2FBQF2P5eL6vFqXwNsb5jwoEsmtfAXg1ocFvW7I6/gGLFhBMKwcMwZuy7uv/Bo9jA==", "optional": true }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==" + }, "at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", @@ -2978,6 +3047,16 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" }, + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + } + }, "caniuse-api": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", @@ -3099,6 +3178,28 @@ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, "clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", @@ -3215,6 +3316,11 @@ "simple-swizzle": "^0.2.2" } }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" + }, "colorette": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", @@ -3329,6 +3435,11 @@ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" + }, "consolidate": { "version": "0.15.1", "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", @@ -3882,6 +3993,27 @@ "ms": "2.1.2" } }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" + }, + "decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==" + } + } + }, "decode-uri-component": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", @@ -3943,6 +4075,11 @@ "resolved": "https://registry.npmjs.org/defu/-/defu-5.0.1.tgz", "integrity": "sha512-EPS1carKg+dkEVy3qNTqIdp2qV7mUP08nIsupfwQpz++slCVRw7qbQyWvSTig+kFPwz2XXp5/kIIkH+CwrJKkQ==" }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" + }, "depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -4144,6 +4281,26 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "optional": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -4167,6 +4324,16 @@ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" + }, + "err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + }, "errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", @@ -4789,11 +4956,39 @@ "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "requires": { + "globule": "^1.0.0" + } + }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, "get-intrinsic": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", @@ -4812,6 +5007,11 @@ "fs-memo": "^1.2.0" } }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==" + }, "get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -4900,6 +5100,39 @@ "slash": "^3.0.0" } }, + "globule": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz", + "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==", + "requires": { + "glob": "~7.1.1", + "lodash": "^4.17.21", + "minimatch": "~3.0.2" + }, + "dependencies": { + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, "gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -4926,6 +5159,11 @@ "resolved": "https://registry.npmjs.org/hable/-/hable-3.0.0.tgz", "integrity": "sha512-7+G0/2/COR8pwteYFqHIVYfQpuEiO2HXwJrhCBJVgrNrl9O5eaUoJVDGXUJX+0RpGncNVTuestexjk1afj01wQ==" }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==" + }, "hard-source-webpack-plugin": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/hard-source-webpack-plugin/-/hard-source-webpack-plugin-0.13.1.tgz", @@ -5103,6 +5341,11 @@ "has-symbols": "^1.0.2" } }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" + }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", @@ -5211,6 +5454,29 @@ "minimalistic-crypto-utils": "^1.0.1" } }, + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, "hsl-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", @@ -5379,6 +5645,11 @@ } } }, + "http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + }, "http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -5408,6 +5679,16 @@ "requires-port": "^1.0.0" } }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, "http-proxy-middleware": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz", @@ -5425,11 +5706,28 @@ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, "human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" }, + "humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "requires": { + "ms": "^2.0.0" + } + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -5477,6 +5775,11 @@ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" }, + "immutable": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.4.tgz", + "integrity": "sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w==" + }, "import-cwd": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", @@ -5741,6 +6044,11 @@ "is-extglob": "^2.1.1" } }, + "is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==" + }, "is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", @@ -5898,6 +6206,11 @@ "resolved": "https://registry.npmjs.org/jquery/-/jquery-1.12.4.tgz", "integrity": "sha512-UEVp7PPK9xXYSk8xqXCJrkXnKZtlgWkd2GsAQbMRFK6S/ePU2JN5G2Zum8hIVjzR3CpdfSqdqAzId/xd4TJHeg==" }, + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -5922,6 +6235,11 @@ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -5954,6 +6272,11 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" }, + "klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==" + }, "last-call-webpack-plugin": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", @@ -5980,6 +6303,11 @@ "launch-editor": "^2.6.0" } }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, "linkify-it": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-1.2.4.tgz", @@ -6082,6 +6410,184 @@ "semver": "^6.0.0" } }, + "make-fetch-happen": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "requires": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "dependencies": { + "@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "requires": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + } + }, + "@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + } + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "cacache": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", + "requires": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + } + }, + "glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "dependencies": { + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==" + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + } + } + }, + "ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "requires": { + "minipass": "^3.1.1" + } + }, + "unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "requires": { + "unique-slug": "^3.0.0" + } + }, + "unique-slug": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, "map-age-cleaner": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", @@ -6095,6 +6601,11 @@ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==" }, + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==" + }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", @@ -6235,6 +6746,32 @@ "readable-stream": "^2.0.1" } }, + "meow": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "dependencies": { + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==" + } + } + }, "merge-source-map": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", @@ -6301,6 +6838,11 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==" }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" + }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -6324,6 +6866,23 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "dependencies": { + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==" + } + } + }, "minipass": { "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", @@ -6347,6 +6906,17 @@ "minipass": "^3.0.0" } }, + "minipass-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "requires": { + "encoding": "^0.1.13", + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + } + }, "minipass-flush": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", @@ -6363,6 +6933,14 @@ "minipass": "^3.0.0" } }, + "minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "requires": { + "minipass": "^3.0.0" + } + }, "minizlib": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", @@ -6459,8 +7037,7 @@ "nan": { "version": "2.17.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", - "optional": true + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==" }, "nanoid": { "version": "3.3.4", @@ -6512,6 +7089,113 @@ "whatwg-url": "^5.0.0" } }, + "node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "dependencies": { + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "requires": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + } + }, + "minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "requires": { + "encoding": "^0.1.12", + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "socks-proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, "node-html-parser": { "version": "3.3.6", "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-3.3.6.tgz", @@ -6632,6 +7316,69 @@ "vary": "^1.1.2" } }, + "node-sass": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-8.0.0.tgz", + "integrity": "sha512-jPzqCF2/e6JXw6r3VxfIqYc8tKQdkj5Z/BDATYyG6FL6b/LuYBNFGFVhus0mthcWifHm/JzBpKAd+3eXsWeK/A==", + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "lodash": "^4.17.15", + "make-fetch-happen": "^10.0.4", + "meow": "^9.0.0", + "nan": "^2.17.0", + "node-gyp": "^8.4.1", + "sass-graph": "^4.0.1", + "stdout-stream": "^1.4.0", + "true-case-path": "^2.2.1" + } + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -6655,6 +7402,17 @@ "path-key": "^3.0.0" } }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + }, "nth-check": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", @@ -9001,6 +9759,15 @@ "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" }, + "promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "requires": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + } + }, "proper-lockfile": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", @@ -9110,6 +9877,11 @@ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==" + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -9164,6 +9936,73 @@ } } }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "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==" + } + } + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -9193,6 +10032,15 @@ "picomatch": "^2.2.1" } }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, "regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -9369,6 +10217,11 @@ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -9509,6 +10362,72 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "sass": { + "version": "1.58.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.58.3.tgz", + "integrity": "sha512-Q7RaEtYf6BflYrQ+buPudKR26/lH+10EmO9bBqbmPh/KeLqv8bjpTNqxe71ocONqXq+jYiCbpPUmQMS+JJPk4A==", + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "sass-graph": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.1.tgz", + "integrity": "sha512-5YCfmGBmxoIRYHnKK2AKzrAkCoQ8ozO+iumT8K4tXJXRVCPf+7s1/9KxTSW3Rbvf+7Y7b4FR3mWyLnQr3PHocA==", + "requires": { + "glob": "^7.0.0", + "lodash": "^4.17.11", + "scss-tokenizer": "^0.4.3", + "yargs": "^17.2.1" + } + }, + "sass-loader": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.1.tgz", + "integrity": "sha512-W6gVDXAd5hR/WHsPicvZdjAWHBcEJ44UahgxcIE196fW2ong0ZHMPO1kZuI5q0VlvMQZh32gpv69PLWQm70qrw==", + "requires": { + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0", + "semver": "^7.3.2" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", @@ -9524,6 +10443,22 @@ "ajv-keywords": "^3.5.2" } }, + "scss-tokenizer": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.4.3.tgz", + "integrity": "sha512-raKLgf1LI5QMQnG+RxHz6oK0sL3x3I4FN2UDLqgLOGO8hodECNnNh5BXn7fAyBxrA8zVzdQizQ6XjNJQ+uBwMw==", + "requires": { + "js-base64": "^2.4.9", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + } + } + }, "scule": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/scule/-/scule-0.2.1.tgz", @@ -9626,6 +10561,11 @@ "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==" }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, "set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -9729,6 +10669,11 @@ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" + }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -9844,6 +10789,32 @@ } } }, + "socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "requires": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, + "dependencies": { + "ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" + } + } + }, + "socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + } + }, "sort-keys": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", @@ -9900,6 +10871,34 @@ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" }, + "spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==" + }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -9968,6 +10967,14 @@ "ci-info": "^3.1.1" } }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "requires": { + "readable-stream": "^2.0.1" + } + }, "stream-browserify": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", @@ -10066,6 +11073,14 @@ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "requires": { + "min-indent": "^1.0.0" + } + }, "style-resources-loader": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/style-resources-loader/-/style-resources-loader-1.5.0.tgz", @@ -10432,6 +11447,16 @@ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, + "trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==" + }, + "true-case-path": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", + "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==" + }, "ts-pnp": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", @@ -10744,6 +11769,15 @@ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -11669,6 +12703,14 @@ "is-typed-array": "^1.1.10" } }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, "widest-line": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", @@ -11779,6 +12821,37 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, + "yargs": { + "version": "17.7.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz", + "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==", + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "dependencies": { + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" + } + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + }, "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index 1919232..18247de 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,10 @@ "bootstrap-vue": "^2.23.1", "eva-icons": "^1.1.3", "jquery": "^1.12.4", + "node-sass": "^8.0.0", "nuxt": "^2.15.8", + "sass": "^1.58.3", + "sass-loader": "^10.1.1", "vue-analytics": "^5.22.1", "vue-eva-icons": "^1.1.1", "vue-markdown": "^2.1.2", diff --git a/pages/docs.vue b/pages/docs.vue index d6211b9..8062342 100644 --- a/pages/docs.vue +++ b/pages/docs.vue @@ -18,7 +18,7 @@ - + @@ -26,6 +26,21 @@ + + + + +
+ {{ r.path.split('/')[0] }}: + +
{{ r.name.split('.')[0] }}
+
+
+
+
+
+
+ @@ -47,7 +62,7 @@ - + @@ -59,7 +74,6 @@ - - + - + - - - @@ -134,9 +145,22 @@ export default { selectedDoc: {}, mdContent: "Boo", loadingNav: true, + search: '' }; }, + computed: { + searchResults() { + if(!this.search) return [] + + let subdocs = this.docs.map(d => d.children).flat() + + let results = subdocs.filter(d => d.name.toLowerCase().includes(this.search.toLowerCase())) + + return results + } + }, + methods: { openGithub() { @@ -222,7 +246,7 @@ export default { }; - \ No newline at end of file From 93de85d75125302c413acdccc8454cbb2eb11f91 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Thu, 9 Mar 2023 22:15:33 +0000 Subject: [PATCH 23/42] Add content for docs landing page --- pages/docs.vue | 6 +++--- pages/docs/index.vue | 15 ++++++++++++++- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/pages/docs.vue b/pages/docs.vue index 8062342..c804f52 100644 --- a/pages/docs.vue +++ b/pages/docs.vue @@ -7,9 +7,9 @@ -

Docs

+

Docs

-

for information related to Data Science in PHS

+

Data Science information and guidance

@@ -73,7 +73,7 @@ - + -

Standard page here...

+
+

Data Science - the docs

+

This page pulls together documentation relating to Data Science in Public Health Scotland. This is organised into sections as shown in the navigation on the left-side of this page. You can also use the search bar above which will check document titles to help you find what you're looking for. This is all stored and organised on a GitHub repo, each document has a button to link back, the aim of this is to encourage collaboration on our documentation, allowing us to work as a community to maintain our technical knowledge and guidance.

+ +
+

Get Started

+
    +
  • + What is Posit? +
  • +
+
+ +
\ No newline at end of file From c7a0c9b3e970ddade832c2ddf88b5fde5c8b912e Mon Sep 17 00:00:00 2001 From: rmccreath Date: Thu, 9 Mar 2023 22:52:21 +0000 Subject: [PATCH 24/42] Add skeleton on load --- pages/docs.vue | 17 ++++++++++++++--- pages/docs/_doc.vue | 6 +++--- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/pages/docs.vue b/pages/docs.vue index c804f52..bb3f0d4 100644 --- a/pages/docs.vue +++ b/pages/docs.vue @@ -104,10 +104,14 @@
+ -
- +
+ + + +
@@ -125,6 +129,13 @@
+ + + + + + + @@ -276,7 +287,7 @@ a li{ @media (max-width: 767.98px) { .search-results{ right: 15px; - width: 97%; + width: 95%; } } diff --git a/pages/docs/_doc.vue b/pages/docs/_doc.vue index 17573ec..2c0e9f9 100644 --- a/pages/docs/_doc.vue +++ b/pages/docs/_doc.vue @@ -1,7 +1,7 @@
Loading...
- + diff --git a/docs/_nuxt/4bc9f04.js b/docs/_nuxt/0a68202.js similarity index 99% rename from docs/_nuxt/4bc9f04.js rename to docs/_nuxt/0a68202.js index e086f19..fc1b39a 100644 --- a/docs/_nuxt/4bc9f04.js +++ b/docs/_nuxt/0a68202.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{122:function(t,e,n){"use strict";e.a={}},151:function(t,e,n){var content=n(204);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("3d8de15e",content,!0,{sourceMap:!1})},152:function(t,e,n){var content=n(206);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("6439d180",content,!0,{sourceMap:!1})},153:function(t,e,n){var content=n(213);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("670259d2",content,!0,{sourceMap:!1})},170:function(t,e,n){"use strict";var r=n(23),o=(n(61),n(12),n(6)),c=n(7),l=window.__NUXT__;function f(){if(!this._hydrated)return this.$fetch()}function h(){if((t=this).$vnode&&t.$vnode.elm&&t.$vnode.elm.dataset&&t.$vnode.elm.dataset.fetchKey){var t;this._hydrated=!0,this._fetchKey=this.$vnode.elm.dataset.fetchKey;var data=l.fetch[this._fetchKey];if(data&&data._error)this.$fetchState.error=data._error;else for(var e in data)o.default.set(this.$data,e,data[e])}}function d(){var t=this;return this._fetchPromise||(this._fetchPromise=m.call(this).then((function(){delete t._fetchPromise}))),this._fetchPromise}function m(){return v.apply(this,arguments)}function v(){return(v=Object(r.a)(regeneratorRuntime.mark((function t(){var e,n,r,o=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return this.$nuxt.nbFetching++,this.$fetchState.pending=!0,this.$fetchState.error=null,this._hydrated=!1,e=null,n=Date.now(),t.prev=6,t.next=9,this.$options.fetch.call(this);case 9:t.next=15;break;case 11:t.prev=11,t.t0=t.catch(6),e=Object(c.p)(t.t0);case 15:if(!((r=this._fetchDelay-(Date.now()-n))>0)){t.next=19;break}return t.next=19,new Promise((function(t){return setTimeout(t,r)}));case 19:this.$fetchState.error=e,this.$fetchState.pending=!1,this.$fetchState.timestamp=Date.now(),this.$nextTick((function(){return o.$nuxt.nbFetching--}));case 23:case"end":return t.stop()}}),t,this,[[6,11]])})))).apply(this,arguments)}e.a={beforeCreate:function(){Object(c.l)(this)&&(this._fetchDelay="number"==typeof this.$options.fetchDelay?this.$options.fetchDelay:200,o.default.util.defineReactive(this,"$fetchState",{pending:!1,error:null,timestamp:Date.now()}),this.$fetch=d.bind(this),Object(c.a)(this,"created",h),Object(c.a)(this,"beforeMount",f))}}},177:function(t,e,n){n(178),t.exports=n(179)},179:function(t,e,n){"use strict";n.r(e),function(t){n(9),n(2),n(47);var e=n(13),r=n(23),o=(n(140),n(185),n(189),n(190),n(61),n(14),n(1),n(3),n(77),n(51),n(8),n(34),n(12),n(35),n(6)),c=n(163),l=n(122),f=n(7),h=n(40),d=n(170),m=n(95);function v(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return y(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){l=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(l)throw o}}}}function y(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i2?e-2:0),r=2;r1&&void 0!==arguments[1]?arguments[1]:O,n=arguments.length>2?arguments[2]:void 0;return r.call(this,t,e,n)};var o=n.resolve.bind(n);return n.resolve=function(t,e,n){return"string"==typeof t&&(t=Object(y.c)(t)),o(t,e,n)},n}var k={name:"NuxtChild",functional:!0,props:{nuxtChildKey:{type:String,default:""},keepAlive:Boolean,keepAliveProps:{type:Object,default:void 0}},render:function(t,e){var n=e.parent,data=e.data,r=e.props,o=n.$createElement;data.nuxtChild=!0;for(var c=n,l=n.$nuxt.nuxt.transitions,f=n.$nuxt.nuxt.defaultTransition,h=0;n;)n.$vnode&&n.$vnode.data.nuxtChild&&h++,n=n.$parent;data.nuxtChildDepth=h;var d=l[h]||f,m={};C.forEach((function(t){void 0!==d[t]&&(m[t]=d[t])}));var v={};S.forEach((function(t){"function"==typeof d[t]&&(v[t]=d[t].bind(c))}));var y=v.beforeEnter;if(v.beforeEnter=function(t){if(window.$nuxt.$nextTick((function(){window.$nuxt.$emit("triggerScroll")})),y)return y.call(c,t)},!1===d.css){var x=v.leave;(!x||x.length<2)&&(v.leave=function(t,e){x&&x.call(c,t),c.$nextTick(e)})}var w=o("routerView",data);return r.keepAlive&&(w=o("keep-alive",{props:r.keepAliveProps},[w])),o("transition",{props:m,on:v},[w])}},C=["name","mode","appear","css","type","duration","enterClass","leaveClass","appearClass","enterActiveClass","enterActiveClass","leaveActiveClass","appearActiveClass","enterToClass","leaveToClass","appearToClass"],S=["beforeEnter","enter","afterEnter","enterCancelled","beforeLeave","leave","afterLeave","leaveCancelled","beforeAppear","appear","afterAppear","appearCancelled"],P={name:"NuxtError",props:{error:{type:Object,default:null}},computed:{statusCode:function(){return this.error&&this.error.statusCode||500},message:function(){return this.error.message||"Error"}},head:function(){return{title:this.message,meta:[{name:"viewport",content:"width=device-width,initial-scale=1.0,minimum-scale=1.0"}]}}},E=(n(203),n(50)),R=Object(E.a)(P,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"__nuxt-error-page"},[e("div",{staticClass:"error"},[e("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"90",height:"90",fill:"#DBE1EC",viewBox:"0 0 48 48"}},[e("path",{attrs:{d:"M22 30h4v4h-4zm0-16h4v12h-4zm1.99-10C12.94 4 4 12.95 4 24s8.94 20 19.99 20S44 35.05 44 24 35.04 4 23.99 4zM24 40c-8.84 0-16-7.16-16-16S15.16 8 24 8s16 7.16 16 16-7.16 16-16 16z"}})]),t._v(" "),e("div",{staticClass:"title"},[t._v(t._s(t.message))]),t._v(" "),404===t.statusCode?e("p",{staticClass:"description"},[void 0===t.$route?e("a",{staticClass:"error-link",attrs:{href:"/"}}):e("NuxtLink",{staticClass:"error-link",attrs:{to:"/"}},[t._v("Back to the home page")])],1):t._e(),t._v(" "),t._m(0)])])}),[function(){var t=this._self._c;return t("div",{staticClass:"logo"},[t("a",{attrs:{href:"https://nuxtjs.org",target:"_blank",rel:"noopener"}},[this._v("Nuxt")])])}],!1,null,null,null).exports,A=n(24),T=(n(32),n(33),{name:"Nuxt",components:{NuxtChild:k,NuxtError:R},props:{nuxtChildKey:{type:String,default:void 0},keepAlive:Boolean,keepAliveProps:{type:Object,default:void 0},name:{type:String,default:"default"}},errorCaptured:function(t){this.displayingNuxtError&&(this.errorFromNuxtError=t,this.$forceUpdate())},computed:{routerViewKey:function(){if(void 0!==this.nuxtChildKey||this.$route.matched.length>1)return this.nuxtChildKey||Object(x.c)(this.$route.matched[0].path)(this.$route.params);var t=Object(A.a)(this.$route.matched,1)[0];if(!t)return this.$route.path;var e=t.components.default;if(e&&e.options){var n=e.options;if(n.key)return"function"==typeof n.key?n.key(this.$route):n.key}return/\/$/.test(t.path)?this.$route.path:this.$route.path.replace(/\/$/,"")}},beforeCreate:function(){c.default.util.defineReactive(this,"nuxt",this.$root.$options.nuxt)},render:function(t){var e=this;return this.nuxt.err?this.errorFromNuxtError?(this.$nextTick((function(){return e.errorFromNuxtError=!1})),t("div",{},[t("h2","An error occurred while showing the error page"),t("p","Unfortunately an error occurred and while showing the error page another error occurred"),t("p","Error details: ".concat(this.errorFromNuxtError.toString())),t("nuxt-link",{props:{to:"/"}},"Go back to home")])):(this.displayingNuxtError=!0,this.$nextTick((function(){return e.displayingNuxtError=!1})),t(R,{props:{error:this.nuxt.err}})):t("NuxtChild",{key:this.routerViewKey,props:this.$props})}}),D=(n(9),n(47),n(34),n(35),{name:"NuxtLoading",data:function(){return{percent:0,show:!1,canSucceed:!0,reversed:!1,skipTimerCount:0,rtl:!1,throttle:200,duration:5e3,continuous:!1}},computed:{left:function(){return!(!this.continuous&&!this.rtl)&&(this.rtl?this.reversed?"0px":"auto":this.reversed?"auto":"0px")}},beforeDestroy:function(){this.clear()},methods:{clear:function(){clearInterval(this._timer),clearTimeout(this._throttle),this._timer=null},start:function(){var t=this;return this.clear(),this.percent=0,this.reversed=!1,this.skipTimerCount=0,this.canSucceed=!0,this.throttle?this._throttle=setTimeout((function(){return t.startTimer()}),this.throttle):this.startTimer(),this},set:function(t){return this.show=!0,this.canSucceed=!0,this.percent=Math.min(100,Math.max(0,Math.floor(t))),this},get:function(){return this.percent},increase:function(t){return this.percent=Math.min(100,Math.floor(this.percent+t)),this},decrease:function(t){return this.percent=Math.max(0,Math.floor(this.percent-t)),this},pause:function(){return clearInterval(this._timer),this},resume:function(){return this.startTimer(),this},finish:function(){return this.percent=this.reversed?0:100,this.hide(),this},hide:function(){var t=this;return this.clear(),setTimeout((function(){t.show=!1,t.$nextTick((function(){t.percent=0,t.reversed=!1}))}),500),this},fail:function(t){return this.canSucceed=!1,this},startTimer:function(){var t=this;this.show||(this.show=!0),void 0===this._cut&&(this._cut=1e4/Math.floor(this.duration)),this._timer=setInterval((function(){t.skipTimerCount>0?t.skipTimerCount--:(t.reversed?t.decrease(t._cut):t.increase(t._cut),t.continuous&&(t.percent>=100||t.percent<=0)&&(t.skipTimerCount=1,t.reversed=!t.reversed))}),100)}},render:function(t){var e=t(!1);return this.show&&(e=t("div",{staticClass:"nuxt-progress",class:{"nuxt-progress-notransition":this.skipTimerCount>0,"nuxt-progress-failed":!this.canSucceed},style:{width:this.percent+"%",left:this.left}})),e}}),N=(n(205),Object(E.a)(D,undefined,undefined,!1,null,null,null).exports),L=(n(207),n(209),n(212),Object(E.a)({},(function(){var t=this,e=t._self._c;return e("div",[t._m(0),t._v(" "),e("div",{staticClass:"header-container"},[e("header",[e("div",{staticClass:"container"},[e("div",{staticClass:"d-flex justify-content-between align-items-center"},[e("div",{staticClass:"left"},[e("img",{staticClass:"logo cursor-pointer",attrs:{src:n(211),alt:"PHS Logo"},on:{click:function(e){return t.$router.push("/")}}})])])])])]),t._v(" "),e("div",{staticClass:"nav-container"},[e("b-navbar",{attrs:{toggleable:"sm",type:"dark"}},[e("div",{staticClass:"container"},[e("b-navbar-brand",{staticClass:"cursor-pointer",on:{click:function(e){return t.$router.push("/")}}},[t._v("\n Data Science Knowledge Base\n ")]),t._v(" "),e("b-navbar-toggle",{attrs:{target:"nav-collapse"}}),t._v(" "),e("b-collapse",{attrs:{id:"nav-collapse","is-nav":""}},[e("b-navbar-nav",{staticClass:"ml-auto"},[e("NuxtLink",{attrs:{to:"/develop",tag:"b-nav-item"}},[t._v("Develop")]),t._v(" "),e("NuxtLink",{attrs:{to:"/social",tag:"b-nav-item"}},[t._v("Social")]),t._v(" "),e("b-nav-item",{directives:[{name:"b-modal",rawName:"v-b-modal.help-modal",modifiers:{"help-modal":!0}}]},[e("eva-icon",{attrs:{name:"question-mark-circle-outline",fill:"#fff"}})],1),t._v(" "),e("b-modal",{attrs:{id:"help-modal",size:"lg",title:"Help"}},[e("p",{staticClass:"my-4"},[e("strong",[t._v("Training Request")]),t._v(" - If you can't find what you're looking for or have a specific training requirement, use this link to "),e("a",{attrs:{href:"mailto:phs.staffdevelopment@phs.scot?Subject=DSKB - Training Request"}},[t._v("email Staff Development.")])]),t._v(" "),e("p",{staticClass:"my-4"},[e("strong",[t._v("Knowledge Base Enquiry")]),t._v(" - Feedback, issues, or suggestions for the knowledge base? "),e("a",{attrs:{href:"https://github.com/Public-Health-Scotland/knowledge-base/issues/new/choose",target:"_blank"}},[t._v("Open an issue")]),t._v(" on the GitHub repo or "),e("a",{attrs:{href:"mailto:phs.datascience@phs.scot?Subject=DSKB - Enquiry"}},[t._v("email the Data Science team.")])])])],1)],1)],1)])],1),t._v(" "),e("div",{staticClass:"container body"},[e("Nuxt")],1),t._v(" "),e("div",{staticClass:"container d-flex justify-content-between align-items-center"},[e("div",[e("footer",[e("b-nav",[e("b-nav-item",{directives:[{name:"b-modal",rawName:"v-b-modal.accessibility-modal",modifiers:{"accessibility-modal":!0}}]},[t._v("Accessibility")]),t._v(" "),e("b-nav-item",{attrs:{href:"https://www.publichealthscotland.scot/contact-us/freedom-of-information-foi-and-environmental-information-regulation-eir-requests/",target:"_blank"}},[t._v("Freedom of Information")]),t._v(" "),e("b-nav-item",{attrs:{href:"https://www.publichealthscotland.scot/terms-and-conditions/",target:"_blank"}},[t._v("Terms and Conditions")]),t._v(" "),e("b-nav-item",{attrs:{href:"https://www.publichealthscotland.scot/our-privacy-notice/organisational-background/",target:"_blank"}},[t._v("Privacy notice")]),t._v(" "),e("b-nav-item",{attrs:{disabled:""}},[t._v("© Public Health Scotland")])],1)],1)]),t._v(" "),e("div",{},[e("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal.feedback-modal",modifiers:{"feedback-modal":!0}}],staticClass:"feedback-button",attrs:{pill:""}},[e("eva-icon",{attrs:{name:"message-square-outline",fill:"#fff"}})],1)],1)]),t._v(" "),e("b-modal",{attrs:{id:"accessibility-modal",size:"lg",scrollable:"",title:"Accessibility"}},[e("h5",[t._v("Accessible Content")]),t._v("\n This website is run by the Data Science department in Public Health Scotland. We want as many people as possible to be able to use this website. For example, that means you should be able to:\n\n "),e("ul",[e("li",[t._v("change colours, contrast levels and fonts")]),t._v(" "),e("li",[t._v("zoom in up to 300% without the text spilling off the screen")]),t._v(" "),e("li",[t._v("navigate most of the website using just a keyboard")]),t._v(" "),e("li",[t._v("navigate most of the website using speech recognition software")]),t._v(" "),e("li",[t._v("listen to most of the website using a screen reader (including the most recent versions of JAWS, NVDA and VoiceOver)")])]),t._v("\n\n We’ve also made the website text as simple as possible to understand.\n\n We're always looking to improve the accessibility of this website. If you find problems not listed on this page or think we're not meeting accessibility requirements, please email the "),e("a",{attrs:{href:"mailto:phs.datascience@phs.scot?Subject=DSKB - Accessibility"}},[t._v("Data Science team.")]),e("p"),t._v(" "),e("h5",[t._v("Testing")]),t._v(" "),e("i",[t._v("This website is currently undergoing development and testing is not yet been complete.")])]),t._v(" "),e("b-modal",{attrs:{id:"feedback-modal",size:"xl"}},[t._v("\n If this content doesn't load, "),e("a",{attrs:{target:"_blank",href:"https://forms.office.com/r/RhjP2yNq4y"}},[t._v("click here")]),t._v(" to open in a browser tab.\n "),e("br"),t._v(" "),e("div",[e("iframe",{staticStyle:{border:"none",width:"100%"},attrs:{width:"640px",height:"1100px",src:"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmlMENbvENPtAs5eceNN9kYdUQ0JJWlY4UjNOQ1ZCSVlEOUpTSEo3N0JaWS4u&embed=true",frameborder:"0",marginwidth:"0",marginheight:"0",allowfullscreen:"",webkitallowfullscreen:"",mozallowfullscreen:"",msallowfullscreen:""}})])])],1)}),[function(){var t=this._self._c;return t("head",[t("script",{attrs:{src:"https://cdn.lordicon.com/libs/frhvbuzj/lord-icon-2.0.2.js"}})])}],!1,null,null,null).exports);function I(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return M(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return M(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){l=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(l)throw o}}}}function M(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i0},isPreview:function(){return Boolean(this.$options.previewData)}},methods:{refreshOnlineStatus:function(){void 0===window.navigator.onLine?this.isOnline=!0:this.isOnline=window.navigator.onLine},refresh:function(){var t=this;return Object(r.a)(regeneratorRuntime.mark((function e(){var n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((n=Object(x.h)(t.$route)).length){e.next=3;break}return e.abrupt("return");case 3:return t.$loading.start(),r=n.map((function(e){var p=[];if(e.$options.fetch&&e.$options.fetch.length&&p.push(Object(x.q)(e.$options.fetch,t.context)),e.$fetch)p.push(e.$fetch());else{var n,r=I(Object(x.e)(e.$vnode.componentInstance));try{for(r.s();!(n=r.n()).done;){var component=n.value;p.push(component.$fetch())}}catch(t){r.e(t)}finally{r.f()}}return e.$options.asyncData&&p.push(Object(x.q)(e.$options.asyncData,t.context).then((function(t){for(var n in t)c.default.set(e.$data,n,t[n])}))),Promise.all(p)})),e.prev=5,e.next=8,Promise.all(r);case 8:e.next=15;break;case 10:e.prev=10,e.t0=e.catch(5),t.$loading.fail(e.t0),Object(x.k)(e.t0),t.error(e.t0);case 15:t.$loading.finish();case 16:case"end":return e.stop()}}),e,null,[[5,10]])})))()},errorChanged:function(){if(this.nuxt.err){this.$loading&&(this.$loading.fail&&this.$loading.fail(this.nuxt.err),this.$loading.finish&&this.$loading.finish());var t=(R.options||R).layout;"function"==typeof t&&(t=t(this.context)),this.setLayout(t)}},setLayout:function(t){return t&&U["_"+t]||(t="default"),this.layoutName=t,this.layout=U["_"+t],this.layout},loadLayout:function(t){return t&&U["_"+t]||(t="default"),Promise.resolve(U["_"+t])}},components:{NuxtLoading:N}},F=n(94);for(var z in F)c.default.component(z,F[z]),c.default.component("Lazy"+z,F[z]);var H=n(171);c.default.use(H.a,{});var K=n(76),J=n.n(K),Q=n(167);function V(object,t){var e=Object.keys(object);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(object);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(object,t).enumerable}))),e.push.apply(e,n)}return e}function W(t){for(var i=1;i=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){l=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(l)throw o}}}}function X(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i2&&void 0!==arguments[2]?arguments[2]:"common",o=G(Array.isArray(r)?r:[r]);try{for(o.s();!(n=o.n()).done;){var c=n.value;e?this.defaults.headers[c][t]=e:delete this.defaults.headers[c][t]}}catch(t){o.e(t)}finally{o.f()}},setToken:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"common",r=t?(e?e+" ":"")+t:null;this.setHeader("Authorization",r,n)},onRequest:function(t){this.interceptors.request.use((function(e){return t(e)||e}))},onResponse:function(t){this.interceptors.response.use((function(e){return t(e)||e}))},onRequestError:function(t){this.interceptors.request.use(void 0,(function(e){return t(e)||Promise.reject(e)}))},onResponseError:function(t){this.interceptors.response.use(void 0,(function(e){return t(e)||Promise.reject(e)}))},onError:function(t){this.onRequestError(t),this.onResponseError(t)},create:function(t){return nt(Object(Q.a)(t,this.defaults))}},Z=function(){var t=et[tt];Y["$"+t]=function(){return this[t].apply(this,arguments).then((function(t){return t&&t.data}))}},tt=0,et=["request","delete","get","head","options","post","put","patch"];tt has been deprecated and will be removed in Nuxt 3, please use instead")),m.a.render(t,e)}})),c.default.component(k.name,k),c.default.component("NChild",k),c.default.component(T.name,T),Object.defineProperty(c.default.prototype,"$nuxt",{get:function(){var t=this.$root.$options.$nuxt;return t||"undefined"==typeof window?t:window.$nuxt},configurable:!0}),c.default.use(l.a,{keyName:"head",attribute:"data-n-head",ssrAttribute:"data-n-head-ssr",tagIDKeyName:"hid"});var ht={name:"page",mode:"out-in",appear:!0,appearClass:"appear",appearActiveClass:"appear-active",appearToClass:"appear-to"};function mt(t){return vt.apply(this,arguments)}function vt(){return vt=Object(r.a)(regeneratorRuntime.mark((function t(e){var n,o,l,f,h,path,d,m=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return d=function(t,e){if(!t)throw new Error("inject(key, value) has no key provided");if(void 0===e)throw new Error("inject('".concat(t,"', value) has no value provided"));l[t="$"+t]=e,l.context[t]||(l.context[t]=e);var n="__nuxt_"+t+"_installed__";c.default[n]||(c.default[n]=!0,c.default.use((function(){Object.prototype.hasOwnProperty.call(c.default.prototype,t)||Object.defineProperty(c.default.prototype,t,{get:function(){return this.$root.$options[t]}})})))},n=m.length>1&&void 0!==m[1]?m[1]:{},t.next=4,$(0,n);case 4:return o=t.sent,l=pt({head:{title:"PHS Data Science - Knowledge Base",meta:[{charset:"utf-8"},{name:"viewport",content:"width=device-width, initial-scale=1"},{hid:"description",name:"description",content:"[![GitHub release (latest by date)](https://img.shields.io/github/v/release/Public-Health-Scotland/knowledge-base)](https://github.com/Public-Health-Scotland/knowledge-base/releases/latest)"}],link:[{rel:"icon",type:"image/x-icon",href:"/favicon.ico"}],style:[],script:[]},router:o,nuxt:{defaultTransition:ht,transitions:[ht],setTransitions:function(t){return Array.isArray(t)||(t=[t]),t=t.map((function(t){return t=t?"string"==typeof t?Object.assign({},ht,{name:t}):Object.assign({},ht,t):ht})),this.$options.nuxt.transitions=t,t},err:null,dateErr:null,error:function(t){t=t||null,l.context._errored=Boolean(t),t=t?Object(x.p)(t):null;var n=l.nuxt;return this&&(n=this.nuxt||this.$options.nuxt),n.dateErr=Date.now(),n.err=t,e&&(e.nuxt.error=t),t}}},B),f=e?e.next:function(t){return l.router.push(t)},e?h=o.resolve(e.url).route:(path=Object(x.f)(o.options.base,o.options.mode),h=o.resolve(path).route),t.next=10,Object(x.t)(l,{route:h,next:f,error:l.nuxt.error.bind(l),payload:e?e.payload:void 0,req:e?e.req:void 0,res:e?e.res:void 0,beforeRenderFns:e?e.beforeRenderFns:void 0,ssrContext:e});case 10:d("config",n),l.context.enablePreview=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};l.previewData=Object.assign({},t),d("preview",t)},t.next=15;break;case 15:t.next=18;break;case 18:return t.next=21,it(l.context,d);case 21:t.next=24;break;case 24:return t.next=27,lt(l.context);case 27:return l.context.enablePreview=function(){console.warn("You cannot call enablePreview() outside a plugin.")},t.next=30,new Promise((function(t,e){if(!o.resolve(l.context.route.fullPath).route.matched.length)return t();o.replace(l.context.route.fullPath,t,(function(n){if(!n._isRouter)return e(n);if(2!==n.type)return t();var c=o.afterEach(function(){var e=Object(r.a)(regeneratorRuntime.mark((function e(n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=3,Object(x.j)(n);case 3:l.context.route=e.sent,l.context.params=n.params||{},l.context.query=n.query||{},c(),t();case 8:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}())}))}));case 30:return t.abrupt("return",{app:l,router:o});case 31:case"end":return t.stop()}}),t)}))),vt.apply(this,arguments)}},7:function(t,e,n){"use strict";n.d(e,"k",(function(){return x})),n.d(e,"m",(function(){return w})),n.d(e,"l",(function(){return _})),n.d(e,"e",(function(){return O})),n.d(e,"b",(function(){return j})),n.d(e,"s",(function(){return $})),n.d(e,"g",(function(){return k})),n.d(e,"h",(function(){return C})),n.d(e,"d",(function(){return S})),n.d(e,"r",(function(){return P})),n.d(e,"j",(function(){return E})),n.d(e,"t",(function(){return A})),n.d(e,"o",(function(){return D})),n.d(e,"q",(function(){return N})),n.d(e,"f",(function(){return L})),n.d(e,"c",(function(){return I})),n.d(e,"i",(function(){return M})),n.d(e,"p",(function(){return U})),n.d(e,"a",(function(){return Q})),n.d(e,"v",(function(){return V})),n.d(e,"n",(function(){return W})),n.d(e,"u",(function(){return G}));n(2),n(47),n(4),n(5);var r=n(13),o=n(23),c=n(0),l=n(24),f=(n(61),n(1),n(194),n(12),n(14),n(8),n(3),n(34),n(35),n(9),n(10),n(97),n(96),n(54),n(32),n(33),n(199),n(77),n(51),n(6)),h=n(39);function d(object,t){var e=Object.keys(object);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(object);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(object,t).enumerable}))),e.push.apply(e,n)}return e}function m(t){for(var i=1;i=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){l=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(l)throw o}}}}function y(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i1&&void 0!==arguments[1]?arguments[1]:[],r=t.$children||[],o=v(r);try{for(o.s();!(e=o.n()).done;){var c=e.value;c.$fetch?n.push(c):c.$children&&O(c,n)}}catch(t){o.e(t)}finally{o.f()}return n}function j(t,e){if(e||!t.options.__hasNuxtData){var n=t.options._originDataFn||t.options.data||function(){return{}};t.options._originDataFn=n,t.options.data=function(){var data=n.call(this,this);return this.$ssrContext&&(e=this.$ssrContext.asyncData[t.cid]),m(m({},data),e)},t.options.__hasNuxtData=!0,t._Ctor&&t._Ctor.options&&(t._Ctor.options.data=t.options.data)}}function $(t){return t.options&&t._Ctor===t||(t.options?(t._Ctor=t,t.extendOptions=t.options):(t=f.default.extend(t))._Ctor=t,!t.options.name&&t.options.__file&&(t.options.name=t.options.__file)),t}function k(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"components";return Array.prototype.concat.apply([],t.matched.map((function(t,r){return Object.keys(t[n]).map((function(o){return e&&e.push(r),t[n][o]}))})))}function C(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return k(t,e,"instances")}function S(t,e){return Array.prototype.concat.apply([],t.matched.map((function(t,n){return Object.keys(t.components).reduce((function(r,o){return t.components[o]?r.push(e(t.components[o],t.instances[o],t,o,n)):delete t.components[o],r}),[])})))}function P(t,e){return Promise.all(S(t,function(){var t=Object(o.a)(regeneratorRuntime.mark((function t(n,r,o,c){var l,f;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if("function"!=typeof n||n.options){t.next=11;break}return t.prev=1,t.next=4,n();case 4:n=t.sent,t.next=11;break;case 7:throw t.prev=7,t.t0=t.catch(1),t.t0&&"ChunkLoadError"===t.t0.name&&"undefined"!=typeof window&&window.sessionStorage&&(l=Date.now(),(!(f=parseInt(window.sessionStorage.getItem("nuxt-reload")))||f+6e4=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,f=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return l=t.done,t},e:function(t){f=!0,o=t},f:function(){try{l||null==n.return||n.return()}finally{if(f)throw o}}}}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i0},canPrefetch:function(){var t=navigator.connection;return!(this.$nuxt.isOffline||t&&((t.effectiveType||"").includes("2g")||t.saveData))},getPrefetchComponents:function(){return this.$router.resolve(this.to,this.$route,this.append).resolved.matched.map((function(t){return t.components.default})).filter((function(t){return"function"==typeof t&&!t.options&&!t.__prefetched}))},prefetchLink:function(){if(this.canPrefetch()){h.unobserve(this.$el);var t,e=o(this.getPrefetchComponents());try{for(e.s();!(t=e.n()).done;){var n=t.value,r=n();r instanceof Promise&&r.catch((function(){})),n.__prefetched=!0}}catch(t){e.e(t)}finally{e.f()}}}}}}},[[177,13,3,14]]]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{122:function(t,e,n){"use strict";e.a={}},151:function(t,e,n){var content=n(204);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("3d8de15e",content,!0,{sourceMap:!1})},152:function(t,e,n){var content=n(206);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("6439d180",content,!0,{sourceMap:!1})},153:function(t,e,n){var content=n(213);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("670259d2",content,!0,{sourceMap:!1})},170:function(t,e,n){"use strict";var r=n(23),o=(n(61),n(12),n(6)),c=n(7),l=window.__NUXT__;function f(){if(!this._hydrated)return this.$fetch()}function h(){if((t=this).$vnode&&t.$vnode.elm&&t.$vnode.elm.dataset&&t.$vnode.elm.dataset.fetchKey){var t;this._hydrated=!0,this._fetchKey=this.$vnode.elm.dataset.fetchKey;var data=l.fetch[this._fetchKey];if(data&&data._error)this.$fetchState.error=data._error;else for(var e in data)o.default.set(this.$data,e,data[e])}}function d(){var t=this;return this._fetchPromise||(this._fetchPromise=m.call(this).then((function(){delete t._fetchPromise}))),this._fetchPromise}function m(){return v.apply(this,arguments)}function v(){return(v=Object(r.a)(regeneratorRuntime.mark((function t(){var e,n,r,o=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return this.$nuxt.nbFetching++,this.$fetchState.pending=!0,this.$fetchState.error=null,this._hydrated=!1,e=null,n=Date.now(),t.prev=6,t.next=9,this.$options.fetch.call(this);case 9:t.next=15;break;case 11:t.prev=11,t.t0=t.catch(6),e=Object(c.p)(t.t0);case 15:if(!((r=this._fetchDelay-(Date.now()-n))>0)){t.next=19;break}return t.next=19,new Promise((function(t){return setTimeout(t,r)}));case 19:this.$fetchState.error=e,this.$fetchState.pending=!1,this.$fetchState.timestamp=Date.now(),this.$nextTick((function(){return o.$nuxt.nbFetching--}));case 23:case"end":return t.stop()}}),t,this,[[6,11]])})))).apply(this,arguments)}e.a={beforeCreate:function(){Object(c.l)(this)&&(this._fetchDelay="number"==typeof this.$options.fetchDelay?this.$options.fetchDelay:200,o.default.util.defineReactive(this,"$fetchState",{pending:!1,error:null,timestamp:Date.now()}),this.$fetch=d.bind(this),Object(c.a)(this,"created",h),Object(c.a)(this,"beforeMount",f))}}},177:function(t,e,n){n(178),t.exports=n(179)},179:function(t,e,n){"use strict";n.r(e),function(t){n(9),n(2),n(47);var e=n(13),r=n(23),o=(n(140),n(185),n(189),n(190),n(61),n(14),n(1),n(3),n(77),n(50),n(8),n(34),n(12),n(35),n(6)),c=n(163),l=n(122),f=n(7),h=n(40),d=n(170),m=n(95);function v(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return y(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){l=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(l)throw o}}}}function y(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i2?e-2:0),r=2;r1&&void 0!==arguments[1]?arguments[1]:O,n=arguments.length>2?arguments[2]:void 0;return r.call(this,t,e,n)};var o=n.resolve.bind(n);return n.resolve=function(t,e,n){return"string"==typeof t&&(t=Object(y.c)(t)),o(t,e,n)},n}var k={name:"NuxtChild",functional:!0,props:{nuxtChildKey:{type:String,default:""},keepAlive:Boolean,keepAliveProps:{type:Object,default:void 0}},render:function(t,e){var n=e.parent,data=e.data,r=e.props,o=n.$createElement;data.nuxtChild=!0;for(var c=n,l=n.$nuxt.nuxt.transitions,f=n.$nuxt.nuxt.defaultTransition,h=0;n;)n.$vnode&&n.$vnode.data.nuxtChild&&h++,n=n.$parent;data.nuxtChildDepth=h;var d=l[h]||f,m={};C.forEach((function(t){void 0!==d[t]&&(m[t]=d[t])}));var v={};S.forEach((function(t){"function"==typeof d[t]&&(v[t]=d[t].bind(c))}));var y=v.beforeEnter;if(v.beforeEnter=function(t){if(window.$nuxt.$nextTick((function(){window.$nuxt.$emit("triggerScroll")})),y)return y.call(c,t)},!1===d.css){var x=v.leave;(!x||x.length<2)&&(v.leave=function(t,e){x&&x.call(c,t),c.$nextTick(e)})}var w=o("routerView",data);return r.keepAlive&&(w=o("keep-alive",{props:r.keepAliveProps},[w])),o("transition",{props:m,on:v},[w])}},C=["name","mode","appear","css","type","duration","enterClass","leaveClass","appearClass","enterActiveClass","enterActiveClass","leaveActiveClass","appearActiveClass","enterToClass","leaveToClass","appearToClass"],S=["beforeEnter","enter","afterEnter","enterCancelled","beforeLeave","leave","afterLeave","leaveCancelled","beforeAppear","appear","afterAppear","appearCancelled"],P={name:"NuxtError",props:{error:{type:Object,default:null}},computed:{statusCode:function(){return this.error&&this.error.statusCode||500},message:function(){return this.error.message||"Error"}},head:function(){return{title:this.message,meta:[{name:"viewport",content:"width=device-width,initial-scale=1.0,minimum-scale=1.0"}]}}},E=(n(203),n(51)),R=Object(E.a)(P,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"__nuxt-error-page"},[e("div",{staticClass:"error"},[e("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"90",height:"90",fill:"#DBE1EC",viewBox:"0 0 48 48"}},[e("path",{attrs:{d:"M22 30h4v4h-4zm0-16h4v12h-4zm1.99-10C12.94 4 4 12.95 4 24s8.94 20 19.99 20S44 35.05 44 24 35.04 4 23.99 4zM24 40c-8.84 0-16-7.16-16-16S15.16 8 24 8s16 7.16 16 16-7.16 16-16 16z"}})]),t._v(" "),e("div",{staticClass:"title"},[t._v(t._s(t.message))]),t._v(" "),404===t.statusCode?e("p",{staticClass:"description"},[void 0===t.$route?e("a",{staticClass:"error-link",attrs:{href:"/"}}):e("NuxtLink",{staticClass:"error-link",attrs:{to:"/"}},[t._v("Back to the home page")])],1):t._e(),t._v(" "),t._m(0)])])}),[function(){var t=this._self._c;return t("div",{staticClass:"logo"},[t("a",{attrs:{href:"https://nuxtjs.org",target:"_blank",rel:"noopener"}},[this._v("Nuxt")])])}],!1,null,null,null).exports,A=n(24),T=(n(32),n(33),{name:"Nuxt",components:{NuxtChild:k,NuxtError:R},props:{nuxtChildKey:{type:String,default:void 0},keepAlive:Boolean,keepAliveProps:{type:Object,default:void 0},name:{type:String,default:"default"}},errorCaptured:function(t){this.displayingNuxtError&&(this.errorFromNuxtError=t,this.$forceUpdate())},computed:{routerViewKey:function(){if(void 0!==this.nuxtChildKey||this.$route.matched.length>1)return this.nuxtChildKey||Object(x.c)(this.$route.matched[0].path)(this.$route.params);var t=Object(A.a)(this.$route.matched,1)[0];if(!t)return this.$route.path;var e=t.components.default;if(e&&e.options){var n=e.options;if(n.key)return"function"==typeof n.key?n.key(this.$route):n.key}return/\/$/.test(t.path)?this.$route.path:this.$route.path.replace(/\/$/,"")}},beforeCreate:function(){c.default.util.defineReactive(this,"nuxt",this.$root.$options.nuxt)},render:function(t){var e=this;return this.nuxt.err?this.errorFromNuxtError?(this.$nextTick((function(){return e.errorFromNuxtError=!1})),t("div",{},[t("h2","An error occurred while showing the error page"),t("p","Unfortunately an error occurred and while showing the error page another error occurred"),t("p","Error details: ".concat(this.errorFromNuxtError.toString())),t("nuxt-link",{props:{to:"/"}},"Go back to home")])):(this.displayingNuxtError=!0,this.$nextTick((function(){return e.displayingNuxtError=!1})),t(R,{props:{error:this.nuxt.err}})):t("NuxtChild",{key:this.routerViewKey,props:this.$props})}}),D=(n(9),n(47),n(34),n(35),{name:"NuxtLoading",data:function(){return{percent:0,show:!1,canSucceed:!0,reversed:!1,skipTimerCount:0,rtl:!1,throttle:200,duration:5e3,continuous:!1}},computed:{left:function(){return!(!this.continuous&&!this.rtl)&&(this.rtl?this.reversed?"0px":"auto":this.reversed?"auto":"0px")}},beforeDestroy:function(){this.clear()},methods:{clear:function(){clearInterval(this._timer),clearTimeout(this._throttle),this._timer=null},start:function(){var t=this;return this.clear(),this.percent=0,this.reversed=!1,this.skipTimerCount=0,this.canSucceed=!0,this.throttle?this._throttle=setTimeout((function(){return t.startTimer()}),this.throttle):this.startTimer(),this},set:function(t){return this.show=!0,this.canSucceed=!0,this.percent=Math.min(100,Math.max(0,Math.floor(t))),this},get:function(){return this.percent},increase:function(t){return this.percent=Math.min(100,Math.floor(this.percent+t)),this},decrease:function(t){return this.percent=Math.max(0,Math.floor(this.percent-t)),this},pause:function(){return clearInterval(this._timer),this},resume:function(){return this.startTimer(),this},finish:function(){return this.percent=this.reversed?0:100,this.hide(),this},hide:function(){var t=this;return this.clear(),setTimeout((function(){t.show=!1,t.$nextTick((function(){t.percent=0,t.reversed=!1}))}),500),this},fail:function(t){return this.canSucceed=!1,this},startTimer:function(){var t=this;this.show||(this.show=!0),void 0===this._cut&&(this._cut=1e4/Math.floor(this.duration)),this._timer=setInterval((function(){t.skipTimerCount>0?t.skipTimerCount--:(t.reversed?t.decrease(t._cut):t.increase(t._cut),t.continuous&&(t.percent>=100||t.percent<=0)&&(t.skipTimerCount=1,t.reversed=!t.reversed))}),100)}},render:function(t){var e=t(!1);return this.show&&(e=t("div",{staticClass:"nuxt-progress",class:{"nuxt-progress-notransition":this.skipTimerCount>0,"nuxt-progress-failed":!this.canSucceed},style:{width:this.percent+"%",left:this.left}})),e}}),N=(n(205),Object(E.a)(D,undefined,undefined,!1,null,null,null).exports),L=(n(207),n(209),n(212),Object(E.a)({},(function(){var t=this,e=t._self._c;return e("div",[t._m(0),t._v(" "),e("div",{staticClass:"header-container"},[e("header",[e("div",{staticClass:"container"},[e("div",{staticClass:"d-flex justify-content-between align-items-center"},[e("div",{staticClass:"left"},[e("img",{staticClass:"logo cursor-pointer",attrs:{src:n(211),alt:"PHS Logo"},on:{click:function(e){return t.$router.push("/")}}})])])])])]),t._v(" "),e("div",{staticClass:"nav-container"},[e("b-navbar",{attrs:{toggleable:"sm",type:"dark"}},[e("div",{staticClass:"container"},[e("b-navbar-brand",{staticClass:"cursor-pointer",on:{click:function(e){return t.$router.push("/")}}},[t._v("\n Data Science Knowledge Base\n ")]),t._v(" "),e("b-navbar-toggle",{attrs:{target:"nav-collapse"}}),t._v(" "),e("b-collapse",{attrs:{id:"nav-collapse","is-nav":""}},[e("b-navbar-nav",{staticClass:"ml-auto"},[e("NuxtLink",{attrs:{to:"/develop",tag:"b-nav-item"}},[t._v("Develop")]),t._v(" "),e("NuxtLink",{attrs:{to:"/social",tag:"b-nav-item"}},[t._v("Social")]),t._v(" "),e("b-nav-item",{directives:[{name:"b-modal",rawName:"v-b-modal.help-modal",modifiers:{"help-modal":!0}}]},[e("eva-icon",{attrs:{name:"question-mark-circle-outline",fill:"#fff"}})],1),t._v(" "),e("b-modal",{attrs:{id:"help-modal",size:"lg",title:"Help"}},[e("p",{staticClass:"my-4"},[e("strong",[t._v("Training Request")]),t._v(" - If you can't find what you're looking for or have a specific training requirement, use this link to "),e("a",{attrs:{href:"mailto:phs.staffdevelopment@phs.scot?Subject=DSKB - Training Request"}},[t._v("email Staff Development.")])]),t._v(" "),e("p",{staticClass:"my-4"},[e("strong",[t._v("Knowledge Base Enquiry")]),t._v(" - Feedback, issues, or suggestions for the knowledge base? "),e("a",{attrs:{href:"https://github.com/Public-Health-Scotland/knowledge-base/issues/new/choose",target:"_blank"}},[t._v("Open an issue")]),t._v(" on the GitHub repo or "),e("a",{attrs:{href:"mailto:phs.datascience@phs.scot?Subject=DSKB - Enquiry"}},[t._v("email the Data Science team.")])])])],1)],1)],1)])],1),t._v(" "),e("div",{staticClass:"container body"},[e("Nuxt")],1),t._v(" "),e("div",{staticClass:"container d-flex justify-content-between align-items-center"},[e("div",[e("footer",[e("b-nav",[e("b-nav-item",{directives:[{name:"b-modal",rawName:"v-b-modal.accessibility-modal",modifiers:{"accessibility-modal":!0}}]},[t._v("Accessibility")]),t._v(" "),e("b-nav-item",{attrs:{href:"https://www.publichealthscotland.scot/contact-us/freedom-of-information-foi-and-environmental-information-regulation-eir-requests/",target:"_blank"}},[t._v("Freedom of Information")]),t._v(" "),e("b-nav-item",{attrs:{href:"https://www.publichealthscotland.scot/terms-and-conditions/",target:"_blank"}},[t._v("Terms and Conditions")]),t._v(" "),e("b-nav-item",{attrs:{href:"https://www.publichealthscotland.scot/our-privacy-notice/organisational-background/",target:"_blank"}},[t._v("Privacy notice")]),t._v(" "),e("b-nav-item",{attrs:{disabled:""}},[t._v("© Public Health Scotland")])],1)],1)]),t._v(" "),e("div",{},[e("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal.feedback-modal",modifiers:{"feedback-modal":!0}}],staticClass:"feedback-button",attrs:{pill:""}},[e("eva-icon",{attrs:{name:"message-square-outline",fill:"#fff"}})],1)],1)]),t._v(" "),e("b-modal",{attrs:{id:"accessibility-modal",size:"lg",scrollable:"",title:"Accessibility"}},[e("h5",[t._v("Accessible Content")]),t._v("\n This website is run by the Data Science department in Public Health Scotland. We want as many people as possible to be able to use this website. For example, that means you should be able to:\n\n "),e("ul",[e("li",[t._v("change colours, contrast levels and fonts")]),t._v(" "),e("li",[t._v("zoom in up to 300% without the text spilling off the screen")]),t._v(" "),e("li",[t._v("navigate most of the website using just a keyboard")]),t._v(" "),e("li",[t._v("navigate most of the website using speech recognition software")]),t._v(" "),e("li",[t._v("listen to most of the website using a screen reader (including the most recent versions of JAWS, NVDA and VoiceOver)")])]),t._v("\n\n We’ve also made the website text as simple as possible to understand.\n\n We're always looking to improve the accessibility of this website. If you find problems not listed on this page or think we're not meeting accessibility requirements, please email the "),e("a",{attrs:{href:"mailto:phs.datascience@phs.scot?Subject=DSKB - Accessibility"}},[t._v("Data Science team.")]),e("p"),t._v(" "),e("h5",[t._v("Testing")]),t._v(" "),e("i",[t._v("This website is currently undergoing development and testing is not yet been complete.")])]),t._v(" "),e("b-modal",{attrs:{id:"feedback-modal",size:"xl"}},[t._v("\n If this content doesn't load, "),e("a",{attrs:{target:"_blank",href:"https://forms.office.com/r/RhjP2yNq4y"}},[t._v("click here")]),t._v(" to open in a browser tab.\n "),e("br"),t._v(" "),e("div",[e("iframe",{staticStyle:{border:"none",width:"100%"},attrs:{width:"640px",height:"1100px",src:"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmlMENbvENPtAs5eceNN9kYdUQ0JJWlY4UjNOQ1ZCSVlEOUpTSEo3N0JaWS4u&embed=true",frameborder:"0",marginwidth:"0",marginheight:"0",allowfullscreen:"",webkitallowfullscreen:"",mozallowfullscreen:"",msallowfullscreen:""}})])])],1)}),[function(){var t=this._self._c;return t("head",[t("script",{attrs:{src:"https://cdn.lordicon.com/libs/frhvbuzj/lord-icon-2.0.2.js"}})])}],!1,null,null,null).exports);function I(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return M(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return M(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){l=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(l)throw o}}}}function M(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i0},isPreview:function(){return Boolean(this.$options.previewData)}},methods:{refreshOnlineStatus:function(){void 0===window.navigator.onLine?this.isOnline=!0:this.isOnline=window.navigator.onLine},refresh:function(){var t=this;return Object(r.a)(regeneratorRuntime.mark((function e(){var n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((n=Object(x.h)(t.$route)).length){e.next=3;break}return e.abrupt("return");case 3:return t.$loading.start(),r=n.map((function(e){var p=[];if(e.$options.fetch&&e.$options.fetch.length&&p.push(Object(x.q)(e.$options.fetch,t.context)),e.$fetch)p.push(e.$fetch());else{var n,r=I(Object(x.e)(e.$vnode.componentInstance));try{for(r.s();!(n=r.n()).done;){var component=n.value;p.push(component.$fetch())}}catch(t){r.e(t)}finally{r.f()}}return e.$options.asyncData&&p.push(Object(x.q)(e.$options.asyncData,t.context).then((function(t){for(var n in t)c.default.set(e.$data,n,t[n])}))),Promise.all(p)})),e.prev=5,e.next=8,Promise.all(r);case 8:e.next=15;break;case 10:e.prev=10,e.t0=e.catch(5),t.$loading.fail(e.t0),Object(x.k)(e.t0),t.error(e.t0);case 15:t.$loading.finish();case 16:case"end":return e.stop()}}),e,null,[[5,10]])})))()},errorChanged:function(){if(this.nuxt.err){this.$loading&&(this.$loading.fail&&this.$loading.fail(this.nuxt.err),this.$loading.finish&&this.$loading.finish());var t=(R.options||R).layout;"function"==typeof t&&(t=t(this.context)),this.setLayout(t)}},setLayout:function(t){return t&&U["_"+t]||(t="default"),this.layoutName=t,this.layout=U["_"+t],this.layout},loadLayout:function(t){return t&&U["_"+t]||(t="default"),Promise.resolve(U["_"+t])}},components:{NuxtLoading:N}},F=n(94);for(var z in F)c.default.component(z,F[z]),c.default.component("Lazy"+z,F[z]);var H=n(171);c.default.use(H.a,{});var K=n(76),J=n.n(K),Q=n(167);function V(object,t){var e=Object.keys(object);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(object);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(object,t).enumerable}))),e.push.apply(e,n)}return e}function W(t){for(var i=1;i=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){l=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(l)throw o}}}}function X(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i2&&void 0!==arguments[2]?arguments[2]:"common",o=G(Array.isArray(r)?r:[r]);try{for(o.s();!(n=o.n()).done;){var c=n.value;e?this.defaults.headers[c][t]=e:delete this.defaults.headers[c][t]}}catch(t){o.e(t)}finally{o.f()}},setToken:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"common",r=t?(e?e+" ":"")+t:null;this.setHeader("Authorization",r,n)},onRequest:function(t){this.interceptors.request.use((function(e){return t(e)||e}))},onResponse:function(t){this.interceptors.response.use((function(e){return t(e)||e}))},onRequestError:function(t){this.interceptors.request.use(void 0,(function(e){return t(e)||Promise.reject(e)}))},onResponseError:function(t){this.interceptors.response.use(void 0,(function(e){return t(e)||Promise.reject(e)}))},onError:function(t){this.onRequestError(t),this.onResponseError(t)},create:function(t){return nt(Object(Q.a)(t,this.defaults))}},Z=function(){var t=et[tt];Y["$"+t]=function(){return this[t].apply(this,arguments).then((function(t){return t&&t.data}))}},tt=0,et=["request","delete","get","head","options","post","put","patch"];tt has been deprecated and will be removed in Nuxt 3, please use instead")),m.a.render(t,e)}})),c.default.component(k.name,k),c.default.component("NChild",k),c.default.component(T.name,T),Object.defineProperty(c.default.prototype,"$nuxt",{get:function(){var t=this.$root.$options.$nuxt;return t||"undefined"==typeof window?t:window.$nuxt},configurable:!0}),c.default.use(l.a,{keyName:"head",attribute:"data-n-head",ssrAttribute:"data-n-head-ssr",tagIDKeyName:"hid"});var ht={name:"page",mode:"out-in",appear:!0,appearClass:"appear",appearActiveClass:"appear-active",appearToClass:"appear-to"};function mt(t){return vt.apply(this,arguments)}function vt(){return vt=Object(r.a)(regeneratorRuntime.mark((function t(e){var n,o,l,f,h,path,d,m=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return d=function(t,e){if(!t)throw new Error("inject(key, value) has no key provided");if(void 0===e)throw new Error("inject('".concat(t,"', value) has no value provided"));l[t="$"+t]=e,l.context[t]||(l.context[t]=e);var n="__nuxt_"+t+"_installed__";c.default[n]||(c.default[n]=!0,c.default.use((function(){Object.prototype.hasOwnProperty.call(c.default.prototype,t)||Object.defineProperty(c.default.prototype,t,{get:function(){return this.$root.$options[t]}})})))},n=m.length>1&&void 0!==m[1]?m[1]:{},t.next=4,$(0,n);case 4:return o=t.sent,l=pt({head:{title:"PHS Data Science - Knowledge Base",meta:[{charset:"utf-8"},{name:"viewport",content:"width=device-width, initial-scale=1"},{hid:"description",name:"description",content:"[![GitHub release (latest by date)](https://img.shields.io/github/v/release/Public-Health-Scotland/knowledge-base)](https://github.com/Public-Health-Scotland/knowledge-base/releases/latest)"}],link:[{rel:"icon",type:"image/x-icon",href:"/favicon.ico"}],style:[],script:[]},router:o,nuxt:{defaultTransition:ht,transitions:[ht],setTransitions:function(t){return Array.isArray(t)||(t=[t]),t=t.map((function(t){return t=t?"string"==typeof t?Object.assign({},ht,{name:t}):Object.assign({},ht,t):ht})),this.$options.nuxt.transitions=t,t},err:null,dateErr:null,error:function(t){t=t||null,l.context._errored=Boolean(t),t=t?Object(x.p)(t):null;var n=l.nuxt;return this&&(n=this.nuxt||this.$options.nuxt),n.dateErr=Date.now(),n.err=t,e&&(e.nuxt.error=t),t}}},B),f=e?e.next:function(t){return l.router.push(t)},e?h=o.resolve(e.url).route:(path=Object(x.f)(o.options.base,o.options.mode),h=o.resolve(path).route),t.next=10,Object(x.t)(l,{route:h,next:f,error:l.nuxt.error.bind(l),payload:e?e.payload:void 0,req:e?e.req:void 0,res:e?e.res:void 0,beforeRenderFns:e?e.beforeRenderFns:void 0,ssrContext:e});case 10:d("config",n),l.context.enablePreview=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};l.previewData=Object.assign({},t),d("preview",t)},t.next=15;break;case 15:t.next=18;break;case 18:return t.next=21,it(l.context,d);case 21:t.next=24;break;case 24:return t.next=27,lt(l.context);case 27:return l.context.enablePreview=function(){console.warn("You cannot call enablePreview() outside a plugin.")},t.next=30,new Promise((function(t,e){if(!o.resolve(l.context.route.fullPath).route.matched.length)return t();o.replace(l.context.route.fullPath,t,(function(n){if(!n._isRouter)return e(n);if(2!==n.type)return t();var c=o.afterEach(function(){var e=Object(r.a)(regeneratorRuntime.mark((function e(n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=3,Object(x.j)(n);case 3:l.context.route=e.sent,l.context.params=n.params||{},l.context.query=n.query||{},c(),t();case 8:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}())}))}));case 30:return t.abrupt("return",{app:l,router:o});case 31:case"end":return t.stop()}}),t)}))),vt.apply(this,arguments)}},7:function(t,e,n){"use strict";n.d(e,"k",(function(){return x})),n.d(e,"m",(function(){return w})),n.d(e,"l",(function(){return _})),n.d(e,"e",(function(){return O})),n.d(e,"b",(function(){return j})),n.d(e,"s",(function(){return $})),n.d(e,"g",(function(){return k})),n.d(e,"h",(function(){return C})),n.d(e,"d",(function(){return S})),n.d(e,"r",(function(){return P})),n.d(e,"j",(function(){return E})),n.d(e,"t",(function(){return A})),n.d(e,"o",(function(){return D})),n.d(e,"q",(function(){return N})),n.d(e,"f",(function(){return L})),n.d(e,"c",(function(){return I})),n.d(e,"i",(function(){return M})),n.d(e,"p",(function(){return U})),n.d(e,"a",(function(){return Q})),n.d(e,"v",(function(){return V})),n.d(e,"n",(function(){return W})),n.d(e,"u",(function(){return G}));n(2),n(47),n(4),n(5);var r=n(13),o=n(23),c=n(0),l=n(24),f=(n(61),n(1),n(194),n(12),n(14),n(8),n(3),n(34),n(35),n(9),n(10),n(97),n(96),n(54),n(32),n(33),n(199),n(77),n(50),n(6)),h=n(39);function d(object,t){var e=Object.keys(object);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(object);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(object,t).enumerable}))),e.push.apply(e,n)}return e}function m(t){for(var i=1;i=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){l=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(l)throw o}}}}function y(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i1&&void 0!==arguments[1]?arguments[1]:[],r=t.$children||[],o=v(r);try{for(o.s();!(e=o.n()).done;){var c=e.value;c.$fetch?n.push(c):c.$children&&O(c,n)}}catch(t){o.e(t)}finally{o.f()}return n}function j(t,e){if(e||!t.options.__hasNuxtData){var n=t.options._originDataFn||t.options.data||function(){return{}};t.options._originDataFn=n,t.options.data=function(){var data=n.call(this,this);return this.$ssrContext&&(e=this.$ssrContext.asyncData[t.cid]),m(m({},data),e)},t.options.__hasNuxtData=!0,t._Ctor&&t._Ctor.options&&(t._Ctor.options.data=t.options.data)}}function $(t){return t.options&&t._Ctor===t||(t.options?(t._Ctor=t,t.extendOptions=t.options):(t=f.default.extend(t))._Ctor=t,!t.options.name&&t.options.__file&&(t.options.name=t.options.__file)),t}function k(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"components";return Array.prototype.concat.apply([],t.matched.map((function(t,r){return Object.keys(t[n]).map((function(o){return e&&e.push(r),t[n][o]}))})))}function C(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return k(t,e,"instances")}function S(t,e){return Array.prototype.concat.apply([],t.matched.map((function(t,n){return Object.keys(t.components).reduce((function(r,o){return t.components[o]?r.push(e(t.components[o],t.instances[o],t,o,n)):delete t.components[o],r}),[])})))}function P(t,e){return Promise.all(S(t,function(){var t=Object(o.a)(regeneratorRuntime.mark((function t(n,r,o,c){var l,f;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if("function"!=typeof n||n.options){t.next=11;break}return t.prev=1,t.next=4,n();case 4:n=t.sent,t.next=11;break;case 7:throw t.prev=7,t.t0=t.catch(1),t.t0&&"ChunkLoadError"===t.t0.name&&"undefined"!=typeof window&&window.sessionStorage&&(l=Date.now(),(!(f=parseInt(window.sessionStorage.getItem("nuxt-reload")))||f+6e4=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,f=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return l=t.done,t},e:function(t){f=!0,o=t},f:function(){try{l||null==n.return||n.return()}finally{if(f)throw o}}}}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i0},canPrefetch:function(){var t=navigator.connection;return!(this.$nuxt.isOffline||t&&((t.effectiveType||"").includes("2g")||t.saveData))},getPrefetchComponents:function(){return this.$router.resolve(this.to,this.$route,this.append).resolved.matched.map((function(t){return t.components.default})).filter((function(t){return"function"==typeof t&&!t.options&&!t.__prefetched}))},prefetchLink:function(){if(this.canPrefetch()){h.unobserve(this.$el);var t,e=o(this.getPrefetchComponents());try{for(e.s();!(t=e.n()).done;){var n=t.value,r=n();r instanceof Promise&&r.catch((function(){})),n.__prefetched=!0}}catch(t){e.e(t)}finally{e.f()}}}}}}},[[177,13,3,14]]]); \ No newline at end of file diff --git a/docs/_nuxt/5677feb.js b/docs/_nuxt/4b0141d.js similarity index 99% rename from docs/_nuxt/5677feb.js rename to docs/_nuxt/4b0141d.js index c854ab9..508ec8e 100644 --- a/docs/_nuxt/5677feb.js +++ b/docs/_nuxt/4b0141d.js @@ -1,2 +1,2 @@ /*! For license information please see LICENSES */ -(window.webpackJsonp=window.webpackJsonp||[]).push([[3],[function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n(92);function o(t,e,n){return(e=Object(r.a)(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}},function(t,e,n){"use strict";var r=n(11),o=n(72)(2);r(r.P+r.F*!n(147)([].filter,!0),"Array",{filter:function(t){return o(this,t,arguments[1])}})},function(t,e,n){"use strict";var r=n(15),o=n(36),c=n(26),f=n(11),l=n(27),d=n(62).KEY,h=n(25),v=n(80),y=n(67),m=n(64),_=n(19),w=n(131),x=n(181),O=n(182),S=n(134),j=n(22),k=n(20),E=n(38),C=n(37),A=n(79),T=n(63),$=n(78),P=n(135),I=n(70),R=n(81),N=n(29),L=n(48),M=I.f,D=N.f,F=P.f,U=r.Symbol,B=r.JSON,z=B&&B.stringify,V="prototype",H=_("_hidden"),W=_("toPrimitive"),K={}.propertyIsEnumerable,G=v("symbol-registry"),J=v("symbols"),X=v("op-symbols"),Y=Object[V],Q="function"==typeof U&&!!R.f,Z=r.QObject,tt=!Z||!Z[V]||!Z[V].findChild,et=c&&h((function(){return 7!=$(D({},"a",{get:function(){return D(this,"a",{value:7}).a}})).a}))?function(t,e,n){var r=M(Y,e);r&&delete Y[e],D(t,e,n),r&&t!==Y&&D(Y,e,r)}:D,nt=function(t){var e=J[t]=$(U[V]);return e._k=t,e},ot=Q&&"symbol"==typeof U.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof U},it=function(t,e,n){return t===Y&&it(X,e,n),j(t),e=A(e,!0),j(n),o(J,e)?(n.enumerable?(o(t,H)&&t[H][e]&&(t[H][e]=!1),n=$(n,{enumerable:T(0,!1)})):(o(t,H)||D(t,H,T(1,{})),t[H][e]=!0),et(t,e,n)):D(t,e,n)},at=function(t,e){j(t);for(var n,r=O(e=C(e)),i=0,o=r.length;o>i;)it(t,n=r[i++],e[n]);return t},ut=function(t){var e=K.call(this,t=A(t,!0));return!(this===Y&&o(J,t)&&!o(X,t))&&(!(e||!o(this,t)||!o(J,t)||o(this,H)&&this[H][t])||e)},ct=function(t,e){if(t=C(t),e=A(e,!0),t!==Y||!o(J,e)||o(X,e)){var n=M(t,e);return!n||!o(J,e)||o(t,H)&&t[H][e]||(n.enumerable=!0),n}},st=function(t){for(var e,n=F(C(t)),r=[],i=0;n.length>i;)o(J,e=n[i++])||e==H||e==d||r.push(e);return r},ft=function(t){for(var e,n=t===Y,r=F(n?X:C(t)),c=[],i=0;r.length>i;)!o(J,e=r[i++])||n&&!o(Y,e)||c.push(J[e]);return c};Q||(U=function(){if(this instanceof U)throw TypeError("Symbol is not a constructor!");var t=m(arguments.length>0?arguments[0]:void 0),e=function(n){this===Y&&e.call(X,n),o(this,H)&&o(this[H],t)&&(this[H][t]=!1),et(this,t,T(1,n))};return c&&tt&&et(Y,t,{configurable:!0,set:e}),nt(t)},l(U[V],"toString",(function(){return this._k})),I.f=ct,N.f=it,n(69).f=P.f=st,n(68).f=ut,R.f=ft,c&&!n(65)&&l(Y,"propertyIsEnumerable",ut,!0),w.f=function(t){return nt(_(t))}),f(f.G+f.W+f.F*!Q,{Symbol:U});for(var lt="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),pt=0;lt.length>pt;)_(lt[pt++]);for(var ht=L(_.store),vt=0;ht.length>vt;)x(ht[vt++]);f(f.S+f.F*!Q,"Symbol",{for:function(t){return o(G,t+="")?G[t]:G[t]=U(t)},keyFor:function(t){if(!ot(t))throw TypeError(t+" is not a symbol!");for(var e in G)if(G[e]===t)return e},useSetter:function(){tt=!0},useSimple:function(){tt=!1}}),f(f.S+f.F*!Q,"Object",{create:function(t,e){return void 0===e?$(t):at($(t),e)},defineProperty:it,defineProperties:at,getOwnPropertyDescriptor:ct,getOwnPropertyNames:st,getOwnPropertySymbols:ft});var yt=h((function(){R.f(1)}));f(f.S+f.F*yt,"Object",{getOwnPropertySymbols:function(t){return R.f(E(t))}}),B&&f(f.S+f.F*(!Q||h((function(){var t=U();return"[null]"!=z([t])||"{}"!=z({a:t})||"{}"!=z(Object(t))}))),"JSON",{stringify:function(t){for(var e,n,r=[t],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=e=r[1],(k(e)||void 0!==t)&&!ot(t))return S(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!ot(e))return e}),r[1]=e,z.apply(B,r)}}),U[V][W]||n(42)(U[V],W,U[V].valueOf),y(U,"Symbol"),y(Math,"Math",!0),y(r.JSON,"JSON",!0)},function(t,e,n){var r=n(38),o=n(48);n(53)("keys",(function(){return function(t){return o(r(t))}}))},function(t,e,n){var r=n(37),o=n(70).f;n(53)("getOwnPropertyDescriptor",(function(){return function(t,e){return o(r(t),e)}}))},function(t,e,n){var r=n(11),o=n(193),c=n(37),f=n(70),l=n(138);r(r.S,"Object",{getOwnPropertyDescriptors:function(object){for(var t,desc,e=c(object),n=f.f,r=o(e),d={},i=0;r.length>i;)void 0!==(desc=n(e,t=r[i++]))&&l(d,t,desc);return d}})},function(t,e,n){"use strict";n.r(e),function(t,r){n.d(e,"EffectScope",(function(){return Te})),n.d(e,"computed",(function(){return ge})),n.d(e,"customRef",(function(){return le})),n.d(e,"default",(function(){return go})),n.d(e,"defineAsyncComponent",(function(){return Vn})),n.d(e,"defineComponent",(function(){return ur})),n.d(e,"del",(function(){return del})),n.d(e,"effectScope",(function(){return $e})),n.d(e,"getCurrentInstance",(function(){return Ot})),n.d(e,"getCurrentScope",(function(){return Pe})),n.d(e,"h",(function(){return En})),n.d(e,"inject",(function(){return Le})),n.d(e,"isProxy",(function(){return Zt})),n.d(e,"isReactive",(function(){return Xt})),n.d(e,"isReadonly",(function(){return Qt})),n.d(e,"isRef",(function(){return re})),n.d(e,"isShallow",(function(){return Yt})),n.d(e,"markRaw",(function(){return ee})),n.d(e,"mergeDefaults",(function(){return wn})),n.d(e,"nextTick",(function(){return Bn})),n.d(e,"onActivated",(function(){return Qn})),n.d(e,"onBeforeMount",(function(){return Wn})),n.d(e,"onBeforeUnmount",(function(){return Xn})),n.d(e,"onBeforeUpdate",(function(){return Gn})),n.d(e,"onDeactivated",(function(){return Zn})),n.d(e,"onErrorCaptured",(function(){return ir})),n.d(e,"onMounted",(function(){return Kn})),n.d(e,"onRenderTracked",(function(){return nr})),n.d(e,"onRenderTriggered",(function(){return rr})),n.d(e,"onScopeDispose",(function(){return Ie})),n.d(e,"onServerPrefetch",(function(){return er})),n.d(e,"onUnmounted",(function(){return Yn})),n.d(e,"onUpdated",(function(){return Jn})),n.d(e,"provide",(function(){return Re})),n.d(e,"proxyRefs",(function(){return se})),n.d(e,"reactive",(function(){return Kt})),n.d(e,"readonly",(function(){return he})),n.d(e,"ref",(function(){return oe})),n.d(e,"set",(function(){return Ht})),n.d(e,"shallowReactive",(function(){return Gt})),n.d(e,"shallowReadonly",(function(){return me})),n.d(e,"shallowRef",(function(){return ie})),n.d(e,"toRaw",(function(){return te})),n.d(e,"toRef",(function(){return de})),n.d(e,"toRefs",(function(){return pe})),n.d(e,"triggerRef",(function(){return ue})),n.d(e,"unref",(function(){return ce})),n.d(e,"useAttrs",(function(){return gn})),n.d(e,"useCssModule",(function(){return qn})),n.d(e,"useCssVars",(function(){return zn})),n.d(e,"useListeners",(function(){return bn})),n.d(e,"useSlots",(function(){return mn})),n.d(e,"version",(function(){return ar})),n.d(e,"watch",(function(){return Ce})),n.d(e,"watchEffect",(function(){return Oe})),n.d(e,"watchPostEffect",(function(){return Se})),n.d(e,"watchSyncEffect",(function(){return je}));var o=Object.freeze({}),c=Array.isArray;function f(t){return null==t}function l(t){return null!=t}function d(t){return!0===t}function h(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function v(t){return"function"==typeof t}function y(t){return null!==t&&"object"==typeof t}var m=Object.prototype.toString;function _(t){return"[object Object]"===m.call(t)}function w(t){return"[object RegExp]"===m.call(t)}function x(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function O(t){return l(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function S(t){return null==t?"":Array.isArray(t)||_(t)&&t.toString===m?JSON.stringify(t,null,2):String(t)}function j(t){var e=parseFloat(t);return isNaN(e)?t:e}function k(t,e){for(var map=Object.create(null),n=t.split(","),i=0;i-1)return t.splice(r,1)}}var A=Object.prototype.hasOwnProperty;function T(t,e){return A.call(t,e)}function $(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var P=/-(\w)/g,I=$((function(t){return t.replace(P,(function(t,e){return e?e.toUpperCase():""}))})),R=$((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),N=/\B([A-Z])/g,L=$((function(t){return t.replace(N,"-$1").toLowerCase()}));var M=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(a){var n=arguments.length;return n?n>1?t.apply(e,arguments):t.call(e,a):t.call(e)}return n._length=t.length,n};function D(t,e){e=e||0;for(var i=t.length-e,n=new Array(i);i--;)n[i]=t[i+e];return n}function F(t,e){for(var n in e)t[n]=e[n];return t}function U(t){for(var e={},i=0;i0,st=at&&at.indexOf("edge/")>0;at&&at.indexOf("android");var ft=at&&/iphone|ipad|ipod|ios/.test(at);at&&/chrome\/\d+/.test(at),at&&/phantomjs/.test(at);var lt,pt=at&&at.match(/firefox\/(\d+)/),ht={}.watch,vt=!1;if(it)try{var yt={};Object.defineProperty(yt,"passive",{get:function(){vt=!0}}),window.addEventListener("test-passive",null,yt)}catch(t){}var mt=function(){return void 0===lt&&(lt=!it&&void 0!==t&&(t.process&&"server"===t.process.env.VUE_ENV)),lt},gt=it&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function bt(t){return"function"==typeof t&&/native code/.test(t.toString())}var _t,wt="undefined"!=typeof Symbol&&bt(Symbol)&&"undefined"!=typeof Reflect&&bt(Reflect.ownKeys);_t="undefined"!=typeof Set&&bt(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var xt=null;function Ot(){return xt&&{proxy:xt}}function St(t){void 0===t&&(t=null),t||xt&&xt._scope.off(),xt=t,t&&t._scope.on()}var jt=function(){function t(t,data,e,text,n,r,o,c){this.tag=t,this.data=data,this.children=e,this.text=text,this.elm=n,this.ns=void 0,this.context=r,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=data&&data.key,this.componentOptions=o,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=c,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(t.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),t}(),kt=function(text){void 0===text&&(text="");var t=new jt;return t.text=text,t.isComment=!0,t};function Et(t){return new jt(void 0,void 0,void 0,String(t))}function Ct(t){var e=new jt(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}var At=0,Tt=[],$t=function(){function t(){this._pending=!1,this.id=At++,this.subs=[]}return t.prototype.addSub=function(sub){this.subs.push(sub)},t.prototype.removeSub=function(sub){this.subs[this.subs.indexOf(sub)]=null,this._pending||(this._pending=!0,Tt.push(this))},t.prototype.depend=function(e){t.target&&t.target.addDep(this)},t.prototype.notify=function(t){var e=this.subs.filter((function(s){return s}));for(var i=0,n=e.length;i1)return n&&v(e)?e.call(r):e}else 0}var Me=$((function(t){var e="&"===t.charAt(0),n="~"===(t=e?t.slice(1):t).charAt(0),r="!"===(t=n?t.slice(1):t).charAt(0);return{name:t=r?t.slice(1):t,once:n,capture:r,passive:e}}));function De(t,e){function n(){var t=n.fns;if(!c(t))return An(t,null,arguments,e,"v-on handler");for(var r=t.slice(),i=0;i0&&(ze((n=Ve(n,"".concat(e||"","_").concat(i)))[0])&&ze(o)&&(v[r]=Et(o.text+n[0].text),n.shift()),v.push.apply(v,n)):h(n)?ze(o)?v[r]=Et(o.text+n):""!==n&&v.push(Et(n)):ze(n)&&ze(o)?v[r]=Et(o.text+n.text):(d(t._isVList)&&l(n.tag)&&f(n.key)&&l(e)&&(n.key="__vlist".concat(e,"_").concat(i,"__")),v.push(n)));return v}function He(t,e){var i,n,r,o,f=null;if(c(t)||"string"==typeof t)for(f=new Array(t.length),i=0,n=t.length;i0,l=e?!!e.$stable:!f,d=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(l&&r&&r!==o&&d===r.$key&&!f&&!r.$hasNormal)return r;for(var h in c={},e)e[h]&&"$"!==h[0]&&(c[h]=ln(t,n,h,e[h]))}else c={};for(var v in n)v in c||(c[v]=pn(n,v));return e&&Object.isExtensible(e)&&(e._normalized=c),et(c,"$stable",l),et(c,"$key",d),et(c,"$hasNormal",f),c}function ln(t,e,n,r){var o=function(){var e=xt;St(t);var n=arguments.length?r.apply(null,arguments):r({}),o=(n=n&&"object"==typeof n&&!c(n)?[n]:qe(n))&&n[0];return St(e),n&&(!o||1===n.length&&o.isComment&&!sn(o))?void 0:n};return r.proxy&&Object.defineProperty(e,n,{get:o,enumerable:!0,configurable:!0}),o}function pn(t,e){return function(){return t[e]}}function dn(t){return{get attrs(){if(!t._attrsProxy){var e=t._attrsProxy={};et(e,"_v_attr_proxy",!0),hn(e,t.$attrs,o,t,"$attrs")}return t._attrsProxy},get listeners(){t._listenersProxy||hn(t._listenersProxy={},t.$listeners,o,t,"$listeners");return t._listenersProxy},get slots(){return function(t){t._slotsProxy||yn(t._slotsProxy={},t.$scopedSlots);return t._slotsProxy}(t)},emit:M(t.$emit,t),expose:function(e){e&&Object.keys(e).forEach((function(n){return fe(t,e,n)}))}}}function hn(t,e,n,r,o){var c=!1;for(var f in e)f in t?e[f]!==n[f]&&(c=!0):(c=!0,vn(t,f,r,o));for(var f in t)f in e||(c=!0,delete t[f]);return c}function vn(t,e,n,r){Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){return n[r][e]}})}function yn(t,e){for(var n in e)t[n]=e[n];for(var n in t)n in e||delete t[n]}function mn(){return _n().slots}function gn(){return _n().attrs}function bn(){return _n().listeners}function _n(){var t=xt;return t._setupContext||(t._setupContext=dn(t))}function wn(t,e){var n=c(t)?t.reduce((function(t,p){return t[p]={},t}),{}):t;for(var r in e){var o=n[r];o?c(o)||v(o)?n[r]={type:o,default:e[r]}:o.default=e[r]:null===o&&(n[r]={default:e[r]})}return n}var xn=null;function On(t,base){return(t.__esModule||wt&&"Module"===t[Symbol.toStringTag])&&(t=t.default),y(t)?base.extend(t):t}function Sn(t){if(c(t))for(var i=0;idocument.createEvent("Event").timeStamp&&(Ir=function(){return Rr.now()})}var Nr=function(a,b){if(a.post){if(!b.post)return 1}else if(b.post)return-1;return a.id-b.id};function Lr(){var t,e;for(Pr=Ir(),Tr=!0,kr.sort(Nr),$r=0;$r$r&&kr[i].id>t.id;)i--;kr.splice(i+1,0,t)}else kr.push(t);Ar||(Ar=!0,Bn(Lr))}}function Dr(t,e){if(t){for(var n=Object.create(null),r=wt?Reflect.ownKeys(t):Object.keys(t),i=0;i-1)if(c&&!T(o,"default"))f=!1;else if(""===f||f===L(t)){var d=ao(String,o.type);(d<0||l-1:"string"==typeof pattern?pattern.split(",").indexOf(t)>-1:!!w(pattern)&&pattern.test(t)}function xo(t,filter){var e=t.cache,n=t.keys,r=t._vnode;for(var o in e){var c=e[o];if(c){var f=c.name;f&&!filter(f)&&Oo(e,o,n,r)}}}function Oo(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,C(n,e)}!function(t){t.prototype._init=function(t){var e=this;e._uid=yo++,e._isVue=!0,e.__v_skip=!0,e._scope=new Te(!0),e._scope._vm=!0,t&&t._isComponent?function(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}(e,t):e.$options=to(mo(e.constructor),t||{},e),e._renderProxy=e,e._self=e,function(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._provided=n?n._provided:Object.create(null),t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(e),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&gr(t,e)}(e),function(t){t._vnode=null,t._staticTrees=null;var e=t.$options,n=t.$vnode=e._parentVnode,r=n&&n.context;t.$slots=un(e._renderChildren,r),t.$scopedSlots=n?fn(t.$parent,n.data.scopedSlots,t.$slots):o,t._c=function(a,b,e,n){return jn(t,a,b,e,n,!1)},t.$createElement=function(a,b,e,n){return jn(t,a,b,e,n,!0)};var c=n&&n.data;Vt(t,"$attrs",c&&c.attrs||o,null,!0),Vt(t,"$listeners",e._parentListeners||o,null,!0)}(e),jr(e,"beforeCreate",void 0,!1),function(t){var e=Dr(t.$options.inject,t);e&&(Ut(!1),Object.keys(e).forEach((function(n){Vt(t,n,e[n])})),Ut(!0))}(e),so(e),function(t){var e=t.$options.provide;if(e){var n=v(e)?e.call(t):e;if(!y(n))return;for(var source=Ne(t),r=wt?Reflect.ownKeys(n):Object.keys(n),i=0;i1?D(n):n;for(var r=D(arguments,1),o='event handler for "'.concat(t,'"'),i=0,c=n.length;iparseInt(this.max)&&Oo(e,n[0],n,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)Oo(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",(function(e){xo(t,(function(t){return wo(e,t)}))})),this.$watch("exclude",(function(e){xo(t,(function(t){return!wo(e,t)}))}))},updated:function(){this.cacheVNode()},render:function(){var slot=this.$slots.default,t=Sn(slot),e=t&&t.componentOptions;if(e){var n=_o(e),r=this.include,o=this.exclude;if(r&&(!n||!wo(r,n))||o&&n&&wo(o,n))return t;var c=this.cache,f=this.keys,l=null==t.key?e.Ctor.cid+(e.tag?"::".concat(e.tag):""):t.key;c[l]?(t.componentInstance=c[l].componentInstance,C(f,l),f.push(l)):(this.vnodeToCache=t,this.keyToCache=l),t.data.keepAlive=!0}return t||slot&&slot[0]}}};!function(t){var e={get:function(){return Q}};Object.defineProperty(t,"config",e),t.util={warn:Kr,extend:F,mergeOptions:to,defineReactive:Vt},t.set=Ht,t.delete=del,t.nextTick=Bn,t.observable=function(t){return zt(t),t},t.options=Object.create(null),X.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,F(t.options.components,jo),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=D(arguments,1);return n.unshift(this),v(t.install)?t.install.apply(t,n):v(t)&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=to(this.options,t),this}}(t),bo(t),function(t){X.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&_(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&v(n)&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}(t)}(go),Object.defineProperty(go.prototype,"$isServer",{get:mt}),Object.defineProperty(go.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(go,"FunctionalRenderContext",{value:Fr}),go.version=ar;var ko=k("style,class"),Eo=k("input,textarea,option,select,progress"),Co=k("contenteditable,draggable,spellcheck"),Ao=k("events,caret,typing,plaintext-only"),To=k("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),$o="http://www.w3.org/1999/xlink",Po=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Io=function(t){return Po(t)?t.slice(6,t.length):""},Ro=function(t){return null==t||!1===t};function No(t){for(var data=t.data,e=t,n=t;l(n.componentInstance);)(n=n.componentInstance._vnode)&&n.data&&(data=Lo(n.data,data));for(;l(e=e.parent);)e&&e.data&&(data=Lo(data,e.data));return function(t,e){if(l(t)||l(e))return Mo(t,Do(e));return""}(data.staticClass,data.class)}function Lo(t,e){return{staticClass:Mo(t.staticClass,e.staticClass),class:l(t.class)?[t.class,e.class]:e.class}}function Mo(a,b){return a?b?a+" "+b:a:b||""}function Do(t){return Array.isArray(t)?function(t){for(var e,n="",i=0,r=t.length;i-1?ci(t,e,n):To(e)?Ro(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):Co(e)?t.setAttribute(e,function(t,e){return Ro(e)||"false"===e?"false":"contenteditable"===t&&Ao(e)?e:"true"}(e,n)):Po(e)?Ro(n)?t.removeAttributeNS($o,Io(e)):t.setAttributeNS($o,e,n):ci(t,e,n)}function ci(t,e,n){if(Ro(n))t.removeAttribute(e);else{if(ut&&!ct&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var si={create:ai,update:ai};function fi(t,e){var n=e.elm,data=e.data,r=t.data;if(!(f(data.staticClass)&&f(data.class)&&(f(r)||f(r.staticClass)&&f(r.class)))){var o=No(e),c=n._transitionClasses;l(c)&&(o=Mo(o,Do(c))),o!==n._prevClass&&(n.setAttribute("class",o),n._prevClass=o)}}var pi,di={create:fi,update:fi},hi="__r",vi="__c";function yi(t,e,n){var r=pi;return function o(){var c=e.apply(null,arguments);null!==c&&bi(t,o,n,r)}}var mi=In&&!(pt&&Number(pt[1])<=53);function gi(t,e,n,r){if(mi){var o=Pr,c=e;e=c._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return c.apply(this,arguments)}}pi.addEventListener(t,e,vt?{capture:n,passive:r}:n)}function bi(t,e,n,r){(r||pi).removeEventListener(t,e._wrapper||e,n)}function _i(t,e){if(!f(t.data.on)||!f(e.data.on)){var n=e.data.on||{},r=t.data.on||{};pi=e.elm||t.elm,function(t){if(l(t[hi])){var e=ut?"change":"input";t[e]=[].concat(t[hi],t[e]||[]),delete t[hi]}l(t[vi])&&(t.change=[].concat(t[vi],t.change||[]),delete t[vi])}(n),Fe(n,r,gi,bi,yi,e.context),pi=void 0}}var wi,xi={create:_i,update:_i,destroy:function(t){return _i(t,Jo)}};function Oi(t,e){if(!f(t.data.domProps)||!f(e.data.domProps)){var n,r,o=e.elm,c=t.data.domProps||{},h=e.data.domProps||{};for(n in(l(h.__ob__)||d(h._v_attr_proxy))&&(h=e.data.domProps=F({},h)),c)n in h||(o[n]="");for(n in h){if(r=h[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),r===c[n])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===n&&"PROGRESS"!==o.tagName){o._value=r;var v=f(r)?"":String(r);Si(o,v)&&(o.value=v)}else if("innerHTML"===n&&Bo(o.tagName)&&f(o.innerHTML)){(wi=wi||document.createElement("div")).innerHTML="".concat(r,"");for(var svg=wi.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;svg.firstChild;)o.appendChild(svg.firstChild)}else if(r!==c[n])try{o[n]=r}catch(t){}}}}function Si(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,e)||function(t,e){var n=t.value,r=t._vModifiers;if(l(r)){if(r.number)return j(n)!==j(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}(t,e))}var ji={create:Oi,update:Oi},ki=$((function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach((function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}})),e}));function Ei(data){var style=Ci(data.style);return data.staticStyle?F(data.staticStyle,style):style}function Ci(t){return Array.isArray(t)?U(t):"string"==typeof t?ki(t):t}var Ai,Ti=/^--/,$i=/\s*!important$/,Pi=function(t,e,n){if(Ti.test(e))t.style.setProperty(e,n);else if($i.test(n))t.style.setProperty(L(e),n.replace($i,""),"important");else{var r=Ri(e);if(Array.isArray(n))for(var i=0,o=n.length;i-1?e.split(Li).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" ".concat(t.getAttribute("class")||""," ");n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function Di(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(Li).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" ".concat(t.getAttribute("class")||""," "),r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function Fi(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&F(e,Ui(t.name||"v")),F(e,t),e}return"string"==typeof t?Ui(t):void 0}}var Ui=$((function(t){return{enterClass:"".concat(t,"-enter"),enterToClass:"".concat(t,"-enter-to"),enterActiveClass:"".concat(t,"-enter-active"),leaveClass:"".concat(t,"-leave"),leaveToClass:"".concat(t,"-leave-to"),leaveActiveClass:"".concat(t,"-leave-active")}})),Bi=it&&!ct,qi="transition",zi="animation",Vi="transition",Hi="transitionend",Wi="animation",Ki="animationend";Bi&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Vi="WebkitTransition",Hi="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Wi="WebkitAnimation",Ki="webkitAnimationEnd"));var Gi=it?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function Ji(t){Gi((function(){Gi(t)}))}function Xi(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),Mi(t,e))}function Yi(t,e){t._transitionClasses&&C(t._transitionClasses,e),Di(t,e)}function Qi(t,e,n){var r=ta(t,e),o=r.type,c=r.timeout,f=r.propCount;if(!o)return n();var l=o===qi?Hi:Ki,d=0,h=function(){t.removeEventListener(l,v),n()},v=function(e){e.target===t&&++d>=f&&h()};setTimeout((function(){d0&&(n=qi,v=f,y=c.length):e===zi?h>0&&(n=zi,v=h,y=d.length):y=(n=(v=Math.max(f,h))>0?f>h?qi:zi:null)?n===qi?c.length:d.length:0,{type:n,timeout:v,propCount:y,hasTransform:n===qi&&Zi.test(r[Vi+"Property"])}}function ea(t,e){for(;t.length1}function ua(t,e){!0!==e.data.show&&ra(e)}var ca=function(t){var i,e,n={},r=t.modules,o=t.nodeOps;for(i=0;iw?j(t,f(n[S+1])?null:n[S+1].elm,n,_,S,r):_>S&&C(e,m,w)}(m,_,w,r,v):l(w)?(l(t.text)&&o.setTextContent(m,""),j(m,null,w,0,w.length-1,r)):l(_)?C(_,0,_.length-1):l(t.text)&&o.setTextContent(m,""):t.text!==e.text&&o.setTextContent(m,e.text),l(data)&&l(i=data.hook)&&l(i=i.postpatch)&&i(t,e)}}}function P(t,e,n){if(d(n)&&l(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r-1,option.selected!==c&&(option.selected=c);else if(H(da(option),r))return void(t.selectedIndex!==i&&(t.selectedIndex=i));o||(t.selectedIndex=-1)}}function pa(t,e){return e.every((function(e){return!H(e,t)}))}function da(option){return"_value"in option?option._value:option.value}function ha(t){t.target.composing=!0}function va(t){t.target.composing&&(t.target.composing=!1,ya(t.target,"input"))}function ya(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function ma(t){return!t.componentInstance||t.data&&t.data.transition?t:ma(t.componentInstance._vnode)}var ga={bind:function(t,e,n){var r=e.value,o=(n=ma(n)).data&&n.data.transition,c=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&o?(n.data.show=!0,ra(n,(function(){t.style.display=c}))):t.style.display=r?c:"none"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&((n=ma(n)).data&&n.data.transition?(n.data.show=!0,r?ra(n,(function(){t.style.display=t.__vOriginalDisplay})):oa(n,(function(){t.style.display="none"}))):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}},ba={model:sa,show:ga},_a={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function wa(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?wa(Sn(e.children)):t}function xa(t){var data={},e=t.$options;for(var n in e.propsData)data[n]=t[n];var r=e._parentListeners;for(var n in r)data[I(n)]=r[n];return data}function Oa(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var Sa=function(t){return t.tag||sn(t)},ja=function(t){return"show"===t.name},ka={name:"transition",props:_a,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(Sa)).length){0;var r=this.mode;0;var o=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return o;var c=wa(o);if(!c)return o;if(this._leaving)return Oa(t,o);var f="__transition-".concat(this._uid,"-");c.key=null==c.key?c.isComment?f+"comment":f+c.tag:h(c.key)?0===String(c.key).indexOf(f)?c.key:f+c.key:c.key;var data=(c.data||(c.data={})).transition=xa(this),l=this._vnode,d=wa(l);if(c.data.directives&&c.data.directives.some(ja)&&(c.data.show=!0),d&&d.data&&!function(t,e){return e.key===t.key&&e.tag===t.tag}(c,d)&&!sn(d)&&(!d.componentInstance||!d.componentInstance._vnode.isComment)){var v=d.data.transition=F({},data);if("out-in"===r)return this._leaving=!0,Ue(v,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),Oa(t,o);if("in-out"===r){if(sn(c))return l;var y,m=function(){y()};Ue(data,"afterEnter",m),Ue(data,"enterCancelled",m),Ue(v,"delayLeave",(function(t){y=t}))}}return o}}},Ea=F({tag:String,moveClass:String},_a);delete Ea.mode;var Ca={props:Ea,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var o=wr(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,o(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",map=Object.create(null),n=this.prevChildren=this.children,r=this.$slots.default||[],o=this.children=[],c=xa(this),i=0;i-1?zo[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:zo[t]=/HTMLUnknownElement/.test(e.toString())},F(go.options.directives,ba),F(go.options.components,Pa),go.prototype.__patch__=it?ca:B,go.prototype.$mount=function(t,e){return function(t,e,n){var r;t.$el=e,t.$options.render||(t.$options.render=kt),jr(t,"beforeMount"),r=function(){t._update(t._render(),n)},new dr(t,r,B,{before:function(){t._isMounted&&!t._isDestroyed&&jr(t,"beforeUpdate")}},!0),n=!1;var o=t._preWatchers;if(o)for(var i=0;i]*>)/g,_=/\$([$&`']|\d\d?)/g;n(85)("replace",2,(function(t,e,n,w){return[function(r,o){var c=t(this),f=null==r?void 0:r[e];return void 0!==f?f.call(r,c,o):n.call(String(c),r,o)},function(t,e){var o=w(n,t,this,e);if(o.done)return o.value;var y=r(t),m=String(this),_="function"==typeof e;_||(e=String(e));var O=y.global;if(O){var S=y.unicode;y.lastIndex=0}for(var j=[];;){var k=d(y,m);if(null===k)break;if(j.push(k),!O)break;""===String(k[0])&&(y.lastIndex=l(m,c(y.lastIndex),S))}for(var E,C="",A=0,i=0;i=A&&(C+=m.slice(A,$)+L,A=$+T.length)}return C+m.slice(A)}];function x(t,e,r,c,f,l){var d=r+t.length,h=c.length,v=_;return void 0!==f&&(f=o(f),v=m),n.call(l,v,(function(n,o){var l;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(d);case"<":l=f[o.slice(1,-1)];break;default:var v=+o;if(0===v)return n;if(v>h){var m=y(v/10);return 0===m?n:m<=h?void 0===c[m-1]?o.charAt(1):c[m-1]+o.charAt(1):n}l=c[v-1]}return void 0===l?"":l}))}}))},function(t,e,n){var r=n(15),o=n(41),c=n(42),f=n(27),l=n(46),d="prototype",h=function(t,e,source){var n,v,y,m,_=t&h.F,w=t&h.G,x=t&h.S,O=t&h.P,S=t&h.B,j=w?r:x?r[e]||(r[e]={}):(r[e]||{})[d],k=w?o:o[e]||(o[e]={}),E=k[d]||(k[d]={});for(n in w&&(source=e),source)y=((v=!_&&j&&void 0!==j[n])?j:source)[n],m=S&&v?l(y,r):O&&"function"==typeof y?l(Function.call,y):y,j&&f(j,n,y,t&h.U),k[n]!=y&&c(k,n,m),O&&E[n]!=y&&(E[n]=y)};r.core=o,h.F=1,h.G=2,h.S=4,h.P=8,h.B=16,h.W=32,h.U=64,h.R=128,t.exports=h},function(t,e,n){"use strict";var r=n(82),o={};o[n(19)("toStringTag")]="z",o+""!="[object z]"&&n(27)(Object.prototype,"toString",(function(){return"[object "+r(this)+"]"}),!0)},function(t,e,n){"use strict";function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}n.d(e,"a",(function(){return r}))},function(t,e,n){var r=n(29).f,o=Function.prototype,c=/^\s*function ([^ (]*)/,f="name";f in o||n(26)&&r(o,f,{configurable:!0,get:function(){try{return(""+this).match(c)[1]}catch(t){return""}}})},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}n.d(e,"a",(function(){return r}))},function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var r=n(92);function o(t,e){for(var i=0;i1||""[_](/.?/)[w]?function(t,e){var o=String(this);if(void 0===t&&0===e)return[];if(!r(t))return n.call(o,t,e);for(var c,f,l,output=[],d=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),v=0,y=void 0===e?O:e>>>0,_=new RegExp(t.source,d+"g");(c=h.call(_,o))&&!((f=_[x])>v&&(output.push(o.slice(v,c.index)),c[w]>1&&c.index=y));)_[x]===c.index&&_[x]++;return v===o[w]?!l&&_.test("")||output.push(""):output.push(o.slice(v)),output[w]>y?output.slice(0,y):output}:"0"[_](void 0,0)[w]?function(t,e){return void 0===t&&0===e?[]:n.call(this,t,e)}:n,[function(n,r){var o=t(this),c=null==n?void 0:n[e];return void 0!==c?c.call(n,o,r):j.call(String(o),n,r)},function(t,e){var r=v(j,t,this,e,j!==n);if(r.done)return r.value;var h=o(t),m=String(this),_=c(h,RegExp),w=h.unicode,x=(h.ignoreCase?"i":"")+(h.multiline?"m":"")+(h.unicode?"u":"")+(S?"y":"g"),k=new _(S?h:"^(?:"+h.source+")",x),E=void 0===e?O:e>>>0;if(0===E)return[];if(0===m.length)return null===d(k,m)?[m]:[];for(var p=0,q=0,C=[];q0?o(r(t),9007199254740991):0}},function(t,e,n){"use strict";function r(t){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},r(t)}n.d(e,"a",(function(){return r}))},function(t,e,n){var r=Date.prototype,o="Invalid Date",c="toString",f=r[c],l=r.getTime;new Date(NaN)+""!=o&&n(27)(r,c,(function(){var t=l.call(this);return t==t?f.call(this):o}))},function(t,e,n){"use strict";n(198);var r=n(22),o=n(86),c=n(26),f="toString",l=/./[f],d=function(t){n(27)(RegExp.prototype,f,t,!0)};n(25)((function(){return"/a/b"!=l.call({source:"a",flags:"b"})}))?d((function(){var t=r(this);return"/".concat(t.source,"/","flags"in t?t.flags:!c&&t instanceof RegExp?o.call(t):void 0)})):l.name!=f&&d((function(){return l.call(this)}))},function(t,e,n){"use strict";var r=n(148)(!0);n(127)(String,"String",(function(t){this._t=String(t),this._i=0}),(function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})}))},function(t,e,n){for(var r=n(140),o=n(48),c=n(27),f=n(15),l=n(42),d=n(71),h=n(19),v=h("iterator"),y=h("toStringTag"),m=d.Array,_={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},w=o(_),i=0;i=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,f=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){f=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(f)throw o}}}}function O(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i>1,t+=E(t/e);t>455;r+=36)t=E(t/35);return E(r+36*t/(t+38))};function $(t){return function(t,e){var n=t.split("@"),r="";n.length>1&&(r=n[0]+"@",t=n[1]);var o=function(t,e){for(var n=[],r=t.length;r--;)n[r]=e(t[r]);return n}((t=t.replace(j,".")).split("."),(function(t){return S.test(t)?"xn--"+function(t){var e,n=[],r=(t=function(t){for(var e=[],n=0,r=t.length;n=55296&&o<=56319&&n=o&&mE((2147483647-i)/a)&&A("overflow"),i+=(v-o)*a,o=v;var _,w=x(t);try{for(w.s();!(_=w.n()).done;){var O=_.value;if(O2147483647&&A("overflow"),O==o){for(var S=i,j=36;;j+=36){var k=j<=c?1:j>=c+26?26:j-c;if(S0&&void 0!==arguments[0]?arguments[0]:"";try{return decodeURIComponent(""+text)}catch(t){return""+text}}function Z(text){return Q(text.replace(W,"%252F"))}function tt(text){return Q(text.replace(L," "))}function et(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return $(t)}function nt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e={};"?"===t[0]&&(t=t.substr(1));var n,r=x(t.split("&"));try{for(r.s();!(n=r.n()).done;){var param=n.value,o=param.match(/([^=]+)=?(.*)/)||[];if(!(o.length<2)){var c=Q(o[1]);if("__proto__"!==c&&"constructor"!==c){var f=tt(o[2]||"");e[c]?Array.isArray(e[c])?e[c].push(f):e[c]=[e[c],f]:e[c]=f}}}}catch(t){r.e(t)}finally{r.f()}return e}function ot(t){return Object.keys(t).map((function(e){return n=e,(r=t[e])?Array.isArray(r)?r.map((function(t){return"".concat(X(n),"=").concat(J(t))})).join("&"):"".concat(X(n),"=").concat(J(r)):X(n);var n,r})).join("&")}var it=function(){function t(){var input=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(Object(y.a)(this,t),this.query={},"string"!=typeof input)throw new TypeError("URL input should be string received ".concat(Object(v.a)(input)," (").concat(input,")"));var e=_t(input);this.protocol=Q(e.protocol),this.host=Q(e.host),this.auth=Q(e.auth),this.pathname=Z(e.pathname),this.query=nt(e.search),this.hash=Q(e.hash)}return Object(m.a)(t,[{key:"hostname",get:function(){return Ot(this.host).hostname}},{key:"port",get:function(){return Ot(this.host).port||""}},{key:"username",get:function(){return xt(this.auth).username}},{key:"password",get:function(){return xt(this.auth).password||""}},{key:"hasProtocol",get:function(){return this.protocol.length}},{key:"isAbsolute",get:function(){return this.hasProtocol||"/"===this.pathname[0]}},{key:"search",get:function(){var q=ot(this.query);return q.length?"?"+q:""}},{key:"searchParams",get:function(){var t=this,p=new URLSearchParams,e=function(e){var n=t.query[e];Array.isArray(n)?n.forEach((function(t){return p.append(e,t)})):p.append(e,n||"")};for(var n in this.query)e(n);return p}},{key:"origin",get:function(){return(this.protocol?this.protocol+"//":"")+et(this.host)}},{key:"fullpath",get:function(){return Y(this.pathname)+this.search+G(this.hash).replace(B,"{").replace(V,"}").replace(F,"^")}},{key:"encodedAuth",get:function(){if(!this.auth)return"";var t=xt(this.auth),e=t.username,n=t.password;return encodeURIComponent(e)+(n?":"+encodeURIComponent(n):"")}},{key:"href",get:function(){var t=this.encodedAuth,e=(this.protocol?this.protocol+"//":"")+(t?t+"@":"")+et(this.host);return this.hasProtocol&&this.isAbsolute?e+this.fullpath:this.fullpath}},{key:"append",value:function(t){if(t.hasProtocol)throw new Error("Cannot append a URL with protocol");Object.assign(this.query,t.query),t.pathname&&(this.pathname=ft(this.pathname)+pt(t.pathname)),t.hash&&(this.hash=t.hash)}},{key:"toJSON",value:function(){return this.href}},{key:"toString",value:function(){return this.href}}]),t}();function at(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return/^\w+:\/\/.+/.test(t)||e&&/^\/\/[^/]+/.test(t)}var ut=/\/$|\/\?/;function ct(){var input=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t?ut.test(input):input.endsWith("/")}function st(){var input=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!t)return(ct(input)?input.slice(0,-1):input)||"/";if(!ct(input,!0))return input||"/";var e=input.split("?"),n=h(e),r=n[0],s=n.slice(1);return(r.slice(0,-1)||"/")+(s.length?"?".concat(s.join("?")):"")}function ft(){var input=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!t)return input.endsWith("/")?input:input+"/";if(ct(input,!0))return input||"/";var e=input.split("?"),n=h(e),r=n[0],s=n.slice(1);return r+"/"+(s.length?"?".concat(s.join("?")):"")}function lt(){var input=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return input.startsWith("/")}function pt(){var input=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return(lt(input)?input.substr(1):input)||"/"}function ht(input,t){var e=_t(input),n=w(w({},nt(e.search)),t);return e.search=ot(n),function(t){var e=t.pathname+(t.search?(t.search.startsWith("?")?"":"?")+t.search:"")+t.hash;if(!t.protocol)return e;return t.protocol+"//"+(t.auth?t.auth+"@":"")+t.host+e}(e)}function vt(t){return t&&"/"!==t}function yt(base){for(var t=base||"",e=arguments.length,input=new Array(e>1?e-1:0),n=1;n0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0;if(!at(input,!0))return t?_t(t+input):wt(input);var e=(input.replace(/\\/g,"/").match(/([^:/]+:)?\/\/([^/@]+@)?(.*)/)||[]).splice(1),n=Object(r.a)(e,3),o=n[0],c=void 0===o?"":o,f=n[1],l=n[2],d=(l.match(/([^/?#]*)(.*)?/)||[]).splice(1),h=Object(r.a)(d,2),v=h[0],y=void 0===v?"":v,m=h[1],path=void 0===m?"":m,_=wt(path),w=_.pathname,x=_.search,O=_.hash;return{protocol:c,auth:f?f.substr(0,f.length-1):"",host:y,pathname:w,search:x,hash:O}}function wt(){var input=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=(input.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1),e=Object(r.a)(t,3),n=e[0],o=void 0===n?"":n,c=e[1],f=void 0===c?"":c,l=e[2],d=void 0===l?"":l;return{pathname:o,search:f,hash:d}}function xt(){var input=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=input.split(":"),e=Object(r.a)(t,2),n=e[0],o=e[1];return{username:Q(n),password:Q(o)}}function Ot(){var input=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=(input.match(/([^/]*)(:0-9+)?/)||[]).splice(1),e=Object(r.a)(t,2),n=e[0],o=e[1];return{hostname:Q(n),port:o}}},,function(t,e){var n=t.exports={version:"2.6.12"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(29),o=n(63);t.exports=n(26)?function(object,t,e){return r.f(object,t,o(1,e))}:function(object,t,e){return object[t]=e,object}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e){var g;g=function(){return this}();try{g=g||new Function("return this")()}catch(t){"object"==typeof window&&(g=window)}t.exports=g},function(t,e,n){var r=n(52);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(a){return t.call(e,a)};case 2:return function(a,b){return t.call(e,a,b)};case 3:return function(a,b,n){return t.call(e,a,b,n)}}return function(){return t.apply(e,arguments)}}},function(t,e,n){"use strict";var r=n(46),o=n(11),c=n(38),f=n(136),l=n(137),d=n(30),h=n(138),v=n(139);o(o.S+o.F*!n(109)((function(t){Array.from(t)})),"Array",{from:function(t){var e,n,o,y,m=c(t),_="function"==typeof this?this:Array,w=arguments.length,x=w>1?arguments[1]:void 0,O=void 0!==x,S=0,j=v(m);if(O&&(x=r(x,w>2?arguments[2]:void 0,2)),null==j||_==Array&&l(j))for(n=new _(e=d(m.length));e>S;S++)h(n,S,O?x(m[S],S):m[S]);else for(y=j.call(m),n=new _;!(o=y.next()).done;S++)h(n,S,O?f(y,x,[o.value,S],!0):o.value);return n.length=S,n}})},function(t,e,n){var r=n(132),o=n(108);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n(56);function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Object(r.a)(t,e)}},function(t,e,n){"use strict";function r(t,e,n,r,o,c,f,l){var d,h="function"==typeof t?t.options:t;if(e&&(h.render=e,h.staticRenderFns=n,h._compiled=!0),r&&(h.functional=!0),c&&(h._scopeId="data-v-"+c),f?(d=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(f)},h._ssrRegister=d):o&&(d=l?function(){o.call(this,(h.functional?this.parent:this).$root.$options.shadowRoot)}:o),d)if(h.functional){h._injectStyles=d;var v=h.render;h.render=function(t,e){return d.call(e),v(t,e)}}else{var y=h.beforeCreate;h.beforeCreate=y?[].concat(y,d):[d]}return{exports:t,options:h}}n.d(e,"a",(function(){return r}))},function(t,e,n){"use strict";var r=n(11),o=n(133)(!0);r(r.P,"Array",{includes:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(83)("includes")},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,n){var r=n(11),o=n(41),c=n(25);t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],f={};f[t]=e(n),r(r.S+r.F*c((function(){n(1)})),"Object",f)}},function(t,e,n){var r=n(15),o=n(116),c=n(29).f,f=n(69).f,l=n(112),d=n(86),h=r.RegExp,v=h,y=h.prototype,m=/a/g,_=/a/g,w=new h(m)!==m;if(n(26)&&(!w||n(25)((function(){return _[n(19)("match")]=!1,h(m)!=m||h(_)==_||"/a/i"!=h(m,"i")})))){h=function(p,t){var e=this instanceof h,n=l(p),r=void 0===t;return!e&&n&&p.constructor===h&&r?p:o(w?new v(n&&!r?p.source:p,t):v((n=p instanceof h)?p.source:p,n&&r?d.call(p):t),e?this:y,h)};for(var x=function(t){t in h||c(h,t,{configurable:!0,get:function(){return v[t]},set:function(e){v[t]=e}})},O=f(v),i=0;O.length>i;)x(O[i++]);y.constructor=h,h.prototype=y,n(27)(r,"RegExp",h)}n(128)("RegExp")},function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var r=n(74);function o(t,e){if(t){if("string"==typeof t)return Object(r.a)(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Object(r.a)(t,e):void 0}}},function(t,e,n){"use strict";function r(t,p){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,p){return t.__proto__=p,t},r(t,p)}n.d(e,"a",(function(){return r}))},,,,,function(t,e,n){var r=function(t){"use strict";var e,n=Object.prototype,r=n.hasOwnProperty,o=Object.defineProperty||function(t,e,desc){t[e]=desc.value},c="function"==typeof Symbol?Symbol:{},f=c.iterator||"@@iterator",l=c.asyncIterator||"@@asyncIterator",d=c.toStringTag||"@@toStringTag";function h(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{h({},"")}catch(t){h=function(t,e,n){return t[e]=n}}function v(t,e,n,r){var c=e&&e.prototype instanceof O?e:O,f=Object.create(c.prototype),l=new L(r||[]);return o(f,"_invoke",{value:P(t,n,l)}),f}function y(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=v;var m="suspendedStart",_="executing",w="completed",x={};function O(){}function S(){}function j(){}var k={};h(k,f,(function(){return this}));var E=Object.getPrototypeOf,C=E&&E(E(M([])));C&&C!==n&&r.call(C,f)&&(k=C);var A=j.prototype=O.prototype=Object.create(k);function T(t){["next","throw","return"].forEach((function(e){h(t,e,(function(t){return this._invoke(e,t)}))}))}function $(t,e){function n(o,c,f,l){var d=y(t[o],t,c);if("throw"!==d.type){var h=d.arg,v=h.value;return v&&"object"==typeof v&&r.call(v,"__await")?e.resolve(v.__await).then((function(t){n("next",t,f,l)}),(function(t){n("throw",t,f,l)})):e.resolve(v).then((function(t){h.value=t,f(h)}),(function(t){return n("throw",t,f,l)}))}l(d.arg)}var c;o(this,"_invoke",{value:function(t,r){function o(){return new e((function(e,o){n(t,r,e,o)}))}return c=c?c.then(o,o):o()}})}function P(t,e,n){var r=m;return function(o,c){if(r===_)throw new Error("Generator is already running");if(r===w){if("throw"===o)throw c;return D()}for(n.method=o,n.arg=c;;){var f=n.delegate;if(f){var l=I(f,n);if(l){if(l===x)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===m)throw r=w,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=_;var d=y(t,e,n);if("normal"===d.type){if(r=n.done?w:"suspendedYield",d.arg===x)continue;return{value:d.arg,done:n.done}}"throw"===d.type&&(r=w,n.method="throw",n.arg=d.arg)}}}function I(t,n){var r=n.method,o=t.iterator[r];if(o===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,I(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),x;var c=y(o,t.iterator,n.arg);if("throw"===c.type)return n.method="throw",n.arg=c.arg,n.delegate=null,x;var f=c.arg;return f?f.done?(n[t.resultName]=f.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,x):f:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,x)}function R(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function N(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(R,this),this.reset(!0)}function M(t){if(t){var n=t[f];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function n(){for(;++i=0;--i){var c=this.tryEntries[i],f=c.completion;if("root"===c.tryLoc)return o("end");if(c.tryLoc<=this.prev){var l=r.call(c,"catchLoc"),d=r.call(c,"finallyLoc");if(l&&d){if(this.prev=0;--i){var n=this.tryEntries[i];if(n.tryLoc<=this.prev&&r.call(n,"finallyLoc")&&this.prev=0;--i){var e=this.tryEntries[i];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),N(e),x}},catch:function(t){for(var i=this.tryEntries.length-1;i>=0;--i){var e=this.tryEntries[i];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var r=n.arg;N(e)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:M(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),x}},t}(t.exports);try{regeneratorRuntime=r}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}},function(t,e,n){var r=n(64)("meta"),o=n(20),c=n(36),f=n(29).f,l=0,d=Object.isExtensible||function(){return!0},h=!n(25)((function(){return d(Object.preventExtensions({}))})),v=function(t){f(t,r,{value:{i:"O"+ ++l,w:{}}})},meta=t.exports={KEY:r,NEED:!1,fastKey:function(t,e){if(!o(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!c(t,r)){if(!d(t))return"F";if(!e)return"E";v(t)}return t[r].i},getWeak:function(t,e){if(!c(t,r)){if(!d(t))return!0;if(!e)return!1;v(t)}return t[r].w},onFreeze:function(t){return h&&meta.NEED&&d(t)&&!c(t,r)&&v(t),t}}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e){t.exports=!1},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(29).f,o=n(36),c=n(19)("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,c)&&r(t,c,{configurable:!0,value:e})}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var r=n(132),o=n(108).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},function(t,e,n){var r=n(68),o=n(63),c=n(37),f=n(79),l=n(36),d=n(130),h=Object.getOwnPropertyDescriptor;e.f=n(26)?h:function(t,e){if(t=c(t),e=f(e,!0),d)try{return h(t,e)}catch(t){}if(l(t,e))return o(!r.f.call(t,e),t[e])}},function(t,e){t.exports={}},function(t,e,n){var r=n(46),o=n(106),c=n(38),f=n(30),l=n(191);t.exports=function(t,e){var n=1==t,d=2==t,h=3==t,v=4==t,y=6==t,m=5==t||y,_=e||l;return function(e,l,w){for(var x,O,S=c(e),j=o(S),k=r(l,w,3),E=f(j.length),C=0,A=n?_(e,E):d?_(e,0):void 0;E>C;C++)if((m||C in j)&&(O=k(x=j[C],C,S),t))if(n)A[C]=O;else if(O)switch(t){case 3:return!0;case 5:return x;case 6:return C;case 2:A.push(x)}else if(v)return!1;return y?-1:h||v?v:A}}},function(t,e,n){"use strict";n(119)("small",(function(t){return function(){return t(this,"small","","")}}))},function(t,e,n){"use strict";function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i1?arguments[1]:void 0)}})},function(t,e,n){var r=n(22),o=n(183),c=n(108),f=n(107)("IE_PROTO"),l=function(){},d="prototype",h=function(){var t,iframe=n(103)("iframe"),i=c.length;for(iframe.style.display="none",n(104).appendChild(iframe),iframe.src="javascript:",(t=iframe.contentWindow.document).open(),t.write("
Loading...
- + diff --git a/docs/develop/index.html b/docs/develop/index.html index fabceaa..6d75328 100644 --- a/docs/develop/index.html +++ b/docs/develop/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/develop/r-pathway/index.html b/docs/develop/r-pathway/index.html index fabceaa..6d75328 100644 --- a/docs/develop/r-pathway/index.html +++ b/docs/develop/r-pathway/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/docs/index.html b/docs/docs/index.html index fabceaa..6d75328 100644 --- a/docs/docs/index.html +++ b/docs/docs/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/index.html b/docs/index.html index fabceaa..6d75328 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/social/index.html b/docs/social/index.html index fabceaa..6d75328 100644 --- a/docs/social/index.html +++ b/docs/social/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + From 4f71d333abb8c8021f28107c041a42060e6e5ac0 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Fri, 10 Mar 2023 15:44:37 +0000 Subject: [PATCH 26/42] Change search and filter interface --- pages/develop/index.vue | 71 ++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 44 deletions(-) diff --git a/pages/develop/index.vue b/pages/develop/index.vue index 4a8da19..e3002fe 100644 --- a/pages/develop/index.vue +++ b/pages/develop/index.vue @@ -2,56 +2,33 @@
- - - - + + + + -

Develop knowledge and skills...

+

Develop

- Internal contents related to using and learning data science tools in PHS are below, take a look and continue your development now. For a specific learning pathway use the links here: + Training and support materials related to Data Science in PHS R Pathway
-
- - - - - -
- R - git - Python - SQL - Viz -
-
- -
-
-
- - - - -
- + + + + + + + - + text="Category"> -
-
-
+ + - + + + + + +
+ +

Courses

From 3280bc083779d988493ee6227e1984f993e3b24b Mon Sep 17 00:00:00 2001 From: rmccreath Date: Fri, 10 Mar 2023 15:57:03 +0000 Subject: [PATCH 27/42] Create pathways dropdown --- pages/develop/index.vue | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pages/develop/index.vue b/pages/develop/index.vue index e3002fe..ee7bed4 100644 --- a/pages/develop/index.vue +++ b/pages/develop/index.vue @@ -8,10 +8,12 @@

Develop

- - Training and support materials related to Data Science in PHS + + Training and support materials related to Data Science - R Pathway + + R Pathway +
@@ -22,7 +24,7 @@ From 5c1beab3a2d37273e1109c5d414b9d2e26262d39 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Fri, 10 Mar 2023 16:02:39 +0000 Subject: [PATCH 28/42] Remove guidance from develop page --- assets/resources.json | 107 ---------------------------------------- pages/develop/index.vue | 3 +- 2 files changed, 1 insertion(+), 109 deletions(-) diff --git a/assets/resources.json b/assets/resources.json index f34fef1..088eb2f 100644 --- a/assets/resources.json +++ b/assets/resources.json @@ -1,15 +1,4 @@ [ - { - "title": "GitHub Guidance", - "slug": "github-guidance", - "description": "Guidance for using git and GitHub within PHS.", - "link": "http://raw.githubusercontent.com/Public-Health-Scotland/GitHub-guidance/master/README.md", - "richLink": "https://github.com/Public-Health-Scotland/GitHub-guidance/blob/master/README.md", - "image": "", - "type": "Guidance", - "technology": "Git", - "tags": ["git"] - }, { "title": "Git Guide", "slug": "git-guide", @@ -20,101 +9,5 @@ "type": "Textbook", "technology": "Git", "tags": ["git"] - }, - { - "title": "R Style Guide", - "slug": "r-style-guide", - "description": "Coding style guidance for PHS staff using R.", - "overview": "", - "link": "https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/PHS%20R%20style%20guide.md", - "richLink": "https://github.com/Public-Health-Scotland/R-Resources/blob/master/PHS%20R%20style%20guide.md", - "image": "", - "type": "Guidance", - "technology": "R", - "tags": ["r"] - }, - { - "title": "Recommended R Packages", - "slug": "recommended-r-packages", - "description": "Common packages for R used across PHS.", - "overview": "", - "link": "https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/Recommended%20R%20Packages.md", - "richLink": "https://github.com/Public-Health-Scotland/R-Resources/blob/master/Recommended%20R%20Packages.md", - "image": "", - "type": "Guidance", - "technology": "R", - "tags": ["r"] - }, - { - "title": "Posit Workbench Login Guidance", - "slug": "workbench-login-guidance", - "description": "Understanding the requirements and process to logging into the PHS Posit Workbench.", - "overview": "", - "link": "https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/posit_workbench_login_guidance.md", - "richLink": "https://github.com/Public-Health-Scotland/R-Resources/blob/master/posit_workbench_login_guidance.md", - "image": "", - "type": "Guidance", - "technology": "R", - "tags": ["r"] - }, - { - "title": "Getting Support with Posit", - "slug": "posit-support", - "description": "The process for getting support with Posit applications in PHS.", - "overview": "", - "link": "https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/posit_team_contact_info.md", - "richLink": "https://github.com/Public-Health-Scotland/R-Resources/blob/master/posit_team_contact_info.md", - "image": "", - "type": "Guidance", - "technology": "R", - "tags": ["r"] - }, - { - "title": "Recommended Global Options for RStudio", - "slug": "recommended-global-options", - "description": "Recommended settings for RStudio Global Options in Posit Workbench", - "overview": "", - "link": "https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/posit_workbench_and_global_options.md", - "richLink": "https://github.com/Public-Health-Scotland/R-Resources/blob/master/posit_workbench_and_global_options.md", - "image": "", - "type": "Guidance", - "technology": "R", - "tags": ["r"] - }, - { - "title": "Best Practice with R in Posit Workbench", - "slug": "r-best-practice-in-posit", - "description": "Best practice guidance for R development in Posit Workbench.", - "overview": "", - "link": "https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/posit_workbench_best_practice_with_r.md", - "richLink": "https://github.com/Public-Health-Scotland/R-Resources/blob/master/posit_workbench_best_practice_with_r.md", - "image": "", - "type": "Guidance", - "technology": "R", - "tags": ["r"] - }, - { - "title": "What is Kubernetes?", - "slug": "posit-kubernetes", - "description": "Understand some of the infrastucture behind the Posit Workbench.", - "overview": "", - "link": "https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/posit_workbench_and_kubernetes.md", - "richLink": "https://github.com/Public-Health-Scotland/R-Resources/blob/master/posit_workbench_and_kubernetes.md", - "image": "", - "type": "Guidance", - "technology": "R", - "tags": ["r"] - }, - { - "title": "PHS Posit Workbench Acceptable Use Policy", - "slug": "posit-wb-acceptable-use-policy", - "description": "The Acceptable Use Policy for PHS Posit Workbench", - "overview": "", - "link": "https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/posit_workbench_acceptable_use_policy.md", - "richLink": "https://github.com/Public-Health-Scotland/R-Resources/blob/master/posit_workbench_acceptable_use_policy.md", - "image": "", - "type": "Guidance", - "technology": "R", - "tags": ["r"] } ] diff --git a/pages/develop/index.vue b/pages/develop/index.vue index ee7bed4..7d86ca8 100644 --- a/pages/develop/index.vue +++ b/pages/develop/index.vue @@ -39,7 +39,6 @@ stacked> In-Person Course Online Course - Guidance Textbook Coming Soon @@ -211,7 +210,7 @@ export default { selectedCourse: {}, selectedResource: {}, search: '', - filterSelected: ["Online Course", "In-Person Course", "Textbook", "Guidance"] + filterSelected: ["Online Course", "In-Person Course", "Textbook"] } }, computed:{ From 306c13d080b7d2e8efd8b1bdf25232996a91971f Mon Sep 17 00:00:00 2001 From: rmccreath Date: Tue, 14 Mar 2023 14:16:45 +0000 Subject: [PATCH 29/42] Change page title to documentation --- pages/docs.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/docs.vue b/pages/docs.vue index bb3f0d4..38f7b07 100644 --- a/pages/docs.vue +++ b/pages/docs.vue @@ -7,9 +7,9 @@ -

Docs

+

Documentation

-

Data Science information and guidance

+

Data Science information, guidance, and best practice

From 4183be9589beb375c2c17960dc59892dcd43ac78 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Tue, 14 Mar 2023 14:17:36 +0000 Subject: [PATCH 30/42] Create build --- docs/404.html | 4 ++-- docs/_nuxt/4d5c247.js | 1 - docs/_nuxt/7274731.js | 1 + docs/_nuxt/9dd864a.js | 1 + docs/_nuxt/a5b5a9e.js | 1 - docs/_nuxt/{aa43c56.js => b600003.js} | 2 +- docs/_nuxt/{7aa6da9.js => b6e1de2.js} | 2 +- docs/admin/index.html | 4 ++-- docs/develop/index.html | 4 ++-- docs/develop/r-pathway/index.html | 4 ++-- docs/docs/index.html | 4 ++-- docs/index.html | 4 ++-- docs/social/index.html | 4 ++-- 13 files changed, 18 insertions(+), 18 deletions(-) delete mode 100644 docs/_nuxt/4d5c247.js create mode 100644 docs/_nuxt/7274731.js create mode 100644 docs/_nuxt/9dd864a.js delete mode 100644 docs/_nuxt/a5b5a9e.js rename docs/_nuxt/{aa43c56.js => b600003.js} (52%) rename docs/_nuxt/{7aa6da9.js => b6e1de2.js} (97%) diff --git a/docs/404.html b/docs/404.html index 6d75328..481e32a 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/_nuxt/4d5c247.js b/docs/_nuxt/4d5c247.js deleted file mode 100644 index a18a304..0000000 --- a/docs/_nuxt/4d5c247.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{247:function(t){t.exports=JSON.parse('[{"title":"Introduction to R","slug":"introduction-to-r","description":"A beginner\'s course for learning R from the basics.","overview":"In Introduction to R, you\'re given a brief introduction to programming before building the foundations in R. Throughout the course, you will build from these foundations and master the basics of this widely used open source language, including data structures, flow, exploration, and wrangling. This is all supported with live coding and quizzes so you can be sure you know what you\'re doing. \\n\\nWhile the use of R continues to grow globally, PHS continues to secure the infrastructure and tools for everyone to make the best use of this technology. This course is suitable for everyone new to R and provides the knowledge to build topic specific skills.","link":"https://scotland.shinyapps.io/phs-learnr-intro/","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmmiLaHlezqJOh-fBWH8cGyhUQUlQMVNZMk1aTjdCMllRTFJNWkZKTFNSMy4u","online":"https://scotland.shinyapps.io/phs-learnr-intro/","image":"","type":["In-Person Course","Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":"none","timetable":"3 half days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/learnr-intro","related":[]},{"title":"Introduction to Git ","slug":"introduction-to-git","description":"A beginner\'s course for learning git (including GitHub and Gitea) from the basics.","overview":"In Introduction to Git, there is no assumption of any background in Git, or even version control. Instead, this introduces you to version control topics and provides a deeper understanding of how things work, all from the perspective of an R user. The practical elements of the course utilise the user interface on RStudio so, while there\'s no prerequisite on R, you should be familiar with the RStudio software. \\n\\nVersion control is a powerful tool across software engineering disciplines. At a high level, it allows you to keep track of changes, undoing them when necessary, and collaborating at scale. This course introduces you to Git as a version control tool (arguably the most popular), GitHub and Gitea. You\'ll learn about repositories, commits, branches, and pull requests.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu&embed=true","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"Git","level":"1","packages":[],"tags":["git"],"prereqs":"none","timetable":"1 half day (plus both a pre-course check and post-course drop-in)","materials":"https://github.com/Public-Health-Scotland/learn-git","related":["R","Python"]},{"title":"Data Visualisation in R","slug":"data-visualisation-in-r","description":"Learn about data viz using R. This course has a focus on ggplot2 but includes an introduction to plotly.","overview":"Data visualisation is useful across all roles that interact with data, it\'s important that these are meaningful and visually appealing too. Building from the Introduction to R course, this course covers the structure on which visualisations are built and then, more practically, how to actually build them. \\n\\nThe ggplot2 package is the primary R package that is used across the organisation and in this course. However, this package is built on the same underlying structure as the plotly package. When things need to get interactive on your visualisations, you\'ll need to use plotly.","link":"https://scotland.shinyapps.io/phs-learnr-dataviz/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-dataviz/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ggplot2","plotly"],"tags":["r","viz"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to R Markdown","slug":"introduction-to-r-markdown","description":"Learn about building reports and other functionality of R Markdown.","overview":"R Markdown is used to create outputs such as PDFs, HTML, or even a Shiny app. These are generated from the R Markdown file which simply lays out the document with a minimal and easy to use syntax. You can also include executable code chunks, allowing you to produce visualisations and analytical outputs. R Markdown is already widely used across the organisation, with templates available for publications, presentations, and even training course apps. \\n\\nIn this course you\'ll learn the foundations and practicalities of using R Markdown. While there\'s enough theory to understand how things work, there\'s practical exercises to get familiar and embed your learning. You\'ll need to do most of the practical exercises on RStudio (desktop or server) as the training app can\'t show the outputs.","link":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","rmarkdown"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"PHS Methods","slug":"phs-methods","description":"The first step in taking R further. Learn about the `phsmethods` package created by and for staff in PHS.","overview":"","link":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","phsmethods"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Open Data","slug":"introduction-to-open-data","description":"Learn about open data, what it is, why we use it, and how to interact with our open data using R.","overview":"Open data is the name for publicly released data which is made freely available to everyone to use and reuse in any way they like. With open data, anyone is able to make use of its potential: improving, innovating, and making better decisions. In this course, we provide a theoretical background of open data, building on PHS practices, and then getting practical with some coding examples in R. ","link":"https://scotland.shinyapps.io/phs-learnr-opendata","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-opendata","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ckanr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SPSS to R","slug":"spss-to-r","description":"A companion to the Intro to R course for SPSS users, understanding the differences and how to start translating SPSS to R.","overview":"While not repeating the content of the Introduction to R course, this course attempts to support existing SPSS users to transition to R. The course follows the same structure to allow you to compare and see how the code varies between the different technologies.","link":"https://scotland.shinyapps.io/phs-learnr-spsstor/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-spsstor/","image":"","type":["Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"R Shiny","slug":"r-shiny","description":"Learn how to develop web apps and dashboards using R Shiny.","overview":"R Shiny is an R package that allows you to develop interactive web apps. The use of R Shiny is expansive and flexible, with the ability to integrate with R Markdown and other tools. With an element of web development practices, the course builds the knowledge of Shiny through practical exercises but is thorough enough to cover how each component works. In this course you\'ll learn how a complete R shiny comes together, from forming your data, developing user interfaces with interactive data visualisations that conform to PHS standards, right through to deploying for others to use on the web.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"R","level":"3","packages":["base","shiny"],"tags":["r"],"prereqs":["Introduction to R","Data Visualisation in R"],"timetable":"3 days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/RShiny-training","related":[]},{"title":"SQL in R","slug":"sql-in-r","description":"Learn about writing and using SQL commands in R.","overview":"Using SQL is is applicable to so many roles, it\'s almost inevitable that you\'ll come across it at some stage. However, this could also mean that you inherit pre-written SQL or be dealing with massive quantities of data. Using SQL doesn\'t need to be intimidating but it\'s going to make your life a lot easier if you know what you\'re doing and how to do it efficiently. This course is a complete introduction to SQL from the foundations up, you can use the first few chapters to learn about SQL and leave it there. However, the course continues and shows how that SQL code can be integrated into R, making your coding experience much more seamless. The course concludes with a taster for using an R package, dbplyr. This package allows you to use familiar R syntax (if you\'re familiar with the Tidyverse) rather than using SQL at all.","link":"https://scotland.shinyapps.io/phs-learnr-sql/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-sql/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","odbc","dbplyr"],"tags":["r","sql"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"OpenXLSX","slug":"openxlsx","description":"Learn about the openxlsx package to work with Excel files within R.","overview":"The openxlsx package is a great way to work with Excel files within R. It allows you to read, write, and modify Excel files, and is a great alternative to the readxl and writexl packages. This course is a complete introduction to the openxlsx package, from the foundations up. It covers the basics of working with Excel files, including reading, writing, and modifying data. It also covers some more advanced topics, such as working with multiple worksheets, formatting, and using functions to automate tasks. This course is designed to be a complete introduction to the openxlsx package, so you can use the first few chapters to learn about the package and leave it there. However, the course continues and shows how that openxlsx code can be integrated into R, making your coding experience much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","openxlsx"],"tags":["r","excel"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Python","slug":"introduction-to-python","description":"A beginner\'s course for learning Python from the basics.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"1","packages":[],"tags":["python"],"prereqs":"none","timetable":"","materials":"","related":[]},{"title":"R Functions","slug":"r-functions","description":"R is a functional programming language. So let\'s learn how to write some functions.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Functions","slug":"python-functions","description":"Learn how to write functions in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Dates & Times in R","slug":"dates-and-times-in-r","description":"Learn how to work with dates and times in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","lubridate"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"R Control Structures","slug":"r-control-structures","description":"Learn how to control the flow of execution in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","purrr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Control Structures","slug":"python-control-structures","description":"Learn how to control the flow of execution in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Data Cleaning in R","slug":"data-cleaning-in-r","description":"Learn about data cleaning in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","stringr","forcats","tidyr","tidylog","janitor"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Testing in R","slug":"testing-in-r","description":"Learn about testing in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","testthat"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Reproducible Environments in R","slug":"reproducible-environments-in-r","description":"Learn about creating and using reproducible environments in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","renv"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Data Viz in Python","slug":"data-viz-in-python","description":"Learn about data visualisation using Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":["plotly"],"tags":["python","viz"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"R Packages","slug":"r-packages","description":"Learn how to build your own R packages and get them ready for CRAN.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"3","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]}]')},253:function(t,e,o){var content=o(277);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(60).default)("58b5ddad",content,!0,{sourceMap:!1})},265:function(t,e,o){"use strict";o(253)},276:function(t){t.exports=JSON.parse('[{"title":"GitHub Guidance","slug":"github-guidance","description":"Guidance for using git and GitHub within PHS.","link":"http://raw.githubusercontent.com/Public-Health-Scotland/GitHub-guidance/master/README.md","richLink":"https://github.com/Public-Health-Scotland/GitHub-guidance/blob/master/README.md","image":"","type":"Guidance","technology":"Git","tags":["git"]},{"title":"Git Guide","slug":"git-guide","description":"Textbook for using git and GitHub within PHS.","link":"https://public-health-scotland.github.io/git-guide/","richLink":"","image":"","type":"Textbook","technology":"Git","tags":["git"]},{"title":"R Style Guide","slug":"r-style-guide","description":"Coding style guidance for PHS staff using R.","overview":"","link":"https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/PHS%20R%20style%20guide.md","richLink":"https://github.com/Public-Health-Scotland/R-Resources/blob/master/PHS%20R%20style%20guide.md","image":"","type":"Guidance","technology":"R","tags":["r"]},{"title":"Recommended R Packages","slug":"recommended-r-packages","description":"Common packages for R used across PHS.","overview":"","link":"https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/Recommended%20R%20Packages.md","richLink":"https://github.com/Public-Health-Scotland/R-Resources/blob/master/Recommended%20R%20Packages.md","image":"","type":"Guidance","technology":"R","tags":["r"]},{"title":"Posit Workbench Login Guidance","slug":"workbench-login-guidance","description":"Understanding the requirements and process to logging into the PHS Posit Workbench.","overview":"","link":"https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/posit_workbench_login_guidance.md","richLink":"https://github.com/Public-Health-Scotland/R-Resources/blob/master/posit_workbench_login_guidance.md","image":"","type":"Guidance","technology":"R","tags":["r"]},{"title":"Getting Support with Posit","slug":"posit-support","description":"The process for getting support with Posit applications in PHS.","overview":"","link":"https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/posit_team_contact_info.md","richLink":"https://github.com/Public-Health-Scotland/R-Resources/blob/master/posit_team_contact_info.md","image":"","type":"Guidance","technology":"R","tags":["r"]},{"title":"Recommended Global Options for RStudio","slug":"recommended-global-options","description":"Recommended settings for RStudio Global Options in Posit Workbench","overview":"","link":"https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/posit_workbench_and_global_options.md","richLink":"https://github.com/Public-Health-Scotland/R-Resources/blob/master/posit_workbench_and_global_options.md","image":"","type":"Guidance","technology":"R","tags":["r"]},{"title":"Best Practice with R in Posit Workbench","slug":"r-best-practice-in-posit","description":"Best practice guidance for R development in Posit Workbench.","overview":"","link":"https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/posit_workbench_best_practice_with_r.md","richLink":"https://github.com/Public-Health-Scotland/R-Resources/blob/master/posit_workbench_best_practice_with_r.md","image":"","type":"Guidance","technology":"R","tags":["r"]},{"title":"What is Kubernetes?","slug":"posit-kubernetes","description":"Understand some of the infrastucture behind the Posit Workbench.","overview":"","link":"https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/posit_workbench_and_kubernetes.md","richLink":"https://github.com/Public-Health-Scotland/R-Resources/blob/master/posit_workbench_and_kubernetes.md","image":"","type":"Guidance","technology":"R","tags":["r"]},{"title":"PHS Posit Workbench Acceptable Use Policy","slug":"posit-wb-acceptable-use-policy","description":"The Acceptable Use Policy for PHS Posit Workbench","overview":"","link":"https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/posit_workbench_acceptable_use_policy.md","richLink":"https://github.com/Public-Health-Scotland/R-Resources/blob/master/posit_workbench_acceptable_use_policy.md","image":"","type":"Guidance","technology":"R","tags":["r"]}]')},277:function(t,e,o){var n=o(59)(!1);n.push([t.i,'fieldset[disabled] .multiselect{pointer-events:none}.multiselect__spinner{position:absolute;right:1px;top:1px;width:40px;height:38px;background:#fff;display:block}.multiselect__spinner:after,.multiselect__spinner:before{position:absolute;content:"";top:50%;left:50%;margin:-8px 0 0 -8px;width:16px;height:16px;border-radius:100%;border:2px solid transparent;border-top-color:#41b883;-webkit-box-shadow:0 0 0 1px transparent;box-shadow:0 0 0 1px transparent}.multiselect__spinner:before{-webkit-animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.multiselect__spinner:after{-webkit-animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.multiselect__loading-enter-active,.multiselect__loading-leave-active{-webkit-transition:opacity .4s ease-in-out;transition:opacity .4s ease-in-out;opacity:1}.multiselect__loading-enter,.multiselect__loading-leave-active{opacity:0}.multiselect,.multiselect__input,.multiselect__single{font-family:inherit;font-size:16px;-ms-touch-action:manipulation;touch-action:manipulation}.multiselect{-webkit-box-sizing:content-box;box-sizing:content-box;display:block;position:relative;width:100%;min-height:40px;text-align:left;color:#35495e}.multiselect *{-webkit-box-sizing:border-box;box-sizing:border-box}.multiselect:focus{outline:none}.multiselect--disabled{background:#ededed;pointer-events:none;opacity:.6}.multiselect--active{z-index:50}.multiselect--active:not(.multiselect--above) .multiselect__current,.multiselect--active:not(.multiselect--above) .multiselect__input,.multiselect--active:not(.multiselect--above) .multiselect__tags{border-bottom-left-radius:0;border-bottom-right-radius:0}.multiselect--active .multiselect__select{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.multiselect--above.multiselect--active .multiselect__current,.multiselect--above.multiselect--active .multiselect__input,.multiselect--above.multiselect--active .multiselect__tags{border-top-left-radius:0;border-top-right-radius:0}.multiselect__input,.multiselect__single{position:relative;display:inline-block;min-height:20px;line-height:20px;border:none;border-radius:5px;background:#fff;padding:0 0 0 5px;width:100%;-webkit-transition:border .1s ease;transition:border .1s ease;-webkit-box-sizing:border-box;box-sizing:border-box;margin-bottom:8px;vertical-align:top}.multiselect__input::-webkit-input-placeholder{color:#35495e}.multiselect__input::-moz-placeholder{color:#35495e}.multiselect__input:-ms-input-placeholder{color:#35495e}.multiselect__input::-ms-input-placeholder{color:#35495e}.multiselect__input::placeholder{color:#35495e}.multiselect__tag~.multiselect__input,.multiselect__tag~.multiselect__single{width:auto}.multiselect__input:hover,.multiselect__single:hover{border-color:#cfcfcf}.multiselect__input:focus,.multiselect__single:focus{border-color:#a8a8a8;outline:none}.multiselect__single{padding-left:5px;margin-bottom:8px}.multiselect__tags-wrap{display:inline}.multiselect__tags{min-height:40px;display:block;padding:8px 40px 0 8px;border-radius:5px;border:1px solid #e8e8e8;background:#fff;font-size:14px}.multiselect__tag{position:relative;display:inline-block;padding:4px 26px 4px 10px;border-radius:5px;margin-right:10px;color:#fff;line-height:1;background:#41b883;margin-bottom:5px;white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}.multiselect__tag-icon{cursor:pointer;margin-left:7px;position:absolute;right:0;top:0;bottom:0;font-weight:700;font-style:normal;width:22px;text-align:center;line-height:22px;-webkit-transition:all .2s ease;transition:all .2s ease;border-radius:5px}.multiselect__tag-icon:after{content:"\\D7";color:#266d4d;font-size:14px}.multiselect__tag-icon:focus,.multiselect__tag-icon:hover{background:#369a6e}.multiselect__tag-icon:focus:after,.multiselect__tag-icon:hover:after{color:#fff}.multiselect__current{min-height:40px;overflow:hidden;padding:8px 30px 0 12px;white-space:nowrap;border-radius:5px;border:1px solid #e8e8e8}.multiselect__current,.multiselect__select{line-height:16px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;margin:0;text-decoration:none;cursor:pointer}.multiselect__select{position:absolute;width:40px;height:38px;right:1px;top:1px;padding:4px 8px;text-align:center;-webkit-transition:-webkit-transform .2s ease;transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease}.multiselect__select:before{position:relative;right:0;top:65%;color:#999;margin-top:4px;border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 0;content:""}.multiselect__placeholder{color:#adadad;display:inline-block;margin-bottom:10px;padding-top:2px}.multiselect--active .multiselect__placeholder{display:none}.multiselect__content-wrapper{position:absolute;display:block;background:#fff;width:100%;max-height:240px;overflow:auto;border:1px solid #e8e8e8;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;z-index:50;-webkit-overflow-scrolling:touch}.multiselect__content{list-style:none;display:inline-block;padding:0;margin:0;min-width:100%;vertical-align:top}.multiselect--above .multiselect__content-wrapper{bottom:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom:none;border-top:1px solid #e8e8e8}.multiselect__content::webkit-scrollbar{display:none}.multiselect__element{display:block}.multiselect__option{display:block;padding:12px;min-height:40px;line-height:16px;text-decoration:none;text-transform:none;vertical-align:middle;position:relative;cursor:pointer;white-space:nowrap}.multiselect__option:after{top:0;right:0;position:absolute;line-height:40px;padding-right:12px;padding-left:20px;font-size:13px}.multiselect__option--highlight{background:#41b883;outline:none;color:#fff}.multiselect__option--highlight:after{content:attr(data-select);background:#41b883;color:#fff}.multiselect__option--selected{background:#f3f3f3;color:#35495e;font-weight:700}.multiselect__option--selected:after{content:attr(data-selected);color:silver;background:inherit}.multiselect__option--selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect--disabled .multiselect__current,.multiselect--disabled .multiselect__select{background:#ededed;color:#a6a6a6}.multiselect__option--disabled{background:#ededed!important;color:#a6a6a6!important;cursor:text;pointer-events:none}.multiselect__option--group{background:#ededed;color:#35495e}.multiselect__option--group.multiselect__option--highlight{background:#35495e;color:#fff}.multiselect__option--group.multiselect__option--highlight:after{background:#35495e}.multiselect__option--disabled.multiselect__option--highlight{background:#dedede}.multiselect__option--group-selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--group-selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect-enter-active,.multiselect-leave-active{-webkit-transition:all .15s ease;transition:all .15s ease}.multiselect-enter,.multiselect-leave-active{opacity:0}.multiselect__strong{margin-bottom:8px;line-height:20px;display:inline-block;vertical-align:top}[dir=rtl] .multiselect{text-align:right}[dir=rtl] .multiselect__select{right:auto;left:1px}[dir=rtl] .multiselect__tags{padding:8px 8px 0 40px}[dir=rtl] .multiselect__content{text-align:right}[dir=rtl] .multiselect__option:after{right:auto;left:0}[dir=rtl] .multiselect__clear{right:auto;left:12px}[dir=rtl] .multiselect__spinner{right:auto;left:1px}@-webkit-keyframes spinning{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(2turn);transform:rotate(2turn)}}@keyframes spinning{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(2turn);transform:rotate(2turn)}}',""]),t.exports=n},309:function(t,e,o){var content=o(446);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(60).default)("1e78ae70",content,!0,{sourceMap:!1})},444:function(t,e,o){t.exports=o.p+"videos/phs-r-overview.ea7fac1.mp4"},445:function(t,e,o){"use strict";o(309)},446:function(t,e,o){var n=o(59)(!1);n.push([t.i,"\n.filter-row{\n display: flex;\n align-items: center;\n}\ninput{\n min-width: 120px;\n flex-grow: 1\n}\n.filter{\n flex: 0 1 auto;\n}\n.title-container{\n margin-bottom: 20px;\n}\n.head-card{\n border: none;\n}\n.tag-cloud{\n padding: 0 10px;\n}\n.tag-button{\n margin: 2px 0;\n}\nb-button{\n margin-top: red;\n}\nb-dropdown{\n margin-right: 15px;\n}\n.grid{\n display: grid;\n}\n.multiselect__option--highlight, .multiselect__option--highlight::after{\n background: #80BA27 !important;\n}\n.multiselect__option--selected.multiselect__option--highlight, .multiselect__option--selected.multiselect__option--highlight::after{\n background: #bd27b9 !important;\n}\n.multiselect__tag{\n background: #80BA27 !important;\n}\n.btn-primary{\n background-color: #0078d4;\n float: right;\n}\n.coming-soon{\n color: #0078d4;\n float: right;\n}\n.guidance-md {\n padding: 0 20px;\n}\n.guidance-md img{\n width: 100%;\n}\nfooter{\n margin-top: 50px;\n margin-bottom: 50px;\n}\n",""]),t.exports=n},455:function(t,e,o){"use strict";o.r(e);o(1),o(126),o(77),o(50);var n=o(23),r=(o(61),o(254)),l=o.n(r),c=o(247),d=o(276),h={components:{VueMarkdown:l.a},data:function(){return{courses:c,resources:d,selectedCourse:{},selectedResource:{}}},computed:{pathwayResources:function(){this.resources.filter((function(t){return"R"==t.technology}))}},methods:{showGuidance:function(t){var e=this;return Object(n.a)(regeneratorRuntime.mark((function o(){return regeneratorRuntime.wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,e.$axios.$get("https://secret-ocean-49799.herokuapp.com/"+t.link);case 2:t.md=o.sent,e.selectedResource=t;case 4:case"end":return o.stop()}}),o)})))()}}},m=(o(445),o(265),o(51)),component=Object(m.a)(h,(function(){var t=this,e=t._self._c;return e("div",[e("div",{staticClass:"title-container"},[e("b-card",{staticClass:"overflow-hidden head-card",attrs:{"no-body":""}},[e("b-row",{attrs:{"no-gutters":""}},[e("b-col",{attrs:{sm:"12",md:"9"}},[e("b-card-body",[e("h3",[t._v("R Pathway")]),t._v(" "),e("b-card-text",[t._v("\n PHS has made efforts to build an infrastructure for R. Here, the pathway for learning and development is laid out, including training and guidance.\n ")])],1)],1)],1)],1)],1),t._v(" "),e("div",[e("b-row",{attrs:{cols:"1","cols-md":"2"}},[e("b-col",{attrs:{cols:"12",lg:"6"}},[e("h4",[t._v("What is R?")]),t._v(" "),e("b-row",[e("b-col",[e("p",[t._v("This video is an overview of what R is and what it can do. Without getting into technical details, the video has a focus on how to get started and build your skills within PHS.")]),t._v(" "),e("p",[t._v("This page has all resources related to R. See below for the training pathway, this is split into 3 sections (each link will take you directly to the section on this page): ")]),t._v(" "),e("b-row",{staticClass:"mb-3"},[e("b-col",{staticClass:"text-center grid",attrs:{"align-self":"center"}},[e("b-button",{attrs:{variant:"outline-primary"},on:{click:function(e){return t.$router.push("#get_started")}}},[t._v("Get Started")])],1),t._v(" "),e("b-col",{staticClass:"text-center grid",attrs:{"align-self":"center"}},[e("b-button",{attrs:{variant:"outline-primary"},on:{click:function(e){return t.$router.push("#take_it_further")}}},[t._v("Take it Further")])],1),t._v(" "),e("b-col",{staticClass:"text-center grid",attrs:{"align-self":"center"}},[e("b-button",{attrs:{variant:"outline-primary"},on:{click:function(e){return t.$router.push("#get_advanced")}}},[t._v("Get Advanced")])],1)],1)],1)],1)],1),t._v(" "),e("b-col",{attrs:{cols:"12",lg:"6"}},[e("video",{attrs:{width:"100%",controls:""}},[e("source",{attrs:{src:o(444),type:"video/mp4"}}),t._v(" "),e("track",{attrs:{kind:"subtitles",srclang:"en",src:"phs-r-overview_vtt_English.vtt",label:"English"}})])])],1),t._v(" "),e("div",[e("b-row",{attrs:{cols:"1","cols-lg":"2"}},[e("b-col",{attrs:{cols:"12",lg:"9"}},[e("b-row",[e("b-col",[e("a",{attrs:{id:"get_started"}}),t._v(" "),e("h4",{staticClass:"mt-5"},[t._v("Get Started")]),t._v(" "),e("b-row",{staticClass:"pr-md-0 pr-lg-5",attrs:{cols:"1","cols-md":"2"}},t._l(t.courses.filter((function(t){return"R"==t.technology&&"1"==t.level&&""!=t.link})),(function(o){return e("b-col",{key:o.title,staticClass:"grid"},[e("b-card-group",{attrs:{deck:""}},[e("b-card",{staticClass:"mb-4",scopedSlots:t._u([{key:"footer",fn:function(){return[e("b-list-group",{attrs:{flush:""}},[""!=o.f2f?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n In-Person Course\n "),e("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal.booking-modal",modifiers:{"booking-modal":!0}}],attrs:{variant:"primary"},on:{click:function(e){t.selectedCourse=o}}},[t._v("\n Book\n ")])],1):t._e(),t._v(" "),""!=o.online?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n Online Course\n "),e("b-button",{attrs:{href:o.online,target:"_blank",variant:"primary"}},[t._v("\n Start\n ")])],1):t._e(),t._v(" "),""==o.f2f&&""==o.online?e("b-list-group-item",{staticClass:"coming-soon ml-auto"},[e("i",[t._v("Coming Soon")])]):t._e()],1)]},proxy:!0}],null,!0)},[e("b-card-title",[e("NuxtLink",{staticClass:"course-link",attrs:{to:"/develop/"+o.slug}},[t._v(t._s(o.title))])],1),t._v(" "),e("b-card-text",[t._v("\n "+t._s(o.description)+"\n ")])],1)],1)],1)})),1)],1)],1),t._v(" "),e("b-row",[e("b-col",[e("a",{attrs:{id:"take_it_further"}}),t._v(" "),e("h4",{staticClass:"mt-5"},[t._v("Take it Further")]),t._v(" "),e("b-row",{staticClass:"pr-md-0 pr-lg-5",attrs:{cols:"1","cols-md":"2"}},t._l(t.courses.filter((function(t){return"R"==t.technology&&"2"==t.level&&""!=t.link})),(function(o){return e("b-col",{key:o.title,staticClass:"grid"},[e("b-card-group",{attrs:{deck:""}},[e("b-card",{staticClass:"mb-4",scopedSlots:t._u([{key:"footer",fn:function(){return[e("b-list-group",{attrs:{flush:""}},[""!=o.f2f?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n In-Person Course\n "),e("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal.booking-modal",modifiers:{"booking-modal":!0}}],attrs:{variant:"primary"},on:{click:function(e){t.selectedCourse=o}}},[t._v("\n Book\n ")])],1):t._e(),t._v(" "),""!=o.online?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n Online Course\n "),e("b-button",{attrs:{href:o.online,target:"_blank",variant:"primary"}},[t._v("\n Start\n ")])],1):t._e(),t._v(" "),""==o.f2f&&""==o.online?e("b-list-group-item",{staticClass:"coming-soon ml-auto"},[e("i",[t._v("Coming Soon")])]):t._e()],1)]},proxy:!0}],null,!0)},[e("b-card-title",[e("NuxtLink",{staticClass:"course-link",attrs:{to:"/develop/"+o.slug}},[t._v(t._s(o.title))])],1),t._v(" "),e("b-card-text",[t._v("\n "+t._s(o.description)+"\n ")])],1)],1)],1)})),1)],1)],1),t._v(" "),e("b-row",[e("b-col",[e("a",{attrs:{id:"get_advanced"}}),t._v(" "),e("h4",{staticClass:"mt-5"},[t._v("Get Advanced")]),t._v(" "),e("b-row",{staticClass:"pr-md-0 pr-lg-5",attrs:{cols:"1","cols-md":"2"}},t._l(t.courses.filter((function(t){return"R"==t.technology&&"3"==t.level&&""!=t.link})),(function(o){return e("b-col",{key:o.title,staticClass:"grid"},[e("b-card-group",{attrs:{deck:""}},[e("b-card",{staticClass:"mb-4",scopedSlots:t._u([{key:"footer",fn:function(){return[e("b-list-group",{attrs:{flush:""}},[""!=o.f2f?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n In-Person Course\n "),e("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal.booking-modal",modifiers:{"booking-modal":!0}}],attrs:{variant:"primary"},on:{click:function(e){t.selectedCourse=o}}},[t._v("\n Book\n ")])],1):t._e(),t._v(" "),""!=o.online?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n Online Course\n "),e("b-button",{attrs:{href:o.online,target:"_blank",variant:"primary"}},[t._v("\n Start\n ")])],1):t._e(),t._v(" "),""==o.f2f&&""==o.online?e("b-list-group-item",{staticClass:"coming-soon ml-auto"},[e("i",[t._v("Coming Soon")])]):t._e()],1)]},proxy:!0}],null,!0)},[e("b-card-title",[e("NuxtLink",{staticClass:"course-link",attrs:{to:"/develop/"+o.slug}},[t._v(t._s(o.title))])],1),t._v(" "),e("b-card-text",[t._v("\n "+t._s(o.description)+"\n ")])],1)],1)],1)})),1)],1)],1),t._v(" "),e("b-row",[e("b-col",[e("h4",{staticClass:"mt-5"},[t._v("Related Technologies")]),t._v(" "),e("b-row",{staticClass:"pr-md-0 pr-lg-5",attrs:{cols:"1","cols-md":"2"}},t._l(t.courses.filter((function(t){return t.related.includes("R")})),(function(o){return e("b-col",{key:o.title,staticClass:"grid"},[e("b-card-group",{attrs:{deck:""}},[e("b-card",{staticClass:"mb-4",scopedSlots:t._u([{key:"footer",fn:function(){return[e("b-list-group",{attrs:{flush:""}},[""!=o.f2f?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n In-Person Course\n "),e("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal.booking-modal",modifiers:{"booking-modal":!0}}],attrs:{variant:"primary"},on:{click:function(e){t.selectedCourse=o}}},[t._v("\n Book\n ")])],1):t._e(),t._v(" "),""!=o.online?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n Online Course\n "),e("b-button",{attrs:{href:o.online,target:"_blank",variant:"primary"}},[t._v("\n Start\n ")])],1):t._e(),t._v(" "),""==o.f2f&&""==o.online?e("b-list-group-item",{staticClass:"coming-soon ml-auto"},[e("i",[t._v("Coming Soon")])]):t._e()],1)]},proxy:!0}],null,!0)},[e("b-card-title",[e("NuxtLink",{staticClass:"course-link",attrs:{to:"/develop/"+o.slug}},[t._v("\n "+t._s(o.title)+"\n ")])],1),t._v(" "),e("b-card-text",[t._v("\n "+t._s(o.description)+"\n ")])],1)],1)],1)})),1)],1)],1)],1),t._v(" "),e("b-col",{attrs:{cols:"12",lg:"3"}},[e("b-row",[e("b-col",{staticClass:"grid"},[e("h4",{staticClass:"mt-5"},[t._v("Other Resources")]),t._v(" "),t._l(t.resources.filter((function(t){return"R"==t.technology})),(function(o){return e("b-list-group",{key:o.title},["Guidance"==o.type?e("b-list-group-item",{staticClass:"mb-2 d-flex justify-content-between align-items-center",attrs:{href:o.richLink,target:"_blank"}},[t._v("\n "+t._s(o.title)+"\n "),e("eva-icon",{staticClass:"float-right",attrs:{name:"file-text-outline",fill:"#bd27b9"}})],1):"Textbook"==o.type?e("b-list-group-item",{staticClass:"mb-2 d-flex justify-content-between align-items-center",attrs:{href:o.link}},[t._v("\n "+t._s(o.title)+"\n "),e("eva-icon",{staticClass:"float-right",attrs:{name:"book-outline",fill:"#bd27b9"}})],1):t._e()],1)}))],2)],1)],1)],1)],1)],1),t._v(" "),e("b-modal",{attrs:{id:"guidance-modal",size:"xl",scrollable:"",title:t.selectedResource.title}},[t._v("\n If this content doesn't load, "),e("a",{attrs:{target:"_blank",href:t.selectedResource.richLink}},[t._v("click here")]),t._v(" to open in a browser tab.\n "),e("br"),t._v(" "),e("br"),t._v(" "),e("vue-markdown",{staticClass:"guidance-md",attrs:{source:t.selectedResource.md}})],1),t._v(" "),e("b-modal",{attrs:{id:"booking-modal",size:"xl"}},[t._v("\n If this content doesn't load, "),e("a",{attrs:{target:"_blank",href:t.selectedCourse.f2f}},[t._v("click here")]),t._v(" to open in a browser tab.\n "),e("br"),t._v(" "),t.selectedCourse.f2f?e("div",[e("iframe",{staticStyle:{border:"none",width:"100%"},attrs:{width:"640px",height:"1550px",src:t.selectedCourse.f2f,frameborder:"0",marginwidth:"0",marginheight:"0",allowfullscreen:"",webkitallowfullscreen:"",mozallowfullscreen:"",msallowfullscreen:""}})]):t._e()])],1)}),[],!1,null,null,null);e.default=component.exports}}]); \ No newline at end of file diff --git a/docs/_nuxt/7274731.js b/docs/_nuxt/7274731.js new file mode 100644 index 0000000..6d5f077 --- /dev/null +++ b/docs/_nuxt/7274731.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{247:function(e){e.exports=JSON.parse('[{"title":"Introduction to R","slug":"introduction-to-r","description":"A beginner\'s course for learning R from the basics.","overview":"In Introduction to R, you\'re given a brief introduction to programming before building the foundations in R. Throughout the course, you will build from these foundations and master the basics of this widely used open source language, including data structures, flow, exploration, and wrangling. This is all supported with live coding and quizzes so you can be sure you know what you\'re doing. \\n\\nWhile the use of R continues to grow globally, PHS continues to secure the infrastructure and tools for everyone to make the best use of this technology. This course is suitable for everyone new to R and provides the knowledge to build topic specific skills.","link":"https://scotland.shinyapps.io/phs-learnr-intro/","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmmiLaHlezqJOh-fBWH8cGyhUQUlQMVNZMk1aTjdCMllRTFJNWkZKTFNSMy4u","online":"https://scotland.shinyapps.io/phs-learnr-intro/","image":"","type":["In-Person Course","Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":"none","timetable":"3 half days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/learnr-intro","related":[]},{"title":"Introduction to Git ","slug":"introduction-to-git","description":"A beginner\'s course for learning git (including GitHub and Gitea) from the basics.","overview":"In Introduction to Git, there is no assumption of any background in Git, or even version control. Instead, this introduces you to version control topics and provides a deeper understanding of how things work, all from the perspective of an R user. The practical elements of the course utilise the user interface on RStudio so, while there\'s no prerequisite on R, you should be familiar with the RStudio software. \\n\\nVersion control is a powerful tool across software engineering disciplines. At a high level, it allows you to keep track of changes, undoing them when necessary, and collaborating at scale. This course introduces you to Git as a version control tool (arguably the most popular), GitHub and Gitea. You\'ll learn about repositories, commits, branches, and pull requests.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu&embed=true","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"Git","level":"1","packages":[],"tags":["git"],"prereqs":"none","timetable":"1 half day (plus both a pre-course check and post-course drop-in)","materials":"https://github.com/Public-Health-Scotland/learn-git","related":["R","Python"]},{"title":"Data Visualisation in R","slug":"data-visualisation-in-r","description":"Learn about data viz using R. This course has a focus on ggplot2 but includes an introduction to plotly.","overview":"Data visualisation is useful across all roles that interact with data, it\'s important that these are meaningful and visually appealing too. Building from the Introduction to R course, this course covers the structure on which visualisations are built and then, more practically, how to actually build them. \\n\\nThe ggplot2 package is the primary R package that is used across the organisation and in this course. However, this package is built on the same underlying structure as the plotly package. When things need to get interactive on your visualisations, you\'ll need to use plotly.","link":"https://scotland.shinyapps.io/phs-learnr-dataviz/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-dataviz/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ggplot2","plotly"],"tags":["r","viz"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to R Markdown","slug":"introduction-to-r-markdown","description":"Learn about building reports and other functionality of R Markdown.","overview":"R Markdown is used to create outputs such as PDFs, HTML, or even a Shiny app. These are generated from the R Markdown file which simply lays out the document with a minimal and easy to use syntax. You can also include executable code chunks, allowing you to produce visualisations and analytical outputs. R Markdown is already widely used across the organisation, with templates available for publications, presentations, and even training course apps. \\n\\nIn this course you\'ll learn the foundations and practicalities of using R Markdown. While there\'s enough theory to understand how things work, there\'s practical exercises to get familiar and embed your learning. You\'ll need to do most of the practical exercises on RStudio (desktop or server) as the training app can\'t show the outputs.","link":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","rmarkdown"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"PHS Methods","slug":"phs-methods","description":"The first step in taking R further. Learn about the `phsmethods` package created by and for staff in PHS.","overview":"","link":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","phsmethods"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Open Data","slug":"introduction-to-open-data","description":"Learn about open data, what it is, why we use it, and how to interact with our open data using R.","overview":"Open data is the name for publicly released data which is made freely available to everyone to use and reuse in any way they like. With open data, anyone is able to make use of its potential: improving, innovating, and making better decisions. In this course, we provide a theoretical background of open data, building on PHS practices, and then getting practical with some coding examples in R. ","link":"https://scotland.shinyapps.io/phs-learnr-opendata","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-opendata","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ckanr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SPSS to R","slug":"spss-to-r","description":"A companion to the Intro to R course for SPSS users, understanding the differences and how to start translating SPSS to R.","overview":"While not repeating the content of the Introduction to R course, this course attempts to support existing SPSS users to transition to R. The course follows the same structure to allow you to compare and see how the code varies between the different technologies.","link":"https://scotland.shinyapps.io/phs-learnr-spsstor/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-spsstor/","image":"","type":["Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"R Shiny","slug":"r-shiny","description":"Learn how to develop web apps and dashboards using R Shiny.","overview":"R Shiny is an R package that allows you to develop interactive web apps. The use of R Shiny is expansive and flexible, with the ability to integrate with R Markdown and other tools. With an element of web development practices, the course builds the knowledge of Shiny through practical exercises but is thorough enough to cover how each component works. In this course you\'ll learn how a complete R shiny comes together, from forming your data, developing user interfaces with interactive data visualisations that conform to PHS standards, right through to deploying for others to use on the web.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"R","level":"3","packages":["base","shiny"],"tags":["r"],"prereqs":["Introduction to R","Data Visualisation in R"],"timetable":"3 days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/RShiny-training","related":[]},{"title":"SQL in R","slug":"sql-in-r","description":"Learn about writing and using SQL commands in R.","overview":"Using SQL is is applicable to so many roles, it\'s almost inevitable that you\'ll come across it at some stage. However, this could also mean that you inherit pre-written SQL or be dealing with massive quantities of data. Using SQL doesn\'t need to be intimidating but it\'s going to make your life a lot easier if you know what you\'re doing and how to do it efficiently. This course is a complete introduction to SQL from the foundations up, you can use the first few chapters to learn about SQL and leave it there. However, the course continues and shows how that SQL code can be integrated into R, making your coding experience much more seamless. The course concludes with a taster for using an R package, dbplyr. This package allows you to use familiar R syntax (if you\'re familiar with the Tidyverse) rather than using SQL at all.","link":"https://scotland.shinyapps.io/phs-learnr-sql/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-sql/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","odbc","dbplyr"],"tags":["r","sql"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"OpenXLSX","slug":"openxlsx","description":"Learn about the openxlsx package to work with Excel files within R.","overview":"The openxlsx package is a great way to work with Excel files within R. It allows you to read, write, and modify Excel files, and is a great alternative to the readxl and writexl packages. This course is a complete introduction to the openxlsx package, from the foundations up. It covers the basics of working with Excel files, including reading, writing, and modifying data. It also covers some more advanced topics, such as working with multiple worksheets, formatting, and using functions to automate tasks. This course is designed to be a complete introduction to the openxlsx package, so you can use the first few chapters to learn about the package and leave it there. However, the course continues and shows how that openxlsx code can be integrated into R, making your coding experience much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","openxlsx"],"tags":["r","excel"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Python","slug":"introduction-to-python","description":"A beginner\'s course for learning Python from the basics.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"1","packages":[],"tags":["python"],"prereqs":"none","timetable":"","materials":"","related":[]},{"title":"R Functions","slug":"r-functions","description":"R is a functional programming language. So let\'s learn how to write some functions.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Functions","slug":"python-functions","description":"Learn how to write functions in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Dates & Times in R","slug":"dates-and-times-in-r","description":"Learn how to work with dates and times in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","lubridate"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"R Control Structures","slug":"r-control-structures","description":"Learn how to control the flow of execution in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","purrr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Control Structures","slug":"python-control-structures","description":"Learn how to control the flow of execution in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Data Cleaning in R","slug":"data-cleaning-in-r","description":"Learn about data cleaning in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","stringr","forcats","tidyr","tidylog","janitor"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Testing in R","slug":"testing-in-r","description":"Learn about testing in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","testthat"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Reproducible Environments in R","slug":"reproducible-environments-in-r","description":"Learn about creating and using reproducible environments in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","renv"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Data Viz in Python","slug":"data-viz-in-python","description":"Learn about data visualisation using Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":["plotly"],"tags":["python","viz"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"R Packages","slug":"r-packages","description":"Learn how to build your own R packages and get them ready for CRAN.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"3","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]}]')},276:function(e){e.exports=JSON.parse('[{"title":"Git Guide","slug":"git-guide","description":"Textbook for using git and GitHub within PHS.","link":"https://public-health-scotland.github.io/git-guide/","richLink":"","image":"","type":"Textbook","technology":"Git","tags":["git"]}]')},305:function(e,t,n){var content=n(438);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,n(60).default)("4e13a148",content,!0,{sourceMap:!1})},437:function(e,t,n){"use strict";n(305)},438:function(e,t,n){var o=n(59)(!1);o.push([e.i,"\n.filter-row{\n display: flex;\n align-items: center;\n}\ninput{\n min-width: 120px;\n flex-grow: 1\n}\n.filter{\n flex: 0 1 auto;\n}\n.head-card{\n border: none;\n}\n.tag-cloud{\n padding: 0 10px;\n}\n.tag-button{\n margin: 2px 0;\n}\nb-button{\n margin-top: red;\n}\nb-dropdown{\n margin-right: 15px;\n}\n.grid{\n display: grid;\n}\n.multiselect__option--highlight, .multiselect__option--highlight::after{\n background: #80BA27 !important;\n}\n.multiselect__option--selected.multiselect__option--highlight, .multiselect__option--selected.multiselect__option--highlight::after{\n background: #bd27b9 !important;\n}\n.multiselect__tag{\n background: #80BA27 !important;\n}\n.card-footer{\n background-color: #ffffff;\n}\n.btn-primary{\n background-color: #0078d4;\n float: right;\n}\n.course-link{\n color: black;\n}\n.coming-soon{\n color: #0078d4;\n}\n.guidance-md {\n padding: 0 20px;\n}\n.guidance-md img{\n width: 100%;\n}\nfooter{\n margin-top: 50px;\n margin-bottom: 50px;\n}\n",""]),e.exports=o},452:function(e,t,n){"use strict";n.r(t);n(96),n(126);var o=n(23),r=n(21),l=(n(61),n(279),n(34),n(12),n(35),n(77),n(50),n(1),n(280)),c=n.n(l),d=n(254),h=n.n(d),f=n(247),m=n(276),y={components:{Multiselect:c.a,VueMarkdown:h.a},data:function(){return{courses:f,resources:m,selectedTags:[],selectedTypes:[],selectedCourse:{},selectedResource:{},search:"",filterSelected:["Online Course","In-Person Course","Textbook"]}},computed:{tags:function(){var e=[];return this.courses.forEach((function(t){return e=e.concat(t.tags)})),Object(r.a)(new Set(e))},types:function(){var e=[];return this.courses.forEach((function(t){return e=e.concat(t.type)})),Object(r.a)(new Set(e))},displayCourses:function(){var e=this,t=this.courses;return this.filterSelected.includes("Coming Soon")||(t=t.filter((function(e){return""!=e.f2f||""!=e.online}))),this.search.length>0&&this.search.length<=1?t=t.filter((function(t){return!!t.tags.includes(e.search.toLowerCase())})):this.search.length>1&&(t=t.filter((function(t){return!!t.title.toLowerCase().includes(e.search.toLowerCase())||!!t.description.toLowerCase().includes(e.search.toLowerCase())}))),t=this.filterSelected.includes("In-Person Course")&&this.filterSelected.includes("Online Course")?t.filter((function(e){if(e.type.includes("In-Person Course")||e.type.includes("Online Course"))return!0})):this.filterSelected.includes("In-Person Course")?t.filter((function(e){if(e.type.includes("In-Person Course"))return!0})):this.filterSelected.includes("Online Course")?t.filter((function(e){if(e.type.includes("Online Course"))return!0})):t.filter((function(e){return!e.type.includes("In-Person Course")&&!e.type.includes("Online Course")}))},displayResources:function(){var e=this,t=this.resources;return this.filterSelected.includes("Coming Soon")||(t=t.filter((function(e){return""!=e.link}))),this.search.length>0&&this.search.length<=1?t=t.filter((function(t){return!!t.tags.includes(e.search.toLowerCase())})):this.search.length>1&&(t=t.filter((function(t){return!!t.title.toLowerCase().includes(e.search.toLowerCase())||!!t.description.toLowerCase().includes(e.search.toLowerCase())}))),t=t.filter((function(t){return!!e.filterSelected.includes(t.type)}))}},methods:{showGuidance:function(e){var t=this;return Object(o.a)(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,t.$axios.$get("https://secret-ocean-49799.herokuapp.com/"+e.link);case 2:e.md=n.sent,t.selectedResource=e;case 4:case"end":return n.stop()}}),n)})))()}},created:function(){this.$route.query.type&&(this.filterSelected=this.$route.query.type,this.$router.push({query:{}}))}},v=y,w=(n(437),n(265),n(51)),component=Object(w.a)(v,(function(){var e=this,t=e._self._c;return t("div",[t("div",{staticClass:"title-container"},[t("b-row",{attrs:{"no-gutters":""}},[t("b-col",{attrs:{md:"7"}},[t("b-card",{staticClass:"overflow-hidden head-card",attrs:{"no-body":""}}),e._v(" "),t("b-card-body",[t("h3",[e._v("Develop")]),e._v(" "),t("b-card-text",{staticClass:"mb-4"},[e._v("\n Training and support materials related to Data Science\n ")]),e._v(" "),t("b-dropdown",{attrs:{variant:"outline-primary",text:"Training Pathways"}},[t("b-dropdown-item",{on:{click:function(t){return e.$router.push("/develop/r-pathway")}}},[e._v("R Pathway")])],1)],1)],1),e._v(" "),t("b-col",{attrs:{md:"1"}}),e._v(" "),t("b-col",{attrs:{md:"4","align-self":"center"}},[t("b-form-input",{staticClass:"search mt-5",attrs:{type:"search",placeholder:"Search"},model:{value:e.search,callback:function(t){e.search=t},expression:"search"}}),e._v(" "),t("b-dropdown",{staticClass:"filter float-right mt-2 mr-3",attrs:{variant:"outline-secondary",right:"",text:"Category"}},[t("b-dropdown-form",{staticStyle:{width:"200px"}},[t("b-form-group",{attrs:{label:"Filter on type:"},scopedSlots:e._u([{key:"default",fn:function(n){var o=n.ariaDescribedby;return[t("b-form-checkbox-group",{attrs:{"aria-describedby":o,name:"filterSelected",stacked:""},model:{value:e.filterSelected,callback:function(t){e.filterSelected=t},expression:"filterSelected"}},[t("b-form-checkbox",{attrs:{value:"In-Person Course"}},[e._v("In-Person Course")]),e._v(" "),t("b-form-checkbox",{attrs:{value:"Online Course"}},[e._v("Online Course")]),e._v(" "),t("b-form-checkbox",{attrs:{value:"Textbook"}},[e._v("Textbook")]),e._v(" "),t("b-form-checkbox",{attrs:{value:"Coming Soon"}},[t("i",[e._v("Coming Soon")])])],1)]}}])})],1)],1)],1)],1),e._v(" "),t("b-row",{attrs:{"align-h":"end"}})],1),e._v(" "),t("b-row",{staticClass:"mt-4",attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},[t("b-col",[t("h4",{staticClass:"mb-3"},[e._v("Courses")])])],1),e._v(" "),t("b-row",[0==e.displayCourses.length?t("b-col",[t("p",[e._v("Filter and search query return "),t("strong",[e._v("no results")]),e._v(". If you can't find what you're looking for, why not "),t("a",{attrs:{href:"mailto:phs.datascience@phs.scot; phs.staffdevelopment@phs.scot?Subject=DSKB - Course Enquiry"}},[e._v("email us")]),e._v("?")])]):e._e()],1),e._v(" "),t("b-row",{attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},e._l(e.displayCourses,(function(n){return t("b-col",{key:n.title,staticClass:"grid"},[t("b-card-group",{attrs:{deck:""}},[t("b-card",{staticClass:"mb-4",scopedSlots:e._u([{key:"footer",fn:function(){return[t("b-list-group",{attrs:{flush:""}},[""!=n.f2f?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n In-Person Course\n "),t("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal.booking-modal",modifiers:{"booking-modal":!0}}],attrs:{variant:"primary"},on:{click:function(t){e.selectedCourse=n}}},[e._v("\n Book\n ")])],1):e._e(),e._v(" "),""!=n.online?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n Online Course\n "),t("b-button",{attrs:{href:n.online,target:"_blank",variant:"primary"}},[e._v("\n Start\n ")])],1):e._e(),e._v(" "),""==n.f2f&&""==n.online?t("b-list-group-item",{staticClass:"coming-soon ml-auto"},[t("i",[e._v("Coming Soon")])]):e._e()],1)]},proxy:!0}],null,!0)},[t("b-card-title",[t("NuxtLink",{staticClass:"course-link",attrs:{to:"develop/"+n.slug}},[e._v(e._s(n.title))])],1),e._v(" "),t("b-card-text",[e._v("\n "+e._s(n.description)+"\n ")])],1)],1)],1)})),1),e._v(" "),t("b-row",{attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},[t("b-col",[t("h4",{staticClass:"mb-3 mt-5"},[e._v("Other Resources")])])],1),e._v(" "),t("b-row",[0==e.displayResources.length?t("b-col",[t("p",[e._v("Filter and search query return "),t("strong",[e._v("no results")]),e._v(". If you can't find what you're looking for, why not "),t("a",{attrs:{href:"mailto:phs.datascience@phs.scot; phs.staffdevelopment@phs.scot?Subject=DSKB - Resource Enquiry"}},[e._v("email us")]),e._v("?")])]):e._e()],1),e._v(" "),t("b-row",{attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},e._l(e.displayResources,(function(n){return t("b-col",{key:n.title,staticClass:"grid"},[t("b-card-group",{attrs:{deck:""}},[t("b-card",{staticClass:"mb-4",attrs:{title:n.title},scopedSlots:e._u([{key:"footer",fn:function(){return[t("b-list-group",{attrs:{flush:""}},["Guidance"==n.type?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n Guidance\n "),t("b-button",{attrs:{href:n.richLink,target:"_blank",variant:"primary"}},[e._v("\n Open\n ")])],1):e._e(),e._v(" "),"Textbook"==n.type?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n Textbook\n "),t("b-button",{attrs:{href:n.link,target:"_blank",variant:"primary"}},[e._v("\n Open\n ")])],1):e._e()],1)]},proxy:!0}],null,!0)},[t("b-card-text",[e._v("\n "+e._s(n.description)+"\n ")])],1)],1)],1)})),1),e._v(" "),t("b-modal",{attrs:{id:"guidance-modal",size:"xl",scrollable:"",title:e.selectedResource.title}},[e._v("\n If this content doesn't load, "),t("a",{attrs:{target:"_blank",href:e.selectedResource.richLink}},[e._v("click here")]),e._v(" to open in a browser tab.\n "),t("br"),e._v(" "),t("br"),e._v(" "),t("vue-markdown",{staticClass:"guidance-md",attrs:{source:e.selectedResource.md}})],1),e._v(" "),t("b-modal",{attrs:{id:"booking-modal",size:"xl"}},[e._v("\n If this content doesn't load, "),t("a",{attrs:{target:"_blank",href:e.selectedCourse.f2f}},[e._v("click here")]),e._v(" to open in a browser tab.\n "),t("br"),e._v(" "),e.selectedCourse.f2f?t("div",[t("iframe",{staticStyle:{border:"none",width:"100%"},attrs:{width:"640px",height:"1550px",src:e.selectedCourse.f2f,frameborder:"0",marginwidth:"0",marginheight:"0",allowfullscreen:"",webkitallowfullscreen:"",mozallowfullscreen:"",msallowfullscreen:""}})]):e._e()])],1)}),[],!1,null,null,null);t.default=component.exports}}]); \ No newline at end of file diff --git a/docs/_nuxt/9dd864a.js b/docs/_nuxt/9dd864a.js new file mode 100644 index 0000000..c400b96 --- /dev/null +++ b/docs/_nuxt/9dd864a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{247:function(t){t.exports=JSON.parse('[{"title":"Introduction to R","slug":"introduction-to-r","description":"A beginner\'s course for learning R from the basics.","overview":"In Introduction to R, you\'re given a brief introduction to programming before building the foundations in R. Throughout the course, you will build from these foundations and master the basics of this widely used open source language, including data structures, flow, exploration, and wrangling. This is all supported with live coding and quizzes so you can be sure you know what you\'re doing. \\n\\nWhile the use of R continues to grow globally, PHS continues to secure the infrastructure and tools for everyone to make the best use of this technology. This course is suitable for everyone new to R and provides the knowledge to build topic specific skills.","link":"https://scotland.shinyapps.io/phs-learnr-intro/","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmmiLaHlezqJOh-fBWH8cGyhUQUlQMVNZMk1aTjdCMllRTFJNWkZKTFNSMy4u","online":"https://scotland.shinyapps.io/phs-learnr-intro/","image":"","type":["In-Person Course","Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":"none","timetable":"3 half days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/learnr-intro","related":[]},{"title":"Introduction to Git ","slug":"introduction-to-git","description":"A beginner\'s course for learning git (including GitHub and Gitea) from the basics.","overview":"In Introduction to Git, there is no assumption of any background in Git, or even version control. Instead, this introduces you to version control topics and provides a deeper understanding of how things work, all from the perspective of an R user. The practical elements of the course utilise the user interface on RStudio so, while there\'s no prerequisite on R, you should be familiar with the RStudio software. \\n\\nVersion control is a powerful tool across software engineering disciplines. At a high level, it allows you to keep track of changes, undoing them when necessary, and collaborating at scale. This course introduces you to Git as a version control tool (arguably the most popular), GitHub and Gitea. You\'ll learn about repositories, commits, branches, and pull requests.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu&embed=true","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"Git","level":"1","packages":[],"tags":["git"],"prereqs":"none","timetable":"1 half day (plus both a pre-course check and post-course drop-in)","materials":"https://github.com/Public-Health-Scotland/learn-git","related":["R","Python"]},{"title":"Data Visualisation in R","slug":"data-visualisation-in-r","description":"Learn about data viz using R. This course has a focus on ggplot2 but includes an introduction to plotly.","overview":"Data visualisation is useful across all roles that interact with data, it\'s important that these are meaningful and visually appealing too. Building from the Introduction to R course, this course covers the structure on which visualisations are built and then, more practically, how to actually build them. \\n\\nThe ggplot2 package is the primary R package that is used across the organisation and in this course. However, this package is built on the same underlying structure as the plotly package. When things need to get interactive on your visualisations, you\'ll need to use plotly.","link":"https://scotland.shinyapps.io/phs-learnr-dataviz/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-dataviz/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ggplot2","plotly"],"tags":["r","viz"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to R Markdown","slug":"introduction-to-r-markdown","description":"Learn about building reports and other functionality of R Markdown.","overview":"R Markdown is used to create outputs such as PDFs, HTML, or even a Shiny app. These are generated from the R Markdown file which simply lays out the document with a minimal and easy to use syntax. You can also include executable code chunks, allowing you to produce visualisations and analytical outputs. R Markdown is already widely used across the organisation, with templates available for publications, presentations, and even training course apps. \\n\\nIn this course you\'ll learn the foundations and practicalities of using R Markdown. While there\'s enough theory to understand how things work, there\'s practical exercises to get familiar and embed your learning. You\'ll need to do most of the practical exercises on RStudio (desktop or server) as the training app can\'t show the outputs.","link":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","rmarkdown"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"PHS Methods","slug":"phs-methods","description":"The first step in taking R further. Learn about the `phsmethods` package created by and for staff in PHS.","overview":"","link":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","phsmethods"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Open Data","slug":"introduction-to-open-data","description":"Learn about open data, what it is, why we use it, and how to interact with our open data using R.","overview":"Open data is the name for publicly released data which is made freely available to everyone to use and reuse in any way they like. With open data, anyone is able to make use of its potential: improving, innovating, and making better decisions. In this course, we provide a theoretical background of open data, building on PHS practices, and then getting practical with some coding examples in R. ","link":"https://scotland.shinyapps.io/phs-learnr-opendata","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-opendata","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ckanr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SPSS to R","slug":"spss-to-r","description":"A companion to the Intro to R course for SPSS users, understanding the differences and how to start translating SPSS to R.","overview":"While not repeating the content of the Introduction to R course, this course attempts to support existing SPSS users to transition to R. The course follows the same structure to allow you to compare and see how the code varies between the different technologies.","link":"https://scotland.shinyapps.io/phs-learnr-spsstor/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-spsstor/","image":"","type":["Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"R Shiny","slug":"r-shiny","description":"Learn how to develop web apps and dashboards using R Shiny.","overview":"R Shiny is an R package that allows you to develop interactive web apps. The use of R Shiny is expansive and flexible, with the ability to integrate with R Markdown and other tools. With an element of web development practices, the course builds the knowledge of Shiny through practical exercises but is thorough enough to cover how each component works. In this course you\'ll learn how a complete R shiny comes together, from forming your data, developing user interfaces with interactive data visualisations that conform to PHS standards, right through to deploying for others to use on the web.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"R","level":"3","packages":["base","shiny"],"tags":["r"],"prereqs":["Introduction to R","Data Visualisation in R"],"timetable":"3 days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/RShiny-training","related":[]},{"title":"SQL in R","slug":"sql-in-r","description":"Learn about writing and using SQL commands in R.","overview":"Using SQL is is applicable to so many roles, it\'s almost inevitable that you\'ll come across it at some stage. However, this could also mean that you inherit pre-written SQL or be dealing with massive quantities of data. Using SQL doesn\'t need to be intimidating but it\'s going to make your life a lot easier if you know what you\'re doing and how to do it efficiently. This course is a complete introduction to SQL from the foundations up, you can use the first few chapters to learn about SQL and leave it there. However, the course continues and shows how that SQL code can be integrated into R, making your coding experience much more seamless. The course concludes with a taster for using an R package, dbplyr. This package allows you to use familiar R syntax (if you\'re familiar with the Tidyverse) rather than using SQL at all.","link":"https://scotland.shinyapps.io/phs-learnr-sql/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-sql/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","odbc","dbplyr"],"tags":["r","sql"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"OpenXLSX","slug":"openxlsx","description":"Learn about the openxlsx package to work with Excel files within R.","overview":"The openxlsx package is a great way to work with Excel files within R. It allows you to read, write, and modify Excel files, and is a great alternative to the readxl and writexl packages. This course is a complete introduction to the openxlsx package, from the foundations up. It covers the basics of working with Excel files, including reading, writing, and modifying data. It also covers some more advanced topics, such as working with multiple worksheets, formatting, and using functions to automate tasks. This course is designed to be a complete introduction to the openxlsx package, so you can use the first few chapters to learn about the package and leave it there. However, the course continues and shows how that openxlsx code can be integrated into R, making your coding experience much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","openxlsx"],"tags":["r","excel"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Python","slug":"introduction-to-python","description":"A beginner\'s course for learning Python from the basics.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"1","packages":[],"tags":["python"],"prereqs":"none","timetable":"","materials":"","related":[]},{"title":"R Functions","slug":"r-functions","description":"R is a functional programming language. So let\'s learn how to write some functions.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Functions","slug":"python-functions","description":"Learn how to write functions in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Dates & Times in R","slug":"dates-and-times-in-r","description":"Learn how to work with dates and times in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","lubridate"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"R Control Structures","slug":"r-control-structures","description":"Learn how to control the flow of execution in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","purrr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Control Structures","slug":"python-control-structures","description":"Learn how to control the flow of execution in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Data Cleaning in R","slug":"data-cleaning-in-r","description":"Learn about data cleaning in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","stringr","forcats","tidyr","tidylog","janitor"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Testing in R","slug":"testing-in-r","description":"Learn about testing in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","testthat"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Reproducible Environments in R","slug":"reproducible-environments-in-r","description":"Learn about creating and using reproducible environments in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","renv"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Data Viz in Python","slug":"data-viz-in-python","description":"Learn about data visualisation using Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":["plotly"],"tags":["python","viz"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"R Packages","slug":"r-packages","description":"Learn how to build your own R packages and get them ready for CRAN.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"3","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]}]')},253:function(t,e,o){var content=o(277);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(60).default)("58b5ddad",content,!0,{sourceMap:!1})},265:function(t,e,o){"use strict";o(253)},276:function(t){t.exports=JSON.parse('[{"title":"Git Guide","slug":"git-guide","description":"Textbook for using git and GitHub within PHS.","link":"https://public-health-scotland.github.io/git-guide/","richLink":"","image":"","type":"Textbook","technology":"Git","tags":["git"]}]')},277:function(t,e,o){var n=o(59)(!1);n.push([t.i,'fieldset[disabled] .multiselect{pointer-events:none}.multiselect__spinner{position:absolute;right:1px;top:1px;width:40px;height:38px;background:#fff;display:block}.multiselect__spinner:after,.multiselect__spinner:before{position:absolute;content:"";top:50%;left:50%;margin:-8px 0 0 -8px;width:16px;height:16px;border-radius:100%;border:2px solid transparent;border-top-color:#41b883;-webkit-box-shadow:0 0 0 1px transparent;box-shadow:0 0 0 1px transparent}.multiselect__spinner:before{-webkit-animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.multiselect__spinner:after{-webkit-animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.multiselect__loading-enter-active,.multiselect__loading-leave-active{-webkit-transition:opacity .4s ease-in-out;transition:opacity .4s ease-in-out;opacity:1}.multiselect__loading-enter,.multiselect__loading-leave-active{opacity:0}.multiselect,.multiselect__input,.multiselect__single{font-family:inherit;font-size:16px;-ms-touch-action:manipulation;touch-action:manipulation}.multiselect{-webkit-box-sizing:content-box;box-sizing:content-box;display:block;position:relative;width:100%;min-height:40px;text-align:left;color:#35495e}.multiselect *{-webkit-box-sizing:border-box;box-sizing:border-box}.multiselect:focus{outline:none}.multiselect--disabled{background:#ededed;pointer-events:none;opacity:.6}.multiselect--active{z-index:50}.multiselect--active:not(.multiselect--above) .multiselect__current,.multiselect--active:not(.multiselect--above) .multiselect__input,.multiselect--active:not(.multiselect--above) .multiselect__tags{border-bottom-left-radius:0;border-bottom-right-radius:0}.multiselect--active .multiselect__select{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.multiselect--above.multiselect--active .multiselect__current,.multiselect--above.multiselect--active .multiselect__input,.multiselect--above.multiselect--active .multiselect__tags{border-top-left-radius:0;border-top-right-radius:0}.multiselect__input,.multiselect__single{position:relative;display:inline-block;min-height:20px;line-height:20px;border:none;border-radius:5px;background:#fff;padding:0 0 0 5px;width:100%;-webkit-transition:border .1s ease;transition:border .1s ease;-webkit-box-sizing:border-box;box-sizing:border-box;margin-bottom:8px;vertical-align:top}.multiselect__input::-webkit-input-placeholder{color:#35495e}.multiselect__input::-moz-placeholder{color:#35495e}.multiselect__input:-ms-input-placeholder{color:#35495e}.multiselect__input::-ms-input-placeholder{color:#35495e}.multiselect__input::placeholder{color:#35495e}.multiselect__tag~.multiselect__input,.multiselect__tag~.multiselect__single{width:auto}.multiselect__input:hover,.multiselect__single:hover{border-color:#cfcfcf}.multiselect__input:focus,.multiselect__single:focus{border-color:#a8a8a8;outline:none}.multiselect__single{padding-left:5px;margin-bottom:8px}.multiselect__tags-wrap{display:inline}.multiselect__tags{min-height:40px;display:block;padding:8px 40px 0 8px;border-radius:5px;border:1px solid #e8e8e8;background:#fff;font-size:14px}.multiselect__tag{position:relative;display:inline-block;padding:4px 26px 4px 10px;border-radius:5px;margin-right:10px;color:#fff;line-height:1;background:#41b883;margin-bottom:5px;white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}.multiselect__tag-icon{cursor:pointer;margin-left:7px;position:absolute;right:0;top:0;bottom:0;font-weight:700;font-style:normal;width:22px;text-align:center;line-height:22px;-webkit-transition:all .2s ease;transition:all .2s ease;border-radius:5px}.multiselect__tag-icon:after{content:"\\D7";color:#266d4d;font-size:14px}.multiselect__tag-icon:focus,.multiselect__tag-icon:hover{background:#369a6e}.multiselect__tag-icon:focus:after,.multiselect__tag-icon:hover:after{color:#fff}.multiselect__current{min-height:40px;overflow:hidden;padding:8px 30px 0 12px;white-space:nowrap;border-radius:5px;border:1px solid #e8e8e8}.multiselect__current,.multiselect__select{line-height:16px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;margin:0;text-decoration:none;cursor:pointer}.multiselect__select{position:absolute;width:40px;height:38px;right:1px;top:1px;padding:4px 8px;text-align:center;-webkit-transition:-webkit-transform .2s ease;transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease}.multiselect__select:before{position:relative;right:0;top:65%;color:#999;margin-top:4px;border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 0;content:""}.multiselect__placeholder{color:#adadad;display:inline-block;margin-bottom:10px;padding-top:2px}.multiselect--active .multiselect__placeholder{display:none}.multiselect__content-wrapper{position:absolute;display:block;background:#fff;width:100%;max-height:240px;overflow:auto;border:1px solid #e8e8e8;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;z-index:50;-webkit-overflow-scrolling:touch}.multiselect__content{list-style:none;display:inline-block;padding:0;margin:0;min-width:100%;vertical-align:top}.multiselect--above .multiselect__content-wrapper{bottom:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom:none;border-top:1px solid #e8e8e8}.multiselect__content::webkit-scrollbar{display:none}.multiselect__element{display:block}.multiselect__option{display:block;padding:12px;min-height:40px;line-height:16px;text-decoration:none;text-transform:none;vertical-align:middle;position:relative;cursor:pointer;white-space:nowrap}.multiselect__option:after{top:0;right:0;position:absolute;line-height:40px;padding-right:12px;padding-left:20px;font-size:13px}.multiselect__option--highlight{background:#41b883;outline:none;color:#fff}.multiselect__option--highlight:after{content:attr(data-select);background:#41b883;color:#fff}.multiselect__option--selected{background:#f3f3f3;color:#35495e;font-weight:700}.multiselect__option--selected:after{content:attr(data-selected);color:silver;background:inherit}.multiselect__option--selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect--disabled .multiselect__current,.multiselect--disabled .multiselect__select{background:#ededed;color:#a6a6a6}.multiselect__option--disabled{background:#ededed!important;color:#a6a6a6!important;cursor:text;pointer-events:none}.multiselect__option--group{background:#ededed;color:#35495e}.multiselect__option--group.multiselect__option--highlight{background:#35495e;color:#fff}.multiselect__option--group.multiselect__option--highlight:after{background:#35495e}.multiselect__option--disabled.multiselect__option--highlight{background:#dedede}.multiselect__option--group-selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--group-selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect-enter-active,.multiselect-leave-active{-webkit-transition:all .15s ease;transition:all .15s ease}.multiselect-enter,.multiselect-leave-active{opacity:0}.multiselect__strong{margin-bottom:8px;line-height:20px;display:inline-block;vertical-align:top}[dir=rtl] .multiselect{text-align:right}[dir=rtl] .multiselect__select{right:auto;left:1px}[dir=rtl] .multiselect__tags{padding:8px 8px 0 40px}[dir=rtl] .multiselect__content{text-align:right}[dir=rtl] .multiselect__option:after{right:auto;left:0}[dir=rtl] .multiselect__clear{right:auto;left:12px}[dir=rtl] .multiselect__spinner{right:auto;left:1px}@-webkit-keyframes spinning{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(2turn);transform:rotate(2turn)}}@keyframes spinning{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(2turn);transform:rotate(2turn)}}',""]),t.exports=n},309:function(t,e,o){var content=o(446);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,o(60).default)("1e78ae70",content,!0,{sourceMap:!1})},444:function(t,e,o){t.exports=o.p+"videos/phs-r-overview.ea7fac1.mp4"},445:function(t,e,o){"use strict";o(309)},446:function(t,e,o){var n=o(59)(!1);n.push([t.i,"\n.filter-row{\n display: flex;\n align-items: center;\n}\ninput{\n min-width: 120px;\n flex-grow: 1\n}\n.filter{\n flex: 0 1 auto;\n}\n.title-container{\n margin-bottom: 20px;\n}\n.head-card{\n border: none;\n}\n.tag-cloud{\n padding: 0 10px;\n}\n.tag-button{\n margin: 2px 0;\n}\nb-button{\n margin-top: red;\n}\nb-dropdown{\n margin-right: 15px;\n}\n.grid{\n display: grid;\n}\n.multiselect__option--highlight, .multiselect__option--highlight::after{\n background: #80BA27 !important;\n}\n.multiselect__option--selected.multiselect__option--highlight, .multiselect__option--selected.multiselect__option--highlight::after{\n background: #bd27b9 !important;\n}\n.multiselect__tag{\n background: #80BA27 !important;\n}\n.btn-primary{\n background-color: #0078d4;\n float: right;\n}\n.coming-soon{\n color: #0078d4;\n float: right;\n}\n.guidance-md {\n padding: 0 20px;\n}\n.guidance-md img{\n width: 100%;\n}\nfooter{\n margin-top: 50px;\n margin-bottom: 50px;\n}\n",""]),t.exports=n},455:function(t,e,o){"use strict";o.r(e);o(1),o(126),o(77),o(50);var n=o(23),r=(o(61),o(254)),l=o.n(r),c=o(247),d=o(276),h={components:{VueMarkdown:l.a},data:function(){return{courses:c,resources:d,selectedCourse:{},selectedResource:{}}},computed:{pathwayResources:function(){this.resources.filter((function(t){return"R"==t.technology}))}},methods:{showGuidance:function(t){var e=this;return Object(n.a)(regeneratorRuntime.mark((function o(){return regeneratorRuntime.wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,e.$axios.$get("https://secret-ocean-49799.herokuapp.com/"+t.link);case 2:t.md=o.sent,e.selectedResource=t;case 4:case"end":return o.stop()}}),o)})))()}}},m=(o(445),o(265),o(51)),component=Object(m.a)(h,(function(){var t=this,e=t._self._c;return e("div",[e("div",{staticClass:"title-container"},[e("b-card",{staticClass:"overflow-hidden head-card",attrs:{"no-body":""}},[e("b-row",{attrs:{"no-gutters":""}},[e("b-col",{attrs:{sm:"12",md:"9"}},[e("b-card-body",[e("h3",[t._v("R Pathway")]),t._v(" "),e("b-card-text",[t._v("\n PHS has made efforts to build an infrastructure for R. Here, the pathway for learning and development is laid out, including training and guidance.\n ")])],1)],1)],1)],1)],1),t._v(" "),e("div",[e("b-row",{attrs:{cols:"1","cols-md":"2"}},[e("b-col",{attrs:{cols:"12",lg:"6"}},[e("h4",[t._v("What is R?")]),t._v(" "),e("b-row",[e("b-col",[e("p",[t._v("This video is an overview of what R is and what it can do. Without getting into technical details, the video has a focus on how to get started and build your skills within PHS.")]),t._v(" "),e("p",[t._v("This page has all resources related to R. See below for the training pathway, this is split into 3 sections (each link will take you directly to the section on this page): ")]),t._v(" "),e("b-row",{staticClass:"mb-3"},[e("b-col",{staticClass:"text-center grid",attrs:{"align-self":"center"}},[e("b-button",{attrs:{variant:"outline-primary"},on:{click:function(e){return t.$router.push("#get_started")}}},[t._v("Get Started")])],1),t._v(" "),e("b-col",{staticClass:"text-center grid",attrs:{"align-self":"center"}},[e("b-button",{attrs:{variant:"outline-primary"},on:{click:function(e){return t.$router.push("#take_it_further")}}},[t._v("Take it Further")])],1),t._v(" "),e("b-col",{staticClass:"text-center grid",attrs:{"align-self":"center"}},[e("b-button",{attrs:{variant:"outline-primary"},on:{click:function(e){return t.$router.push("#get_advanced")}}},[t._v("Get Advanced")])],1)],1)],1)],1)],1),t._v(" "),e("b-col",{attrs:{cols:"12",lg:"6"}},[e("video",{attrs:{width:"100%",controls:""}},[e("source",{attrs:{src:o(444),type:"video/mp4"}}),t._v(" "),e("track",{attrs:{kind:"subtitles",srclang:"en",src:"phs-r-overview_vtt_English.vtt",label:"English"}})])])],1),t._v(" "),e("div",[e("b-row",{attrs:{cols:"1","cols-lg":"2"}},[e("b-col",{attrs:{cols:"12",lg:"9"}},[e("b-row",[e("b-col",[e("a",{attrs:{id:"get_started"}}),t._v(" "),e("h4",{staticClass:"mt-5"},[t._v("Get Started")]),t._v(" "),e("b-row",{staticClass:"pr-md-0 pr-lg-5",attrs:{cols:"1","cols-md":"2"}},t._l(t.courses.filter((function(t){return"R"==t.technology&&"1"==t.level&&""!=t.link})),(function(o){return e("b-col",{key:o.title,staticClass:"grid"},[e("b-card-group",{attrs:{deck:""}},[e("b-card",{staticClass:"mb-4",scopedSlots:t._u([{key:"footer",fn:function(){return[e("b-list-group",{attrs:{flush:""}},[""!=o.f2f?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n In-Person Course\n "),e("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal.booking-modal",modifiers:{"booking-modal":!0}}],attrs:{variant:"primary"},on:{click:function(e){t.selectedCourse=o}}},[t._v("\n Book\n ")])],1):t._e(),t._v(" "),""!=o.online?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n Online Course\n "),e("b-button",{attrs:{href:o.online,target:"_blank",variant:"primary"}},[t._v("\n Start\n ")])],1):t._e(),t._v(" "),""==o.f2f&&""==o.online?e("b-list-group-item",{staticClass:"coming-soon ml-auto"},[e("i",[t._v("Coming Soon")])]):t._e()],1)]},proxy:!0}],null,!0)},[e("b-card-title",[e("NuxtLink",{staticClass:"course-link",attrs:{to:"/develop/"+o.slug}},[t._v(t._s(o.title))])],1),t._v(" "),e("b-card-text",[t._v("\n "+t._s(o.description)+"\n ")])],1)],1)],1)})),1)],1)],1),t._v(" "),e("b-row",[e("b-col",[e("a",{attrs:{id:"take_it_further"}}),t._v(" "),e("h4",{staticClass:"mt-5"},[t._v("Take it Further")]),t._v(" "),e("b-row",{staticClass:"pr-md-0 pr-lg-5",attrs:{cols:"1","cols-md":"2"}},t._l(t.courses.filter((function(t){return"R"==t.technology&&"2"==t.level&&""!=t.link})),(function(o){return e("b-col",{key:o.title,staticClass:"grid"},[e("b-card-group",{attrs:{deck:""}},[e("b-card",{staticClass:"mb-4",scopedSlots:t._u([{key:"footer",fn:function(){return[e("b-list-group",{attrs:{flush:""}},[""!=o.f2f?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n In-Person Course\n "),e("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal.booking-modal",modifiers:{"booking-modal":!0}}],attrs:{variant:"primary"},on:{click:function(e){t.selectedCourse=o}}},[t._v("\n Book\n ")])],1):t._e(),t._v(" "),""!=o.online?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n Online Course\n "),e("b-button",{attrs:{href:o.online,target:"_blank",variant:"primary"}},[t._v("\n Start\n ")])],1):t._e(),t._v(" "),""==o.f2f&&""==o.online?e("b-list-group-item",{staticClass:"coming-soon ml-auto"},[e("i",[t._v("Coming Soon")])]):t._e()],1)]},proxy:!0}],null,!0)},[e("b-card-title",[e("NuxtLink",{staticClass:"course-link",attrs:{to:"/develop/"+o.slug}},[t._v(t._s(o.title))])],1),t._v(" "),e("b-card-text",[t._v("\n "+t._s(o.description)+"\n ")])],1)],1)],1)})),1)],1)],1),t._v(" "),e("b-row",[e("b-col",[e("a",{attrs:{id:"get_advanced"}}),t._v(" "),e("h4",{staticClass:"mt-5"},[t._v("Get Advanced")]),t._v(" "),e("b-row",{staticClass:"pr-md-0 pr-lg-5",attrs:{cols:"1","cols-md":"2"}},t._l(t.courses.filter((function(t){return"R"==t.technology&&"3"==t.level&&""!=t.link})),(function(o){return e("b-col",{key:o.title,staticClass:"grid"},[e("b-card-group",{attrs:{deck:""}},[e("b-card",{staticClass:"mb-4",scopedSlots:t._u([{key:"footer",fn:function(){return[e("b-list-group",{attrs:{flush:""}},[""!=o.f2f?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n In-Person Course\n "),e("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal.booking-modal",modifiers:{"booking-modal":!0}}],attrs:{variant:"primary"},on:{click:function(e){t.selectedCourse=o}}},[t._v("\n Book\n ")])],1):t._e(),t._v(" "),""!=o.online?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n Online Course\n "),e("b-button",{attrs:{href:o.online,target:"_blank",variant:"primary"}},[t._v("\n Start\n ")])],1):t._e(),t._v(" "),""==o.f2f&&""==o.online?e("b-list-group-item",{staticClass:"coming-soon ml-auto"},[e("i",[t._v("Coming Soon")])]):t._e()],1)]},proxy:!0}],null,!0)},[e("b-card-title",[e("NuxtLink",{staticClass:"course-link",attrs:{to:"/develop/"+o.slug}},[t._v(t._s(o.title))])],1),t._v(" "),e("b-card-text",[t._v("\n "+t._s(o.description)+"\n ")])],1)],1)],1)})),1)],1)],1),t._v(" "),e("b-row",[e("b-col",[e("h4",{staticClass:"mt-5"},[t._v("Related Technologies")]),t._v(" "),e("b-row",{staticClass:"pr-md-0 pr-lg-5",attrs:{cols:"1","cols-md":"2"}},t._l(t.courses.filter((function(t){return t.related.includes("R")})),(function(o){return e("b-col",{key:o.title,staticClass:"grid"},[e("b-card-group",{attrs:{deck:""}},[e("b-card",{staticClass:"mb-4",scopedSlots:t._u([{key:"footer",fn:function(){return[e("b-list-group",{attrs:{flush:""}},[""!=o.f2f?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n In-Person Course\n "),e("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal.booking-modal",modifiers:{"booking-modal":!0}}],attrs:{variant:"primary"},on:{click:function(e){t.selectedCourse=o}}},[t._v("\n Book\n ")])],1):t._e(),t._v(" "),""!=o.online?e("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[t._v("\n Online Course\n "),e("b-button",{attrs:{href:o.online,target:"_blank",variant:"primary"}},[t._v("\n Start\n ")])],1):t._e(),t._v(" "),""==o.f2f&&""==o.online?e("b-list-group-item",{staticClass:"coming-soon ml-auto"},[e("i",[t._v("Coming Soon")])]):t._e()],1)]},proxy:!0}],null,!0)},[e("b-card-title",[e("NuxtLink",{staticClass:"course-link",attrs:{to:"/develop/"+o.slug}},[t._v("\n "+t._s(o.title)+"\n ")])],1),t._v(" "),e("b-card-text",[t._v("\n "+t._s(o.description)+"\n ")])],1)],1)],1)})),1)],1)],1)],1),t._v(" "),e("b-col",{attrs:{cols:"12",lg:"3"}},[e("b-row",[e("b-col",{staticClass:"grid"},[e("h4",{staticClass:"mt-5"},[t._v("Other Resources")]),t._v(" "),t._l(t.resources.filter((function(t){return"R"==t.technology})),(function(o){return e("b-list-group",{key:o.title},["Guidance"==o.type?e("b-list-group-item",{staticClass:"mb-2 d-flex justify-content-between align-items-center",attrs:{href:o.richLink,target:"_blank"}},[t._v("\n "+t._s(o.title)+"\n "),e("eva-icon",{staticClass:"float-right",attrs:{name:"file-text-outline",fill:"#bd27b9"}})],1):"Textbook"==o.type?e("b-list-group-item",{staticClass:"mb-2 d-flex justify-content-between align-items-center",attrs:{href:o.link}},[t._v("\n "+t._s(o.title)+"\n "),e("eva-icon",{staticClass:"float-right",attrs:{name:"book-outline",fill:"#bd27b9"}})],1):t._e()],1)}))],2)],1)],1)],1)],1)],1),t._v(" "),e("b-modal",{attrs:{id:"guidance-modal",size:"xl",scrollable:"",title:t.selectedResource.title}},[t._v("\n If this content doesn't load, "),e("a",{attrs:{target:"_blank",href:t.selectedResource.richLink}},[t._v("click here")]),t._v(" to open in a browser tab.\n "),e("br"),t._v(" "),e("br"),t._v(" "),e("vue-markdown",{staticClass:"guidance-md",attrs:{source:t.selectedResource.md}})],1),t._v(" "),e("b-modal",{attrs:{id:"booking-modal",size:"xl"}},[t._v("\n If this content doesn't load, "),e("a",{attrs:{target:"_blank",href:t.selectedCourse.f2f}},[t._v("click here")]),t._v(" to open in a browser tab.\n "),e("br"),t._v(" "),t.selectedCourse.f2f?e("div",[e("iframe",{staticStyle:{border:"none",width:"100%"},attrs:{width:"640px",height:"1550px",src:t.selectedCourse.f2f,frameborder:"0",marginwidth:"0",marginheight:"0",allowfullscreen:"",webkitallowfullscreen:"",mozallowfullscreen:"",msallowfullscreen:""}})]):t._e()])],1)}),[],!1,null,null,null);e.default=component.exports}}]); \ No newline at end of file diff --git a/docs/_nuxt/a5b5a9e.js b/docs/_nuxt/a5b5a9e.js deleted file mode 100644 index 8757711..0000000 --- a/docs/_nuxt/a5b5a9e.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{247:function(e){e.exports=JSON.parse('[{"title":"Introduction to R","slug":"introduction-to-r","description":"A beginner\'s course for learning R from the basics.","overview":"In Introduction to R, you\'re given a brief introduction to programming before building the foundations in R. Throughout the course, you will build from these foundations and master the basics of this widely used open source language, including data structures, flow, exploration, and wrangling. This is all supported with live coding and quizzes so you can be sure you know what you\'re doing. \\n\\nWhile the use of R continues to grow globally, PHS continues to secure the infrastructure and tools for everyone to make the best use of this technology. This course is suitable for everyone new to R and provides the knowledge to build topic specific skills.","link":"https://scotland.shinyapps.io/phs-learnr-intro/","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmmiLaHlezqJOh-fBWH8cGyhUQUlQMVNZMk1aTjdCMllRTFJNWkZKTFNSMy4u","online":"https://scotland.shinyapps.io/phs-learnr-intro/","image":"","type":["In-Person Course","Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":"none","timetable":"3 half days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/learnr-intro","related":[]},{"title":"Introduction to Git ","slug":"introduction-to-git","description":"A beginner\'s course for learning git (including GitHub and Gitea) from the basics.","overview":"In Introduction to Git, there is no assumption of any background in Git, or even version control. Instead, this introduces you to version control topics and provides a deeper understanding of how things work, all from the perspective of an R user. The practical elements of the course utilise the user interface on RStudio so, while there\'s no prerequisite on R, you should be familiar with the RStudio software. \\n\\nVersion control is a powerful tool across software engineering disciplines. At a high level, it allows you to keep track of changes, undoing them when necessary, and collaborating at scale. This course introduces you to Git as a version control tool (arguably the most popular), GitHub and Gitea. You\'ll learn about repositories, commits, branches, and pull requests.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu&embed=true","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"Git","level":"1","packages":[],"tags":["git"],"prereqs":"none","timetable":"1 half day (plus both a pre-course check and post-course drop-in)","materials":"https://github.com/Public-Health-Scotland/learn-git","related":["R","Python"]},{"title":"Data Visualisation in R","slug":"data-visualisation-in-r","description":"Learn about data viz using R. This course has a focus on ggplot2 but includes an introduction to plotly.","overview":"Data visualisation is useful across all roles that interact with data, it\'s important that these are meaningful and visually appealing too. Building from the Introduction to R course, this course covers the structure on which visualisations are built and then, more practically, how to actually build them. \\n\\nThe ggplot2 package is the primary R package that is used across the organisation and in this course. However, this package is built on the same underlying structure as the plotly package. When things need to get interactive on your visualisations, you\'ll need to use plotly.","link":"https://scotland.shinyapps.io/phs-learnr-dataviz/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-dataviz/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ggplot2","plotly"],"tags":["r","viz"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to R Markdown","slug":"introduction-to-r-markdown","description":"Learn about building reports and other functionality of R Markdown.","overview":"R Markdown is used to create outputs such as PDFs, HTML, or even a Shiny app. These are generated from the R Markdown file which simply lays out the document with a minimal and easy to use syntax. You can also include executable code chunks, allowing you to produce visualisations and analytical outputs. R Markdown is already widely used across the organisation, with templates available for publications, presentations, and even training course apps. \\n\\nIn this course you\'ll learn the foundations and practicalities of using R Markdown. While there\'s enough theory to understand how things work, there\'s practical exercises to get familiar and embed your learning. You\'ll need to do most of the practical exercises on RStudio (desktop or server) as the training app can\'t show the outputs.","link":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","rmarkdown"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"PHS Methods","slug":"phs-methods","description":"The first step in taking R further. Learn about the `phsmethods` package created by and for staff in PHS.","overview":"","link":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","phsmethods"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Open Data","slug":"introduction-to-open-data","description":"Learn about open data, what it is, why we use it, and how to interact with our open data using R.","overview":"Open data is the name for publicly released data which is made freely available to everyone to use and reuse in any way they like. With open data, anyone is able to make use of its potential: improving, innovating, and making better decisions. In this course, we provide a theoretical background of open data, building on PHS practices, and then getting practical with some coding examples in R. ","link":"https://scotland.shinyapps.io/phs-learnr-opendata","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-opendata","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ckanr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SPSS to R","slug":"spss-to-r","description":"A companion to the Intro to R course for SPSS users, understanding the differences and how to start translating SPSS to R.","overview":"While not repeating the content of the Introduction to R course, this course attempts to support existing SPSS users to transition to R. The course follows the same structure to allow you to compare and see how the code varies between the different technologies.","link":"https://scotland.shinyapps.io/phs-learnr-spsstor/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-spsstor/","image":"","type":["Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"R Shiny","slug":"r-shiny","description":"Learn how to develop web apps and dashboards using R Shiny.","overview":"R Shiny is an R package that allows you to develop interactive web apps. The use of R Shiny is expansive and flexible, with the ability to integrate with R Markdown and other tools. With an element of web development practices, the course builds the knowledge of Shiny through practical exercises but is thorough enough to cover how each component works. In this course you\'ll learn how a complete R shiny comes together, from forming your data, developing user interfaces with interactive data visualisations that conform to PHS standards, right through to deploying for others to use on the web.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"R","level":"3","packages":["base","shiny"],"tags":["r"],"prereqs":["Introduction to R","Data Visualisation in R"],"timetable":"3 days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/RShiny-training","related":[]},{"title":"SQL in R","slug":"sql-in-r","description":"Learn about writing and using SQL commands in R.","overview":"Using SQL is is applicable to so many roles, it\'s almost inevitable that you\'ll come across it at some stage. However, this could also mean that you inherit pre-written SQL or be dealing with massive quantities of data. Using SQL doesn\'t need to be intimidating but it\'s going to make your life a lot easier if you know what you\'re doing and how to do it efficiently. This course is a complete introduction to SQL from the foundations up, you can use the first few chapters to learn about SQL and leave it there. However, the course continues and shows how that SQL code can be integrated into R, making your coding experience much more seamless. The course concludes with a taster for using an R package, dbplyr. This package allows you to use familiar R syntax (if you\'re familiar with the Tidyverse) rather than using SQL at all.","link":"https://scotland.shinyapps.io/phs-learnr-sql/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-sql/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","odbc","dbplyr"],"tags":["r","sql"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"OpenXLSX","slug":"openxlsx","description":"Learn about the openxlsx package to work with Excel files within R.","overview":"The openxlsx package is a great way to work with Excel files within R. It allows you to read, write, and modify Excel files, and is a great alternative to the readxl and writexl packages. This course is a complete introduction to the openxlsx package, from the foundations up. It covers the basics of working with Excel files, including reading, writing, and modifying data. It also covers some more advanced topics, such as working with multiple worksheets, formatting, and using functions to automate tasks. This course is designed to be a complete introduction to the openxlsx package, so you can use the first few chapters to learn about the package and leave it there. However, the course continues and shows how that openxlsx code can be integrated into R, making your coding experience much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","openxlsx"],"tags":["r","excel"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Python","slug":"introduction-to-python","description":"A beginner\'s course for learning Python from the basics.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"1","packages":[],"tags":["python"],"prereqs":"none","timetable":"","materials":"","related":[]},{"title":"R Functions","slug":"r-functions","description":"R is a functional programming language. So let\'s learn how to write some functions.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Functions","slug":"python-functions","description":"Learn how to write functions in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Dates & Times in R","slug":"dates-and-times-in-r","description":"Learn how to work with dates and times in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","lubridate"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"R Control Structures","slug":"r-control-structures","description":"Learn how to control the flow of execution in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","purrr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Control Structures","slug":"python-control-structures","description":"Learn how to control the flow of execution in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Data Cleaning in R","slug":"data-cleaning-in-r","description":"Learn about data cleaning in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","stringr","forcats","tidyr","tidylog","janitor"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Testing in R","slug":"testing-in-r","description":"Learn about testing in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","testthat"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Reproducible Environments in R","slug":"reproducible-environments-in-r","description":"Learn about creating and using reproducible environments in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","renv"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Data Viz in Python","slug":"data-viz-in-python","description":"Learn about data visualisation using Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":["plotly"],"tags":["python","viz"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"R Packages","slug":"r-packages","description":"Learn how to build your own R packages and get them ready for CRAN.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"3","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]}]')},276:function(e){e.exports=JSON.parse('[{"title":"GitHub Guidance","slug":"github-guidance","description":"Guidance for using git and GitHub within PHS.","link":"http://raw.githubusercontent.com/Public-Health-Scotland/GitHub-guidance/master/README.md","richLink":"https://github.com/Public-Health-Scotland/GitHub-guidance/blob/master/README.md","image":"","type":"Guidance","technology":"Git","tags":["git"]},{"title":"Git Guide","slug":"git-guide","description":"Textbook for using git and GitHub within PHS.","link":"https://public-health-scotland.github.io/git-guide/","richLink":"","image":"","type":"Textbook","technology":"Git","tags":["git"]},{"title":"R Style Guide","slug":"r-style-guide","description":"Coding style guidance for PHS staff using R.","overview":"","link":"https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/PHS%20R%20style%20guide.md","richLink":"https://github.com/Public-Health-Scotland/R-Resources/blob/master/PHS%20R%20style%20guide.md","image":"","type":"Guidance","technology":"R","tags":["r"]},{"title":"Recommended R Packages","slug":"recommended-r-packages","description":"Common packages for R used across PHS.","overview":"","link":"https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/Recommended%20R%20Packages.md","richLink":"https://github.com/Public-Health-Scotland/R-Resources/blob/master/Recommended%20R%20Packages.md","image":"","type":"Guidance","technology":"R","tags":["r"]},{"title":"Posit Workbench Login Guidance","slug":"workbench-login-guidance","description":"Understanding the requirements and process to logging into the PHS Posit Workbench.","overview":"","link":"https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/posit_workbench_login_guidance.md","richLink":"https://github.com/Public-Health-Scotland/R-Resources/blob/master/posit_workbench_login_guidance.md","image":"","type":"Guidance","technology":"R","tags":["r"]},{"title":"Getting Support with Posit","slug":"posit-support","description":"The process for getting support with Posit applications in PHS.","overview":"","link":"https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/posit_team_contact_info.md","richLink":"https://github.com/Public-Health-Scotland/R-Resources/blob/master/posit_team_contact_info.md","image":"","type":"Guidance","technology":"R","tags":["r"]},{"title":"Recommended Global Options for RStudio","slug":"recommended-global-options","description":"Recommended settings for RStudio Global Options in Posit Workbench","overview":"","link":"https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/posit_workbench_and_global_options.md","richLink":"https://github.com/Public-Health-Scotland/R-Resources/blob/master/posit_workbench_and_global_options.md","image":"","type":"Guidance","technology":"R","tags":["r"]},{"title":"Best Practice with R in Posit Workbench","slug":"r-best-practice-in-posit","description":"Best practice guidance for R development in Posit Workbench.","overview":"","link":"https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/posit_workbench_best_practice_with_r.md","richLink":"https://github.com/Public-Health-Scotland/R-Resources/blob/master/posit_workbench_best_practice_with_r.md","image":"","type":"Guidance","technology":"R","tags":["r"]},{"title":"What is Kubernetes?","slug":"posit-kubernetes","description":"Understand some of the infrastucture behind the Posit Workbench.","overview":"","link":"https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/posit_workbench_and_kubernetes.md","richLink":"https://github.com/Public-Health-Scotland/R-Resources/blob/master/posit_workbench_and_kubernetes.md","image":"","type":"Guidance","technology":"R","tags":["r"]},{"title":"PHS Posit Workbench Acceptable Use Policy","slug":"posit-wb-acceptable-use-policy","description":"The Acceptable Use Policy for PHS Posit Workbench","overview":"","link":"https://raw.githubusercontent.com/Public-Health-Scotland/R-Resources/master/posit_workbench_acceptable_use_policy.md","richLink":"https://github.com/Public-Health-Scotland/R-Resources/blob/master/posit_workbench_acceptable_use_policy.md","image":"","type":"Guidance","technology":"R","tags":["r"]}]')},305:function(e,t,o){var content=o(438);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,o(60).default)("7e53c3b0",content,!0,{sourceMap:!1})},437:function(e,t,o){"use strict";o(305)},438:function(e,t,o){var n=o(59)(!1);n.push([e.i,"\n.filter-row{\n display: flex;\n align-items: center;\n}\ninput{\n min-width: 120px;\n flex-grow: 1\n}\n.filter{\n flex: 0 1 auto;\n}\n.head-card{\n border: none;\n}\n.tag-cloud{\n padding: 0 10px;\n}\n.tag-button{\n margin: 2px 0;\n}\nb-button{\n margin-top: red;\n}\nb-dropdown{\n margin-right: 15px;\n}\n.grid{\n display: grid;\n}\n.multiselect__option--highlight, .multiselect__option--highlight::after{\n background: #80BA27 !important;\n}\n.multiselect__option--selected.multiselect__option--highlight, .multiselect__option--selected.multiselect__option--highlight::after{\n background: #bd27b9 !important;\n}\n.multiselect__tag{\n background: #80BA27 !important;\n}\n.card-footer{\n background-color: #ffffff;\n}\n.btn-primary{\n background-color: #0078d4;\n float: right;\n}\n.course-link{\n color: black;\n}\n.coming-soon{\n color: #0078d4;\n}\n.guidance-md {\n padding: 0 20px;\n}\n.guidance-md img{\n width: 100%;\n}\nfooter{\n margin-top: 50px;\n margin-bottom: 50px;\n}\n",""]),e.exports=n},452:function(e,t,o){"use strict";o.r(t);o(96),o(126);var n=o(23),r=o(21),l=(o(61),o(279),o(34),o(12),o(35),o(77),o(50),o(1),o(280)),c=o.n(l),d=o(254),h=o.n(d),m=o(247),f=o(276),y={components:{Multiselect:c.a,VueMarkdown:h.a},data:function(){return{courses:m,resources:f,selectedTags:[],selectedTypes:[],selectedCourse:{},selectedResource:{},search:"",filterSelected:["Online Course","In-Person Course","Textbook","Guidance"]}},computed:{tags:function(){var e=[];return this.courses.forEach((function(t){return e=e.concat(t.tags)})),Object(r.a)(new Set(e))},types:function(){var e=[];return this.courses.forEach((function(t){return e=e.concat(t.type)})),Object(r.a)(new Set(e))},displayCourses:function(){var e=this,t=this.courses;return this.filterSelected.includes("Coming Soon")||(t=t.filter((function(e){return""!=e.f2f||""!=e.online}))),this.search.length>0&&this.search.length<=1?t=t.filter((function(t){return!!t.tags.includes(e.search.toLowerCase())})):this.search.length>1&&(t=t.filter((function(t){return!!t.title.toLowerCase().includes(e.search.toLowerCase())||!!t.description.toLowerCase().includes(e.search.toLowerCase())}))),t=this.filterSelected.includes("In-Person Course")&&this.filterSelected.includes("Online Course")?t.filter((function(e){if(e.type.includes("In-Person Course")||e.type.includes("Online Course"))return!0})):this.filterSelected.includes("In-Person Course")?t.filter((function(e){if(e.type.includes("In-Person Course"))return!0})):this.filterSelected.includes("Online Course")?t.filter((function(e){if(e.type.includes("Online Course"))return!0})):t.filter((function(e){return!e.type.includes("In-Person Course")&&!e.type.includes("Online Course")}))},displayResources:function(){var e=this,t=this.resources;return this.filterSelected.includes("Coming Soon")||(t=t.filter((function(e){return""!=e.link}))),this.search.length>0&&this.search.length<=1?t=t.filter((function(t){return!!t.tags.includes(e.search.toLowerCase())})):this.search.length>1&&(t=t.filter((function(t){return!!t.title.toLowerCase().includes(e.search.toLowerCase())||!!t.description.toLowerCase().includes(e.search.toLowerCase())}))),t=t.filter((function(t){return!!e.filterSelected.includes(t.type)}))}},methods:{showGuidance:function(e){var t=this;return Object(n.a)(regeneratorRuntime.mark((function o(){return regeneratorRuntime.wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,t.$axios.$get("https://secret-ocean-49799.herokuapp.com/"+e.link);case 2:e.md=o.sent,t.selectedResource=e;case 4:case"end":return o.stop()}}),o)})))()}},created:function(){this.$route.query.type&&(this.filterSelected=this.$route.query.type,this.$router.push({query:{}}))}},v=y,w=(o(437),o(265),o(51)),component=Object(w.a)(v,(function(){var e=this,t=e._self._c;return t("div",[t("div",{staticClass:"title-container"},[t("b-card",{staticClass:"overflow-hidden head-card",attrs:{"no-body":""}},[t("b-row",{attrs:{"no-gutters":""}},[t("b-col",{attrs:{md:"7"}},[t("b-card-body",[t("h3",[e._v("Develop knowledge and skills...")]),e._v(" "),t("b-card-text",[e._v("\n Internal contents related to using and learning data science tools in PHS are below, take a look and continue your development now. For a specific learning pathway use the links here:\n ")]),e._v(" "),t("b-button",{staticClass:"mt-2",attrs:{variant:"outline-primary"},on:{click:function(t){return e.$router.push("/develop/r-pathway")}}},[e._v("R Pathway")])],1)],1),e._v(" "),t("b-col",{attrs:{md:"1"}}),e._v(" "),t("b-col",{staticClass:"d-none d-sm-none d-md-block",attrs:{md:"4","align-self":"center"}},[t("div",{staticClass:"tag-cloud"},[t("b-button",{staticClass:"tag-button",attrs:{variant:"outline-secondary"},on:{click:function(t){e.search="R"}}},[e._v("R")]),e._v(" "),t("b-button",{staticClass:"tag-button",attrs:{variant:"outline-secondary"},on:{click:function(t){e.search="git"}}},[e._v("git")]),e._v(" "),t("b-button",{staticClass:"tag-button",attrs:{variant:"outline-secondary"},on:{click:function(t){e.search="Python"}}},[e._v("Python")]),e._v(" "),t("b-button",{staticClass:"tag-button",attrs:{variant:"outline-secondary"},on:{click:function(t){e.search="SQL"}}},[e._v("SQL")]),e._v(" "),t("b-button",{staticClass:"tag-button",attrs:{variant:"outline-secondary"},on:{click:function(t){e.search="Viz"}}},[e._v("Viz")])],1)])],1)],1)],1),e._v(" "),t("b-row",{staticClass:"mb-3",attrs:{"align-h":"end"}},[t("b-col",{attrs:{cols:"12",md:"6",lg:"5"}},[t("div",{staticClass:"filter-row"},[t("b-form-input",{staticClass:"search",attrs:{type:"search",placeholder:"Search"},model:{value:e.search,callback:function(t){e.search=t},expression:"search"}}),e._v(" "),t("b-dropdown",{staticClass:"filter",attrs:{size:"lg",variant:"link","toggle-class":"text-decoration-none","no-caret":"",right:"",offset:"-15"},scopedSlots:e._u([{key:"button-content",fn:function(){return[t("eva-icon",{attrs:{name:"funnel-outline",fill:"#bd27b9"}}),t("span",{staticClass:"sr-only"},[e._v("Filter")])]},proxy:!0}])},[e._v(" "),t("b-dropdown-form",{staticStyle:{width:"200px"}},[t("b-form-group",{attrs:{label:"Filter"},scopedSlots:e._u([{key:"default",fn:function(o){var n=o.ariaDescribedby;return[t("b-form-checkbox-group",{attrs:{"aria-describedby":n,name:"filterSelected",stacked:""},model:{value:e.filterSelected,callback:function(t){e.filterSelected=t},expression:"filterSelected"}},[t("b-form-checkbox",{attrs:{value:"In-Person Course"}},[e._v("In-Person Course")]),e._v(" "),t("b-form-checkbox",{attrs:{value:"Online Course"}},[e._v("Online Course")]),e._v(" "),t("b-form-checkbox",{attrs:{value:"Guidance"}},[e._v("Guidance")]),e._v(" "),t("b-form-checkbox",{attrs:{value:"Textbook"}},[e._v("Textbook")]),e._v(" "),t("b-form-checkbox",{attrs:{value:"Coming Soon"}},[t("i",[e._v("Coming Soon")])])],1)]}}])})],1)],1)],1)])],1),e._v(" "),t("b-row",{attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},[t("b-col",[t("h4",{staticClass:"mb-3"},[e._v("Courses")])])],1),e._v(" "),t("b-row",[0==e.displayCourses.length?t("b-col",[t("p",[e._v("Filter and search query return "),t("strong",[e._v("no results")]),e._v(". If you can't find what you're looking for, why not "),t("a",{attrs:{href:"mailto:phs.datascience@phs.scot; phs.staffdevelopment@phs.scot?Subject=DSKB - Course Enquiry"}},[e._v("email us")]),e._v("?")])]):e._e()],1),e._v(" "),t("b-row",{attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},e._l(e.displayCourses,(function(o){return t("b-col",{key:o.title,staticClass:"grid"},[t("b-card-group",{attrs:{deck:""}},[t("b-card",{staticClass:"mb-4",scopedSlots:e._u([{key:"footer",fn:function(){return[t("b-list-group",{attrs:{flush:""}},[""!=o.f2f?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n In-Person Course\n "),t("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal.booking-modal",modifiers:{"booking-modal":!0}}],attrs:{variant:"primary"},on:{click:function(t){e.selectedCourse=o}}},[e._v("\n Book\n ")])],1):e._e(),e._v(" "),""!=o.online?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n Online Course\n "),t("b-button",{attrs:{href:o.online,target:"_blank",variant:"primary"}},[e._v("\n Start\n ")])],1):e._e(),e._v(" "),""==o.f2f&&""==o.online?t("b-list-group-item",{staticClass:"coming-soon ml-auto"},[t("i",[e._v("Coming Soon")])]):e._e()],1)]},proxy:!0}],null,!0)},[t("b-card-title",[t("NuxtLink",{staticClass:"course-link",attrs:{to:"develop/"+o.slug}},[e._v(e._s(o.title))])],1),e._v(" "),t("b-card-text",[e._v("\n "+e._s(o.description)+"\n ")])],1)],1)],1)})),1),e._v(" "),t("b-row",{attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},[t("b-col",[t("h4",{staticClass:"mb-3 mt-5"},[e._v("Other Resources")])])],1),e._v(" "),t("b-row",[0==e.displayResources.length?t("b-col",[t("p",[e._v("Filter and search query return "),t("strong",[e._v("no results")]),e._v(". If you can't find what you're looking for, why not "),t("a",{attrs:{href:"mailto:phs.datascience@phs.scot; phs.staffdevelopment@phs.scot?Subject=DSKB - Resource Enquiry"}},[e._v("email us")]),e._v("?")])]):e._e()],1),e._v(" "),t("b-row",{attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},e._l(e.displayResources,(function(o){return t("b-col",{key:o.title,staticClass:"grid"},[t("b-card-group",{attrs:{deck:""}},[t("b-card",{staticClass:"mb-4",attrs:{title:o.title},scopedSlots:e._u([{key:"footer",fn:function(){return[t("b-list-group",{attrs:{flush:""}},["Guidance"==o.type?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n Guidance\n "),t("b-button",{attrs:{href:o.richLink,target:"_blank",variant:"primary"}},[e._v("\n Open\n ")])],1):e._e(),e._v(" "),"Textbook"==o.type?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n Textbook\n "),t("b-button",{attrs:{href:o.link,target:"_blank",variant:"primary"}},[e._v("\n Open\n ")])],1):e._e()],1)]},proxy:!0}],null,!0)},[t("b-card-text",[e._v("\n "+e._s(o.description)+"\n ")])],1)],1)],1)})),1),e._v(" "),t("b-modal",{attrs:{id:"guidance-modal",size:"xl",scrollable:"",title:e.selectedResource.title}},[e._v("\n If this content doesn't load, "),t("a",{attrs:{target:"_blank",href:e.selectedResource.richLink}},[e._v("click here")]),e._v(" to open in a browser tab.\n "),t("br"),e._v(" "),t("br"),e._v(" "),t("vue-markdown",{staticClass:"guidance-md",attrs:{source:e.selectedResource.md}})],1),e._v(" "),t("b-modal",{attrs:{id:"booking-modal",size:"xl"}},[e._v("\n If this content doesn't load, "),t("a",{attrs:{target:"_blank",href:e.selectedCourse.f2f}},[e._v("click here")]),e._v(" to open in a browser tab.\n "),t("br"),e._v(" "),e.selectedCourse.f2f?t("div",[t("iframe",{staticStyle:{border:"none",width:"100%"},attrs:{width:"640px",height:"1550px",src:e.selectedCourse.f2f,frameborder:"0",marginwidth:"0",marginheight:"0",allowfullscreen:"",webkitallowfullscreen:"",mozallowfullscreen:"",msallowfullscreen:""}})]):e._e()])],1)}),[],!1,null,null,null);t.default=component.exports}}]); \ No newline at end of file diff --git a/docs/_nuxt/aa43c56.js b/docs/_nuxt/b600003.js similarity index 52% rename from docs/_nuxt/aa43c56.js rename to docs/_nuxt/b600003.js index cf90633..528d5c2 100644 --- a/docs/_nuxt/aa43c56.js +++ b/docs/_nuxt/b600003.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{306:function(t,e,n){var content=n(440);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("11ddd042",content,!0,{sourceMap:!1})},439:function(t,e,n){"use strict";n(306)},440:function(t,e,n){var r=n(59)(!1);r.push([t.i,".active{font-weight:bold}.not-active{font-weight:normal}.gh-button{display:flex;justify-content:space-between;align-items:center}a li{font-weight:400}.collapsed>.when-open,.not-collapsed>.when-closed{display:none}.search-results{box-shadow:0px 4px 10px 0px #dcdcdc}@media(max-width: 767.98px){.search-results{right:15px;width:95%}}@media(min-width: 767.98px){.search-results{margin-top:-33px;right:15px}}.md-doc h1{font-size:2rem;margin-bottom:20px}.md-doc h2{font-size:1.5rem}.md-doc h3{font-size:1.25rem}.md-doc h4{font-size:1rem}.md-doc h5{font-size:.875rem}.md-doc h6{font-size:.75rem}.md-doc img{max-width:100%}",""]),t.exports=r},453:function(t,e,n){"use strict";n.r(e);n(96),n(18),n(14),n(97),n(9),n(12),n(2),n(47),n(34),n(35);var r=n(23);n(61),n(8),n(1),n(77),n(50),n(98),n(10),n(175);function o(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return c(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,d=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return l=t.done,t},e:function(t){d=!0,o=t},f:function(){try{l||null==n.return||n.return()}finally{if(d)throw o}}}}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i.when-open,.not-collapsed>.when-closed{display:none}.search-results{box-shadow:0px 4px 10px 0px #dcdcdc}@media(max-width: 767.98px){.search-results{right:15px;width:95%}}@media(min-width: 767.98px){.search-results{margin-top:-33px;right:15px}}.md-doc h1{font-size:2rem;margin-bottom:20px}.md-doc h2{font-size:1.5rem}.md-doc h3{font-size:1.25rem}.md-doc h4{font-size:1rem}.md-doc h5{font-size:.875rem}.md-doc h6{font-size:.75rem}.md-doc img{max-width:100%}",""]),t.exports=r},453:function(t,e,n){"use strict";n.r(e);n(96),n(18),n(14),n(97),n(9),n(12),n(2),n(47),n(34),n(35);var r=n(23);n(61),n(8),n(1),n(77),n(50),n(98),n(10),n(175);function o(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return c(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,d=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return l=t.done,t},e:function(t){d=!0,o=t},f:function(){try{l||null==n.return||n.return()}finally{if(d)throw o}}}}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/develop/index.html b/docs/develop/index.html index 6d75328..481e32a 100644 --- a/docs/develop/index.html +++ b/docs/develop/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/develop/r-pathway/index.html b/docs/develop/r-pathway/index.html index 6d75328..481e32a 100644 --- a/docs/develop/r-pathway/index.html +++ b/docs/develop/r-pathway/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/docs/index.html b/docs/docs/index.html index 6d75328..481e32a 100644 --- a/docs/docs/index.html +++ b/docs/docs/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/index.html b/docs/index.html index 6d75328..481e32a 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/social/index.html b/docs/social/index.html index 6d75328..481e32a 100644 --- a/docs/social/index.html +++ b/docs/social/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + From ae6ff3d8eb87281ff506bb9864abc18def866cda Mon Sep 17 00:00:00 2001 From: rmccreath Date: Tue, 14 Mar 2023 15:06:22 +0000 Subject: [PATCH 31/42] Fix route on search --- docs/404.html | 4 ++-- docs/_nuxt/{b6e1de2.js => 94cdbea.js} | 2 +- docs/_nuxt/b600003.js | 1 - docs/_nuxt/b853513.js | 1 + docs/admin/index.html | 4 ++-- docs/develop/index.html | 4 ++-- docs/develop/r-pathway/index.html | 4 ++-- docs/docs/index.html | 4 ++-- docs/index.html | 4 ++-- docs/social/index.html | 4 ++-- pages/docs.vue | 2 +- 11 files changed, 17 insertions(+), 17 deletions(-) rename docs/_nuxt/{b6e1de2.js => 94cdbea.js} (97%) delete mode 100644 docs/_nuxt/b600003.js create mode 100644 docs/_nuxt/b853513.js diff --git a/docs/404.html b/docs/404.html index 481e32a..1e3b454 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/_nuxt/b6e1de2.js b/docs/_nuxt/94cdbea.js similarity index 97% rename from docs/_nuxt/b6e1de2.js rename to docs/_nuxt/94cdbea.js index 81d1edd..018eac6 100644 --- a/docs/_nuxt/b6e1de2.js +++ b/docs/_nuxt/94cdbea.js @@ -1 +1 @@ -!function(e){function r(data){for(var r,n,f=data[0],l=data[1],d=data[2],i=0,h=[];i.when-open,.not-collapsed>.when-closed{display:none}.search-results{box-shadow:0px 4px 10px 0px #dcdcdc}@media(max-width: 767.98px){.search-results{right:15px;width:95%}}@media(min-width: 767.98px){.search-results{margin-top:-33px;right:15px}}.md-doc h1{font-size:2rem;margin-bottom:20px}.md-doc h2{font-size:1.5rem}.md-doc h3{font-size:1.25rem}.md-doc h4{font-size:1rem}.md-doc h5{font-size:.875rem}.md-doc h6{font-size:.75rem}.md-doc img{max-width:100%}",""]),t.exports=r},453:function(t,e,n){"use strict";n.r(e);n(96),n(18),n(14),n(97),n(9),n(12),n(2),n(47),n(34),n(35);var r=n(23);n(61),n(8),n(1),n(77),n(50),n(98),n(10),n(175);function o(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return c(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,d=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return l=t.done,t},e:function(t){d=!0,o=t},f:function(){try{l||null==n.return||n.return()}finally{if(d)throw o}}}}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i.when-open,.not-collapsed>.when-closed{display:none}.search-results{box-shadow:0px 4px 10px 0px #dcdcdc}@media(max-width: 767.98px){.search-results{right:15px;width:95%}}@media(min-width: 767.98px){.search-results{margin-top:-33px;right:15px}}.md-doc h1{font-size:2rem;margin-bottom:20px}.md-doc h2{font-size:1.5rem}.md-doc h3{font-size:1.25rem}.md-doc h4{font-size:1rem}.md-doc h5{font-size:.875rem}.md-doc h6{font-size:.75rem}.md-doc img{max-width:100%}",""]),t.exports=r},453:function(t,e,n){"use strict";n.r(e);n(96),n(18),n(14),n(97),n(9),n(12),n(2),n(47),n(34),n(35);var r=n(23);n(61),n(8),n(1),n(77),n(50),n(98),n(10),n(175);function o(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return c(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,d=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return l=t.done,t},e:function(t){d=!0,o=t},f:function(){try{l||null==n.return||n.return()}finally{if(d)throw o}}}}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/develop/index.html b/docs/develop/index.html index 481e32a..1e3b454 100644 --- a/docs/develop/index.html +++ b/docs/develop/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/develop/r-pathway/index.html b/docs/develop/r-pathway/index.html index 481e32a..1e3b454 100644 --- a/docs/develop/r-pathway/index.html +++ b/docs/develop/r-pathway/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/docs/index.html b/docs/docs/index.html index 481e32a..1e3b454 100644 --- a/docs/docs/index.html +++ b/docs/docs/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/index.html b/docs/index.html index 481e32a..1e3b454 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/social/index.html b/docs/social/index.html index 481e32a..1e3b454 100644 --- a/docs/social/index.html +++ b/docs/social/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/pages/docs.vue b/pages/docs.vue index 38f7b07..fbcf7b0 100644 --- a/pages/docs.vue +++ b/pages/docs.vue @@ -145,7 +145,7 @@ export default { name: "Docs", watch: { $route() { - this.selectedDoc = {}; + // this.selectedDoc = {}; }, }, From d92568c82fc6d6d43361949002cab8adafca95fb Mon Sep 17 00:00:00 2001 From: rmccreath Date: Wed, 22 Mar 2023 16:01:00 +0000 Subject: [PATCH 32/42] Remove code of conduct from nav --- pages/docs.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/pages/docs.vue b/pages/docs.vue index fbcf7b0..624a8d1 100644 --- a/pages/docs.vue +++ b/pages/docs.vue @@ -192,6 +192,7 @@ export default { docs = docs.filter((d) => !d.name.startsWith(".")); docs = docs.filter((d) => !d.name.startsWith("CONTRIBUTING")); + docs = docs.filter((d) => !d.name.startsWith("CODE_OF_CONDUCT")); docs = docs.filter((d) => !d.name.startsWith("README")); let getSubDocs = async (docs) => { From 08e36ce044f86f43363beb19030b513215a2f162 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Wed, 22 Mar 2023 16:03:16 +0000 Subject: [PATCH 33/42] Add docs link in nav --- layouts/default.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/layouts/default.vue b/layouts/default.vue index 8ba717d..2df9569 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -36,9 +36,9 @@ Develop + Documentation Social - - + From bf1813386beab1e94faf91431e5a1ce6972d10d1 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Wed, 22 Mar 2023 16:09:37 +0000 Subject: [PATCH 34/42] Update docs homepage to include relevant links --- pages/docs/index.vue | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/pages/docs/index.vue b/pages/docs/index.vue index edcdbb7..9970fdb 100644 --- a/pages/docs/index.vue +++ b/pages/docs/index.vue @@ -1,16 +1,26 @@ \ No newline at end of file From da6b4bde16ffd9c07c30e136380e82e4e88e6875 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Wed, 22 Mar 2023 16:12:26 +0000 Subject: [PATCH 35/42] Update link for docs --- pages/index.vue | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/pages/index.vue b/pages/index.vue index f5c2746..aaa7fb9 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -70,39 +70,39 @@

- -
Guidance
+
Textbooks

- Keeping everyone on the same page, sharing common knowledge. This - includes style guides, FAQs, etc. + For learning or reference, see a complete textbook on one of the + technologies.

- -
Textbooks
+
Documentation

- For learning or reference, see a complete textbook on one of the - technologies. + Keeping everyone on the same page, sharing common knowledge. This + includes style guides, FAQs, etc.

From e19dce43c4828037968e124eaa4937d4cd29d8ce Mon Sep 17 00:00:00 2001 From: rmccreath Date: Wed, 22 Mar 2023 17:39:13 +0000 Subject: [PATCH 36/42] Update text on docs and fix internal link spacing --- pages/docs/_doc.vue | 2 +- pages/index.vue | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pages/docs/_doc.vue b/pages/docs/_doc.vue index 2c0e9f9..d6de7e4 100644 --- a/pages/docs/_doc.vue +++ b/pages/docs/_doc.vue @@ -45,7 +45,7 @@ export default{ // /knowledge-base/docs/${$route.params.doc}?doc=Login%20to%20Posit%20Workbench.md this.source = this.source.replace(/\[(.*?)\]\((.*?)\)/g, (match, p1, p2) => { if(p2.includes('http')) return `${p1}` - return `[${p1}](/knowledge-base/docs/${this.$route.params.doc}?doc=${p2})` + return `[${p1}](/knowledge-base/docs/${this.$route.params.doc.replace(/ /g, '%20')}?doc=${p2})` }) } diff --git a/pages/index.vue b/pages/index.vue index aaa7fb9..f2ecb75 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -10,8 +10,9 @@ Welcome to the PHS Data Science Knowledge Base. It is here that you'll find access to all resources related to Data Science (R, Python, git, etc.) created by and for PHS staff. This includes - in-person and online training, guidance documents, and - internally developed textbooks. + in-person and online training, internally developed textbooks, + and all technical documentation, including guidance, how-tos, + and best practice. Data Science is used in the broadest possible From 3e28429fc27a7bf9f67b24189523e35cd2de189c Mon Sep 17 00:00:00 2001 From: rmccreath Date: Wed, 22 Mar 2023 18:48:45 +0000 Subject: [PATCH 37/42] Fix links --- pages/docs/index.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pages/docs/index.vue b/pages/docs/index.vue index 9970fdb..1a1d98b 100644 --- a/pages/docs/index.vue +++ b/pages/docs/index.vue @@ -11,13 +11,13 @@

Get Started

  • - What is Posit? + What is Posit?
  • - Getting support with Posit + Getting support with Posit
  • - Posit Frequently Asked Questions (FAQs) + Posit Frequently Asked Questions (FAQs)
From 655178a24603f7097968ded7dccec9d4fcf30847 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Wed, 22 Mar 2023 19:38:25 +0000 Subject: [PATCH 38/42] Sort nav by dir then file --- pages/docs.vue | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/pages/docs.vue b/pages/docs.vue index 624a8d1..d74386f 100644 --- a/pages/docs.vue +++ b/pages/docs.vue @@ -145,7 +145,6 @@ export default { name: "Docs", watch: { $route() { - // this.selectedDoc = {}; }, }, @@ -181,7 +180,7 @@ export default { }, }, - async created() { + async created() { let docs = await this.$axios .get("/repos/Public-Health-Scotland/technical-docs/contents/", { baseURL: "https://api.github.com", @@ -226,15 +225,19 @@ export default { }; this.docs = await getSubDocs(docs); + // Sort the docs + // Order by type (dir, file). dir first then file + this.docs.sort((a, b) => { + if (a.type == "dir" && b.type == "file") return -1; + if (a.type == "file" && b.type == "dir") return 1; + return 0; + }); + // If $route.params.doc is set, we need to set the selectedDoc if (this.$route.params.doc) { - // update the param to the correct format - this.$route.params.doc = this.$route.params.doc - .replace(/-/g, "/") - .replace(/_/g, " ") - .split(".")[0]; - - let doc = this.docs.find((d) => d._path == this.$route.params.doc); + let doc = this.docs.find((d) => + d.path == this.$route.params.doc + ); // If its not found look in the children if (!doc) { From b8c4dcd6f0e96e7248e59922c5fffb3e99bd9124 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Wed, 22 Mar 2023 19:39:07 +0000 Subject: [PATCH 39/42] Fix md link and image formatting --- pages/docs/_doc.vue | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pages/docs/_doc.vue b/pages/docs/_doc.vue index d6de7e4..59c6a53 100644 --- a/pages/docs/_doc.vue +++ b/pages/docs/_doc.vue @@ -11,7 +11,8 @@ export default{ components: { VueMarkdown }, data(){ return { - source: '' + source: '', + raw: '' } }, watch:{ @@ -22,7 +23,7 @@ export default{ methods:{ async getMarkdownFile(){ this.$route.query.doc = this.$route.query.doc || 'README.md' - let path = this.$route.params.doc //+ '/' + this.$route.query.doc + let path = this.$route.params.doc let doc = await this.$axios.get('/repos/Public-Health-Scotland/technical-docs/contents/' + path,{ baseURL: 'https://api.github.com', @@ -30,7 +31,8 @@ export default{ } }).then(r => r.data).catch(e => ({})) - doc = doc.find(d => d.name == this.$route.query.doc) + if(Array.isArray(doc)) + doc = doc.find(d => d.name == this.$route.query.doc) if(doc.type == 'file'){ this.source = await this.$axios.get(doc.git_url) @@ -40,10 +42,12 @@ export default{ this.source = '' } + this.raw = this.source + // Workaround for links in the md file // eg. [Get support](Login%20to%20Posit%20Workbench.md) should link to // /knowledge-base/docs/${$route.params.doc}?doc=Login%20to%20Posit%20Workbench.md - this.source = this.source.replace(/\[(.*?)\]\((.*?)\)/g, (match, p1, p2) => { + this.source = this.source.replace(/(? { if(p2.includes('http')) return `${p1}` return `[${p1}](/knowledge-base/docs/${this.$route.params.doc.replace(/ /g, '%20')}?doc=${p2})` }) From fa8f2ce058439affc07dd1ff8608cfd49bce4d5c Mon Sep 17 00:00:00 2001 From: rmccreath Date: Wed, 22 Mar 2023 19:59:28 +0000 Subject: [PATCH 40/42] Update pathways page structure and link to docs --- pages/develop/r-pathway.vue | 48 ++++++++++--------------------------- 1 file changed, 12 insertions(+), 36 deletions(-) diff --git a/pages/develop/r-pathway.vue b/pages/develop/r-pathway.vue index 99b9d69..bd1827a 100644 --- a/pages/develop/r-pathway.vue +++ b/pages/develop/r-pathway.vue @@ -7,10 +7,15 @@

R Pathway

- PHS has made efforts to build an infrastructure for R. Here, the pathway for learning and development is laid out, including training and guidance. + Here is the pathway for learning and development in R.
+ + + R Documentation + + @@ -47,13 +52,13 @@
- - + +

Get Started

- +

Take it Further

- +

Get Advanced

- +

Related Technologies

- + @@ -278,35 +283,6 @@ - - - -

Other Resources

- - - {{resource.title}} - - - - {{resource.title}} - - - - -
-
- -
From 89cddc8603dfb98c4a2d9716432b3199339b6aa8 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Wed, 22 Mar 2023 20:02:09 +0000 Subject: [PATCH 41/42] Add KIND network link --- pages/social.vue | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pages/social.vue b/pages/social.vue index a38a5c7..751ab77 100644 --- a/pages/social.vue +++ b/pages/social.vue @@ -50,6 +50,9 @@ + From 091084252344464b69c15eb671aa9ac0349eeec5 Mon Sep 17 00:00:00 2001 From: rmccreath Date: Wed, 22 Mar 2023 22:01:53 +0000 Subject: [PATCH 42/42] Sort internal links and build --- docs/404.html | 4 ++-- docs/_nuxt/0a68202.js | 1 - docs/_nuxt/0ae1a72.js | 1 + docs/_nuxt/1d6a945.js | 1 + docs/_nuxt/{c25bb67.js => 33c3dd7.js} | 2 +- docs/_nuxt/{7274731.js => 3d1e0f8.js} | 2 +- docs/_nuxt/4dd7c9d.js | 2 ++ docs/_nuxt/575e1cc.js | 1 - docs/_nuxt/{2fa8a8e.js => 5977ab9.js} | 2 +- docs/_nuxt/622ab64.js | 1 + docs/_nuxt/7473d2c.js | 1 + docs/_nuxt/{b1f0a08.js => 7940148.js} | 2 +- docs/_nuxt/{9dd864a.js => 7b9a332.js} | 2 +- docs/_nuxt/7eef1ce.js | 2 -- docs/_nuxt/{da3855c.js => 87d71a0.js} | 2 +- docs/_nuxt/94cdbea.js | 1 - docs/_nuxt/b853513.js | 1 - docs/_nuxt/d209854.js | 1 + docs/_nuxt/d4a871e.js | 1 + docs/_nuxt/d8eeb85.js | 1 - docs/_nuxt/dd2f13c.js | 1 - docs/admin/index.html | 4 ++-- docs/develop/index.html | 4 ++-- docs/develop/r-pathway/index.html | 4 ++-- docs/docs/index.html | 4 ++-- docs/index.html | 4 ++-- docs/social/index.html | 4 ++-- pages/docs.vue | 9 ++++----- pages/docs/_doc.vue | 10 +++++++++- 29 files changed, 41 insertions(+), 34 deletions(-) delete mode 100644 docs/_nuxt/0a68202.js create mode 100644 docs/_nuxt/0ae1a72.js create mode 100644 docs/_nuxt/1d6a945.js rename docs/_nuxt/{c25bb67.js => 33c3dd7.js} (76%) rename docs/_nuxt/{7274731.js => 3d1e0f8.js} (98%) create mode 100644 docs/_nuxt/4dd7c9d.js delete mode 100644 docs/_nuxt/575e1cc.js rename docs/_nuxt/{2fa8a8e.js => 5977ab9.js} (99%) create mode 100644 docs/_nuxt/622ab64.js create mode 100644 docs/_nuxt/7473d2c.js rename docs/_nuxt/{b1f0a08.js => 7940148.js} (98%) rename docs/_nuxt/{9dd864a.js => 7b9a332.js} (70%) delete mode 100644 docs/_nuxt/7eef1ce.js rename docs/_nuxt/{da3855c.js => 87d71a0.js} (79%) delete mode 100644 docs/_nuxt/94cdbea.js delete mode 100644 docs/_nuxt/b853513.js create mode 100644 docs/_nuxt/d209854.js create mode 100644 docs/_nuxt/d4a871e.js delete mode 100644 docs/_nuxt/d8eeb85.js delete mode 100644 docs/_nuxt/dd2f13c.js diff --git a/docs/404.html b/docs/404.html index 1e3b454..240bc3d 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/_nuxt/0a68202.js b/docs/_nuxt/0a68202.js deleted file mode 100644 index fc1b39a..0000000 --- a/docs/_nuxt/0a68202.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{122:function(t,e,n){"use strict";e.a={}},151:function(t,e,n){var content=n(204);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("3d8de15e",content,!0,{sourceMap:!1})},152:function(t,e,n){var content=n(206);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("6439d180",content,!0,{sourceMap:!1})},153:function(t,e,n){var content=n(213);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("670259d2",content,!0,{sourceMap:!1})},170:function(t,e,n){"use strict";var r=n(23),o=(n(61),n(12),n(6)),c=n(7),l=window.__NUXT__;function f(){if(!this._hydrated)return this.$fetch()}function h(){if((t=this).$vnode&&t.$vnode.elm&&t.$vnode.elm.dataset&&t.$vnode.elm.dataset.fetchKey){var t;this._hydrated=!0,this._fetchKey=this.$vnode.elm.dataset.fetchKey;var data=l.fetch[this._fetchKey];if(data&&data._error)this.$fetchState.error=data._error;else for(var e in data)o.default.set(this.$data,e,data[e])}}function d(){var t=this;return this._fetchPromise||(this._fetchPromise=m.call(this).then((function(){delete t._fetchPromise}))),this._fetchPromise}function m(){return v.apply(this,arguments)}function v(){return(v=Object(r.a)(regeneratorRuntime.mark((function t(){var e,n,r,o=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return this.$nuxt.nbFetching++,this.$fetchState.pending=!0,this.$fetchState.error=null,this._hydrated=!1,e=null,n=Date.now(),t.prev=6,t.next=9,this.$options.fetch.call(this);case 9:t.next=15;break;case 11:t.prev=11,t.t0=t.catch(6),e=Object(c.p)(t.t0);case 15:if(!((r=this._fetchDelay-(Date.now()-n))>0)){t.next=19;break}return t.next=19,new Promise((function(t){return setTimeout(t,r)}));case 19:this.$fetchState.error=e,this.$fetchState.pending=!1,this.$fetchState.timestamp=Date.now(),this.$nextTick((function(){return o.$nuxt.nbFetching--}));case 23:case"end":return t.stop()}}),t,this,[[6,11]])})))).apply(this,arguments)}e.a={beforeCreate:function(){Object(c.l)(this)&&(this._fetchDelay="number"==typeof this.$options.fetchDelay?this.$options.fetchDelay:200,o.default.util.defineReactive(this,"$fetchState",{pending:!1,error:null,timestamp:Date.now()}),this.$fetch=d.bind(this),Object(c.a)(this,"created",h),Object(c.a)(this,"beforeMount",f))}}},177:function(t,e,n){n(178),t.exports=n(179)},179:function(t,e,n){"use strict";n.r(e),function(t){n(9),n(2),n(47);var e=n(13),r=n(23),o=(n(140),n(185),n(189),n(190),n(61),n(14),n(1),n(3),n(77),n(50),n(8),n(34),n(12),n(35),n(6)),c=n(163),l=n(122),f=n(7),h=n(40),d=n(170),m=n(95);function v(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return y(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){l=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(l)throw o}}}}function y(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i2?e-2:0),r=2;r1&&void 0!==arguments[1]?arguments[1]:O,n=arguments.length>2?arguments[2]:void 0;return r.call(this,t,e,n)};var o=n.resolve.bind(n);return n.resolve=function(t,e,n){return"string"==typeof t&&(t=Object(y.c)(t)),o(t,e,n)},n}var k={name:"NuxtChild",functional:!0,props:{nuxtChildKey:{type:String,default:""},keepAlive:Boolean,keepAliveProps:{type:Object,default:void 0}},render:function(t,e){var n=e.parent,data=e.data,r=e.props,o=n.$createElement;data.nuxtChild=!0;for(var c=n,l=n.$nuxt.nuxt.transitions,f=n.$nuxt.nuxt.defaultTransition,h=0;n;)n.$vnode&&n.$vnode.data.nuxtChild&&h++,n=n.$parent;data.nuxtChildDepth=h;var d=l[h]||f,m={};C.forEach((function(t){void 0!==d[t]&&(m[t]=d[t])}));var v={};S.forEach((function(t){"function"==typeof d[t]&&(v[t]=d[t].bind(c))}));var y=v.beforeEnter;if(v.beforeEnter=function(t){if(window.$nuxt.$nextTick((function(){window.$nuxt.$emit("triggerScroll")})),y)return y.call(c,t)},!1===d.css){var x=v.leave;(!x||x.length<2)&&(v.leave=function(t,e){x&&x.call(c,t),c.$nextTick(e)})}var w=o("routerView",data);return r.keepAlive&&(w=o("keep-alive",{props:r.keepAliveProps},[w])),o("transition",{props:m,on:v},[w])}},C=["name","mode","appear","css","type","duration","enterClass","leaveClass","appearClass","enterActiveClass","enterActiveClass","leaveActiveClass","appearActiveClass","enterToClass","leaveToClass","appearToClass"],S=["beforeEnter","enter","afterEnter","enterCancelled","beforeLeave","leave","afterLeave","leaveCancelled","beforeAppear","appear","afterAppear","appearCancelled"],P={name:"NuxtError",props:{error:{type:Object,default:null}},computed:{statusCode:function(){return this.error&&this.error.statusCode||500},message:function(){return this.error.message||"Error"}},head:function(){return{title:this.message,meta:[{name:"viewport",content:"width=device-width,initial-scale=1.0,minimum-scale=1.0"}]}}},E=(n(203),n(51)),R=Object(E.a)(P,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"__nuxt-error-page"},[e("div",{staticClass:"error"},[e("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"90",height:"90",fill:"#DBE1EC",viewBox:"0 0 48 48"}},[e("path",{attrs:{d:"M22 30h4v4h-4zm0-16h4v12h-4zm1.99-10C12.94 4 4 12.95 4 24s8.94 20 19.99 20S44 35.05 44 24 35.04 4 23.99 4zM24 40c-8.84 0-16-7.16-16-16S15.16 8 24 8s16 7.16 16 16-7.16 16-16 16z"}})]),t._v(" "),e("div",{staticClass:"title"},[t._v(t._s(t.message))]),t._v(" "),404===t.statusCode?e("p",{staticClass:"description"},[void 0===t.$route?e("a",{staticClass:"error-link",attrs:{href:"/"}}):e("NuxtLink",{staticClass:"error-link",attrs:{to:"/"}},[t._v("Back to the home page")])],1):t._e(),t._v(" "),t._m(0)])])}),[function(){var t=this._self._c;return t("div",{staticClass:"logo"},[t("a",{attrs:{href:"https://nuxtjs.org",target:"_blank",rel:"noopener"}},[this._v("Nuxt")])])}],!1,null,null,null).exports,A=n(24),T=(n(32),n(33),{name:"Nuxt",components:{NuxtChild:k,NuxtError:R},props:{nuxtChildKey:{type:String,default:void 0},keepAlive:Boolean,keepAliveProps:{type:Object,default:void 0},name:{type:String,default:"default"}},errorCaptured:function(t){this.displayingNuxtError&&(this.errorFromNuxtError=t,this.$forceUpdate())},computed:{routerViewKey:function(){if(void 0!==this.nuxtChildKey||this.$route.matched.length>1)return this.nuxtChildKey||Object(x.c)(this.$route.matched[0].path)(this.$route.params);var t=Object(A.a)(this.$route.matched,1)[0];if(!t)return this.$route.path;var e=t.components.default;if(e&&e.options){var n=e.options;if(n.key)return"function"==typeof n.key?n.key(this.$route):n.key}return/\/$/.test(t.path)?this.$route.path:this.$route.path.replace(/\/$/,"")}},beforeCreate:function(){c.default.util.defineReactive(this,"nuxt",this.$root.$options.nuxt)},render:function(t){var e=this;return this.nuxt.err?this.errorFromNuxtError?(this.$nextTick((function(){return e.errorFromNuxtError=!1})),t("div",{},[t("h2","An error occurred while showing the error page"),t("p","Unfortunately an error occurred and while showing the error page another error occurred"),t("p","Error details: ".concat(this.errorFromNuxtError.toString())),t("nuxt-link",{props:{to:"/"}},"Go back to home")])):(this.displayingNuxtError=!0,this.$nextTick((function(){return e.displayingNuxtError=!1})),t(R,{props:{error:this.nuxt.err}})):t("NuxtChild",{key:this.routerViewKey,props:this.$props})}}),D=(n(9),n(47),n(34),n(35),{name:"NuxtLoading",data:function(){return{percent:0,show:!1,canSucceed:!0,reversed:!1,skipTimerCount:0,rtl:!1,throttle:200,duration:5e3,continuous:!1}},computed:{left:function(){return!(!this.continuous&&!this.rtl)&&(this.rtl?this.reversed?"0px":"auto":this.reversed?"auto":"0px")}},beforeDestroy:function(){this.clear()},methods:{clear:function(){clearInterval(this._timer),clearTimeout(this._throttle),this._timer=null},start:function(){var t=this;return this.clear(),this.percent=0,this.reversed=!1,this.skipTimerCount=0,this.canSucceed=!0,this.throttle?this._throttle=setTimeout((function(){return t.startTimer()}),this.throttle):this.startTimer(),this},set:function(t){return this.show=!0,this.canSucceed=!0,this.percent=Math.min(100,Math.max(0,Math.floor(t))),this},get:function(){return this.percent},increase:function(t){return this.percent=Math.min(100,Math.floor(this.percent+t)),this},decrease:function(t){return this.percent=Math.max(0,Math.floor(this.percent-t)),this},pause:function(){return clearInterval(this._timer),this},resume:function(){return this.startTimer(),this},finish:function(){return this.percent=this.reversed?0:100,this.hide(),this},hide:function(){var t=this;return this.clear(),setTimeout((function(){t.show=!1,t.$nextTick((function(){t.percent=0,t.reversed=!1}))}),500),this},fail:function(t){return this.canSucceed=!1,this},startTimer:function(){var t=this;this.show||(this.show=!0),void 0===this._cut&&(this._cut=1e4/Math.floor(this.duration)),this._timer=setInterval((function(){t.skipTimerCount>0?t.skipTimerCount--:(t.reversed?t.decrease(t._cut):t.increase(t._cut),t.continuous&&(t.percent>=100||t.percent<=0)&&(t.skipTimerCount=1,t.reversed=!t.reversed))}),100)}},render:function(t){var e=t(!1);return this.show&&(e=t("div",{staticClass:"nuxt-progress",class:{"nuxt-progress-notransition":this.skipTimerCount>0,"nuxt-progress-failed":!this.canSucceed},style:{width:this.percent+"%",left:this.left}})),e}}),N=(n(205),Object(E.a)(D,undefined,undefined,!1,null,null,null).exports),L=(n(207),n(209),n(212),Object(E.a)({},(function(){var t=this,e=t._self._c;return e("div",[t._m(0),t._v(" "),e("div",{staticClass:"header-container"},[e("header",[e("div",{staticClass:"container"},[e("div",{staticClass:"d-flex justify-content-between align-items-center"},[e("div",{staticClass:"left"},[e("img",{staticClass:"logo cursor-pointer",attrs:{src:n(211),alt:"PHS Logo"},on:{click:function(e){return t.$router.push("/")}}})])])])])]),t._v(" "),e("div",{staticClass:"nav-container"},[e("b-navbar",{attrs:{toggleable:"sm",type:"dark"}},[e("div",{staticClass:"container"},[e("b-navbar-brand",{staticClass:"cursor-pointer",on:{click:function(e){return t.$router.push("/")}}},[t._v("\n Data Science Knowledge Base\n ")]),t._v(" "),e("b-navbar-toggle",{attrs:{target:"nav-collapse"}}),t._v(" "),e("b-collapse",{attrs:{id:"nav-collapse","is-nav":""}},[e("b-navbar-nav",{staticClass:"ml-auto"},[e("NuxtLink",{attrs:{to:"/develop",tag:"b-nav-item"}},[t._v("Develop")]),t._v(" "),e("NuxtLink",{attrs:{to:"/social",tag:"b-nav-item"}},[t._v("Social")]),t._v(" "),e("b-nav-item",{directives:[{name:"b-modal",rawName:"v-b-modal.help-modal",modifiers:{"help-modal":!0}}]},[e("eva-icon",{attrs:{name:"question-mark-circle-outline",fill:"#fff"}})],1),t._v(" "),e("b-modal",{attrs:{id:"help-modal",size:"lg",title:"Help"}},[e("p",{staticClass:"my-4"},[e("strong",[t._v("Training Request")]),t._v(" - If you can't find what you're looking for or have a specific training requirement, use this link to "),e("a",{attrs:{href:"mailto:phs.staffdevelopment@phs.scot?Subject=DSKB - Training Request"}},[t._v("email Staff Development.")])]),t._v(" "),e("p",{staticClass:"my-4"},[e("strong",[t._v("Knowledge Base Enquiry")]),t._v(" - Feedback, issues, or suggestions for the knowledge base? "),e("a",{attrs:{href:"https://github.com/Public-Health-Scotland/knowledge-base/issues/new/choose",target:"_blank"}},[t._v("Open an issue")]),t._v(" on the GitHub repo or "),e("a",{attrs:{href:"mailto:phs.datascience@phs.scot?Subject=DSKB - Enquiry"}},[t._v("email the Data Science team.")])])])],1)],1)],1)])],1),t._v(" "),e("div",{staticClass:"container body"},[e("Nuxt")],1),t._v(" "),e("div",{staticClass:"container d-flex justify-content-between align-items-center"},[e("div",[e("footer",[e("b-nav",[e("b-nav-item",{directives:[{name:"b-modal",rawName:"v-b-modal.accessibility-modal",modifiers:{"accessibility-modal":!0}}]},[t._v("Accessibility")]),t._v(" "),e("b-nav-item",{attrs:{href:"https://www.publichealthscotland.scot/contact-us/freedom-of-information-foi-and-environmental-information-regulation-eir-requests/",target:"_blank"}},[t._v("Freedom of Information")]),t._v(" "),e("b-nav-item",{attrs:{href:"https://www.publichealthscotland.scot/terms-and-conditions/",target:"_blank"}},[t._v("Terms and Conditions")]),t._v(" "),e("b-nav-item",{attrs:{href:"https://www.publichealthscotland.scot/our-privacy-notice/organisational-background/",target:"_blank"}},[t._v("Privacy notice")]),t._v(" "),e("b-nav-item",{attrs:{disabled:""}},[t._v("© Public Health Scotland")])],1)],1)]),t._v(" "),e("div",{},[e("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal.feedback-modal",modifiers:{"feedback-modal":!0}}],staticClass:"feedback-button",attrs:{pill:""}},[e("eva-icon",{attrs:{name:"message-square-outline",fill:"#fff"}})],1)],1)]),t._v(" "),e("b-modal",{attrs:{id:"accessibility-modal",size:"lg",scrollable:"",title:"Accessibility"}},[e("h5",[t._v("Accessible Content")]),t._v("\n This website is run by the Data Science department in Public Health Scotland. We want as many people as possible to be able to use this website. For example, that means you should be able to:\n\n "),e("ul",[e("li",[t._v("change colours, contrast levels and fonts")]),t._v(" "),e("li",[t._v("zoom in up to 300% without the text spilling off the screen")]),t._v(" "),e("li",[t._v("navigate most of the website using just a keyboard")]),t._v(" "),e("li",[t._v("navigate most of the website using speech recognition software")]),t._v(" "),e("li",[t._v("listen to most of the website using a screen reader (including the most recent versions of JAWS, NVDA and VoiceOver)")])]),t._v("\n\n We’ve also made the website text as simple as possible to understand.\n\n We're always looking to improve the accessibility of this website. If you find problems not listed on this page or think we're not meeting accessibility requirements, please email the "),e("a",{attrs:{href:"mailto:phs.datascience@phs.scot?Subject=DSKB - Accessibility"}},[t._v("Data Science team.")]),e("p"),t._v(" "),e("h5",[t._v("Testing")]),t._v(" "),e("i",[t._v("This website is currently undergoing development and testing is not yet been complete.")])]),t._v(" "),e("b-modal",{attrs:{id:"feedback-modal",size:"xl"}},[t._v("\n If this content doesn't load, "),e("a",{attrs:{target:"_blank",href:"https://forms.office.com/r/RhjP2yNq4y"}},[t._v("click here")]),t._v(" to open in a browser tab.\n "),e("br"),t._v(" "),e("div",[e("iframe",{staticStyle:{border:"none",width:"100%"},attrs:{width:"640px",height:"1100px",src:"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmlMENbvENPtAs5eceNN9kYdUQ0JJWlY4UjNOQ1ZCSVlEOUpTSEo3N0JaWS4u&embed=true",frameborder:"0",marginwidth:"0",marginheight:"0",allowfullscreen:"",webkitallowfullscreen:"",mozallowfullscreen:"",msallowfullscreen:""}})])])],1)}),[function(){var t=this._self._c;return t("head",[t("script",{attrs:{src:"https://cdn.lordicon.com/libs/frhvbuzj/lord-icon-2.0.2.js"}})])}],!1,null,null,null).exports);function I(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return M(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return M(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){l=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(l)throw o}}}}function M(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i0},isPreview:function(){return Boolean(this.$options.previewData)}},methods:{refreshOnlineStatus:function(){void 0===window.navigator.onLine?this.isOnline=!0:this.isOnline=window.navigator.onLine},refresh:function(){var t=this;return Object(r.a)(regeneratorRuntime.mark((function e(){var n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((n=Object(x.h)(t.$route)).length){e.next=3;break}return e.abrupt("return");case 3:return t.$loading.start(),r=n.map((function(e){var p=[];if(e.$options.fetch&&e.$options.fetch.length&&p.push(Object(x.q)(e.$options.fetch,t.context)),e.$fetch)p.push(e.$fetch());else{var n,r=I(Object(x.e)(e.$vnode.componentInstance));try{for(r.s();!(n=r.n()).done;){var component=n.value;p.push(component.$fetch())}}catch(t){r.e(t)}finally{r.f()}}return e.$options.asyncData&&p.push(Object(x.q)(e.$options.asyncData,t.context).then((function(t){for(var n in t)c.default.set(e.$data,n,t[n])}))),Promise.all(p)})),e.prev=5,e.next=8,Promise.all(r);case 8:e.next=15;break;case 10:e.prev=10,e.t0=e.catch(5),t.$loading.fail(e.t0),Object(x.k)(e.t0),t.error(e.t0);case 15:t.$loading.finish();case 16:case"end":return e.stop()}}),e,null,[[5,10]])})))()},errorChanged:function(){if(this.nuxt.err){this.$loading&&(this.$loading.fail&&this.$loading.fail(this.nuxt.err),this.$loading.finish&&this.$loading.finish());var t=(R.options||R).layout;"function"==typeof t&&(t=t(this.context)),this.setLayout(t)}},setLayout:function(t){return t&&U["_"+t]||(t="default"),this.layoutName=t,this.layout=U["_"+t],this.layout},loadLayout:function(t){return t&&U["_"+t]||(t="default"),Promise.resolve(U["_"+t])}},components:{NuxtLoading:N}},F=n(94);for(var z in F)c.default.component(z,F[z]),c.default.component("Lazy"+z,F[z]);var H=n(171);c.default.use(H.a,{});var K=n(76),J=n.n(K),Q=n(167);function V(object,t){var e=Object.keys(object);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(object);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(object,t).enumerable}))),e.push.apply(e,n)}return e}function W(t){for(var i=1;i=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){l=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(l)throw o}}}}function X(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i2&&void 0!==arguments[2]?arguments[2]:"common",o=G(Array.isArray(r)?r:[r]);try{for(o.s();!(n=o.n()).done;){var c=n.value;e?this.defaults.headers[c][t]=e:delete this.defaults.headers[c][t]}}catch(t){o.e(t)}finally{o.f()}},setToken:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"common",r=t?(e?e+" ":"")+t:null;this.setHeader("Authorization",r,n)},onRequest:function(t){this.interceptors.request.use((function(e){return t(e)||e}))},onResponse:function(t){this.interceptors.response.use((function(e){return t(e)||e}))},onRequestError:function(t){this.interceptors.request.use(void 0,(function(e){return t(e)||Promise.reject(e)}))},onResponseError:function(t){this.interceptors.response.use(void 0,(function(e){return t(e)||Promise.reject(e)}))},onError:function(t){this.onRequestError(t),this.onResponseError(t)},create:function(t){return nt(Object(Q.a)(t,this.defaults))}},Z=function(){var t=et[tt];Y["$"+t]=function(){return this[t].apply(this,arguments).then((function(t){return t&&t.data}))}},tt=0,et=["request","delete","get","head","options","post","put","patch"];tt has been deprecated and will be removed in Nuxt 3, please use instead")),m.a.render(t,e)}})),c.default.component(k.name,k),c.default.component("NChild",k),c.default.component(T.name,T),Object.defineProperty(c.default.prototype,"$nuxt",{get:function(){var t=this.$root.$options.$nuxt;return t||"undefined"==typeof window?t:window.$nuxt},configurable:!0}),c.default.use(l.a,{keyName:"head",attribute:"data-n-head",ssrAttribute:"data-n-head-ssr",tagIDKeyName:"hid"});var ht={name:"page",mode:"out-in",appear:!0,appearClass:"appear",appearActiveClass:"appear-active",appearToClass:"appear-to"};function mt(t){return vt.apply(this,arguments)}function vt(){return vt=Object(r.a)(regeneratorRuntime.mark((function t(e){var n,o,l,f,h,path,d,m=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return d=function(t,e){if(!t)throw new Error("inject(key, value) has no key provided");if(void 0===e)throw new Error("inject('".concat(t,"', value) has no value provided"));l[t="$"+t]=e,l.context[t]||(l.context[t]=e);var n="__nuxt_"+t+"_installed__";c.default[n]||(c.default[n]=!0,c.default.use((function(){Object.prototype.hasOwnProperty.call(c.default.prototype,t)||Object.defineProperty(c.default.prototype,t,{get:function(){return this.$root.$options[t]}})})))},n=m.length>1&&void 0!==m[1]?m[1]:{},t.next=4,$(0,n);case 4:return o=t.sent,l=pt({head:{title:"PHS Data Science - Knowledge Base",meta:[{charset:"utf-8"},{name:"viewport",content:"width=device-width, initial-scale=1"},{hid:"description",name:"description",content:"[![GitHub release (latest by date)](https://img.shields.io/github/v/release/Public-Health-Scotland/knowledge-base)](https://github.com/Public-Health-Scotland/knowledge-base/releases/latest)"}],link:[{rel:"icon",type:"image/x-icon",href:"/favicon.ico"}],style:[],script:[]},router:o,nuxt:{defaultTransition:ht,transitions:[ht],setTransitions:function(t){return Array.isArray(t)||(t=[t]),t=t.map((function(t){return t=t?"string"==typeof t?Object.assign({},ht,{name:t}):Object.assign({},ht,t):ht})),this.$options.nuxt.transitions=t,t},err:null,dateErr:null,error:function(t){t=t||null,l.context._errored=Boolean(t),t=t?Object(x.p)(t):null;var n=l.nuxt;return this&&(n=this.nuxt||this.$options.nuxt),n.dateErr=Date.now(),n.err=t,e&&(e.nuxt.error=t),t}}},B),f=e?e.next:function(t){return l.router.push(t)},e?h=o.resolve(e.url).route:(path=Object(x.f)(o.options.base,o.options.mode),h=o.resolve(path).route),t.next=10,Object(x.t)(l,{route:h,next:f,error:l.nuxt.error.bind(l),payload:e?e.payload:void 0,req:e?e.req:void 0,res:e?e.res:void 0,beforeRenderFns:e?e.beforeRenderFns:void 0,ssrContext:e});case 10:d("config",n),l.context.enablePreview=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};l.previewData=Object.assign({},t),d("preview",t)},t.next=15;break;case 15:t.next=18;break;case 18:return t.next=21,it(l.context,d);case 21:t.next=24;break;case 24:return t.next=27,lt(l.context);case 27:return l.context.enablePreview=function(){console.warn("You cannot call enablePreview() outside a plugin.")},t.next=30,new Promise((function(t,e){if(!o.resolve(l.context.route.fullPath).route.matched.length)return t();o.replace(l.context.route.fullPath,t,(function(n){if(!n._isRouter)return e(n);if(2!==n.type)return t();var c=o.afterEach(function(){var e=Object(r.a)(regeneratorRuntime.mark((function e(n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=3,Object(x.j)(n);case 3:l.context.route=e.sent,l.context.params=n.params||{},l.context.query=n.query||{},c(),t();case 8:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}())}))}));case 30:return t.abrupt("return",{app:l,router:o});case 31:case"end":return t.stop()}}),t)}))),vt.apply(this,arguments)}},7:function(t,e,n){"use strict";n.d(e,"k",(function(){return x})),n.d(e,"m",(function(){return w})),n.d(e,"l",(function(){return _})),n.d(e,"e",(function(){return O})),n.d(e,"b",(function(){return j})),n.d(e,"s",(function(){return $})),n.d(e,"g",(function(){return k})),n.d(e,"h",(function(){return C})),n.d(e,"d",(function(){return S})),n.d(e,"r",(function(){return P})),n.d(e,"j",(function(){return E})),n.d(e,"t",(function(){return A})),n.d(e,"o",(function(){return D})),n.d(e,"q",(function(){return N})),n.d(e,"f",(function(){return L})),n.d(e,"c",(function(){return I})),n.d(e,"i",(function(){return M})),n.d(e,"p",(function(){return U})),n.d(e,"a",(function(){return Q})),n.d(e,"v",(function(){return V})),n.d(e,"n",(function(){return W})),n.d(e,"u",(function(){return G}));n(2),n(47),n(4),n(5);var r=n(13),o=n(23),c=n(0),l=n(24),f=(n(61),n(1),n(194),n(12),n(14),n(8),n(3),n(34),n(35),n(9),n(10),n(97),n(96),n(54),n(32),n(33),n(199),n(77),n(50),n(6)),h=n(39);function d(object,t){var e=Object.keys(object);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(object);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(object,t).enumerable}))),e.push.apply(e,n)}return e}function m(t){for(var i=1;i=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,c=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return c=t.done,t},e:function(t){l=!0,o=t},f:function(){try{c||null==n.return||n.return()}finally{if(l)throw o}}}}function y(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i1&&void 0!==arguments[1]?arguments[1]:[],r=t.$children||[],o=v(r);try{for(o.s();!(e=o.n()).done;){var c=e.value;c.$fetch?n.push(c):c.$children&&O(c,n)}}catch(t){o.e(t)}finally{o.f()}return n}function j(t,e){if(e||!t.options.__hasNuxtData){var n=t.options._originDataFn||t.options.data||function(){return{}};t.options._originDataFn=n,t.options.data=function(){var data=n.call(this,this);return this.$ssrContext&&(e=this.$ssrContext.asyncData[t.cid]),m(m({},data),e)},t.options.__hasNuxtData=!0,t._Ctor&&t._Ctor.options&&(t._Ctor.options.data=t.options.data)}}function $(t){return t.options&&t._Ctor===t||(t.options?(t._Ctor=t,t.extendOptions=t.options):(t=f.default.extend(t))._Ctor=t,!t.options.name&&t.options.__file&&(t.options.name=t.options.__file)),t}function k(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"components";return Array.prototype.concat.apply([],t.matched.map((function(t,r){return Object.keys(t[n]).map((function(o){return e&&e.push(r),t[n][o]}))})))}function C(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return k(t,e,"instances")}function S(t,e){return Array.prototype.concat.apply([],t.matched.map((function(t,n){return Object.keys(t.components).reduce((function(r,o){return t.components[o]?r.push(e(t.components[o],t.instances[o],t,o,n)):delete t.components[o],r}),[])})))}function P(t,e){return Promise.all(S(t,function(){var t=Object(o.a)(regeneratorRuntime.mark((function t(n,r,o,c){var l,f;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if("function"!=typeof n||n.options){t.next=11;break}return t.prev=1,t.next=4,n();case 4:n=t.sent,t.next=11;break;case 7:throw t.prev=7,t.t0=t.catch(1),t.t0&&"ChunkLoadError"===t.t0.name&&"undefined"!=typeof window&&window.sessionStorage&&(l=Date.now(),(!(f=parseInt(window.sessionStorage.getItem("nuxt-reload")))||f+6e4=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,f=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return l=t.done,t},e:function(t){f=!0,o=t},f:function(){try{l||null==n.return||n.return()}finally{if(f)throw o}}}}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i0},canPrefetch:function(){var t=navigator.connection;return!(this.$nuxt.isOffline||t&&((t.effectiveType||"").includes("2g")||t.saveData))},getPrefetchComponents:function(){return this.$router.resolve(this.to,this.$route,this.append).resolved.matched.map((function(t){return t.components.default})).filter((function(t){return"function"==typeof t&&!t.options&&!t.__prefetched}))},prefetchLink:function(){if(this.canPrefetch()){h.unobserve(this.$el);var t,e=o(this.getPrefetchComponents());try{for(e.s();!(t=e.n()).done;){var n=t.value,r=n();r instanceof Promise&&r.catch((function(){})),n.__prefetched=!0}}catch(t){e.e(t)}finally{e.f()}}}}}}},[[177,13,3,14]]]); \ No newline at end of file diff --git a/docs/_nuxt/0ae1a72.js b/docs/_nuxt/0ae1a72.js new file mode 100644 index 0000000..da8090d --- /dev/null +++ b/docs/_nuxt/0ae1a72.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{462:function(t,o,n){"use strict";n.r(o);var e=n(51),component=Object(e.a)({},(function(){var t=this,o=t._self._c;return o("div",[o("b-row",[o("b-col",[o("h1",[t._v("Data Science - the docs")]),t._v(" "),o("p",[t._v("This page pulls together documentation relating to Data Science in Public Health Scotland. This is organised into sections as shown in the navigation on the left-side of this page. You can also use the search bar above which will check document titles to help you find what you're looking for. This is all stored and organised on a GitHub repo, each document has a button to link back, the aim of this is to encourage collaboration on our documentation, allowing us to work as a community to maintain our technical knowledge and guidance.")])])],1),t._v(" "),o("b-row",{staticClass:"mt-5"},[o("b-col",[o("h3",[t._v("Get Started")]),t._v(" "),o("ul",[o("li",[o("strong",[o("NuxtLink",{attrs:{to:"/docs/Posit%20Infrastructure"}},[t._v("What is Posit?")])],1)]),t._v(" "),o("li",[o("strong",[o("NuxtLink",{attrs:{to:"/docs/Posit%20Infrastructure?doc=Posit%20Support.md"}},[t._v("Getting support with Posit")])],1)]),t._v(" "),o("li",[o("strong",[o("NuxtLink",{attrs:{to:"/docs/Posit%20Infrastructure?doc=FAQs.md"}},[t._v("Posit Frequently Asked Questions (FAQs)")])],1)])])])],1)],1)}),[],!1,null,null,null);o.default=component.exports}}]); \ No newline at end of file diff --git a/docs/_nuxt/1d6a945.js b/docs/_nuxt/1d6a945.js new file mode 100644 index 0000000..080e1fd --- /dev/null +++ b/docs/_nuxt/1d6a945.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{307:function(t,e,n){var content=n(441);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(60).default)("353e2a67",content,!0,{sourceMap:!1})},440:function(t,e,n){"use strict";n(307)},441:function(t,e,n){var r=n(59)(!1);r.push([t.i,".active{font-weight:bold}.not-active{font-weight:normal}.gh-button{display:flex;justify-content:space-between;align-items:center}a li{font-weight:400}.collapsed>.when-open,.not-collapsed>.when-closed{display:none}.search-results{box-shadow:0px 4px 10px 0px #dcdcdc}@media(max-width: 767.98px){.search-results{right:15px;width:95%}}@media(min-width: 767.98px){.search-results{margin-top:-33px;right:15px}}.md-doc h1{font-size:2rem;margin-bottom:20px}.md-doc h2{font-size:1.5rem}.md-doc h3{font-size:1.25rem}.md-doc h4{font-size:1rem}.md-doc h5{font-size:.875rem}.md-doc h6{font-size:.75rem}.md-doc img{max-width:100%}",""]),t.exports=r},456:function(t,e,n){"use strict";n.r(e);n(96),n(18),n(14),n(97),n(9),n(12),n(2),n(47),n(34),n(35);var r=n(23);n(61),n(8),n(1),n(77),n(50),n(98),n(10),n(175);function o(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return c(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,d=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return l=t.done,t},e:function(t){d=!0,o=t},f:function(){try{l||null==n.return||n.return()}finally{if(d)throw o}}}}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i0&&this.search.length<=1?t=t.filter((function(t){return!!t.tags.includes(e.search.toLowerCase())})):this.search.length>1&&(t=t.filter((function(t){return!!t.title.toLowerCase().includes(e.search.toLowerCase())||!!t.description.toLowerCase().includes(e.search.toLowerCase())}))),t=this.filterSelected.includes("In-Person Course")&&this.filterSelected.includes("Online Course")?t.filter((function(e){if(e.type.includes("In-Person Course")||e.type.includes("Online Course"))return!0})):this.filterSelected.includes("In-Person Course")?t.filter((function(e){if(e.type.includes("In-Person Course"))return!0})):this.filterSelected.includes("Online Course")?t.filter((function(e){if(e.type.includes("Online Course"))return!0})):t.filter((function(e){return!e.type.includes("In-Person Course")&&!e.type.includes("Online Course")}))},displayResources:function(){var e=this,t=this.resources;return this.filterSelected.includes("Coming Soon")||(t=t.filter((function(e){return""!=e.link}))),this.search.length>0&&this.search.length<=1?t=t.filter((function(t){return!!t.tags.includes(e.search.toLowerCase())})):this.search.length>1&&(t=t.filter((function(t){return!!t.title.toLowerCase().includes(e.search.toLowerCase())||!!t.description.toLowerCase().includes(e.search.toLowerCase())}))),t=t.filter((function(t){return!!e.filterSelected.includes(t.type)}))}},methods:{showGuidance:function(e){var t=this;return Object(o.a)(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,t.$axios.$get("https://secret-ocean-49799.herokuapp.com/"+e.link);case 2:e.md=n.sent,t.selectedResource=e;case 4:case"end":return n.stop()}}),n)})))()}},created:function(){this.$route.query.type&&(this.filterSelected=this.$route.query.type,this.$router.push({query:{}}))}},v=y,w=(n(437),n(265),n(51)),component=Object(w.a)(v,(function(){var e=this,t=e._self._c;return t("div",[t("div",{staticClass:"title-container"},[t("b-row",{attrs:{"no-gutters":""}},[t("b-col",{attrs:{md:"7"}},[t("b-card",{staticClass:"overflow-hidden head-card",attrs:{"no-body":""}}),e._v(" "),t("b-card-body",[t("h3",[e._v("Develop")]),e._v(" "),t("b-card-text",{staticClass:"mb-4"},[e._v("\n Training and support materials related to Data Science\n ")]),e._v(" "),t("b-dropdown",{attrs:{variant:"outline-primary",text:"Training Pathways"}},[t("b-dropdown-item",{on:{click:function(t){return e.$router.push("/develop/r-pathway")}}},[e._v("R Pathway")])],1)],1)],1),e._v(" "),t("b-col",{attrs:{md:"1"}}),e._v(" "),t("b-col",{attrs:{md:"4","align-self":"center"}},[t("b-form-input",{staticClass:"search mt-5",attrs:{type:"search",placeholder:"Search"},model:{value:e.search,callback:function(t){e.search=t},expression:"search"}}),e._v(" "),t("b-dropdown",{staticClass:"filter float-right mt-2 mr-3",attrs:{variant:"outline-secondary",right:"",text:"Category"}},[t("b-dropdown-form",{staticStyle:{width:"200px"}},[t("b-form-group",{attrs:{label:"Filter on type:"},scopedSlots:e._u([{key:"default",fn:function(n){var o=n.ariaDescribedby;return[t("b-form-checkbox-group",{attrs:{"aria-describedby":o,name:"filterSelected",stacked:""},model:{value:e.filterSelected,callback:function(t){e.filterSelected=t},expression:"filterSelected"}},[t("b-form-checkbox",{attrs:{value:"In-Person Course"}},[e._v("In-Person Course")]),e._v(" "),t("b-form-checkbox",{attrs:{value:"Online Course"}},[e._v("Online Course")]),e._v(" "),t("b-form-checkbox",{attrs:{value:"Textbook"}},[e._v("Textbook")]),e._v(" "),t("b-form-checkbox",{attrs:{value:"Coming Soon"}},[t("i",[e._v("Coming Soon")])])],1)]}}])})],1)],1)],1)],1),e._v(" "),t("b-row",{attrs:{"align-h":"end"}})],1),e._v(" "),t("b-row",{staticClass:"mt-4",attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},[t("b-col",[t("h4",{staticClass:"mb-3"},[e._v("Courses")])])],1),e._v(" "),t("b-row",[0==e.displayCourses.length?t("b-col",[t("p",[e._v("Filter and search query return "),t("strong",[e._v("no results")]),e._v(". If you can't find what you're looking for, why not "),t("a",{attrs:{href:"mailto:phs.datascience@phs.scot; phs.staffdevelopment@phs.scot?Subject=DSKB - Course Enquiry"}},[e._v("email us")]),e._v("?")])]):e._e()],1),e._v(" "),t("b-row",{attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},e._l(e.displayCourses,(function(n){return t("b-col",{key:n.title,staticClass:"grid"},[t("b-card-group",{attrs:{deck:""}},[t("b-card",{staticClass:"mb-4",scopedSlots:e._u([{key:"footer",fn:function(){return[t("b-list-group",{attrs:{flush:""}},[""!=n.f2f?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n In-Person Course\n "),t("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal.booking-modal",modifiers:{"booking-modal":!0}}],attrs:{variant:"primary"},on:{click:function(t){e.selectedCourse=n}}},[e._v("\n Book\n ")])],1):e._e(),e._v(" "),""!=n.online?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n Online Course\n "),t("b-button",{attrs:{href:n.online,target:"_blank",variant:"primary"}},[e._v("\n Start\n ")])],1):e._e(),e._v(" "),""==n.f2f&&""==n.online?t("b-list-group-item",{staticClass:"coming-soon ml-auto"},[t("i",[e._v("Coming Soon")])]):e._e()],1)]},proxy:!0}],null,!0)},[t("b-card-title",[t("NuxtLink",{staticClass:"course-link",attrs:{to:"develop/"+n.slug}},[e._v(e._s(n.title))])],1),e._v(" "),t("b-card-text",[e._v("\n "+e._s(n.description)+"\n ")])],1)],1)],1)})),1),e._v(" "),t("b-row",{attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},[t("b-col",[t("h4",{staticClass:"mb-3 mt-5"},[e._v("Other Resources")])])],1),e._v(" "),t("b-row",[0==e.displayResources.length?t("b-col",[t("p",[e._v("Filter and search query return "),t("strong",[e._v("no results")]),e._v(". If you can't find what you're looking for, why not "),t("a",{attrs:{href:"mailto:phs.datascience@phs.scot; phs.staffdevelopment@phs.scot?Subject=DSKB - Resource Enquiry"}},[e._v("email us")]),e._v("?")])]):e._e()],1),e._v(" "),t("b-row",{attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},e._l(e.displayResources,(function(n){return t("b-col",{key:n.title,staticClass:"grid"},[t("b-card-group",{attrs:{deck:""}},[t("b-card",{staticClass:"mb-4",attrs:{title:n.title},scopedSlots:e._u([{key:"footer",fn:function(){return[t("b-list-group",{attrs:{flush:""}},["Guidance"==n.type?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n Guidance\n "),t("b-button",{attrs:{href:n.richLink,target:"_blank",variant:"primary"}},[e._v("\n Open\n ")])],1):e._e(),e._v(" "),"Textbook"==n.type?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n Textbook\n "),t("b-button",{attrs:{href:n.link,target:"_blank",variant:"primary"}},[e._v("\n Open\n ")])],1):e._e()],1)]},proxy:!0}],null,!0)},[t("b-card-text",[e._v("\n "+e._s(n.description)+"\n ")])],1)],1)],1)})),1),e._v(" "),t("b-modal",{attrs:{id:"guidance-modal",size:"xl",scrollable:"",title:e.selectedResource.title}},[e._v("\n If this content doesn't load, "),t("a",{attrs:{target:"_blank",href:e.selectedResource.richLink}},[e._v("click here")]),e._v(" to open in a browser tab.\n "),t("br"),e._v(" "),t("br"),e._v(" "),t("vue-markdown",{staticClass:"guidance-md",attrs:{source:e.selectedResource.md}})],1),e._v(" "),t("b-modal",{attrs:{id:"booking-modal",size:"xl"}},[e._v("\n If this content doesn't load, "),t("a",{attrs:{target:"_blank",href:e.selectedCourse.f2f}},[e._v("click here")]),e._v(" to open in a browser tab.\n "),t("br"),e._v(" "),e.selectedCourse.f2f?t("div",[t("iframe",{staticStyle:{border:"none",width:"100%"},attrs:{width:"640px",height:"1550px",src:e.selectedCourse.f2f,frameborder:"0",marginwidth:"0",marginheight:"0",allowfullscreen:"",webkitallowfullscreen:"",mozallowfullscreen:"",msallowfullscreen:""}})]):e._e()])],1)}),[],!1,null,null,null);t.default=component.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{247:function(e){e.exports=JSON.parse('[{"title":"Introduction to R","slug":"introduction-to-r","description":"A beginner\'s course for learning R from the basics.","overview":"In Introduction to R, you\'re given a brief introduction to programming before building the foundations in R. Throughout the course, you will build from these foundations and master the basics of this widely used open source language, including data structures, flow, exploration, and wrangling. This is all supported with live coding and quizzes so you can be sure you know what you\'re doing. \\n\\nWhile the use of R continues to grow globally, PHS continues to secure the infrastructure and tools for everyone to make the best use of this technology. This course is suitable for everyone new to R and provides the knowledge to build topic specific skills.","link":"https://scotland.shinyapps.io/phs-learnr-intro/","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmmiLaHlezqJOh-fBWH8cGyhUQUlQMVNZMk1aTjdCMllRTFJNWkZKTFNSMy4u","online":"https://scotland.shinyapps.io/phs-learnr-intro/","image":"","type":["In-Person Course","Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":"none","timetable":"3 half days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/learnr-intro","related":[]},{"title":"Introduction to Git ","slug":"introduction-to-git","description":"A beginner\'s course for learning git (including GitHub and Gitea) from the basics.","overview":"In Introduction to Git, there is no assumption of any background in Git, or even version control. Instead, this introduces you to version control topics and provides a deeper understanding of how things work, all from the perspective of an R user. The practical elements of the course utilise the user interface on RStudio so, while there\'s no prerequisite on R, you should be familiar with the RStudio software. \\n\\nVersion control is a powerful tool across software engineering disciplines. At a high level, it allows you to keep track of changes, undoing them when necessary, and collaborating at scale. This course introduces you to Git as a version control tool (arguably the most popular), GitHub and Gitea. You\'ll learn about repositories, commits, branches, and pull requests.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu&embed=true","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmvpRU_LHr_5KrgEqWKwVEvJUOTdKTjRKMUZYUVlEM0E2NE9GQkdOVjBESCQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"Git","level":"1","packages":[],"tags":["git"],"prereqs":"none","timetable":"1 half day (plus both a pre-course check and post-course drop-in)","materials":"https://github.com/Public-Health-Scotland/learn-git","related":["R","Python"]},{"title":"Data Visualisation in R","slug":"data-visualisation-in-r","description":"Learn about data viz using R. This course has a focus on ggplot2 but includes an introduction to plotly.","overview":"Data visualisation is useful across all roles that interact with data, it\'s important that these are meaningful and visually appealing too. Building from the Introduction to R course, this course covers the structure on which visualisations are built and then, more practically, how to actually build them. \\n\\nThe ggplot2 package is the primary R package that is used across the organisation and in this course. However, this package is built on the same underlying structure as the plotly package. When things need to get interactive on your visualisations, you\'ll need to use plotly.","link":"https://scotland.shinyapps.io/phs-learnr-dataviz/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-dataviz/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ggplot2","plotly"],"tags":["r","viz"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to R Markdown","slug":"introduction-to-r-markdown","description":"Learn about building reports and other functionality of R Markdown.","overview":"R Markdown is used to create outputs such as PDFs, HTML, or even a Shiny app. These are generated from the R Markdown file which simply lays out the document with a minimal and easy to use syntax. You can also include executable code chunks, allowing you to produce visualisations and analytical outputs. R Markdown is already widely used across the organisation, with templates available for publications, presentations, and even training course apps. \\n\\nIn this course you\'ll learn the foundations and practicalities of using R Markdown. While there\'s enough theory to understand how things work, there\'s practical exercises to get familiar and embed your learning. You\'ll need to do most of the practical exercises on RStudio (desktop or server) as the training app can\'t show the outputs.","link":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-rmarkdown/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","rmarkdown"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"PHS Methods","slug":"phs-methods","description":"The first step in taking R further. Learn about the `phsmethods` package created by and for staff in PHS.","overview":"","link":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-phsmethods/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","phsmethods"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Open Data","slug":"introduction-to-open-data","description":"Learn about open data, what it is, why we use it, and how to interact with our open data using R.","overview":"Open data is the name for publicly released data which is made freely available to everyone to use and reuse in any way they like. With open data, anyone is able to make use of its potential: improving, innovating, and making better decisions. In this course, we provide a theoretical background of open data, building on PHS practices, and then getting practical with some coding examples in R. ","link":"https://scotland.shinyapps.io/phs-learnr-opendata","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-opendata","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","ckanr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"SPSS to R","slug":"spss-to-r","description":"A companion to the Intro to R course for SPSS users, understanding the differences and how to start translating SPSS to R.","overview":"While not repeating the content of the Introduction to R course, this course attempts to support existing SPSS users to transition to R. The course follows the same structure to allow you to compare and see how the code varies between the different technologies.","link":"https://scotland.shinyapps.io/phs-learnr-spsstor/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-spsstor/","image":"","type":["Online Course"],"technology":"R","level":"1","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"R Shiny","slug":"r-shiny","description":"Learn how to develop web apps and dashboards using R Shiny.","overview":"R Shiny is an R package that allows you to develop interactive web apps. The use of R Shiny is expansive and flexible, with the ability to integrate with R Markdown and other tools. With an element of web development practices, the course builds the knowledge of Shiny through practical exercises but is thorough enough to cover how each component works. In this course you\'ll learn how a complete R shiny comes together, from forming your data, developing user interfaces with interactive data visualisations that conform to PHS standards, right through to deploying for others to use on the web.","link":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","f2f":"https://forms.office.com/Pages/ResponsePage.aspx?id=veDvEDCgykuAnLXmdF5JmibxHi_yzZ9Pvduh8IqoF_5UMk9RVVBZU0ExWlUwUFdMMjI4VFNVRTRTUSQlQCN0PWcu","online":"","image":"","type":["In-Person Course"],"technology":"R","level":"3","packages":["base","shiny"],"tags":["r"],"prereqs":["Introduction to R","Data Visualisation in R"],"timetable":"3 days (plus a pre-course check)","materials":"https://github.com/Public-Health-Scotland/RShiny-training","related":[]},{"title":"SQL in R","slug":"sql-in-r","description":"Learn about writing and using SQL commands in R.","overview":"Using SQL is is applicable to so many roles, it\'s almost inevitable that you\'ll come across it at some stage. However, this could also mean that you inherit pre-written SQL or be dealing with massive quantities of data. Using SQL doesn\'t need to be intimidating but it\'s going to make your life a lot easier if you know what you\'re doing and how to do it efficiently. This course is a complete introduction to SQL from the foundations up, you can use the first few chapters to learn about SQL and leave it there. However, the course continues and shows how that SQL code can be integrated into R, making your coding experience much more seamless. The course concludes with a taster for using an R package, dbplyr. This package allows you to use familiar R syntax (if you\'re familiar with the Tidyverse) rather than using SQL at all.","link":"https://scotland.shinyapps.io/phs-learnr-sql/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-sql/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","odbc","dbplyr"],"tags":["r","sql"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"OpenXLSX","slug":"openxlsx","description":"Learn about the openxlsx package to work with Excel files within R.","overview":"The openxlsx package is a great way to work with Excel files within R. It allows you to read, write, and modify Excel files, and is a great alternative to the readxl and writexl packages. This course is a complete introduction to the openxlsx package, from the foundations up. It covers the basics of working with Excel files, including reading, writing, and modifying data. It also covers some more advanced topics, such as working with multiple worksheets, formatting, and using functions to automate tasks. This course is designed to be a complete introduction to the openxlsx package, so you can use the first few chapters to learn about the package and leave it there. However, the course continues and shows how that openxlsx code can be integrated into R, making your coding experience much more seamless. This will be particularly useful for adopting RAP principles, or ensuring the full pipeline is managed within R.","link":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","f2f":"","online":"https://scotland.shinyapps.io/phs-learnr-openxlsx/","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","openxlsx"],"tags":["r","excel"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Introduction to Python","slug":"introduction-to-python","description":"A beginner\'s course for learning Python from the basics.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"1","packages":[],"tags":["python"],"prereqs":"none","timetable":"","materials":"","related":[]},{"title":"R Functions","slug":"r-functions","description":"R is a functional programming language. So let\'s learn how to write some functions.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Functions","slug":"python-functions","description":"Learn how to write functions in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Dates & Times in R","slug":"dates-and-times-in-r","description":"Learn how to work with dates and times in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","lubridate"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"R Control Structures","slug":"r-control-structures","description":"Learn how to control the flow of execution in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","purrr"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Python Control Structures","slug":"python-control-structures","description":"Learn how to control the flow of execution in Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":[],"tags":["python"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"Data Cleaning in R","slug":"data-cleaning-in-r","description":"Learn about data cleaning in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","stringr","forcats","tidyr","tidylog","janitor"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Testing in R","slug":"testing-in-r","description":"Learn about testing in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","testthat"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Reproducible Environments in R","slug":"reproducible-environments-in-r","description":"Learn about creating and using reproducible environments in R.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"2","packages":["base","renv"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]},{"title":"Data Viz in Python","slug":"data-viz-in-python","description":"Learn about data visualisation using Python.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"Python","level":"2","packages":["plotly"],"tags":["python","viz"],"prereqs":["Introduction to Python"],"timetable":"","materials":"","related":[]},{"title":"R Packages","slug":"r-packages","description":"Learn how to build your own R packages and get them ready for CRAN.","overview":"","link":"","f2f":"","online":"","image":"","type":["Online Course"],"technology":"R","level":"3","packages":["base"],"tags":["r"],"prereqs":["Introduction to R"],"timetable":"","materials":"","related":[]}]')},276:function(e){e.exports=JSON.parse('[{"title":"Git Guide","slug":"git-guide","description":"Textbook for using git and GitHub within PHS.","link":"https://public-health-scotland.github.io/git-guide/","richLink":"","image":"","type":"Textbook","technology":"Git","tags":["git"]}]')},306:function(e,t,n){var content=n(439);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[e.i,content,""]]),content.locals&&(e.exports=content.locals);(0,n(60).default)("4e13a148",content,!0,{sourceMap:!1})},438:function(e,t,n){"use strict";n(306)},439:function(e,t,n){var o=n(59)(!1);o.push([e.i,"\n.filter-row{\n display: flex;\n align-items: center;\n}\ninput{\n min-width: 120px;\n flex-grow: 1\n}\n.filter{\n flex: 0 1 auto;\n}\n.head-card{\n border: none;\n}\n.tag-cloud{\n padding: 0 10px;\n}\n.tag-button{\n margin: 2px 0;\n}\nb-button{\n margin-top: red;\n}\nb-dropdown{\n margin-right: 15px;\n}\n.grid{\n display: grid;\n}\n.multiselect__option--highlight, .multiselect__option--highlight::after{\n background: #80BA27 !important;\n}\n.multiselect__option--selected.multiselect__option--highlight, .multiselect__option--selected.multiselect__option--highlight::after{\n background: #bd27b9 !important;\n}\n.multiselect__tag{\n background: #80BA27 !important;\n}\n.card-footer{\n background-color: #ffffff;\n}\n.btn-primary{\n background-color: #0078d4;\n float: right;\n}\n.course-link{\n color: black;\n}\n.coming-soon{\n color: #0078d4;\n}\n.guidance-md {\n padding: 0 20px;\n}\n.guidance-md img{\n width: 100%;\n}\nfooter{\n margin-top: 50px;\n margin-bottom: 50px;\n}\n",""]),e.exports=o},455:function(e,t,n){"use strict";n.r(t);n(96),n(126);var o=n(23),r=n(21),l=(n(61),n(280),n(34),n(12),n(35),n(77),n(50),n(1),n(281)),c=n.n(l),d=n(254),h=n.n(d),f=n(247),m=n(276),y={components:{Multiselect:c.a,VueMarkdown:h.a},data:function(){return{courses:f,resources:m,selectedTags:[],selectedTypes:[],selectedCourse:{},selectedResource:{},search:"",filterSelected:["Online Course","In-Person Course","Textbook"]}},computed:{tags:function(){var e=[];return this.courses.forEach((function(t){return e=e.concat(t.tags)})),Object(r.a)(new Set(e))},types:function(){var e=[];return this.courses.forEach((function(t){return e=e.concat(t.type)})),Object(r.a)(new Set(e))},displayCourses:function(){var e=this,t=this.courses;return this.filterSelected.includes("Coming Soon")||(t=t.filter((function(e){return""!=e.f2f||""!=e.online}))),this.search.length>0&&this.search.length<=1?t=t.filter((function(t){return!!t.tags.includes(e.search.toLowerCase())})):this.search.length>1&&(t=t.filter((function(t){return!!t.title.toLowerCase().includes(e.search.toLowerCase())||!!t.description.toLowerCase().includes(e.search.toLowerCase())}))),t=this.filterSelected.includes("In-Person Course")&&this.filterSelected.includes("Online Course")?t.filter((function(e){if(e.type.includes("In-Person Course")||e.type.includes("Online Course"))return!0})):this.filterSelected.includes("In-Person Course")?t.filter((function(e){if(e.type.includes("In-Person Course"))return!0})):this.filterSelected.includes("Online Course")?t.filter((function(e){if(e.type.includes("Online Course"))return!0})):t.filter((function(e){return!e.type.includes("In-Person Course")&&!e.type.includes("Online Course")}))},displayResources:function(){var e=this,t=this.resources;return this.filterSelected.includes("Coming Soon")||(t=t.filter((function(e){return""!=e.link}))),this.search.length>0&&this.search.length<=1?t=t.filter((function(t){return!!t.tags.includes(e.search.toLowerCase())})):this.search.length>1&&(t=t.filter((function(t){return!!t.title.toLowerCase().includes(e.search.toLowerCase())||!!t.description.toLowerCase().includes(e.search.toLowerCase())}))),t=t.filter((function(t){return!!e.filterSelected.includes(t.type)}))}},methods:{showGuidance:function(e){var t=this;return Object(o.a)(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,t.$axios.$get("https://secret-ocean-49799.herokuapp.com/"+e.link);case 2:e.md=n.sent,t.selectedResource=e;case 4:case"end":return n.stop()}}),n)})))()}},created:function(){this.$route.query.type&&(this.filterSelected=this.$route.query.type,this.$router.push({query:{}}))}},v=y,w=(n(438),n(265),n(51)),component=Object(w.a)(v,(function(){var e=this,t=e._self._c;return t("div",[t("div",{staticClass:"title-container"},[t("b-row",{attrs:{"no-gutters":""}},[t("b-col",{attrs:{md:"7"}},[t("b-card",{staticClass:"overflow-hidden head-card",attrs:{"no-body":""}}),e._v(" "),t("b-card-body",[t("h3",[e._v("Develop")]),e._v(" "),t("b-card-text",{staticClass:"mb-4"},[e._v("\n Training and support materials related to Data Science\n ")]),e._v(" "),t("b-dropdown",{attrs:{variant:"outline-primary",text:"Training Pathways"}},[t("b-dropdown-item",{on:{click:function(t){return e.$router.push("/develop/r-pathway")}}},[e._v("R Pathway")])],1)],1)],1),e._v(" "),t("b-col",{attrs:{md:"1"}}),e._v(" "),t("b-col",{attrs:{md:"4","align-self":"center"}},[t("b-form-input",{staticClass:"search mt-5",attrs:{type:"search",placeholder:"Search"},model:{value:e.search,callback:function(t){e.search=t},expression:"search"}}),e._v(" "),t("b-dropdown",{staticClass:"filter float-right mt-2 mr-3",attrs:{variant:"outline-secondary",right:"",text:"Category"}},[t("b-dropdown-form",{staticStyle:{width:"200px"}},[t("b-form-group",{attrs:{label:"Filter on type:"},scopedSlots:e._u([{key:"default",fn:function(n){var o=n.ariaDescribedby;return[t("b-form-checkbox-group",{attrs:{"aria-describedby":o,name:"filterSelected",stacked:""},model:{value:e.filterSelected,callback:function(t){e.filterSelected=t},expression:"filterSelected"}},[t("b-form-checkbox",{attrs:{value:"In-Person Course"}},[e._v("In-Person Course")]),e._v(" "),t("b-form-checkbox",{attrs:{value:"Online Course"}},[e._v("Online Course")]),e._v(" "),t("b-form-checkbox",{attrs:{value:"Textbook"}},[e._v("Textbook")]),e._v(" "),t("b-form-checkbox",{attrs:{value:"Coming Soon"}},[t("i",[e._v("Coming Soon")])])],1)]}}])})],1)],1)],1)],1),e._v(" "),t("b-row",{attrs:{"align-h":"end"}})],1),e._v(" "),t("b-row",{staticClass:"mt-4",attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},[t("b-col",[t("h4",{staticClass:"mb-3"},[e._v("Courses")])])],1),e._v(" "),t("b-row",[0==e.displayCourses.length?t("b-col",[t("p",[e._v("Filter and search query return "),t("strong",[e._v("no results")]),e._v(". If you can't find what you're looking for, why not "),t("a",{attrs:{href:"mailto:phs.datascience@phs.scot; phs.staffdevelopment@phs.scot?Subject=DSKB - Course Enquiry"}},[e._v("email us")]),e._v("?")])]):e._e()],1),e._v(" "),t("b-row",{attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},e._l(e.displayCourses,(function(n){return t("b-col",{key:n.title,staticClass:"grid"},[t("b-card-group",{attrs:{deck:""}},[t("b-card",{staticClass:"mb-4",scopedSlots:e._u([{key:"footer",fn:function(){return[t("b-list-group",{attrs:{flush:""}},[""!=n.f2f?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n In-Person Course\n "),t("b-button",{directives:[{name:"b-modal",rawName:"v-b-modal.booking-modal",modifiers:{"booking-modal":!0}}],attrs:{variant:"primary"},on:{click:function(t){e.selectedCourse=n}}},[e._v("\n Book\n ")])],1):e._e(),e._v(" "),""!=n.online?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n Online Course\n "),t("b-button",{attrs:{href:n.online,target:"_blank",variant:"primary"}},[e._v("\n Start\n ")])],1):e._e(),e._v(" "),""==n.f2f&&""==n.online?t("b-list-group-item",{staticClass:"coming-soon ml-auto"},[t("i",[e._v("Coming Soon")])]):e._e()],1)]},proxy:!0}],null,!0)},[t("b-card-title",[t("NuxtLink",{staticClass:"course-link",attrs:{to:"develop/"+n.slug}},[e._v(e._s(n.title))])],1),e._v(" "),t("b-card-text",[e._v("\n "+e._s(n.description)+"\n ")])],1)],1)],1)})),1),e._v(" "),t("b-row",{attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},[t("b-col",[t("h4",{staticClass:"mb-3 mt-5"},[e._v("Other Resources")])])],1),e._v(" "),t("b-row",[0==e.displayResources.length?t("b-col",[t("p",[e._v("Filter and search query return "),t("strong",[e._v("no results")]),e._v(". If you can't find what you're looking for, why not "),t("a",{attrs:{href:"mailto:phs.datascience@phs.scot; phs.staffdevelopment@phs.scot?Subject=DSKB - Resource Enquiry"}},[e._v("email us")]),e._v("?")])]):e._e()],1),e._v(" "),t("b-row",{attrs:{cols:"1","cols-sm":"2","cols-lg":"3"}},e._l(e.displayResources,(function(n){return t("b-col",{key:n.title,staticClass:"grid"},[t("b-card-group",{attrs:{deck:""}},[t("b-card",{staticClass:"mb-4",attrs:{title:n.title},scopedSlots:e._u([{key:"footer",fn:function(){return[t("b-list-group",{attrs:{flush:""}},["Guidance"==n.type?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n Guidance\n "),t("b-button",{attrs:{href:n.richLink,target:"_blank",variant:"primary"}},[e._v("\n Open\n ")])],1):e._e(),e._v(" "),"Textbook"==n.type?t("b-list-group-item",{staticClass:"d-flex justify-content-between align-items-center"},[e._v("\n Textbook\n "),t("b-button",{attrs:{href:n.link,target:"_blank",variant:"primary"}},[e._v("\n Open\n ")])],1):e._e()],1)]},proxy:!0}],null,!0)},[t("b-card-text",[e._v("\n "+e._s(n.description)+"\n ")])],1)],1)],1)})),1),e._v(" "),t("b-modal",{attrs:{id:"guidance-modal",size:"xl",scrollable:"",title:e.selectedResource.title}},[e._v("\n If this content doesn't load, "),t("a",{attrs:{target:"_blank",href:e.selectedResource.richLink}},[e._v("click here")]),e._v(" to open in a browser tab.\n "),t("br"),e._v(" "),t("br"),e._v(" "),t("vue-markdown",{staticClass:"guidance-md",attrs:{source:e.selectedResource.md}})],1),e._v(" "),t("b-modal",{attrs:{id:"booking-modal",size:"xl"}},[e._v("\n If this content doesn't load, "),t("a",{attrs:{target:"_blank",href:e.selectedCourse.f2f}},[e._v("click here")]),e._v(" to open in a browser tab.\n "),t("br"),e._v(" "),e.selectedCourse.f2f?t("div",[t("iframe",{staticStyle:{border:"none",width:"100%"},attrs:{width:"640px",height:"1550px",src:e.selectedCourse.f2f,frameborder:"0",marginwidth:"0",marginheight:"0",allowfullscreen:"",webkitallowfullscreen:"",mozallowfullscreen:"",msallowfullscreen:""}})]):e._e()])],1)}),[],!1,null,null,null);t.default=component.exports}}]); \ No newline at end of file diff --git a/docs/_nuxt/4dd7c9d.js b/docs/_nuxt/4dd7c9d.js new file mode 100644 index 0000000..6dd6573 --- /dev/null +++ b/docs/_nuxt/4dd7c9d.js @@ -0,0 +1,2 @@ +/*! For license information please see LICENSES */ +(window.webpackJsonp=window.webpackJsonp||[]).push([[0],Array(244).concat([function(e,t,r){"use strict";var n=Object.prototype.hasOwnProperty;function o(object,e){return n.call(object,e)}function l(e){return!(e>=55296&&e<=57343)&&(!(e>=64976&&e<=65007)&&(65535!=(65535&e)&&65534!=(65535&e)&&(!(e>=0&&e<=8)&&(11!==e&&(!(e>=14&&e<=31)&&(!(e>=127&&e<=159)&&!(e>1114111)))))))}function c(e){if(e>65535){var t=55296+((e-=65536)>>10),r=56320+(1023&e);return String.fromCharCode(t,r)}return String.fromCharCode(e)}var h=/\\([!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~])/g,f=new RegExp(h.source+"|"+/&([a-z#][a-z0-9]{1,31});/gi.source,"gi"),d=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i,m=r(294);var _=/[&<>"]/,y=/[&<>"]/g,v={"&":"&","<":"<",">":">",'"':"""};function w(e){return v[e]}var k=/[.?*+^$[\]\\(){}|-]/g;var x=r(273);t.lib={},t.lib.mdurl=r(295),t.lib.ucmicro=r(351),t.assign=function(e){var t=Array.prototype.slice.call(arguments,1);return t.forEach((function(source){if(source){if("object"!=typeof source)throw new TypeError(source+"must be object");Object.keys(source).forEach((function(t){e[t]=source[t]}))}})),e},t.isString=function(e){return"[object String]"===function(e){return Object.prototype.toString.call(e)}(e)},t.has=o,t.unescapeMd=function(e){return e.indexOf("\\")<0?e:e.replace(h,"$1")},t.unescapeAll=function(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(f,(function(e,t,r){return t||function(e,t){var code=0;return o(m,t)?m[t]:35===t.charCodeAt(0)&&d.test(t)&&l(code="x"===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10))?c(code):e}(e,r)}))},t.isValidEntityCode=l,t.fromCodePoint=c,t.escapeHtml=function(e){return _.test(e)?e.replace(y,w):e},t.arrayReplaceAt=function(e,t,r){return[].concat(e.slice(0,t),r,e.slice(t+1))},t.isSpace=function(code){switch(code){case 9:case 32:return!0}return!1},t.isWhiteSpace=function(code){if(code>=8192&&code<=8202)return!0;switch(code){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1},t.isMdAsciiPunct=function(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}},t.isPunctChar=function(e){return x.test(e)},t.escapeRE=function(e){return e.replace(k,"\\$&")},t.normalizeReference=function(e){return e.trim().replace(/\s+/g," ").toUpperCase()}},function(e,t){var r,n=Array.prototype.indexOf,o=function(e,t){if(null==e)return-1;if(n&&e.indexOf===n)return e.indexOf(t);for(var i=0,r=e.length;i":">","<":"<",'"':""","'":"'"},h=/[&><"']/g;function f(e){return c[e]}if("undefined"!=typeof document){var d=document.createElement("span");r="textContent"in d?function(e,text){e.textContent=text}:function(e,text){e.innerText=text}}e.exports={contains:function(e,t){return-1!==o(e,t)},deflt:function(e,t){return void 0===e?t:e},escape:function(text){return(""+text).replace(h,f)},hyphenate:function(e){return e.replace(l,"-$1").toLowerCase()},indexOf:o,setTextContent:r,clearNode:function(e){r(e,"")}}},function(e,t){function r(e,t,n){var o="KaTeX parse error: "+e;if(void 0!==t&&void 0!==n){o+=" at position "+n+": ";var input=t._input;input=input.slice(0,n)+"̲"+input.slice(n);var l=Math.max(0,n-15),c=n+15;o+=input.slice(l,c)}var h=new Error(o);return h.name="ParseError",h.__proto__=r.prototype,h.position=n,h}r.prototype.__proto__=Error.prototype,e.exports=r},,function(e,t){var r=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},function(e,t){var r=e.exports={version:"2.6.12"};"number"==typeof __e&&(__e=r)},function(e,t,r){var n=r(289)("wks"),o=r(290),l=r(248).Symbol,c="function"==typeof l;(e.exports=function(e){return n[e]||(n[e]=c&&l[e]||(c?l:o)("Symbol."+e))}).store=n},function(e,t,r){var n=r(268),o=r(287);e.exports=r(257)?function(object,e,t){return n.f(object,e,o(1,t))}:function(object,e,t){return object[e]=t,object}},function(e,t,r){var n=r(262),o={xHeight:.431,quad:1,num1:.677,num2:.394,num3:.444,denom1:.686,denom2:.345,sup1:.413,sup2:.363,sup3:.289,sub1:.15,sub2:.247,supDrop:.386,subDrop:.05,axisHeight:.25,defaultRuleThickness:.04,bigOpSpacing1:.111,bigOpSpacing2:.166,bigOpSpacing3:.2,bigOpSpacing4:.6,bigOpSpacing5:.1,ptPerEm:10,emPerEx:.431,doubleRuleSep:.2,delim1:2.39,getDelim2:function(style){if(style.size===n.TEXT.size)return 1.01;if(style.size===n.SCRIPT.size)return.81;if(style.size===n.SCRIPTSCRIPT.size)return.71;throw new Error("Unexpected style size: "+style.size)}},l=r(426);e.exports={metrics:o,getCharacterMetrics:function(e,style){var t=l[style][e.charCodeAt(0)];if(t)return{depth:t[0],height:t[1],italic:t[2],skew:t[3],width:t[4]}}}},,function(e,t,r){var n;n=function(e,t,r,n,o,l,c,h,f,d,m,_,y,v){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}return r.m=e,r.c=t,r.p="",r(0)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=A(r(1)),o=A(r(2)),l=A(r(3)),c=A(r(4)),h=A(r(5)),f=A(r(6)),d=A(r(7)),m=A(r(8)),_=A(r(9)),y=A(r(10)),v=A(r(11)),w=A(r(12)),k=A(r(13)),x=A(r(14));function A(e){return e&&e.__esModule?e:{default:e}}t.default={md:new l.default,template:"
",data:function(){return{sourceData:this.source}},props:{watches:{type:Array,default:function(){return["source","show","toc"]}},source:{type:String,default:""},show:{type:Boolean,default:!0},highlight:{type:Boolean,default:!0},html:{type:Boolean,default:!0},xhtmlOut:{type:Boolean,default:!0},breaks:{type:Boolean,default:!0},linkify:{type:Boolean,default:!0},emoji:{type:Boolean,default:!0},typographer:{type:Boolean,default:!0},langPrefix:{type:String,default:"language-"},quotes:{type:String,default:"“”‘’"},tableClass:{type:String,default:"table"},taskLists:{type:Boolean,default:!0},toc:{type:Boolean,default:!1},tocId:{type:String},tocClass:{type:String,default:"table-of-contents"},tocFirstLevel:{type:Number,default:2},tocLastLevel:{type:Number},tocAnchorLink:{type:Boolean,default:!0},tocAnchorClass:{type:String,default:"toc-anchor"},tocAnchorLinkSymbol:{type:String,default:"#"},tocAnchorLinkSpace:{type:Boolean,default:!0},tocAnchorLinkClass:{type:String,default:"toc-anchor-link"},anchorAttributes:{type:Object,default:function(){return{}}},prerender:{type:Function,default:function(e){return e}},postrender:{type:Function,default:function(e){return e}}},computed:{tocLastLevelComputed:function(){return this.tocLastLevel>this.tocFirstLevel?this.tocLastLevel:this.tocFirstLevel+1}},render:function(e){var t=this;this.md=(new l.default).use(h.default).use(f.default).use(d.default).use(m.default).use(_.default).use(y.default).use(v.default).use(k.default,{throwOnError:!1,errorColor:" #cc0000"}).use(x.default,{enabled:this.taskLists}),this.emoji&&this.md.use(c.default),this.md.set({html:this.html,xhtmlOut:this.xhtmlOut,breaks:this.breaks,linkify:this.linkify,typographer:this.typographer,langPrefix:this.langPrefix,quotes:this.quotes}),this.md.renderer.rules.table_open=function(){return'\n'};var r=this.md.renderer.rules.link_open||function(e,t,r,n,o){return o.renderToken(e,t,r)};this.md.renderer.rules.link_open=function(e,n,l,c,h){return(0,o.default)(t.anchorAttributes).map((function(r){var o=e[n].attrIndex(r),l=t.anchorAttributes[r];o<0?e[n].attrPush([r,l]):e[n].attrs[o][1]=l})),r(e,n,l,c,h)},this.toc&&this.md.use(w.default,{tocClassName:this.tocClass,tocFirstLevel:this.tocFirstLevel,tocLastLevel:this.tocLastLevelComputed,anchorLink:this.tocAnchorLink,anchorLinkSymbol:this.tocAnchorLinkSymbol,anchorLinkSpace:this.tocAnchorLinkSpace,anchorClassName:this.tocAnchorClass,anchorLinkSymbolClassName:this.tocAnchorLinkClass,tocCallback:function(e,r,n){n&&(t.tocId&&document.getElementById(t.tocId)&&(document.getElementById(t.tocId).innerHTML=n),t.$emit("toc-rendered",n))}});var n=this.show?this.md.render(this.prerender(this.sourceData)):"";return n=this.postrender(n),this.$emit("rendered",n),e("div",{domProps:{innerHTML:n}})},beforeMount:function(){var e=this;if(this.$slots.default){this.sourceData="";var t=!0,r=!1,o=void 0;try{for(var l,c=(0,n.default)(this.$slots.default);!(t=(l=c.next()).done);t=!0){var slot=l.value;this.sourceData+=slot.text}}catch(e){r=!0,o=e}finally{try{!t&&c.return&&c.return()}finally{if(r)throw o}}}this.$watch("source",(function(){e.sourceData=e.prerender(e.source),e.$forceUpdate()})),this.watches.forEach((function(t){e.$watch(t,(function(){e.$forceUpdate()}))}))}}},function(t,r){t.exports=e},function(e,r){e.exports=t},function(e,t){e.exports=r},function(e,t){e.exports=n},function(e,t){e.exports=o},function(e,t){e.exports=l},function(e,t){e.exports=c},function(e,t){e.exports=h},function(e,t){e.exports=f},function(e,t){e.exports=d},function(e,t){e.exports=m},function(e,t){e.exports=_},function(e,t){e.exports=y},function(e,t){e.exports=v}])},e.exports=n(r(314),r(340),r(344),r(397),r(403),r(404),r(405),r(406),r(407),r(408),r(409),r(410),r(422),r(437))},function(e,t){e.exports={}},function(e,t,r){var n=r(269);e.exports=function(e){if(!n(e))throw TypeError(e+" is not an object!");return e}},function(e,t,r){e.exports=!r(270)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t){var r={}.hasOwnProperty;e.exports=function(e,t){return r.call(e,t)}},function(e,t,r){"use strict";var n=r(244).isSpace,o=r(244).unescapeAll;e.exports=function(e,t,r){var code,l,c=t,h={ok:!1,pos:0,lines:0,str:""};if(60===e.charCodeAt(t)){for(t++;t1)break;if(41===code&&--l<0)break;t++}return c===t||(h.str=o(e.slice(c,t)),h.lines=0,h.pos=t,h.ok=!0),h}},function(e,t,r){"use strict";var n=r(244).unescapeAll;e.exports=function(e,t,r){var code,marker,o=0,l=t,c={ok:!1,pos:0,lines:0,str:""};if(t>=r)return c;if(34!==(marker=e.charCodeAt(t))&&39!==marker&&40!==marker)return c;for(t++,40===marker&&(marker=41);t=0&&(r=this.attrs[t][1]),r},n.prototype.attrJoin=function(e,t){var r=this.attrIndex(e);r<0?this.attrPush([e,t]):this.attrs[r][1]=this.attrs[r][1]+" "+t},e.exports=n},function(e,t){function r(e,t,r,n){this.id=e,this.size=t,this.cramped=n,this.sizeMultiplier=r}r.prototype.sup=function(){return l[sup[this.id]]},r.prototype.sub=function(){return l[sub[this.id]]},r.prototype.fracNum=function(){return l[c[this.id]]},r.prototype.fracDen=function(){return l[h[this.id]]},r.prototype.cramp=function(){return l[f[this.id]]},r.prototype.cls=function(){return n[this.size]+(this.cramped?" cramped":" uncramped")},r.prototype.reset=function(){return o[this.size]};var n=["displaystyle textstyle","textstyle","scriptstyle","scriptscriptstyle"],o=["reset-textstyle","reset-textstyle","reset-scriptstyle","reset-scriptscriptstyle"],l=[new r(0,0,1,!1),new r(1,0,1,!0),new r(2,1,1,!1),new r(3,1,1,!0),new r(4,2,.7,!1),new r(5,2,.7,!0),new r(6,3,.5,!1),new r(7,3,.5,!0)],sup=[4,5,4,5,6,7,6,7],sub=[5,5,5,5,7,7,7,7],c=[2,3,4,5,6,7,6,7],h=[3,3,5,5,7,7,7,7],f=[1,1,3,3,5,5,7,7];e.exports={DISPLAY:l[0],TEXT:l[2],SCRIPT:l[4],SCRIPTSCRIPT:l[6]}},function(e,t,r){var n=r(304),o=r(252),l=r(264),c=r(245),h=["\\Gamma","\\Delta","\\Theta","\\Lambda","\\Xi","\\Pi","\\Sigma","\\Upsilon","\\Phi","\\Psi","\\Omega"],f=["ı","ȷ"],d=function(e,style,t,r,c){l[t][e]&&l[t][e].replace&&(e=l[t][e].replace);var h,f=o.getCharacterMetrics(e,style);return f?h=new n.symbolNode(e,f.height,f.depth,f.italic,f.skew,c):("undefined"!=typeof console&&console.warn("No character metrics for '"+e+"' in style '"+style+"'"),h=new n.symbolNode(e,0,0,0,0,c)),r&&(h.style.color=r),h},m=function(e,t,r,n,o){if("mathord"===o)return _(e,t,r,n);if("textord"===o)return d(e,"Main-Regular",t,r,n.concat(["mathrm"]));throw new Error("unexpected type: "+o+" in mathDefault")},_=function(e,t,r,n){return/[0-9]/.test(e.charAt(0))||c.contains(f,e)||c.contains(h,e)?d(e,"Main-Italic",t,r,n.concat(["mainit"])):d(e,"Math-Italic",t,r,n.concat(["mathit"]))},y=function(e){var t=0,r=0,n=0;if(e.children)for(var i=0;it&&(t=e.children[i].height),e.children[i].depth>r&&(r=e.children[i].depth),e.children[i].maxFontSize>n&&(n=e.children[i].maxFontSize);e.height=t,e.depth=r,e.maxFontSize=n},v=function(e,t,r){var span=new n.span(e,t);return y(span),r&&(span.style.color=r),span},w={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}};e.exports={fontMap:w,makeSymbol:d,mathsym:function(e,t,r,n){return"\\"===e||"main"===l[t][e].font?d(e,"Main-Regular",t,r,n):d(e,"AMS-Regular",t,r,n.concat(["amsrm"]))},makeSpan:v,makeFragment:function(e){var t=new n.documentFragment(e);return y(t),t},makeVList:function(e,t,r,o){var l,c,i;if("individualShift"===t){var h=e;for(e=[h[0]],c=l=-h[0].shift-h[0].elem.depth,i=1;i",">"),r(o,main,w,":",":"),r(o,main,w,"≈","\\approx"),r(o,main,w,"≅","\\cong"),r(o,main,w,"≥","\\ge"),r(o,main,w,"≥","\\geq"),r(o,main,w,"←","\\gets"),r(o,main,w,">","\\gt"),r(o,main,w,"∈","\\in"),r(o,main,w,"∉","\\notin"),r(o,main,w,"⊂","\\subset"),r(o,main,w,"⊃","\\supset"),r(o,main,w,"⊆","\\subseteq"),r(o,main,w,"⊇","\\supseteq"),r(o,l,w,"⊈","\\nsubseteq"),r(o,l,w,"⊉","\\nsupseteq"),r(o,main,w,"⊨","\\models"),r(o,main,w,"←","\\leftarrow"),r(o,main,w,"≤","\\le"),r(o,main,w,"≤","\\leq"),r(o,main,w,"<","\\lt"),r(o,main,w,"≠","\\ne"),r(o,main,w,"≠","\\neq"),r(o,main,w,"→","\\rightarrow"),r(o,main,w,"→","\\to"),r(o,l,w,"≱","\\ngeq"),r(o,l,w,"≰","\\nleq"),r(o,main,k,null,"\\!"),r(o,main,k," ","\\ "),r(o,main,k," ","~"),r(o,main,k,null,"\\,"),r(o,main,k,null,"\\:"),r(o,main,k,null,"\\;"),r(o,main,k,null,"\\enspace"),r(o,main,k,null,"\\qquad"),r(o,main,k,null,"\\quad"),r(o,main,k," ","\\space"),r(o,main,v,",",","),r(o,main,v,";",";"),r(o,main,v,":","\\colon"),r(o,l,h,"⊼","\\barwedge"),r(o,l,h,"⊻","\\veebar"),r(o,main,h,"⊙","\\odot"),r(o,main,h,"⊕","\\oplus"),r(o,main,h,"⊗","\\otimes"),r(o,main,x,"∂","\\partial"),r(o,main,h,"⊘","\\oslash"),r(o,l,h,"⊚","\\circledcirc"),r(o,l,h,"⊡","\\boxdot"),r(o,main,h,"△","\\bigtriangleup"),r(o,main,h,"▽","\\bigtriangledown"),r(o,main,h,"†","\\dagger"),r(o,main,h,"⋄","\\diamond"),r(o,main,h,"⋆","\\star"),r(o,main,h,"◃","\\triangleleft"),r(o,main,h,"▹","\\triangleright"),r(o,main,y,"{","\\{"),r(o,main,f,"}","\\}"),r(o,main,y,"{","\\lbrace"),r(o,main,f,"}","\\rbrace"),r(o,main,y,"[","\\lbrack"),r(o,main,f,"]","\\rbrack"),r(o,main,y,"⌊","\\lfloor"),r(o,main,f,"⌋","\\rfloor"),r(o,main,y,"⌈","\\lceil"),r(o,main,f,"⌉","\\rceil"),r(o,main,x,"\\","\\backslash"),r(o,main,x,"∣","|"),r(o,main,x,"∣","\\vert"),r(o,main,x,"∥","\\|"),r(o,main,x,"∥","\\Vert"),r(o,main,w,"↑","\\uparrow"),r(o,main,w,"⇑","\\Uparrow"),r(o,main,w,"↓","\\downarrow"),r(o,main,w,"⇓","\\Downarrow"),r(o,main,w,"↕","\\updownarrow"),r(o,main,w,"⇕","\\Updownarrow"),r(o,o,_,"∐","\\coprod"),r(o,o,_,"⋁","\\bigvee"),r(o,o,_,"⋀","\\bigwedge"),r(o,o,_,"⨄","\\biguplus"),r(o,o,_,"⋂","\\bigcap"),r(o,o,_,"⋃","\\bigcup"),r(o,o,_,"∫","\\int"),r(o,o,_,"∫","\\intop"),r(o,o,_,"∬","\\iint"),r(o,o,_,"∭","\\iiint"),r(o,o,_,"∏","\\prod"),r(o,o,_,"∑","\\sum"),r(o,o,_,"⨂","\\bigotimes"),r(o,o,_,"⨁","\\bigoplus"),r(o,o,_,"⨀","\\bigodot"),r(o,o,_,"∮","\\oint"),r(o,o,_,"⨆","\\bigsqcup"),r(o,o,_,"∫","\\smallint"),r(o,main,d,"…","\\ldots"),r(o,main,d,"⋯","\\cdots"),r(o,main,d,"⋱","\\ddots"),r(o,main,x,"⋮","\\vdots"),r(o,main,c,"´","\\acute"),r(o,main,c,"`","\\grave"),r(o,main,c,"¨","\\ddot"),r(o,main,c,"~","\\tilde"),r(o,main,c,"¯","\\bar"),r(o,main,c,"˘","\\breve"),r(o,main,c,"ˇ","\\check"),r(o,main,c,"^","\\hat"),r(o,main,c,"⃗","\\vec"),r(o,main,c,"˙","\\dot"),r(o,main,m,"ı","\\imath"),r(o,main,m,"ȷ","\\jmath"),r(text,main,k," ","\\ "),r(text,main,k," "," "),r(text,main,k," ","~");var A='0123456789/@."';for(i=0;i0?n:r)(e)}},function(e,t,r){var n=r(289)("keys"),o=r(290);e.exports=function(e){return n[e]||(n[e]=o(e))}},function(e,t){e.exports=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4E\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/},function(e,t,r){"use strict";e.exports=function(e,t,r){var n,o,marker,l,c=-1,h=e.posMax,f=e.pos;for(e.pos=t+1,n=1;e.pos`\\x00-\\x20]+|'[^']*'|\"[^\"]*\"))?)*\\s*\\/?>",o="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",l=new RegExp("^(?:"+n+"|"+o+"|\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e|<[?].*?[?]>|]*>|)"),c=new RegExp("^(?:"+n+"|"+o+")");e.exports.HTML_TAG_RE=l,e.exports.HTML_OPEN_CLOSE_TAG_RE=c},function(e,t,r){"use strict";e.exports.tokenize=function(e,t){var i,r,n,o,l=e.pos,marker=e.src.charCodeAt(l);if(t)return!1;if(126!==marker)return!1;if(n=(r=e.scanDelims(e.pos,!0)).length,o=String.fromCharCode(marker),n<2)return!1;for(n%2&&(e.push("text","",0).content=o,n--),i=0;i=c())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+c().toString(16)+" bytes");return 0|e}function w(e,t){if(f.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return X(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return J(e).length;default:if(n)return X(e).length;t=(""+t).toLowerCase(),n=!0}}function k(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return B(this,t,r);case"utf8":case"utf-8":return R(this,t,r);case"ascii":return O(this,t,r);case"latin1":case"binary":return N(this,t,r);case"base64":return L(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function x(b,e,t){var i=b[e];b[e]=b[t],b[t]=i}function A(e,t,r,n,o){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=o?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(o)return-1;r=e.length-1}else if(r<0){if(!o)return-1;r=0}if("string"==typeof t&&(t=f.from(t,n)),f.isBuffer(t))return 0===t.length?-1:C(e,t,r,n,o);if("number"==typeof t)return t&=255,f.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):C(e,[t],r,n,o);throw new TypeError("val must be string, number or Buffer")}function C(e,t,r,n,o){var i,l=1,c=e.length,h=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;l=2,c/=2,h/=2,r/=2}function f(e,i){return 1===l?e[i]:e.readUInt16BE(i*l)}if(o){var d=-1;for(i=r;ic&&(r=c-h),i=r;i>=0;i--){for(var m=!0,_=0;_o&&(n=o):n=o;var l=t.length;if(l%2!=0)throw new TypeError("Invalid hex string");n>l/2&&(n=l/2);for(var i=0;i>8,o=r%256,l.push(o),l.push(n);return l}(t,e.length-r),e,r,n)}function L(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function R(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:f>223?3:f>191?2:1;if(i+m<=r)switch(m){case 1:f<128&&(d=f);break;case 2:128==(192&(o=e[i+1]))&&(h=(31&f)<<6|63&o)>127&&(d=h);break;case 3:o=e[i+1],l=e[i+2],128==(192&o)&&128==(192&l)&&(h=(15&f)<<12|(63&o)<<6|63&l)>2047&&(h<55296||h>57343)&&(d=h);break;case 4:o=e[i+1],l=e[i+2],c=e[i+3],128==(192&o)&&128==(192&l)&&128==(192&c)&&(h=(15&f)<<18|(63&o)<<12|(63&l)<<6|63&c)>65535&&h<1114112&&(d=h)}null===d?(d=65533,m=1):d>65535&&(d-=65536,n.push(d>>>10&1023|55296),d=56320|1023&d),n.push(d),i+=m}return function(e){var t=e.length;if(t<=F)return String.fromCharCode.apply(String,e);var r="",i=0;for(;i0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),""},f.prototype.compare=function(e,t,r,n,o){if(!f.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===o&&(o=this.length),t<0||r>e.length||n<0||o>this.length)throw new RangeError("out of range index");if(n>=o&&t>=r)return 0;if(n>=o)return-1;if(t>=r)return 1;if(this===e)return 0;for(var l=(o>>>=0)-(n>>>=0),c=(r>>>=0)-(t>>>=0),h=Math.min(l,c),d=this.slice(n,o),m=e.slice(t,r),i=0;io)&&(r=o),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var l=!1;;)switch(n){case"hex":return S(this,e,t,r);case"utf8":case"utf-8":return E(this,e,t,r);case"ascii":return z(this,e,t,r);case"latin1":case"binary":return D(this,e,t,r);case"base64":return T(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return M(this,e,t,r);default:if(l)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),l=!0}},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var F=4096;function O(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;in)&&(r=n);for(var o="",i=t;ir)throw new RangeError("Trying to access beyond buffer length")}function j(e,t,r,n,o,l){if(!f.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||te.length)throw new RangeError("Index out of range")}function U(e,t,r,n){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-r,2);i>>8*(n?i:1-i)}function V(e,t,r,n){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-r,4);i>>8*(n?i:3-i)&255}function $(e,t,r,n,o,l){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function G(e,t,r,n,l){return l||$(e,0,r,4),o.write(e,t,r,n,23,4),r+4}function H(e,t,r,n,l){return l||$(e,0,r,8),o.write(e,t,r,n,52,8),r+8}f.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t0&&(o*=256);)n+=this[e+--t]*o;return n},f.prototype.readUInt8=function(e,t){return t||P(e,1,this.length),this[e]},f.prototype.readUInt16LE=function(e,t){return t||P(e,2,this.length),this[e]|this[e+1]<<8},f.prototype.readUInt16BE=function(e,t){return t||P(e,2,this.length),this[e]<<8|this[e+1]},f.prototype.readUInt32LE=function(e,t){return t||P(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},f.prototype.readUInt32BE=function(e,t){return t||P(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},f.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||P(e,t,this.length);for(var n=this[e],o=1,i=0;++i=(o*=128)&&(n-=Math.pow(2,8*t)),n},f.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||P(e,t,this.length);for(var i=t,n=1,o=this[e+--i];i>0&&(n*=256);)o+=this[e+--i]*n;return o>=(n*=128)&&(o-=Math.pow(2,8*t)),o},f.prototype.readInt8=function(e,t){return t||P(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},f.prototype.readInt16LE=function(e,t){t||P(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},f.prototype.readInt16BE=function(e,t){t||P(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},f.prototype.readInt32LE=function(e,t){return t||P(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},f.prototype.readInt32BE=function(e,t){return t||P(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},f.prototype.readFloatLE=function(e,t){return t||P(e,4,this.length),o.read(this,e,!0,23,4)},f.prototype.readFloatBE=function(e,t){return t||P(e,4,this.length),o.read(this,e,!1,23,4)},f.prototype.readDoubleLE=function(e,t){return t||P(e,8,this.length),o.read(this,e,!0,52,8)},f.prototype.readDoubleBE=function(e,t){return t||P(e,8,this.length),o.read(this,e,!1,52,8)},f.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||j(this,e,t,r,Math.pow(2,8*r)-1,0);var o=1,i=0;for(this[t]=255&e;++i=0&&(o*=256);)this[t+i]=e/o&255;return t+r},f.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||j(this,e,t,1,255,0),f.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},f.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||j(this,e,t,2,65535,0),f.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):U(this,e,t,!0),t+2},f.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||j(this,e,t,2,65535,0),f.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):U(this,e,t,!1),t+2},f.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||j(this,e,t,4,4294967295,0),f.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):V(this,e,t,!0),t+4},f.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||j(this,e,t,4,4294967295,0),f.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):V(this,e,t,!1),t+4},f.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var o=Math.pow(2,8*r-1);j(this,e,t,r,o-1,-o)}var i=0,l=1,sub=0;for(this[t]=255&e;++i>0)-sub&255;return t+r},f.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var o=Math.pow(2,8*r-1);j(this,e,t,r,o-1,-o)}var i=r-1,l=1,sub=0;for(this[t+i]=255&e;--i>=0&&(l*=256);)e<0&&0===sub&&0!==this[t+i+1]&&(sub=1),this[t+i]=(e/l>>0)-sub&255;return t+r},f.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||j(this,e,t,1,127,-128),f.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},f.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||j(this,e,t,2,32767,-32768),f.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):U(this,e,t,!0),t+2},f.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||j(this,e,t,2,32767,-32768),f.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):U(this,e,t,!1),t+2},f.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||j(this,e,t,4,2147483647,-2147483648),f.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):V(this,e,t,!0),t+4},f.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||j(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),f.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):V(this,e,t,!1),t+4},f.prototype.writeFloatLE=function(e,t,r){return G(this,e,t,!0,r)},f.prototype.writeFloatBE=function(e,t,r){return G(this,e,t,!1,r)},f.prototype.writeDoubleLE=function(e,t,r){return H(this,e,t,!0,r)},f.prototype.writeDoubleBE=function(e,t,r){return H(this,e,t,!1,r)},f.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--i)e[i+t]=this[i+r];else if(o<1e3||!f.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&r<57344){if(!o){if(r>56319){(t-=3)>-1&&l.push(239,191,189);continue}if(i+1===n){(t-=3)>-1&&l.push(239,191,189);continue}o=r;continue}if(r<56320){(t-=3)>-1&&l.push(239,191,189),o=r;continue}r=65536+(o-55296<<10|r-56320)}else o&&(t-=3)>-1&&l.push(239,191,189);if(o=null,r<128){if((t-=1)<0)break;l.push(r)}else if(r<2048){if((t-=2)<0)break;l.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;l.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;l.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return l}function J(e){return n.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(Y,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function W(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}}).call(this,r(45))},function(e,t){function r(option,e){return void 0===option?e:option}e.exports=function(e){e=e||{},this.displayMode=r(e.displayMode,!1),this.throwOnError=r(e.throwOnError,!0),this.errorColor=r(e.errorColor,"#cc0000")}},function(e,t,r){var n=r(245),o=function(e){for(var i=(e=e.slice()).length-1;i>=0;i--)e[i]||e.splice(i,1);return e.join(" ")};function span(e,t,r,n,o,style){this.classes=e||[],this.children=t||[],this.height=r||0,this.depth=n||0,this.maxFontSize=o||0,this.style=style||{},this.attributes={}}function l(e,t,r,n){this.children=e||[],this.height=t||0,this.depth=r||0,this.maxFontSize=n||0}function c(e,t,r,n,o,l,style){this.value=e||"",this.height=t||0,this.depth=r||0,this.italic=n||0,this.skew=o||0,this.classes=l||[],this.style=style||{},this.maxFontSize=0}span.prototype.setAttribute=function(e,t){this.attributes[e]=t},span.prototype.toNode=function(){var span=document.createElement("span");for(var style in span.className=o(this.classes),this.style)Object.prototype.hasOwnProperty.call(this.style,style)&&(span.style[style]=this.style[style]);for(var e in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,e)&&span.setAttribute(e,this.attributes[e]);for(var i=0;i0&&((span=document.createElement("span")).style.marginRight=this.italic+"em"),this.classes.length>0&&((span=span||document.createElement("span")).className=o(this.classes)),this.style)this.style.hasOwnProperty(style)&&((span=span||document.createElement("span")).style[style]=this.style[style]);return span?(span.appendChild(e),span):e},c.prototype.toMarkup=function(){var e=!1,t="0&&(r+="margin-right:"+this.italic+"em;"),this.style)this.style.hasOwnProperty(style)&&(r+=n.hyphenate(style)+":"+this.style[style]+";");r&&(e=!0,t+=' style="'+n.escape(r)+'"');var l=n.escape(this.value);return e?(t+=">",t+=l,t+=""):l},e.exports={span:span,documentFragment:l,symbolNode:c}},function(e,t){e.exports={ParseNode:function(e,t,r){this.type=e,this.value=t,this.mode=r}}},,,,,,,,,function(e,t,r){e.exports={default:r(315),__esModule:!0}},function(e,t,r){r(316),r(335),e.exports=r(337)},function(e,t,r){r(317);for(var n=r(248),o=r(251),l=r(255),c=r(250)("toStringTag"),h="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),i=0;i=e.length?(this._t=void 0,o(1)):o(0,"keys"==t?r:"values"==t?e[r]:[r,e[r]])}),"values"),l.Arguments=l.Array,n("keys"),n("values"),n("entries")},function(e,t){e.exports=function(){}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,r){var n=r(282);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==n(e)?e.split(""):Object(e)}},function(e,t,r){var n=r(322);e.exports=function(e,t,r){if(n(e),void 0===t)return e;switch(r){case 1:return function(a){return e.call(t,a)};case 2:return function(a,b){return e.call(t,a,b)};case 3:return function(a,b,r){return e.call(t,a,b,r)}}return function(){return e.apply(t,arguments)}}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,r){e.exports=!r(257)&&!r(270)((function(){return 7!=Object.defineProperty(r(286)("div"),"a",{get:function(){return 7}}).a}))},function(e,t,r){var n=r(269);e.exports=function(e,t){if(!n(e))return e;var r,o;if(t&&"function"==typeof(r=e.toString)&&!n(o=r.call(e)))return o;if("function"==typeof(r=e.valueOf)&&!n(o=r.call(e)))return o;if(!t&&"function"==typeof(r=e.toString)&&!n(o=r.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t,r){e.exports=r(251)},function(e,t,r){"use strict";var n=r(327),o=r(287),l=r(292),c={};r(251)(c,r(250)("iterator"),(function(){return this})),e.exports=function(e,t,r){e.prototype=n(c,{next:o(1,r)}),l(e,t+" Iterator")}},function(e,t,r){var n=r(256),o=r(328),l=r(291),c=r(272)("IE_PROTO"),h=function(){},f="prototype",d=function(){var e,iframe=r(286)("iframe"),i=l.length;for(iframe.style.display="none",r(333).appendChild(iframe),iframe.src="javascript:",(e=iframe.contentWindow.document).open(),e.write("
Loading...
- + diff --git a/docs/develop/index.html b/docs/develop/index.html index 1e3b454..240bc3d 100644 --- a/docs/develop/index.html +++ b/docs/develop/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/develop/r-pathway/index.html b/docs/develop/r-pathway/index.html index 1e3b454..240bc3d 100644 --- a/docs/develop/r-pathway/index.html +++ b/docs/develop/r-pathway/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/docs/index.html b/docs/docs/index.html index 1e3b454..240bc3d 100644 --- a/docs/docs/index.html +++ b/docs/docs/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/index.html b/docs/index.html index 1e3b454..240bc3d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/docs/social/index.html b/docs/social/index.html index 1e3b454..240bc3d 100644 --- a/docs/social/index.html +++ b/docs/social/index.html @@ -1,9 +1,9 @@ - PHS Data Science - Knowledge Base + PHS Data Science - Knowledge Base
Loading...
- + diff --git a/pages/docs.vue b/pages/docs.vue index d74386f..24f0d5d 100644 --- a/pages/docs.vue +++ b/pages/docs.vue @@ -84,7 +84,7 @@ {{ item.name.split(".")[0] }} @@ -225,11 +225,10 @@ export default { }; this.docs = await getSubDocs(docs); - // Sort the docs - // Order by type (dir, file). dir first then file + // Sort glossary to the end this.docs.sort((a, b) => { - if (a.type == "dir" && b.type == "file") return -1; - if (a.type == "file" && b.type == "dir") return 1; + if (a.name == "Glossary") return 1; + if (b.name == "Glossary") return -1; return 0; }); diff --git a/pages/docs/_doc.vue b/pages/docs/_doc.vue index 59c6a53..97871ec 100644 --- a/pages/docs/_doc.vue +++ b/pages/docs/_doc.vue @@ -1,6 +1,6 @@ @@ -47,7 +47,10 @@ export default{ // Workaround for links in the md file // eg. [Get support](Login%20to%20Posit%20Workbench.md) should link to // /knowledge-base/docs/${$route.params.doc}?doc=Login%20to%20Posit%20Workbench.md + console.log(this.$route.query.doc) this.source = this.source.replace(/(? { + if(p2.startsWith('#') & this.$route.query.doc != 'README.md')return `[${p1}](/knowledge-base${this.$route.path.replace(/ /g, '%20')}?doc=${this.$route.query.doc.replace(/ /g, '%20')}${p2})` + if(p2.startsWith('#'))return `[${p1}](/knowledge-base${this.$route.path.replace(/ /g, '%20')}${p2})` if(p2.includes('http')) return `${p1}` return `[${p1}](/knowledge-base/docs/${this.$route.params.doc.replace(/ /g, '%20')}?doc=${p2})` }) @@ -61,4 +64,9 @@ export default{ } + \ No newline at end of file