docs updates, add search to main page, fix redir bug

This commit is contained in:
Jacky Zhao 2021-10-24 23:31:09 -07:00
parent c1c061fbea
commit 22a9c0ddfc
4 changed files with 38 additions and 25 deletions

View File

@ -1,5 +1,5 @@
# Quartz # Quartz
Simple second brain and digital garden. Host your own second brain and digital garden for free.
> “[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 > “[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

View File

@ -1,7 +1,10 @@
# 🌱 Quartz ---
## v2.0 title: 🪴 Quartz v2.1
---
Simple second brain and [digital garden](https://jzhao.xyz/posts/digital-gardening). Host your second brain and [digital garden](https://jzhao.xyz/posts/digital-gardening) for free.
Curious what it can do? You're on it right now! The entire Quartz documentation is fully hosted using Quartz.
## Why Quartz? ## Why Quartz?
Hosting a public digital garden isn't easy. There are an overwhelming number of tutorials, resources, and guides for tools like [Notion](https://www.notion.so/), [Roam](https://roamresearch.com/), and [Obsidian](https://obsidian.md/), yet none of them have super easy to use *free* tools to publish that garden to the world. Hosting a public digital garden isn't easy. There are an overwhelming number of tutorials, resources, and guides for tools like [Notion](https://www.notion.so/), [Roam](https://roamresearch.com/), and [Obsidian](https://obsidian.md/), yet none of them have super easy to use *free* tools to publish that garden to the world.
@ -11,17 +14,13 @@ I've personally found that
2. Having a public digital garden invites open conversations 2. Having a public digital garden invites open conversations
3. It makes keeping personal notes and knowledge *playful and fun* 3. It makes keeping personal notes and knowledge *playful and fun*
> “He who works with the door open gets all kinds of interruptions, but he also occasionally gets clues as to what the world is and what might be important.” — Richard Hamming > “[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
I was really inspired by [Bianca](https://garden.bianca.digital/) and [Joel](https://joelhooks.com/digital-garden)'s digital gardens and wanted to try making my own. I was really inspired by [Bianca](https://garden.bianca.digital/) and [Joel](https://joelhooks.com/digital-garden)'s digital gardens and wanted to try making my own.
**The goal of Quartz is to make hosting your own public digital garden free and simple.** You don't even need your own website. Quartz does all of that for you and gives your own little corner of the internet. **The goal of Quartz is to make hosting your own public digital garden free and simple.** You don't even need your own website. Quartz does all of that for you and gives your own little corner of the internet.
## Get Started ## Get Started
The entire Quartz documentation is fully hosted using Quartz! Whether you're setting up a website and project for the first time or a seasoned digital gardener, I hope that you'll find something useful about this project.
Let's get to business and get you started!
> 📚 [Setup your own digital garden using Quartz](notes/setup.md) > 📚 [Setup your own digital garden using Quartz](notes/setup.md)
Not convinced yet? Look at some [community digital gardens](moc/showcase) built with Quartz! Not convinced yet? Look at some [community digital gardens](moc/showcase) built with Quartz!

View File

@ -1,16 +1,28 @@
{{define "head"}} <!DOCTYPE html>
<html lang="en">
{{ partial "head.html" . }} {{ partial "head.html" . }}
{{end}}
{{define "main"}} <body>
<!-- Main Page --> {{partial "search.html" .}}
<div class="singlePage"> <div class="singlePage">
{{partial "darkmode.html" .}} <!-- Begin actual content -->
{{.Content}} <header>
{{if .Title}}<h1>{{ .Title }}</h1>{{end}}
<!-- Contact Info --> <svg tabindex="0" id="search-icon" aria-labelledby="title desc" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.9 19.7"><title id="title">Search Icon</title><desc id="desc">Icon to open search</desc><g class="search-path" fill="none"><path stroke-linecap="square" d="M18.5 18.3l-5.4-5.4"/><circle cx="8" cy="8" r="7"/></g></svg>
<div> <div class="spacer"></div>
{{partial "footer.html" .}} {{partial "darkmode.html" .}}
</div> </header>
<article>
{{if $.Site.Data.config.enableToc}}
<aside class="mainTOC">
<h3>Table of Contents</h3>
{{ .TableOfContents }}
</aside>
{{end}}
{{- .Content -}}
</article>
{{partial "footer.html" .}}
</div> </div>
{{end}} </body>
</html>

View File

@ -126,13 +126,17 @@
</button>` </button>`
} }
const redir = (id, term) => {
window.location.href = {{.Site.BaseURL}} + `${id}#:~:text=${encodeURIComponent(term)}`
}
const source = document.getElementById('search-bar') const source = document.getElementById('search-bar')
const results = document.getElementById("results-container") const results = document.getElementById("results-container")
let term let term
source.addEventListener("keyup", (e) => { source.addEventListener("keyup", (e) => {
if (e.key === "Enter") { if (e.key === "Enter") {
const anchor = document.getElementsByClassName("result-card")[0] const anchor = document.getElementsByClassName("result-card")[0]
window.location.href = `${anchor.id}#:~:text=${encodeURIComponent(term)}` redir(anchor.id, term)
} }
}) })
source.addEventListener('input', (e) => { source.addEventListener('input', (e) => {
@ -163,9 +167,7 @@
.join("\n") .join("\n")
const anchors = document.getElementsByClassName("result-card"); const anchors = document.getElementsByClassName("result-card");
[...anchors].forEach(anchor => { [...anchors].forEach(anchor => {
anchor.onclick = () => { anchor.onclick = () => redir(anchor.id, term)
window.location.href = `${anchor.id}#:~:text=${encodeURIComponent(term)}`
}
}) })
} }
}) })