Multilingual Svelte Markdown Blog
16.04.2023
Features
- Multilingual Markdown blog
- No database required
- User-friendly organization with a /static folder structure
- Frontmatter for specifying post title, creation date, tags, visibility, and homepage display
- Automatic post illustration detection based on the folder name
- Mobile-friendly responsive design with a burger menu
- Posts sorted by date on the main page and within the blog
- Tag support for posts
- Simple autoposting for scheduling posts on specific dates
- SEO optimization with Server Site Generation (SSG)
- Dark and light theme-switching support
- Easy manage your content via github from any device (if use Vercel or similar CD/CI)
– Two type of i18n: 1) domain-based: site.com & site.kg, 2) path-based: site.org/en & site.org/kg
Advanced Features (required DB)
- Up & Down voting for post (for this feature, you really need DB, we use for example Deta)
- Comment posts
Super Advanced Features with AI (integration with chatGPT)
- Very Quick Basic auto moderation via chatGPT (1-5 sec. average)
- Long Advanced SPAM detection (takes 20-60 sec. average, you need Vercel Pro or similar for long background tasks)
Todo
- Optimize image loading
- Different image size for preview and for full article
- Translate project page
- Move translations to separate t.js file, for more friedly start
(done) Add option to change lang via localstorage or via domain (/en)- Add option to full static pregeneration (only for domain-based i18n, because need change routing to /[lang]/)
- Add supporting custom themes
(done) Now we have domain-based i18n, add git-branch to alternative i18n with path (/[lang]/)- Add meta-tag to all pages (not only for blog one)
- Set limits: by ip, timing, size
- Mark post SPAM not only after page reload
- If long advanced SPAM detection fails due to timeout – mark this messages as suspicious
Links
Production working demo: https://lazarevsky.com