diff --git a/.eleventy.js b/.eleventy.js index 4e805f34..db5104bf 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -1,7 +1,6 @@ const syntaxHighlight = require('@11ty/eleventy-plugin-syntaxhighlight') const tablerIcons = require('eleventy-plugin-tabler-icons') const pluginUnfurl = require('eleventy-plugin-unfurl') -const pluginFilesMinifier = require('@sherby/eleventy-plugin-files-minifier') const schema = require('@quasibit/eleventy-plugin-schema') const pluginRss = require('@11ty/eleventy-plugin-rss') const embedYouTube = require('eleventy-plugin-youtube-embed') @@ -33,7 +32,6 @@ module.exports = function (eleventyConfig) { eleventyConfig.addPlugin(syntaxHighlight) eleventyConfig.addPlugin(tablerIcons) eleventyConfig.addPlugin(pluginUnfurl) - eleventyConfig.addPlugin(pluginFilesMinifier) eleventyConfig.addPlugin(schema) eleventyConfig.addPlugin(embedYouTube, { modestBranding: true, @@ -119,21 +117,24 @@ module.exports = function (eleventyConfig) { md.use(markdownItFootnote) eleventyConfig.setLibrary('md', md) + // filters eleventyConfig.addLiquidFilter('markdown', (content) => { if (!content) return return md.render(content) }) - Object.keys(filters).forEach((filterName) => { eleventyConfig.addLiquidFilter(filterName, filters[filterName]) }) eleventyConfig.addLiquidFilter('dateToRfc822', pluginRss.dateToRfc822) eleventyConfig.addLiquidFilter('absoluteUrl', pluginRss.absoluteUrl) - eleventyConfig.addFilter('cssmin', (code) => new CleanCSS({}).minify(code).styles) + // shortcodes eleventyConfig.addShortcode('image', img) + // transforms + eleventyConfig.addPlugin(require('./config/transforms/html-config.js')); + eleventyConfig.on('eleventy.after', () => { execSync(`npx pagefind --site _site --glob "**/*.html"`, { encoding: 'utf-8' }) }) diff --git a/config/filters/index.js b/config/filters/index.js index 640e1d75..ad266c5e 100644 --- a/config/filters/index.js +++ b/config/filters/index.js @@ -1,7 +1,6 @@ const { DateTime } = require('luxon') const markdownIt = require('markdown-it') const { URL } = require('url') -const marked = require('marked') const sanitizeHTML = require('sanitize-html') const utmPattern = /[?&](utm_[^&=]+=[^&#]*)/gi @@ -12,16 +11,9 @@ module.exports = { trim: (string, limit) => { return string.length <= limit ? string : `${string.slice(0, limit)}...` }, - stripIndex: (path) => { - return path.replace('/index.html', '/') - }, - mdToHtml: (content) => { - return marked.parse(content) - }, btoa: (string) => { return btoa(string) }, - dashLower: (string) => string.replace(/\s+/g, '-').toLowerCase(), encodeAmp: (string) => { if (!string) return const pattern = /&(?!(?:[a-zA-Z]+|#[0-9]+|#x[0-9a-fA-F]+);)/g @@ -54,7 +46,6 @@ module.exports = { }, webmentionsByUrl: (webmentions, url) => { const allowedTypes = ['mention-of', 'in-reply-to', 'like-of', 'repost-of'] - const data = { 'like-of': [], 'repost-of': [], diff --git a/config/transforms/html-config.js b/config/transforms/html-config.js new file mode 100644 index 00000000..8e06e032 --- /dev/null +++ b/config/transforms/html-config.js @@ -0,0 +1,18 @@ +const htmlmin = require('html-minifier-terser') +const isProduction = process.env.ELEVENTY_ENV === 'production' + +module.exports = (eleventyConfig) => { + eleventyConfig.addTransform('html-minify', (content, path) => { + if (path && path.endsWith('.html') && isProduction) { + return htmlmin.minify(content, { + collapseBooleanAttributes: true, + collapseWhitespace: true, + decodeEntities: true, + includeAutoGeneratedTags: false, + removeComments: true, + }) + } + + return content + }) +} diff --git a/package-lock.json b/package-lock.json index f5086d3e..f3d731a2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "coryd.dev", - "version": "2.3.1", + "version": "2.5.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "coryd.dev", - "version": "2.3.1", + "version": "2.5.3", "license": "ISC", "devDependencies": { "@11ty/eleventy": "^2.0.1", @@ -19,7 +19,6 @@ "@commitlint/cli": "^18.4.3", "@commitlint/config-conventional": "^18.4.3", "@quasibit/eleventy-plugin-schema": "^1.11.0", - "@sherby/eleventy-plugin-files-minifier": "^1.1.1", "@tailwindcss/aspect-ratio": "^0.4.2", "@tailwindcss/line-clamp": "^0.4.4", "@tailwindcss/typography": "^0.5.10", @@ -36,6 +35,7 @@ "eslint-config-prettier": "^9.1.0", "eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-prettier": "^5.0.1", + "html-minifier-terser": "^7.2.0", "husky": "^8.0.3", "ics-to-json-extended": "^1.1.4", "jsdom": "^23.0.1", @@ -1037,6 +1037,16 @@ "node": ">=6.0.0" } }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", @@ -1201,16 +1211,6 @@ "@11ty/eleventy": "^0.11.0 || ^0.12.0 || ^1.0.0 || ^2.0.0" } }, - "node_modules/@sherby/eleventy-plugin-files-minifier": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@sherby/eleventy-plugin-files-minifier/-/eleventy-plugin-files-minifier-1.1.1.tgz", - "integrity": "sha512-3gVtq4H6IJ3/l4mRsTHAOG/5AY8NXgXd0w1EXaXImzEThAOQ++/Mr95dF9u9wTCmmv+57SeG62/tJibtyL8JRA==", - "dev": true, - "dependencies": { - "html-minifier": "^4.0.0", - "pretty-data": "^0.40.0" - } - }, "node_modules/@sindresorhus/slugify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-1.1.2.tgz", @@ -2361,6 +2361,12 @@ "ieee754": "^1.1.13" } }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, "node_modules/bundle-name": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", @@ -2408,13 +2414,13 @@ } }, "node_modules/camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", "dev": true, "dependencies": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" } }, "node_modules/camelcase": { @@ -3572,6 +3578,16 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/dot-prop": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", @@ -5309,15 +5325,6 @@ "node": ">= 0.4" } }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, "node_modules/hosted-git-info": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", @@ -5342,37 +5349,34 @@ "node": ">=18" } }, - "node_modules/html-minifier": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", - "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", + "node_modules/html-minifier-terser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", + "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", "dev": true, "dependencies": { - "camel-case": "^3.0.0", - "clean-css": "^4.2.1", - "commander": "^2.19.0", - "he": "^1.2.0", - "param-case": "^2.1.1", + "camel-case": "^4.1.2", + "clean-css": "~5.3.2", + "commander": "^10.0.0", + "entities": "^4.4.0", + "param-case": "^3.0.4", "relateurl": "^0.2.7", - "uglify-js": "^3.5.1" + "terser": "^5.15.1" }, "bin": { - "html-minifier": "cli.js" + "html-minifier-terser": "cli.js" }, "engines": { - "node": ">=6" + "node": "^14.13.1 || >=16.0.0" } }, - "node_modules/html-minifier/node_modules/clean-css": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", - "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true, - "dependencies": { - "source-map": "~0.6.0" - }, "engines": { - "node": ">= 4.0" + "node": ">=14" } }, "node_modules/htmlparser2": { @@ -7309,10 +7313,13 @@ } }, "node_modules/lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", - "dev": true + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } }, "node_modules/lru-cache": { "version": "6.0.0", @@ -7867,12 +7874,13 @@ "dev": true }, "node_modules/no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", "dev": true, "dependencies": { - "lower-case": "^1.1.1" + "lower-case": "^2.0.2", + "tslib": "^2.0.3" } }, "node_modules/node-abi": { @@ -8324,12 +8332,13 @@ } }, "node_modules/param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", "dev": true, "dependencies": { - "no-case": "^2.2.0" + "dot-case": "^3.0.4", + "tslib": "^2.0.3" } }, "node_modules/parent-module": { @@ -8389,6 +8398,16 @@ "node": ">= 0.8" } }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -8911,15 +8930,6 @@ "node": ">=0.10.0" } }, - "node_modules/pretty-data": { - "version": "0.40.0", - "resolved": "https://registry.npmjs.org/pretty-data/-/pretty-data-0.40.0.tgz", - "integrity": "sha512-YFLnEdDEDnkt/GEhet5CYZHCvALw6+Elyb/tp8kQG03ZSIuzeaDWpZYndCXwgqu4NAjh1PI534dhDS1mHarRnQ==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/prismjs": { "version": "1.29.0", "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", @@ -10401,6 +10411,16 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/spdx-correct": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", @@ -10916,6 +10936,24 @@ "streamx": "^2.15.0" } }, + "node_modules/terser": { + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz", + "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/text-extensions": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-2.4.0.tgz", @@ -11289,6 +11327,7 @@ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", "dev": true, + "optional": true, "bin": { "uglifyjs": "bin/uglifyjs" }, @@ -11374,12 +11413,6 @@ "browserslist": ">= 4.21.0" } }, - "node_modules/upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", - "dev": true - }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", diff --git a/package.json b/package.json index 1defaa3e..066588af 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "coryd.dev", - "version": "2.5.3", + "version": "2.6.0", "description": "The source for my personal site, blog and portfolio. Built using 11ty and hosted on Netlify.", "main": "index.html", "scripts": { @@ -28,12 +28,11 @@ "@commitlint/cli": "^18.4.3", "@commitlint/config-conventional": "^18.4.3", "@quasibit/eleventy-plugin-schema": "^1.11.0", - "@sherby/eleventy-plugin-files-minifier": "^1.1.1", "@tailwindcss/aspect-ratio": "^0.4.2", "@tailwindcss/line-clamp": "^0.4.4", "@tailwindcss/typography": "^0.5.10", - "@typescript-eslint/parser": "^6.13.2", "@typescript-eslint/eslint-plugin": "^6.13.2", + "@typescript-eslint/parser": "^6.13.2", "autoprefixer": "^10.4.16", "child_process": "^1.0.2", "clean-css": "^5.3.3", @@ -45,6 +44,7 @@ "eslint-config-prettier": "^9.1.0", "eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-prettier": "^5.0.1", + "html-minifier-terser": "^7.2.0", "husky": "^8.0.3", "ics-to-json-extended": "^1.1.4", "jsdom": "^23.0.1", diff --git a/src/_data/meta.js b/src/_data/meta.js new file mode 100644 index 00000000..a59841a9 --- /dev/null +++ b/src/_data/meta.js @@ -0,0 +1,16 @@ +module.exports = { + siteName: 'Cory Dransfeldt', + siteDescription: + "I'm a software developer in Camarillo, California. I enjoy hanging out with my beautiful family and 4 rescue dogs, technology, automation, music, writing, reading and tv and movies.", + author: 'Cory Dransfeldt', + authorEmail: 'cory.dransfeldt@gmail.com', + authorWebsite: 'https://coryd.dev', + themeColor: '#3b82f6', + url: process.env.URL || 'http://localhost:8080', + siteType: 'Person', + locale: 'en_US', + lang: 'en', + meta_data: { + opengraph_default: 'https://coryd.dev/assets/img/logo.webp', + }, +} diff --git a/src/_data/site.js b/src/_data/site.js deleted file mode 100644 index d244dc92..00000000 --- a/src/_data/site.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = async function () { - return { - name: 'Cory Dransfeldt', - email: 'cory.dransfeldt@gmail.com', - url: 'https://coryd.dev', - logo: 'https://coryd.dev/assets/img/logo.webp', - title: 'Cory Dransfeldt', - description: - "I'm a software developer in Camarillo, California. I enjoy hanging out with my beautiful family and 4 rescue dogs, technology, automation, music, writing, reading and tv and movies.", - } -} diff --git a/src/_includes/base.liquid b/src/_includes/base.liquid index 847ca0be..aaf49382 100644 --- a/src/_includes/base.liquid +++ b/src/_includes/base.liquid @@ -1,5 +1,5 @@ {%- capture fullUrl %} - {{ site.url }}{{ page.url }}{% endcapture -%} + {{ meta.url }}{{ page.url }}{% endcapture -%} <!doctype html> <html class="scrollbar-thin scrollbar-thumb-blue-600 dark:scrollbar-thumb-blue-400 scrollbar-track-blue-100" lang="en"> <head> @@ -7,17 +7,17 @@ {% if title %} {{ title }} • {% endif %} - {{ site.title }}</title> + {{ meta.siteName }}</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="canonical" href="{{ fullUrl }}" /> - <meta property="og:title" content="{% if title %}{{ title }} • {% endif %}{{site.title}}" /> - <meta name="description" content="{% if excerpt %}{{ excerpt}}{% else %}{{ site.description }}{% endif %}" /> - <meta property="og:description" content="{% if excerpt %}{{ excerpt}}{% else %}{{ site.description }}{% endif %}" /> + <meta property="og:title" content="{% if title %}{{ title }} • {% endif %}{{meta.title}}" /> + <meta name="description" content="{% if excerpt %}{{ excerpt}}{% else %}{{ meta.siteDescription }}{% endif %}" /> + <meta property="og:description" content="{% if excerpt %}{{ excerpt}}{% else %}{{ meta.siteDescription }}{% endif %}" /> <meta property="og:type" content="article" /> <meta property="og:url" content="{{ fullUrl }}" /> <meta property="og:image" content="{{ image | getPostImage }}"> - <meta name="theme-color" content="#3b82f6" /> + <meta name="theme-color" content="{{ meta.themeColor }}" /> <meta name="generator" content="{{ eleventy.generator }}"> <meta name="robots" content="noai, noimageai"> <link @@ -55,9 +55,11 @@ href="https://feedpress.me/coryd-follow" title="Cory Dransfeldt's activity feed" type="application/rss+xml"> - <script type="application/ld+json"> - {% jsonLd meta, type, tags %} - </script> + {% if schema == 'blog' %} + {% render "schemas/blogpost-schema.liquid", meta: meta, page: page %} + {% else %} + {% render "schemas/base-schema.liquid", meta: meta, page: page %} + {% endif %} <script defer data-domain="coryd.dev" src="/js/script.js"></script> <script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script> <noscript> diff --git a/src/_includes/default.liquid b/src/_includes/default.liquid index d3448b93..56bd18c7 100644 --- a/src/_includes/default.liquid +++ b/src/_includes/default.liquid @@ -1,7 +1,7 @@ --- layout: main --- -{% render "partials/header.liquid", site: site, page: page, nav: nav %} +{% render "partials/header.liquid", meta: meta, page: page, nav: nav %} <div class="pt-8 prose dark:prose-invert hover:prose-a:text-blue-800 dark:hover:prose-a:text-blue-200 max-w-full"> {{ content }} </div> \ No newline at end of file diff --git a/src/_includes/now.liquid b/src/_includes/now.liquid index caeb20cd..774dff84 100644 --- a/src/_includes/now.liquid +++ b/src/_includes/now.liquid @@ -1,7 +1,7 @@ --- layout: main --- -{% render "partials/header.liquid", site: site, page: page, nav: nav %} +{% render "partials/header.liquid", meta: meta, page: page, nav: nav %} {{ content }} {% render "partials/now/media-grid.liquid", data:artists, icon: "microphone-2", title: "Artists", shape: "square", count: 8, loading: 'eager' %} {% render "partials/now/media-grid.liquid", data:albums, icon: "vinyl", title: "Albums", shape: "square", count: 8 %} diff --git a/src/_includes/partials/author.liquid b/src/_includes/partials/author.liquid index 2189388d..ccef3079 100644 --- a/src/_includes/partials/author.liquid +++ b/src/_includes/partials/author.liquid @@ -1,9 +1,9 @@ <div class="mt-12 py-8 border-t-2 flex flex-col md:flex-row justify-between items-center"> <div class="flex flex-col mb-4 md:mb-0 md:flex-row items-center flex-1"> <div class="border border-blue-600 dark:border-blue-400 bg-white rounded-full overflow-hidden mb-4 md:mb-0 md:mr-4 [&>*]:h-20 [&>*]:w-20 flex flex-col items-center"> - {% image './src/assets/img/avatar.webp', site.name, 'inline-block' %} + {% image './src/assets/img/avatar.webp', meta.siteName, 'inline-block' %} </div> - <span class="text-lg font-medium">{{ site.name }}</span> + <span class="text-lg font-medium">{{ meta.siteName }}</span> </div> - <p class="text-sm flex-1">{{ site.description }}</p> + <p class="text-sm flex-1">{{ meta.siteDescription }}</p> </div> \ No newline at end of file diff --git a/src/_includes/partials/feeds/json.liquid b/src/_includes/partials/feeds/json.liquid index 5ef0717b..f0af4623 100644 --- a/src/_includes/partials/feeds/json.liquid +++ b/src/_includes/partials/feeds/json.liquid @@ -3,8 +3,8 @@ "version": "https://jsonfeed.org/version/1", "title": "{{ title }}", "icon": "https://coryd.dev/static/images/avatar.webp", - "home_page_url": "{{ site.url }}", - "feed_url": "{{ site.url }}{{ permalink }}", + "home_page_url": "{{ meta.url }}", + "feed_url": "{{ meta.url }}{{ permalink }}", "items": [{% for entry in entries limit: 20 -%} { "id": "{{ entry.url | btoa }}", diff --git a/src/_includes/partials/feeds/rss.liquid b/src/_includes/partials/feeds/rss.liquid index 17be393b..4d214c10 100644 --- a/src/_includes/partials/feeds/rss.liquid +++ b/src/_includes/partials/feeds/rss.liquid @@ -4,12 +4,12 @@ {% assign entries = data | normalizeEntries -%} <title>{{ title }}</title> <description>{{ description }}</description> - <link>{{ permalink | absoluteUrl: site.url }}</link> + <link>{{ permalink | absoluteUrl: meta.url }}</link> <lastBuildDate>{{ updated }}</lastBuildDate> <image> <title>{{ title }}</title> - <link>{{ permalink | absoluteUrl: site.url }}</link> - <url>{{ site.url }}/assets/icons/feed-icon.png</url> + <link>{{ permalink | absoluteUrl: meta.url }}</link> + <url>{{ meta.url }}/assets/icons/feed-icon.png</url> <width>144</width> <height>144</height> </image> diff --git a/src/_includes/partials/header.liquid b/src/_includes/partials/header.liquid index 5e1b4960..9b83c572 100644 --- a/src/_includes/partials/header.liquid +++ b/src/_includes/partials/header.liquid @@ -1,6 +1,6 @@ <div class="flex flex-col md:flex-row md:items-center md:justify-between pt-5 md:pt-10"> <h1 class="text-2xl md:text-3xl font-black leading-tight pb-5 md:pb-0"> - <a class="text-gray-700 dark:text-gray-200" href="/">{{ site.title }}</a> + <a class="text-gray-700 dark:text-gray-200" href="/">{{ meta.siteName }}</a> </h1> {% render "partials/nav/menu.liquid", page: page, nav: nav %} </div> \ No newline at end of file diff --git a/src/_includes/post.liquid b/src/_includes/post.liquid index cb5f3127..485070ac 100644 --- a/src/_includes/post.liquid +++ b/src/_includes/post.liquid @@ -1,7 +1,8 @@ --- layout: main +schema: blog --- -{% render "partials/header.liquid", site: site, page: page, nav: nav %} +{% render "partials/header.liquid", meta: meta, page: page, nav: nav %} <article class="h-entry" data-pagefind-body> {% if link %} <a class="no-underline" href="{{ link }}"> @@ -13,7 +14,7 @@ layout: main {% else %} <h2 class="p-name text-xl md:text-2xl font-black leading-tight dark:text-gray-200 pt-8" data-pagefind-meta="title">{{ title }}</h2> {% endif %} - <span class="p-author h-card hidden">{{ site.title }}</span> + <span class="p-author h-card hidden">{{ meta.author }}</span> <time class="mt-2 mb-6 block text-sm dt-published" datetime="{{ date }}">{{ date | readableDate }}</time> <div class="p-summary hidden">{{ post_excerpt | markdown }}</div> <div class="e-content prose dark:prose-invert hover:prose-a:text-blue-800 dark:hover:prose-a:text-blue-200 max-w-full text-gray-800 dark:text-white"> @@ -22,5 +23,5 @@ layout: main </article> {% render "partials/post-tags.liquid", tags: tags %} {% render "partials/webmentions/container.liquid", webmentions: webmentions, page: page %} -{% render "partials/author.liquid", site: site %} +{% render "partials/author.liquid", meta: meta %} {% render "partials/popular-posts.liquid", posts: collections.posts, analytics: analytics %} \ No newline at end of file diff --git a/src/_includes/schemas/base-schema.liquid b/src/_includes/schemas/base-schema.liquid new file mode 100644 index 00000000..151cdbf7 --- /dev/null +++ b/src/_includes/schemas/base-schema.liquid @@ -0,0 +1,15 @@ +<script type="application/ld+json"> + { + "@context": "https://schema.org", + "@graph": [ + { + "@type": "WebSite", + "@id": "{{ meta.url }}#website", + "url": "{{ meta.url }}", + "name": "{{ meta.siteName }}", + "description": "{{ meta.siteDescription }}", + "inLanguage": "{{ meta.locale }}" + } + ] + } +</script> \ No newline at end of file diff --git a/src/_includes/schemas/blogpost-schema.liquid b/src/_includes/schemas/blogpost-schema.liquid new file mode 100644 index 00000000..78c7ed99 --- /dev/null +++ b/src/_includes/schemas/blogpost-schema.liquid @@ -0,0 +1,27 @@ +<script type="application/ld+json"> + { + "@context": "https://schema.org", + "@type": "BlogPosting", + "mainEntityOfPage": { + "@type": "WebPage" + }, + "isPartOf": { + "@id": "{{ meta.url }}#website" + }, + "@id": "{{ page.url }}", + "headline": "{{ page.title or meta.siteName }}", + "description": "{% if page.description %}{{ page.description }}{% else %}{{ meta.siteDescription }}{% endif %}", + "image": "{% if page.image %}{{ page.image }}{% else %}{{ meta.meta_data.opengraph_default }}{% endif %}", + "inLanguage": "{{ meta.locale }}", + "publisher": { + "@type": "{{ meta.siteType }}", + "name": "{{ meta.author }}", + "url": "{{ meta.url }}" + }, + "author": { + "@type": "Person", + "name": "{{ meta.author }}" + }, + "datePublished": "{{ page.date | isoDateOnly }}" + } +</script> \ No newline at end of file diff --git a/src/index.html b/src/index.html index 65fe0435..47431a7d 100644 --- a/src/index.html +++ b/src/index.html @@ -41,7 +41,7 @@ meta: </h2> {% endif %} </a> - <span class="p-author h-card hidden">{{ site.title }}</span> + <span class="p-author h-card hidden">{{ meta.siteName }}</span> <div class="my-2 text-sm"> <time class="dt-published" datetime="{{ post.date }}"> {{ post.date | date: "%m.%Y" }} {% if post.data.link %} • <a class="flex-none font-normal no-underline" href="{{ post.url }}">Permalink</a>{% endif %} diff --git a/src/404.html b/src/pages/404.html similarity index 97% rename from src/404.html rename to src/pages/404.html index 96e95eec..571853b8 100644 --- a/src/404.html +++ b/src/pages/404.html @@ -1,7 +1,7 @@ --- -title: '404' +title: 404 layout: default -permalink: 404.html +permalink: /404.html --- {% image './src/assets/img/404.jpg', title, 'border border-blue-600 dark:border-blue-400 rounded-lg overflow-hidden [&>*]:w-full' %} diff --git a/src/about.md b/src/pages/about.md similarity index 67% rename from src/about.md rename to src/pages/about.md index 90c1a7a6..99edda19 100644 --- a/src/about.md +++ b/src/pages/about.md @@ -1,26 +1,12 @@ --- -layout: default title: About -meta: - site: - name: 'Cory Dransfeldt' - description: "I'm a software developer in Camarillo, California. I enjoy hanging out with my beautiful family and 4 rescue dogs, technology, automation, music, writing, reading and tv and movies." - url: https://coryd.dev - logo: - src: https://coryd.dev/assets/img/logo.webp - width: 2000 - height: 2000 - language: en-US - title: 'Cory Dransfeldt • About' - description: 'Husband, dad, developer, music nerd.' - url: https://coryd.dev/about - image: - src: https://coryd.dev/assets/img/avatar.webp +layout: default +permalink: /about.html --- <div class="flex items-center justify-center w-full not-prose mb-6"> <div class="border border-blue-600 dark:border-blue-400 bg-white rounded-full overflow-hidden p-4 w-64 h-64 md:w-96 md:h-96 flex items-center [&>*]:w-full [&>*]:h-auto"> - {% capture about_alt %}{{ site.name }} - image by David Neal / @reverentgeek{% endcapture %} + {% capture about_alt %}{{ meta.siteName }} - image by David Neal / @reverentgeek{% endcapture %} {% image './src/assets/img/avatar.webp', about_alt %} </div> </div> diff --git a/src/blogroll.md b/src/pages/blogroll.md similarity index 54% rename from src/blogroll.md rename to src/pages/blogroll.md index 1d6d015f..a7f7a8e1 100644 --- a/src/blogroll.md +++ b/src/pages/blogroll.md @@ -1,21 +1,8 @@ --- -layout: default title: Blogroll -meta: - site: - name: 'Cory Dransfeldt' - description: "I'm a software developer in Camarillo, California. I enjoy hanging out with my beautiful family and 4 rescue dogs, technology, automation, music, writing, reading and tv and movies." - url: https://coryd.dev - logo: - src: https://coryd.dev/assets/img/logo.webp - width: 2000 - height: 2000 - language: en-US - title: 'Cory Dransfeldt • Blogroll' - description: 'These are awesome blogs that I enjoy and you may enjoy too.' - url: https://coryd.dev/blogroll - image: - src: https://coryd.dev/assets/img/avatar.webp +layout: default +permalink: /blogroll.html +description: 'These are awesome blogs that I enjoy and you may enjoy too.' --- <h2 diff --git a/src/contact-success.html b/src/pages/contact-success.html similarity index 94% rename from src/contact-success.html rename to src/pages/contact-success.html index 329a3d6c..56ea99c1 100644 --- a/src/contact-success.html +++ b/src/pages/contact-success.html @@ -1,7 +1,7 @@ --- -title: 'Success' +title: Success layout: default -permalink: contact/success.html +permalink: /contact/success.html --- <div class="text-center w-full"> diff --git a/src/contact.md b/src/pages/contact.md similarity index 74% rename from src/contact.md rename to src/pages/contact.md index 3f29e03b..864bd9f7 100644 --- a/src/contact.md +++ b/src/pages/contact.md @@ -1,21 +1,8 @@ --- -layout: default title: Contact -meta: - site: - name: 'Cory Dransfeldt' - description: "I'm a software developer in Camarillo, California. I enjoy hanging out with my beautiful family and 4 rescue dogs, technology, automation, music, writing, reading and tv and movies." - url: https://coryd.dev - logo: - src: https://coryd.dev/assets/img/logo.webp - width: 2000 - height: 2000 - language: en-US - title: 'Cory Dransfeldt • Contact' - description: 'How to contact me.' - url: https://coryd.dev/contact - image: - src: https://coryd.dev/assets/img/avatar.webp +layout: default +permalink: /contact.html +description: 'How to contact me.' --- <h2 @@ -30,7 +17,7 @@ meta: <ul> <li>Ping me on <a href="https://social.lol/@cory">Mastodon</a></li> <li>Message me on Signal or iMessage (if you have my phone number)</li> - <li><a href="mailto:{{ site.email }}">Email me directly</a> if you have a client set up to use <code>mailto:</code> links</li> + <li><a href="mailto:{{ meta.authorEmail }}">Email me directly</a> if you have a client set up to use <code>mailto:</code> links</li> <li>File an issue on the appropriate repo over at <a href="https://github.com/cdransf">GitHub</a></li> </ul> </div> diff --git a/src/feeds.md b/src/pages/feeds.md similarity index 62% rename from src/feeds.md rename to src/pages/feeds.md index aafc4e8d..9e186b93 100644 --- a/src/feeds.md +++ b/src/pages/feeds.md @@ -1,21 +1,8 @@ --- -layout: default title: Feeds -meta: - site: - name: 'Cory Dransfeldt' - description: "I'm a software developer in Camarillo, California. I enjoy hanging out with my beautiful family and 4 rescue dogs, technology, automation, music, writing, reading and tv and movies." - url: https://coryd.dev - logo: - src: https://coryd.dev/assets/img/logo.webp - width: 2000 - height: 2000 - language: en-US - title: 'Cory Dransfeldt • Feeds' - description: 'Content feeds exposed by and generated from my site.' - url: https://coryd.dev/feeds - image: - src: https://coryd.dev/assets/img/avatar.webp +layout: default +permalink: /feeds.html +description: 'Content feeds exposed by and generated from my site.' --- <h2 diff --git a/src/now.html b/src/pages/now.html similarity index 73% rename from src/now.html rename to src/pages/now.html index aeafe906..29fe433d 100644 --- a/src/now.html +++ b/src/pages/now.html @@ -1,21 +1,8 @@ --- -layout: now title: Now -meta: - site: - name: 'Cory Dransfeldt' - description: "I'm a software developer in Camarillo, California. I enjoy hanging out with my beautiful family and 4 rescue dogs, technology, automation, music, writing, reading and tv and movies." - url: https://coryd.dev - logo: - src: https://coryd.dev/assets/img/logo.webp - width: 2000 - height: 2000 - language: en-US - title: 'Cory Dransfeldt • Now' - description: "See what I'm doing now." - url: https://coryd.dev/now - image: - src: https://coryd.dev/assets/img/avatar.webp +layout: now +permalink: /now.html +description: "See what I'm doing now." --- <h2 class="[&>svg]:h-5 [&>svg]:w-5 [&>svg]:md:h-7 [&>svg]:md:w-7 [&>svg]:-mt-1 [&>svg]:md:-mt-1.5 [&>svg]:inline icon--bold m-0 text-xl font-black leading-tight tracking-normal dark:text-gray-200 md:text-2xl mt-8 mb-4"> {% tablericon "clock-heart" "Currently" %} diff --git a/src/referrals.md b/src/pages/referrals.md similarity index 58% rename from src/referrals.md rename to src/pages/referrals.md index 8a3b48d8..8ea27028 100644 --- a/src/referrals.md +++ b/src/pages/referrals.md @@ -1,21 +1,8 @@ --- -layout: default title: Referrals -meta: - site: - name: 'Cory Dransfeldt' - description: "I'm a software developer in Camarillo, California. I enjoy hanging out with my beautiful family and 4 rescue dogs, technology, automation, music, writing, reading and tv and movies." - url: https://coryd.dev - logo: - src: https://coryd.dev/assets/img/logo.webp - width: 2000 - height: 2000 - language: en-US - title: 'Cory Dransfeldt • Referrals' - description: 'Referral links for services that I use.' - url: https://coryd.dev/referrals - image: - src: https://coryd.dev/assets/img/avatar.webp +layout: default +permalink: /referrals.html +description: 'Referral links for services that I use.' --- <h2 diff --git a/src/search.html b/src/pages/search.html similarity index 54% rename from src/search.html rename to src/pages/search.html index c80689d5..35744b69 100644 --- a/src/search.html +++ b/src/pages/search.html @@ -1,21 +1,7 @@ --- +title: /Search layout: default -title: Search -meta: - site: - name: 'Cory Dransfeldt' - description: "I'm a software developer in Camarillo, California. I enjoy hanging out with my beautiful family and 4 rescue dogs, technology, automation, music, writing, reading and tv and movies." - url: https://coryd.dev - logo: - src: https://coryd.dev/assets/img/logo.webp - width: 2000 - height: 2000 - language: en-US - title: 'Cory Dransfeldt • Search' - description: "Search everything I've posted on my site." - url: https://coryd.dev/search - image: - src: https://coryd.dev/assets/img/avatar.webp +permalink: /search.html --- <link href="https://coryd.dev/pagefind/pagefind-ui.css" rel="stylesheet" /> @@ -37,12 +23,12 @@ meta: } } </style> -<div id="search" class="search"></div> +<div id="/search" class="/search"></div> <script src="https://coryd.dev/_pagefind/pagefind-ui.js" - onload="new PagefindUI({ element: '#search', showImages: false, processTerm: (term) => { + onload="new PagefindUI({ element: '#/search', showImages: false, processTerm: (term) => { try{ - plausible('Search', {props: {method: 'Text', term}}); + plausible('/Search', {props: {method: 'Text', term}}); } catch(e){}; return term; } diff --git a/src/sitemap.md b/src/pages/sitemap.md similarity index 85% rename from src/sitemap.md rename to src/pages/sitemap.md index 4d720e69..5059b59b 100644 --- a/src/sitemap.md +++ b/src/pages/sitemap.md @@ -6,7 +6,7 @@ eleventyExcludeFromCollections: true <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> {% for page in collections.all %} <url> - <loc>{{ site.url }}{{ page.url | url }}</loc> + <loc>{{ meta.url }}{{ page.url | url }}</loc> <lastmod>{{ page.date }}</lastmod> <changefreq>{{page.data.changeFreq}}</changefreq> </url> diff --git a/src/tagList.md b/src/pages/tagList.md similarity index 100% rename from src/tagList.md rename to src/pages/tagList.md diff --git a/src/pages/tags.md b/src/pages/tags.md new file mode 100644 index 00000000..72ba279c --- /dev/null +++ b/src/pages/tags.md @@ -0,0 +1,14 @@ +--- +title: Tags +layout: default +permalink: /tags.html +--- +{% for tag in collections.tagList %} +<span> + <a href="/tags/{{ tag }}" class="!no-underline"> + <button class="pill--button"> + {{ tag }} + </button> + </a> +</span> +{% endfor %} diff --git a/src/uses.md b/src/pages/uses.md similarity index 92% rename from src/uses.md rename to src/pages/uses.md index 80438928..770552aa 100644 --- a/src/uses.md +++ b/src/pages/uses.md @@ -1,21 +1,9 @@ --- -layout: default title: Uses -meta: - site: - name: 'Cory Dransfeldt' - description: "I'm a software developer in Camarillo, California. I enjoy hanging out with my beautiful family and 4 rescue dogs, technology, automation, music, writing, reading and tv and movies." - url: https://coryd.dev - logo: - src: https://coryd.dev/assets/img/logo.webp - width: 2000 - height: 2000 - language: en-US - title: 'Cory Dransfeldt • Uses' - description: 'Software, tools and services that I use regularly.' - url: https://coryd.dev/uses - image: - src: https://coryd.dev/assets/img/pages/uses.jpg +layout: default +permalink: /uses.html +description: 'Software, tools and services that I use regularly.' +image: https://coryd.dev/assets/img/pages/uses.jpg --- <h2 diff --git a/src/pages/webrings.md b/src/pages/webrings.md new file mode 100644 index 00000000..ca93c4d1 --- /dev/null +++ b/src/pages/webrings.md @@ -0,0 +1,18 @@ +--- +title: Webrings +layout: default +permalink: /webrings.html +description: "Webrings are awesome! These are the ones I'm a member of." +--- + +<h2 +class="m-0 text-xl font-black leading-tight tracking-normal dark:text-gray-200 md:text-2xl mb-2" +> +{{ title }} +</h2> + +[Webrings](https://en.wikipedia.org/wiki/Webring) are _awesome_. I'm a member of a few that follow. Check them out! + +{% render "webrings/the-claw.liquid" %} +<hr /> +{% render "webrings/css-joy.liquid" %} diff --git a/src/posts/2023/drying-up-now-page-templates-eleventy.md b/src/posts/2023/drying-up-now-page-templates-eleventy.md index 5523a41e..7b9973cb 100644 --- a/src/posts/2023/drying-up-now-page-templates-eleventy.md +++ b/src/posts/2023/drying-up-now-page-templates-eleventy.md @@ -132,7 +132,7 @@ We use the [liquid.js render tag](https://liquidjs.com/tags/render.html) and pas --- layout: main --- -{% render "partials/header.liquid", site: site, page: page, nav: nav %} +{% render "partials/header.liquid", meta: meta, page: page, nav: nav %} {{ content }} {% render "partials/now/media-grid.liquid", data:artists, icon: "microphone-2", title: "Artists", shape: "square", count: 8, loading: 'eager' %} {% render "partials/now/media-grid.liquid", data:albums, icon: "vinyl", title: "Albums", shape: "square", count: 8, loading: 'lazy' %} diff --git a/src/posts/2023/fastmail-handling-inbound-email-with-regex-filters-now-with-chatgpt.md b/src/posts/2023/fastmail-handling-inbound-email-with-regex-filters-now-with-chatgpt.md index 9fe73a4c..0081aaad 100644 --- a/src/posts/2023/fastmail-handling-inbound-email-with-regex-filters-now-with-chatgpt.md +++ b/src/posts/2023/fastmail-handling-inbound-email-with-regex-filters-now-with-chatgpt.md @@ -3,7 +3,7 @@ date: '2023-02-17' title: 'Workflows: handling inbound email on Fastmail with regular expressions (now featuring ChatGPT)' draft: false tags: ['Email', 'Fastmail', 'regular expressions', 'workflows', 'ChatGPT'] -image: /assets/img/og/fastmail-workflow.webp +image: https://cdn.coryd.dev/blog/fastmail-workflow.jpg --- I've been using Fastmail for years now and have explored a number of different approaches to handling mail. I've approached it by creating rules targeting lists of top level domains, I've gone with no rules at all and a heavy-handed approach to unsubscribing from messages (operating under the idea that _everything_ warrants being seen and triaged) and I've even used HEY.<!-- excerpt -->[^1] diff --git a/src/posts/posts.11tydata.js b/src/posts/posts.11tydata.js deleted file mode 100644 index d09e0011..00000000 --- a/src/posts/posts.11tydata.js +++ /dev/null @@ -1,32 +0,0 @@ -const { getPostImage } = require('../../config/filters') -const md = require('markdown-it')() -const striptags = require('striptags') - -module.exports = { - eleventyComputed: { - meta: { - site: { - name: 'Cory Dransfeldt', - description: - "I'm a software developer in Camarillo, California. I enjoy hanging out with my beautiful family and 4 rescue dogs, technology, automation, music, writing, reading and tv and movies.", - url: 'https://coryd.dev', - logo: { - src: 'https://coryd.dev/assets/img/logo.webp', - width: 2000, - height: 2000, - }, - }, - language: 'en-US', - title: (data) => data.title, - description: (data) => striptags(md.render(data.post_excerpt)), - url: (data) => data.url, - image: { - src: (data) => data.image | getPostImage, - }, - author: { - name: 'Cory Dransfeldt', - }, - published: (data) => data.date, - }, - }, -} diff --git a/src/tags.md b/src/tags.md deleted file mode 100644 index 6bb3befd..00000000 --- a/src/tags.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: default -title: Tags -meta: - site: - name: 'Cory Dransfeldt' - description: "I'm a software developer in Camarillo, California. I enjoy hanging out with my beautiful family and 4 rescue dogs, technology, automation, music, writing, reading and tv and movies." - url: https://coryd.dev - logo: - src: https://coryd.dev/assets/img/logo.webp - width: 2000 - height: 2000 - language: en-US - title: 'Cory Dransfeldt • Tags' - description: 'Browse all of my posts by tag.' - url: https://coryd.dev/tags - image: - src: https://coryd.dev/assets/img/avatar.webp ---- -{% for tag in collections.tagList %} -<span> - <a href="/tags/{{ tag }}" class="!no-underline"> - <button class="pill--button"> - {{ tag }} - </button> - </a> -</span> -{% endfor %} diff --git a/src/webrings.md b/src/webrings.md deleted file mode 100644 index ba427953..00000000 --- a/src/webrings.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -layout: default -title: Webrings -meta: - site: - name: 'Cory Dransfeldt' - description: "I'm a software developer in Camarillo, California. I enjoy hanging out with my beautiful family and 4 rescue dogs, technology, automation, music, writing, reading and tv and movies." - url: https://coryd.dev - logo: - src: https://coryd.dev/assets/img/logo.webp - width: 2000 - height: 2000 - language: en-US - title: 'Cory Dransfeldt • Webrings' - description: 'Content feeds exposed by and generated from my site.' - url: https://coryd.dev/webrings - image: - src: https://coryd.dev/assets/img/avatar.webp ---- - -<h2 -class="m-0 text-xl font-black leading-tight tracking-normal dark:text-gray-200 md:text-2xl mb-2" -> -{{ title }} -</h2> - -[Webrings](https://en.wikipedia.org/wiki/Webring) are _awesome_. I'm a member of a few that follow. Check them out! - -{% render "webrings/the-claw.liquid" %} -<hr /> -{% render "webrings/css-joy.liquid" %}