diff --git a/Readme.md b/Readme.md deleted file mode 100644 index 97c35ee..0000000 --- a/Readme.md +++ /dev/null @@ -1,7 +0,0 @@ - -# Joe Wroten's Portfolio - -```bash -export GITHUB_API_TOKEN="TOKEN" -``` - diff --git a/index.js b/index.js deleted file mode 100644 index eb22aa2..0000000 --- a/index.js +++ /dev/null @@ -1,42 +0,0 @@ -const chalk = require('chalk'); -const { getPinnedRepoJSONs, getStaticPageJSONs } = require('./src/discoverJSONData'); -const { initialize: initializePages, generateIndexPage, generateInteriorPages } = require('./src/generateHTMLPages'); -const copyStaticAssets = require('./src/copyStaticAssets'); -const generateSpritesheet = require('./src/generateSpritesheet'); -const { existsSync, mkdirSync } = require('fs'); - -['./dist', './dist/assets'].forEach(dir => { - if (!existsSync(dir)) mkdirSync(dir); -}); - -(async () => { - console.log(chalk.blue('● Fetching Pinned Repo Data...')); - let repoJSONs = await getPinnedRepoJSONs(); - console.log(chalk.blue('● Fetching Static Page Data...')); - let staticJSONs = await getStaticPageJSONs(); - - console.log(chalk.blue('● Initializing page generator...')); - await initializePages(); - console.log(chalk.green('✓ Initialized page partials')); - - console.log(chalk.blue('● Generating index html page...')); - await generateIndexPage(repoJSONs.concat(staticJSONs)); - console.log(chalk.green('✓ Generated index html page')); - - console.log(chalk.blue('● Generating interior html pages...')); - await generateInteriorPages(repoJSONs.concat(staticJSONs)); - console.log(chalk.green('✓ Generated interior html pages')); -})(); - -(async () => { - console.log(chalk.blue('● Copying static assets...')); - await copyStaticAssets(); - console.log(chalk.green('✓ Copied static assets')); -})(); - -(async () => { - console.log(chalk.blue('● Generating spritesheet...')); - await generateSpritesheet(); - console.log(chalk.green('✓ Generated spritesheet')); -})(); - diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 5640820..0000000 --- a/package-lock.json +++ /dev/null @@ -1,630 +0,0 @@ -{ - "name": "joe-wroten-portfolio", - "requires": true, - "lockfileVersion": 1, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", - "dev": true, - "requires": { - "lodash": "^4.17.10" - } - }, - "axios": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz", - "integrity": "sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ==", - "dev": true, - "requires": { - "follow-redirects": "1.5.10", - "is-buffer": "^2.0.2" - } - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", - "dev": true, - "optional": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "dev": true, - "requires": { - "debug": "=3.1.0" - } - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", - "dev": true - }, - "handlebars": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz", - "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==", - "dev": true, - "requires": { - "neo-async": "^2.6.0", - "optimist": "^0.6.1", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", - "dev": true - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-buffer": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", - "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==", - "dev": true - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true, - "requires": { - "builtin-modules": "^1.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "locate-character": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-1.0.0.tgz", - "integrity": "sha1-EWRDwj8p+uKJAMrChboMcfJpP20=", - "dev": true - }, - "lodash": { - "version": "4.17.14", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz", - "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==", - "dev": true - }, - "marked": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.6.2.tgz", - "integrity": "sha512-LqxwVH3P/rqKX4EKGz7+c2G9r98WeM/SW34ybhgNGhUQNKtf1GmmSkJ6cDGJ/t6tiyae49qRkpyTw2B9HOrgUA==", - "dev": true - }, - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", - "dev": true - }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - } - }, - "os-locale": { - "version": "1.4.0", - "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "^1.0.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz", - "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==", - "dev": true - }, - "string-width": { - "version": "1.0.2", - "resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "svg-parser": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-1.0.5.tgz", - "integrity": "sha1-e6c+varHpUK4QtaFmIctB3flt/8=", - "dev": true, - "requires": { - "locate-character": "^1.0.0" - } - }, - "svg2sprite": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/svg2sprite/-/svg2sprite-2.0.1.tgz", - "integrity": "sha1-0jR9YA2Xppzy6T5X7lXEUwanCuc=", - "dev": true, - "requires": { - "svg-parser": "^1.0.5" - } - }, - "svgdir2sprite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/svgdir2sprite/-/svgdir2sprite-1.0.2.tgz", - "integrity": "sha512-24wgP/afi48CqtXVWXGtHUYsNlB9ju2aDiswmJpBBA7obs4Eq9sdHpyPgVTEoeVd/Y3s9NRipKdoIdjr6j56ew==", - "dev": true, - "requires": { - "async": "^2.6.1", - "svg2sprite": "^2.0.1", - "yargs": "^7.1.0" - } - }, - "uglify-js": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", - "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", - "dev": true, - "optional": true, - "requires": { - "commander": "~2.20.0", - "source-map": "~0.6.1" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - } - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, - "yargs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", - "dev": true, - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.0" - } - }, - "yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", - "dev": true, - "requires": { - "camelcase": "^3.0.0" - } - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index 57912ec..0000000 --- a/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "jo-wroten-portfolio", - "main": "index.js", - "scripts": { - "start": "node index.js" - }, - "devDependencies": { - "axios": "^0.19.0", - "chalk": "^2.4.1", - "fs-extra": "^7.0.1", - "handlebars": "^4.1.2", - "marked": "^0.6.2", - "svgdir2sprite": "^1.0.2" - }, - "dependencies": {} -} diff --git a/src/assets/avatar-large.png b/src/assets/avatar-large.png deleted file mode 100644 index d8f95b0..0000000 Binary files a/src/assets/avatar-large.png and /dev/null differ diff --git a/src/assets/avatar-small.png b/src/assets/avatar-small.png deleted file mode 100644 index be69a25..0000000 Binary files a/src/assets/avatar-small.png and /dev/null differ diff --git a/src/assets/code2college.jpg b/src/assets/code2college.jpg deleted file mode 100644 index 9b785af..0000000 Binary files a/src/assets/code2college.jpg and /dev/null differ diff --git a/src/assets/finx1.jpg b/src/assets/finx1.jpg deleted file mode 100644 index 71eb511..0000000 Binary files a/src/assets/finx1.jpg and /dev/null differ diff --git a/src/assets/finx2.jpg b/src/assets/finx2.jpg deleted file mode 100644 index 8d04ece..0000000 Binary files a/src/assets/finx2.jpg and /dev/null differ diff --git a/src/assets/highlightjs-dracula.css b/src/assets/highlightjs-dracula.css deleted file mode 100755 index 3d01e12..0000000 --- a/src/assets/highlightjs-dracula.css +++ /dev/null @@ -1,79 +0,0 @@ -/* Dracula Theme v1.2.5 - * - * https://github.com/dracula/highlightjs - * - * Copyright 2016-present, All rights reserved - * - * Code licensed under the MIT license - * - * @author Denis Ciccale - * @author Zeno Rocha - */ - -.hljs { - display: block; - overflow-x: auto; - padding: 0.5em; - background: #282a36; -} - -.hljs-built_in, -.hljs-selector-tag, -.hljs-section, -.hljs-link { - color: #8be9fd; -} - -.hljs-keyword { - color: #ff79c6; -} - -.hljs, -.hljs-subst { - color: #f8f8f2; -} - -.hljs-title { - color: #50fa7b; -} - -.hljs-string, -.hljs-meta, -.hljs-name, -.hljs-type, -.hljs-attr, -.hljs-symbol, -.hljs-bullet, -.hljs-addition, -.hljs-variable, -.hljs-template-tag, -.hljs-template-variable { - color: #f1fa8c; -} - -.hljs-comment, -.hljs-quote, -.hljs-deletion { - color: #6272a4; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-literal, -.hljs-title, -.hljs-section, -.hljs-doctag, -.hljs-type, -.hljs-name, -.hljs-strong { - font-weight: bold; -} - -.hljs-literal, -.hljs-number { - color: #bd93f9; -} - -.hljs-emphasis { - font-style: italic; -} diff --git a/src/assets/patienteducation1.gif b/src/assets/patienteducation1.gif deleted file mode 100644 index 1faaccc..0000000 Binary files a/src/assets/patienteducation1.gif and /dev/null differ diff --git a/src/assets/patienteducation2.jpg b/src/assets/patienteducation2.jpg deleted file mode 100644 index d5afdde..0000000 Binary files a/src/assets/patienteducation2.jpg and /dev/null differ diff --git a/src/assets/patienteducation3.png b/src/assets/patienteducation3.png deleted file mode 100644 index a62f758..0000000 Binary files a/src/assets/patienteducation3.png and /dev/null differ diff --git a/src/assets/resume.pdf b/src/assets/resume.pdf deleted file mode 100644 index ad57d64..0000000 Binary files a/src/assets/resume.pdf and /dev/null differ diff --git a/src/assets/stylesheet.css b/src/assets/stylesheet.css deleted file mode 100644 index fa189ef..0000000 --- a/src/assets/stylesheet.css +++ /dev/null @@ -1,339 +0,0 @@ -html, body { - padding: 0; - margin: 0; - font-family: 'Source Sans Pro', sans-serif; - font-size: 15pt; - color: #6C7A81; -} - -svg { - fill: currentColor; - max-width: 100%; - max-height: 100%; - height: 1em; -} - -code { - font-family: 'Source Code Pro', monospace; -} - -h1, h2, h3, h4, h5, h6 { - font-family: 'Slabo 27px', serif; -} - -h1 { - font-size: 35pt; -} - -a { - color: #15202C; -} - -.-underline { - text-decoration: underline; -} -.-pad-h { - padding-left: 20px; - padding-right: 20px; -} - -.-pad-v { - padding-top: 20px; - padding-bottom: 20px; -} - -.-mar-no { - margin: 0; -} - -.-left { - float: left; -} - -.-right { - float: right; -} - -.-clearfix:after { - content: ""; - display: table; - clear: both; -} - -.-container { - position: relative; - max-width: 40rem; - margin: 0 auto; -} - -.about-link { - transition: top .15s ease-out; - position: absolute; - top: -5px; - right: 20px; -} - -.about-link:hover, -.about-link:focus { - top: 0; -} - -.about-link-image { - height: 60px; - border-radius: 0 0 50% 50%; -} - -.tag { - padding: 0 .3em; - border-radius: 3px; - margin-bottom: .25em; - margin-right: .5em; - box-shadow: 0px 5px 5px rgba(0, 0, 0, .1); - color: #1A323E; - text-decoration: none; - display: inline-block; -} - -.-work-history .tag { - background: #EDF7FF; -} - -.-volunteer .tag { - background: #F3EDFF; -} - -.-git .tag { - background: #F0FFED; -} - -.index-menulink { - color: white; -} - -.index-menulink svg { - height: 1.5em; -} - -.index-top { - color: #5B7189; - margin-bottom: 2.5rem; -} - -.index-top-info { - display: flex; -} - -.index-top em { - color: #B8CCE3; - font-style: normal; - text-decoration: none; -} - -.index .name { - font-size: 20px; - flex-grow: 1; -} - -.index .intro { - font-size: 59px; - line-height: 45px; - margin-top: 0; - margin-bottom: 5px; - text-transform: uppercase; -} -@media screen and (min-width: 550px) { - .index .intro { - margin-top: 2rem; - } -} - -.index .tag { - margin-bottom: 1rem; -} - -.index, -.interior-header { - background: #15202C; - color: white; -} - -.interior-info { - display: flex; -} - -.interior-link { - white-space: nowrap; -} -.interior-tags { - flex-grow: 1; -} - -.index-interiorlinks { - list-style-type: none; -} - -.index-interiorlink-wrapper { - margin: 1rem 0; -} - -.index-interiorlink { - display: block; - width: 100%; - padding: .5rem 2rem; - color: white; - text-decoration: none; - box-sizing: border-box; -} - -.index-interiorlink-description { - margin-bottom: .25em; -} - -.index-interiorlink-icon { - position: relative; - top: .2em; -} - -.interior-topbar { - height: 25px; -} - -.interior-topbar svg { - color: white; - height: 2rem; - max-height: none; - position: relative; - top: -.5rem; -} - -.index-interiorlink.-work-history, -.interior-headline.-work-history { - background: linear-gradient(90deg, rgba(181, 212, 242, .3), rgba(95, 118, 132, .3)); -} - -.index-interiorlink.-volunteer, -.interior-headline.-volunteer { - background: linear-gradient(90deg, rgba(235, 181, 242, .3), rgba(128, 95, 132, .3)); -} - -.index-interiorlink.-git, -.interior-headline.-git { - background: linear-gradient(90deg, rgba(181, 242, 186, .3), rgba(95, 132, 105, .3)); -} - -.interior-headline svg { - vertical-align: bottom; -} - -.interior-headline h1 { - line-height: 1em; - margin: 0 auto; -} - -.interior-content .interior-description { - margin-top: 0; - margin-bottom: .25em; - color: black; - font-size: 25pt; -} - -.interior-content h1:first-of-type { - display: none; - speak: none; -} - -.interior-content p > img, -.interior-content p > a > img { - max-height: 300px; - max-width: calc(100% + 40px); - position: relative; - left: -20px; -} -.interior-content p > img[src^="https://travis-ci"], -.interior-content p > img[src^="https://play.google.com/intl/en_us/badges"], -.interior-content p > img[src^="https://emberobserver"], -.interior-content p > img[src^="https://badge"], -.interior-content p > a > img[src^="https://travis-ci"], -.interior-content p > a > img[src^="https://play.google.com/intl/en_us/badges"], -.interior-content p > a > img[src^="https://emberobserver"], -.interior-content p > a > img[src^="https://badge"] { - left: 0; -} - -.interior-content pre code { - font-size: 13pt; - border-radius: 3px; - max-width: 100%; - max-height: 6em; - display: block; - overflow: auto; -} - -.tags { - list-style: none; - margin: 0; - padding: 0; -} - -.index .tags { - height: 1.6em; - overflow: hidden; -} - -.popup { - position: fixed; - top: 0; - right: 0; - left: 0; - bottom: 0; - z-index: 10; - transform: translateX(-100vw); - opacity: 0; - transition: opacity .35s; -} -.popup.open { - transform: translateX(0); - opacity: 1; -} -#about { - background: linear-gradient(-20deg, rgba(251, 181, 217, 0) 50%, rgba(250, 206, 190, 1)), linear-gradient(20deg, #92E8FD, #FCBADB); -} -.about-close { - position: absolute; - top: 0; - right: 1rem; - color: white; -} -.about-image { - width: 185px; - margin: 1rem auto; - display: block; - border-radius: 50%; - box-shadow: 0 5px 15px rgba(0,0,0,.4); -} -.about-links { - margin: 0 auto; - width: 360px; - list-style-type: none; - font-size: 2rem; - line-height: 4rem; -} -.about-links a { - text-decoration: none; - display: flex; - align-items: center; -} -.about-links svg { - margin-right: 1rem; -} - -.footer { - font-size: 75%; - margin-top: 3rem; - margin-bottom: 1rem; -} - -.footer a { - color: inherit; -} - diff --git a/src/assets/theseed1.jpg b/src/assets/theseed1.jpg deleted file mode 100644 index 65ead90..0000000 Binary files a/src/assets/theseed1.jpg and /dev/null differ diff --git a/src/assets/theseed2.png b/src/assets/theseed2.png deleted file mode 100644 index c1e1bd5..0000000 Binary files a/src/assets/theseed2.png and /dev/null differ diff --git a/src/assets/theseed3.png b/src/assets/theseed3.png deleted file mode 100644 index 2768372..0000000 Binary files a/src/assets/theseed3.png and /dev/null differ diff --git a/src/copyStaticAssets.js b/src/copyStaticAssets.js deleted file mode 100644 index e469378..0000000 --- a/src/copyStaticAssets.js +++ /dev/null @@ -1,35 +0,0 @@ -const { readdir, copyFile } = require('fs-extra'); -const { extname, join } = require('path'); - -const paths = { - srcAssets: './src/assets', - distAssets: './dist/assets', -} - -const _discoverAssets = async () => { - try { - return await readdir(paths.srcAssets); - } catch (error) { - console.error('Unable to find assets to copy', error); - return []; - } -}; - -const _copyAssets = async assets => { - try { - assets.forEach(asset => { - let srcFile = join(paths.srcAssets, asset); - let distFile = join(paths.distAssets, asset); - return copyFile(srcFile, distFile); - }); - } catch (error) { - console.error('Unable to copy assets', error); - return; - } -}; - -module.exports = async () => { - let assets = await _discoverAssets(); - _copyAssets(assets); -}; - diff --git a/src/discoverJSONData.js b/src/discoverJSONData.js deleted file mode 100644 index 6b552e9..0000000 --- a/src/discoverJSONData.js +++ /dev/null @@ -1,61 +0,0 @@ -const { join } = require('path'); -const { readdir, readJson } = require('fs-extra'); -const marked = require('marked'); -const requestGithub = require('./request'); -const schema = require('./schema'); - -const pagesPath = './src/pages'; - -const getPinnedRepoJSONs = async () => { - let { - data: { - viewer: { - pinnedRepositories: { - edges: pinnedRepoData - } - } - } - } = await requestGithub(schema); - return pinnedRepoData.map(data => { - data.node.pageType = 'git'; - if (data.node.readme && data.node.readme.text) { - data.node.readme.html = marked(data.node.readme.text); - } - return data.node; - }); -}; - -const getStaticPageJSONs = async () => { - let fileNames; - let filesJSON; - - try { - fileNames = await readdir(pagesPath); - } catch (error) { - console.error(error); - return; - } - - let readFilesPromises = fileNames.map(fileName => { - let filePath = join(pagesPath, fileName); - return readJson(filePath); - }); - - try { - let allData = await Promise.all(readFilesPromises); - return allData.map(data => { - if (data.readme && data.readme.text) { - data.readme.html = marked(data.readme.text); - } - return data; - }); - } catch (error) { - console.error('Error while reading JSON', error); - return; - } -}; - -module.exports = { - getPinnedRepoJSONs, - getStaticPageJSONs, -}; diff --git a/src/generateHTMLPages.js b/src/generateHTMLPages.js deleted file mode 100644 index def58e5..0000000 --- a/src/generateHTMLPages.js +++ /dev/null @@ -1,42 +0,0 @@ -const { join } = require('path'); -const { outputFile } = require('fs-extra'); -const { getTemplate, registerPartials } = require('./template'); - -const distPath = './dist'; - -const initialize = async () => { - return registerPartials(); -} - -const generateIndexPage = async jsonData => { - let sortedData = jsonData.sort((prev, cur) => new Date(prev.updatedAt) < new Date(cur.updatedAt)); - const indexTemplate = await getTemplate('index'); - - try { - return outputFile(join(distPath, 'index') + '.html', indexTemplate(sortedData)); - } catch (error) { - console.error('Error while writing index html file', error); - return; - } -}; - -const generateInteriorPages = async jsonData => { - const interiorTemplate = await getTemplate('interior'); - const saveAsInteriorHTML = async json => { - return outputFile(join(distPath, json.name) + '.html', interiorTemplate(json)); - } - - try { - return await Promise.all(jsonData.map(saveAsInteriorHTML)); - } catch (error) { - console.error('Error while writing html files', error); - return; - } -}; - -module.exports = { - initialize, - generateInteriorPages, - generateIndexPage, -}; - diff --git a/src/generateSpritesheet.js b/src/generateSpritesheet.js deleted file mode 100644 index 63333b1..0000000 --- a/src/generateSpritesheet.js +++ /dev/null @@ -1,11 +0,0 @@ -const svgdir2sprite = require('svgdir2sprite'); -const { join } = require('path'); -const paths = { - srcIcons: './src/icons', - distAssets: './dist/assets', -}; - -module.exports = async () => { - svgdir2sprite(paths.srcIcons, join(paths.distAssets, 'spritesheet.svg')); -}; - diff --git a/src/icons/art.svg b/src/icons/art.svg deleted file mode 100644 index 1d06633..0000000 --- a/src/icons/art.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/back.svg b/src/icons/back.svg deleted file mode 100644 index 91c7a8b..0000000 --- a/src/icons/back.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/close.svg b/src/icons/close.svg deleted file mode 100644 index 280c4d0..0000000 --- a/src/icons/close.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/email.svg b/src/icons/email.svg deleted file mode 100644 index 8c0134d..0000000 --- a/src/icons/email.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/git.svg b/src/icons/git.svg deleted file mode 100644 index ef3ebfe..0000000 --- a/src/icons/git.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/menu.svg b/src/icons/menu.svg deleted file mode 100644 index 545f9e2..0000000 --- a/src/icons/menu.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/resume.svg b/src/icons/resume.svg deleted file mode 100644 index 5a360da..0000000 --- a/src/icons/resume.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/volunteer.svg b/src/icons/volunteer.svg deleted file mode 100644 index 79f9459..0000000 --- a/src/icons/volunteer.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/work-history.svg b/src/icons/work-history.svg deleted file mode 100644 index f884f3b..0000000 --- a/src/icons/work-history.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/icons/writing.svg b/src/icons/writing.svg deleted file mode 100644 index a0fc0b0..0000000 --- a/src/icons/writing.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/pages/code2college.json b/src/pages/code2college.json deleted file mode 100644 index 84d6475..0000000 --- a/src/pages/code2college.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "Code2College", - "description": "Curriculum development and interview prep.", - "updatedAt": "2018-12-10T00:00:00Z", - "organization": "Code2College", - "url": "https://code2college.org/", - "pageType": "volunteer", - "repositoryTopics": { - "edges": [ - { - "node": { - "topic": { - "name": "volunteering" - } - } - } - ] - }, - "readme": { - "text": "## Preparing the Next Generation for Success \n There's more than one way to volunteer in today's world. Offering one's skills as a web designer and developer is a great way to give back while tackling unique challenges. \n\n ![Volunteers](./assets/code2college.jpg) \n\n Homegrown tech talent is what Code2College is all about. Eager students from underrepresented groups are ready to learn STEM field topics and Code2College reaches out to those in the industry to help them get there. \n\n Meeting with these excited young minds for interview preparation really changed the way I connect with potential hires. \n\n Recently they've opened their cirriculum planning to outside collaboration. It's been an exciting challenge to carefully consider the best ways to teach the fundamentals of web development from \"What is HTML?\" to \"I can build my own web app!\"." - } -} diff --git a/src/pages/finx.json b/src/pages/finx.json deleted file mode 100644 index 6f030ad..0000000 --- a/src/pages/finx.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "Innovating in FinX", - "organization": "Q2ebanking", - "url": "https://www.q2ebanking.com/", - "description": "Stronger communities w/ better financial tools.", - "updatedAt": "2019-01-30T00:00:00Z", - "pageType": "work-history", - "repositoryTopics": { - "edges": [ - { - "node": { - "topic": { - "name": "work history" - } - } - } - ] - }, - "readme": { - "text": "## Developer III at Q2ebanking \n [Q2](https://www.q2ebanking.com/) provides a banking platform that interfaces personal and professional banking needs into a single tool. They then offer this as a customizable software as a service to banks and credit unions big or small. Community banks who would have otherwise had to outsource or hire a team to build a platform with potential security holes and poor usability are a thing of the past. \n\n ![Mobile banking software](./assets/finx1.jpg) \n\n Built **Ember.js** & **Vue.js** powered banking software used by tens of millions worldwide. _Mentored_ new hires, reforged **automation testing** standards, improved A11y. \n\n Gave company-wide internal presentations around new initiatives, features and development strategies. Co-organized an internal developer convention. \n\n ![Desktop banking software](./assets/finx2.jpg) \n\n Lead an innovative [HTML5 Web Components project](https://wrotenwrites.com/web-components/) to achieve ambitious cross-team goals." - } -} diff --git a/src/pages/nonprofits.json b/src/pages/nonprofits.json deleted file mode 100644 index aab89ac..0000000 --- a/src/pages/nonprofits.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "Austin Give Camp", - "description": "Pro-bono web dev for good.", - "updatedAt": "2016-10-04", - "organization": "Austin Give Camp", - "url": "https://www.austingivecamp.org/", - "pageType": "volunteer", - "repositoryTopics": { - "edges": [ - { - "node": { - "topic": { - "name": "volunteering" - } - } - } - ] - }, - "readme": { - "text": "## The SEED \n ### Adult & Family Learning Community \n Through analytics it was apparent very few could find out how to sign up for classes on learning English - an all English website and the page being burried through subnavs was the likely culprit. We user tested some updated designs where a non-native speaker could jump right to a Spanish page on how to sign up for classes first. \n\n ![The Seed Volunteers](./assets/theseed1.jpg) \n\n We then improved **internationalization** for the rest of the website to support all the user personas we had discovered: _The Student, The Donor, and The Volunteer_. Next up was improving ways people can get involved either through their time or their dollar through a better workflow and cleaned up content. \n\n ![The Seed Wireframes](./assets/theseed2.png) \n\n Small tweaks made a world of difference for these users. Even ensuring the site ran on **HTTPS significantly raised the confidence of a potential donor**. I just about cried tears of happiness when the thank you letters came in from the group for impact we made on their group and org. \n\n ![Thank you letters](./assets/theseed3.png)" - } -} diff --git a/src/pages/patienteducation.json b/src/pages/patienteducation.json deleted file mode 100644 index 072181d..0000000 --- a/src/pages/patienteducation.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "Patient Education", - "description": "Empowering doctors to educate through tech.", - "updatedAt": "2015-12-30T00:00:00Z", - "organization": "Rendia", - "url": "https://get.rendia.com/", - "pageType": "work-history", - "repositoryTopics": { - "edges": [ - { - "node": { - "topic": { - "name": "work history" - } - } - } - ] - }, - "readme": { - "text": "## Senior Web Engineer at Rendia \n Patient education can be difficult. Plastic eyeballs as a teaching tool is a thing of the past. Modern media and technology can help solve this problem. \n\n ![Flythrough of the human eye](./assets/patienteducation1.gif) \n\n Formerly known as Eyemaginations, the company [Rendia](https://rendia.com/) offers high quality animations to doctors to communicate complex medical topics to their patients and their families. \n\n ![App Design](./assets/patienteducation2.jpg) \n\n Launched two **Ember.js**, **HTML Video** & **Canvas** powered enterprise scale apps now educating thousands of patients nationwide. _Lead UX design_ initiatives, _tech stack decisions_ and technical _project management_. \n\n Doctors can build playlists of content, upload their own images/videos, and then share their creations with patients via email and by embedding them directly on their practice website. Or they can play this content right in their practice while taking advantage of onscreen drawing features with a mouse or touch device. [The media player](https://share.rendia.com/theater/5276fa67-49cb-48f8-40da-45b94cd34364) offers content protection, and patients may choose between multiple languages, closed captions, fullscreen, and more. \n\n [![Media Player Preview](./assets/patienteducation3.png)](https://share.rendia.com/theater/5276fa67-49cb-48f8-40da-45b94cd34364)" - } -} diff --git a/src/request.js b/src/request.js deleted file mode 100644 index fade4cf..0000000 --- a/src/request.js +++ /dev/null @@ -1,27 +0,0 @@ -const axios = require('axios'); - -module.exports = async query => { - let githubApiToken = process.env.GITHUB_API_TOKEN; - if (!githubApiToken) { - console.error('No process env GITHUB_API_TOKEN found.'); - return; - } - let axiosGithubGraphql = axios.create({ - baseURL: 'https://api.github.com/graphql', - headers: { - Authorization: `bearer ${githubApiToken}` - }, - }); - try { - const result = await axiosGithubGraphql({ - url: '', - method: 'post', - data: { - query, - }, - }); - return result.data; - } catch (err) { - console.log(err); - } -}; diff --git a/src/schema.js b/src/schema.js deleted file mode 100644 index cd0c14c..0000000 --- a/src/schema.js +++ /dev/null @@ -1,28 +0,0 @@ -module.exports = `{ - viewer { - pinnedRepositories(last: 6) { - edges { - node { - name - description - url - updatedAt - repositoryTopics(last: 5) { - edges { - node { - topic { - name - } - } - } - } - readme: object(expression: "master:README.md") { - ... on Blob { - text - } - } - } - } - } - } -}`; diff --git a/src/template.js b/src/template.js deleted file mode 100644 index a65ac81..0000000 --- a/src/template.js +++ /dev/null @@ -1,39 +0,0 @@ -const Handlebars = require('handlebars'); -const { readFile, readdir } = require('fs-extra'); -const { join, basename } = require('path'); - -const registerPartials = async () => { - try { - let results = await readdir('./src/templates/partials') - let resultsPromises = results.map(async filename => { - let filePath = join('./src/templates/partials', filename); - let partialName = basename(filename, '.hbs'); - let partialContents = await readFile(filePath); - partialContents = partialContents.toString(); - Handlebars.registerPartial(partialName, partialContents); - }); - - return Promise.all(resultsPromises); - } catch(error) { - console.error('Could not read partials in ./src/templates/partials/', error); - return; - } -} - -const getTemplate = async filename => { - let template; - try { - template = await readFile(`./src/templates/${filename}.hbs`); - template = template.toString(); - } catch(error) { - console.error('Could not fetch template', filename, error); - return; - } - return Handlebars.compile(template); -}; - -module.exports = { - registerPartials, - getTemplate, -}; - diff --git a/src/templates/index.hbs b/src/templates/index.hbs deleted file mode 100644 index 2a72f69..0000000 --- a/src/templates/index.hbs +++ /dev/null @@ -1,72 +0,0 @@ - - - - Wroten - Portfolio - - - - - - - - - - - -
- - - About Jo Wroten - -
- -
-

- Canine pretending to be a web engineer -

-
-

- Jo Wroten -

-
- - - - - - Resume - - -
-
-
- - - {{> footer}} - - diff --git a/src/templates/interior.hbs b/src/templates/interior.hbs deleted file mode 100644 index 44097e5..0000000 --- a/src/templates/interior.hbs +++ /dev/null @@ -1,73 +0,0 @@ - - - - Wroten - {{name}} - - - - - - - - - - - - -
- -
-

- - - - {{name}} -

-
-
- -
- -
- - - {{> footer}} - - - - - diff --git a/src/templates/partials/about.hbs b/src/templates/partials/about.hbs deleted file mode 100644 index 23d8474..0000000 --- a/src/templates/partials/about.hbs +++ /dev/null @@ -1,44 +0,0 @@ - diff --git a/src/templates/partials/footer.hbs b/src/templates/partials/footer.hbs deleted file mode 100644 index ec05aaa..0000000 --- a/src/templates/partials/footer.hbs +++ /dev/null @@ -1,5 +0,0 @@ -