Multilingual Svelte Markdown Blog

Multilingual Svelte Markdown Blog

  • #github
  • #opensource
  • #code

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

  1. Optimize image loading
  2. Different image size for preview and for full article
  3. Translate project page
  4. Move translations to separate t.js file, for more friedly start
  5. (done) Add option to change lang via localstorage or via domain (/en)
  6. Add option to full static pregeneration (only for domain-based i18n, because need change routing to /[lang]/)
  7. Add supporting custom themes
  8. (done) Now we have domain-based i18n, add git-branch to alternative i18n with path (/[lang]/)
  9. Add meta-tag to all pages (not only for blog one)
  10. Set limits: by ip, timing, size
  11. Mark post SPAM not only after page reload
  12. If long advanced SPAM detection fails due to timeout – mark this messages as suspicious

Links

Production working demo: https://lazarevsky.com

Github: https://github.com/gressus/blogflow

Comments