A free (but better?) alternative to Obsidian Publish.
This repo contains an easy-to-use (read: simplistic) solution for converting an Obsidian Personal Knowledge Management System (read: bunch of random Markdowns) into a Zola site.
Credits: This repo was forked from Adidoks.
Special Thanks: Wikilink parsing is powered by obsidian-export.
v1.3.0 Satisfying Feature Requests! ✨
Bug Fixes:
Improvements:
Local Testing
below)Step 1: Setup Netlify
Step 2: Edit netlify.toml
netlify.toml
in your Obsidian vault foldernetlify.example.toml
in this repo and replace the appropriate settings (SITE_URL
, REPO_URL
and LANDING_PAGE
cannot be left empty). Step 3: You're Done 🎉!
netlify.toml
(e.g. LANDING_TITLE
) supports HTML syntax. And I added Animate.css
+ Hover.css
+ CSShake
for those of you who want to add a personal touch~ Step 4: Issues & Feature Requests
Issues
tab. It would be good to include a copy of the error log found in the Netlify panel if the issue is related to deployment.Step 5: (Optional Enhancement) Auto Sitemap Submit
To make your site more friendly to search engines, you can add a netlify plugin to automatically submit the new sitemap everytime you re-deploy the site. Just add the following to your netlify.toml
. Remember to replace baseUrl
with your SITE_URL
.
[[plugins]]
package = "netlify-plugin-submit-sitemap"
[plugins.inputs]
# The base url of your site (optional, default = main URL set in Netlify)
baseUrl = "https://peteryuen.netlify.app/"
# Path to the sitemap URL (optional, default = /sitemap.xml)
sitemapPath = "/sitemap.xml"
# Time in seconds to not submit the sitemap after successful submission
ignorePeriod = 0
# Enabled providers to submit sitemap to (optional, default = 'google', 'bing', 'yandex'). Possible providers are currently only 'google', 'bing', 'yandex'.
providers = [
"google",
"bing",
"yandex",
]
Do not copy
netlify.toml
from example site, it is unstable. Please reference fromnetlify.example.toml
.
The example site shows the capabilities of obsidian-zola
. Note that the example site uses the dev
branch of obsidian-zola
. If you see features that are available in the example site but are not available in the main branch yet, consider trying out the dev
(unstable) branch. Exact method can be referenced from the example repo's netlify.toml
.
https://www.getzola.org/documentation/getting-started/installation/
sudo apt install python-is-python3 python3-pip
and pip3 install python-slugify rtoml
(or use conda
/ mamba
)git clone https://github.com/ppeetteerrs/obsidian-zola
to clone the repo to somewhere other than inside the Obsidian vault folder.vault_path
file or the $VAULT
environment variable./local-run.sh
to run the siteDisclaimer
This tool is made for people who use Obsidian as a simple and efficient note-taking app (or PKM). If you configured your Obsidian with plenty of fancy shortcodes, plugins and Obsidian-specific syntax, this tool would not (and does not intend) to support those features.
Supported
KaTEX
, bye MathJAX fans 👋)elasticlunr
)[^1]
in the paragraph and [^1]: xxx
later)[Slides Demo](<Slides Demo>)
Unsupported
index.md
or _index.md
.../category1.md
and .../category1/xxx.md
is not allowed)LANDING_PAGE
needs to be set to the slugified file name if SLUGIFY
is turned on (e.g. to use I am Home.md
, LANDING_PAGE
needs to be i-am-home
)