diff --git a/assets/_amethyst.scss b/assets/_amethyst.scss index 81380ca..4fbce40 100644 --- a/assets/_amethyst.scss +++ b/assets/_amethyst.scss @@ -68,6 +68,11 @@ header { height: 16px; } +pre::-webkit-scrollbar { + width: 8px; + height: 10px; +} + *::-webkit-scrollbar-thumb { background: grey; border-radius: 8px; @@ -77,4 +82,19 @@ header { *::-webkit-scrollbar-track { // background: linear-gradient(90deg,#434343,#434343 1px,#111 0,#111); background-color: #DDD; +} + +.markdown h1, .markdown h2, .markdown h3 { + font-weight: bold; +} + +.markdown p { + color: #222; + font-weight: 500; +} + +.title { + color: blue; + font-size: 3rem; + padding-bottom: 1rem; } \ No newline at end of file diff --git a/assets/_defaults.scss b/assets/_defaults.scss index 4c86697..0562ec4 100644 --- a/assets/_defaults.scss +++ b/assets/_defaults.scss @@ -14,11 +14,11 @@ $border-radius: $padding-4 !default; $body-font-weight: normal !default; $body-min-width: 20rem !default; -$container-max-width: 80rem !default; +$container-max-width: 65rem !default; $header-height: 3.5rem !default; $menu-width: 16rem !default; -$toc-width: 16rem !default; +$toc-width: 12rem !default; $mobile-breakpoint: $menu-width + $body-min-width * 1.2 + $toc-width !default; diff --git a/assets/_fonts.scss b/assets/_fonts.scss index c1ad300..6149875 100644 --- a/assets/_fonts.scss +++ b/assets/_fonts.scss @@ -1,39 +1,71 @@ -/* roboto-regular - latin */ @font-face { - font-family: 'Roboto'; + font-family: "PP Mori"; font-style: normal; - font-weight: 400; - font-display: swap; - src: local(''), - url('fonts/roboto-v27-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ - url('fonts/roboto-v27-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ -} -/* roboto-700 - latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: local(''), - url('fonts/roboto-v27-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ - url('fonts/roboto-v27-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ + font-weight: normal; + src: url('fonts/PPMori-SemiBold.woff2'); } -/* roboto-mono-regular - latin */ @font-face { - font-family: 'Roboto Mono'; + font-family: "PP Mori"; font-style: normal; - font-weight: 400; - font-display: swap; - src: local(''), - url('fonts/roboto-mono-v13-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ - url('fonts/roboto-mono-v13-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ + font-weight: lighter; + src: url('fonts/PPMori-Book.woff2'); } -body { - font-family: 'Roboto', sans-serif; +@font-face { + font-family: "PP Mori"; + font-style: normal; + font-weight: bold; + src: url('fonts/PPMori-ExtraBold.woff2'); } -code { - font-family: 'Roboto Mono', monospace; +@font-face { + font-family: "PP Mori"; + font-style: italic; + font-weight: normal; + src: url('fonts/PPMori-RegularItalic.woff2'); } + +@font-face { + font-family: "PP Mori"; + font-style: italic; + font-weight: bold; + src: url('fonts/PPMori-SemiBoldItalic.woff2'); +} + + + +@font-face { + font-family: "PP Fraktion Mono"; + font-style: normal; + font-weight: normal; + src: url('fonts/PPFraktionMono-Regular.woff2'); +} + +@font-face { + font-family: "PP Fraktion Mono"; + font-style: normal; + font-weight: lighter; + src: url('fonts/PPFraktionMono-Light.woff2'); +} + +@font-face { + font-family: "PP Fraktion Mono"; + font-style: normal; + font-weight: bold; + src: url('fonts/PPFraktionMono-Bold.woff2'); +} + +@font-face { + font-family: "PP Fraktion Mono"; + font-style: italic; + font-weight: normal; + src: url('fonts/PPFraktionMono-RegularItalic.woff2'); +} + +@font-face { + font-family: "PP Fraktion Mono"; + font-style: italic; + font-weight: bold; + src: url('fonts/PPFraktionMono-BoldItalic.woff2'); +} \ No newline at end of file diff --git a/assets/indices/contentIndex.json b/assets/indices/contentIndex.json index e6757a1..924bbb9 100644 --- a/assets/indices/contentIndex.json +++ b/assets/indices/contentIndex.json @@ -36,9 +36,9 @@ "tags": null }, "/docs/example/table-of-contents/": { - "title": "", + "title": "Table of Contents", "content": "\n# Ubi loqui\n\n## Mentem genus facietque salire tempus bracchia\n\nLorem markdownum partu paterno Achillem. Habent amne generosi aderant ad pellem\nnec erat sustinet merces columque haec et, dixit minus nutrit accipiam subibis\nsubdidit. Temeraria servatum agros qui sed fulva facta. Primum ultima, dedit,\nsuo quisque linguae medentes fixo: tum petis.\n\n## Rapit vocant si hunc siste adspice\n\nOra precari Patraeque Neptunia, dixit Danae [Cithaeron\narmaque](http://mersis-an.org/litoristum) maxima in **nati Coniugis** templis\nfluidove. Effugit usus nec ingreditur agmen *ac manus* conlato. Nullis vagis\nnequiquam vultibus aliquos altera *suum venis* teneas fretum. Armos [remotis\nhoc](http://tutum.io/me) sine ferrea iuncta quam!\n\n## Locus fuit caecis\n\nNefas discordemque domino montes numen tum humili nexilibusque exit, Iove. Quae\nmiror esse, scelerisque Melaneus viribus. Miseri laurus. Hoc est proposita me\nante aliquid, aura inponere candidioribus quidque accendit bella, sumpta.\nIntravit quam erat figentem hunc, motus de fontes parvo tempestate.\n\n iscsi_virus = pitch(json_in_on(eupViral),\n northbridge_services_troubleshooting, personal(\n firmware_rw.trash_rw_crm.device(interactive_gopher_personal,\n software, -1), megabit, ergonomicsSoftware(cmyk_usb_panel,\n mips_whitelist_duplex, cpa)));\n if (5) {\n managementNetwork += dma - boolean;\n kilohertz_token = 2;\n honeypot_affiliate_ergonomics = fiber;\n }\n mouseNorthbridge = byte(nybble_xmp_modem.horse_subnet(\n analogThroughputService * graphicPoint, drop(daw_bit, dnsIntranet),\n gateway_ospf), repository.domain_key.mouse(serverData(fileNetwork,\n trim_duplex_file), cellTapeDirect, token_tooltip_mashup(\n ripcordingMashup)));\n module_it = honeypot_driver(client_cold_dvr(593902, ripping_frequency) +\n coreLog.joystick(componentUdpLink), windows_expansion_touchscreen);\n bashGigabit.external.reality(2, server_hardware_codec.flops.ebookSampling(\n ciscNavigationBacklink, table + cleanDriver), indexProtocolIsp);\n\n## Placabilis coactis nega ingemuit ignoscat nimia non\n\nFrontis turba. Oculi gravis est Delphice; *inque praedaque* sanguine manu non.\n\n if (ad_api) {\n zif += usb.tiffAvatarRate(subnet, digital_rt) + exploitDrive;\n gigaflops(2 - bluetooth, edi_asp_memory.gopher(queryCursor, laptop),\n panel_point_firmware);\n spyware_bash.statePopApplet = express_netbios_digital(\n insertion_troubleshooting.brouter(recordFolderUs), 65);\n }\n recursionCoreRay = -5;\n if (hub == non) {\n portBoxVirus = soundWeb(recursive_card(rwTechnologyLeopard),\n font_radcab, guidCmsScalable + reciprocalMatrixPim);\n left.bug = screenshot;\n } else {\n tooltipOpacity = raw_process_permalink(webcamFontUser, -1);\n executable_router += tape;\n }\n if (tft) {\n bandwidthWeb *= social_page;\n } else {\n regular += 611883;\n thumbnail /= system_lag_keyboard;\n }\n\n## Caesorum illa tu sentit micat vestes papyriferi\n\nInde aderam facti; Theseus vis de tauri illa peream. Oculos **uberaque** non\nregisque vobis cursuque, opus venit quam vulnera. Et maiora necemque, lege modo;\ngestanda nitidi, vero? Dum ne pectoraque testantur.\n\nVenasque repulsa Samos qui, exspectatum eram animosque hinc, [aut\nmanes](http://www.creveratnon.net/apricaaetheriis), Assyrii. Cupiens auctoribus\npariter rubet, profana magni super nocens. Vos ius sibilat inpar turba visae\niusto! Sedes ante dum superest **extrema**.\n", - "lastmodified": "2022-12-31T01:56:53.430566995Z", + "lastmodified": "2023-01-03T00:34:32.403382496Z", "tags": null }, "/docs/example/table-of-contents/with-toc": { @@ -176,7 +176,7 @@ "/notes/hosting": { "title": "Deploying Quartz to the Web", "content": "\n## Hosting on GitHub Pages\nQuartz is designed to be effortless to deploy. If you forked and cloned Quartz directly from the repository, everything should already be good to go! Follow the steps below.\n\n### Enable GitHub Actions\nBy default, GitHub disables workflows from running automatically on Forked Repostories. Head to the 'Actions' tab of your forked repository and Enable Workflows to setup deploying your Quartz site!\n\n![Enable GitHub Actions](notes/images/github-actions.png)*Enable GitHub Actions*\n\n### Enable GitHub Pages\n\nHead to the 'Settings' tab of your forked repository and go to the 'Pages' tab.\n\n1. (IMPORTANT) Set the source to deploy from `master` (and not `hugo`) using `/ (root)`\n2. Set a custom domain here if you have one!\n\n![Enable GitHub Pages](/notes/images/github-pages.png)*Enable GitHub Pages*\n\n### Pushing Changes\nTo see your changes on the internet, we need to push it them to GitHub. Quartz is a `git` repository so updating it is the same workflow as you would follow as if it were just a regular software project.\n\n```shell\n# Navigate to Quartz folder\ncd \u003cpath-to-quartz\u003e\n\n# Commit all changes\ngit add .\ngit commit -m \"message describing changes\"\n\n# Push to GitHub to update site\ngit push origin hugo\n```\n\nNote: we specifically push to the `hugo` branch here. Our GitHub action automatically runs everytime a push to is detected to that branch and then updates the `master` branch for redeployment.\n\n### Setting up the Site\nNow let's get this site up and running. Never hosted a site before? No problem. Have a fancy custom domain you already own or want to subdomain your Quartz? That's easy too.\n\nHere, we take advantage of GitHub's free page hosting to deploy our site. Change `baseURL` in `/config.toml`. \n\nMake sure that your `baseURL` has a trailing `/`!\n\n[Reference `config.toml` here](https://github.com/jackyzha0/quartz/blob/hugo/config.toml)\n\n```toml\nbaseURL = \"https://\u003cYOUR-DOMAIN\u003e/\"\n```\n\nIf you are using this under a subdomain (e.g. `\u003cYOUR-GITHUB-USERNAME\u003e.github.io/quartz`), include the trailing `/`. **You need to do this especially if you are using GitHub!**\n\n```toml\nbaseURL = \"https://\u003cYOUR-GITHUB-USERNAME\u003e.github.io/quartz/\"\n```\n\nChange `cname` in `/.github/workflows/deploy.yaml`. Again, if you don't have a custom domain to use, you can use `\u003cYOUR-USERNAME\u003e.github.io`.\n\nPlease note that the `cname` field should *not* have any path `e.g. end with /quartz` or have a trailing `/`.\n\n[Reference `deploy.yaml` here](https://github.com/jackyzha0/quartz/blob/hugo/.github/workflows/deploy.yaml)\n\n```yaml {title=\".github/workflows/deploy.yaml\"}\n- name: Deploy \n uses: peaceiris/actions-gh-pages@v3 \n with: \n\tgithub_token: ${{ secrets.GITHUB_TOKEN }} # this can stay as is, GitHub fills this in for us!\n\tpublish_dir: ./public \n\tpublish_branch: master\n\tcname: \u003cYOUR-DOMAIN\u003e\n```\n\nHave a custom domain? [Learn how to set it up with Quartz ](notes/custom%20Domain.md).\n\n### Ignoring Files\nOnly want to publish a subset of all of your notes? Don't worry, Quartz makes this a simple two-step process.\n\nāŒ [Excluding pages from being published](notes/ignore%20notes.md)\n\n## Docker Support\nIf you don't want to use a hosting service, you can host using [Docker](notes/docker.md) instead!\nI would *not use this method* unless you know what you are doing.\n\n---\n\nNow that your Quartz is live, let's figure out how to make Quartz really *yours*!\n\n\u003e Step 6: šŸŽØ [Customizing Quartz](notes/config.md)\n\nHaving problems? Checkout our [FAQ and Troubleshooting guide](notes/troubleshooting.md).\n", - "lastmodified": "2022-12-31T02:53:43.344377399Z", + "lastmodified": "2023-01-01T23:44:35.436929149Z", "tags": null }, "/notes/ignore-notes": { @@ -247,7 +247,7 @@ }, "/posts/goisforlovers": { "title": "", - "content": "+++\ntitle = \"(Hu)go Template Primer\"\ndescription = \"\"\ntags = [\n \"go\",\n \"golang\",\n \"templates\",\n \"themes\",\n \"development\",\n]\ndate = \"2014-04-02\"\ncategories = [\n \"Development\",\n \"golang\",\n]\nmenu = \"main\"\n+++\n\nHugo uses the excellent [Go][] [html/template][gohtmltemplate] library for\nits template engine. It is an extremely lightweight engine that provides a very\nsmall amount of logic. In our experience that it is just the right amount of\nlogic to be able to create a good static website. If you have used other\ntemplate systems from different languages or frameworks you will find a lot of\nsimilarities in Go templates.\n\nThis document is a brief primer on using Go templates. The [Go docs][gohtmltemplate]\nprovide more details.\n\n## Introduction to Go Templates\n\nGo templates provide an extremely simple template language. It adheres to the\nbelief that only the most basic of logic belongs in the template or view layer.\nOne consequence of this simplicity is that Go templates parse very quickly.\n\nA unique characteristic of Go templates is they are content aware. Variables and\ncontent will be sanitized depending on the context of where they are used. More\ndetails can be found in the [Go docs][gohtmltemplate].\n\n## Basic Syntax\n\nGolang templates are HTML files with the addition of variables and\nfunctions.\n\n**Go variables and functions are accessible within {{ }}**\n\nAccessing a predefined variable \"foo\":\n\n {{ foo }}\n\n**Parameters are separated using spaces**\n\nCalling the add function with input of 1, 2:\n\n {{ add 1 2 }}\n\n**Methods and fields are accessed via dot notation**\n\nAccessing the Page Parameter \"bar\"\n\n {{ .Params.bar }}\n\n**Parentheses can be used to group items together**\n\n {{ if or (isset .Params \"alt\") (isset .Params \"caption\") }} Caption {{ end }}\n\n\n## Variables\n\nEach Go template has a struct (object) made available to it. In hugo each\ntemplate is passed either a page or a node struct depending on which type of\npage you are rendering. More details are available on the\n[variables](/layout/variables) page.\n\nA variable is accessed by referencing the variable name.\n\n \u003ctitle\u003e{{ .Title }}\u003c/title\u003e\n\nVariables can also be defined and referenced.\n\n {{ $address := \"123 Main St.\"}}\n {{ $address }}\n\n\n## Functions\n\nGo template ship with a few functions which provide basic functionality. The Go\ntemplate system also provides a mechanism for applications to extend the\navailable functions with their own. [Hugo template\nfunctions](/layout/functions) provide some additional functionality we believe\nare useful for building websites. Functions are called by using their name\nfollowed by the required parameters separated by spaces. Template\nfunctions cannot be added without recompiling hugo.\n\n**Example:**\n\n {{ add 1 2 }}\n\n## Includes\n\nWhen including another template you will pass to it the data it will be\nable to access. To pass along the current context please remember to\ninclude a trailing dot. The templates location will always be starting at\nthe /layout/ directory within Hugo.\n\n**Example:**\n\n {{ template \"chrome/header.html\" . }}\n\n\n## Logic\n\nGo templates provide the most basic iteration and conditional logic.\n\n### Iteration\n\nJust like in Go, the Go templates make heavy use of range to iterate over\na map, array or slice. The following are different examples of how to use\nrange.\n\n**Example 1: Using Context**\n\n {{ range array }}\n {{ . }}\n {{ end }}\n\n**Example 2: Declaring value variable name**\n\n {{range $element := array}}\n {{ $element }}\n {{ end }}\n\n**Example 2: Declaring key and value variable name**\n\n {{range $index, $element := array}}\n {{ $index }}\n {{ $element }}\n {{ end }}\n\n### Conditionals\n\nIf, else, with, or, \u0026 and provide the framework for handling conditional\nlogic in Go Templates. Like range, each statement is closed with `end`.\n\n\nGo Templates treat the following values as false:\n\n* false\n* 0\n* any array, slice, map, or string of length zero\n\n**Example 1: If**\n\n {{ if isset .Params \"title\" }}\u003ch4\u003e{{ index .Params \"title\" }}\u003c/h4\u003e{{ end }}\n\n**Example 2: If -\u003e Else**\n\n {{ if isset .Params \"alt\" }}\n {{ index .Params \"alt\" }}\n {{else}}\n {{ index .Params \"caption\" }}\n {{ end }}\n\n**Example 3: And \u0026 Or**\n\n {{ if and (or (isset .Params \"title\") (isset .Params \"caption\")) (isset .Params \"attr\")}}\n\n**Example 4: With**\n\nAn alternative way of writing \"if\" and then referencing the same value\nis to use \"with\" instead. With rebinds the context `.` within its scope,\nand skips the block if the variable is absent.\n\nThe first example above could be simplified as:\n\n {{ with .Params.title }}\u003ch4\u003e{{ . }}\u003c/h4\u003e{{ end }}\n\n**Example 5: If -\u003e Else If**\n\n {{ if isset .Params \"alt\" }}\n {{ index .Params \"alt\" }}\n {{ else if isset .Params \"caption\" }}\n {{ index .Params \"caption\" }}\n {{ end }}\n\n## Pipes\n\nOne of the most powerful components of Go templates is the ability to\nstack actions one after another. This is done by using pipes. Borrowed\nfrom unix pipes, the concept is simple, each pipeline's output becomes the\ninput of the following pipe.\n\nBecause of the very simple syntax of Go templates, the pipe is essential\nto being able to chain together function calls. One limitation of the\npipes is that they only can work with a single value and that value\nbecomes the last parameter of the next pipeline.\n\nA few simple examples should help convey how to use the pipe.\n\n**Example 1 :**\n\n {{ if eq 1 1 }} Same {{ end }}\n\nis the same as\n\n {{ eq 1 1 | if }} Same {{ end }}\n\nIt does look odd to place the if at the end, but it does provide a good\nillustration of how to use the pipes.\n\n**Example 2 :**\n\n {{ index .Params \"disqus_url\" | html }}\n\nAccess the page parameter called \"disqus_url\" and escape the HTML.\n\n**Example 3 :**\n\n {{ if or (or (isset .Params \"title\") (isset .Params \"caption\")) (isset .Params \"attr\")}}\n Stuff Here\n {{ end }}\n\nCould be rewritten as\n\n {{ isset .Params \"caption\" | or isset .Params \"title\" | or isset .Params \"attr\" | if }}\n Stuff Here\n {{ end }}\n\n\n## Context (aka. the dot)\n\nThe most easily overlooked concept to understand about Go templates is that {{ . }}\nalways refers to the current context. In the top level of your template this\nwill be the data set made available to it. Inside of a iteration it will have\nthe value of the current item. When inside of a loop the context has changed. .\nwill no longer refer to the data available to the entire page. If you need to\naccess this from within the loop you will likely want to set it to a variable\ninstead of depending on the context.\n\n**Example:**\n\n {{ $title := .Site.Params.Title }}\n {{ range .Params.tags }}\n \u003cli\u003e \u003ca href=\"{{ $baseurl }}/tags/{{ . | urlize }}\"\u003e{{ . }}\u003c/a\u003e - {{ $title }} \u003c/li\u003e\n {{ end }}\n\nNotice how once we have entered the loop the value of {{ . }} has changed. We\nhave defined a variable outside of the loop so we have access to it from within\nthe loop.\n\n# Hugo Parameters\n\nHugo provides the option of passing values to the template language\nthrough the site configuration (for sitewide values), or through the meta\ndata of each specific piece of content. You can define any values of any\ntype (supported by your front matter/config format) and use them however\nyou want to inside of your templates.\n\n\n## Using Content (page) Parameters\n\nIn each piece of content you can provide variables to be used by the\ntemplates. This happens in the [front matter](/content/front-matter).\n\nAn example of this is used in this documentation site. Most of the pages\nbenefit from having the table of contents provided. Sometimes the TOC just\ndoesn't make a lot of sense. We've defined a variable in our front matter\nof some pages to turn off the TOC from being displayed.\n\nHere is the example front matter:\n\n```\n---\ntitle: \"Permalinks\"\ndate: \"2013-11-18\"\naliases:\n - \"/doc/permalinks/\"\ngroups: [\"extras\"]\ngroups_weight: 30\nnotoc: true\n---\n```\n\nHere is the corresponding code inside of the template:\n\n {{ if not .Params.notoc }}\n \u003cdiv id=\"toc\" class=\"well col-md-4 col-sm-6\"\u003e\n {{ .TableOfContents }}\n \u003c/div\u003e\n {{ end }}\n\n\n\n## Using Site (config) Parameters\nIn your top-level configuration file (eg, `config.yaml`) you can define site\nparameters, which are values which will be available to you in chrome.\n\nFor instance, you might declare:\n\n```yaml\nparams:\n CopyrightHTML: \"Copyright \u0026#xA9; 2013 John Doe. All Rights Reserved.\"\n TwitterUser: \"spf13\"\n SidebarRecentLimit: 5\n```\n\nWithin a footer layout, you might then declare a `\u003cfooter\u003e` which is only\nprovided if the `CopyrightHTML` parameter is provided, and if it is given,\nyou would declare it to be HTML-safe, so that the HTML entity is not escaped\nagain. This would let you easily update just your top-level config file each\nJanuary 1st, instead of hunting through your templates.\n\n```\n{{if .Site.Params.CopyrightHTML}}\u003cfooter\u003e\n\u003cdiv class=\"text-center\"\u003e{{.Site.Params.CopyrightHTML | safeHtml}}\u003c/div\u003e\n\u003c/footer\u003e{{end}}\n```\n\nAn alternative way of writing the \"if\" and then referencing the same value\nis to use \"with\" instead. With rebinds the context `.` within its scope,\nand skips the block if the variable is absent:\n\n```\n{{with .Site.Params.TwitterUser}}\u003cspan class=\"twitter\"\u003e\n\u003ca href=\"https://twitter.com/{{.}}\" rel=\"author\"\u003e\n\u003cimg src=\"/images/twitter.png\" width=\"48\" height=\"48\" title=\"Twitter: {{.}}\"\n alt=\"Twitter\"\u003e\u003c/a\u003e\n\u003c/span\u003e{{end}}\n```\n\nFinally, if you want to pull \"magic constants\" out of your layouts, you can do\nso, such as in this example:\n\n```\n\u003cnav class=\"recent\"\u003e\n \u003ch1\u003eRecent Posts\u003c/h1\u003e\n \u003cul\u003e{{range first .Site.Params.SidebarRecentLimit .Site.Recent}}\n \u003cli\u003e\u003ca href=\"{{.RelPermalink}}\"\u003e{{.Title}}\u003c/a\u003e\u003c/li\u003e\n {{end}}\u003c/ul\u003e\n\u003c/nav\u003e\n```\n\n\n[go]: https://golang.org/\n[gohtmltemplate]: https://golang.org/pkg/html/template/\n", + "content": "+++\ntitle = \"(Hu)go Template Primer\"\ndescription = \"\"\ntags = [\n \"go\",\n \"golang\",\n \"templates\",\n \"themes\",\n \"development\",\n]\ndate = \"2014-04-02\"\ncategories = [\n \"Development\",\n \"golang\",\n]\nmenu = \"main\"\n+++\n\nHugo uses the excellent [Go][] [html/template][gohtmltemplate] library for\nits template engine. It is an extremely lightweight engine that provides a very\nsmall amount of logic. In our experience that it is just the right amount of\nlogic to be able to create a good static website. If you have used other\ntemplate systems from different languages or frameworks you will find a lot of\nsimilarities in Go templates.\n\nThis document is a brief primer on using Go templates. The [Go docs][gohtmltemplate]\nprovide more details.\n\n## Introduction to Go Templates\n\nGo templates provide an extremely simple template language. It adheres to the\nbelief that only the most basic of logic belongs in the template or view layer.\nOne consequence of this simplicity is that Go templates parse very quickly.\n\nA unique characteristic of Go templates is they are content aware. Variables and\ncontent will be sanitized depending on the context of where they are used. More\ndetails can be found in the [Go docs][gohtmltemplate].\n\n## Basic Syntax\n\nGolang templates are HTML files with the addition of variables and\nfunctions.\n\n**Go variables and functions are accessible within {{ }}**\n\nAccessing a predefined variable \"foo\":\n\n {{ foo }}\n\n**Parameters are separated using spaces**\n\nCalling the add function with input of 1, 2:\n\n {{ add 1 2 }}\n\n**Methods and fields are accessed via dot notation**\n\nAccessing the Page Parameter \"bar\"\n\n {{ .Params.bar }}\n\n**Parentheses can be used to group items together**\n\n {{ if or (isset .Params \"alt\") (isset .Params \"caption\") }} Caption {{ end }}\n\n\n## Variables\n\nEach Go template has a struct (object) made available to it. In hugo each\ntemplate is passed either a page or a node struct depending on which type of\npage you are rendering. More details are available on the\n[variables](/layout/variables) page.\n\nA variable is accessed by referencing the variable name.\n\n \u003ctitle\u003e{{ .Title }}\u003c/title\u003e\n\nVariables can also be defined and referenced.\n\n {{ $address := \"123 Main St.\"}}\n {{ $address }}\n\n\n## Functions\n\nGo template ship with a few functions which provide basic functionality. The Go\ntemplate system also provides a mechanism for applications to extend the\navailable functions with their own. [Hugo template\nfunctions](/layout/functions) provide some additional functionality we believe\nare useful for building websites. Functions are called by using their name\nfollowed by the required parameters separated by spaces. Template\nfunctions cannot be added without recompiling hugo.\n\n**Example:**\n\n {{ add 1 2 }}\n\n## Includes\n\nWhen including another template you will pass to it the data it will be\nable to access. To pass along the current context please remember to\ninclude a trailing dot. The templates location will always be starting at\nthe /layout/ directory within Hugo.\n\n**Example:**\n\n {{ template \"chrome/header.html\" . }}\n\n\n## Logic\n\nGo templates provide the most basic iteration and conditional logic.\n\n### Iteration\n\nJust like in Go, the Go templates make heavy use of range to iterate over\na map, array or slice. The following are different examples of how to use\nrange.\n\n**Example 1: Using Context**\n\n {{ range array }}\n {{ . }}\n {{ end }}\n\n**Example 2: Declaring value variable name**\n\n {{range $element := array}}\n {{ $element }}\n {{ end }}\n\n**Example 2: Declaring key and value variable name**\n\n {{range $index, $element := array}}\n {{ $index }}\n {{ $element }}\n {{ end }}\n\n### Conditionals\n\nIf, else, with, or, \u0026 and provide the framework for handling conditional\nlogic in Go Templates. Like range, each statement is closed with `end`.\n\n\nGo Templates treat the following values as false:\n\n* false\n* 0\n* any array, slice, map, or string of length zero\n\n**Example 1: If**\n\n {{ if isset .Params \"title\" }}\u003ch4\u003e{{ index .Params \"title\" }}\u003c/h4\u003e{{ end }}\n\n**Example 2: If -\u003e Else**\n\n {{ if isset .Params \"alt\" }}\n {{ index .Params \"alt\" }}\n {{else}}\n {{ index .Params \"caption\" }}\n {{ end }}\n\n**Example 3: And \u0026 Or**\n\n {{ if and (or (isset .Params \"title\") (isset .Params \"caption\")) (isset .Params \"attr\")}}\n\n**Example 4: With**\n\nAn alternative way of writing \"if\" and then referencing the same value\nis to use \"with\" instead. With rebinds the context `.` within its scope,\nand skips the block if the variable is absent.\n\nThe first example above could be simplified as:\n\n {{ with .Params.title }}\u003ch4\u003e{{ . }}\u003c/h4\u003e{{ end }}\n\n**Example 5: If -\u003e Else If**\n\n {{ if isset .Params \"alt\" }}\n {{ index .Params \"alt\" }}\n {{ else if isset .Params \"caption\" }}\n {{ index .Params \"caption\" }}\n {{ end }}\n\n## Pipes\n\nOne of the most powerful components of Go templates is the ability to\nstack actions one after another. This is done by using pipes. Borrowed\nfrom unix pipes, the concept is simple, each pipeline's output becomes the\ninput of the following pipe.\n\nBecause of the very simple syntax of Go templates, the pipe is essential\nto being able to chain together function calls. One limitation of the\npipes is that they only can work with a single value and that value\nbecomes the last parameter of the next pipeline.\n\nA few simple examples should help convey how to use the pipe.\n\n**Example 1 :**\n\n {{ if eq 1 1 }} Same {{ end }}\n\nis the same as\n\n {{ eq 1 1 | if }} Same {{ end }}\n\nIt does look odd to place the if at the end, but it does provide a good\nillustration of how to use the pipes.\n\n**Example 2 :**\n\n {{ index .Params \"disqus_url\" | html }}\n\nAccess the page parameter called \"disqus_url\" and escape the HTML.\n\n**Example 3 :**\n\n {{ if or (or (isset .Params \"title\") (isset .Params \"caption\")) (isset .Params \"attr\")}}\n Stuff Here\n {{ end }}\n\nCould be rewritten as\n\n {{ isset .Params \"caption\" | or isset .Params \"title\" | or isset .Params \"attr\" | if }}\n Stuff Here\n {{ end }}\n\n\n## Context (aka. the dot)\n\nThe most easily overlooked concept to understand about Go templates is that {{ . }}\nalways refers to the current context. In the top level of your template this\nwill be the data set made available to it. Inside of a iteration it will have\nthe value of the current item. When inside of a loop the context has changed. .\nwill no longer refer to the data available to the entire page. If you need to\naccess this from within the loop you will likely want to set it to a variable\ninstead of depending on the context.\n\n**Example:**\n\n {{ $title := .Site.Title }}\n {{ range .Params.tags }}\n \u003cli\u003e \u003ca href=\"{{ $baseurl }}/tags/{{ . | urlize }}\"\u003e{{ . }}\u003c/a\u003e - {{ $title }} \u003c/li\u003e\n {{ end }}\n\nNotice how once we have entered the loop the value of {{ . }} has changed. We\nhave defined a variable outside of the loop so we have access to it from within\nthe loop.\n\n# Hugo Parameters\n\nHugo provides the option of passing values to the template language\nthrough the site configuration (for sitewide values), or through the meta\ndata of each specific piece of content. You can define any values of any\ntype (supported by your front matter/config format) and use them however\nyou want to inside of your templates.\n\n\n## Using Content (page) Parameters\n\nIn each piece of content you can provide variables to be used by the\ntemplates. This happens in the [front matter](/content/front-matter).\n\nAn example of this is used in this documentation site. Most of the pages\nbenefit from having the table of contents provided. Sometimes the TOC just\ndoesn't make a lot of sense. We've defined a variable in our front matter\nof some pages to turn off the TOC from being displayed.\n\nHere is the example front matter:\n\n```\n---\ntitle: \"Permalinks\"\ndate: \"2013-11-18\"\naliases:\n - \"/doc/permalinks/\"\ngroups: [\"extras\"]\ngroups_weight: 30\nnotoc: true\n---\n```\n\nHere is the corresponding code inside of the template:\n\n {{ if not .Params.notoc }}\n \u003cdiv id=\"toc\" class=\"well col-md-4 col-sm-6\"\u003e\n {{ .TableOfContents }}\n \u003c/div\u003e\n {{ end }}\n\n\n\n## Using Site (config) Parameters\nIn your top-level configuration file (eg, `config.yaml`) you can define site\nparameters, which are values which will be available to you in chrome.\n\nFor instance, you might declare:\n\n```yaml\nparams:\n CopyrightHTML: \"Copyright \u0026#xA9; 2013 John Doe. All Rights Reserved.\"\n TwitterUser: \"spf13\"\n SidebarRecentLimit: 5\n```\n\nWithin a footer layout, you might then declare a `\u003cfooter\u003e` which is only\nprovided if the `CopyrightHTML` parameter is provided, and if it is given,\nyou would declare it to be HTML-safe, so that the HTML entity is not escaped\nagain. This would let you easily update just your top-level config file each\nJanuary 1st, instead of hunting through your templates.\n\n```\n{{if .Site.Params.CopyrightHTML}}\u003cfooter\u003e\n\u003cdiv class=\"text-center\"\u003e{{.Site.Params.CopyrightHTML | safeHtml}}\u003c/div\u003e\n\u003c/footer\u003e{{end}}\n```\n\nAn alternative way of writing the \"if\" and then referencing the same value\nis to use \"with\" instead. With rebinds the context `.` within its scope,\nand skips the block if the variable is absent:\n\n```\n{{with .Site.Params.TwitterUser}}\u003cspan class=\"twitter\"\u003e\n\u003ca href=\"https://twitter.com/{{.}}\" rel=\"author\"\u003e\n\u003cimg src=\"/images/twitter.png\" width=\"48\" height=\"48\" title=\"Twitter: {{.}}\"\n alt=\"Twitter\"\u003e\u003c/a\u003e\n\u003c/span\u003e{{end}}\n```\n\nFinally, if you want to pull \"magic constants\" out of your layouts, you can do\nso, such as in this example:\n\n```\n\u003cnav class=\"recent\"\u003e\n \u003ch1\u003eRecent Posts\u003c/h1\u003e\n \u003cul\u003e{{range first .Site.Params.SidebarRecentLimit .Site.Recent}}\n \u003cli\u003e\u003ca href=\"{{.RelPermalink}}\"\u003e{{.Title}}\u003c/a\u003e\u003c/li\u003e\n {{end}}\u003c/ul\u003e\n\u003c/nav\u003e\n```\n\n\n[go]: https://golang.org/\n[gohtmltemplate]: https://golang.org/pkg/html/template/\n", "lastmodified": "2022-12-31T01:56:53.430566995Z", "tags": null }, diff --git a/assets/quartz/styles/base.scss b/assets/quartz/styles/base.scss index b1a5076..65504f0 100644 --- a/assets/quartz/styles/base.scss +++ b/assets/quartz/styles/base.scss @@ -1,9 +1,9 @@ // 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'); +@import url('https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;700&family=Source+Sans+Pro:wght@400;600&display=swap'); :root { - --font-body: "Source Sans Pro"; - --font-header: "Inter"; - --font-mono: "Fira Code" + --font-body: "PP Mori", "Source Sans Pro", sans-serif; + --font-header: "PP Mori", "Source Sans Pro", sans-serif; + --font-mono: "PP Fraktion Mono", "Fira Code", monospace; } // typography diff --git a/config.yaml b/config.yaml index 510ae9b..5b7d7d6 100644 --- a/config.yaml +++ b/config.yaml @@ -1,6 +1,4 @@ # hugo server --minify --themesDir ... --baseURL=http://0.0.0.0:1313/theme/hugo-book/ - -name: Ben Cuan baseURL: https://notes.bencuan.me # Book configuration @@ -32,6 +30,7 @@ menu: params: + name: Ben Cuan title: šŸ““ Ben's Notes # OPTIONAL: custom favicon location @@ -134,7 +133,7 @@ params: # /!\ This is an experimental feature, might be removed or changed at any time # (Optional, experimental, default false) Enables service worker that caches visited pages and resources for offline use. - BookServiceWorker: true + BookServiceWorker: false # /!\ This is an experimental feature, might be removed or changed at any time # (Optional, experimental, default false) Enables a drop-down menu for translations only if a translation is present. diff --git a/content/docs/example/table-of-contents/_index.md b/content/docs/example/table-of-contents/_index.md index c7ee0d8..60a70cf 100644 --- a/content/docs/example/table-of-contents/_index.md +++ b/content/docs/example/table-of-contents/_index.md @@ -1,5 +1,6 @@ --- weight: 10 +title: "Table of Contents" --- # Ubi loqui diff --git a/content/notes/hosting.md b/content/notes/hosting.md index 254d7af..7ff2fd0 100644 --- a/content/notes/hosting.md +++ b/content/notes/hosting.md @@ -2,7 +2,6 @@ title: "Deploying Quartz to the Web" tags: - setup -weight: -1 aliases: - hosting --- diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index ce2e382..fa7960c 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -76,6 +76,7 @@ {{ define "main" }}
+

{{ partial "docs/title.html" . }}

{{partial "quartz/textprocessing" . }} {{ partial "quartz/footer"}} {{/* {{- .Content -}} */}} diff --git a/layouts/partials/quartz/contact.html b/layouts/partials/quartz/contact.html index fc356de..a9b39bc 100644 --- a/layouts/partials/quartz/contact.html +++ b/layouts/partials/quartz/contact.html @@ -1,17 +1,17 @@ {{ $config := cond (eq $.Site.Language.Lang "en") "config" (printf "config.%s" $.Site.Language.Lang) }} -{{ $data := index $.Site.Data $config }} +{{ $data := $.Site.Params }}
{{/* {{end}} */}} -{{partial "quartz/contact.html" .}} +{{partial "quartz/contact" .}} diff --git a/resources/_gen/assets/scss/book.scss_e129fe35b8d0a70789c8a08429469073.content b/resources/_gen/assets/scss/book.scss_e129fe35b8d0a70789c8a08429469073.content index 66f59e4..828f92e 100644 --- a/resources/_gen/assets/scss/book.scss_e129fe35b8d0a70789c8a08429469073.content +++ b/resources/_gen/assets/scss/book.scss_e129fe35b8d0a70789c8a08429469073.content @@ -1 +1 @@ -@charset "UTF-8";:root{--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-500:#adb5bd;--color-link:#0055bb;--color-visited-link:#8440f1;--body-background:white;--body-font-color:black;--icon-filter:none;--hint-color-info:#6bf;--hint-color-warning:#fd6;--hint-color-danger:#f66}/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.flex{display:flex}.flex-auto{flex:auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none}input.toggle{height:0;width:0;overflow:hidden;opacity:0;position:absolute}.clearfix::after{content:"";display:table;clear:both}html{font-size:16px;scroll-behavior:smooth;touch-action:manipulation}body{min-width:20rem;color:var(--body-font-color);background:var(--body-background);letter-spacing:.33px;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:var(--color-link)}img{vertical-align:baseline}:focus{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0;position:relative}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-inline-start:1rem}ul.pagination{display:flex;justify-content:center;list-style-type:none;padding-inline-start:0}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-icon{filter:var(--icon-filter)}.book-brand{margin-top:0;margin-bottom:1rem}.book-brand img{height:1.5em;width:1.5em;margin-inline-end:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu .book-menu-content{width:16rem;padding:1rem;background:var(--body-background);position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a,.book-menu label{color:inherit;cursor:pointer;word-wrap:break-word}.book-menu a.active{color:var(--color-link)}.book-menu input.toggle+label+ul{display:none}.book-menu input.toggle:checked+label+ul{display:block}.book-menu input.toggle+label::after{content:"ā–ø"}.book-menu input.toggle:checked+label::after{content:"ā–¾"}body[dir=rtl] .book-menu input.toggle+label::after{content:"ā—‚"}body[dir=rtl] .book-menu input.toggle:checked+label::after{content:"ā–¾"}.book-section-flat{margin:2rem 0}.book-section-flat>a,.book-section-flat>span,.book-section-flat>label{font-weight:bolder}.book-section-flat>ul{padding-inline-start:0}.book-page{min-width:20rem;flex-grow:1;padding:1rem}.book-post{margin-bottom:3rem}.book-search{position:relative;margin:1rem 0;border-bottom:1px solid transparent}.book-search input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:var(--gray-100);color:var(--body-font-color)}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;top:0;margin:.5rem;margin-inline-start:calc(100% - 1.5rem);width:1rem;height:1rem;border:1px solid transparent;border-top-color:var(--body-font-color);border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-search small{opacity:.5}.book-toc{flex:0 0 16rem;font-size:.75rem}.book-toc .book-toc-content{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc img{height:1em;width:1em}.book-toc nav>ul>li:first-child{margin-top:0}.book-footer{padding-top:1rem;font-size:.875rem}.book-footer img{height:1em;width:1em;margin-inline-end:.5rem}.book-comments{margin-top:1rem}.book-languages{margin-block-end:2rem}.book-languages .book-icon{height:1em;width:1em;margin-inline-end:.5em}.book-languages ul{padding-inline-start:1.5em}.book-menu-content,.book-toc-content,.book-page,.book-header aside,.markdown{transition:.2s ease-in-out;transition-property:transform,margin,opacity,visibility;will-change:transform,margin,opacity}@media screen and (max-width:56rem){#menu-control,#toc-control{display:inline}.book-menu{visibility:hidden;margin-inline-start:-16rem;font-size:16px;z-index:1}.book-toc{display:none}.book-header{display:block}#menu-control:focus~main label[for=menu-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#menu-control:checked~main .book-menu{visibility:initial}#menu-control:checked~main .book-menu .book-menu-content{transform:translateX(16rem);box-shadow:0 0 .5rem rgba(0,0,0,.1)}#menu-control:checked~main .book-page{opacity:.25}#menu-control:checked~main .book-menu-overlay{display:block;position:absolute;top:0;bottom:0;left:0;right:0}#toc-control:focus~main label[for=toc-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#toc-control:checked~main .book-header aside{display:block}body[dir=rtl] #menu-control:checked~main .book-menu .book-menu-content{transform:translateX(-16rem)}}@media screen and (min-width:80rem){.book-page,.book-menu .book-menu-content,.book-toc .book-toc-content{padding:2rem 1rem}}@font-face{font-family:roboto;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-regular.woff2)format("woff2"),url(fonts/roboto-v27-latin-regular.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:700;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-700.woff2)format("woff2"),url(fonts/roboto-v27-latin-700.woff)format("woff")}@font-face{font-family:roboto mono;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-mono-v13-latin-regular.woff2)format("woff2"),url(fonts/roboto-mono-v13-latin-regular.woff)format("woff")}body{font-family:roboto,sans-serif}code{font-family:roboto mono,monospace}@media print{.book-menu,.book-footer,.book-toc{display:none}.book-header,.book-header aside{display:block}main{display:block!important}}.markdown{line-height:1.6}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1;margin-top:1.5em;margin-bottom:1rem}.markdown h1 a.anchor,.markdown h2 a.anchor,.markdown h3 a.anchor,.markdown h4 a.anchor,.markdown h5 a.anchor,.markdown h6 a.anchor{opacity:0;font-size:.75em;vertical-align:middle;text-decoration:none}.markdown h1:hover a.anchor,.markdown h1 a.anchor:focus,.markdown h2:hover a.anchor,.markdown h2 a.anchor:focus,.markdown h3:hover a.anchor,.markdown h3 a.anchor:focus,.markdown h4:hover a.anchor,.markdown h4 a.anchor:focus,.markdown h5:hover a.anchor,.markdown h5 a.anchor:focus,.markdown h6:hover a.anchor,.markdown h6 a.anchor:focus{opacity:initial}.markdown h4,.markdown h5,.markdown h6{font-weight:bolder}.markdown h5{font-size:.875em}.markdown h6{font-size:.75em}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown a:visited{color:var(--color-visited-link)}.markdown img{max-width:100%;height:auto}.markdown code{padding:0 .25rem;background:var(--gray-200);border-radius:.25rem;font-size:.875em}.markdown pre{padding:1rem;background:var(--gray-100);border-radius:.25rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown p{word-wrap:break-word}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;border:1px solid var(--gray-200)}.markdown table tr:nth-child(2n){background:var(--gray-100)}.markdown hr{height:1px;border:none;background:var(--gray-200)}.markdown ul,.markdown ol{padding-inline-start:2rem}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-inline-start:0;margin-bottom:1rem}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-inline-end:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-inline-start:0}.markdown details{padding:1rem;border:1px solid var(--gray-200);border-radius:.25rem}.markdown details summary{line-height:1;padding:1rem;margin:-1rem;cursor:pointer}.markdown details[open] summary{margin-bottom:0}.markdown figure{margin:1rem 0}.markdown figure figcaption p{margin-top:0}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}.markdown .book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden}.markdown .book-expand .book-expand-head{background:var(--gray-100);padding:.5rem 1rem;cursor:pointer}.markdown .book-expand .book-expand-content{display:none;padding:1rem}.markdown .book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.markdown .book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden;display:flex;flex-wrap:wrap}.markdown .book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.markdown .book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid var(--gray-100);padding:1rem;display:none}.markdown .book-tabs input[type=radio]:checked+label{border-bottom:1px solid var(--color-link)}.markdown .book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.markdown .book-tabs input[type=radio]:focus+label{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}.markdown .book-columns{margin-left:-1rem;margin-right:-1rem}.markdown .book-columns>div{margin:1rem 0;min-width:10rem;padding:0 1rem}.markdown a.book-btn{display:inline-block;font-size:.875rem;color:var(--color-link);line-height:2rem;padding:0 1rem;border:1px solid var(--color-link);border-radius:.25rem;cursor:pointer}.markdown a.book-btn:hover{text-decoration:none}.markdown .book-hint.info{border-color:#6bf;background-color:rgba(102,187,255,.1)}.markdown .book-hint.warning{border-color:#fd6;background-color:rgba(255,221,102,.1)}.markdown .book-hint.danger{border-color:#f66;background-color:rgba(255,102,102,.1)}header{position:fixed;width:100%;padding:0 80px;z-index:9999;background-color:#8df;margin:0!important;height:80px}.book-menu,.book-menu-content,.book-toc-content,.book-page{margin-top:80px}.book-header{display:flex;padding:30px}@media screen and (max-width:56rem){.book-header{justify-content:space-between}#page-title{text-align:center;width:100%;padding:0}.menu-search{display:block}.menu-search #search-icon{width:100%;justify-content:space-between}header #search-icon{display:none!important}}@media screen and (min-width:56rem){.book-icon{display:none}.menu-search{display:none!important}header #search-icon{display:block;margin-right:20px}}.book-toc-content::-webkit-scrollbar,.book-menu-content::-webkit-scrollbar{width:10px;height:16px}*::-webkit-scrollbar-thumb{background:grey;border-radius:8px}*::-webkit-scrollbar-track{background-color:#ddd} \ No newline at end of file +@charset "UTF-8";:root{--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-500:#adb5bd;--color-link:#0055bb;--color-visited-link:#8440f1;--body-background:white;--body-font-color:black;--icon-filter:none;--hint-color-info:#6bf;--hint-color-warning:#fd6;--hint-color-danger:#f66}/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.flex{display:flex}.flex-auto{flex:auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none}input.toggle{height:0;width:0;overflow:hidden;opacity:0;position:absolute}.clearfix::after{content:"";display:table;clear:both}html{font-size:16px;scroll-behavior:smooth;touch-action:manipulation}body{min-width:20rem;color:var(--body-font-color);background:var(--body-background);letter-spacing:.33px;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:var(--color-link)}img{vertical-align:baseline}:focus{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0;position:relative}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-inline-start:1rem}ul.pagination{display:flex;justify-content:center;list-style-type:none;padding-inline-start:0}ul.pagination .page-item a{padding:1rem}.container{max-width:65rem;margin:0 auto}.book-icon{filter:var(--icon-filter)}.book-brand{margin-top:0;margin-bottom:1rem}.book-brand img{height:1.5em;width:1.5em;margin-inline-end:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu .book-menu-content{width:16rem;padding:1rem;background:var(--body-background);position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a,.book-menu label{color:inherit;cursor:pointer;word-wrap:break-word}.book-menu a.active{color:var(--color-link)}.book-menu input.toggle+label+ul{display:none}.book-menu input.toggle:checked+label+ul{display:block}.book-menu input.toggle+label::after{content:"ā–ø"}.book-menu input.toggle:checked+label::after{content:"ā–¾"}body[dir=rtl] .book-menu input.toggle+label::after{content:"ā—‚"}body[dir=rtl] .book-menu input.toggle:checked+label::after{content:"ā–¾"}.book-section-flat{margin:2rem 0}.book-section-flat>a,.book-section-flat>span,.book-section-flat>label{font-weight:bolder}.book-section-flat>ul{padding-inline-start:0}.book-page{min-width:20rem;flex-grow:1;padding:1rem}.book-post{margin-bottom:3rem}.book-search{position:relative;margin:1rem 0;border-bottom:1px solid transparent}.book-search input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:var(--gray-100);color:var(--body-font-color)}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;top:0;margin:.5rem;margin-inline-start:calc(100% - 1.5rem);width:1rem;height:1rem;border:1px solid transparent;border-top-color:var(--body-font-color);border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-search small{opacity:.5}.book-toc{flex:0 0 12rem;font-size:.75rem}.book-toc .book-toc-content{width:12rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc img{height:1em;width:1em}.book-toc nav>ul>li:first-child{margin-top:0}.book-footer{padding-top:1rem;font-size:.875rem}.book-footer img{height:1em;width:1em;margin-inline-end:.5rem}.book-comments{margin-top:1rem}.book-languages{margin-block-end:2rem}.book-languages .book-icon{height:1em;width:1em;margin-inline-end:.5em}.book-languages ul{padding-inline-start:1.5em}.book-menu-content,.book-toc-content,.book-page,.book-header aside,.markdown{transition:.2s ease-in-out;transition-property:transform,margin,opacity,visibility;will-change:transform,margin,opacity}@media screen and (max-width:52rem){#menu-control,#toc-control{display:inline}.book-menu{visibility:hidden;margin-inline-start:-16rem;font-size:16px;z-index:1}.book-toc{display:none}.book-header{display:block}#menu-control:focus~main label[for=menu-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#menu-control:checked~main .book-menu{visibility:initial}#menu-control:checked~main .book-menu .book-menu-content{transform:translateX(16rem);box-shadow:0 0 .5rem rgba(0,0,0,.1)}#menu-control:checked~main .book-page{opacity:.25}#menu-control:checked~main .book-menu-overlay{display:block;position:absolute;top:0;bottom:0;left:0;right:0}#toc-control:focus~main label[for=toc-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#toc-control:checked~main .book-header aside{display:block}body[dir=rtl] #menu-control:checked~main .book-menu .book-menu-content{transform:translateX(-16rem)}}@media screen and (min-width:65rem){.book-page,.book-menu .book-menu-content,.book-toc .book-toc-content{padding:2rem 1rem}}@font-face{font-family:pp mori;font-style:normal;font-weight:400;src:url(fonts/PPMori-SemiBold.woff2)}@font-face{font-family:pp mori;font-style:normal;font-weight:lighter;src:url(fonts/PPMori-Book.woff2)}@font-face{font-family:pp mori;font-style:normal;font-weight:700;src:url(fonts/PPMori-ExtraBold.woff2)}@font-face{font-family:pp mori;font-style:italic;font-weight:400;src:url(fonts/PPMori-RegularItalic.woff2)}@font-face{font-family:pp mori;font-style:italic;font-weight:700;src:url(fonts/PPMori-SemiBoldItalic.woff2)}@font-face{font-family:pp fraktion mono;font-style:normal;font-weight:400;src:url(fonts/PPFraktionMono-Regular.woff2)}@font-face{font-family:pp fraktion mono;font-style:normal;font-weight:lighter;src:url(fonts/PPFraktionMono-Light.woff2)}@font-face{font-family:pp fraktion mono;font-style:normal;font-weight:700;src:url(fonts/PPFraktionMono-Bold.woff2)}@font-face{font-family:pp fraktion mono;font-style:italic;font-weight:400;src:url(fonts/PPFraktionMono-RegularItalic.woff2)}@font-face{font-family:pp fraktion mono;font-style:italic;font-weight:700;src:url(fonts/PPFraktionMono-BoldItalic.woff2)}@media print{.book-menu,.book-footer,.book-toc{display:none}.book-header,.book-header aside{display:block}main{display:block!important}}.markdown{line-height:1.6}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1;margin-top:1.5em;margin-bottom:1rem}.markdown h1 a.anchor,.markdown h2 a.anchor,.markdown h3 a.anchor,.markdown h4 a.anchor,.markdown h5 a.anchor,.markdown h6 a.anchor{opacity:0;font-size:.75em;vertical-align:middle;text-decoration:none}.markdown h1:hover a.anchor,.markdown h1 a.anchor:focus,.markdown h2:hover a.anchor,.markdown h2 a.anchor:focus,.markdown h3:hover a.anchor,.markdown h3 a.anchor:focus,.markdown h4:hover a.anchor,.markdown h4 a.anchor:focus,.markdown h5:hover a.anchor,.markdown h5 a.anchor:focus,.markdown h6:hover a.anchor,.markdown h6 a.anchor:focus{opacity:initial}.markdown h4,.markdown h5,.markdown h6{font-weight:bolder}.markdown h5{font-size:.875em}.markdown h6{font-size:.75em}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown a:visited{color:var(--color-visited-link)}.markdown img{max-width:100%;height:auto}.markdown code{padding:0 .25rem;background:var(--gray-200);border-radius:.25rem;font-size:.875em}.markdown pre{padding:1rem;background:var(--gray-100);border-radius:.25rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown p{word-wrap:break-word}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;border:1px solid var(--gray-200)}.markdown table tr:nth-child(2n){background:var(--gray-100)}.markdown hr{height:1px;border:none;background:var(--gray-200)}.markdown ul,.markdown ol{padding-inline-start:2rem}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-inline-start:0;margin-bottom:1rem}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-inline-end:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-inline-start:0}.markdown details{padding:1rem;border:1px solid var(--gray-200);border-radius:.25rem}.markdown details summary{line-height:1;padding:1rem;margin:-1rem;cursor:pointer}.markdown details[open] summary{margin-bottom:0}.markdown figure{margin:1rem 0}.markdown figure figcaption p{margin-top:0}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}.markdown .book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden}.markdown .book-expand .book-expand-head{background:var(--gray-100);padding:.5rem 1rem;cursor:pointer}.markdown .book-expand .book-expand-content{display:none;padding:1rem}.markdown .book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.markdown .book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden;display:flex;flex-wrap:wrap}.markdown .book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.markdown .book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid var(--gray-100);padding:1rem;display:none}.markdown .book-tabs input[type=radio]:checked+label{border-bottom:1px solid var(--color-link)}.markdown .book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.markdown .book-tabs input[type=radio]:focus+label{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}.markdown .book-columns{margin-left:-1rem;margin-right:-1rem}.markdown .book-columns>div{margin:1rem 0;min-width:10rem;padding:0 1rem}.markdown a.book-btn{display:inline-block;font-size:.875rem;color:var(--color-link);line-height:2rem;padding:0 1rem;border:1px solid var(--color-link);border-radius:.25rem;cursor:pointer}.markdown a.book-btn:hover{text-decoration:none}.markdown .book-hint.info{border-color:#6bf;background-color:rgba(102,187,255,.1)}.markdown .book-hint.warning{border-color:#fd6;background-color:rgba(255,221,102,.1)}.markdown .book-hint.danger{border-color:#f66;background-color:rgba(255,102,102,.1)}header{position:fixed;width:100%;padding:0 80px;z-index:9999;background-color:#8df;margin:0!important;height:80px}.book-menu,.book-menu-content,.book-toc-content,.book-page{margin-top:80px}.book-header{display:flex;padding:30px}@media screen and (max-width:52rem){.book-header{justify-content:space-between}#page-title{text-align:center;width:100%;padding:0}.menu-search{display:block}.menu-search #search-icon{width:100%;justify-content:space-between}header #search-icon{display:none!important}}@media screen and (min-width:52rem){.book-icon{display:none}.menu-search{display:none!important}header #search-icon{display:block;margin-right:20px}}.book-toc-content::-webkit-scrollbar,.book-menu-content::-webkit-scrollbar{width:10px;height:16px}pre::-webkit-scrollbar{width:8px;height:10px}*::-webkit-scrollbar-thumb{background:grey;border-radius:8px}*::-webkit-scrollbar-track{background-color:#ddd}.markdown h1,.markdown h2,.markdown h3{font-weight:700}.markdown p{color:#222;font-weight:500}.title{color:blue;font-size:3rem;padding-bottom:1rem} \ No newline at end of file diff --git a/resources/_gen/assets/scss/book.scss_e129fe35b8d0a70789c8a08429469073.json b/resources/_gen/assets/scss/book.scss_e129fe35b8d0a70789c8a08429469073.json index 495131b..34a5114 100644 --- a/resources/_gen/assets/scss/book.scss_e129fe35b8d0a70789c8a08429469073.json +++ b/resources/_gen/assets/scss/book.scss_e129fe35b8d0a70789c8a08429469073.json @@ -1 +1 @@ -{"Target":"book.min.c3712169596a922d55634c121e69fc0c686df20d0cc71ff7d2bc271b07e2e0cd.css","MediaType":"text/css","Data":{"Integrity":"sha256-w3EhaVlqki1VY0wSHmn8DGht8g0Mxx/30rwnGwfi4M0="}} \ No newline at end of file +{"Target":"book.min.2ed75c0ce1bf358603ecfc1ad2de2c5bb8201d25551cf85f59fc45436d1dba91.css","MediaType":"text/css","Data":{"Integrity":"sha256-LtdcDOG/NYYD7Pwa0t4sW7ggHSVVHPhfWfxFQ20dupE="}} \ No newline at end of file diff --git a/resources/_gen/assets/scss/quartz/styles/base.scss_0ccffbd39a5ea808aa33646cb7c2a662.content b/resources/_gen/assets/scss/quartz/styles/base.scss_0ccffbd39a5ea808aa33646cb7c2a662.content index 34ea49b..aa8a3e5 100644 --- a/resources/_gen/assets/scss/quartz/styles/base.scss_0ccffbd39a5ea808aa33646cb7c2a662.content +++ b/resources/_gen/assets/scss/quartz/styles/base.scss_0ccffbd39a5ea808aa33646cb7c2a662.content @@ -1,2 +1 @@ -@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{--font-body: "Source Sans Pro";--font-header: "Inter";--font-mono: "Fira Code" -}html{scroll-behavior:smooth}html:lang(ar) p,html:lang(ar) h1,html:lang(ar) h2,html:lang(ar) h3,html:lang(ar) article,html:lang(ar) header{direction:rtl;text-align:right}html footer>p{text-align:center !important}.singlePage{padding:4em 30vw}@media all and (max-width: 1200px){.singlePage{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);font-weight:revert;margin:2rem 0 0;padding:2rem auto 1rem}h1:hover>.hanchor,h2:hover>.hanchor,h3:hover>.hanchor,h4:hover>.hanchor,h5:hover>.hanchor,h6:hover>.hanchor,thead:hover>.hanchor{color:var(--secondary)}.hanchor{font-family:var(--font-header);opacity:0.8;transition:color 0.3s ease;color:var(--dark)}p,ul,text,a,tr,td,li,ol,ul{font-family:var(--font-body);color:var(--gray);fill:var(--gray);font-weight:revert;margin:revert;padding:revert}tbody,li,p{line-height:1.5em}.mainTOC{border-radius:5px;padding:0.75em 0}.mainTOC details summary{cursor:zoom-in;font-family:var(--font-header);color:var(--dark);font-weight:700}.mainTOC details[open] summary{cursor:zoom-out}#TableOfContents>ol{counter-reset:section;margin-left:0;padding-left:1.5em}#TableOfContents>ol>li{counter-increment:section}#TableOfContents>ol>li>ol{counter-reset:subsection}#TableOfContents>ol>li>ol>li{counter-increment:subsection}#TableOfContents>ol>li>ol>li::marker{content:counter(section) "." counter(subsection) " "}#TableOfContents>ol>li::marker{content:counter(section) " "}#TableOfContents>ol>li::marker,#TableOfContents>ol>li>ol>li::marker{font-family:var(--font-body);font-weight:700}table{border:1px solid var(--outlinegray);width:100%;padding:1.5em;border-collapse:collapse}td,th{padding:0.2em 1em;border:1px solid var(--outlinegray)}img{max-width:100%;border-radius:3px;margin:1em 0}p>img+em{display:block;transform:translateY(-1em)}sup{line-height:0}blockquote{margin-left:0;border-left:3px solid var(--secondary);padding-left:1em;transition:border-color 0.2s ease}.footnotes p{margin:0.5em 0}.pagination{list-style:none;padding-left:0;display:flex;margin-top:2em;gap:1.5em;justify-content:center}.pagination .disabled{opacity:0.2}.pagination>li{text-align:center;display:inline-block}.pagination>li a{background-color:transparent !important}.pagination>li a[href$="#"],.pagination>li.active a{opacity:0.2}article>h1{margin-top:2em;font-size:2em}article>.meta{margin:0 0 1em 0;opacity:0.7}article a{font-weight:600}article a.internal-link{text-decoration:none;background-color:rgba(143,159,169,0.15);padding:0 0.1em;margin:auto -0.1em;border-radius:3px}article a.internal-link.broken{opacity:0.5;background-color:transparent}article p{overflow-wrap:anywhere}.tags{list-style:none;padding-left:0}.tags .meta{margin:1.5em 0}.tags .meta>h1{margin:0}.tags .meta>p{margin:0}.tags>li{display:inline-block;margin:0.4em 0.2em}.tags>li>a{border-radius:8px;border:var(--outlinegray) 1px solid;padding:0.2em 0.5em}.tags>li>a::before{content:"#";margin-right:0.3em;color:var(--outlinegray)}.backlinks a{font-weight:600;font-size:0.9rem}sup>a{text-decoration:none;padding:0 0.1em 0 0.2em}#page-title{margin:0}#page-title>a{font-family:var(--font-header)}a{font-size:1em;font-weight:700;text-decoration:none;transition:all 0.2s ease;color:var(--secondary)}a:hover{color:var(--tertiary) !important}pre{font-family:var(--font-mono);padding:0.75em;border-radius:3px;overflow-x:scroll}code{font-family:var(--font-mono);font-size:0.85em;padding:0.15em 0.3em;border-radius:5px;background:var(--lightgray)}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}footer{margin-top:4em;text-align:center}footer ul{padding-left:0}hr{width:100%;margin:2em auto;height:1px;border:none;background-color:var(--outlinegray)}.page-end{display:flex;flex-direction:row;gap:2em}@media all and (max-width: 780px){.page-end{flex-direction:column}}.page-end>*{flex:1 0 0}.page-end>.backlinks-container>ul{list-style:none;padding:0;margin:0}.page-end>.backlinks-container>ul>li{margin:0.5em 0;padding:0.25em 1em;border:var(--outlinegray) 1px solid;border-radius:5px}.page-end #graph-container{border:var(--outlinegray) 1px solid;border-radius:5px;box-sizing:border-box;min-height:250px;margin:0.5em 0}.page-end #graph-container>svg{margin-bottom:-5px}.centered{margin-top:30vh}.spacer{flex:1 1 auto}header,.menu-search{display:flex;flex-direction:row;align-items:center;margin:2em 1em 2em}header>h1,.menu-search>h1{font-size:2em}@media all and (max-width: 600px){header>nav,.menu-search>nav{display:none}}header #search-icon,.menu-search #search-icon{background-color:var(--lightgray);border-radius:4px;height:2em;display:flex;align-items:center;cursor:pointer}header #search-icon>p,.menu-search #search-icon>p{display:inline;padding:0 1.5em 0 2em}header svg,.menu-search svg{cursor:pointer;width:18px;min-width:18px;margin:0 0.5em}header svg:hover .search-path,.menu-search svg:hover .search-path{stroke:var(--tertiary)}header svg .search-path,.menu-search svg .search-path{stroke:var(--gray);stroke-width:2px;transition:stroke 0.5s ease}#search-container{position:fixed;z-index:9999;left:0;top:0;width:100vw;height:100%;overflow:scroll;display:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}#search-container>div{width:50%;margin-top:15vh;margin-left:auto;margin-right:auto}@media all and (max-width: 1200px){#search-container>div{width:90%}}#search-container>div>*{width:100%;border-radius:4px;background:var(--light);box-shadow:0 14px 50px rgba(27,33,48,0.12),0 10px 30px rgba(27,33,48,0.16);margin-bottom:2em}#search-container>div>input{box-sizing:border-box;padding:0.5em 1em;font-family:var(--font-body);color:var(--dark);font-size:1.1em;border:1px solid var(--outlinegray)}#search-container>div>input:focus{outline:none}#search-container>div>#results-container .result-card{padding:1em;cursor:pointer;transition:background 0.2s ease;border:1px solid var(--outlinegray);border-bottom:none;width:100%;font-family:inherit;font-size:100%;line-height:1.15;margin:0;overflow:visible;text-transform:none;text-align:left;background:var(--light);outline:none}#search-container>div>#results-container .result-card:hover,#search-container>div>#results-container .result-card:focus{background:rgba(180,180,180,0.15)}#search-container>div>#results-container .result-card:first-of-type{border-top-left-radius:5px;border-top-right-radius:5px}#search-container>div>#results-container .result-card:last-of-type{border-bottom-left-radius:5px;border-bottom-right-radius:5px;border-bottom:1px solid var(--outlinegray)}#search-container>div>#results-container .result-card>h3,#search-container>div>#results-container .result-card>p{margin:0}.search-highlight{background-color:#afbfc966;padding:0.05em 0.2em;border-radius:3px}.section-ul{list-style:none;margin-top:2em;padding-left:0}.section-li{margin-bottom:1em}.section-li>.section{display:flex;align-items:center}@media all and (max-width: 600px){.section-li>.section .tags{display:none}}.section-li>.section h3>a{font-weight:700;margin:0}.section-li>.section p{margin:0;padding-right:1em;flex-basis:6em}.section-li h3{opacity:1;font-weight:700;margin:0}.section-li .meta{opacity:0.6}@keyframes dropin{0%{display:none;opacity:0;visibility:hidden}1%{display:inline-block;opacity:0}100%{opacity:1;visibility:visible}}.popover{z-index:999;position:absolute;width:20rem;display:none;background-color:var(--light);padding:1rem;margin:1rem;border:1px solid var(--outlinegray);border-radius:5px;pointer-events:none;transition:opacity 0.2s ease, transform 0.2s ease;user-select:none;overflow-wrap:anywhere;box-shadow:6px 6px 36px 0 rgba(0,0,0,0.25)}@media all and (max-width: 600px){.popover{display:none !important}}.popover.visible{opacity:1;visibility:visible;display:inline-block;animation:dropin 0.2s ease}.popover>h3{font-size:1rem;margin:0.25rem 0}.popover .meta{margin-top:0.25rem;opacity:0.5;font-family:var(--font-mono);font-size:0.8rem}.popover>p{margin:0;padding:0.5rem 0}.popover>p,.popover>a{font-size:1rem;font-weight:400;user-select:none}#contact_buttons ul{list-style-type:none}#contact_buttons ul li{display:inline-block}#contact_buttons ul li a{padding:0 1em}mark{background-color:var(--highlighted);color:var(--gray)} +@import url("https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;700&family=Source+Sans+Pro:wght@400;600&display=swap");:root{--font-body: "PP Mori", "Source Sans Pro", sans-serif;--font-header: "PP Mori", "Source Sans Pro", sans-serif;--font-mono: "PP Fraktion Mono", "Fira Code", monospace}html{scroll-behavior:smooth}html:lang(ar) p,html:lang(ar) h1,html:lang(ar) h2,html:lang(ar) h3,html:lang(ar) article,html:lang(ar) header{direction:rtl;text-align:right}html footer>p{text-align:center !important}.singlePage{padding:4em 30vw}@media all and (max-width: 1200px){.singlePage{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);font-weight:revert;margin:2rem 0 0;padding:2rem auto 1rem}h1:hover>.hanchor,h2:hover>.hanchor,h3:hover>.hanchor,h4:hover>.hanchor,h5:hover>.hanchor,h6:hover>.hanchor,thead:hover>.hanchor{color:var(--secondary)}.hanchor{font-family:var(--font-header);opacity:0.8;transition:color 0.3s ease;color:var(--dark)}p,ul,text,a,tr,td,li,ol,ul{font-family:var(--font-body);color:var(--gray);fill:var(--gray);font-weight:revert;margin:revert;padding:revert}tbody,li,p{line-height:1.5em}.mainTOC{border-radius:5px;padding:0.75em 0}.mainTOC details summary{cursor:zoom-in;font-family:var(--font-header);color:var(--dark);font-weight:700}.mainTOC details[open] summary{cursor:zoom-out}#TableOfContents>ol{counter-reset:section;margin-left:0;padding-left:1.5em}#TableOfContents>ol>li{counter-increment:section}#TableOfContents>ol>li>ol{counter-reset:subsection}#TableOfContents>ol>li>ol>li{counter-increment:subsection}#TableOfContents>ol>li>ol>li::marker{content:counter(section) "." counter(subsection) " "}#TableOfContents>ol>li::marker{content:counter(section) " "}#TableOfContents>ol>li::marker,#TableOfContents>ol>li>ol>li::marker{font-family:var(--font-body);font-weight:700}table{border:1px solid var(--outlinegray);width:100%;padding:1.5em;border-collapse:collapse}td,th{padding:0.2em 1em;border:1px solid var(--outlinegray)}img{max-width:100%;border-radius:3px;margin:1em 0}p>img+em{display:block;transform:translateY(-1em)}sup{line-height:0}blockquote{margin-left:0;border-left:3px solid var(--secondary);padding-left:1em;transition:border-color 0.2s ease}.footnotes p{margin:0.5em 0}.pagination{list-style:none;padding-left:0;display:flex;margin-top:2em;gap:1.5em;justify-content:center}.pagination .disabled{opacity:0.2}.pagination>li{text-align:center;display:inline-block}.pagination>li a{background-color:transparent !important}.pagination>li a[href$="#"],.pagination>li.active a{opacity:0.2}article>h1{margin-top:2em;font-size:2em}article>.meta{margin:0 0 1em 0;opacity:0.7}article a{font-weight:600}article a.internal-link{text-decoration:none;background-color:rgba(143,159,169,0.15);padding:0 0.1em;margin:auto -0.1em;border-radius:3px}article a.internal-link.broken{opacity:0.5;background-color:transparent}article p{overflow-wrap:anywhere}.tags{list-style:none;padding-left:0}.tags .meta{margin:1.5em 0}.tags .meta>h1{margin:0}.tags .meta>p{margin:0}.tags>li{display:inline-block;margin:0.4em 0.2em}.tags>li>a{border-radius:8px;border:var(--outlinegray) 1px solid;padding:0.2em 0.5em}.tags>li>a::before{content:"#";margin-right:0.3em;color:var(--outlinegray)}.backlinks a{font-weight:600;font-size:0.9rem}sup>a{text-decoration:none;padding:0 0.1em 0 0.2em}#page-title{margin:0}#page-title>a{font-family:var(--font-header)}a{font-size:1em;font-weight:700;text-decoration:none;transition:all 0.2s ease;color:var(--secondary)}a:hover{color:var(--tertiary) !important}pre{font-family:var(--font-mono);padding:0.75em;border-radius:3px;overflow-x:scroll}code{font-family:var(--font-mono);font-size:0.85em;padding:0.15em 0.3em;border-radius:5px;background:var(--lightgray)}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}footer{margin-top:4em;text-align:center}footer ul{padding-left:0}hr{width:100%;margin:2em auto;height:1px;border:none;background-color:var(--outlinegray)}.page-end{display:flex;flex-direction:row;gap:2em}@media all and (max-width: 780px){.page-end{flex-direction:column}}.page-end>*{flex:1 0 0}.page-end>.backlinks-container>ul{list-style:none;padding:0;margin:0}.page-end>.backlinks-container>ul>li{margin:0.5em 0;padding:0.25em 1em;border:var(--outlinegray) 1px solid;border-radius:5px}.page-end #graph-container{border:var(--outlinegray) 1px solid;border-radius:5px;box-sizing:border-box;min-height:250px;margin:0.5em 0}.page-end #graph-container>svg{margin-bottom:-5px}.centered{margin-top:30vh}.spacer{flex:1 1 auto}header,.menu-search{display:flex;flex-direction:row;align-items:center;margin:2em 1em 2em}header>h1,.menu-search>h1{font-size:2em}@media all and (max-width: 600px){header>nav,.menu-search>nav{display:none}}header #search-icon,.menu-search #search-icon{background-color:var(--lightgray);border-radius:4px;height:2em;display:flex;align-items:center;cursor:pointer}header #search-icon>p,.menu-search #search-icon>p{display:inline;padding:0 1.5em 0 2em}header svg,.menu-search svg{cursor:pointer;width:18px;min-width:18px;margin:0 0.5em}header svg:hover .search-path,.menu-search svg:hover .search-path{stroke:var(--tertiary)}header svg .search-path,.menu-search svg .search-path{stroke:var(--gray);stroke-width:2px;transition:stroke 0.5s ease}#search-container{position:fixed;z-index:9999;left:0;top:0;width:100vw;height:100%;overflow:scroll;display:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}#search-container>div{width:50%;margin-top:15vh;margin-left:auto;margin-right:auto}@media all and (max-width: 1200px){#search-container>div{width:90%}}#search-container>div>*{width:100%;border-radius:4px;background:var(--light);box-shadow:0 14px 50px rgba(27,33,48,0.12),0 10px 30px rgba(27,33,48,0.16);margin-bottom:2em}#search-container>div>input{box-sizing:border-box;padding:0.5em 1em;font-family:var(--font-body);color:var(--dark);font-size:1.1em;border:1px solid var(--outlinegray)}#search-container>div>input:focus{outline:none}#search-container>div>#results-container .result-card{padding:1em;cursor:pointer;transition:background 0.2s ease;border:1px solid var(--outlinegray);border-bottom:none;width:100%;font-family:inherit;font-size:100%;line-height:1.15;margin:0;overflow:visible;text-transform:none;text-align:left;background:var(--light);outline:none}#search-container>div>#results-container .result-card:hover,#search-container>div>#results-container .result-card:focus{background:rgba(180,180,180,0.15)}#search-container>div>#results-container .result-card:first-of-type{border-top-left-radius:5px;border-top-right-radius:5px}#search-container>div>#results-container .result-card:last-of-type{border-bottom-left-radius:5px;border-bottom-right-radius:5px;border-bottom:1px solid var(--outlinegray)}#search-container>div>#results-container .result-card>h3,#search-container>div>#results-container .result-card>p{margin:0}.search-highlight{background-color:#afbfc966;padding:0.05em 0.2em;border-radius:3px}.section-ul{list-style:none;margin-top:2em;padding-left:0}.section-li{margin-bottom:1em}.section-li>.section{display:flex;align-items:center}@media all and (max-width: 600px){.section-li>.section .tags{display:none}}.section-li>.section h3>a{font-weight:700;margin:0}.section-li>.section p{margin:0;padding-right:1em;flex-basis:6em}.section-li h3{opacity:1;font-weight:700;margin:0}.section-li .meta{opacity:0.6}@keyframes dropin{0%{display:none;opacity:0;visibility:hidden}1%{display:inline-block;opacity:0}100%{opacity:1;visibility:visible}}.popover{z-index:999;position:absolute;width:20rem;display:none;background-color:var(--light);padding:1rem;margin:1rem;border:1px solid var(--outlinegray);border-radius:5px;pointer-events:none;transition:opacity 0.2s ease, transform 0.2s ease;user-select:none;overflow-wrap:anywhere;box-shadow:6px 6px 36px 0 rgba(0,0,0,0.25)}@media all and (max-width: 600px){.popover{display:none !important}}.popover.visible{opacity:1;visibility:visible;display:inline-block;animation:dropin 0.2s ease}.popover>h3{font-size:1rem;margin:0.25rem 0}.popover .meta{margin-top:0.25rem;opacity:0.5;font-family:var(--font-mono);font-size:0.8rem}.popover>p{margin:0;padding:0.5rem 0}.popover>p,.popover>a{font-size:1rem;font-weight:400;user-select:none}#contact_buttons ul{list-style-type:none}#contact_buttons ul li{display:inline-block}#contact_buttons ul li a{padding:0 1em}mark{background-color:var(--highlighted);color:var(--gray)} diff --git a/static/fonts/.gitignore b/static/fonts/.gitignore new file mode 100644 index 0000000..cfc9ee4 --- /dev/null +++ b/static/fonts/.gitignore @@ -0,0 +1,2 @@ +PP*.woff2 +PP*.ttf \ No newline at end of file diff --git a/static/linkmap b/static/linkmap index 9f76a29..86fb0ed 100644 --- a/static/linkmap +++ b/static/linkmap @@ -1,44 +1,44 @@ -/index.html / /docs/shortcodes/buttons/index.{html} /docs/shortcodes/buttons/ -/docs/shortcodes/tabs/index.{html} /docs/shortcodes/tabs/ -/notes/CJK-+-Latex-Support-%E6%B5%8B%E8%AF%95/index.{html} /notes/CJK-+-Latex-Support-%E6%B5%8B%E8%AF%95/ /notes/docker/index.{html} /notes/docker/ -/notes/obsidian/index.{html} /notes/obsidian/ -/docs/shortcodes/section/second-page/index.{html} /docs/shortcodes/section/second-page/ -/menu/index.{html} /menu/ -/notes/custom-Domain/index.{html} /notes/custom-Domain/ -/posts//index.{html} /posts// -/docs/shortcodes//index.{html} /docs/shortcodes// -/docs/shortcodes/columns/index.{html} /docs/shortcodes/columns/ -/posts/goisforlovers/index.{html} /posts/goisforlovers/ -/docs/example/collapsed/3rd-level//index.{html} /docs/example/collapsed/3rd-level// -/docs/shortcodes/mermaid/index.{html} /docs/shortcodes/mermaid/ -/docs/shortcodes/section/first-page/index.{html} /docs/shortcodes/section/first-page/ -/notes/hosting/index.{html} /notes/hosting/ -/notes/philosophy/index.{html} /notes/philosophy/ -/notes/preview-changes/index.{html} /notes/preview-changes/ /notes/setup/index.{html} /notes/setup/ +/posts/creating-a-new-theme/index.{html} /posts/creating-a-new-theme/ /posts/hugoisforlovers/index.{html} /posts/hugoisforlovers/ -/docs/example/collapsed//index.{html} /docs/example/collapsed// -/docs/example/hidden/index.{html} /docs/example/hidden/ /docs/example/table-of-contents//index.{html} /docs/example/table-of-contents// -/docs/shortcodes/expand/index.{html} /docs/shortcodes/expand/ +/docs/shortcodes/hints/index.{html} /docs/shortcodes/hints/ /docs/shortcodes/katex/index.{html} /docs/shortcodes/katex/ -/notes/search/index.{html} /notes/search/ -/docs/example/collapsed/3rd-level/4th-level/index.{html} /docs/example/collapsed/3rd-level/4th-level/ -/docs/example/table-of-contents/with-toc/index.{html} /docs/example/table-of-contents/with-toc/ -/notes/showcase/index.{html} /notes/showcase/ +/docs/shortcodes/mermaid/index.{html} /docs/shortcodes/mermaid/ +/docs/shortcodes/section/second-page/index.{html} /docs/shortcodes/section/second-page/ +/notes/editing/index.{html} /notes/editing/ +/notes/obsidian/index.{html} /notes/obsidian/ /posts/migrate-from-jekyll/index.{html} /posts/migrate-from-jekyll/ /docs/example//index.{html} /docs/example// -/docs/example/table-of-contents/without-toc/index.{html} /docs/example/table-of-contents/without-toc/ -/notes/config/index.{html} /notes/config/ -/notes/ignore-notes/index.{html} /notes/ignore-notes/ -/notes/troubleshooting/index.{html} /notes/troubleshooting/ -/posts/creating-a-new-theme/index.{html} /posts/creating-a-new-theme/ -/docs/shortcodes/details/index.{html} /docs/shortcodes/details/ -/docs/shortcodes/hints/index.{html} /docs/shortcodes/hints/ +/docs/example/hidden/index.{html} /docs/example/hidden/ +/docs/shortcodes/columns/index.{html} /docs/shortcodes/columns/ /docs/shortcodes/section//index.{html} /docs/shortcodes/section// -/notes//index.{html} /notes// +/docs/shortcodes/section/first-page/index.{html} /docs/shortcodes/section/first-page/ +/notes/config/index.{html} /notes/config/ +/notes/custom-Domain/index.{html} /notes/custom-Domain/ +/notes/philosophy/index.{html} /notes/philosophy/ +/index.html / +/docs/example/collapsed//index.{html} /docs/example/collapsed// +/docs/example/table-of-contents/with-toc/index.{html} /docs/example/table-of-contents/with-toc/ /notes/callouts/index.{html} /notes/callouts/ -/notes/editing/index.{html} /notes/editing/ +/notes/hosting/index.{html} /notes/hosting/ +/posts/goisforlovers/index.{html} /posts/goisforlovers/ +/docs/shortcodes//index.{html} /docs/shortcodes// +/notes/CJK-+-Latex-Support-%E6%B5%8B%E8%AF%95/index.{html} /notes/CJK-+-Latex-Support-%E6%B5%8B%E8%AF%95/ +/notes/ignore-notes/index.{html} /notes/ignore-notes/ +/docs/example/collapsed/3rd-level/4th-level/index.{html} /docs/example/collapsed/3rd-level/4th-level/ +/docs/example/collapsed/3rd-level//index.{html} /docs/example/collapsed/3rd-level// +/docs/shortcodes/tabs/index.{html} /docs/shortcodes/tabs/ +/notes/search/index.{html} /notes/search/ +/docs/shortcodes/details/index.{html} /docs/shortcodes/details/ +/docs/shortcodes/expand/index.{html} /docs/shortcodes/expand/ +/menu/index.{html} /menu/ +/notes/preview-changes/index.{html} /notes/preview-changes/ +/notes/troubleshooting/index.{html} /notes/troubleshooting/ +/posts//index.{html} /posts// +/docs/example/table-of-contents/without-toc/index.{html} /docs/example/table-of-contents/without-toc/ +/notes//index.{html} /notes// +/notes/showcase/index.{html} /notes/showcase/ /notes/updating/index.{html} /notes/updating/