feat: basic latex support
This commit is contained in:
		| @@ -534,6 +534,6 @@ header { | ||||
|   } | ||||
|  | ||||
|   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` | ||||
| 2. Wikilink support | ||||
| 3. Display for backlinks of each note | ||||
| 4. Fully customizable local graph view | ||||
| 5. Endlessly powerful page and theme customization using CSS | ||||
| 6. Automatically generated tag and section lists of content | ||||
| 7. Beautiful link previews | ||||
| 4. [CJK + Latex Support](notes/CJK%20+%20Latex%20Test%20(测试).md) | ||||
| 5. Fully customizable local graph view | ||||
| 6. Endlessly powerful page and theme customization using CSS | ||||
| 7. Automatically generated tag and section lists of content | ||||
| 8. Beautiful link previews | ||||
|  | ||||
| ## Get Started | ||||
| > 📚 [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: | ||||
|  | ||||
| - [All Notes](/notes) | ||||
| - [Setup-related Notes](/tags/set) | ||||
| - [Setup-related Notes](/tags/setup) | ||||
|  | ||||
| ## Troubleshooting | ||||
| - 🚧 [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 | ||||
| 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. | ||||
| 3. Use [[Wikilinks]] should be off (Wikilinks are not officially supported yet) | ||||
|  | ||||
| *Obsidian Settings* | ||||
|  | ||||
|   | ||||
| @@ -16,9 +16,8 @@ The easiest way to use an existing Vault is to copy all of your files (directory | ||||
| ## Settings | ||||
| 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. | ||||
| 3. Use [[Wikilinks]] should be off (Wikilinks are not officially supported yet) | ||||
|  | ||||
| *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) :) | ||||
|  | ||||
| ### 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`). | ||||
|  | ||||
| ```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`. | ||||
| Yes! See [CJK + Latex Test (测试)](CJK%20+%20Latex%20Test%20(测试).md) for a brief demo. | ||||
|  | ||||
| ### 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. | ||||
|   | ||||
| @@ -1,11 +1,12 @@ | ||||
| name: Jacky Zhao | ||||
| enableToc: true | ||||
| enableLinkPreview: true | ||||
| enableLatex: true | ||||
| description: | ||||
|   Here is the page description. This is an example Quartz site that details installation, | ||||
|   setup, customization, and troubleshooting for Quartz itself. | ||||
|   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. | ||||
| page_title: | ||||
|   "🪴 Quartz 3.1" | ||||
|   "🪴 Quartz .2" | ||||
| links: | ||||
|   - link_name: Twitter | ||||
|     link: https://twitter.com/_jzhao | ||||
|   | ||||
| @@ -19,6 +19,7 @@ | ||||
|  | ||||
|     {{ $darkMode := resources.Get "js/darkmode.js" |  resources.Fingerprint "md5" | resources.Minify }} | ||||
|     <script src="{{$darkMode.Permalink}}"></script> | ||||
|     {{partial "katex.html" .}} | ||||
|  | ||||
|     <!--  Preload page vars  --> | ||||
|     {{$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