Updated: October 8, 2023
These are all the features that the Syenite blog engine currently offers. Check out the wishlist for planned or desired features.
Authoring
- Write articles in markdown 🔗
- mdsvex 🔗 allows Svelte components in markdown
- Use Obsidian 🔗 to author articles, with support for:
- linking other Obsidian documents in the same vault
- linking images in the same vault
- linking headings in another document
- YAML frontmatter 🔗 for article metadata
- Create pages with Svelte components (see
/about
) or markdown (see/uses
) - Create drafts in
_drafts
and drag them to the corresponding[year]/[month]/
when the article is ready to be published
General
- Blog index (
/blog
) with:- articles sorted in reverse
published
order (latest first) - article blurb based on
description
frontmatter
- articles sorted in reverse
- Article tags with tags index (
/tags
) - RSS feed (
/rss.xml
) - Sitemap (
/sitemap.xml
) - Light / dark mode with persistence in
localStorage
- Mobile main nav
- Linkable article headings
- Automatic table of contents from article headings (H1, H2, etc)
- Links to the previous and next article at the bottom of each article
- Configurable Author name & URL, overwritten in frontmatter
- Page/article header metadata and open graph 🔗 tags
- TypeScript support, although I’ve made zero effort to implement anything in TS
Content/SEO
- Hero image in frontmatter
- “More articles tagged xxx” at the bottom of articles
Styling
- Tailwind CSS
- GitHub markdown styling, customizable using CSS tokens
- Mobile-friendly / responsive layout
- Colors defined with CSS tokens in the main stylesheet (
app.postcss
) - PostCSS support
- Separate visual treatment and behavior of internal vs external links. External links have a 🔗 icon attached and open in a new tab. To be considered external, a URL must not be relative, and must be prefixed with
http(s)://
.