sphinx-obsidian-frontmatter
Your Sphinx docs, ready for your second brain.
sphinx-obsidian-frontmatter turns every page your Sphinx markdown build
emits into a proper Obsidian note — complete with a YAML frontmatter block
for title, author, version, build date, languages, tags, and whatever
custom properties your vault cares about. Write your docs once in
reStructuredText. Get clean, Obsidian-native markdown out the other end,
automatically, every build.
No manual frontmatter. No copy-paste metadata. No drift between what your docs say and what your vault knows.
Why you'll like it
- Zero-touch. Add two lines to
conf.py, runsphinx-build -b markdown, done. Every page gets frontmatter, automatically, forever. - Obsidian-shaped output. Unquoted scalars, flow-style lists
(
tags: [api, internal]) — frontmatter that looks like a human (or Obsidian) wrote it, not a YAML dumper. - Your metadata, your rules. Tags, languages, timezone-aware build
dates, and an open-ended
obsidian_propertiesdict for anything else your vault's schema needs. - Safe by default. Bad config — an invalid timezone, a malformed property — fails the build loudly, immediately, instead of shipping silently broken frontmatter.
- Rebuild-friendly. Incremental builds replace stale frontmatter instead of stacking duplicate blocks on top of it.
Quickstart
pip install sphinx-obsidian-frontmatter sphinx-markdown-builder
# conf.py
extensions = [
"sphinx_markdown_builder",
"sphinxcontrib.sphinx_obsidian_frontmatter",
]
obsidian_tags = ["docs", "api"]
obsidian_languages = ["python"]
obsidian_timezone = "America/Los_Angeles"
obsidian_properties = {"ecosystem": "acme-widgets"}
sphinx-build -b markdown doc/source doc/build/markdown
Every emitted page now starts with:
---
title: Getting Started
author: Chris Malek
version: 1.2
date: 2026-08-26
language: [python]
tags: [docs, api]
ecosystem: acme-widgets
---
Drop the output straight into your Obsidian vault and it's already tagged, dated, and linked into your metadata system.
Learn more
Full configuration reference, troubleshooting, and the design rationale behind every rendering rule live in the docs: https://sphinx-obsidian-frontmatter.readthedocs.io/en/latest/
Links
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sphinx_obsidian_frontmatter-0.1.1.tar.gz.
File metadata
- Download URL: sphinx_obsidian_frontmatter-0.1.1.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd0f176a5ae9d587cee5599d69f9b376e6ea0fd61fe80bcdc5dec6767e1b886c
|
|
| MD5 |
448f7249558e32658e039673fae59360
|
|
| BLAKE2b-256 |
ebe61fe71cdbe9fbbf2cd49c9916192faeb146c6ad3e7be2cfef24b35fdf583c
|
File details
Details for the file sphinx_obsidian_frontmatter-0.1.1-py3-none-any.whl.
File metadata
- Download URL: sphinx_obsidian_frontmatter-0.1.1-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
522efe7530c74037b08f33f0f7fd2e8ae8c73d886d75fe5c7e251e6394c99ed5
|
|
| MD5 |
5eead73c5bb9f65e28bfd7de61c3296d
|
|
| BLAKE2b-256 |
9f9a5f4559d5cac5765a068bbb4f2eb2a633aa4096aa663ca2950c0000e3225d
|