{"id":19092516,"url":"https://github.com/zachsaucier/sveltekit-blog","last_synced_at":"2025-04-30T11:54:56.199Z","repository":{"id":216728780,"uuid":"708102488","full_name":"ZachSaucier/sveltekit-blog","owner":"ZachSaucier","description":"Zach Saucier's personal blog, built on Sveltekit.","archived":false,"fork":false,"pushed_at":"2025-04-03T03:50:11.000Z","size":10339,"stargazers_count":12,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-19T01:32:45.090Z","etag":null,"topics":["blog","pagefind","svelte","sveltekit"],"latest_commit_sha":null,"homepage":"https://zachsaucier.com/blog","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ZachSaucier.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-10-21T14:33:20.000Z","updated_at":"2025-04-17T15:22:14.000Z","dependencies_parsed_at":"2024-04-15T00:46:00.569Z","dependency_job_id":null,"html_url":"https://github.com/ZachSaucier/sveltekit-blog","commit_stats":null,"previous_names":["zachsaucier/sveltekit-blog"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZachSaucier%2Fsveltekit-blog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZachSaucier%2Fsveltekit-blog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZachSaucier%2Fsveltekit-blog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZachSaucier%2Fsveltekit-blog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZachSaucier","download_url":"https://codeload.github.com/ZachSaucier/sveltekit-blog/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251694300,"owners_count":21628824,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blog","pagefind","svelte","sveltekit"],"created_at":"2024-11-09T03:20:05.500Z","updated_at":"2025-04-30T11:54:56.162Z","avatar_url":"https://github.com/ZachSaucier.png","language":"Svelte","funding_links":["https://www.buymeacoffee.com/zachsaucier"],"categories":[],"sub_categories":[],"readme":"# A Sveltekit blog by Zach Saucier\n\nThis blog started as a fork of Josh Collinsworth's [Sveltekit static blog starter](https://github.com/josh-collinsworth/sveltekit-blog-starter). It grew to encompass many more features and does things a bit differently.\n\n## [Demo](https://zachsaucier.com/blog/)\n\n## Support\n\nDid you find this repo useful? I'd really appreciate it if you would consider buying me a coffee!\n\n\u003ca href=\"https://www.buymeacoffee.com/zachsaucier\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/arial-yellow.png\" alt=\"Buy Me A Coffee\" style=\"height: 60px !important;width: 217px !important;\" \u003e\u003c/a\u003e\n\n## Features\n\n- **It lives under `/blog`** instead of the top level so you can keep your main website separate.\n- **Static site generation with hydration.** Every route is compiled down to static HTML and routed with (optional) JavaScript, thanks to the SvelteKit static adapter.\n- **Markdown support** with GitHub Flavored Markdown (GFM).\n- **Styles per component** along with a single global stylesheet for general styles (mostly article content styles). With CSS variables and CSS nesting, there's no need for SASS!\n- **mdvsex support** so you can use Svelte components in your Markdown files!\n- **Automatic page transitions.**\n- **Responsive and accessible defaults** including a \"skip to content\" link, accessible navigation and components, and accessible emojis.\n- **Basic SEO** for blog posts.\n- **RSS feed** for users to easily subscribe to new posts.\n- **Draft blog post functionality** so you can save to the same place but not have the link show up in your listings or counts.\n- **Footnotes functionality**\n- **Blog excerpt functionality** so that you can show the start of your blog posts on the blog homepage instead of the description.\n- **Tags (categories) functionality** which make looking for specific types of posts easy.\n- **Advanced pagination** where only the nearest 5 pages are shown along with \"first\" and \"last\" page buttons when applicable.\n- **Support for year sub-directories within posts.** This makes organizing your posts much more pleasant. You could easily add the year to the URL if you'd like.\n- **Recent posts functionality** if you want to show the last X recent posts.\n- **Archive functionality** which is similar to the blog listing but only shows the title and tags with a different layout that focuses on the year it was published. [Demo](https://zachsaucier.com/blog/archive/).\n- **Collapsible sidebar**.\n- **Tweet and CodePen embeds**.\n- **Image lightboxing functionality** with built in image serving for high DPI devices.\n- **High quality search functionality** using [Pagefind](https://pagefind.app/).\n- **Clickable section headings** to make sharing to a particular part of a post a breeze.\n- **Table of contents for blog posts** that outlines the sections of each page.\n- **Tweet button** to let users more easily share to Twitter (X).\n- **Automatic widow prevention** to make your blocks of text look better.\n- **Email signup functionality.** It makes use of Mailchimp, but you could easily switch out the email provider for another of your choice.\n\n## Getting started\n\nI recommend forking this repo and then cloning it from there so that your changes are independent of the ones I will make in the future.\n\nUse `npm run dev` to get it running locally.\n\nIn order to get the search functionality working locally, you must build the project using `npm run build`. If you want the search content to update, you need to rebuild the project.\n\n## Documentation\n\nGood sources for docs are:\n\n- [The Sveltekit blog starter kit README](https://github.com/josh-collinsworth/sveltekit-blog-starter) that this project was forked from\n- [The Svelte docs](https://kit.svelte.dev/docs)\n\n## Getting help\n\nYou're free to create an issue on this repo and if I have the time I am likely to respond. But no promises!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzachsaucier%2Fsveltekit-blog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzachsaucier%2Fsveltekit-blog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzachsaucier%2Fsveltekit-blog/lists"}