Obsidian Quartz
WARNING
- I didn't like this software so I wrote my own Obsidian Static Site Generator dentropys-obsidian-publisher
Notes
Setup and Install
- Fix up your Obsidian Settings or
- Install and use dentropydaemon-wiki/Software/List/Obsidian Plugin Link Converter
- Activate Obsidian Link Converter from the main settings page
- Go to settings for Obsidian Link Converter in the right hand panel
- Select "relative" from the "Converted Link Format" drop down
- Press
crtl + p
, and select"Obsidian Link Converter: Vault wiki to markdown" - You gotta do this every time you publish unless you "Fix up your Obsidian Settings" like I said before
- Install Go
- Install dentropydaemon-wiki/Software/List/Hugo
- Install dentropydaemon-wiki/Software/List/docker
- Fork quartz repo or clone mine
- quartz repo: https://github.com/jackyzha0/quartz
- my repo: https://github.com/dentropy/quartz
go install github.com/jackyzha0/hugo-obsidian@latest
git clone https://github.com/dentropy/quartz.git
cp -r /path/to/obsidian/vault/* ./quartz/content
cd quartz
git config --global --add safe.directory .
cd content
wget https://raw.githubusercontent.com/shinyben/obsidian-quartz-sanitizer/main/main.py
python3 main.py
cd ..
# Remember to rename the root file the main page of your knowledge garden as _index.md
make serve
# checkout your site at http://localhost:1313
hugo
cd public
python3 -m http.server
Using Docker
Update Quartz's docker container
The dockerfile is in the root of the quartz directory You can add the following line to their the dockerfile to make it work
RUN git config --global --add safe.directory /quartz
Or just copy the dockerfile below one in
FROM alpine:3.16
RUN apk add --no-cache go hugo git make perl
RUN go install github.com/jackyzha0/hugo-obsidian@latest
ENV PATH="/root/go/bin:$PATH"
RUN git clone https://github.com/jackyzha0/quartz.git /quartz
RUN git config --global --add safe.directory /quartz
WORKDIR /quartz
CMD ["make", "serve"]
cat Dockerfile
docker build -t quartz-hugo .
docker-compose
Add a file called docker-compose.yml
version: "3.3"
services:
quartz-hugo:
image: quartz-hugo
container_name: quartz-hugo
volumes:
- /path/to/quartz:/quartz
ports:
- 1313:1313
# optional
environment:
- HUGO_BIND=0.0.0.0
- HUGO_BASEURL=http://localhost
- HUGO_PORT=1313
- HUGO_APPENDPORT=true
- HUGO_LIVERELOADPORT=-1
Run docker-compose
docker-compose up
docker-compose up -d
Notable issues
- Feature Request No-Compromise Vault Structure · Issue #77 · jackyzha0/quartz
- File explorer sidebar · Issue #201 · jackyzha0/quartz
- Support for inline tags · Issue #161 · jackyzha0/quartz
- Feature Request No-Compromise Vault Structure · Issue #77 · jackyzha0/quartz
Links to Investigate
- Deploying Quartz to the Web
- dentropydaemon-wiki/Software/List/Plausible
- shinyben/obsidian-quartz-sanitizer: Given a directory of Obsidian notes, clones the directory into a Quartz-compliant structure
- Config Docs
Links
- jackyzha0/quartz: 🌱 host your own second brain and digital garden for free
- Publishing your Obsidian Vault Online with Quartz