Package: obsidian-blog
Obsidian SSG BlogDISCLAIMER: Still work-in-progress, so API definitely will change. To use it you'd better to have some programming experienceThe idea is to create a simple blog generated from obsidianMap Of Contentnotesoriginal zettelkasten benefit.FeaturesYet another static site generator for obsidian.Built to use with git, github pages and action.Uses handlebars template engineSupports--watchand--servemodes for local writingRecursively parses [[includes]] and has cycles detectionAutomatically copies included local images into the buildSupports--draftsmode to work unpublished files locallyPrivacy. Notes can be published only with explicitpublished: Trueannotation.Fluent title detection from [[note | alt title]], frontmattertitleattribute, or a filename.Render notes as links, in case they're included in the middle of the paragraph and havelinkfrontmatter attribute.Supports filename delimeters:Topic - Category - Notebecomes justNoteInstallationpip install obsidian-blogUsage$ obsidian-blog -h
obsidian-blog

Static site generator for obsidian.md notes.

Usage:
  obsidian-blog [-d] [-w] [-s] [--port <number>] [--title <string>] [--posts_dir <directory>] [--pages_dir <directory>]

Options:
  -h --help                     Show this screen.
  -w --watch                    Enable watcher
  -s --serve                    Enable web-server
  -p --port=<number>            Web-server port [default: 4200]
  -d --drafts                   Render draft pages and posts

  --title=<string>              Blog title [default: My Blog]

  --version             Show version.ExampleSeeObsidian Blog ThemeEnvobsidian-blogexpects you have an.envfile. Supported variables and their default values can be found
insrc/dataclasses/config_data.Blog filesnotes ❯ tree .blog -a -I .git
├── .blog
│   ├── _assets # static files to be copied into .build
│   │   └── styles.css
│   └── _layouts # layout files
│       └── main.hbs # name of layout, can be selected with `layout` frontmatter attribute. Default: `main`
├── .build # build directory created by run `obsidian-blog` to be deployed
├── .env # environment variables
├── Pages # Pages directory, contains handlebars and markdown files
└── Posts # Posts directory contains obsidian markdown files (which are anyway processed via handlebars)PostsPosts are obsidian markdown files with includes, images, and anything you usually have in your obsidian notes.
Posts are post-processed by handlebars, so you can use it if you need (but not sure if it's a good idea tho).---
title: My awesome post
date: 2021-01-01 (used for sorting)
published: True # privacy, can't be skipped
layout: main (default_layout is used if it skipped)
---PagesPages are handlebars templates (or just markdown files), rendered via global (pagesandpostslists) and local (selfpoints
to the entity being rendered) contexts.AssetsAssets are divided into 2 types:.blog/_assetscopyed during the build unconditionallyImages insluded either with markdown reference or incline images, or by obsidian ![[]] syntax. This ones are detected and copyed during the build.DeploymentSo far I'm using github actions to deploy my stuff tomy blog.Feedback and thingsJust text me intelegramor file an issue. I'd be happy to know if you want to use it.AlternativesObsidian Export- cli to render obsidian notes into markdown written in Rust