feat: basic latex support
This commit is contained in:
		| @@ -534,6 +534,6 @@ header { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   li a { |   li a { | ||||||
|     padding: 5px 20px; |     padding: 0 1em; | ||||||
|   } |   } | ||||||
| } | } | ||||||
| @@ -1,14 +1,16 @@ | |||||||
| --- | --- | ||||||
| title: 🪴 Quartz 3.1 | title: 🪴 Quartz 3.2 | ||||||
| --- | --- | ||||||
| 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. Wikilink support | 2. Wikilink support | ||||||
| 3. Display for backlinks of each note | 3. Display for backlinks of each note | ||||||
| 4. Fully customizable local graph view | 4. [CJK + Latex Support](notes/CJK%20+%20Latex%20Test%20(测试).md) | ||||||
| 5. Endlessly powerful page and theme customization using CSS | 5. Fully customizable local graph view | ||||||
| 6. Automatically generated tag and section lists of content | 6. Endlessly powerful page and theme customization using CSS | ||||||
| 7. Beautiful link previews | 7. Automatically generated tag and section lists of content | ||||||
|  | 8. Beautiful link previews | ||||||
|  |  | ||||||
| ## Get Started | ## Get Started | ||||||
| > 📚 [Setup your own digital garden using Quartz](notes/setup.md) | > 📚 [Setup your own digital garden using Quartz](notes/setup.md) | ||||||
| @@ -19,7 +21,7 @@ Not convinced yet? Look at some [community digital gardens](notes/showcase.md) b | |||||||
| If you prefer browsing the contents of this site through a list instead of a graph, you can find content lists here too: | If you prefer browsing the contents of this site through a list instead of a graph, you can find content lists here too: | ||||||
|  |  | ||||||
| - [All Notes](/notes) | - [All Notes](/notes) | ||||||
| - [Setup-related Notes](/tags/set) | - [Setup-related Notes](/tags/setup) | ||||||
|  |  | ||||||
| ## Troubleshooting | ## Troubleshooting | ||||||
| - 🚧 [Troubleshooting and FAQ](notes/troubleshooting.md) | - 🚧 [Troubleshooting and FAQ](notes/troubleshooting.md) | ||||||
|   | |||||||
							
								
								
									
										38
									
								
								content/notes/CJK + Latex Test (测试).md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								content/notes/CJK + Latex Test (测试).md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | |||||||
|  | --- | ||||||
|  | title: "CJK + Latex Test (测试)" | ||||||
|  | --- | ||||||
|  |  | ||||||
|  | ## Chinese, Japanese, Korean Support | ||||||
|  | 几乎在我们意识到之前,我们已经离开了地面。 | ||||||
|  |  | ||||||
|  | 우리가 그것을 알기도 전에 우리는 땅을 떠났습니다. | ||||||
|  |  | ||||||
|  | 私たちがそれを知るほぼ前に、私たちは地面を離れていました。 | ||||||
|  |  | ||||||
|  | ## Latex | ||||||
|  |  | ||||||
|  | Block math works with two dollar signs `$$...$$` | ||||||
|  |  | ||||||
|  | $$f(x) = \int_{-\infty}^\infty | ||||||
|  |     f\hat(\xi\),e^{2 \pi i \xi x} | ||||||
|  |     \,d\xi$$ | ||||||
|  | 	 | ||||||
|  | Inline math also works with single dollar signs `$...$`. For example, Euler's identity but inline: $e^{i\pi} = 0$ | ||||||
|  |  | ||||||
|  | Aligned equations work quite well: | ||||||
|  |  | ||||||
|  | $$ | ||||||
|  | \begin{aligned} | ||||||
|  | a &= b + c \\ | ||||||
|  |  &= e + f \\ | ||||||
|  | \end{aligned} | ||||||
|  | $$ | ||||||
|  |  | ||||||
|  | And matrices | ||||||
|  |  | ||||||
|  | $$ | ||||||
|  | \begin{bmatrix} | ||||||
|  | 1 & 2 & 3\\ | ||||||
|  | a & b & c | ||||||
|  | \end{bmatrix} | ||||||
|  | $$ | ||||||
| @@ -16,9 +16,8 @@ The easiest way to use an existing Vault is to copy all of your files (directory | |||||||
| ## Settings | ## Settings | ||||||
| Great, now that you have your Obsidian linked to your Quartz, let's fix some settings so that they play well. | Great, now that you have your Obsidian linked to your Quartz, let's fix some settings so that they play well. | ||||||
|  |  | ||||||
| 1. 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. | 1. Under Options > Files and Links, set the New link format to always be Absolute Path in Vault. | ||||||
| 2. Go to Settings > Files & Links > Turn "on" automatically update internal links. | 2. Go to Settings > Files & Links > Turn "on" automatically update internal links. | ||||||
| 3. Use [[Wikilinks]] should be off (Wikilinks are not officially supported yet) |  | ||||||
|  |  | ||||||
| *Obsidian Settings* | *Obsidian Settings* | ||||||
|  |  | ||||||
|   | |||||||
| @@ -16,9 +16,8 @@ The easiest way to use an existing Vault is to copy all of your files (directory | |||||||
| ## Settings | ## Settings | ||||||
| Great, now that you have your Obsidian linked to your Quartz, let's fix some settings so that they play well. | Great, now that you have your Obsidian linked to your Quartz, let's fix some settings so that they play well. | ||||||
|  |  | ||||||
| 1. 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. | 1. Under Options > Files and Links, set the New link format to always be Absolute Path in Vault. | ||||||
| 2. Go to Settings > Files & Links > Turn "on" automatically update internal links. | 2. Go to Settings > Files & Links > Turn "on" automatically update internal links. | ||||||
| 3. Use [[Wikilinks]] should be off (Wikilinks are not officially supported yet) |  | ||||||
|  |  | ||||||
| *Obsidian Settings* | *Obsidian Settings* | ||||||
|  |  | ||||||
|   | |||||||
| @@ -7,33 +7,7 @@ Still having trouble? Here are a list of common questions and problems people en | |||||||
| While you're here, join our [Discord](https://discord.gg/cRFFHYye7t) :) | While you're here, join our [Discord](https://discord.gg/cRFFHYye7t) :) | ||||||
|  |  | ||||||
| ### Does Quartz have Latex support? | ### Does Quartz have Latex support? | ||||||
| Not by default! You can create a partial using something like Katex under `head/katex.html` and render the partial somewhere using  `{{ partial "head/katex.html" . }}` (most likely in `layouts/_default/single.html`). | Yes! See [CJK + Latex Test (测试)](CJK%20+%20Latex%20Test%20(测试).md) for a brief demo. | ||||||
|  |  | ||||||
| ```html |  | ||||||
| <link rel="stylesheet" href="[https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/katex.min.css](https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/katex.min.css)" integrity="sha384-R4558gYOUz8mP9YWpZJjofhk+zx0AS11p36HnD2ZKj/6JR5z27gSSULCNHIRReVs" crossorigin="anonymous"> |  | ||||||
| <script defer src="[https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/katex.min.js](https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/katex.min.js)" integrity="sha384-z1fJDqw8ZApjGO3/unPWUPsIymfsJmyrDVWC8Tv/a1HeOtGmkwNd/7xUS0Xcnvsx" crossorigin="anonymous"></script> |  | ||||||
| <script defer src="[https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/contrib/auto-render.min.js](https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/contrib/auto-render.min.js)" integrity="sha384-+XBljXPPiv+OzfbB3cVmLHf4hdUFHlWNZN5spNQ7rmHTXpd7WvJum6fIACpNNfIR" crossorigin="anonymous" |  | ||||||
| onload="renderMathInElement(document.body);"></script> |  | ||||||
| <script> |  | ||||||
| document.addEventListener("DOMContentLoaded", function() { |  | ||||||
| 	renderMathInElement(document.body, { |  | ||||||
| 		delimiters: [ |  | ||||||
| 			{left: '$$', right: '$$', display: true}, |  | ||||||
| 			{left: '$', right: '$', display: false}, |  | ||||||
| 			{left: '\\(', right: '\\)', display: false}, |  | ||||||
| 			{left: '\\[', right: '\\]', display: true} |  | ||||||
| 		], |  | ||||||
| 		throwOnError : false |  | ||||||
| 	}); |  | ||||||
| }); |  | ||||||
| </script> |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| Example page: [jzhao.xyz/thoughts/object-classification](https://jzhao.xyz/thoughts/object-classification/) |  | ||||||
|  |  | ||||||
| ### My <\iframe\> is not rendering! |  | ||||||
|  |  | ||||||
| Hugo's safeHTML enables this! This is disabled by default for security reasons but you can do this manually by changing `{{.Content}}` to `{{.Content | safeHTML}}` in `layouts/_default/single.html`. |  | ||||||
|  |  | ||||||
| ### Can I use \<Obsidian Plugin\> in Quartz? | ### Can I use \<Obsidian Plugin\> in Quartz? | ||||||
| Unless it produces direct Markdown output in the file, no. There currently is no way to bundle plugin code with Quartz. | Unless it produces direct Markdown output in the file, no. There currently is no way to bundle plugin code with Quartz. | ||||||
|   | |||||||
| @@ -1,11 +1,12 @@ | |||||||
| name: Jacky Zhao | name: Jacky Zhao | ||||||
| enableToc: true | enableToc: true | ||||||
| enableLinkPreview: true | enableLinkPreview: true | ||||||
|  | enableLatex: true | ||||||
| description: | description: | ||||||
|   Here is the page description. This is an example Quartz site that details installation, |   Host your second brain and digital garden for free. Quartz features extremely fast full-text search, | ||||||
|   setup, customization, and troubleshooting for Quartz itself. |   Wikilink support, backlinks, local graph, tags, and link previews. | ||||||
| page_title: | page_title: | ||||||
|   "🪴 Quartz 3.1" |   "🪴 Quartz .2" | ||||||
| links: | links: | ||||||
|   - link_name: Twitter |   - link_name: Twitter | ||||||
|     link: https://twitter.com/_jzhao |     link: https://twitter.com/_jzhao | ||||||
|   | |||||||
| @@ -19,6 +19,7 @@ | |||||||
|  |  | ||||||
|     {{ $darkMode := resources.Get "js/darkmode.js" |  resources.Fingerprint "md5" | resources.Minify }} |     {{ $darkMode := resources.Get "js/darkmode.js" |  resources.Fingerprint "md5" | resources.Minify }} | ||||||
|     <script src="{{$darkMode.Permalink}}"></script> |     <script src="{{$darkMode.Permalink}}"></script> | ||||||
|  |     {{partial "katex.html" .}} | ||||||
|  |  | ||||||
|     <!--  Preload page vars  --> |     <!--  Preload page vars  --> | ||||||
|     {{$linkIndex := resources.Get "indices/linkIndex.json" | resources.Fingerprint "md5" | resources.Minify |  }} |     {{$linkIndex := resources.Get "indices/linkIndex.json" | resources.Fingerprint "md5" | resources.Minify |  }} | ||||||
|   | |||||||
							
								
								
									
										21
									
								
								layouts/partials/katex.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								layouts/partials/katex.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | |||||||
|  | {{if $.Site.Data.config.enableLatex}} | ||||||
|  | <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/katex.min.css" integrity="sha384-R4558gYOUz8mP9YWpZJjofhk+zx0AS11p36HnD2ZKj/6JR5z27gSSULCNHIRReVs" crossorigin="anonymous"> | ||||||
|  | <script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/katex.min.js" integrity="sha384-z1fJDqw8ZApjGO3/unPWUPsIymfsJmyrDVWC8Tv/a1HeOtGmkwNd/7xUS0Xcnvsx" crossorigin="anonymous"></script> | ||||||
|  | <script defer src="https://cdn.jsdelivr.net/npm/katex@0.15.1/dist/contrib/auto-render.min.js" integrity="sha384-+XBljXPPiv+OzfbB3cVmLHf4hdUFHlWNZN5spNQ7rmHTXpd7WvJum6fIACpNNfIR" crossorigin="anonymous"></script> | ||||||
|  | <script> | ||||||
|  |   document.addEventListener("DOMContentLoaded", function() { | ||||||
|  |     renderMathInElement(document.body, { | ||||||
|  |       // customised options | ||||||
|  |       // • auto-render specific keys, e.g.: | ||||||
|  |       delimiters: [ | ||||||
|  |         {left: '$$', right: '$$', display: true}, | ||||||
|  |         {left: '$', right: '$', display: false}, | ||||||
|  |         {left: '\\(', right: '\\)', display: false}, | ||||||
|  |         {left: '\\[', right: '\\]', display: true} | ||||||
|  |       ], | ||||||
|  |       // • rendering keys, e.g.: | ||||||
|  |       throwOnError : false | ||||||
|  |     }); | ||||||
|  |   }); | ||||||
|  | </script> | ||||||
|  | {{end}} | ||||||
		Reference in New Issue
	
	Block a user