Merge branch 'hugo' into holy-grail

This commit is contained in:
DhammaCharts 2022-07-30 08:58:46 +01:00 committed by GitHub
commit 939ca8cc54
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 187 additions and 137 deletions

View File

@ -1,6 +1,6 @@
# Quartz # Quartz
Host your second brain and [digital garden](https://jzhao.xyz/posts/digital-gardening) for free. Quartz features Host your second brain and [digital garden](https://jzhao.xyz/posts/networked-thought) for free. Quartz features
1. Extremely fast full-text search by pressing `Ctrl` + `k` 1. Extremely fast full-text search by pressing `Ctrl` + `k`
2. Customizable and hackable design based on Hugo 2. Customizable and hackable design based on Hugo
@ -8,6 +8,8 @@ Host your second brain and [digital garden](https://jzhao.xyz/posts/digital-gard
4. Built-in CJK + Latex Support 4. Built-in CJK + Latex Support
5. Support for both Markdown Links and Wikilinks 5. Support for both Markdown Links and Wikilinks
Check out some of the [amazing gardens that community members](https://quartz.jzhao.xyz/notes/showcase/) have published with Quartz!
> “[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
🔗 Get Started: https://quartz.jzhao.xyz/ 🔗 Get Started: https://quartz.jzhao.xyz/

View File

@ -25,7 +25,10 @@ const addCopyButtons = () => {
() => { () => {
button.blur(); button.blur();
button.innerHTML = svgCheck; button.innerHTML = svgCheck;
setTimeout(() => (button.innerHTML = svgCopy), 2000); setTimeout(() => {
button.innerHTML = svgCopy
button.style.borderColor = ""
}, 2000);
}, },
(error) => (button.innerHTML = "Error") (error) => (button.innerHTML = "Error")
); );

View File

@ -50,7 +50,7 @@ function initPopover(baseURL, useContextualBacklinks, renderLatex) {
li.addEventListener("mouseover", () => { li.addEventListener("mouseover", () => {
// fix tooltip positioning // fix tooltip positioning
window.FloatingUIDOM.computePosition(li, el, { window.FloatingUIDOM.computePosition(li, el, {
middleware: [window.FloatingUIDOM.offset(15), window.FloatingUIDOM.inline(), window.FloatingUIDOM.shift()], middleware: [window.FloatingUIDOM.offset(10), window.FloatingUIDOM.inline(), window.FloatingUIDOM.shift()],
}).then(({ x, y }) => { }).then(({ x, y }) => {
Object.assign(el.style, { Object.assign(el.style, {
left: `${x}px`, left: `${x}px`,

View File

@ -1,33 +1,60 @@
// Replace this with your own font imports!
@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;700&family=Inter:wght@400;600;700&family=Source+Sans+Pro:wght@400;600&display=swap');
:root { :root {
--lt-colours-light: var(--light) !important; --font-body: "Source Sans Pro";
--lt-colours-lightgray: var(--lightgray) !important; --font-header: "Inter";
--lt-colours-dark: var(--secondary) !important; --font-mono: "Fira Code"
--lt-colours-secondary: var(--tertiary) !important;
--lt-colours-gray: var(--outlinegray) !important;
} }
h1, h2, h3, h4, h5, h6, ol, ul, thead { // typography
font-family: Inter; html {
scroll-behavior: smooth;
&:lang(ar) {
& p, & h1, & h2, & h3, article {
direction: rtl;
text-align: right;
}
}
}
.singlePage {
padding: 4em 30vw;
@media all and (max-width: 1200px) {
padding: 25px 5vw;
}
}
body {
margin: 0;
height: 100vh;
width: 100vw;
max-width: 100%;
box-sizing: border-box;
background-color: var(--light);
}
h1, h2, h3, h4, h5, h6, thead {
font-family: var(--font-header);
color: var(--dark); color: var(--dark);
font-weight: revert; font-weight: revert;
margin: revert; margin: 2rem 0 0;
padding: revert; padding: 2rem auto 1rem;
&:hover > .hanchor { &:hover > .hanchor {
opacity: 1; color: var(--secondary);
} }
} }
.hanchor { .hanchor {
font-family: Inter; font-family: var(--font-header);
margin-left: -1em; opacity: 0.8;
opacity: 0.3; transition: color 0.3s ease;
transition: opacity 0.3s ease; color: var(--dark);
color: var(--secondary);
} }
p, ul, text { p, ul, text, a, tr, td, li, ol, ul {
font-family: 'Source Sans Pro', sans-serif; font-family: var(--font-body);
color: var(--gray); color: var(--gray);
fill: var(--gray); fill: var(--gray);
font-weight: revert; font-weight: revert;
@ -35,21 +62,26 @@ p, ul, text {
padding: revert; padding: revert;
} }
tbody, li, p {
line-height: 1.5em;
}
.mainTOC { .mainTOC {
background: var(--lightgray);
border-radius: 5px; border-radius: 5px;
padding: 0.75em 1em; padding: 0.75em 0;
}
.mainTOC details summary { & details {
cursor: zoom-in; & summary {
font-family: Inter; cursor: zoom-in;
color: var(--dark); font-family: var(--font-header);
font-weight: 700; color: var(--dark);
} font-weight: 700;
}
.mainTOC details[open] summary { &[open] summary {
cursor: zoom-out; cursor: zoom-out;
}
}
} }
#TableOfContents > ol { #TableOfContents > ol {
@ -74,13 +106,21 @@ p, ul, text {
} }
& > li::marker, & > li > ol > li::marker { & > li::marker, & > li > ol > li::marker {
font-family: Source Sans Pro; font-family: var(--font-body);
font-weight: 700; font-weight: 700;
} }
} }
table { table {
border: 1px solid var(--outlinegray);
width: 100%; width: 100%;
padding: 1.5em;
border-collapse: collapse;
}
td, th {
padding: 0.2em 1em;
border: 1px solid var(--outlinegray);
} }
img { img {
@ -89,7 +129,7 @@ img {
margin: 1em 0; margin: 1em 0;
} }
p>img+em { p > img + em {
display: block; display: block;
transform: translateY(-1em); transform: translateY(-1em);
} }
@ -98,29 +138,11 @@ sup {
line-height: 0 line-height: 0
} }
p, tbody, li {
font-family: Source Sans Pro;
color: var(--gray);
line-height: 1.5em;
}
blockquote { blockquote {
margin-left: 0em; margin-left: 0em;
border-left: 3px solid var(--secondary); border-left: 3px solid var(--secondary);
padding-left: 1em; padding-left: 1em;
transition: border-color 0.2s ease; transition: border-color 0.2s ease;
&:hover {
border-color: var(--tertiary);
}
}
table {
padding: 1.5em;
}
td, th {
padding: 0.1em 0.5em;
} }
.footnotes p { .footnotes p {
@ -147,7 +169,7 @@ td, th {
background-color: transparent !important; background-color: transparent !important;
} }
& a[href$="#"] { & a[href$="#"], &.active a {
opacity: 0.2; opacity: 0.2;
} }
} }
@ -165,13 +187,17 @@ td, th {
} }
article, .tree{ article, .tree{
& > h1 {
margin-top: 2em;
font-size: 2em;
}
& > .meta { & > .meta {
margin: -1.5em 0 1em 0; margin: 0 0 1em 0;
opacity: 0.7; opacity: 0.7;
} }
& a { & a {
font-family: Source Sans Pro;
font-weight: 600; font-weight: 600;
&.internal-link { &.internal-link {
@ -198,6 +224,7 @@ article, .tree{
padding-left: 0; padding-left: 0;
& .meta { & .meta {
margin: 1.5em 0;
& > h1 { & > h1 {
margin: 0; margin: 0;
} }
@ -233,55 +260,39 @@ sup > a {
padding: 0 0.1em 0 0.2em; padding: 0 0.1em 0 0.2em;
} }
#page-title {
margin: 0;
& > a {
font-family: var(--font-header);
}
}
a { a {
font-family: Inter, sans-serif;
font-size: 1em; font-size: 1em;
font-weight: 700; font-weight: 700;
text-decoration: none; text-decoration: none;
transition: all 0.2s ease; transition: all 0.2s ease;
color: var(--secondary); color: var(--secondary);
&:hover { &:hover {
color: var(--tertiary) !important; color: var(--tertiary) !important;
} }
} }
pre { pre {
font-family: 'Fira Code'; font-family: var(--font-mono);
padding: 0.75em; padding: 0.75em;
border-radius: 3px; border-radius: 3px;
overflow-x: scroll; overflow-x: scroll;
} }
code { code {
font-family: 'Fira Code'; font-family: var(--font-mono);
font-size: 0.85em; font-size: 0.85em;
padding: 0.15em 0.3em; padding: 0.15em 0.3em;
border-radius: 5px; border-radius: 5px;
background: var(--lightgray); background: var(--lightgray);
} }
html {
scroll-behavior: smooth;
&:lang(ar) {
& p, & h1, & h2, & h3, article {
direction: rtl;
text-align: right;
}
}
}
body {
margin: 0;
height: 100vh;
width: 100vw;
//overflow-x: hidden;
max-width: 100%;
box-sizing: border-box;
background-color: var(--light);
}
@keyframes fadeIn { @keyframes fadeIn {
0% {opacity:0;} 0% {opacity:0;}
100% {opacity:1;} 100% {opacity:1;}
@ -341,7 +352,8 @@ hr {
& > .backlinks-container { & > .backlinks-container {
& > ul { & > ul {
list-style: none; list-style: none;
padding-left: 0; padding: 0;
margin: 0;
& > li { & > li {
margin: 0.5em 0; margin: 0.5em 0;
@ -373,6 +385,7 @@ hr {
border-radius: 5px; border-radius: 5px;
box-sizing: border-box; box-sizing: border-box;
min-height: 250px; min-height: 250px;
margin: 0.5em 0;
& > svg { & > svg {
margin-bottom: -5px; margin-bottom: -5px;
@ -397,14 +410,15 @@ hr {
margin-top: 30vh; margin-top: 30vh;
} }
article > h1 { .spacer {
font-size: 2em; flex: 1 1 auto;
} }
header { header {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
margin: 1em 0 2em;
& > h1 { & > h1 {
font-size: 2em; font-size: 2em;
@ -416,10 +430,6 @@ header {
} }
} }
& > .spacer {
flex: 1 1 auto;
}
#search-icon { #search-icon {
background-color: var(--lightgray); background-color: var(--lightgray);
border-radius: 4px; border-radius: 4px;
@ -429,7 +439,7 @@ header {
cursor: pointer; cursor: pointer;
& > p { & > p {
display: inline; display: inline;
padding: 0 0.5em 0 1em; padding: 0 1.5em 0 2em;
} }
} }
@ -484,7 +494,7 @@ header {
& > input { & > input {
box-sizing: border-box; box-sizing: border-box;
padding: 0.5em 1em; padding: 0.5em 1em;
font-family: Inter, sans-serif; font-family: var(--font-body);
color: var(--dark); color: var(--dark);
font-size: 1.1em; font-size: 1.1em;
border: 1px solid var(--outlinegray); border: 1px solid var(--outlinegray);
@ -545,24 +555,45 @@ header {
.section-ul { .section-ul {
list-style: none; list-style: none;
margin-top: 2em;
padding-left: 0; padding-left: 0;
& > li { }
border: 1px solid var(--outlinegray);
border-radius: 5px;
padding: 0 1em;
margin-bottom: 1em;
& h3 { .section-li {
opacity: 1; margin-bottom: 1em;
& > .section {
display: flex;
align-items: center;
@media all and (max-width: 600px) {
& .tags {
display: none;
}
}
& h3 > a {
font-weight: 700; font-weight: 700;
margin-bottom: 0em; margin: 0;
} }
& .meta { & p {
opacity: 0.6; margin: 0;
padding-right: 1em;
flex-basis: 6em;
} }
} }
& h3 {
opacity: 1;
font-weight: 700;
margin: 0em;
}
& .meta {
opacity: 0.6;
}
} }
@keyframes dropin { @keyframes dropin {
@ -584,11 +615,11 @@ header {
.popover { .popover {
z-index: 999; z-index: 999;
position: absolute; position: absolute;
width: 20em; width: 20rem;
display: none; display: none;
background-color: var(--light); background-color: var(--light);
padding: 1em; padding: 1rem;
margin: 1em; margin: 1rem;
border: 1px solid var(--outlinegray); border: 1px solid var(--outlinegray);
border-radius: 5px; border-radius: 5px;
pointer-events: none; pointer-events: none;
@ -610,18 +641,19 @@ header {
& > h3 { & > h3 {
font-size: 1rem; font-size: 1rem;
margin: 0.25em 0; margin: 0.25rem 0;
} }
& > .meta { & > .meta {
margin-top: 0.25em; margin-top: 0.25rem;
opacity: 0.5; opacity: 0.5;
font-family: "JetBrains Mono", monospace; font-family: var(--font-mono);
font-size: 0.8rem; font-size: 0.8rem;
} }
& > p, & > a { & > p, & > a {
margin: 0; font-size: 1rem;
margin: 0.7rem 0;
font-weight: 400; font-weight: 400;
user-select: none; user-select: none;
} }

View File

@ -1,6 +1,6 @@
.code-title { .code-title {
color: var(--primary) ; color: var(--primary) ;
font-family: monospace; font-family: var(--font-mono);
width: max-content; width: max-content;
overflow-x: auto; overflow-x: auto;
display: inline-block; display: inline-block;

View File

@ -1,4 +1,5 @@
// Add your own CSS here! // Add your own CSS here!
:root { :root {
--light: #faf8f8; --light: #faf8f8;
--dark: #141021; --dark: #141021;

View File

@ -45,7 +45,7 @@
} }
.chroma code { .chroma code {
font-family: 'Fira Code' !important; font-family: var(--font-mono) !important;
font-size: 0.85em !important; font-size: 0.85em !important;
line-height: 2em !important; line-height: 2em !important;
background: none !important; background: none !important;

View File

@ -10,17 +10,17 @@ Host your second brain and [digital garden](https://jzhao.xyz/posts/networked-th
4. Built-in [[notes/CJK + Latex Support (测试) | CJK + Latex Support]] 4. Built-in [[notes/CJK + Latex Support (测试) | CJK + Latex Support]]
5. Support for both Markdown Links and Wikilinks 5. Support for both Markdown Links and Wikilinks
Check out some of the [amazing gardens that community members](notes/showcase.md) have published with Quartz or read about [why I made Quartz](notes/philosophy.md) to begin with.
## Get Started ## Get Started
> 📚 Step 1: [Setup your own digital garden using Quartz](notes/setup.md) > 📚 Step 1: [Setup your own digital garden using Quartz](notes/setup.md)
Not convinced yet? Look at some [community digital gardens](notes/showcase.md) built with Quartz, or read about [why I made Quartz](notes/philosophy.md) to begin with.
Returning user? Figure out how to [[notes/updating|update]] your existing Quartz garden. Returning user? Figure out how to [[notes/updating|update]] your existing Quartz garden.
### Content Lists
If you prefer browsing the contents of this site through a list instead of a graph, you see a list of all [setup-related notes](/tags/setup). If you prefer browsing the contents of this site through a list instead of a graph, you see a list of all [setup-related notes](/tags/setup).
### Troubleshooting ### Troubleshooting
- 🚧 [Troubleshooting and FAQ](notes/troubleshooting.md) - 🚧 [Troubleshooting and FAQ](notes/troubleshooting.md)
- 🐛 [Submit an Issue](https://github.com/jackyzha0/quartz/issues) - 🐛 [Submit an Issue](https://github.com/jackyzha0/quartz/issues)
- 👀 [Discord Community](https://discord.gg/cRFFHYye7t) - 👀 [Discord Community](https://discord.gg/cRFFHYye7t)

View File

@ -14,7 +14,7 @@ This step will generate the list of backlinks for Hugo to parse. Ensure you have
```shell ```shell
# Install and link `hugo-obsidian` locally # Install and link `hugo-obsidian` locally
$ go install github.com/jackyzha0/hugo-obsidian@latest go install github.com/jackyzha0/hugo-obsidian@latest
``` ```
If you are running into an error saying that `command not found: hugo-obsidian`, make sure you set your `GOPATH` correctly! This will allow your terminal to correctly recognize hugo-obsidian as an executable. If you are running into an error saying that `command not found: hugo-obsidian`, make sure you set your `GOPATH` correctly! This will allow your terminal to correctly recognize hugo-obsidian as an executable.
@ -26,10 +26,10 @@ Hugo is the static site generator that powers Quartz. [Install Hugo with "extend
``` ```
# Navigate to your local Quartz folder # Navigate to your local Quartz folder
$ cd <location-of-your-local-quartz> cd <location-of-your-local-quartz>
# Start local server # Start local server
$ make serve make serve
# View your site in a browser at http://localhost:1313/ # View your site in a browser at http://localhost:1313/
``` ```

View File

@ -21,7 +21,7 @@ Then, Fork the repository into your own GitHub account. If you don't have an acc
After you've made a fork of the repository, you need to download the files locally onto your machine. Ensure you have `git`, then type the following command replacing `YOUR-USERNAME` with your GitHub username. After you've made a fork of the repository, you need to download the files locally onto your machine. Ensure you have `git`, then type the following command replacing `YOUR-USERNAME` with your GitHub username.
```shell ```shell
$ git clone https://github.com/YOUR-USERNAME/quartz git clone https://github.com/YOUR-USERNAME/quartz
``` ```
## Editing ## Editing

View File

@ -5,7 +5,8 @@ title: "Showcase"
Want to see what Quartz can do? Here are some cool community gardens :) Want to see what Quartz can do? Here are some cool community gardens :)
- [Quartz Documentation (this site!)](https://quartz.jzhao.xyz/) - [Quartz Documentation (this site!)](https://quartz.jzhao.xyz/)
- [Jacky Zhao's Garden](https://garden.jzhao.xyz/) - [Jacky Zhao's Garden](https://jzhao.xyz/)
- [Scaling Synthesis - A hypertext research notebook](https://scalingsynthesis.com/)
- [AWAGMI Intern Notes](https://notes.awagmi.xyz/) - [AWAGMI Intern Notes](https://notes.awagmi.xyz/)
- [Shihyu's PKM](https://shihyuho.github.io/pkm/) - [Shihyu's PKM](https://shihyuho.github.io/pkm/)
- [Chloe's Garden](https://garden.chloeabrasada.online/) - [Chloe's Garden](https://garden.chloeabrasada.online/)

View File

@ -9,6 +9,9 @@
{{partial "header.html" .}} {{partial "header.html" .}}
<article> <article>
<h1>All {{.Title}}</h1> <h1>All {{.Title}}</h1>
{{with .Params.description}}
<p>{{.}}</p>
{{end}}
{{partial "page-list.html" .Paginator.Pages.ByLastmod.Reverse }} {{partial "page-list.html" .Paginator.Pages.ByLastmod.Reverse }}
{{ template "_internal/pagination.html" .}} {{ template "_internal/pagination.html" .}}
</article> </article>

View File

@ -17,8 +17,8 @@
<article> <article>
{{if .Title}}<h1>{{ .Title }}</h1>{{end}} {{if .Title}}<h1>{{ .Title }}</h1>{{end}}
<p class="meta"> <p class="meta">
Last updated {{if ne .Date .Lastmod}}{{ .Lastmod.Format "January 2, 2006" }}
{{else}}Unknown{{end}}. Last updated {{ partial "date-fmt.html" .}}
{{ partial "github.html" . }} {{ partial "github.html" . }}
</p> </p>
<ul class="tags"> <ul class="tags">

View File

@ -9,14 +9,17 @@
{{partial "header.html" .}} {{partial "header.html" .}}
<article> <article>
<h1>All {{.Title}}</h1> <h1>All {{.Title}}</h1>
{{with .Params.description}}
<p>{{.}}</p>
{{end}}
<div class="tags"> <div class="tags">
{{ range .Site.Taxonomies.tags.ByCount }} {{ range .Site.Taxonomies.tags.ByCount }}
<div class="meta"> <div class="meta">
<h1><a href="{{ .Page.Permalink }}">{{ .Page.Title }}</a></h1> <h1><a href="{{ .Page.Permalink }}">{{ .Page.Title | humanize }}</a></h1>
<p><b>{{ .Count }}</b> notes with this tag {{if gt .Count 2}}(showing first 2 results){{end}}</p> <p><b>{{ .Count }}</b> notes with this tag {{if gt .Count 10}}(showing first 10 results){{end}}</p>
</div> </div>
{{ with ($.Site.GetPage (printf "/tags/%s" .Page.Title)) }} {{ with ($.Site.GetPage (printf "/tags/%s" .Page.Title)) }}
{{partial "page-list.html" (first 2 .Pages.ByLastmod.Reverse)}} {{partial "page-list.html" (first 10 .Pages.ByLastmod.Reverse)}}
{{ end }} {{ end }}
{{ end }} {{ end }}
</div> </div>

View File

@ -8,7 +8,10 @@
<!-- Begin actual content --> <!-- Begin actual content -->
{{partial "header.html" .}} {{partial "header.html" .}}
<article> <article>
<h1>Tag: {{.Title | humanize}}</h1> <h1>Tag: {{ .Title }}</h1>
{{with .Params.description}}
<p>{{.}}</p>
{{end}}
{{partial "page-list.html" .Paginator.Pages}} {{partial "page-list.html" .Paginator.Pages}}
{{ template "_internal/pagination.html" . }} {{ template "_internal/pagination.html" . }}
</article> </article>

View File

@ -4,7 +4,7 @@
<p>Made by {{ $.Site.Data.config.name }} using <a href="https://github.com/jackyzha0/quartz">Quartz</a>, © {{ dateFormat "2006" now }}</p> <p>Made by {{ $.Site.Data.config.name }} using <a href="https://github.com/jackyzha0/quartz">Quartz</a>, © {{ dateFormat "2006" now }}</p>
<ul> <ul>
{{ if not .IsHome }} {{ if not .IsHome }}
<li><a href="/">Home</a></li> <li><a href="{{ $.Site.BaseURL}}">Home</a></li>
{{end}} {{end}}
{{- range $.Site.Data.config.links -}} {{- range $.Site.Data.config.links -}}
<li><a href="{{.link}}">{{.link_name}}</a></li> <li><a href="{{.link}}">{{.link_name}}</a></li>

View File

@ -0,0 +1,7 @@
{{if .Date}}
{{.Date.Format "Jan 2, 2006"}}
{{else if .Lastmod}}
{{.Lastmod.Format "Jan 2, 2006"}}
{{else}}
Unknown
{{end}}

View File

@ -23,10 +23,6 @@
{{ end }} {{ end }}
<!-- CSS Stylesheets and Fonts --> <!-- CSS Stylesheets and Fonts -->
<link
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=Source+Sans+Pro:wght@400;600;700&family=Fira+Code:wght@400;700&display=swap"
rel="stylesheet"
/>
{{$sass := resources.Match "styles/[!_]*.scss" }} {{$sass := resources.Match "styles/[!_]*.scss" }}
{{$css := slice }} {{$css := slice }}
{{range $sass}} {{range $sass}}

View File

@ -2,19 +2,18 @@
{{- range . -}} {{- range . -}}
<li class="section-li"> <li class="section-li">
<div class="section"> <div class="section">
<p class="meta">
{{partial "date-fmt.html" .}}
</p>
<div class="desc"> <div class="desc">
<h3><a href="{{ .Permalink }}">{{- .Title -}}</a></h3> <h3><a href="{{ .Permalink }}">{{- .Title -}}</a></h3>
<ul class="tags">
{{ range (.GetTerms "tags") }}
<li><a href="{{ .Permalink }}">{{ .LinkTitle | title}}</a></li>
{{ end }}
</ul>
<p>{{- .Summary -}}{{if .Truncated}}...{{end}}</p>
</div> </div>
<p class="meta"> <div class="spacer"></div>
{{ .ReadingTime }} minute read. Last updated {{if ne .Date .Lastmod}}{{ .Lastmod.Format "January 2, 2006" }}{{else}}Unknown{{end}} <ul class="tags">
</p> {{ range (.GetTerms "tags") }}
<li><a href="{{ .Permalink }}">{{ .LinkTitle | title}}</a></li>
{{ end }}
</ul>
</div> </div>
</li> </li>
{{- end -}} {{- end -}}