41554 blogs · [ { "id": "01a0d795-70bd-72f0-ac6c-089028d01587", "title": "Uncharted 2 Stats", "url": "https://chriskirknielsen.com/blog/uncharted-2-stats/", "published_at": "2026-09-13T19:20:21+00:00" }, { "id": "01a0b68b-4cd2-7299-b5a9-1d74c48fa2d1", "title": "chriskirknielsen", "url": "https://chriskirknielsen.com", "published_at": "2026-09-07T05:20:44+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1feff4a30f02", "title": "Lessons Learned Making my Peritel Typeface", "url": "https://chriskirknielsen.com/blog/lessons-learned-making-my-peritel-typeface/", "published_at": "2026-08-09T00:15:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1feff56b6a4c", "title": "Vento includes sent me down a caching rabbit hole of my own making", "url": "https://chriskirknielsen.com/blog/vento-includes-caching-rabbit-hole/", "published_at": "2026-07-11T20:10:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1feff645c4fa", "title": "Indie games are worth your time", "url": "https://chriskirknielsen.com/blog/indie-games-are-worth-your-time/", "published_at": "2026-06-22T05:23:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1feff6c3637e", "title": "Going Full Circle on CSS Toggle Transitions", "url": "https://chriskirknielsen.com/blog/going-full-circle-css-toggle-transitions/", "published_at": "2026-06-04T04:04:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1feff7ad110d", "title": "Snippet: git ketchup", "url": "https://chriskirknielsen.com/blog/git-ketchup/", "published_at": "2026-04-06T05:12:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1feff7cd7ec9", "title": "How I nerd-sniped myself into importing Nike Running Club data via the Strava API", "url": "https://chriskirknielsen.com/blog/nerd-snipped-into-importing-nike-running-club-into-strava-api/", "published_at": "2026-03-30T13:37:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1feff827b4e0", "title": "Cheff mpeg", "url": "https://chriskirknielsen.com/blog/cheff-mpeg/", "published_at": "2026-03-11T03:45:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1feff90243b5", "title": "Auto-scroll overflowing table cells with CSS container queries", "url": "https://chriskirknielsen.com/blog/scrolling-overflow-cells-with-css-container-query/", "published_at": "2026-02-07T22:18:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1feff94810ea", "title": "A no-A.I. icon for humans to use", "url": "https://chriskirknielsen.com/blog/no-ai-icon-for-humans/", "published_at": "2026-01-19T19:56:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1feffa07a9df", "title": "Yearnotes 2025", "url": "https://chriskirknielsen.com/blog/yearnotes-2025/", "published_at": "2025-12-26T23:55:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1feffa90d856", "title": "Keeping link underline styles around inline code with padding", "url": "https://chriskirknielsen.com/blog/keep-link-underline-styling-around-inline-code-padding/", "published_at": "2025-12-02T04:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1feffb545f88", "title": "Adding a custom filename to a code block in Eleventy with markdown-it", "url": "https://chriskirknielsen.com/blog/custom-filename-in-code-blocks-in-eleventy-in-markdown-it/", "published_at": "2025-09-19T03:30:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1feffc0db341", "title": "Preventing jank on focused overflow-causing elements", "url": "https://chriskirknielsen.com/blog/prevent-jank-on-focused-elements-in-an-overflow-container/", "published_at": "2025-09-11T14:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1feffc8d1afb", "title": "Conditional favicon in Eleventy using passthrough copy", "url": "https://chriskirknielsen.com/blog/conditional-favicon-with-eleventy-passthrough-copy/", "published_at": "2025-09-01T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1feffc965ef3", "title": "From Nunjucks to Vento in Eleventy: a migration guide (kinda)", "url": "https://chriskirknielsen.com/blog/from-nunjucks-to-vento-in-eleventy-migration-guide/", "published_at": "2025-06-05T04:51:23+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1feffd3c5db6", "title": "Taking VentoJS for a spin in Eleventy", "url": "https://chriskirknielsen.com/blog/taking-vento-js-for-a-spin-in-eleventy/", "published_at": "2025-04-26T03:51:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1feffd8a1146", "title": "Double-Pagination in Eleventy", "url": "https://chriskirknielsen.com/blog/double-pagination-in-eleventy/", "published_at": "2025-04-23T05:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1feffd9eda9d", "title": "Some thoughts on the item-flow proposal", "url": "https://chriskirknielsen.com/blog/thoughts-on-item-flow-proposal/", "published_at": "2025-03-29T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1feffda2eedd", "title": "A Future of Themes with CSS Inline if() Conditions", "url": "https://chriskirknielsen.com/blog/future-theme-with-inline-if-style-conditions/", "published_at": "2025-02-20T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1feffdf01a1e", "title": "Relative Temperature Conversion", "url": "https://chriskirknielsen.com/blog/relative-temperature-conversion/", "published_at": "2025-01-18T01:45:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1feffe9fc2bf", "title": "“Simple” Table of Contents Highlighter", "url": "https://chriskirknielsen.com/blog/simple-table-of-contents-highlighter/", "published_at": "2025-01-03T19:19:19+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1fefff650e5f", "title": "2024 as bullet points", "url": "https://chriskirknielsen.com/blog/2024-as-bullet-points/", "published_at": "2024-12-30T00:04:04+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1fefff8009c4", "title": "Vertical slider fitting the tallest element in pure CSS", "url": "https://chriskirknielsen.com/blog/vertical-slider-fitting-the-tallest-element-in-pure-css/", "published_at": "2024-12-13T00:25:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff00010cf7a", "title": "The Multi-Directional Nature of position: sticky", "url": "https://chriskirknielsen.com/blog/multi-directional-nature-of-position-sticky/", "published_at": "2024-11-01T19:20:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff000ff934f", "title": "Removing link underline styles between icons and text", "url": "https://chriskirknielsen.com/blog/remove-link-underline-styling-between-icon-and-text/", "published_at": "2024-09-21T19:10:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff0011dc13b", "title": ":nth-next-sibling? No need.", "url": "https://chriskirknielsen.com/blog/nth-next-sibling-no-need/", "published_at": "2024-09-15T19:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff001b8f87c", "title": "My under-engineered way to avoid a Flash of inAccurate coloR Theme (FART)", "url": "https://chriskirknielsen.com/blog/my-under-engineered-way-to-avoid-a-flash-of-inaccurate-color-theme/", "published_at": "2024-09-01T20:55:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff0021c726f", "title": "Leveraging APIs like Notion with a nice caching system", "url": "https://chriskirknielsen.com/blog/leverage-api-like-notion-with-cache/", "published_at": "2024-05-03T03:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff00250d50a", "title": "2024 redesign", "url": "https://chriskirknielsen.com/blog/2024-redesign/", "published_at": "2024-04-04T16:04:24+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff002c37435", "title": "Snippet: git switcheroo", "url": "https://chriskirknielsen.com/blog/git-switcheroo/", "published_at": "2024-01-25T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff003653ddf", "title": "CSS Wishlist 2024", "url": "https://chriskirknielsen.com/blog/css-wishlist-2024/", "published_at": "2024-01-11T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff00462a644", "title": "Grouping posts by year with Nunjucks in Eleventy", "url": "https://chriskirknielsen.com/blog/group-posts-by-year-with-nunjucks-in-eleventy/", "published_at": "2023-11-24T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff004cce925", "title": "Select an element which doesn’t descend from another in CSS", "url": "https://chriskirknielsen.com/blog/select-an-element-which-doesnt-descend-from-another-in-css/", "published_at": "2023-10-25T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff004cdcb65", "title": "A Future of Themes with CSS Container Style Queries", "url": "https://chriskirknielsen.com/blog/future-themes-with-container-style-queries/", "published_at": "2023-07-29T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff004f35d1e", "title": "My plugin for Markdown-It: CodeWrap", "url": "https://chriskirknielsen.com/blog/markdown-it-codewrap/", "published_at": "2023-05-28T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff004fc48e3", "title": "Animate an SVG shape’s inner stroke", "url": "https://chriskirknielsen.com/blog/animate-an-svg-inner-stroke/", "published_at": "2023-02-25T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff005d24562", "title": "Plucking a nested property from an object", "url": "https://chriskirknielsen.com/blog/pluck-a-nested-property-from-an-object/", "published_at": "2023-02-24T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff005e0fa73", "title": "Eleventy Asset Pipeline: Precompiled Assets without Gulp", "url": "https://chriskirknielsen.com/blog/eleventy-asset-pipeline-precompiled-assets/", "published_at": "2022-11-27T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff0069a6cca", "title": "CSS Grid with a preferred column count", "url": "https://chriskirknielsen.com/blog/css-grid-with-a-preferred-column-count/", "published_at": "2022-09-13T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff00727a68c", "title": "Eleventy within Eleventy to compile when you compile: precompiling reused assets", "url": "https://chriskirknielsen.com/blog/eleventy-within-eleventy-precompiling-reused-assets/", "published_at": "2022-08-25T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff007b5355e", "title": "Manage your SVG files with Eleventy’s Render plugin", "url": "https://chriskirknielsen.com/blog/manage-your-svg-files-with-eleventys-render-plugin/", "published_at": "2022-08-10T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff0089e91a7", "title": "Fine, types in JS aren’t the worst", "url": "https://chriskirknielsen.com/blog/fine-types-arent-the-worst/", "published_at": "2022-05-01T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff008c1ff1d", "title": "Animate your z-index for cleaner hover effects", "url": "https://chriskirknielsen.com/blog/animate-z-index-hover-effects/", "published_at": "2022-04-16T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff0090ee667", "title": "Le petit guide sur var, let et const", "url": "https://chriskirknielsen.com/blog/le-petit-guide-sur-var-let-et-const/", "published_at": "2021-08-07T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff0097f1b8f", "title": "Rotating floating animation with chained transforms", "url": "https://chriskirknielsen.com/blog/rotating-floating-animation-with-chained-transforms/", "published_at": "2021-06-12T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff00a28a52e", "title": "A DRY Approach to Color Themes in CSS", "url": "https://chriskirknielsen.com/blog/a-dry-approach-to-color-themes-in-css/", "published_at": "2021-02-24T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff00ac3f0d4", "title": "Inline lists with conditional separators", "url": "https://chriskirknielsen.com/blog/inline-lists-with-conditional-separators/", "published_at": "2020-07-18T00:00:00+00:00" }, { "id": "01a0e2c2-97a0-702f-aab5-86acfc5e2da7", "title": "chriskirknielsen.com", "url": "https://chriskirknielsen.com/", "published_at": "2020-07-04T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff00af02974", "title": "Building and maintaining components from utility classes in Eleventy", "url": "https://chriskirknielsen.com/blog/building-and-maintaning-components-from-utility-classes-in-eleventy/", "published_at": "2020-06-29T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff00b2794d4", "title": "Modern Fluid Typography with clamp()", "url": "https://chriskirknielsen.com/blog/modern-fluid-typography-with-clamp/", "published_at": "2020-05-20T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff00c13a49c", "title": "Breakout Container", "url": "https://chriskirknielsen.com/blog/breakout-container/", "published_at": "2019-11-23T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff00c68c359", "title": "Une réinitialisation CSS moderne", "url": "https://chriskirknielsen.com/blog/une-reinitialition-css-moderne/", "published_at": "2019-10-30T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff00c7c403b", "title": "Contextual Utility Classes for Color with Custom Properties", "url": "https://chriskirknielsen.com/blog/contextual-utility-classes-for-color-with-custom-properties/", "published_at": "2019-08-14T00:00:00+00:00" }, { "id": "01a0875f-4e7c-7025-be5b-1ff00c939db7", "title": "Switching From WordPress To Hugo", "url": "https://chriskirknielsen.com/blog/switching-from-wordpress-to-hugo/", "published_at": "2019-05-22T00:00:00+00:00" } ] posts Claim your blog
Back to Home | chriskirknielsen
Blog · corpus.blog/blogs/chriskirknielsen.com/posts

Home | chriskirknielsen

chriskirknielsen.com

2026

2025

2024

2023

2022

2021

2020

2019