diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..1453553 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +assets/scripts/pro-duotone-svg-icons/** filter=git-crypt diff=git-crypt diff --git a/.gitignore b/.gitignore index 51c7109..8ff64e0 100644 --- a/.gitignore +++ b/.gitignore @@ -151,7 +151,3 @@ dist .yarn/build-state.yml .yarn/install-state.gz .pnp.* - -### FontAwesome gitignore ### - -fontawesome-pro-6.3.0-web diff --git a/.woodpecker/build-site.yml b/.woodpecker/build-site.yml index a9d9090..8b445f7 100644 --- a/.woodpecker/build-site.yml +++ b/.woodpecker/build-site.yml @@ -2,6 +2,15 @@ when: branch: "master" steps: + - name: Decrypt repository + image: andyaugustin/git-crypt:v1.0.2 + commands: + - echo "${GIT_CRYPT_KEY}" | base64 --decode > /tmp/.git-crypt-key + - git config --global --add safe.directory + - git-crypt unlock /tmp/.git-crypt-key + - rm /tmp/.git-crypt-key + secrets: + - git_crypt_key - name: Install Node packages image: node:18.14.2-slim commands: diff --git a/assets/scripts/fa-icons.js b/assets/scripts/fa-icons.js new file mode 100644 index 0000000..bae14e1 --- /dev/null +++ b/assets/scripts/fa-icons.js @@ -0,0 +1,123 @@ +import { library, icon, config, dom } from "@fortawesome/fontawesome-svg-core"; +import { + faBook, + faBrowser, + faComment, + faCowbell, + faEllipsis, + faFileAlt, + faFileSignature, + faGlobe, + faGraduationCap, + faHome, + faNotebook, + faPodium, + faPresentation, + faTag, + faScaleBalanced, + faUniversity, + faUser, + faUserAstronaut, + faVideo, + faW, +} from "./pro-duotone-svg-icons/index.mjs"; +import { + faDiscord, + faGithub, + faGitlab, + faGolang, + faHtml5, + faOrcid, + faStackOverflow, + faSteam, + faVimeo, +} from "@fortawesome/free-brands-svg-icons"; + +config.familyDefault = "duotone"; +config.styleDefault = "duotone"; + +const faBullSperm = { + prefix: "fax", + iconName: "bull-sperm", + icon: [ + 512, + 512, + [], + null, + "M96 32c-6.691.363-12.375 4.062-15.375 7.062l-64 64c-12.8 12.8-5.333 26.667 0 32l96 64c10.3 10.301 22.938 4.887 37.563-7.812 8.635 9.735 16.63 18.38 23.125 24.875 8.33 8.33 23.436 16.284 41.75 24.313 18.313 8.028 39.82 16.065 60.812 24.062 20.992 7.997 41.474 15.986 57.625 23.938 16.15 7.95 27.882 16.013 31.5 23.25 6.52 13.038 26.468 44.939 48.875 79.75 22.32 34.674 46.99 72.043 63 96.062.02.029.042.096.064.125.045.064.144.185.189.25l2.812-1.5c-10.685-26.697-28.285-68.26-46.44-106.437-18.155-38.179-36.666-72.792-49.937-86.063-16.566-16.566-56.5-32.375-96.5-48.375s-80.066-32.19-95.5-47.625c-6.45-6.45-14.409-15.11-23.063-24.875 12.926-14.779 18.51-27.552 8.125-37.938-16-26.666-51.2-83.2-64-96-5.6-5.6-11.42-7.345-16.625-7.062zm372.688 436.75c.201.487.488 1.079.687 1.563-.291-.44-.644-.995-.937-1.438.023-.012.06.001.064 0 .002 0 .185-.06.188-.064.002-.001-.011-.038 0-.064z", + ], +}; + +const faPeertube = { + prefix: "fax", + iconName: "peertube", + icon: [ + 512, + 512, + [], + null, + "M55.8 25V255L255 140zM255 140v230l199.2-115zM55.8 255v230L255 370z", + ], +}; + +const faGitea = { + prefix: "fax", + iconName: "gitea", + icon: [ + 512, + 512, + [], + null, + "M92.7 114.5c-5.2 0-11 .4-17.6 1.9c-7 1.4-26.8 5.9-43 21.5C-3.9 169.9 5.3 221 6.4 228.6c1.4 9.4 5.5 35.4 25.4 58c36.6 44.9 115.5 43.8 115.5 43.8s9.7 23.1 24.5 44.4c20 26.5 40.6 47.1 60.6 49.6c50.4 0 151.1-.1 151.1-.1s9.6 .1 22.6-8.2c11.2-6.8 21.2-18.7 21.2-18.7s10.3-11 24.7-36.2c4.4-7.8 8.1-15.3 11.3-22.4c0 0 44.2-93.7 44.2-184.9c-.9-27.6-7.7-32.5-9.3-34.1c-3.3-3.3-7.7-3.2-7.7-3.2s-93.8 5.3-142.3 6.4c-10.6 .2-21.2 .5-31.7 .6l0 93.8c-4.4-2.1-8.9-4.2-13.3-6.3c0-29.1-.1-87.4-.1-87.4c-23.2 .3-71.4-1.8-71.4-1.8s-113.1-5.7-125.4-6.8c-3.9-.2-8.4-.7-13.6-.7zm9.8 38.4s5.7 47.5 12.6 75.4c5.8 23.4 19.8 62.2 19.8 62.2s-20.9-2.5-34.4-7.3c-20.7-6.8-29.5-15-29.5-15s-15.3-10.7-23-31.8c-13.2-35.4-1.1-57-1.1-57s6.7-18 30.8-24c11-3 24.8-2.5 24.8-2.5zm171 53.5c5.9-.4 11.9 2.6 11.9 2.6l18.2 8.8c-3.7 7.5-7.4 15-11.1 22.5c-5.4-.1-10.3 2.8-12.9 7.5c-2.7 5-2.2 11.3 1.5 15.8l-19.7 40.3c-6.6 .1-12.3 4.6-13.8 11s1.6 13 7.3 16c6.2 3.2 14 1.4 18.2-4.3c4.1-5.7 3.4-13.5-1.4-18.5L290.8 269c1.2 .1 3 .2 5-.4c3.3-.7 5.7-2.9 5.7-2.9c3.4 1.4 6.9 3 10.6 4.9c3.8 1.9 7.4 3.9 10.7 5.8c.7 .4 1.4 .9 2.2 1.5c1.3 1 2.7 2.5 3.8 4.4c1.5 4.4-1.5 11.9-1.5 11.9c-1.8 6.1-14.7 32.5-14.7 32.5c-6.5-.2-12.2 4-14.2 10c-2.1 6.5 .9 13.8 7.1 17s13.9 1.4 18-4.2c4-5.4 3.7-13-.9-18.1c1.5-3 3-5.9 4.5-9c4-8.3 10.8-24.3 10.8-24.3c.7-1.4 4.6-8.2 2.2-17c-2-9.1-10.1-13.4-10.1-13.4c-9.8-6.3-23.4-12.2-23.4-12.2s0-3.3-.9-5.7c-.9-2.5-2.2-4.1-3.1-5c3.6-7.4 7.2-14.8 10.8-22.2L373.9 252s10.1 4.6 12.2 13c1.5 5.9-.4 11.2-1.4 13.8c-5 12.3-44 90.5-44 90.5s-4.9 11.6-15.7 12.3c-4.6 .3-8.2-1-8.2-1s-.2-.1-4.2-1.7l-90.3-44s-8.7-4.6-10.2-12.5c-1.8-6.5 2.2-14.5 2.2-14.5l43.4-89.5s3.8-7.8 9.8-10.4c.5-.2 1.8-.8 3.6-1.2c.8-.2 1.6-.3 2.5-.4z", + ], +}; + +const faNextcloud = { + prefix: "fax", + iconName: "nextcloud", + icon: [ + 733, + 512, + [], + null, + "m365.6 114.3c-65 0-120.1 44.1-137.2 103.8c-14.8-31.7-47-53.8-84-53.8c-50.9 0-92.8 41.9-92.8 92.8s41.9 92.8 92.8 92.8c37 0 69.2-22.2 84-53.9c17.1 59.7 72.2 103.8 137.2 103.8c64.5 0 119.3-43.4 136.8-102.4c15.1 31 46.9 52.5 83.4 52.5c50.9 0 92.8-41.9 92.8-92.8s-41.9-92.8-92.8-92.8c-36.5 0-68.3 21.6-83.4 52.5c-17.1-59-71.9-102.4-136.4-102.4zm0 54.5c49.1 0 88.3 39.2 88.3 88.2s-39.2 88.3-88.3 88.3s-88.2-39.2-88.2-88.3s39.2-88.2 88.2-88.2zm-221.2 49.9c21.5 0 38.3 16.8 38.3 38.3s-16.9 38.3-38.3 38.3s-38.3-16.9-38.3-38.3s16.8-38.3 38.3-38.3zm441.4 0c21.5 0 38.3 16.8 38.3 38.3s-16.9 38.3-38.3 38.3s-38.3-16.9-38.3-38.3s16.8-38.3 38.3-38.3z", + ], +}; + +library.add( + faBook, + faBrowser, + faBullSperm, + faComment, + faCowbell, + faDiscord, + faEllipsis, + faFileAlt, + faFileSignature, + faGitea, + faGithub, + faGitlab, + faGlobe, + faGolang, + faGraduationCap, + faHome, + faHtml5, + faNextcloud, + faNotebook, + faOrcid, + faPeertube, + faPodium, + faPresentation, + faTag, + faScaleBalanced, + faStackOverflow, + faSteam, + faUniversity, + faUser, + faUserAstronaut, + faVideo, + faVimeo, + faW +); + +dom.i2svg(); diff --git a/assets/scripts/pro-duotone-svg-icons/index.mjs b/assets/scripts/pro-duotone-svg-icons/index.mjs new file mode 100644 index 0000000..77e9307 Binary files /dev/null and b/assets/scripts/pro-duotone-svg-icons/index.mjs differ diff --git a/assets/scripts/tooltip-enable.js b/assets/scripts/tooltip-enable.js new file mode 100644 index 0000000..7009708 --- /dev/null +++ b/assets/scripts/tooltip-enable.js @@ -0,0 +1,6 @@ +var tooltipTriggerList = [].slice.call( + document.querySelectorAll('[data-bs-toggle="tooltip"]') +); +var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) { + return new bootstrap.Tooltip(tooltipTriggerEl); +}); diff --git a/assets/styles/millironx.css b/assets/styles/millironx.css index fb47932..25a0fc4 100644 --- a/assets/styles/millironx.css +++ b/assets/styles/millironx.css @@ -131,28 +131,6 @@ footer { align-items: center; } -form { - margin: 1rem; -} - -fieldset { - padding: 1rem; -} - -input, -select, -textarea { - width: 100%; - margin-bottom: 0.5rem; -} - -input:invalid, -select:invalid, -textarea:invalid { - border-bottom-width: 2px; - border-bottom-color: var(--ear-tag-red); -} - /* Container-type helper classes */ @@ -279,10 +257,13 @@ textarea:invalid { box-sizing: content-box; display: inline-block; height: 1em; - width: 1.25em; vertical-align: -0.125em; } +.fa-container.fa-fw svg { + width: 1.25em; +} + .fa-container svg path { fill: currentColor; } @@ -352,10 +333,6 @@ textarea:invalid { display: none; } - main { - width: calc(100% - 10rem); - } - /* Container-type helper classes */ diff --git a/content/_index.md b/content/_index.md index b7cd16c..4710eb4 100644 --- a/content/_index.md +++ b/content/_index.md @@ -62,15 +62,16 @@ stories. Around the web you can find me at (in order of subjective importance) -- {{< fa github >}} GitHub: [@MillironX](https://github.com/MillironX) -- {{< fa orcid >}} ORDiD: +- {{< fa github yes >}} GitHub: [@MillironX](https://github.com/MillironX) +- {{< fa orcid yes >}} ORDiD: [0000-0003-1219-9320](https://orcid.org/0000-0003-1219-9320) -- {{< fa gitlab >}} GitLab: [@MillironX](https://gitlab.com/MillironX) -- {{< fa vimeo >}} Vimeo: +- {{< fa gitlab yes >}} GitLab: [@MillironX](https://gitlab.com/MillironX) +- {{< fa vimeo yes >}} Vimeo: [Thomas Christensen II](https://vimeo.com/tchristensenii) -- {{< fa stack-overflow >}} StackExchange: +- {{< fa stack-overflow yes >}} StackExchange: [Milliron X](https://stackexchange.com/users/4863541/milliron-x) -- {{< fa steam >}} Steam: [MillironX](https://steamcommunity.com/id/millironx) +- {{< fa steam yes >}} Steam: + [MillironX](https://steamcommunity.com/id/millironx) This list is intended to verify my identity on other sites. Please do _not_ use it as fodder to try and "follow" me on each of these platforms. I stand with diff --git a/content/contact/_index.html b/content/contact/_index.html index 79d864c..840ade4 100644 --- a/content/contact/_index.html +++ b/content/contact/_index.html @@ -14,60 +14,96 @@ menu: icon: file-signature weight: 1 fa-thumbnail: file-signature -validation: true --- -
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index 5359ed9..601c014 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -48,11 +48,16 @@ - {{ with .Params.validation }} - {{- partial "form-validation.html" -}} - {{ end }} - + + {{ $fontawesome := resources.Get "scripts/fa-icons.js" | js.Build "js/fontawesome.js" | minify }} + + + {{ $jquery := resources.Get "scripts/jquery/jquery.min.js" }} + {{ $jqmaskjs := resources.Get "scripts/jquery-mask-plugin/jquery.mask.min.js" }} + {{ $maskjs := resources.Get "scripts/phone-masking.js" | minify }} + {{ $jquerybundle := slice $jquery $jqmaskjs $maskjs | resources.Concat "js/jquery-bundle.js" }} + diff --git a/layouts/partials/sidebar.html b/layouts/partials/sidebar.html index 90d26fe..a9e2049 100644 --- a/layouts/partials/sidebar.html +++ b/layouts/partials/sidebar.html @@ -1,13 +1,19 @@ {{ $millironx := resources.Get "graphics/millironx.svg" }} {{ $currentPage := . }} -