From de2b6b9a1b95cb6af7eb421d9a4de054e7e41315 Mon Sep 17 00:00:00 2001
From: SafEight <43656822+SafEight@users.noreply.github.com>
Date: Sat, 19 Nov 2022 21:17:55 +0000
Subject: [PATCH] feat: Replace == with <mark> (#234)
---
content/notes/config.md | 188 +++++++++++++++++++++++++++++++++++-----------
1 files changed, 141 insertions(+), 47 deletions(-)
diff --git a/content/notes/config.md b/content/notes/config.md
index c9cbd0a..e9e7691 100644
--- a/content/notes/config.md
+++ b/content/notes/config.md
@@ -2,65 +2,131 @@
title: "Configuration"
tags:
- setup
+weight: 0
---
## 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.
+The majority of configuration can be found under `data/config.yaml`. An annotated example configuration is shown below.
-```yaml
-name: Your name here! # Shows in the footer
-enableToc: true # Whether to show a Table of Contents
-enableLinkPreview: true # whether to render card previews for links
-description: Page description to show to search engines
-page_title: Quartz Example Page # Default Page Title
+```yaml {title="data/config.yaml"}
+# The name to display in the footer
+name: Jacky Zhao
-links: # Links to show in footer
+# whether to globally show the table of contents on each page
+# this can be turned off on a per-page basis by adding this to the
+# front-matter of that note
+enableToc: true
+
+# whether to by-default open or close the table of contents on each page
+openToc: false
+
+# whether to display on-hover link preview cards
+enableLinkPreview: true
+
+# whether to render titles for code blocks
+enableCodeBlockTitle: true
+
+# whether to render copy buttons for code blocks
+enableCodeBlockCopy: true
+
+# whether to render callouts
+enableCallouts: true
+
+# whether to try to process Latex
+enableLatex: true
+
+# whether to enable single-page-app style rendering
+# this prevents flashes of unstyled content and improves
+# smoothness of Quartz. More info in issue #109 on GitHub
+enableSPA: true
+
+# whether to render a footer
+enableFooter: true
+
+# whether backlinks of pages should show the context in which
+# they were mentioned
+enableContextualBacklinks: true
+
+# whether to show a section of recent notes on the home page
+enableRecentNotes: false
+
+# whether to display an 'edit' button next to the last edited field
+# that links to github
+enableGitHubEdit: true
+GitHubLink: https://github.com/jackyzha0/quartz/tree/hugo/content
+
+# whether to use Operand to power semantic search
+# IMPORTANT: replace this API key with your own if you plan on using
+# Operand search!
+enableSemanticSearch: false
+operandApiKey: "REPLACE-WITH-YOUR-OPERAND-API-KEY"
+
+# page description used for SEO
+description:
+ Host your second brain and digital garden for free. Quartz features extremely fast full-text search,
+ Wikilink support, backlinks, local graph, tags, and link previews.
+
+# title of the home page (also for SEO)
+page_title:
+ "🪴 Quartz 3.3"
+
+# links to show in the footer
+links:
- link_name: Twitter
link: https://twitter.com/_jzhao
- link_name: Github
link: https://github.com/jackyzha0
```
+### Code Block Titles
+To add code block titles with Quartz:
+
+1. Ensure that code block titles are enabled in Quartz's configuration:
+
+ ```yaml {title="data/config.yaml", linenos=false}
+ enableCodeBlockTitle: true
+ ```
+
+2. Add the `title` attribute to the desired [code block
+ fence](https://gohugo.io/content-management/syntax-highlighting/#highlighting-in-code-fences):
+
+ ```markdown {linenos=false}
+ ```yaml {title="data/config.yaml"}
+ enableCodeBlockTitle: true # example from step 1
+ ```
+ ```
+
+**Note** that if `{title=<my-title>}` is included, and code block titles are not
+enabled, no errors will occur, and the title attribute will be ignored.
+
### HTML Favicons
-
-A Favicon is most commonly seen as the **image preceding the URL in a browser**.
-Some other examples include (but are not limited to) bookmarks, search history,
-and app icons (i.e. "save page to home screen" on mobile devices).
-[File format support](https://en.wikipedia.org/wiki/Favicon#File_format_support)
-and the [use of favicons](https://en.wikipedia.org/wiki/Favicon#Use_of_favicon)
-differ across the combination of platforms and browsers.
-
-If you would like to customize the favicons of your quartz-based website, you
+If you would like to customize the favicons of your Quartz-based website, you
can add them to the `data/config.yaml` file. The **default** without any set
`favicon` key is:
-```html
+```html {title="layouts/partials/head.html", linenostart=15}
<link rel="shortcut icon" href="icon.png" type="image/png">
```
The default can be overridden by defining a value to the `favicon` key in your
-`data/config.yaml` file. Here is a `List[Dictionary]` example format, which is
+`data/config.yaml` file. For example, here is a `List[Dictionary]` example format, which is
equivalent to the default:
-```yaml
+```yaml {title="data/config.yaml", linenos=false}
favicon:
- { rel: "shortcut icon", href: "icon.png", type: "image/png" }
# - { ... } # Repeat for each additional favicon you want to add
```
-In this format, the following keys are available:
-- `rel`: The `rel` attribute of the `<link>` tag.
-- `type`: The `type` attribute of the `<link>` tag.
-- `href` (optional): The `href` attribute of the `<link>` tag.
-- `sizes` (optional): The `sizes` attribute of the `<link>` tag.
+In this format, the keys are identical to their HTML representations.
If you plan to add multiple favicons generated by a website (see list below), it
may be easier to define it as HTML. Here is an example which appends the
-**Apple touch icon** to quartz's default favicon:
+**Apple touch icon** to Quartz's default favicon:
-```yaml
+```yaml {title="data/config.yaml", linenos=false}
favicon: |
<link rel="shortcut icon" href="icon.png" type="image/png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
@@ -68,32 +134,60 @@
This second favicon will now be used as a web page icon when someone adds your
webpage to the home screen of their Apple device. If you are interested in more
-information about the current, and past, standards of favicons, you can read
+information about the current and past standards of favicons, you can read
[this article](https://www.emergeinteractive.com/insights/detail/the-essentials-of-favicons/).
-Some websites that **generate favicons** for you (ordered alphabetically) include:
-- [`favicon.io`](https://favicon.io/)
-- [`realfavicongenerator.net`](https://realfavicongenerator.net/)
-- [`www.favicon.cc`](https://www.favicon.cc/)
-
-These sites will take a base image and generate a set of favicons for you,
-one of which will be, for example, the `apple-touch-icon` favicon. These sites
-will often **also provide the HTML** for the favicon, which can be simply
-added to the `data/config.yaml` using the HTML format of the `favicon`
-argument.
-
**Note** that all generated favicon paths, defined by the `href`
attribute, are relative to the `static/` directory.
### Graph View
To customize the Interactive Graph view, you can poke around `data/graphConfig.yaml`.
-```yaml
-enableLegend: false # automatically generate a legend
-enableDrag: true # allow dragging nodes in the graph
-enableZoom: true # allow zooming and panning the graph
-depth: -1 # how many neighbours of the current node to show (-1 is all nodes)
-paths: # colour specific nodes path off of their path
+```yaml {title="data/graphConfig.yaml"}
+# if true, a Global Graph will be shown on home page with full width, no backlink.
+# A different set of Local Graphs will be shown on sub pages.
+# if false, Local Graph will be default on every page as usual
+enableGlobalGraph: false
+
+### Local Graph ###
+localGraph:
+ # whether automatically generate a legend
+ enableLegend: false
+
+ # whether to allow dragging nodes in the graph
+ enableDrag: true
+
+ # whether to allow zooming and panning the graph
+ enableZoom: true
+
+ # how many neighbours of the current node to show (-1 is all nodes)
+ depth: 1
+
+ # initial zoom factor of the graph
+ scale: 1.2
+
+ # how strongly nodes should repel each other
+ repelForce: 2
+
+ # how strongly should nodes be attracted to the center of gravity
+ centerForce: 1
+
+ # what the default link length should be
+ linkDistance: 1
+
+ # how big the node labels should be
+ fontSize: 0.6
+
+ # scale at which to start fading the labes on nodes
+ opacityScale: 3
+
+### Global Graph ###
+globalGraph:
+ # same settings as above
+
+### For all graphs ###
+# colour specific nodes path off of their path
+paths:
- /moc: "#4388cc"
```
@@ -102,7 +196,7 @@
Want to go even more in-depth? You can add custom CSS styling and change existing colours through editing `assets/styles/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`.
+Partials are what dictate what 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`
@@ -110,7 +204,7 @@
Still having problems? Checkout our [FAQ and Troubleshooting guide](notes/troubleshooting.md).
-## Multilingual
+## Language Support
[CJK + Latex Support (测试)](notes/CJK%20+%20Latex%20Support%20(测试).md) comes out of the box with Quartz.
Want to support languages that read from right-to-left (like Arabic)? Hugo (and by proxy, Quartz) supports this natively.
--
Gitblit v1.10.0