SvelteVitePortfolioBlogStarter

sveltekit-mdsvex-blog-template — Svelte Portfolio Template

By loke-dev

A Markdown blog template based on SvelteKit and MDsveX, styled with Tailwind CSS, with built-in tags, dark mode, SEO metadata, and Cloudflare Workers deployment configuration.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-01View source

What stands out

A quick read of the recorded project description.

01

Articles use .svx files, allowing Svelte components to be embedded directly in Markdown content

02

Tailwind CSS with the Typography plugin handles article body typography

03

Built-in tag categorization and light/dark theme switching

04

Includes SEO-related configuration: meta tags, structured data, sitemap, and social previews

05

Comes with a Cloudflare Workers adapter and Wrangler deployment configuration

06

Configured with Vitest unit tests and Playwright end-to-end test scripts

Template Details

This is a SvelteKit starter template for blogs and portfolios. Articles are stored as .svx files in the src/posts/ directory, with frontmatter declaring fields such as title, description, date, published, and tag; the body is Markdown, and Svelte components can be used directly within articles. The styling layer uses Tailwind CSS and its Typography plugin for article body typography, and provides both light and dark themes. The template includes tag categorization, SEO-related configuration (meta tags, structured data, sitemap, social previews), and a Cloudflare Workers adapter and Wrangler configuration. For testing, Vitest and Playwright are configured.

A few points to note before use: the README requires Node.js 22.12+ and pnpm 11.17.0; the repository does not provide a dependency manifest for verification, so specific framework versions are not listed. The README's description of "fast" is the template's own claim and does not represent actual performance. The template's customization entry points are concentrated in three places: src/variables.ts (site information), src/routes/+layout.svelte (layout), and src/routes/+page.svelte (homepage). Third-party assets such as images, fonts, and icons in the demo site require separate license verification; the code's MIT license does not cover these.

SvelteVitePortfolioBlogStarter

Is it right for your project?

Use Cases

  • Writing and publishing a personal technical blog with Markdown
  • Building a portfolio site with an article list and tag pages
  • Embedding interactive Svelte components in article content for demonstrations
  • Deploying a static site project to Cloudflare Workers

Suitable For

  • Developers familiar with SvelteKit and Markdown writing workflows
  • Bloggers who want to mix article content with Svelte components
  • Open-source project documentation or portfolio sites that need tag categorization and dark mode
  • Teams planning to host a static site on Cloudflare Workers

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    After cloning the repository, run pnpm install and pnpm dev; locally the default access is http://localhost:5173

  2. 2

    Environment requirements: Node.js 22.12+ and pnpm 11.17.0

  3. 3

    Create a new .svx file under src/posts/ to write an article; frontmatter must include title, description, date, published, and tag

  4. 4

    Site information is modified in src/variables.ts; layout and homepage are in src/routes/+layout.svelte and src/routes/+page.svelte respectively

  5. 5

    Before deployment, you can do a dry run with pnpm deploy:dry, then run pnpm deploy to publish to Cloudflare Workers

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under the MIT license in the public repository; the free scope is the code of this version and does not mean external services or third-party assets are free.

Must comply with when using

  • Free use, modification, commercial use, and distribution of this version's code are permitted.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
  • The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • Runtime requirements: Node.js 22.12 or higher and pnpm 11.17.0 for dependency installation and development.
  • Deployment depends on external services: the template includes a Cloudflare adapter and Wrangler configuration; publishing to Cloudflare Workers requires a Cloudflare account and related services.
  • Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses; they cannot be judged solely by the code's MIT license.
  • External services such as domains, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

Requires Node.js 22.12+ and pnpm 11.17.0.

Original README

The included Cloudflare adapter and Wrangler configuration deploy directly to Cloudflare Workers:

Original README
https://github.com/loke-dev/sveltekit-mdsvex-blog-template/blob/master/LICENSEhttps://github.com/loke-dev/sveltekit-mdsvex-blog-template/blob/master/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-01. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
GitHub
Documentation and maintenance reference score
More documented · 92 / 100
Technologies
Svelte · Vite
Website type
Portfolio · Blog · Starter
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2026-08-10
Screenshot last checked
2026-10-01

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

The catalog identifies Svelte as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Automatically checked against source and license rules; no manual editorial review.

Inspect the recorded source material

SHA-256: 9081ff3e4f063f1842881da73516f6d707031a6d14fff1c7c49d403145b5d1ea

2026-10-01T00:39:33.586Z

Source file / repository
# SvelteKit MDsveX Blog Template

A blog template built with SvelteKit, MDsveX, and Tailwind CSS. Write posts in Markdown with full Svelte component support.

![SvelteKit MDsveX Blog Template](https://github.com/user-attachments/assets/88d8ac01-220c-4c25-a3bd-27bc1ae8825a)

## Features

- **Fast** — SvelteKit with SSG, quick page loads out of the box
- **MDsveX** — Markdown posts with Svelte components
- **Tailwind CSS** — Typography plugin for clean post styling
- **SEO Optimised** — Meta tags, structured data, sitemap, social previews
- **Tags** — Tag-based post categorisation
- **Dark Mode** — Light and dark themes
- **Deployment** — Cloudflare Workers configuration included
- **Testing** — Vitest and Playwright configured

## Stack

- [SvelteKit](https://kit.svelte.dev)
- [MDsveX](https://mdsvex.pngwn.io)
- [Tailwind CSS](https://tailwindcss.com)
- [TypeScript](https://typescriptlang.org)
- [Vitest](https://vitest.dev)
- [Playwright](https://playwright.dev)

## Get Started

```bash
git clone https://github.com/loke-dev/sveltekit-mdsvex-blog-template my-blog
cd my-blog
pnpm install
pnpm dev
```

Visit `http://localhost:5173` to see your site.

Requires Node.js 22.12+ and pnpm 11.17.0.

## Writing Posts

Create `.svx` files in `src/posts/`:

```markdown
---
title: Your Post Title
description: A brief description of your post
date: 2023-06-15
published: true
tag: svelte
---

Your content here...
```

## Customise

1. Update `src/variables.ts` with your information
2. Customise the layout in `src/routes/+layout.svelte`
3. Modify the homepage in `src/routes/+page.svelte`

## Testing

```bash
pnpm test           # Unit tests
pnpm test:e2e       # End-to-end tests
pnpm test:coverage  # Coverage report
pnpm ci-check       # Complete local quality gate
```

## Deploy

[Live demo](https://sveltekit-mdsvex-blog.loke.dev)

The included Cloudflare adapter and Wrangler configuration deploy directly to
Cloudflare Workers:

```bash
pnpm deploy:dry
pnpm deploy
```

TypeScript 6 is intentional: it is the newest release currently supported by
typescript-eslint.

## License

MIT
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.