diff --git a/_config.ts b/_config.ts index 5e11de6..c30fec4 100644 --- a/_config.ts +++ b/_config.ts @@ -1,15 +1,9 @@ import lume from "lume/mod.ts"; import brotli from "lume/plugins/brotli.ts"; -import code_highlight from "lume/plugins/code_highlight.ts"; import feed from "lume/plugins/feed.ts"; import lightningcss from "lume/plugins/lightningcss.ts"; -import icons from "lume/plugins/icons.ts"; -import inline from "lume/plugins/inline.ts"; import metas from "lume/plugins/metas.ts"; -import minify_html from "lume/plugins/minify_html.ts"; import nav from "lume/plugins/nav.ts"; -import og_images from "lume/plugins/og_images.ts"; -import pagefind from "lume/plugins/pagefind.ts"; import picture from "lume/plugins/picture.ts"; import postcss from "lume/plugins/postcss.ts"; import purgecss from "lume/plugins/purgecss.ts"; @@ -18,7 +12,6 @@ import robots from "lume/plugins/robots.ts"; import sitemap from "lume/plugins/sitemap.ts"; import slugify_urls from "lume/plugins/slugify_urls.ts"; import source_maps from "lume/plugins/source_maps.ts"; -import sri from "lume/plugins/sri.ts"; import svgo from "lume/plugins/svgo.ts"; import tailwindcss from "lume/plugins/tailwindcss.ts"; import toml from "lume/plugins/toml.ts"; @@ -26,6 +19,16 @@ import transform_images from "lume/plugins/transform_images.ts"; import catppuccin from "npm:@catppuccin/tailwindcss"; +// Disabled Plugins: +// import minify_html from "lume/plugins/minify_html.ts"; +// import og_images from "lume/plugins/og_images.ts"; +// import pagefind from "lume/plugins/pagefind.ts"; +// import sri from "lume/plugins/sri.ts"; + +// To Add: +// https://deno.land/x/lume_markdown_plugins@v0.8.0 (toc and footnotes plugins) +// https://deno.land/x/lume_shiki@0.0.16 + const site = lume({ src: "./src", location: new URL("https://blog.pyrox.dev"), @@ -34,21 +37,19 @@ const site = lume({ site.loadAssets([".css"]); site.copy([".woff2"]); -site.use(code_highlight()); -site.use(icons()); -site.use(inline()); site.use(metas()); -site.use(minify_html()); +// site.use(minify_html({ +// options: { +// keep_html_and_head_opening_tags: true, +// keep_spaces_between_attributes: true +// } +// })); site.use(nav()); -site.use(og_images()); -site.use(pagefind()); site.use(picture()); site.use(transform_images()); site.use(relations()); -site.use(robots()); site.use(sitemap()); site.use(slugify_urls()); -site.use(sri()); site.use(svgo()); site.use(toml()); @@ -117,4 +118,46 @@ site.use(brotli({ ] })); +// robots.txt generation +site.use(robots({ + disallow: [ + "AI2Bot", + "Amazonbot", + "Applebot-Extended", + "Bytespider", + "ChatGPT-User", + "ClaudeBot", + "Diffbot", + "DuckAssistBot", + "FacebookBot", + "GPTBot", + "Google-Extended", + "Meta-ExternalAgent", + "Meta-ExternalFetcher", + "OAI-SearchBot", + "Operator", + "PanguBot", + "PerplexityBot", + "SemrushBot", + "SemrushBot-OCOB", + "Timpibot", + "Webzio-Extended", + "YouBot", + "cohere-training-data-crawler", + "omgili", + "t3versions", + ] +})); + +// Copy .well-known to site root +site.copy("static/.well-known", ".well-known") + +// Get current commit as a version number +// Taken from https://github.com/pixeldesu/pixelde.su/blob/main/_config.ts +// Associated usage in src/_includes/components/footer.vto also from the above repo +const commitCmd = new Deno.Command("git", { args: ["rev-parse", "HEAD"] }); +const { stdout } = await commitCmd.output(); +const commitHash = new TextDecoder().decode(stdout); +site.data("commit", commitHash); + export default site; diff --git a/scripts/simple-icons/src/classes.json b/scripts/simple-icons/src/classes.json index 031af89..b388158 100644 --- a/scripts/simple-icons/src/classes.json +++ b/scripts/simple-icons/src/classes.json @@ -2,5 +2,7 @@ "si-bluesky", "si-forgejo", "si-github", - "si-kofi" + "si-kofi", + "si-lastdotfm", + "si-rss" ] \ No newline at end of file diff --git a/src/_data.toml b/src/_data.toml index 01d1331..1191c08 100644 --- a/src/_data.toml +++ b/src/_data.toml @@ -7,10 +7,23 @@ generator = true name = "dish" pronouns = "fox/it/she" icon = "assets/author.png" -[author.links] -email = "pyrox@pyrox.dev" -linkedin = "pyrox-rabach" -github = "pyrox0" -forgejo = "https://git.pyrox.dev/pyrox" -kofi = "pyroxdev" -bluesky = "pyrox.dev" +[[author.links]] +service = "bluesky" +link = "https://bsky.app/profile/pyrox.dev" +description = "personal Bluesky account" +[[author.links]] +service = "lastdotfm" +link = "https://www.last.fm/user/thehedgeh0g" +description = "last.fm profile" +[[author.links]] +service = "forgejo" +link = "https://git.pyrox.dev/pyrox" +description = "personal Git forge" +[[author.links]] +service = "github" +link = "https://github.com/pyrox0" +description = "Github profile" +[[author.links]] +service = "kofi" +link = "https://ko-fi.com/pyroxdev" +description = "Ko-fi donation page" diff --git a/src/_includes/components/footer.vto b/src/_includes/components/footer.vto index c436ae4..ad18ff0 100644 --- a/src/_includes/components/footer.vto +++ b/src/_includes/components/footer.vto @@ -1,33 +1,29 @@ diff --git a/src/_includes/components/head.vto b/src/_includes/components/head.vto index c419b36..eef460d 100644 --- a/src/_includes/components/head.vto +++ b/src/_includes/components/head.vto @@ -7,3 +7,4 @@ +{{title}} diff --git a/src/_includes/components/navbar.vto b/src/_includes/components/navbar.vto index f3092b2..5155c3d 100644 --- a/src/_includes/components/navbar.vto +++ b/src/_includes/components/navbar.vto @@ -1,3 +1,3 @@ -
- + diff --git a/src/_includes/layouts/home.vto b/src/_includes/layouts/home.vto index 06ae3ca..e797bc4 100644 --- a/src/_includes/layouts/home.vto +++ b/src/_includes/layouts/home.vto @@ -1,9 +1,10 @@ - + {{ include "components/head.vto" }} + {{ include "components/navbar.vto" }}

meow

the fitnessgram pacer test

{{ include "components/footer.vto" }} diff --git a/src/index.vto b/src/index.vto index 42e0afc..b3eafff 100644 --- a/src/index.vto +++ b/src/index.vto @@ -1,6 +1,6 @@ --- -title: dish's space -description: "Lover of computers, programming, and sysadmin." +title: a space +summary: "Lover of computers, programming, and sysadmin." layout: layouts/home.vto --- diff --git a/src/static/.well-known/gpc.json b/src/static/.well-known/gpc.json new file mode 100644 index 0000000..7e446d6 --- /dev/null +++ b/src/static/.well-known/gpc.json @@ -0,0 +1,4 @@ +{ + "gpc": true, + "lastUpdate": "2025-02-11" +} diff --git a/src/static/.well-known/security.txt b/src/static/.well-known/security.txt new file mode 100644 index 0000000..46867f6 --- /dev/null +++ b/src/static/.well-known/security.txt @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +Contact: mailto:security@pyrox.dev +Expires: 2026-02-12T04:59:00.000Z +Encryption: openpgp4fpr:4ca972fbadc814160f103138fe1d8a7d620c611f +Preferred-Languages: en +Canonical: https://pyrox.dev/.well-known/security.txt + +-----BEGIN PGP SIGNATURE----- + +iHUEABYKAB0WIQRcJmkgwiI/tZCB1+yM3z98qlOg9QUCZ6ryvgAKCRCM3z98qlOg +9Z87AP43GMmPJGHCBT+uBW9NQIbdNbvjs5oARZoNEv43xI09DgEAiRRsViRZPPOO +/p/7pthsFYLEWhR+/fCHdtGF4FkXEw0= +=w0Lz +-----END PGP SIGNATURE----- diff --git a/src/static/icons/si.min.css b/src/static/icons/si.min.css index 67e6b16..8992bf7 100644 --- a/src/static/icons/si.min.css +++ b/src/static/icons/si.min.css @@ -1,11 +1,11 @@ @font-face { font-family: "Simple Icons"; src: - url("/static/icons/si.min.woff2?v=1739141282") format("woff2") + url("/static/icons/si.min.woff2?v=1739249025") format("woff2") } .si { font-style: normal; font-family: "Simple Icons", sans-serif; vertical-align: middle; -}.si-bluesky::before { content: "\eb81"; }.si-forgejo::before { content: "\edf3"; }.si-github::before { content: "\ee42"; }.si-kofi::before { content: "\eff6"; } \ No newline at end of file +}.si-bluesky::before { content: "\eb81"; }.si-forgejo::before { content: "\edf3"; }.si-github::before { content: "\ee42"; }.si-kofi::before { content: "\eff6"; }.si-lastdotfm::before { content: "\f01f"; }.si-rss::before { content: "\f38e"; } \ No newline at end of file diff --git a/src/static/icons/si.min.woff2 b/src/static/icons/si.min.woff2 index de984a3141c1c1e3bd80e1d8bacb8dc18c18da2a..060a603ee5caf7d4239cf58324f7bdfb980461a7 100644 GIT binary patch literal 1680 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