{"version":"https://jsonfeed.org/version/1.1","title":"svelta Blog","home_page_url":"https://convelt.com/blog","feed_url":"https://convelt.com/feed.json","description":"Editorial publishing for Svelte teams.","items":[{"id":"https://convelt.com/blog/building-a-documentation-style-blog","url":"https://convelt.com/blog/building-a-documentation-style-blog","title":"Building a Documentation-Style Blog in SvelteKit","summary":"A practical blueprint for a documentation-style blog: proportions, theming, Markdown rendering, reading-time, share widgets, infinite scroll, and RSS.","image":"https://convelt.com/blog/covers/blog-style.svg","date_published":"2026-02-08T00:00:00.000Z","tags":["Engineering","SvelteKit"],"authors":[{"name":"Shawn","url":"https://convelt.com/blog/authors/shawn","avatar":"https://convelt.com/blog/authors/shawn.svg"}]},{"id":"https://convelt.com/blog/markdown-kitchen-sink","url":"https://convelt.com/blog/markdown-kitchen-sink","title":"Markdown Kitchen Sink (Rendering QA)","summary":"A deliberately dense post to validate typography, spacing, tables, lists, code blocks, images, and edge cases in our Markdown renderer.","image":"https://convelt.com/blog/covers/kitchen-sink.svg","date_published":"2026-02-08T00:00:00.000Z","tags":["Engineering","Markdown"],"authors":[{"name":"Alex Kim","url":"https://convelt.com/blog/authors/alex","avatar":"https://convelt.com/blog/authors/alex.svg"}]},{"id":"https://convelt.com/blog/design-tokens-that-scale","url":"https://convelt.com/blog/design-tokens-that-scale","title":"Design Tokens That Scale (Without Getting Mushy)","summary":"A small, opinionated token set that keeps contrast crisp across light/dark, while preserving the documentation-style quiet UI.","image":"https://convelt.com/blog/covers/design-tokens.svg","date_published":"2026-02-06T00:00:00.000Z","tags":["Design","Design Systems"],"authors":[{"name":"Maria Santos","url":"https://convelt.com/blog/authors/maria","avatar":"https://convelt.com/blog/authors/maria.svg"}]},{"id":"https://convelt.com/blog/infinite-scroll-with-intersection-observer","url":"https://convelt.com/blog/infinite-scroll-with-intersection-observer","title":"Infinite Scroll With IntersectionObserver (Without Jank)","summary":"Documentation-style content loading: a paginated JSON endpoint plus a sentinel at the bottom of the grid.","image":"https://convelt.com/blog/covers/infinite-scroll.svg","date_published":"2026-02-05T00:00:00.000Z","tags":["Engineering","Performance"],"authors":[{"name":"Alex Kim","url":"https://convelt.com/blog/authors/alex","avatar":"https://convelt.com/blog/authors/alex.svg"}]},{"id":"https://convelt.com/blog/rss-feeds-that-actually-work","url":"https://convelt.com/blog/rss-feeds-that-actually-work","title":"RSS Feeds That Actually Work","summary":"Generate a real RSS 2.0 feed from your Markdown posts and expose it at /feed.xml.","image":"https://convelt.com/blog/covers/rss.svg","date_published":"2026-02-04T00:00:00.000Z","tags":["Best practices","RSS"],"authors":[{"name":"Shawn","url":"https://convelt.com/blog/authors/shawn","avatar":"https://convelt.com/blog/authors/shawn.svg"}]},{"id":"https://convelt.com/blog/ai-summary-cards-with-frontmatter","url":"https://convelt.com/blog/ai-summary-cards-with-frontmatter","title":"AI Summary Cards With Frontmatter","summary":"A skimmable summary card that appears near the top of the post, controlled by a single frontmatter field.","image":"https://convelt.com/blog/covers/ai-summary.svg","date_published":"2026-02-03T00:00:00.000Z","tags":["AI trends","UX"],"authors":[{"name":"Maria Santos","url":"https://convelt.com/blog/authors/maria","avatar":"https://convelt.com/blog/authors/maria.svg"}]},{"id":"https://convelt.com/blog/tag-tabs-and-mobile-fade-masks","url":"https://convelt.com/blog/tag-tabs-and-mobile-fade-masks","title":"Tag Tabs + Mobile Fade Masks","summary":"A horizontally scrollable tag bar on mobile, with fade edges so it feels intentional instead of broken.","image":"https://convelt.com/blog/covers/design-tokens.svg","date_published":"2026-02-02T00:00:00.000Z","tags":["Design","Responsive"],"authors":[{"name":"Maria Santos","url":"https://convelt.com/blog/authors/maria","avatar":"https://convelt.com/blog/authors/maria.svg"}]},{"id":"https://convelt.com/blog/markdown-pipeline-mdsvex-shiki","url":"https://convelt.com/blog/markdown-pipeline-mdsvex-shiki","title":"A Markdown Pipeline That Looks Like Product UI","summary":"mdsvex gets us Markdown-in-Svelte; Shiki gets us code blocks that don’t look like blogspot.","image":"https://convelt.com/blog/covers/markdown-pipeline.svg","date_published":"2026-02-01T00:00:00.000Z","tags":["Engineering","Markdown"],"authors":[{"name":"Alex Kim","url":"https://convelt.com/blog/authors/alex","avatar":"https://convelt.com/blog/authors/alex.svg"}]},{"id":"https://convelt.com/blog/announcing-svelta-blog","url":"https://convelt.com/blog/announcing-svelta-blog","title":"Announcing the svelta Blog","summary":"A small, fast blog system that feels like product documentation: clean, structured, and easy to skim.","image":"https://convelt.com/blog/covers/blog-style.svg","date_published":"2026-01-30T00:00:00.000Z","tags":["Announcements","Launch"],"authors":[{"name":"Shawn","url":"https://convelt.com/blog/authors/shawn","avatar":"https://convelt.com/blog/authors/shawn.svg"}]},{"id":"https://convelt.com/blog/for-founders-why-speed-matters","url":"https://convelt.com/blog/for-founders-why-speed-matters","title":"For Founders: Why Speed Matters More Than You Think","summary":"Shipping faster isn’t about heroics. It’s about removing friction everywhere: tooling, content, and communication.","image":"https://convelt.com/blog/covers/infinite-scroll.svg","date_published":"2026-01-28T00:00:00.000Z","tags":["For founders","Product"],"authors":[{"name":"Alex Kim","url":"https://convelt.com/blog/authors/alex","avatar":"https://convelt.com/blog/authors/alex.svg"}]},{"id":"https://convelt.com/blog/best-practices-ship-with-checklists","url":"https://convelt.com/blog/best-practices-ship-with-checklists","title":"Best Practices: Ship With Checklists","summary":"If something matters, put it in a checklist. Then automate the boring parts.","image":"https://convelt.com/blog/covers/rss.svg","date_published":"2026-01-25T00:00:00.000Z","tags":["Best practices","Quality"],"authors":[{"name":"Maria Santos","url":"https://convelt.com/blog/authors/maria","avatar":"https://convelt.com/blog/authors/maria.svg"}]}]}