<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.jonathanharrell.com</loc>
<lastmod>2026-02-14T17:37:31.357Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://www.jonathanharrell.com/blog</loc>
<lastmod>2026-02-14T17:37:31.357Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.jonathanharrell.com/blog/advanced-css-only-form-styling</loc>
<lastmod>2026-02-14T17:36:43.962Z</lastmod>
<changefreq>never</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.jonathanharrell.com/blog/better-typography-with-font-variants</loc>
<lastmod>2026-02-14T17:36:43.962Z</lastmod>
<changefreq>never</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.jonathanharrell.com/blog/component-reusability-in-react-vue</loc>
<lastmod>2026-02-14T17:36:43.962Z</lastmod>
<changefreq>never</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.jonathanharrell.com/blog/component-variants-with-scoped-css-variables</loc>
<lastmod>2026-02-14T17:36:43.962Z</lastmod>
<changefreq>never</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.jonathanharrell.com/blog/contextual-callouts-with-css-grid</loc>
<lastmod>2026-02-14T17:36:43.962Z</lastmod>
<changefreq>never</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.jonathanharrell.com/blog/controlling-element-visibility-with-the-intersection-observer-api</loc>
<lastmod>2026-02-14T17:36:43.962Z</lastmod>
<changefreq>never</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.jonathanharrell.com/blog/implicit-state-sharing-in-react-vue</loc>
<lastmod>2026-02-14T17:36:43.962Z</lastmod>
<changefreq>never</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.jonathanharrell.com/blog/input-types-cheat-sheet</loc>
<lastmod>2026-02-14T17:36:43.966Z</lastmod>
<changefreq>never</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.jonathanharrell.com/blog/light-dark-mode-svgs</loc>
<lastmod>2026-02-14T17:36:43.966Z</lastmod>
<changefreq>never</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.jonathanharrell.com/blog/live-theming-with-css-variables</loc>
<lastmod>2026-02-14T17:36:43.966Z</lastmod>
<changefreq>never</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.jonathanharrell.com/blog/semantic-image-overlays-with-object-fit</loc>
<lastmod>2026-02-14T17:36:43.966Z</lastmod>
<changefreq>never</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.jonathanharrell.com/blog/system-based-theming-with-styled-components</loc>
<lastmod>2026-02-14T17:36:43.966Z</lastmod>
<changefreq>never</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.jonathanharrell.com/blog/typographic-details-cheat-sheet</loc>
<lastmod>2026-02-14T17:36:43.966Z</lastmod>
<changefreq>never</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.jonathanharrell.com/blog/unlocking-the-benefits-of-css-custom-properties</loc>
<lastmod>2026-02-14T17:36:43.966Z</lastmod>
<changefreq>never</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.jonathanharrell.com/blog/whats-the-deal-with-margin-collapse</loc>
<lastmod>2026-02-14T17:36:43.966Z</lastmod>
<changefreq>never</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.jonathanharrell.com/about</loc>
<lastmod>2026-02-14T17:37:31.357Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://www.jonathanharrell.com/chronicle</loc>
<lastmod>2026-02-14T17:37:31.357Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.5</priority>
</url>
</urlset>
