Quartz is designed to be extremely configurable. You can find the bulk of the configuration scattered throughout the repository depending on how in-depth you’d like to get.
The majority of configuration can be be found under data/config.yaml. An annotated example configuration is shown below.
Quartz is designed to be extremely configurable. You can find the bulk of the configuration scattered throughout the repository depending on how in-depth you’d like to get.
The majority of configuration can be be found under data/config.yaml. An annotated example configuration is shown below.
This step is only applicable if you are using a custom domain! If you are using a <YOUR-USERNAME>.github.io domain, you can skip this step.
For this last bit to take effect, you also need to create a CNAME record with the DNS provider you register your domain with (i.e. NameCheap, Google Domains).
GitHub has some
+ `;else{e.innerHTML=c.map(a=>m({...a,term:b})).join("\n");const a=document.getElementsByClassName("result-card");[...a].forEach(a=>{a.onclick=()=>h(a.id,b)})}})});const a=document.getElementById("search-container");function f(){a.style.display==="none"||a.style.display===""?(c.value="",e.innerHTML="",a.style.display="block",c.focus()):a.style.display="none"}function i(){a.style.display="none"}document.addEventListener('keydown',a=>{a.key==="/"&&(a.preventDefault(),f()),a.key==="Escape"&&(a.preventDefault(),i())});const k=document.getElementById("search-icon");k.addEventListener('click',a=>{f()}),k.addEventListener('keydown',a=>{f()}),a.addEventListener('click',a=>{i()}),document.getElementById("search-space").addEventListener('click',a=>{a.stopPropagation()})}run()
This step is only applicable if you are using a custom domain! If you are using a <YOUR-USERNAME>.github.io domain, you can skip this step.
For this last bit to take effect, you also need to create a CNAME record with the DNS provider you register your domain with (i.e. NameCheap, Google Domains).
Go to your forked repository (github.com/<YOUR-GITHUB-USERNAME>/quartz) settings page and go to the Pages tab. Under “Custom domain”, type your custom domain, then click Save.
Go to your DNS Provider and create a CNAME record that points from your domain to <YOUR-GITHUB-USERNAME.github.io. (yes, with the trailing period).
Example Configuration for Quartz
Wait 30 minutes to an hour for the network changes to kick in.
\ No newline at end of file
diff --git a/notes/editing/index.html b/notes/editing/index.html
index 71ac55937..db996fc07 100644
--- a/notes/editing/index.html
+++ b/notes/editing/index.html
@@ -3,14 +3,14 @@ Obsidian I recommend using Obsidian as a way to edit and grow your digital garde
Quartz runs on top of
+ `;else{e.innerHTML=c.map(a=>m({...a,term:b})).join("\n");const a=document.getElementsByClassName("result-card");[...a].forEach(a=>{a.onclick=()=>h(a.id,b)})}})});const a=document.getElementById("search-container");function f(){a.style.display==="none"||a.style.display===""?(c.value="",e.innerHTML="",a.style.display="block",c.focus()):a.style.display="none"}function i(){a.style.display="none"}document.addEventListener('keydown',a=>{a.key==="/"&&(a.preventDefault(),f()),a.key==="Escape"&&(a.preventDefault(),i())});const k=document.getElementById("search-icon");k.addEventListener('click',a=>{f()}),k.addEventListener('keydown',a=>{f()}),a.addEventListener('click',a=>{i()}),document.getElementById("search-space").addEventListener('click',a=>{a.stopPropagation()})}run()
Quartz runs on top of
Hugo so all notes are written in
Markdown.
Obsidian
I recommend using
Obsidian as a way to edit and grow your digital garden. It comes with a really nice editor and graphical interface to preview all of your local files.
Quartz is designed to be effortless to deploy. If you forked and cloned Quartz directly from the repository, everything should already be good to go! Follow the steps below.
Enable GitHub Actions
By default, GitHub disables workflows from running automatically on Forked Repostories. Head to the ‘Actions’ tab of your forked repository and Enable Workflows to setup deploying your Quartz site!
Enable GitHub Actions
Enable GitHub Pages
Head to the ‘Settings’ tab of your forked repository and go to the ‘Pages’ tab.
(IMPORTANT) Set the source to deploy from master (and not hugo) using / (root)
Set a custom domain here if you have one!
Enable GitHub Pages
Pushing Changes
To see your changes on the internet, we need to push it them to GitHub. Quartz is a git repository so updating it is the same workflow as you would follow as if it were just a regular software project.
Quartz is designed to be effortless to deploy. If you forked and cloned Quartz directly from the repository, everything should already be good to go! Follow the steps below.
Enable GitHub Actions
By default, GitHub disables workflows from running automatically on Forked Repostories. Head to the ‘Actions’ tab of your forked repository and Enable Workflows to setup deploying your Quartz site!
Enable GitHub Actions
Enable GitHub Pages
Head to the ‘Settings’ tab of your forked repository and go to the ‘Pages’ tab.
(IMPORTANT) Set the source to deploy from master (and not hugo) using / (root)
Set a custom domain here if you have one!
Enable GitHub Pages
Pushing Changes
To see your changes on the internet, we need to push it them to GitHub. Quartz is a git repository so updating it is the same workflow as you would follow as if it were just a regular software project.
Want to see what Quartz can do? Here are some cool community gardens :)
-Quartz Documentation (this site!) Strengthening Online Social Bonds: Research Garden Jacky Zhao’s Garden Anson Yu’s Garden Shihyu’s PKM Chloe’s Garden SlRvb’s Site Course notes for Information Technology Advanced Theory Brandon Boswell’s Garden If you want to see your own on here, submit a Pull Request adding yourself to this file!...
“[One] who works with the door open gets all kinds of interruptions, but [they] also occasionally gets clues as to what the world is and what might be important....
Editing Quartz runs on top of Hugo so all notes are written in Markdown.
-Obsidian I recommend using Obsidian as a way to edit and grow your digital garden....
GitHub Pages Quartz is designed to be effortless to deploy. If you forked and cloned Quartz directly from the repository, everything should already be good to go!...
Registrar This step is only applicable if you are using a custom domain! If you are using a <YOUR-USERNAME>.github.io domain, you can skip this step....
Configuration Quartz is designed to be extremely configurable. You can find the bulk of the configuration scattered throughout the repository depending on how in-depth you’d like to get....
“[One] who works with the door open gets all kinds of interruptions, but [they] also occasionally gets clues as to what the world is and what might be important....
Editing Quartz runs on top of Hugo so all notes are written in Markdown.
+Obsidian I recommend using Obsidian as a way to edit and grow your digital garden....
GitHub Pages Quartz is designed to be effortless to deploy. If you forked and cloned Quartz directly from the repository, everything should already be good to go!...
Registrar This step is only applicable if you are using a custom domain! If you are using a <YOUR-USERNAME>.github.io domain, you can skip this step....
Configuration Quartz is designed to be extremely configurable. You can find the bulk of the configuration scattered throughout the repository depending on how in-depth you’d like to get....
\ No newline at end of file
diff --git a/notes/obsidian/index.html b/notes/obsidian/index.html
index bf6e6db66..5ddf73bf2 100644
--- a/notes/obsidian/index.html
+++ b/notes/obsidian/index.html
@@ -2,14 +2,14 @@
Obsidian is the preferred way to use Quartz. You can either create a new Obsidian Vault or link one that your already have.
New Vault
If you don’t have an existing Vault,
+ `;else{e.innerHTML=c.map(a=>m({...a,term:b})).join("\n");const a=document.getElementsByClassName("result-card");[...a].forEach(a=>{a.onclick=()=>h(a.id,b)})}})});const a=document.getElementById("search-container");function f(){a.style.display==="none"||a.style.display===""?(c.value="",e.innerHTML="",a.style.display="block",c.focus()):a.style.display="none"}function i(){a.style.display="none"}document.addEventListener('keydown',a=>{a.key==="/"&&(a.preventDefault(),f()),a.key==="Escape"&&(a.preventDefault(),i())});const k=document.getElementById("search-icon");k.addEventListener('click',a=>{f()}),k.addEventListener('keydown',a=>{f()}),a.addEventListener('click',a=>{i()}),document.getElementById("search-space").addEventListener('click',a=>{a.stopPropagation()})}run()
Obsidian is the preferred way to use Quartz. You can either create a new Obsidian Vault or link one that your already have.
New Vault
If you don’t have an existing Vault,
download Obsidian and create a new Vault in the /content folder that you created and cloned during the
setup step.
Linking an existing Vault
The easiest way to use an existing Vault is to copy all of your files (directory and hierarchies intact) into the /content folder.
Settings
Great, now that you have your Obsidian linked to your Quartz, let’s fix some settings so that they play well.
Under Options > Files and Links, set the New link format to always be Absolute Path in Vault and disabled WikiLinks so Obsidian generates regular Markdown links.
Go to Settings > Files & Links > Turn “on” automatically update internal links.
Use [[Wikilinks]] should be off (Wikilinks are not officially supported yet)
Obsidian Settings
Templates
Inserting front matter everytime you want to create a new Note gets annoying really quickly. Luckily, Obsidian supports templates which makes inserting new content really easily.
If you decide to overwrite the /content folder completely, don’t remove the /content/templates folder!
Head over to Options > Core Plugins and enable the Templates plugin. Then go to Options > Hotkeys and set a hotkey for ‘Insert Template’ (I recomment [cmd]+T). That way, when you create a new note, you can just press the hotkey for a new template and be ready to go!
\ No newline at end of file
diff --git a/notes/page/2/index.html b/notes/page/2/index.html
index 6cc659c98..0f5272041 100644
--- a/notes/page/2/index.html
+++ b/notes/page/2/index.html
@@ -2,13 +2,13 @@
Still having trouble? Here are a list of common questions and problems people encounter when installing Quartz.
-While you’re here, join our Discord :)...
\ No newline at end of file
diff --git a/notes/philosophy/index.html b/notes/philosophy/index.html
index 6cb337281..32fa5d69a 100644
--- a/notes/philosophy/index.html
+++ b/notes/philosophy/index.html
@@ -2,14 +2,14 @@
“[One] who works with the door open gets all kinds of interruptions, but [they] also occasionally gets clues as to what the world is and what might be important.” — Richard Hamming
Why Quartz?
Hosting a public digital garden isn’t easy. There are an overwhelming number of tutorials, resources, and guides for tools like
+ `;else{e.innerHTML=c.map(a=>m({...a,term:b})).join("\n");const a=document.getElementsByClassName("result-card");[...a].forEach(a=>{a.onclick=()=>h(a.id,b)})}})});const a=document.getElementById("search-container");function f(){a.style.display==="none"||a.style.display===""?(c.value="",e.innerHTML="",a.style.display="block",c.focus()):a.style.display="none"}function i(){a.style.display="none"}document.addEventListener('keydown',a=>{a.key==="/"&&(a.preventDefault(),f()),a.key==="Escape"&&(a.preventDefault(),i())});const k=document.getElementById("search-icon");k.addEventListener('click',a=>{f()}),k.addEventListener('keydown',a=>{f()}),a.addEventListener('click',a=>{i()}),document.getElementById("search-space").addEventListener('click',a=>{a.stopPropagation()})}run()
“[One] who works with the door open gets all kinds of interruptions, but [they] also occasionally gets clues as to what the world is and what might be important.” — Richard Hamming
Why Quartz?
Hosting a public digital garden isn’t easy. There are an overwhelming number of tutorials, resources, and guides for tools like
Notion,
Roam, and
Obsidian, yet none of them have super easy to use free tools to publish that garden to the world.
I’ve personally found that
It’s nice to access notes from anywhere
Having a public digital garden invites open conversations
It makes keeping personal notes and knowledge playful and fun
I was really inspired by
diff --git a/notes/preview-changes/index.html b/notes/preview-changes/index.html
index b7b8e020b..436fb3083 100644
--- a/notes/preview-changes/index.html
+++ b/notes/preview-changes/index.html
@@ -2,14 +2,14 @@
If you’d like to preview what your Quartz site looks like before deploying it to the internet, here’s exactly how to do that!
Note that both of these steps need to be completed.
Install hugo-obsidian
This step will generate the list of backlinks for Hugo to parse. Ensure you have
+ `;else{e.innerHTML=c.map(a=>m({...a,term:b})).join("\n");const a=document.getElementsByClassName("result-card");[...a].forEach(a=>{a.onclick=()=>h(a.id,b)})}})});const a=document.getElementById("search-container");function f(){a.style.display==="none"||a.style.display===""?(c.value="",e.innerHTML="",a.style.display="block",c.focus()):a.style.display="none"}function i(){a.style.display="none"}document.addEventListener('keydown',a=>{a.key==="/"&&(a.preventDefault(),f()),a.key==="Escape"&&(a.preventDefault(),i())});const k=document.getElementById("search-icon");k.addEventListener('click',a=>{f()}),k.addEventListener('keydown',a=>{f()}),a.addEventListener('click',a=>{i()}),document.getElementById("search-space").addEventListener('click',a=>{a.stopPropagation()})}run()
Setting up Quartz requires a basic understanding of git. If you are unfamiliar,
+ `;else{e.innerHTML=c.map(a=>m({...a,term:b})).join("\n");const a=document.getElementsByClassName("result-card");[...a].forEach(a=>{a.onclick=()=>h(a.id,b)})}})});const a=document.getElementById("search-container");function f(){a.style.display==="none"||a.style.display===""?(c.value="",e.innerHTML="",a.style.display="block",c.focus()):a.style.display="none"}function i(){a.style.display="none"}document.addEventListener('keydown',a=>{a.key==="/"&&(a.preventDefault(),f()),a.key==="Escape"&&(a.preventDefault(),i())});const k=document.getElementById("search-icon");k.addEventListener('click',a=>{f()}),k.addEventListener('keydown',a=>{f()}),a.addEventListener('click',a=>{i()}),document.getElementById("search-space").addEventListener('click',a=>{a.stopPropagation()})}run()
Then, Fork the repository into your own GitHub account. If you don’t have an account, you can make on for free
here. More details about forking a repo can be found on
diff --git a/notes/showcase/index.html b/notes/showcase/index.html
index 12f4057c2..d5e6aee62 100644
--- a/notes/showcase/index.html
+++ b/notes/showcase/index.html
@@ -3,13 +3,13 @@
If you want to see your own on here, submit a
+ `;else{e.innerHTML=c.map(a=>m({...a,term:b})).join("\n");const a=document.getElementsByClassName("result-card");[...a].forEach(a=>{a.onclick=()=>h(a.id,b)})}})});const a=document.getElementById("search-container");function f(){a.style.display==="none"||a.style.display===""?(c.value="",e.innerHTML="",a.style.display="block",c.focus()):a.style.display="none"}function i(){a.style.display="none"}document.addEventListener('keydown',a=>{a.key==="/"&&(a.preventDefault(),f()),a.key==="Escape"&&(a.preventDefault(),i())});const k=document.getElementById("search-icon");k.addEventListener('click',a=>{f()}),k.addEventListener('keydown',a=>{f()}),a.addEventListener('click',a=>{i()}),document.getElementById("search-space").addEventListener('click',a=>{a.stopPropagation()})}run()
\ No newline at end of file
diff --git a/notes/troubleshooting/index.html b/notes/troubleshooting/index.html
index ecb5d97bd..a0cff46d8 100644
--- a/notes/troubleshooting/index.html
+++ b/notes/troubleshooting/index.html
@@ -3,14 +3,14 @@ While you’re here, join our Discord :)">Troubleshooting and FAQ${c.title}
My GitHub pages is just showing the README and not Quartz
Make sure you set the source to deploy from master (and not hugo) using / (root)! See more in the
hosting guide
Some of my pages have ‘January 1, 0001’ as the last modified date
This is a problem caused by git treating files as case-insensitive by default and some of your posts probably have capitalized file names. You can turn this off in your Quartz by running this command.
1
2
diff --git a/sitemap.xml b/sitemap.xml
index e9a851e6d..127b5cad5 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1 +1 @@
-https://quartz.jzhao.xyz/categories/https://quartz.jzhao.xyz/notes/config/2022-02-20T21:40:10-05:00https://quartz.jzhao.xyz/notes/custom-Domain/2022-02-20T21:40:10-05:00https://quartz.jzhao.xyz/notes/hosting/2022-02-20T21:40:10-05:00https://quartz.jzhao.xyz/notes/editing/2022-02-20T21:40:10-05:00https://quartz.jzhao.xyz/notes/ignore-notes/2022-02-20T21:40:10-05:00https://quartz.jzhao.xyz/notes/2022-02-20T21:40:10-05:00https://quartz.jzhao.xyz/notes/obsidian/2022-02-20T21:40:10-05:00https://quartz.jzhao.xyz/notes/preview-changes/2022-02-20T21:40:10-05:00https://quartz.jzhao.xyz/notes/philosophy/2022-02-20T21:40:10-05:00https://quartz.jzhao.xyz/notes/setup/2022-02-20T21:40:10-05:00https://quartz.jzhao.xyz/tags/setup/2022-02-20T21:40:10-05:00https://quartz.jzhao.xyz/notes/showcase/2022-02-20T21:40:10-05:00https://quartz.jzhao.xyz/tags/2022-02-20T21:40:10-05:00https://quartz.jzhao.xyz/notes/troubleshooting/2022-02-20T21:40:10-05:00https://quartz.jzhao.xyz/2022-02-20T21:40:10-05:00
\ No newline at end of file
+https://quartz.jzhao.xyz/categories/https://quartz.jzhao.xyz/notes/config/2022-02-22T13:36:08-05:00https://quartz.jzhao.xyz/notes/custom-Domain/2022-02-22T13:36:08-05:00https://quartz.jzhao.xyz/notes/hosting/2022-02-22T13:36:08-05:00https://quartz.jzhao.xyz/notes/editing/2022-02-22T13:36:08-05:00https://quartz.jzhao.xyz/notes/ignore-notes/2022-02-22T13:36:08-05:00https://quartz.jzhao.xyz/notes/2022-02-22T13:36:08-05:00https://quartz.jzhao.xyz/notes/obsidian/2022-02-22T13:36:08-05:00https://quartz.jzhao.xyz/notes/preview-changes/2022-02-22T13:36:08-05:00https://quartz.jzhao.xyz/notes/philosophy/2022-02-22T13:36:08-05:00https://quartz.jzhao.xyz/notes/setup/2022-02-22T13:36:08-05:00https://quartz.jzhao.xyz/tags/setup/2022-02-22T13:36:08-05:00https://quartz.jzhao.xyz/notes/showcase/2022-02-22T13:36:08-05:00https://quartz.jzhao.xyz/tags/2022-02-22T13:36:08-05:00https://quartz.jzhao.xyz/notes/troubleshooting/2022-02-22T13:36:08-05:00https://quartz.jzhao.xyz/2022-02-22T13:36:08-05:00
\ No newline at end of file
diff --git a/tags/index.html b/tags/index.html
index 90324c52e..ef9285929 100644
--- a/tags/index.html
+++ b/tags/index.html
@@ -2,12 +2,12 @@
Configuration Quartz is designed to be extremely configurable. You can find the bulk of the configuration scattered throughout the repository depending on how in-depth you’d like to get....
GitHub Pages Quartz is designed to be effortless to deploy. If you forked and cloned Quartz directly from the repository, everything should already be good to go!...
Editing Quartz runs on top of Hugo so all notes are written in Markdown.
-Obsidian I recommend using Obsidian as a way to edit and grow your digital garden....