1
+ `},redir=(a,b)=>{window.location.href="https://quartz.jzhao.xyz/"+`${a}#:~:text=${encodeURIComponent(b)}`},fetch=a=>({id:a,url:a,title:content[a].title,content:content[a].content}),source=document.getElementById('search-bar'),results=document.getElementById("results-container");let term;source.addEventListener("keyup",a=>{if(a.key==="Enter"){const a=document.getElementsByClassName("result-card")[0];redir(a.id,term)}}),source.addEventListener('input',a=>{term=a.target.value,contentIndex.search(term,[{field:"content",limit:10,suggest:!0},{field:"title",limit:5}]).then(c=>{const a=b=>{const a=c.filter(a=>a.field===b);return a.length===0?[]:[...a[0].result]},d=new Set([...a('title'),...a('content')]),b=[...d].map(fetch);if(b.length===0)results.innerHTML=`
+ No results.
+ Try another search term?
+ `;else{results.innerHTML=b.map(a=>resultToHTML({...a,term})).join("\n");const a=document.getElementsByClassName("result-card");[...a].forEach(a=>{a.onclick=()=>redir(a.id,term)})}})});const searchContainer=document.getElementById("search-container");function openSearch(){searchContainer.style.display==="none"||searchContainer.style.display===""?(source.value="",results.innerHTML="",searchContainer.style.display="block",source.focus()):searchContainer.style.display="none"}function closeSearch(){searchContainer.style.display="none"}document.addEventListener('keydown',a=>{a.key==="/"&&(a.preventDefault(),openSearch()),a.key==="Escape"&&(a.preventDefault(),closeSearch())}),window.addEventListener('DOMContentLoaded',()=>{const a=document.getElementById("search-icon");a.addEventListener('click',a=>{openSearch()}),a.addEventListener('keydown',a=>{openSearch()}),searchContainer.addEventListener('click',a=>{closeSearch()}),document.getElementById("search-space").addEventListener('click',a=>{a.stopPropagation()})})Search Icon Icon to open search
Configuration Last updated January 3, 2022
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.
The majority of configuration can be be found under data/config.yaml. An annotated example configuration is shown below.
1
2
3
4
@@ -38,6 +42,5 @@
- /moc : "#4388cc"
Styling Want to go even more in-depth? You can add custom CSS styling and change existing colours through editing assets/custom.scss. If you’d like to target specific parts of the site, you can add ids and classes to the HTML partials in /layouts/partials.
Partials Partials are what dictate what actually gets rendered to the page. Want to change how pages are styled and structured? You can edit the appropriate layout in /layouts.
For example, the structure of the home page can be edited through /layouts/index.html. To customize the footer, you can edit /layouts/partials/footer.html
More info about partials on
Hugo’s website.
Still having problems? Checkout our
-FAQ and Troubleshooting guide
-.
\ No newline at end of file
diff --git a/notes/editing/index.html b/notes/editing/index.html
index c527681f9..277cf6f34 100644
--- a/notes/editing/index.html
+++ b/notes/editing/index.html
@@ -1,17 +1,19 @@
-
Editing Content in Quartz Search Icon Icon to open search
Editing Content in Quartz Last updated December 28, 2021
Editing Quartz runs on top of
-Hugo
-so all notes are written in
-Markdown
-.
Obsidian I strongly 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 my local files.
š How to link your Obsidian Vault](notes/Obsidian.md)
Of course, all the files are in Markdown so you could just use your favourite text editor of choice.
Ignoring Files Only want to publish a subset of all of your notes? Don’t worry, Quartz makes this a simple two-step process.
ā
-Excluding pages from being published
Folder Structure Here’s a rough overview of what’s what.
All content in your garden can found in the /content folder. To make edits, you can open any of the files and make changes directly and save it. You can organize content into any folder you’d like.
To edit the main home page, open /content/_index.md. This is the home page which is slightly special. You don’t need front matter here!
To create a link between notes in your garden, just create a normal link using Markdown pointing to the document in question. Please note that all links should be relative to the root /content path .
1
+ `},redir=(a,b)=>{window.location.href="https://quartz.jzhao.xyz/"+`${a}#:~:text=${encodeURIComponent(b)}`},fetch=a=>({id:a,url:a,title:content[a].title,content:content[a].content}),source=document.getElementById('search-bar'),results=document.getElementById("results-container");let term;source.addEventListener("keyup",a=>{if(a.key==="Enter"){const a=document.getElementsByClassName("result-card")[0];redir(a.id,term)}}),source.addEventListener('input',a=>{term=a.target.value,contentIndex.search(term,[{field:"content",limit:10,suggest:!0},{field:"title",limit:5}]).then(c=>{const a=b=>{const a=c.filter(a=>a.field===b);return a.length===0?[]:[...a[0].result]},d=new Set([...a('title'),...a('content')]),b=[...d].map(fetch);if(b.length===0)results.innerHTML=`
+ No results.
+ Try another search term?
+ `;else{results.innerHTML=b.map(a=>resultToHTML({...a,term})).join("\n");const a=document.getElementsByClassName("result-card");[...a].forEach(a=>{a.onclick=()=>redir(a.id,term)})}})});const searchContainer=document.getElementById("search-container");function openSearch(){searchContainer.style.display==="none"||searchContainer.style.display===""?(source.value="",results.innerHTML="",searchContainer.style.display="block",source.focus()):searchContainer.style.display="none"}function closeSearch(){searchContainer.style.display="none"}document.addEventListener('keydown',a=>{a.key==="/"&&(a.preventDefault(),openSearch()),a.key==="Escape"&&(a.preventDefault(),closeSearch())}),window.addEventListener('DOMContentLoaded',()=>{const a=document.getElementById("search-icon");a.addEventListener('click',a=>{openSearch()}),a.addEventListener('keydown',a=>{openSearch()}),searchContainer.addEventListener('click',a=>{closeSearch()}),document.getElementById("search-space").addEventListener('click',a=>{a.stopPropagation()})})Search Icon Icon to open search
Editing Content in Quartz Last updated January 3, 2022
Editing Quartz runs on top of
+Hugo so all notes are written in
+Markdown .
Obsidian I strongly 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 my local files.
š How to link your Obsidian Vault](notes/Obsidian.md)
Of course, all the files are in Markdown so you could just use your favourite text editor of choice.
Ignoring Files Only want to publish a subset of all of your notes? Don’t worry, Quartz makes this a simple two-step process.
ā
+Excluding pages from being published
Folder Structure Here’s a rough overview of what’s what.
All content in your garden can found in the /content folder. To make edits, you can open any of the files and make changes directly and save it. You can organize content into any folder you’d like.
To edit the main home page, open /content/_index.md. This is the home page which is slightly special. You don’t need front matter here!
To create a link between notes in your garden, just create a normal link using Markdown pointing to the document in question. Please note that all links should be relative to the root /content path .
1
2
For example, I want to link this current document to `notes/config.md` .
[A link to the config page ](notes/config.md )
@@ -26,8 +28,7 @@ title: "Example Title"
Rest of your content here...
Previewing Changes This step is purely optional and mostly for those who want to see the published version of their digital garden locally before opening it up to the internet. This is highly recommended .
š
-Preview Quartz Changes
For those who like to live life more on the edge, viewing the garden through Obsidian gets you pretty close to the real thing.
Publishing Changes Now that you know the basics of managing your digital garden using Quartz, you can publish it to the internet!
š
-Hosting Quartz online!
Having problems? Checkout our
-FAQ and Troubleshooting guide
-.
\ No newline at end of file
diff --git a/notes/hosting/index.html b/notes/hosting/index.html
index 64350ca19..9f2a0ae28 100644
--- a/notes/hosting/index.html
+++ b/notes/hosting/index.html
@@ -1,10 +1,14 @@
-
Deploying Quartz to the Web Search Icon Icon to open search
Deploying Quartz to the Web Last updated December 28, 2021
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! You can head to <YOUR-GITHUB-USERNAME.github.io/quartz to see it live.
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.
Set the source to deploy from master 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 essentially a git repository so updating it is the same workflow as you would follow as normal.
1
+ `},redir=(a,b)=>{window.location.href="https://quartz.jzhao.xyz/"+`${a}#:~:text=${encodeURIComponent(b)}`},fetch=a=>({id:a,url:a,title:content[a].title,content:content[a].content}),source=document.getElementById('search-bar'),results=document.getElementById("results-container");let term;source.addEventListener("keyup",a=>{if(a.key==="Enter"){const a=document.getElementsByClassName("result-card")[0];redir(a.id,term)}}),source.addEventListener('input',a=>{term=a.target.value,contentIndex.search(term,[{field:"content",limit:10,suggest:!0},{field:"title",limit:5}]).then(c=>{const a=b=>{const a=c.filter(a=>a.field===b);return a.length===0?[]:[...a[0].result]},d=new Set([...a('title'),...a('content')]),b=[...d].map(fetch);if(b.length===0)results.innerHTML=`
+ No results.
+ Try another search term?
+ `;else{results.innerHTML=b.map(a=>resultToHTML({...a,term})).join("\n");const a=document.getElementsByClassName("result-card");[...a].forEach(a=>{a.onclick=()=>redir(a.id,term)})}})});const searchContainer=document.getElementById("search-container");function openSearch(){searchContainer.style.display==="none"||searchContainer.style.display===""?(source.value="",results.innerHTML="",searchContainer.style.display="block",source.focus()):searchContainer.style.display="none"}function closeSearch(){searchContainer.style.display="none"}document.addEventListener('keydown',a=>{a.key==="/"&&(a.preventDefault(),openSearch()),a.key==="Escape"&&(a.preventDefault(),closeSearch())}),window.addEventListener('DOMContentLoaded',()=>{const a=document.getElementById("search-icon");a.addEventListener('click',a=>{openSearch()}),a.addEventListener('keydown',a=>{openSearch()}),searchContainer.addEventListener('click',a=>{closeSearch()}),document.getElementById("search-space").addEventListener('click',a=>{a.stopPropagation()})})Search Icon Icon to open search
Deploying Quartz to the Web Last updated January 3, 2022
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! You can head to <YOUR-GITHUB-USERNAME.github.io/quartz to see it live.
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.
Set the source to deploy from master 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 essentially a git repository so updating it is the same workflow as you would follow as normal.
1
2
3
4
@@ -41,9 +45,7 @@ git push origin hugo
publish_branch : master
cname : <YOUR-DOMAIN>
Registrar This step is only applicable if you are using a custom domain ! If you are using <YOUR-USERNAME>.github.io, 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
-documentation on this
-, but the tldr; is to
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.
Done!
External Hosting Don’t want to use GitHub Pages? Hugo builds everything for you! Everything is a packaged set of static files ready to deploy in /public. You can then upload this folder to a cloud provider to deploy. Alternatively, most providers also give users the option to link a GitHub repository and a folder to deploy. When doing this, ensure you select /public folder under the master branch.
Now that your Quartz is live, let’s figure out how to make Quartz really yours !
šØ
-Customizing Quartz
Having problems? Checkout our
-FAQ and Troubleshooting guide
-.
\ No newline at end of file
diff --git a/notes/ignore-notes/index.html b/notes/ignore-notes/index.html
index 3b359bc13..4555ecbc8 100644
--- a/notes/ignore-notes/index.html
+++ b/notes/ignore-notes/index.html
@@ -1,10 +1,15 @@
-
Ignoring Notes Search Icon Icon to open search
Ignoring Notes Last updated December 28, 2021
Quartz Ignore Edit ignoreFiles in config.toml to include paths you’d like to exclude from being rendered.
1
+ `},redir=(a,b)=>{window.location.href="https://quartz.jzhao.xyz/"+`${a}#:~:text=${encodeURIComponent(b)}`},fetch=a=>({id:a,url:a,title:content[a].title,content:content[a].content}),source=document.getElementById('search-bar'),results=document.getElementById("results-container");let term;source.addEventListener("keyup",a=>{if(a.key==="Enter"){const a=document.getElementsByClassName("result-card")[0];redir(a.id,term)}}),source.addEventListener('input',a=>{term=a.target.value,contentIndex.search(term,[{field:"content",limit:10,suggest:!0},{field:"title",limit:5}]).then(c=>{const a=b=>{const a=c.filter(a=>a.field===b);return a.length===0?[]:[...a[0].result]},d=new Set([...a('title'),...a('content')]),b=[...d].map(fetch);if(b.length===0)results.innerHTML=`
+ No results.
+ Try another search term?
+ `;else{results.innerHTML=b.map(a=>resultToHTML({...a,term})).join("\n");const a=document.getElementsByClassName("result-card");[...a].forEach(a=>{a.onclick=()=>redir(a.id,term)})}})});const searchContainer=document.getElementById("search-container");function openSearch(){searchContainer.style.display==="none"||searchContainer.style.display===""?(source.value="",results.innerHTML="",searchContainer.style.display="block",source.focus()):searchContainer.style.display="none"}function closeSearch(){searchContainer.style.display="none"}document.addEventListener('keydown',a=>{a.key==="/"&&(a.preventDefault(),openSearch()),a.key==="Escape"&&(a.preventDefault(),closeSearch())}),window.addEventListener('DOMContentLoaded',()=>{const a=document.getElementById("search-icon");a.addEventListener('click',a=>{openSearch()}),a.addEventListener('keydown',a=>{openSearch()}),searchContainer.addEventListener('click',a=>{closeSearch()}),document.getElementById("search-space").addEventListener('click',a=>{a.stopPropagation()})})Search Icon Icon to open search
Ignoring Notes Last updated January 3, 2022
Quartz Ignore Edit ignoreFiles in config.toml to include paths you’d like to exclude from being rendered.
1
2
3
4
@@ -28,6 +33,5 @@ draft: true
---
...
More details in
-Hugo’s documentation
-.
Global Ignore However, just adding to the ignoreFiles will only prevent the page from being access through Quartz. If you want to prevent the file from being pushed to GitHub (for example if you have a public repository), you need to also add the path to the .gitignore file at the root of the repository.
\ No newline at end of file
diff --git a/notes/index.html b/notes/index.html
index 544ea2147..a6fa31864 100644
--- a/notes/index.html
+++ b/notes/index.html
@@ -1,10 +1,14 @@
-
Notes Search Icon Icon to open search
All Notes Common Pitfalls 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....
3 minute read. Last updated December 28, 2021
Making your own Quartz Setting up Quartz requires a basic understanding of git. If you are unfamiliar, this resource is a great place to start!...
1 minute read. Last updated December 28, 2021
ā[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....
1 minute read. Last updated December 28, 2021
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!...
1 minute read. Last updated December 28, 2021
Setup Obsidian is the preferred way to use Quartz. You can either create a new Obsidian Vault or link one that your already have....
2 minute read. Last updated December 28, 2021
Quartz Ignore Edit ignoreFiles in config.toml to include paths you’d like to exclude from being rendered.
-1 2 3 4 5 6 ....
1 minute read. Last updated December 28, 2021
Editing Quartz runs on top of Hugo so all notes are written in Markdown .
-Obsidian I strongly recommend using Obsidian as a way to edit and grow your digital garden....
2 minute read. Last updated December 28, 2021
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!...
3 minute read. Last updated December 28, 2021
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....
2 minute read. Last updated December 28, 2021