diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 1453553..0000000 --- a/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -assets/scripts/pro-duotone-svg-icons/** filter=git-crypt diff=git-crypt diff --git a/.gitignore b/.gitignore index 8ff64e0..51c7109 100644 --- a/.gitignore +++ b/.gitignore @@ -151,3 +151,7 @@ dist .yarn/build-state.yml .yarn/install-state.gz .pnp.* + +### FontAwesome gitignore ### + +fontawesome-pro-6.3.0-web diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..ad92582 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "editor.formatOnSave": true +} diff --git a/.woodpecker/build-site.yml b/.woodpecker/build-site.yml index 8b445f7..a9d9090 100644 --- a/.woodpecker/build-site.yml +++ b/.woodpecker/build-site.yml @@ -2,15 +2,6 @@ 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/graphics/fa/book.svg b/assets/graphics/fa/book.svg new file mode 100644 index 0000000..a4957d9 --- /dev/null +++ b/assets/graphics/fa/book.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/browser.svg b/assets/graphics/fa/browser.svg new file mode 100644 index 0000000..fe78601 --- /dev/null +++ b/assets/graphics/fa/browser.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/comment.svg b/assets/graphics/fa/comment.svg new file mode 100644 index 0000000..a113bb1 --- /dev/null +++ b/assets/graphics/fa/comment.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/cowbell.svg b/assets/graphics/fa/cowbell.svg new file mode 100644 index 0000000..6b176d6 --- /dev/null +++ b/assets/graphics/fa/cowbell.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/ellipsis.svg b/assets/graphics/fa/ellipsis.svg new file mode 100644 index 0000000..454acdc --- /dev/null +++ b/assets/graphics/fa/ellipsis.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/file-alt.svg b/assets/graphics/fa/file-alt.svg new file mode 100644 index 0000000..cbeb1cd --- /dev/null +++ b/assets/graphics/fa/file-alt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/file-signature.svg b/assets/graphics/fa/file-signature.svg new file mode 100644 index 0000000..393f01d --- /dev/null +++ b/assets/graphics/fa/file-signature.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/github.svg b/assets/graphics/fa/github.svg new file mode 100644 index 0000000..af1538f --- /dev/null +++ b/assets/graphics/fa/github.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/gitlab.svg b/assets/graphics/fa/gitlab.svg new file mode 100644 index 0000000..53448bd --- /dev/null +++ b/assets/graphics/fa/gitlab.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/globe.svg b/assets/graphics/fa/globe.svg new file mode 100644 index 0000000..7f6ac96 --- /dev/null +++ b/assets/graphics/fa/globe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/graduation-cap.svg b/assets/graphics/fa/graduation-cap.svg new file mode 100644 index 0000000..c8cf5f7 --- /dev/null +++ b/assets/graphics/fa/graduation-cap.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/home.svg b/assets/graphics/fa/home.svg new file mode 100644 index 0000000..4375a16 --- /dev/null +++ b/assets/graphics/fa/home.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/house.svg b/assets/graphics/fa/house.svg new file mode 100644 index 0000000..4375a16 --- /dev/null +++ b/assets/graphics/fa/house.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/notebook.svg b/assets/graphics/fa/notebook.svg new file mode 100644 index 0000000..e8c472d --- /dev/null +++ b/assets/graphics/fa/notebook.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/orcid.svg b/assets/graphics/fa/orcid.svg new file mode 100644 index 0000000..59d1496 --- /dev/null +++ b/assets/graphics/fa/orcid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/podium.svg b/assets/graphics/fa/podium.svg new file mode 100644 index 0000000..651ac61 --- /dev/null +++ b/assets/graphics/fa/podium.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/presentation.svg b/assets/graphics/fa/presentation.svg new file mode 100644 index 0000000..f0e782f --- /dev/null +++ b/assets/graphics/fa/presentation.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/scale-balanced.svg b/assets/graphics/fa/scale-balanced.svg new file mode 100644 index 0000000..3423b7f --- /dev/null +++ b/assets/graphics/fa/scale-balanced.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/stack-overflow.svg b/assets/graphics/fa/stack-overflow.svg new file mode 100644 index 0000000..8fe3d70 --- /dev/null +++ b/assets/graphics/fa/stack-overflow.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/steam.svg b/assets/graphics/fa/steam.svg new file mode 100644 index 0000000..ff6db89 --- /dev/null +++ b/assets/graphics/fa/steam.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/tag.svg b/assets/graphics/fa/tag.svg new file mode 100644 index 0000000..ef06d64 --- /dev/null +++ b/assets/graphics/fa/tag.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/university.svg b/assets/graphics/fa/university.svg new file mode 100644 index 0000000..a99a14e --- /dev/null +++ b/assets/graphics/fa/university.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/user-astronaut.svg b/assets/graphics/fa/user-astronaut.svg new file mode 100644 index 0000000..2f6d921 --- /dev/null +++ b/assets/graphics/fa/user-astronaut.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/user.svg b/assets/graphics/fa/user.svg new file mode 100644 index 0000000..8b31931 --- /dev/null +++ b/assets/graphics/fa/user.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/video.svg b/assets/graphics/fa/video.svg new file mode 100644 index 0000000..c4052b1 --- /dev/null +++ b/assets/graphics/fa/video.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/vimeo.svg b/assets/graphics/fa/vimeo.svg new file mode 100644 index 0000000..ee03fa1 --- /dev/null +++ b/assets/graphics/fa/vimeo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/fa/w.svg b/assets/graphics/fa/w.svg new file mode 100644 index 0000000..59396f5 --- /dev/null +++ b/assets/graphics/fa/w.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/graphics/millironx.svg b/assets/graphics/millironx.svg index 90dbb4a..c0e4bd1 100644 --- a/assets/graphics/millironx.svg +++ b/assets/graphics/millironx.svg @@ -7,102 +7,37 @@ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="29.935179mm" height="8.7677584mm" viewBox="0 0 106.06953 31.06686" id="svg2" - version="1.1" - inkscape:version="0.92.4 (5da689c313, 2019-01-14)" - sodipodi:docname="MillironX-title.svg"> - - - - - - - - - - image/svg+xml - - - - - - - - - - - + version="1.1"> + + + + + + + + diff --git a/assets/scripts/fa-icons.js b/assets/scripts/fa-icons.js deleted file mode 100644 index bae14e1..0000000 --- a/assets/scripts/fa-icons.js +++ /dev/null @@ -1,123 +0,0 @@ -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 deleted file mode 100644 index 77e9307..0000000 Binary files a/assets/scripts/pro-duotone-svg-icons/index.mjs and /dev/null differ diff --git a/assets/scripts/scroll-effect.js b/assets/scripts/scroll-effect.js deleted file mode 100644 index 42a4af8..0000000 --- a/assets/scripts/scroll-effect.js +++ /dev/null @@ -1,5 +0,0 @@ -$(window).scroll(function (e) { - oVal = $(window).scrollTop() / 170; - $(".blur").css("opacity", oVal); -}); -$("#motto").fitText(); diff --git a/assets/scripts/tooltip-enable.js b/assets/scripts/tooltip-enable.js deleted file mode 100644 index 7009708..0000000 --- a/assets/scripts/tooltip-enable.js +++ /dev/null @@ -1,6 +0,0 @@ -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 new file mode 100644 index 0000000..fb47932 --- /dev/null +++ b/assets/styles/millironx.css @@ -0,0 +1,492 @@ +:root { + /* + Color schemes + */ + color-scheme: light dark; + --prickly-pear-yellow: #735f02; + --eclipse-gray: #3a3a3a; + --pumpkin-olive: #59521c; + --manhattan-steel-blue: #224553; + --pine-green: #36581d; + --brown-swiss-calf-brown: #543c21; + --ear-tag-red: #67160e; + --flaming-gorge-blue: #1b3e5a; + --hayyard-green: #355322; + --coeurdalene-purple: #1b245a; + --brown-swiss-cow-brown: #563c1f; + --buffalo-blue: #0b496a; + --saddle-blue: #104165; + --brown-swiss-gray: #eaddca; + --lavender-purple: #d9c1f6; + + /* + Fonts + */ + --font-family-antique: Superclarendon, "Bookman Old Style", "URW Bookman", + "URW Bookman L", "Georgia Pro", Georgia, serif; + --font-family-slab-serif: Rockwell, "Rockwell Nova", "Roboto Slab", + "DejaVu Serif", "Sitka Small", serif; + --font-family-system-ui: system-ui, sans-serif; +} + +/* + Default element styles (for small screens) +*/ + +html { + background-color: light-dark(var(--brown-swiss-gray), var(--eclipse-gray)); + font-family: var(--font-family-slab-serif); +} + +a { + color: light-dark(var(--saddle-blue), var(--lavender-purple)); +} + +header { + display: flex; + justify-content: space-evenly; + align-items: center; +} + +nav { + display: flex; + flex-direction: row; + overflow: scroll; + padding-bottom: 1rem; + position: sticky; + top: 0; +} + +nav a { + color: light-dark(var(--brown-swiss-gray), var(--manhattan-steel-blue)); + background-color: light-dark( + var(--manhattan-steel-blue), + var(--brown-swiss-gray) + ); + border-radius: 0.05rem; + border-style: outset; + border-width: 0.2rem; + border-color: light-dark( + var(--manhattan-steel-blue), + var(--brown-swiss-gray) + ); + min-width: 7.5rem; + max-width: 7.5rem; + display: flex; + justify-content: space-between; + align-items: center; + margin: 0.2rem; + text-decoration: none; + padding: 0 0.2rem; + font-family: var(--font-family-system-ui); +} + +nav a:active { + border-style: inset; +} + +nav a:hover { + background-color: light-dark( + var(--buffalo-blue), + color-mix(in srgb, var(--prickly-pear-yellow), var(--brown-swiss-gray) 75%) + ); +} + +figure { + border-color: light-dark(var(--eclipse-gray), var(--brown-swiss-gray)); + border-width: 1.5pt; + border-style: inset; + padding: 1.25pt; +} + +blockquote { + background: linear-gradient( + to right, + light-dark(lightgray, dimgray), + color-mix( + in srgb, + light-dark(var(--brown-swiss-gray), var(--eclipse-gray)), + white 25% + ) + ); + border-left: 5px solid black; + padding-left: 6px; +} + +blockquote small::before { + content: "\2014 \00A0"; +} + +blockquote small { + font-size: 80%; +} + +footer { + background-color: light-dark(lightgray, dimgray); + margin: 0 0 -1em -1em; + width: calc(100% - 1em); + padding: 0.25em 1.25em; + display: flex; + justify-content: space-between; + 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 +*/ +.row { + display: flex; + flex-direction: column; + width: 100%; +} + +.motto { + position: relative; + display: grid; + place-items: center; + text-align: center; + color: #fff; + font-weight: 600; + text-shadow: 0 0 10px rgba(0, 0, 0, 0.33); + width: 100%; + padding: 0 0 0.5em 0; + border-radius: 0.25rem; +} + +.motto::before { + content: " "; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + box-sizing: border-box; + background-size: cover; + background-position: 50% 50%; +} + +.motto-inside { + position: relative; + max-width: 95%; + display: grid; + place-items: center; + text-align: center; +} + +.motto .motto-inside h1 { + background-color: rgba(0.33, 0.33, 0.33, 0.33); + -webkit-text-stroke: 0.3px lightgray; + line-height: 1; +} + +.card { + background-color: color-mix( + in srgb, + light-dark(var(--brown-swiss-gray), var(--eclipse-gray)), + white 10% + ); + border-color: light-dark( + var(--manhattan-steel-blue), + var(--brown-swiss-gray) + ); + border-width: 1.5pt; + border-radius: 0.1rem; + border-style: outset; + margin: 1rem 0; + padding: 0.5rem; + padding-top: 0; + position: relative; + display: flex; + flex-direction: column; +} + +.card-link { + white-space: nowrap; + display: inline-flex; + gap: 0.375rem; + align-items: center; + text-underline-offset: 0.25em; + backface-visibility: hidden; + margin: 0 0.5em; +} + +.category-button { + position: absolute; + top: 1em; + right: 1em; + display: grid; + color: white; + background-color: var(--ear-tag-red); + border-radius: 0.5em; + padding: 1em; +} + +.card-title { + margin-right: 3em; +} + +.card-title > a { + color: inherit; +} + +.img-thumbnail { + width: 100%; + height: auto; + margin-top: 0.5rem; +} + +.thumb-icon-wrapper { + margin-top: 1rem; + display: flex; + justify-content: center; + align-content: center; +} + +.thumb-icon-badge { + font-size: xx-large; + justify-self: center; + align-self: center; + padding: 1.5rem 3rem; + border-radius: 3rem; + background-color: var(--ear-tag-red); + color: white; +} + +.fa-container svg { + overflow: visible; + box-sizing: content-box; + display: inline-block; + height: 1em; + width: 1.25em; + vertical-align: -0.125em; +} + +.fa-container svg path { + fill: currentColor; +} + +/* + Helper classes +*/ +.font-small-caps { + font-variant-caps: small-caps; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.float-left { + float: none; + max-width: 100%; +} + +.float-right { + float: none; + max-width: 100%; +} + +/* + Application-state helper classes +*/ +@media (prefers-color-scheme: light) { + .active { + background-color: var(--coeurdalene-purple); + } +} + +@media (prefers-color-scheme: dark) { + .active { + color: color-mix(in srgb, var(--manhattan-steel-blue), white 75%); + background-color: color-mix(in srgb, var(--brown-swiss-gray), black 75%); + border-color: color-mix(in srgb, var(--brown-swiss-gray), black 50%); + } +} + +/* + Desktop screen size adjustments +*/ +@media (min-width: 768px) { + /* + Default element styles + */ + nav { + flex-direction: column; + padding-right: 1rem; + padding-bottom: 0; + + /* + Workaround for Chrome always showing scrollbar even when scrolling not needed + */ + -ms-overflow-style: none; + scrollbar-width: none; + } + + /* + Continued Chrome workaround + */ + nav::-webkit-scrollbar { + display: none; + } + + main { + width: calc(100% - 10rem); + } + + /* + Container-type helper classes + */ + .row { + flex-direction: row; + } + + /* + Helper classes + */ + .float-left { + float: left; + max-width: 50%; + } + + .float-right { + float: right; + max-width: 50%; + } + + .card { + flex-direction: row; + } + + .img-thumbnail { + margin-right: 1rem; + } + + .card-header { + width: 20vw; + flex-shrink: 0; + } + + .card-body { + margin-left: 1rem; + } + + .bolder { + font-weight: bolder; + background-color: rgba(0, 0, 0, 0.33); + border-radius: 0.25em; + padding: 0.25em 0.75em 0.5em 0.33em; + } + + /* + Clearfix implementation + */ + h1::before, + h2::before, + h3::before, + h4::before, + h5::before, + h6::before { + content: " "; /* Older browser do not support empty content */ + visibility: hidden; + display: block; + height: 0; + clear: both; + } +} /* end @media */ + +@supports (animation-timeline: scroll()) and (animation-range: 0 50vh) { + @keyframes sticky-header { + from { + height: 50vh; + top: 6rem; + } + + to { + height: 10vh; + top: -1rem; + } + } + + @keyframes blurry-header { + from { + filter: blur(0); + } + + to { + filter: blur(2px); + } + } + + @keyframes transparent-text-bg { + from { + background-color: rgba(0.33, 0.33, 0.33, 0.33); + } + to { + background-color: rgba(0.33, 0.33, 0.33, 0); + } + } + + main, + footer { + position: relative; + top: 55vh; + } + + .motto { + position: fixed; + top: 12rem; + + animation: sticky-header linear forwards; + animation-timeline: scroll(); + animation-range: 0.001vh 50vh; + } + + .motto::before { + filter: blur(12px); + + top: 2rem; + + animation: blurry-header linear forwards; + animation-timeline: scroll(); + animation-range: 0.001vh 50vh; + } + + .motto-inside h1 { + animation: transparent-text-bg linear forwards; + animation-timeline: scroll(); + animation-range: 0.001vh 40vh; + } + + @media (min-width: 768px) { + .motto { + width: calc(100% - 8rem); + } + + .motto::before { + top: 0; + } + } +} /* end @supports */ diff --git a/assets/styles/mix-twbs.scss b/assets/styles/mix-twbs.scss index 5ffbaba..536f92e 100644 --- a/assets/styles/mix-twbs.scss +++ b/assets/styles/mix-twbs.scss @@ -48,10 +48,6 @@ $peek-height: 25rem; background-position: center center; } -.blur { - opacity: 0; -} - .list-main { position: relative; background-color: #fff; diff --git a/content/_index.html b/content/_index.html deleted file mode 100644 index 8df6adc..0000000 --- a/content/_index.html +++ /dev/null @@ -1,152 +0,0 @@ ---- -title: Home -cardImage: charolette -motto: My name is Thomas Christensen
I am Milliron X -description: The homepage of Thomas A. Christensen II -layout: _default/list -menu: - main: - params: - prefix: fad - icon: fa-home - weight: -1000 ---- - -

What is a "Milliron X"?

- -

- It's a - cattle brand, - of course! My cattle brand! -

- -

- The milliron is the bar with a bend in the middle. It does not - represent anything physical or textual per se, and is therefore a - rather unique element in cattle brands. Millirons are difficult to modify into - another brand, and provide a guarantee of authentic ownership. -

- -

- X is the letter of mystery and mystique. For nerds, it's the - unknown in any algebra problem. Ranchers and cowboys will associate it with - big names like the "Bar X" and the "Double X." In either case, it lends itself - to a sense of withholding, prestige, and power. -

- -

- Together, these two symbols represent the qualities I strive for in each of my - works: authenticity, originality, power, depth, and prestige. -

- -

Who am I?

- -{{% imgproc me-and-lady Resize "768x" "float-md-end w-md-50 p-3" %}} -Image courtesy [Guy McCutcheon Photography](https://www.guymccutcheon.com/) -{{% /imgproc %}} - - -

I am

- - - -

- I've got a soft spot for Brown Swiss dairy cows (just in case you couldn't - tell by the pictures), and am sometimes called "one of those crazy, Wyoming - dairy cow people." I love anything to do with cattle or technology, but - especially anything to do with both of them. -

- -

- - Christian, American, Convervative, Pro-gun, Heterosexual - any questions? - -

- -

Where am I?

- -{{% imgproc wy-in-ks Resize "768x" "float-md-start w-md-50 p-3" / %}} - - -

- I am a Wyomingite sojurning in Kansas. That ought to lead to some interesting - stories. -

- -Around the web you can find me at (in order of subjective importance) - - - -
- -
-
-

- 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 RMS: -

-
-
-

- Facebook is a bad place for a person to be. When people find us on - Facebook, we lead them away from Facebook and then talk with them - elsewhere. -

-
- -
-

- I typically don't respond to inqueries made on these platforms. Please use - my contact form, instead. -

-
-
diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..b7cd16c --- /dev/null +++ b/content/_index.md @@ -0,0 +1,88 @@ +--- +title: Home +cardImage: charolette +cardImageDescription: She almost looks like she's in her native country again. +motto: My name is Thomas Christensen
I am Milliron X +description: The homepage of Thomas A. Christensen II +layout: _default/list +menu: + main: + params: + icon: home + weight: -1000 +--- + +## What is a "Milliron X"? + +It's a [cattle brand](https://en.wikipedia.org/wiki/Livestock_branding), of +course! My cattle brand! + +The milliron is the bar with a bend in the middle. It does not +represent anything physical or textual _per se_, and is therefore a rather +unique element in cattle brands. Millirons are difficult to modify into another +brand, and provide a guarantee of authentic ownership. + +X is the letter of mystery and mystique. For nerds, it's the unknown +in any algebra problem. Ranchers and cowboys will associate it with big names +like the "Bar X" and the "Double X." In either case, it lends itself to a sense +of withholding, prestige, and power. + +Together, these two symbols represent the qualities I strive for in each of my +works: authenticity, originality, power, depth, and prestige. + +## Who am I? + +{{< imgproc me-and-lady Resize "768x" "float-right" >}} Image courtesy +[Guy McCutcheon Photography](https://www.guymccutcheon.com/) {{< /imgproc >}} + +I am + +- 🧬 A bioinformatician (by profession) +- 📐 An engineer (by education) +- 🐂 A rancher (by lifestyle) +- 🖥️ A techie (self-taught) +- 🎥 And a filmmaker (at heart) + +I've got a soft spot for Brown Swiss dairy cows (just in case you couldn't tell +by the pictures), and am sometimes called "one of those crazy, Wyoming dairy cow +people." I love anything to do with cattle or technology, but especially +anything to do with both of them. + +_Christian, American, Convervative, Pro-gun, Heterosexual - any questions?_ + +## Where am I? + +{{< imgproc wy-in-ks Resize "768x" "float-left" / >}} + +I am a Wyomingite sojurning in Kansas. That ought to lead to some interesting +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: + [0000-0003-1219-9320](https://orcid.org/0000-0003-1219-9320) +- {{< fa gitlab >}} GitLab: [@MillironX](https://gitlab.com/MillironX) +- {{< fa vimeo >}} Vimeo: + [Thomas Christensen II](https://vimeo.com/tchristensenii) +- {{< fa stack-overflow >}} StackExchange: + [Milliron X](https://stackexchange.com/users/4863541/milliron-x) +- {{< fa steam >}} 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 +RMS: + +{{< blockquote "Richard Stallman _in_ [If you feel your organization needs a 'presence' in Facebook](https://stallman.org/facebook-presence.html)" >}} +Facebook is a bad place for a person to be. When people find us on Facebook, we +lead them away from Facebook and then talk with them elsewhere. +{{< /blockquote >}} + +I typically don't respond to inquiries made on these platforms. Please use +[my contact form](/contact), instead. + + + diff --git a/content/academia/_index.md b/content/academia/_index.md index 6eb6f79..10e4083 100644 --- a/content/academia/_index.md +++ b/content/academia/_index.md @@ -2,15 +2,16 @@ title: Academic Publications and Presentations motto: Publications and Presentations cardImage: library -decription: A list of my academic publications +cardImageDescription: + Personally, I preferred the Owen Library in Pullman seven miles west +description: A list of my academic publications menu: main: name: Academia params: - prefix: fad - icon: fa-university + icon: university weight: 20 -fa-thumbnail: fad fa-university +fa-thumbnail: university --- > I have spent too long in school and not enough time in the middle of nowhere diff --git a/content/ai/_index.html b/content/ai/_index.html deleted file mode 100644 index 3c6b51a..0000000 --- a/content/ai/_index.html +++ /dev/null @@ -1,76 +0,0 @@ ---- -title: Artificial Insemination -cardImage: Ai-calf -motto: Artificial Insemination -description: - Advertising page to try and sell my artificial insemination services -date: 2022-12-31 -menu: - main: - params: - prefix: fax - icon: fa-bull-sperm - weight: 30 -fa-thumbnail: fax fa-bull-sperm ---- - -
-

Cattle artificial insemination services

- -

- I am licensed in the Great State of Wyoming as a food animal artificial - insemination technician. I only offer AI services for cows, even though - legally I could AI cows, goats, and sheep. My services are most - readily available in the southeast Wyoming area or the Flint Hills of Kansas - depending on the time of year. -

- -

Rate schedule

- -
- - - - - - - - - - - - - - - -
Insemination(per cow) - $25.00 - 5 cow minimum charge
Milage(per mile, one-way) - $1.05 - 2.5 mile minimum charge
-
- -

- I will provide all equipment except semen storage (liquid - nitrogen tank) and cattle handling (i.e., squeeze chute). -

-

- To get started, contact me, and select the "I'm - hiring for artificial insemination" option. -

-
diff --git a/content/contact/_index.html b/content/contact/_index.html index bed691c..79d864c 100644 --- a/content/contact/_index.html +++ b/content/contact/_index.html @@ -1,6 +1,9 @@ --- title: Contact Me cardImage: venice-mailbox +cardImageDescription: + This mailbox was used for reporting public health offenses in Venice. It + survived the wrath of Napoleon because it didn't look enough like a lion. motto: Contact Me description: Contact form to get ahold of me date: 2023-07-01 @@ -8,100 +11,63 @@ menu: main: name: Contact params: - prefix: fad - icon: fa-file-signature + icon: file-signature weight: 1 -fa-thumbnail: fad fa-file-signature +fa-thumbnail: file-signature +validation: true --- -
+
Contact Me -
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
-
- - -
-
+ + + + + + + + + + + +
diff --git a/content/videos/_index.md b/content/videos/_index.md index e555640..284fdbd 100644 --- a/content/videos/_index.md +++ b/content/videos/_index.md @@ -1,14 +1,16 @@ --- title: Videos cardImage: camera +cardImageDescription: + Isn't it a shame that the company that brought photography to the masses is + basically out of business now? motto: Videography Portfolio description: Showcase of my own videos menu: main: params: - prefix: fad - icon: fa-video -fa-thumbnail: fad fa-video + icon: video +fa-thumbnail: video --- > ### The culmination of all art forms is that of film. diff --git a/content/websites/_index.md b/content/websites/_index.md index 829b010..df065e8 100644 --- a/content/websites/_index.md +++ b/content/websites/_index.md @@ -1,15 +1,16 @@ --- title: My Websites cardImage: eclipse +cardImageDescription: + Did you know that the population of Wyoming quadrupled for one day in 2017? motto: Websites description: List of websites that I have worked on menu: main: name: Websites params: - prefix: fad - icon: fa-browser -fa-thumbnail: fad fa-browser + icon: browser +fa-thumbnail: browser --- I do occasionally build websites for myself and other people. Here is a list of diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index ca745ee..5359ed9 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -8,8 +8,8 @@ {{ end }} {{ .Title }} - {{ .Site.Title }} - {{ $twbssass := resources.Get "styles/mix-twbs.scss" }} - {{ $twbssass = $twbssass | resources.ToCSS | resources.PostCSS | minify | resources.PostProcess }} + {{ $twbssass := resources.Get "styles/millironx.css" }} + {{ $twbssass = $twbssass | resources.PostCSS | minify | resources.PostProcess }} @@ -17,109 +17,41 @@ -
-
- {{ partial "sidebar" . }} -
-
-
-

- - Milliron X - -   Milliron X -

-
-
- {{ block "main" . }} -
-
- {{ .Content }} -
-
- {{ end }} -
- -
-
-
+
+ + Milliron X + +

Milliron X

+
+
+ {{ partial "sidebar" . }} +
+ {{ block "main" . }} + {{ .Content }} + {{ end }} +
+ - - {{ $jquery := resources.Get "scripts/jquery/jquery.min.js" }} - {{ $jqmaskjs := resources.Get "scripts/jquery-mask-plugin/jquery.mask.min.js" }} - {{ $fittextjs := resources.Get "scripts/fittext/jquery.fittext.js" | minify }} - {{ $scrolljs := resources.Get "scripts/scroll-effect.js" | minify }} - {{ $maskjs := resources.Get "scripts/phone-masking.js" | minify }} - {{ $jquerybundle := slice $jquery $jqmaskjs $fittextjs $scrolljs $maskjs | resources.Concat "js/jquery-bundle.js" }} - + {{ with .Params.validation }} + {{- partial "form-validation.html" -}} + {{ end }} - - {{ $popperjs := resources.Get "scripts/popper/popper.min.js" }} - {{ $twbsjs := resources.Get "scripts/bootstrap/bootstrap.min.js" }} - {{ $ttjs := resources.Get "scripts/tooltip-enable.js" | minify }} - {{ $bootstrapbundle := slice $popperjs $twbsjs $ttjs | resources.Concat "js/bootstrap-bundle.js" }} - - - - {{ $masonryjs := resources.Get "scripts/masonry/masonry.pkgd.min.js" }} - - - {{ partial "extras-modal" . }} diff --git a/layouts/_default/list.html b/layouts/_default/list.html index fb5e9aa..8c79f98 100644 --- a/layouts/_default/list.html +++ b/layouts/_default/list.html @@ -1,64 +1,91 @@ {{ define "main" }} {{ partial "scrolling-image-header" . }} -
-
+
+
{{ block "content" . }} {{ .Content }} {{ end }}
-
- {{ range .Pages }} -
-
- {{ partial "category-button" . }} + {{ range .Pages }} +
+ {{ partial "category-button" . }} - -
- {{ partial "list-item-thumbnail" . }} - - {{/* Prefer full-text links over local ones */}} - {{ $link := default .RelPermalink (index .Params "link") }} -

{{ .Title }}

- -
- {{ dateFormat "02 Jan 2006" .Date }} -
- - {{ range (.GetTerms "people") }} - {{ .LinkTitle }} - {{ end }} - - -

- {{ .Summary }} - Read more » -

-
- - - +
+ + {{ end }}
{{ end }} diff --git a/layouts/academia/single.html b/layouts/academia/single.html index 9466a74..ac7fad7 100644 --- a/layouts/academia/single.html +++ b/layouts/academia/single.html @@ -1,27 +1,27 @@ {{ define "main" }} -
-
-
- {{ .Params.journal }}{{ with .Params.location }}: {{ . }}{{ end }} -
-

{{ .Title }}

-

- -
    - {{ range .Params.authors }} -
  • {{ . }}
  • - {{ end }} -
-
-

-

{{ .Date | time.Format "January 2, 2006" }}

- {{ .Content }} - {{ with .Params.link }} -
- {{ . }} - -
- {{ end }} -
+
+
+ {{ .Params.journal }}{{ with .Params.location }}: {{ . }}{{ end }} +
+

{{ .Title }}

+

+ + {{ range (.GetTerms "people") }} + {{- partial "fa.html" "user" }} {{ .LinkTitle }} + {{ end }} + +

+

{{ .Date | time.Format "January 2, 2006" }}

+ {{ .Content }} + {{ with .Params.link }} + {{ . }} + + {{ end }}
{{ end }} diff --git a/layouts/partials/academia/list-single.html b/layouts/partials/academia/list-single.html deleted file mode 100644 index bfc6c0b..0000000 --- a/layouts/partials/academia/list-single.html +++ /dev/null @@ -1,74 +0,0 @@ -
-
- {{ if eq .Params.medium "paper" }} - {{ .Scratch.Set "fa" "fa-book" }} - {{ else if eq .Params.medium "poster" }} - {{ .Scratch.Set "fa" "fa-presentation" }} - {{ else if eq .Params.medium "thesis" }} - {{ .Scratch.Set "fa" "fa-graduation-cap" }} - {{ else if eq .Params.medium "presentation" }} - {{ .Scratch.Set "fa" "fa-podium" }} - {{ else }} - {{ .Scratch.Set "fa" "fa-notebook" }} - {{ end }} - - {{ $fa := (.Scratch.Get "fa") }} - - -

- -

- {{ with .Params.link }} - - {{ end }} -
-
-

- - {{ .Title }} - -

- {{ $authlist := .Params.authors }} - {{ range $idx, $auth := .Params.authors }} - {{ if and (eq $idx (sub (len $authlist) 1)) (gt 1 (len $authlist)) }} - and - {{ end }} - {{- if eq $auth "Thomas A. Christensen II" }} - {{ $auth }} - {{- else }} - {{ $auth }} - {{- end }} - {{- if lt $idx (sub (len $authlist) 1) -}} - , - {{- end }} - {{ end }} -
- {{ .Params.journal }}: - {{ .Params.location }} - ({{ dateFormat "02 Jan 2006" .Params.date }}) -
- {{ with .Params.keywords }} - Keywords: - {{ range . }} - {{ . }} - {{ end }} -
- {{ end }} - {{ if eq (.Scratch.Get "showAbstract") true }} -
- Abstract - {{ .Content }} -
- {{ end }} -
-
diff --git a/layouts/partials/category-button.html b/layouts/partials/category-button.html index e6c5d7c..5b5d7e7 100644 --- a/layouts/partials/category-button.html +++ b/layouts/partials/category-button.html @@ -1,27 +1,24 @@ -
- {{ with .Param "categories" }} - {{ range $i, $category := . }} - {{ if eq $i 0 }} - {{ with $.Site.GetPage (printf "/%s/%s" "categories" $category) }} - {{ $iconDictionary := dict - "video" "fad fa-video" - "paper" "fad fa-book" - "poster" "fad fa-presentation" - "thesis" "fad fa-graduation-cap" - "presentation" "fad fa-podium" - "web" "fad fa-globe" - }} - {{ $categoryIcon := index $iconDictionary $category }} - - - - {{ end }} +{{ with .Param "categories" }} + {{ range $i, $category := . }} + {{ if eq $i 0 }} + {{ with $.Site.GetPage (printf "/%s/%s" "categories" $category) }} + {{ $iconDictionary := dict + "video" "video" + "paper" "book" + "poster" "presentation" + "thesis" "graduation-cap" + "presentation" "podium" + "web" "globe" + }} + {{ $categoryIcon := index $iconDictionary $category }} + + {{- partial "fa.html" $categoryIcon -}} + {{ end }} {{ end }} {{ end }} -
+{{ end }} diff --git a/layouts/partials/extras-modal.html b/layouts/partials/extras-modal.html deleted file mode 100644 index ebea7e3..0000000 --- a/layouts/partials/extras-modal.html +++ /dev/null @@ -1,247 +0,0 @@ - diff --git a/layouts/partials/fa.html b/layouts/partials/fa.html new file mode 100644 index 0000000..540a166 --- /dev/null +++ b/layouts/partials/fa.html @@ -0,0 +1,4 @@ +{{- $fontAwesomePath := print "assets/graphics/fa/" . ".svg" -}} + + {{- readFile $fontAwesomePath | safeHTML -}} + diff --git a/layouts/partials/form-validation.html b/layouts/partials/form-validation.html new file mode 100644 index 0000000..c5ecfa2 --- /dev/null +++ b/layouts/partials/form-validation.html @@ -0,0 +1,6 @@ + +{{ $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/list-item-thumbnail.html b/layouts/partials/list-item-thumbnail.html deleted file mode 100644 index 44bed22..0000000 --- a/layouts/partials/list-item-thumbnail.html +++ /dev/null @@ -1,26 +0,0 @@ -{{ with .Param "fa-thumbnail" }} -
- - - -
-{{ end }} - -{{/* Thumbnail images should be stored as 'thumbnail'.* in the page bundle, but - historically they might have been referenced as 'thumbnail' in the front - matter, or (even more historically) as 'cardImage'. Use scratch to - normalize all these different systems. -*/}} -{{ $bundleGlob := "thumbnail.*" }} -{{ $frontThumbGlob := print "images/" (.Params.thumbnail) ".*" }} -{{ $frontCardGlob := print "images/" (.Params.cardImage) ".jpg" }} -{{ $allThumbnailGlob := print "{" $frontThumbGlob "," $frontCardGlob "," $bundleGlob "}" }} -{{ with .Resources.GetMatch $allThumbnailGlob }} - {{ $thumbnail := . }} - {{ $thumbnailResized := $thumbnail.Resize "600x" }} - Thumbnail of {{ .Title }} -{{ end }} diff --git a/layouts/partials/scrolling-image-header.html b/layouts/partials/scrolling-image-header.html index 761786d..b23c01d 100644 --- a/layouts/partials/scrolling-image-header.html +++ b/layouts/partials/scrolling-image-header.html @@ -1,20 +1,18 @@ -{{ $millironx := resources.Get "graphics/millironx.svg" }} -
-
+{{ $imgsrc := print "images/" (.Param "cardImage") ".jpg" }} +{{ $mainimg := resources.Get $imgsrc }} +{{ $cardImageDescription := .Param "cardImageDescription" }} +{{ $croppedImage := $mainimg.Fill "6000x2000 center" }} + + + +
+

{{ default .Title (safeHTML (.Param "motto")) }}

- {{ $imgsrc := print "images/" (.Param "cardImage") ".jpg" }} - {{ $mainimg := resources.Get $imgsrc }} - {{ $blurimg := $mainimg.Filter (images.GaussianBlur 100) }} -
-
-
diff --git a/layouts/partials/sidebar.html b/layouts/partials/sidebar.html index ae469d4..90d26fe 100644 --- a/layouts/partials/sidebar.html +++ b/layouts/partials/sidebar.html @@ -1,48 +1,15 @@ {{ $millironx := resources.Get "graphics/millironx.svg" }} {{ $currentPage := . }} - diff --git a/layouts/shortcodes/blockquote.html b/layouts/shortcodes/blockquote.html new file mode 100644 index 0000000..d88d225 --- /dev/null +++ b/layouts/shortcodes/blockquote.html @@ -0,0 +1,9 @@ +
+ {{ .Inner | markdownify }} + {{ with .Get 0 }} +
+ + {{ . | markdownify }} + + {{ end }} +
diff --git a/layouts/shortcodes/fa.html b/layouts/shortcodes/fa.html new file mode 100644 index 0000000..454b184 --- /dev/null +++ b/layouts/shortcodes/fa.html @@ -0,0 +1,2 @@ +{{- $faName := .Get 0 -}} +{{- partial "fa.html" $faName -}} diff --git a/layouts/shortcodes/imgproc.html b/layouts/shortcodes/imgproc.html index f83f908..0b03338 100644 --- a/layouts/shortcodes/imgproc.html +++ b/layouts/shortcodes/imgproc.html @@ -14,9 +14,9 @@ {{ else }} {{ errorf "Invalid image processing command: Must be one of Crop, Fit, Fill or Resize." }} {{ end }} -
+
{ - let els = JSON.parse(content).htmlElements; - return els.tags.concat(els.classes, els.ids); - }, -}); - -if (process.env.HUGO_ENVIRONMENT === "production") { - module.exports = { - plugins: [purgecss], - }; -}