Merge branch 'master' into fix-numbered

This commit is contained in:
Alex Shpak 2024-10-04 15:31:43 +02:00 committed by GitHub
commit c0b045c9f0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
131 changed files with 1692 additions and 978 deletions

View File

@ -9,15 +9,15 @@ jobs:
matrix: matrix:
hugo-version: hugo-version:
- 'latest' - 'latest'
- '0.79.0' - '0.134.2'
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
with: with:
submodules: true # Fetch Hugo themes (true OR recursive) submodules: true # Fetch Hugo themes (true OR recursive)
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
- name: Setup Hugo - name: Setup Hugo
uses: peaceiris/actions-hugo@v2 uses: peaceiris/actions-hugo@v3
with: with:
hugo-version: ${{ matrix.hugo-version }} hugo-version: ${{ matrix.hugo-version }}
extended: true extended: true

View File

@ -1,12 +1,12 @@
# Hugo Book Theme # Hugo Book Theme
[![Hugo](https://img.shields.io/badge/hugo-0.79-blue.svg)](https://gohugo.io) [![Hugo](https://img.shields.io/badge/hugo-0.134-blue.svg)](https://gohugo.io)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
![Build with Hugo](https://github.com/alex-shpak/hugo-book/workflows/Build%20with%20Hugo/badge.svg) ![Build with Hugo](https://github.com/alex-shpak/hugo-book/workflows/Build%20with%20Hugo/badge.svg)
### [Hugo](https://gohugo.io) documentation theme as simple as plain book ### [Hugo](https://gohugo.io) documentation theme as simple as plain book
![Screenshot](https://github.com/alex-shpak/hugo-book/blob/master/images/screenshot.png) ![Screenshot](https://raw.githubusercontent.com/alex-shpak/hugo-book/master/images/screenshot.png)
- [Features](#features) - [Features](#features)
- [Requirements](#requirements) - [Requirements](#requirements)
@ -33,8 +33,8 @@
## Requirements ## Requirements
- Hugo 0.79 or higher - Hugo 0.134 or higher
- Hugo extended version, read more [here](https://gohugo.io/news/0.48-relnotes/) - Hugo extended version, [Installation Instructions](https://gohugo.io/installation/)
## Installation ## Installation
@ -60,7 +60,7 @@ Start with initializing hugo modules, if not done yet:
hugo mod init github.com/repo/path hugo mod init github.com/repo/path
``` ```
Navigate to your hugo project root and add [module] section to your `config.toml`: Navigate to your hugo project root and add [module] section to your `hugo.toml`:
```toml ```toml
[module] [module]
@ -92,44 +92,8 @@ hugo server --minify --theme hugo-book
## Menu ## Menu
### File tree menu (default)
By default, the theme will render pages from the `content/docs` section as a menu in a tree structure. By default, the theme will render pages from the `content/docs` section as a menu in a tree structure.
You can set `title` and `weight` in the front matter of pages to adjust the order and titles in the menu. You can set `title` and `weight` in the front matter of pages to adjust the order and titles in the menu, as well as other parameters to hide or alter urls in the menu. You can choose which folder to use for generating menu with `BookSection` configuration parameter.
### Leaf bundle menu (Deprecated, to be removed in June 2022)
You can also use leaf bundle and the content of its `index.md` file as menu.
Given you have the following file structure:
```
├── content
│ ├── docs
│ │ ├── page-one.md
│ │ └── page-two.md
│ └── posts
│ ├── post-one.md
│ └── post-two.md
```
Create a file `content/menu/index.md` with the content:
```md
+++
headless = true
+++
- [Book Example]({{< relref "/docs/" >}})
- [Page One]({{< relref "/docs/page-one" >}})
- [Page Two]({{< relref "/docs/page-two" >}})
- [Blog]({{< relref "/posts" >}})
```
And Enable it by setting `BookMenuBundle: /menu` in Site configuration.
- [Example menu](https://github.com/alex-shpak/hugo-book/blob/master/exampleSite/content.en/menu/index.md)
- [Example config file](https://github.com/alex-shpak/hugo-book/blob/master/exampleSite/config.yaml)
- [Leaf bundles](https://gohugo.io/content-management/page-bundles/)
## Blog ## Blog
@ -140,8 +104,8 @@ A blog is not the primary usecase of this theme, so it has only minimal features
### Site Configuration ### Site Configuration
There are a few configuration options that you can add to your `config.toml` file. There are a few configuration options that you can add to your `hugo.toml` file.
You can also see the `yaml` example [here](https://github.com/alex-shpak/hugo-book/blob/master/exampleSite/config.yaml). You can also see the `yaml` example [here](https://github.com/alex-shpak/hugo-book/blob/master/exampleSite/hugo.yaml).
```toml ```toml
# (Optional) Set Google Analytics if you use it to track your website. # (Optional) Set Google Analytics if you use it to track your website.
@ -177,11 +141,6 @@ disableKinds = ['taxonomy', 'taxonomyTerm']
# /static/logo.png then the path would be 'logo.png' # /static/logo.png then the path would be 'logo.png'
BookLogo = 'logo.png' BookLogo = 'logo.png'
# (Optional, default none) Set leaf bundle to render as side menu
# When not specified file structure and weights will be used
# Deprecated, to be removed in June 2022
BookMenuBundle = '/menu'
# (Optional, default docs) Specify section of content to render as menu # (Optional, default docs) Specify section of content to render as menu
# You can also set value to "*" to render all sections to menu # You can also set value to "*" to render all sections to menu
BookSection = 'docs' BookSection = 'docs'
@ -241,16 +200,16 @@ You can specify additional params in the front matter of individual pages:
# Set type to 'docs' if you want to render page outside of configured section or if you render section other than 'docs' # Set type to 'docs' if you want to render page outside of configured section or if you render section other than 'docs'
type = 'docs' type = 'docs'
# Set page weight to re-arrange items in file-tree menu (if BookMenuBundle not set) # Set page weight to re-arrange items in file-tree menu.
weight = 10 weight = 10
# (Optional) Set to 'true' to mark page as flat section in file-tree menu (if BookMenuBundle not set) # (Optional) Set to 'true' to mark page as flat section in file-tree menu.
bookFlatSection = false bookFlatSection = false
# (Optional) Set to hide nested sections or pages at that level. Works only with file-tree menu mode # (Optional) Set to hide nested sections or pages at that level. Works only with file-tree menu mode
bookCollapseSection = true bookCollapseSection = true
# (Optional) Set true to hide page or section from side menu (if BookMenuBundle not set) # (Optional) Set true to hide page or section from side menu.
bookHidden = false bookHidden = false
# (Optional) Set 'false' to hide ToC from page # (Optional) Set 'false' to hide ToC from page
@ -262,7 +221,7 @@ bookComments = true
# (Optional) Set to 'false' to exclude page from search index. # (Optional) Set to 'false' to exclude page from search index.
bookSearchExclude = true bookSearchExclude = true
# (Optional) Set explicit href attribute for this page in a menu (if BookMenuBundle not set) # (Optional) Set explicit href attribute for this page in a menu.
bookHref = '' bookHref = ''
``` ```
@ -296,7 +255,7 @@ In addition to this, there are several empty partials you can override to easily
### Plugins ### Plugins
There are a few features implemented as plugable `scss` styles. Usually these are features that don't make it to the core but can still be useful. There are a few features implemented as pluggable `scss` styles. Usually these are features that don't make it to the core but can still be useful.
| Plugin | Description | | Plugin | Description |
| --------------------------------- | ----------------------------------------------------------- | | --------------------------------- | ----------------------------------------------------------- |

View File

@ -1,33 +1,28 @@
/* roboto-regular - latin */
@font-face { @font-face {
font-family: 'Roboto'; font-family: 'Roboto';
font-style: normal; font-style: normal;
font-weight: 400; font-weight: 400;
font-display: swap; font-display: optional;
src: local(''), src: url(https://fonts.gstatic.com/s/roboto/v32/KFOmCnqEu92Fr1Mu4mxKKTU1Kg.woff2) format('woff2');
url('fonts/roboto-v27-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
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-face {
font-family: 'Roboto'; font-family: 'Roboto';
font-style: normal; font-style: normal;
font-weight: 700; font-weight: 700;
font-display: swap; font-display: optional;
src: local(''), src: url(https://fonts.gstatic.com/s/roboto/v32/KFOlCnqEu92Fr1MmWUlfBBc4AMP6lQ.woff2) format('woff2');
url('fonts/roboto-v27-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
url('fonts/roboto-v27-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
} }
/* roboto-mono-regular - latin */
@font-face { @font-face {
font-family: 'Roboto Mono'; font-family: 'Roboto Mono';
font-style: normal; font-style: normal;
font-weight: 400; font-weight: 400;
font-display: swap; font-display: optional;
src: local(''), src: url(https://fonts.gstatic.com/s/robotomono/v23/L0xuDF4xlVMF-BfR8bXMIhJHg45mwgGEFl0_3vq_ROW4AJi8SJQt.woff2) format('woff2');
url('fonts/roboto-mono-v13-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
url('fonts/roboto-mono-v13-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
} }
body { body {

View File

@ -9,7 +9,7 @@ body {
color: var(--body-font-color); color: var(--body-font-color);
background: var(--body-background); background: var(--body-background);
letter-spacing: 0.33px; // letter-spacing: 0.33px;
font-weight: $body-font-weight; font-weight: $body-font-weight;
text-rendering: optimizeLegibility; text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
@ -85,6 +85,12 @@ ul.pagination {
filter: var(--icon-filter); filter: var(--icon-filter);
} }
a .book-icon {
height: 1em;
width: 1em;
margin-inline-end: .5em;
}
.book-brand { .book-brand {
margin-top: 0; margin-top: 0;
margin-bottom: $padding-16; margin-bottom: $padding-16;
@ -168,7 +174,17 @@ body[dir="rtl"] .book-menu {
} }
.book-post { .book-post {
margin-bottom: $padding-16 * 3; margin-bottom: $padding-16 * 2;
.book-post-date img {
height: 1em;
width: 1em;
margin-inline-end: .5em;
}
.book-post-content > :first-child {
margin-top: $padding-16;
}
} }
.book-header { .book-header {
@ -250,12 +266,6 @@ body[dir="rtl"] .book-menu {
.book-footer { .book-footer {
padding-top: $padding-16; padding-top: $padding-16;
font-size: $font-size-14; font-size: $font-size-14;
img {
height: 1em;
width: 1em;
margin-inline-end: $padding-8;
}
} }
.book-comments { .book-comments {
@ -265,12 +275,6 @@ body[dir="rtl"] .book-menu {
.book-languages { .book-languages {
margin-block-end: $padding-16 * 2; margin-block-end: $padding-16 * 2;
.book-icon {
height: 1em;
width: 1em;
margin-inline-end: .5em;
}
ul { ul {
padding-inline-start: 1.5em; padding-inline-start: 1.5em;
} }
@ -296,7 +300,6 @@ body[dir="rtl"] .book-menu {
.book-menu { .book-menu {
visibility: hidden; visibility: hidden;
margin-inline-start: -$menu-width; margin-inline-start: -$menu-width;
font-size: $font-size-base;
z-index: 1; z-index: 1;
} }

View File

@ -69,6 +69,8 @@
} }
code { code {
direction: ltr;
unicode-bidi: embed;
padding: 0 $padding-4; padding: 0 $padding-4;
background: var(--gray-200); background: var(--gray-200);
border-radius: $border-radius; border-radius: $border-radius;
@ -76,6 +78,8 @@
} }
pre { pre {
direction: ltr;
unicode-bidi: embed;
padding: $padding-16; padding: $padding-16;
background: var(--gray-100); background: var(--gray-100);
border-radius: $border-radius; border-radius: $border-radius;
@ -150,7 +154,17 @@
} }
// Special case for highlighted code with line numbers // Special case for highlighted code with line numbers
.highlight table tr { .highlight {
direction: ltr;
unicode-bidi: embed;
border-radius: $border-radius;
overflow: hidden;
table tr {
td pre code > span {
display: flex;
}
td:nth-child(1) pre { td:nth-child(1) pre {
margin: 0; margin: 0;
padding-inline-end: 0; padding-inline-end: 0;
@ -160,6 +174,7 @@
padding-inline-start: 0; padding-inline-start: 0;
} }
} }
}
details { details {
padding: $padding-16; padding: $padding-16;

View File

@ -71,7 +71,7 @@
> div { > div {
margin: $padding-16 0; margin: $padding-16 0;
min-width: $body-min-width / 2; min-width: $body-min-width * 0.66;
padding: 0 $padding-16; padding: 0 $padding-16;
} }
} }
@ -83,6 +83,7 @@
color: var(--color-link); color: var(--color-link);
line-height: $padding-16 * 2; line-height: $padding-16 * 2;
padding: 0 $padding-16; padding: 0 $padding-16;
margin: 0 $padding-4;
border: $padding-1 solid var(--color-link); border: $padding-1 solid var(--color-link);
border-radius: $border-radius; border-radius: $border-radius;
cursor: pointer; cursor: pointer;

View File

@ -50,6 +50,10 @@
text-align: right; text-align: right;
} }
.text-small {
font-size: .875em;
}
.hidden { .hidden {
display: none; display: none;
} }

View File

@ -1,14 +1,14 @@
{ {
"name": "{{ .Site.Title }}", "name": "{{ .Site.Title }}",
"short_name": "{{ .Site.Title }}", "short_name": "{{ .Site.Title }}",
"start_url": "{{ "/" | relURL }}", "start_url": "{{ "./" | relURL }}",
"scope": "{{ "/" | relURL }}", "scope": "{{ "./" | relURL }}",
"display": "standalone", "display": "standalone",
"background_color": "#000000", "background_color": "#000000",
"theme_color": "#000000", "theme_color": "#000000",
"icons": [ "icons": [
{ {
"src": "{{ "/favicon.svg" | relURL }}", "src": "{{ "./favicon.svg" | relURL }}",
"sizes": "512x512" "sizes": "512x512"
} }
] ]

View File

@ -1,7 +1,7 @@
$startLevel: 1; $startLevel: 1;
$endLevel: 6; $endLevel: 6;
.book-page .markdown { .book-page .markdown.book-article {
@for $currentLevel from $startLevel through $endLevel { @for $currentLevel from $startLevel through $endLevel {
> h#{$currentLevel} { > h#{$currentLevel} {
counter-increment: h#{$currentLevel}; counter-increment: h#{$currentLevel};
@ -19,8 +19,7 @@ $endLevel: 6;
} }
} }
.book-toc nav ul, .book-toc nav#TableOfContents ul {
#TableOfContents ul {
counter-reset: item; counter-reset: item;
li { li {

View File

@ -1,6 +1,6 @@
[ [
{{- $pages := where .Site.Pages "Kind" "in" (slice "page" "section") -}} {{- $pages := where .Site.Pages "Kind" "in" (slice "page" "section") -}}
{{- $pages = where $pages "Params.booksearchexclude" "!=" true -}} {{- $pages = where $pages "Params.bookSearchExclude" "!=" true -}}
{{/* Remove until we know why it does not work, see https://github.com/alex-shpak/hugo-book/issues/528 */}} {{/* Remove until we know why it does not work, see https://github.com/alex-shpak/hugo-book/issues/528 */}}
{{/*- $pages = where $pages "Content" "not in" (slice nil "") -*/}} {{/*- $pages = where $pages "Content" "not in" (slice nil "") -*/}}
{{- $pages = where $pages "Content" "!=" "" -}} {{- $pages = where $pages "Content" "!=" "" -}}

View File

@ -7,11 +7,21 @@
(function () { (function () {
const searchDataURL = '{{ $searchData.RelPermalink }}'; const searchDataURL = '{{ $searchData.RelPermalink }}';
const indexConfig = Object.assign({{ $searchConfig }}, { const indexConfig = Object.assign({{ $searchConfig }}, {
doc: { includeScore: true,
id: 'id', useExtendedSearch: true,
field: ['title', 'content'], fieldNormWeight: 1.5,
store: ['title', 'href', 'section'] threshold: 0.2,
ignoreLocation: true,
keys: [
{
name: 'title',
weight: 0.7
},
{
name: 'content',
weight: 0.3
} }
]
}); });
const input = document.querySelector('#book-search-input'); const input = document.querySelector('#book-search-input');
@ -63,8 +73,7 @@
fetch(searchDataURL) fetch(searchDataURL)
.then(pages => pages.json()) .then(pages => pages.json())
.then(pages => { .then(pages => {
window.bookSearchIndex = FlexSearch.create('balance', indexConfig); window.bookSearchIndex = new Fuse(pages, indexConfig);
window.bookSearchIndex.add(pages);
}) })
.then(() => input.required = false) .then(() => input.required = false)
.then(search); .then(search);
@ -79,14 +88,14 @@
return; return;
} }
const searchHits = window.bookSearchIndex.search(input.value, 10); const searchHits = window.bookSearchIndex.search(input.value).slice(0,10);
searchHits.forEach(function (page) { searchHits.forEach(function (page) {
const li = element('<li><a href></a><small></small></li>'); const li = element('<li><a href></a><small></small></li>');
const a = li.querySelector('a'), small = li.querySelector('small'); const a = li.querySelector('a'), small = li.querySelector('small');
a.href = page.href; a.href = page.item.href;
a.textContent = page.title; a.textContent = page.item.title;
small.textContent = page.section; small.textContent = page.item.section;
results.appendChild(li); results.appendChild(li);
}); });

View File

@ -2,6 +2,6 @@
if (navigator.serviceWorker) { if (navigator.serviceWorker) {
navigator.serviceWorker.register( navigator.serviceWorker.register(
"{{ $swJS.RelPermalink }}", "{{ $swJS.RelPermalink }}",
{ scope: "{{ "/" | relURL }}" } { scope: "{{ "./" | relURL }}" }
); );
} }

View File

@ -1,79 +0,0 @@
---
title: ভূমিকা
type: docs
---
# বাংলা ভাষায় শুরু করুন
{{< columns >}}
## অস্ট্রিস চিপসে ফুর্তিভা
Est in vagis et Pittheus tu arge accipiter regia iram vocatur nurus. Omnes ut
olivae sensit **arma sorori** deducit, inesset **crudus**, ego vetuere aliis,
modo arsit? Utinam rapta fiducia valuere litora _adicit cursu_, ad facies
<--->
## সুইস কোটা ভোটে
Ea _furtique_ risere fratres edidit terrae magis. Colla tam mihi tenebat:
miseram excita suadent es pecudes iam. Concilio _quam_ velatus posset ait quod
nunc! Fragosis suae dextra geruntur functus vulgata.
{{< /columns >}}
## টেম্পোরার নিশি
Lorem **markdownum** emicat gestu. Cannis sol pressit ducta. **Est** Idaei,
tremens ausim se tutaeque, illi ulnis hausit, sed, lumina cutem. Quae avis
sequens!
var panel = ram_design;
if (backup + system) {
file.readPoint = network_native;
sidebar_engine_device(cell_tftp_raster,
dual_login_paper.adf_vci.application_reader_design(
graphicsNvramCdma, lpi_footer_snmp, integer_model));
}
public_keyboard_docking += error.controller_gibibyte_plug.ip(4,
asciiPetaflops, software(supercomputer_compatible_status + 4));
dynamic_disk.indexModeLaptop = bufferTftpReality;
var export_vlog_sequence = trinitron_flowchart + supercomputer_cluster_rj(
-1, toolbar_powerpoint_query, -2 / multiprocessing_impression);
## Locis suis novi cum suoque decidit eadem
Idmoniae ripis, at aves, ali missa adest, ut _et autem_, et ab? Venit spes
versus finis sermonibus patefecit murum nec est sine oculis. _Ille_ inmota
macies domoque caelestia cadit tantummodo scelus procul, corde!
1. Dolentem capi parte rostro alvum habentem pudor
2. Fulgentia sanguine paret
3. E punior consurgit lentus
4. Vox hasta eras micantes
## Facibus pharetrae indetonsusque indulsit sic incurrite foliis
Nefandam et prisci palmas! Blandita cutis flectitur montis macies, te _nati_
Latiis; turbaque inferias. Virginis tibi peracta avidusque facies caper nec, e
at ademptae, mira.
direct *= font(inputScareware(sliHome), crossplatform.byte(
ppl_encryption.excel_e_rte(integratedModelModifier), timeVirtual,
floating_speakers.media_printer(us, yahoo, primaryPhp)));
friendly_metal_flatbed(cd, isoPrimaryStorage(reader), dmaMirrored);
if (parse_flash_cron.metalGif(1, adServiceDevice, utility)) {
adf -= operation_cdma_samba;
imapGif.switch += torrent;
} else {
pmu.disk_captcha = digital_ppp_pci + recursionTransistor(5, dram);
ajax_service += grayscalePythonLock;
google_scroll_capacity = ftp + engine_dslam_sidebar / tape - 1;
}
drive_rw = zipTftp;
var suffix = software_router_extension.dimm_ddr(-5,
kernel_digital_minisite);
Vocavit toto; alas **mitis** maestus in liquidarum ab legi finitimosque dominam
tibi subitus; Orionis vertitur nota. Currere alti etiam seroque cernitis
innumeris miraturus amplectique collo sustinet quemque! Litora ante turba?

View File

@ -5,7 +5,7 @@ type: docs
# Acerbo datus maxime # Acerbo datus maxime
{{< columns >}} {{% columns %}}
## Astris ipse furtiva ## Astris ipse furtiva
Est in vagis et Pittheus tu arge accipiter regia iram vocatur nurus. Omnes ut Est in vagis et Pittheus tu arge accipiter regia iram vocatur nurus. Omnes ut
@ -19,7 +19,7 @@ modo arsit? Utinam rapta fiducia valuere litora _adicit cursu_, ad facies
Ea _furtique_ risere fratres edidit terrae magis. Colla tam mihi tenebat: Ea _furtique_ risere fratres edidit terrae magis. Colla tam mihi tenebat:
miseram excita suadent es pecudes iam. Concilio _quam_ velatus posset ait quod miseram excita suadent es pecudes iam. Concilio _quam_ velatus posset ait quod
nunc! Fragosis suae dextra geruntur functus vulgata. nunc! Fragosis suae dextra geruntur functus vulgata.
{{< /columns >}} {{% /columns %}}
## Tempora nisi nunc ## Tempora nisi nunc

View File

@ -9,5 +9,5 @@ Buttons are styled links that can lead to local page or external link.
{{</* button href="https://github.com/alex-shpak/hugo-book" */>}}Contribute{{</* /button */>}} {{</* button href="https://github.com/alex-shpak/hugo-book" */>}}Contribute{{</* /button */>}}
``` ```
{{< button relref="/" >}}Get Home{{< /button >}} {{<button relref="/">}}Get Home{{</button>}}
{{< button href="https://github.com/alex-shpak/hugo-book" >}}Contribute{{< /button >}} {{<button href="https://github.com/alex-shpak/hugo-book">}}Contribute{{</button>}}

View File

@ -2,9 +2,10 @@
Columns help organize shorter pieces of content horizontally for readability. Columns help organize shorter pieces of content horizontally for readability.
## Example
```html ```html
{{</* columns */>}} <!-- begin columns block --> {{%/* columns [ratio="1:1"] [class="..."] */%}} <!-- begin columns block -->
# Left Content # Left Content
Lorem markdownum insigne... Lorem markdownum insigne...
@ -17,13 +18,11 @@ Lorem markdownum insigne...
# Right Content # Right Content
Lorem markdownum insigne... Lorem markdownum insigne...
{{</* /columns */>}} {{%/* /columns */%}}
``` ```
## Example {{% columns %}}
### Left Content
{{< columns >}}
## Left Content
Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat
stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
protulit, sed sed aere valvis inhaesuro Pallas animam: qui _quid_, ignes. protulit, sed sed aere valvis inhaesuro Pallas animam: qui _quid_, ignes.
@ -31,15 +30,51 @@ Miseratus fonte Ditis conubia.
<---> <--->
## Mid Content ### Mid Content
Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat
stringit, frustra Saturnius uteroque inter! stringit, frustra Saturnius uteroque inter!
<---> <--->
## Right Content ### Right Content
Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat
stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
protulit, sed sed aere valvis inhaesuro Pallas animam: qui _quid_, ignes. protulit, sed sed aere valvis inhaesuro Pallas animam: qui _quid_, ignes.
Miseratus fonte Ditis conubia. Miseratus fonte Ditis conubia.
{{< /columns >}} {{% /columns %}}
## Settings size ratio for columns
```html
{{%/* columns ratio="1:2" */%}} <!-- begin columns block -->
## x1 Column
Lorem markdownum insigne...
<---> <!-- magic separator, between columns -->
## x2 Column
Lorem markdownum insigne...
{{%/* /columns */%}}
```
{{% columns ratio="1:2" %}}
### x1 Column
Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat
stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
protulit, sed sed aere valvis inhaesuro Pallas animam: qui _quid_, ignes.
Miseratus fonte Ditis conubia.
<--->
### x2 Column
Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat
stringit, frustra Saturnius uteroque inter!
Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat
stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
protulit, sed sed aere valvis inhaesuro Pallas animam: qui _quid_, ignes.
Miseratus fonte Ditis conubia.
{{% /columns %}}

View File

@ -4,19 +4,19 @@ Details shortcode is a helper for `details` html5 element. It is going to replac
## Example ## Example
```tpl ```tpl
{{</* details "Title" [open] */>}} {{%/* details "Title" [open] */%}}
## Markdown content ## Markdown content
Lorem markdownum insigne... Lorem markdownum insigne...
{{</* /details */>}} {{%/* /details */%}}
``` ```
```tpl ```tpl
{{</* details title="Title" open=true */>}} {{%/* details title="Title" open=true */%}}
## Markdown content ## Markdown content
Lorem markdownum insigne... Lorem markdownum insigne...
{{</* /details */>}} {{%/* /details */%}}
``` ```
{{< details "Title" open >}} {{% details "Title" open %}}
## Markdown content ## Markdown content
Lorem markdownum insigne... Lorem markdownum insigne...
{{< /details >}} {{% /details %}}

View File

@ -1,35 +0,0 @@
# Expand
Expand shortcode can help to decrease clutter on screen by hiding part of text. Expand content by clicking on it.
## Example
### Default
```tpl
{{</* expand */>}}
## Markdown content
Lorem markdownum insigne...
{{</* /expand */>}}
```
{{< expand >}}
## Markdown content
Lorem markdownum insigne...
{{< /expand >}}
### With Custom Label
```tpl
{{</* expand "Custom Label" "..." */>}}
## Markdown content
Lorem markdownum insigne...
{{</* /expand */>}}
```
{{< expand "Custom Label" "..." >}}
## Markdown content
Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat
stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
protulit, sed sed aere valvis inhaesuro Pallas animam: qui _quid_, ignes.
Miseratus fonte Ditis conubia.
{{< /expand >}}

View File

@ -4,29 +4,29 @@ Hint shortcode can be used as hint/alerts/notification block.
There are 3 colors to choose: `info`, `warning` and `danger`. There are 3 colors to choose: `info`, `warning` and `danger`.
```tpl ```tpl
{{</* hint [info|warning|danger] */>}} {{%/* hint [info|warning|danger] */%}}
**Markdown content** **Markdown content**
Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat
stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
{{</* /hint */>}} {{%/* /hint */%}}
``` ```
## Example ## Example
{{< hint info >}} {{% hint info %}}
**Markdown content** **Markdown content**
Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat
stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
{{< /hint >}} {{% /hint %}}
{{< hint warning >}} {{% hint warning %}}
**Markdown content** **Markdown content**
Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat
stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
{{< /hint >}} {{% /hint %}}
{{< hint danger >}} {{% hint danger %}}
**Markdown content** **Markdown content**
Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat
stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
{{< /hint >}} {{% /hint %}}

View File

@ -1,28 +1,31 @@
---
title: KaTeX
---
# KaTeX # KaTeX
KaTeX shortcode let you render math typesetting in markdown document. See [KaTeX](https://katex.org/) KaTeX shortcode let you render math typesetting in markdown document. See [KaTeX](https://katex.org/)
## Example ## Example
{{< columns >}} {{% columns %}}
```latex ```latex
{{</*/* katex [display] [class="text-center"] */*/>}} {{</* katex display=true >}}
f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi
{{</*/* /katex */*/>}} {{< /katex */>}}
``` ```
<---> <--->
{{< katex display >}} {{< katex display=true >}}
f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi
{{< /katex >}} {{< /katex >}}
{{< /columns >}} {{% /columns %}}
## Display Mode Example ## Display Mode Example
Here is some inline example: {{< katex >}}\pi(x){{< /katex >}}, rendered in the same line. And below is `display` example, having `display: block` Here is some inline example: {{< katex >}}\pi(x){{< /katex >}}, rendered in the same line. And below is `display` example, having `display: block`
{{< katex display >}} {{< katex display=true >}}
f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi f(x) = \int_{-\infty}^\infty\hat f(\xi)\,e^{2 \pi i \xi x}\,d\xi
{{< /katex >}} {{< /katex >}}
Text continues here. Text continues here.

View File

@ -2,18 +2,19 @@
[MermaidJS](https://mermaid-js.github.io/) is library for generating svg charts and diagrams from text. [MermaidJS](https://mermaid-js.github.io/) is library for generating svg charts and diagrams from text.
{{< hint info >}} {{% hint info %}}
**Override Mermaid Initialization Config** **Override Mermaid initialization config**
To override the [initialization config](https://mermaid-js.github.io/mermaid/#/Setup) for Mermaid, To override the [initialization config](https://mermaid-js.github.io/mermaid/#/Setup) for Mermaid,
create a `mermaid.json` file in your `assets` folder! create a `mermaid.json` file in your `assets` folder!
{{< /hint >}} {{% /hint %}}
## Example ## Example
{{< columns >}}
{{% columns %}}
```tpl ```tpl
{{</*/* mermaid [class="text-center"]*/*/>}} {{</* mermaid [class="..."] >}}
stateDiagram-v2 stateDiagram-v2
State1: The state with a note State1: The state with a note
note right of State1 note right of State1
@ -22,12 +23,12 @@ stateDiagram-v2
end note end note
State1 --> State2 State1 --> State2
note left of State2 : This is the note to the left. note left of State2 : This is the note to the left.
{{</*/* /mermaid */*/>}} {{< /mermaid */>}}
``` ```
<---> <--->
{{< mermaid >}} {{<mermaid>}}
stateDiagram-v2 stateDiagram-v2
State1: The state with a note State1: The state with a note
note right of State1 note right of State1
@ -36,6 +37,6 @@ stateDiagram-v2
end note end note
State1 --> State2 State1 --> State2
note left of State2 : This is the note to the left. note left of State2 : This is the note to the left.
{{< /mermaid >}} {{</mermaid>}}
{{< /columns >}} {{% /columns %}}

View File

@ -12,4 +12,4 @@ Section renders pages in section as definition list, using title and description
{{</* section [summary] */>}} {{</* section [summary] */>}}
``` ```
{{<section summary >}} {{<section summary>}}

View File

@ -3,17 +3,17 @@
Tabs let you organize content by context, for example installation instructions for each supported platform. Tabs let you organize content by context, for example installation instructions for each supported platform.
```tpl ```tpl
{{</* tabs "uniqueid" */>}} {{%/* tabs */%}}
{{</* tab "MacOS" */>}} # MacOS Content {{</* /tab */>}} {{%/* tab "MacOS" */%}} # MacOS Content {{%/* /tab */%}}
{{</* tab "Linux" */>}} # Linux Content {{</* /tab */>}} {{%/* tab "Linux" */%}} # Linux Content {{%/* /tab */%}}
{{</* tab "Windows" */>}} # Windows Content {{</* /tab */>}} {{%/* tab "Windows" */%}} # Windows Content {{%/* /tab */%}}
{{</* /tabs */>}} {{%/* /tabs */%}}
``` ```
## Example ## Example
{{< tabs "uniqueid" >}} {{% tabs %}}
{{< tab "MacOS" >}} {{% tab "MacOS" %}}
# MacOS # MacOS
This is tab **MacOS** content. This is tab **MacOS** content.
@ -22,9 +22,9 @@ Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat
stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
protulit, sed sed aere valvis inhaesuro Pallas animam: qui _quid_, ignes. protulit, sed sed aere valvis inhaesuro Pallas animam: qui _quid_, ignes.
Miseratus fonte Ditis conubia. Miseratus fonte Ditis conubia.
{{< /tab >}} {{% /tab %}}
{{< tab "Linux" >}} {{% tab "Linux" %}}
# Linux # Linux
@ -34,9 +34,9 @@ Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat
stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
protulit, sed sed aere valvis inhaesuro Pallas animam: qui _quid_, ignes. protulit, sed sed aere valvis inhaesuro Pallas animam: qui _quid_, ignes.
Miseratus fonte Ditis conubia. Miseratus fonte Ditis conubia.
{{< /tab >}} {{% /tab %}}
{{< tab "Windows" >}} {{% tab "Windows" %}}
# Windows # Windows
@ -46,5 +46,5 @@ Lorem markdownum insigne. Olympo signis Delphis! Retexi Nereius nova develat
stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa stringit, frustra Saturnius uteroque inter! Oculis non ritibus Telethusa
protulit, sed sed aere valvis inhaesuro Pallas animam: qui _quid_, ignes. protulit, sed sed aere valvis inhaesuro Pallas animam: qui _quid_, ignes.
Miseratus fonte Ditis conubia. Miseratus fonte Ditis conubia.
{{< /tab >}} {{% /tab %}}
{{< /tabs >}} {{% /tabs %}}

View File

@ -1,22 +0,0 @@
---
headless: true
---
- [**Example Site**]({{< relref "/docs/example" >}})
- [Table of Contents]({{< relref "/docs/example/table-of-contents" >}})
- [With ToC]({{< relref "/docs/example/table-of-contents/with-toc" >}})
- [Without ToC]({{< relref "/docs/example/table-of-contents/without-toc" >}})
- [Collapsed]({{< relref "/docs/example/collapsed" >}})
- [3rd]({{< relref "/docs/example/collapsed/3rd-level" >}})
- [4th]({{< relref "/docs/example/collapsed/3rd-level/4th-level" >}})
<br />
- **Shortcodes**
- [Buttons]({{< relref "/docs/shortcodes/buttons" >}})
- [Columns]({{< relref "/docs/shortcodes/columns" >}})
- [Expand]({{< relref "/docs/shortcodes/expand" >}})
- [Hints]({{< relref "/docs/shortcodes/hints" >}})
- [KaTex]({{< relref "/docs/shortcodes/katex" >}})
- [Mermaid]({{< relref "/docs/shortcodes/mermaid" >}})
- [Tabs]({{< relref "/docs/shortcodes/tabs" >}})
<br />

View File

@ -0,0 +1,41 @@
---
title: Introduction
type: docs
---
# Example of RTL page
{{% columns %}}
## Astris ipse furtiva
Est in vagis et Pittheus tu arge accipiter regia iram vocatur nurus. Omnes ut
olivae sensit **arma sorori** deducit, inesset **crudus**, ego vetuere aliis,
modo arsit? Utinam rapta fiducia valuere litora _adicit cursu_, ad facies
<--->
## Suis quot vota
Ea _furtique_ risere fratres edidit terrae magis. Colla tam mihi tenebat:
miseram excita suadent es pecudes iam. Concilio _quam_ velatus posset ait quod
nunc! Fragosis suae dextra geruntur functus vulgata.
{{% /columns %}}
## Tempora nisi nunc
Lorem **markdownum** emicat gestu. Cannis sol pressit ducta. **Est** Idaei,
tremens ausim se tutaeque, illi ulnis hausit, sed, lumina cutem. Quae avis
sequens!
var panel = ram_design;
if (backup + system) {
file.readPoint = network_native;
sidebar_engine_device(cell_tftp_raster,
dual_login_paper.adf_vci.application_reader_design(
graphicsNvramCdma, lpi_footer_snmp, integer_model));
}
## Locis suis novi cum suoque decidit eadem
Idmoniae ripis, at aves, ali missa adest, ut _et autem_, et ab?

View File

@ -1,79 +0,0 @@
---
title: Введение
type: docs
---
# Стартовая страница на русском языке
{{< columns >}}
## Astris ipse furtiva
Est in vagis et Pittheus tu arge accipiter regia iram vocatur nurus. Omnes ut
olivae sensit **arma sorori** deducit, inesset **crudus**, ego vetuere aliis,
modo arsit? Utinam rapta fiducia valuere litora _adicit cursu_, ad facies
<--->
## Suis quot vota
Ea _furtique_ risere fratres edidit terrae magis. Colla tam mihi tenebat:
miseram excita suadent es pecudes iam. Concilio _quam_ velatus posset ait quod
nunc! Fragosis suae dextra geruntur functus vulgata.
{{< /columns >}}
## Tempora nisi nunc
Lorem **markdownum** emicat gestu. Cannis sol pressit ducta. **Est** Idaei,
tremens ausim se tutaeque, illi ulnis hausit, sed, lumina cutem. Quae avis
sequens!
var panel = ram_design;
if (backup + system) {
file.readPoint = network_native;
sidebar_engine_device(cell_tftp_raster,
dual_login_paper.adf_vci.application_reader_design(
graphicsNvramCdma, lpi_footer_snmp, integer_model));
}
public_keyboard_docking += error.controller_gibibyte_plug.ip(4,
asciiPetaflops, software(supercomputer_compatible_status + 4));
dynamic_disk.indexModeLaptop = bufferTftpReality;
var export_vlog_sequence = trinitron_flowchart + supercomputer_cluster_rj(
-1, toolbar_powerpoint_query, -2 / multiprocessing_impression);
## Locis suis novi cum suoque decidit eadem
Idmoniae ripis, at aves, ali missa adest, ut _et autem_, et ab? Venit spes
versus finis sermonibus patefecit murum nec est sine oculis. _Ille_ inmota
macies domoque caelestia cadit tantummodo scelus procul, corde!
1. Dolentem capi parte rostro alvum habentem pudor
2. Fulgentia sanguine paret
3. E punior consurgit lentus
4. Vox hasta eras micantes
## Facibus pharetrae indetonsusque indulsit sic incurrite foliis
Nefandam et prisci palmas! Blandita cutis flectitur montis macies, te _nati_
Latiis; turbaque inferias. Virginis tibi peracta avidusque facies caper nec, e
at ademptae, mira.
direct *= font(inputScareware(sliHome), crossplatform.byte(
ppl_encryption.excel_e_rte(integratedModelModifier), timeVirtual,
floating_speakers.media_printer(us, yahoo, primaryPhp)));
friendly_metal_flatbed(cd, isoPrimaryStorage(reader), dmaMirrored);
if (parse_flash_cron.metalGif(1, adServiceDevice, utility)) {
adf -= operation_cdma_samba;
imapGif.switch += torrent;
} else {
pmu.disk_captcha = digital_ppp_pci + recursionTransistor(5, dram);
ajax_service += grayscalePythonLock;
google_scroll_capacity = ftp + engine_dslam_sidebar / tape - 1;
}
drive_rw = zipTftp;
var suffix = software_router_extension.dimm_ddr(-5,
kernel_digital_minisite);
Vocavit toto; alas **mitis** maestus in liquidarum ab legi finitimosque dominam
tibi subitus; Orionis vertitur nota. Currere alti etiam seroque cernitis
innumeris miraturus amplectique collo sustinet quemque! Litora ante turba?

View File

@ -5,7 +5,7 @@ type: docs
# 中文索引页 # 中文索引页
{{< columns >}} {{% columns %}}
## Astris ipse furtiva ## Astris ipse furtiva
Est in vagis et Pittheus tu arge accipiter regia iram vocatur nurus. Omnes ut Est in vagis et Pittheus tu arge accipiter regia iram vocatur nurus. Omnes ut
@ -19,7 +19,7 @@ modo arsit? Utinam rapta fiducia valuere litora _adicit cursu_, ad facies
Ea _furtique_ risere fratres edidit terrae magis. Colla tam mihi tenebat: Ea _furtique_ risere fratres edidit terrae magis. Colla tam mihi tenebat:
miseram excita suadent es pecudes iam. Concilio _quam_ velatus posset ait quod miseram excita suadent es pecudes iam. Concilio _quam_ velatus posset ait quod
nunc! Fragosis suae dextra geruntur functus vulgata. nunc! Fragosis suae dextra geruntur functus vulgata.
{{< /columns >}} {{% /columns %}}
## Tempora nisi nunc ## Tempora nisi nunc

View File

@ -26,14 +26,15 @@ enableGitInfo = true
contentDir = 'content.en' contentDir = 'content.en'
weight = 1 weight = 1
[languages.ru]
languageName = 'Russian'
contentDir = 'content.ru'
weight = 2
[languages.zh] [languages.zh]
languageName = 'Chinese' languageName = 'Chinese'
contentDir = 'content.zh' contentDir = 'content.zh'
weight = 2
[languages.he]
languageName = 'Hebrew'
contentDir = 'content.he'
languageDirection = 'rtl'
weight = 3 weight = 3
[menu] [menu]
@ -45,7 +46,7 @@ enableGitInfo = true
[[menu.after]] [[menu.after]]
name = "Hugo Themes" name = "Hugo Themes"
url = "https://themes.gohugo.io/hugo-book/" url = "https://themes.gohugo.io/themes/hugo-book/"
weight = 20 weight = 20
[params] [params]
@ -66,10 +67,6 @@ enableGitInfo = true
# If the logo is /static/logo.png then the path would be logo.png # If the logo is /static/logo.png then the path would be logo.png
# BookLogo = 'logo.png' # BookLogo = 'logo.png'
# (Optional, default none) Set leaf bundle to render as side menu
# When not specified file structure and weights will be used
# BookMenuBundle = '/menu'
# (Optional, default docs) Specify root page to render child pages as menu. # (Optional, default docs) Specify root page to render child pages as menu.
# Page is resoled by .GetPage function: https://gohugo.io/functions/getpage/ # Page is resoled by .GetPage function: https://gohugo.io/functions/getpage/
# For backward compatibility you can set '*' to render all sections to menu. Acts same as '/' # For backward compatibility you can set '*' to render all sections to menu. Acts same as '/'

View File

@ -25,13 +25,14 @@ languages:
languageName: English languageName: English
contentDir: content.en contentDir: content.en
weight: 1 weight: 1
ru:
languageName: Russian
contentDir: content.ru
weight: 2
zh: zh:
languageName: Chinese languageName: Chinese
contentDir: content.zh contentDir: content.zh
weight: 2
he:
languageName: Hebrew
contentDir: content.he
languageDirection: rtl
weight: 3 weight: 3
menu: menu:
@ -41,7 +42,7 @@ menu:
url: "https://github.com/alex-shpak/hugo-book" url: "https://github.com/alex-shpak/hugo-book"
weight: 10 weight: 10
- name: "Hugo Themes" - name: "Hugo Themes"
url: "https://themes.gohugo.io/hugo-book/" url: "https://themes.gohugo.io/themes/hugo-book/"
weight: 20 weight: 20
params: params:
@ -62,10 +63,6 @@ params:
# If the logo is /static/logo.png then the path would be logo.png # If the logo is /static/logo.png then the path would be logo.png
# BookLogo: /logo.png # BookLogo: /logo.png
# (Optional, default none) Set leaf bundle to render as side menu
# When not specified file structure and weights will be used
# BookMenuBundle: /menu
# (Optional, default docs) Specify root page to render child pages as menu. # (Optional, default docs) Specify root page to render child pages as menu.
# Page is resoled by .GetPage function: https://gohugo.io/functions/getpage/ # Page is resoled by .GetPage function: https://gohugo.io/functions/getpage/
# For backward compatibility you can set '*' to render all sections to menu. Acts same as '/' # For backward compatibility you can set '*' to render all sections to menu. Acts same as '/'

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"Target":"book.min.3b63b9ecb24b01f1be0df5c6f361b3a2004ab96665227385e0196f67e7607b29.css","MediaType":"text/css","Data":{"Integrity":"sha256-O2O57LJLAfG+DfXG82GzogBKuWZlInOF4BlvZ+dgeyk="}}

View File

@ -1 +0,0 @@
{"Target":"book.min.33a48f5432973b8ff9a82679d9e45d67f2c15d4399bd2829269455cfe390b5e8.css","MediaType":"text/css","Data":{"Integrity":"sha256-M6SPVDKXO4/5qCZ52eRdZ/LBXUOZvSgpJpRVz+OQteg="}}

14
i18n/nl.yaml Normal file
View File

@ -0,0 +1,14 @@
- id: Search
translation: Zoeken
- id: Edit this page
translation: Bewerk deze pagina
- id: Last modified by
translation: Laatst gewijzigd door
- id: Expand
translation: Uitbreiden
- id: bookSearchConfig
translation: '{ cache: true }'

View File

@ -73,7 +73,7 @@
{{ end }} {{ end }}
{{ define "main" }} {{ define "main" }}
<article class="markdown"> <article class="markdown book-article">
{{- .Content -}} {{- .Content -}}
</article> </article>
{{ end }} {{ end }}

View File

@ -1,7 +1,7 @@
<h2 class="book-brand"> <h2 class="book-brand">
<a class="flex align-center" href="{{ cond (not .Site.Home.File) .Sites.First.Home.RelPermalink .Site.Home.RelPermalink }}"> <a class="flex align-center" href="{{ cond (not .Site.Home.File) .Sites.Default.Home.RelPermalink .Site.Home.RelPermalink }}">
{{- with .Site.Params.BookLogo -}} {{- with .Site.Params.BookLogo -}}
<img src="{{ . | relURL }}" alt="Logo" /> <img src="{{ . | relURL }}" alt="Logo" class="book-icon" />
{{- end -}} {{- end -}}
<span>{{ .Site.Title }}</span> <span>{{ .Site.Title }}</span>
</a> </a>

View File

@ -3,4 +3,4 @@
Usage: partial "docs/date" (dict "Date" .Date "Format" .Site.Params.BookDateFormat) Usage: partial "docs/date" (dict "Date" .Date "Format" .Site.Params.BookDateFormat)
--> -->
{{- $format := default "January 2, 2006" .Format -}} {{- $format := default "January 2, 2006" .Format -}}
{{- return (.Date.Format $format) -}} {{- return (time.Format $format .Date) -}}

View File

@ -3,9 +3,8 @@
{{ if and .GitInfo .Site.Params.BookRepo }} {{ if and .GitInfo .Site.Params.BookRepo }}
<div> <div>
{{- $date := partial "docs/date" (dict "Date" .GitInfo.AuthorDate.Local "Format" .Site.Params.BookDateFormat) -}} {{- $date := partial "docs/date" (dict "Date" .GitInfo.AuthorDate.Local "Format" .Site.Params.BookDateFormat) -}}
{{- $commitPath := default "commit" .Site.Params.BookCommitPath -}} <a class="flex align-center" href="{{ partial "docs/links/commit" . }}" title='{{ i18n "Last modified by" }} {{ .GitInfo.AuthorName }} | {{ $date }}' target="_blank" rel="noopener">
<a class="flex align-center" href="{{ .Site.Params.BookRepo }}/{{ $commitPath }}/{{ .GitInfo.Hash }}" title='{{ i18n "Last modified by" }} {{ .GitInfo.AuthorName }} | {{ $date }}' target="_blank" rel="noopener"> <img src="{{ "svg/calendar.svg" | relURL }}" class="book-icon" alt="" />
<img src="{{ "svg/calendar.svg" | relURL }}" class="book-icon" alt="Calendar" />
<span>{{ $date }}</span> <span>{{ $date }}</span>
</a> </a>
</div> </div>
@ -13,8 +12,8 @@
{{ if and .File .Site.Params.BookRepo .Site.Params.BookEditPath }} {{ if and .File .Site.Params.BookRepo .Site.Params.BookEditPath }}
<div> <div>
<a class="flex align-center" href="{{ .Site.Params.BookRepo }}/{{ .Site.Params.BookEditPath }}/{{ .Site.Params.contentDir | default "content" }}/{{ replace .File.Path "\\" "/" }}" target="_blank" rel="noopener"> <a class="flex align-center" href="{{ partial "docs/links/edit" . }}" target="_blank" rel="noopener">
<img src="{{ "svg/edit.svg" | relURL }}" class="book-icon" alt="Edit" /> <img src="{{ "svg/edit.svg" | relURL }}" class="book-icon" alt="" />
<span>{{ i18n "Edit this page" }}</span> <span>{{ i18n "Edit this page" }}</span>
</a> </a>
</div> </div>

View File

@ -0,0 +1 @@
<link rel="icon" href="{{ .Site.Params.BookFavicon | default "favicon.png" | relURL }}" >

View File

@ -12,23 +12,24 @@
{{- template "_internal/opengraph.html" . -}} {{- template "_internal/opengraph.html" . -}}
<title>{{ partial "docs/html-head-title" . }}</title> <title>{{ partial "docs/html-head-title" . }}</title>
{{ partial "docs/html-head-favicon" . }}
{{- $manifest := resources.Get "manifest.json" | resources.ExecuteAsTemplate "manifest.json" . }} {{- $manifest := resources.Get "manifest.json" | resources.ExecuteAsTemplate "manifest.json" . }}
<link rel="manifest" href="{{ $manifest.RelPermalink }}"> <link rel="manifest" href="{{ $manifest.RelPermalink }}">
<link rel="icon" href="{{ .Params.BookFavicon | default "favicon.png" | relURL }}" > <link rel="canonical" href="{{ .Permalink }}">
{{- range .Translations }} {{- range .Translations }}
<link rel="alternate" hreflang="{{ default .Language.Lang .Site.LanguageCode }}" href="{{ .Permalink }}" title="{{ partial "docs/title" . }}"> <link rel="alternate" hreflang="{{ default .Site.LanguageCode .Language.Lang }}" href="{{ .Permalink }}" title="{{ partial "docs/title" . }}">
{{- end -}} {{- end -}}
<!-- Theme stylesheet, you can customize scss by creating `assets/custom.scss` in your website --> <!-- Theme stylesheet, you can customize scss by creating `assets/custom.scss` in your website -->
{{- $styles := resources.Get "book.scss" | resources.ExecuteAsTemplate "book.scss" . | resources.ToCSS | resources.Minify | resources.Fingerprint }} {{- $styles := resources.Get "book.scss" | resources.ExecuteAsTemplate "book.scss" . | css.Sass | resources.Minify | resources.Fingerprint }}
<link rel="stylesheet" href="{{ $styles.RelPermalink }}" {{ template "integrity" $styles }}> <link rel="stylesheet" href="{{ $styles.RelPermalink }}" {{ template "integrity" $styles }}>
{{- if default true .Site.Params.BookSearch -}} {{- if default true .Site.Params.BookSearch -}}
{{- $searchJSFile := printf "%s.search.js" .Language.Lang }} {{- $searchJSFile := printf "%s.search.js" .Language.Lang }}
{{- $searchJS := resources.Get "search.js" | resources.ExecuteAsTemplate $searchJSFile . | resources.Minify | resources.Fingerprint }} {{- $searchJS := resources.Get "search.js" | resources.ExecuteAsTemplate $searchJSFile . | resources.Minify | resources.Fingerprint }}
<script defer src="{{ "flexsearch.min.js" | relURL }}"></script> <script defer src="{{ "fuse.min.js" | relURL }}"></script>
<script defer src="{{ $searchJS.RelPermalink }}" {{ template "integrity" $searchJS }}></script> <script defer src="{{ $searchJS.RelPermalink }}" {{ template "integrity" $searchJS }}></script>
{{ end -}} {{ end -}}

View File

@ -23,7 +23,7 @@
<ul> <ul>
{{ range .Site.Languages }}{{ with index $translations .Lang }} {{ range .Site.Languages }}{{ with index $translations .Lang }}
<li> <li>
<a href="{{ .Permalink }}"> <a href="{{ cond hugo.IsMultihost .Permalink .RelPermalink }}">
{{ .Language.LanguageName }} {{ .Language.LanguageName }}
</a> </a>
</li> </li>

View File

@ -0,0 +1,2 @@
{{- $commitPath := default "commit" .Site.Params.BookCommitPath -}}
{{- .Site.Params.BookRepo }}/{{ $commitPath }}/{{ .GitInfo.Hash -}}

View File

@ -0,0 +1,2 @@
{{- $bookFilePath := (strings.TrimPrefix hugo.WorkingDir .Page.File.Filename | path.Join) -}}
{{- .Site.Params.BookRepo }}/{{ .Site.Params.BookEditPath }}{{ ($bookFilePath) -}}

View File

@ -1,5 +0,0 @@
{{ with .Site.GetPage .Site.Params.BookMenuBundle }}
{{- $href := printf "href=\"%s\"" $.RelPermalink -}}
{{- replace .Content $href (print $href "class=active") | safeHTML -}}
{{- warnf "Bundle menu mode is deprecated and will be removed" -}}
{{ end }}

View File

@ -9,7 +9,7 @@
{{ define "book-section-children" }}{{/* (dict "Section" .Section "CurrentPage" .CurrentPage) */}} {{ define "book-section-children" }}{{/* (dict "Section" .Section "CurrentPage" .CurrentPage) */}}
<ul> <ul>
{{ range (where .Section.Pages "Params.bookhidden" "ne" true) }} {{ range (where .Section.Pages "Params.bookHidden" "ne" true) }}
{{ if .IsSection }} {{ if .IsSection }}
<li {{- if .Params.BookFlatSection }} class="book-section-flat" {{ end -}}> <li {{- if .Params.BookFlatSection }} class="book-section-flat" {{ end -}}>
{{ template "book-page-link" (dict "Page" . "CurrentPage" $.CurrentPage) }} {{ template "book-page-link" (dict "Page" . "CurrentPage" $.CurrentPage) }}

View File

@ -1,18 +1,14 @@
<nav> <nav>
{{ partial "docs/brand" . }} {{ partial "docs/brand" . }}
{{ partial "docs/search" . }} {{ partial "docs/search" . }}
{{ if .Site.IsMultiLingual }} {{ if hugo.IsMultilingual }}
{{ partial "docs/languages" . }} {{ partial "docs/languages" . }}
{{ end }} {{ end }}
{{ partial "docs/inject/menu-before" . }} {{ partial "docs/inject/menu-before" . }}
{{ partial "docs/menu-hugo" .Site.Menus.before }} {{ partial "docs/menu-hugo" .Site.Menus.before }}
{{ if .Site.Params.BookMenuBundle }} {{ partial "docs/menu-filetree" . }}
{{ partial "docs/menu-bundle" . }}
{{ else }}
{{ partial "docs/menu-filetree" . }}
{{ end }}
{{ partial "docs/menu-hugo" .Site.Menus.after }} {{ partial "docs/menu-hugo" .Site.Menus.after }}
{{ partial "docs/inject/menu-after" . }} {{ partial "docs/inject/menu-after" . }}

View File

@ -1,23 +1,16 @@
{{ with .Date }} {{ with .Date }}
<h5>{{ partial "docs/date" (dict "Date" . "Format" $.Site.Params.BookDateFormat) }}</h5> <div class="flex align-center text-small book-post-date">
<img src="{{ "svg/calendar.svg" | relURL }}" class="book-icon " alt="" />
<span>{{ partial "docs/date" (dict "Date" . "Format" $.Site.Params.BookDateFormat) }}</span>
</div>
{{ end }} {{ end }}
{{ range $taxonomy, $_ := .Site.Taxonomies }} {{ range $taxonomy, $_ := .Site.Taxonomies }}
{{ with $terms := $.GetTerms $taxonomy }} {{ with $terms := $.GetTerms $taxonomy }}
<div> <div class="text-small">
{{ range $n, $term := $terms }}{{ if $n }}, {{ end }} {{ range $n, $term := $terms }}{{ if $n }}, {{ end }}
<a href="{{ $term.RelPermalink }}">{{ $term.Title }}</a> <a href="{{ $term.RelPermalink }}">{{ $term.Title }}</a>
{{- end }} {{- end }}
</div> </div>
{{ end }} {{ end }}
{{ end }} {{ end }}
{{ if .Params.image }}
<p>
{{ with .Resources.GetMatch .Params.image }}
<img src={{ .RelPermalink }} />
{{ else }}
<img src={{ .Params.image | relURL }} />
{{ end }}
</p>
{{ end }}

View File

@ -1,7 +1,8 @@
{{ if default true .Site.Params.BookSearch }} {{ if default true .Site.Params.BookSearch }}
<div class="book-search"> <div class="book-search hidden">
<input type="text" id="book-search-input" placeholder="{{ i18n "Search" }}" aria-label="{{ i18n "Search" }}" maxlength="64" data-hotkeys="s/" /> <input type="text" id="book-search-input" placeholder="{{ i18n "Search" }}" aria-label="{{ i18n "Search" }}" maxlength="64" data-hotkeys="s/" />
<div class="book-search-spinner hidden"></div> <div class="book-search-spinner hidden"></div>
<ul id="book-search-results"></ul> <ul id="book-search-results"></ul>
</div> </div>
<script>document.querySelector(".book-search").classList.remove("hidden")</script>
{{ end }} {{ end }}

View File

@ -5,12 +5,12 @@
<a href="{{ .RelPermalink }}">{{ partial "docs/title.html" . }}</a> <a href="{{ .RelPermalink }}">{{ partial "docs/title.html" . }}</a>
</h2> </h2>
{{ partial "docs/post-meta" . }} {{ partial "docs/post-meta" . }}
<p> <div class="book-post-content">
{{- .Summary -}} {{- .Summary -}}
{{ if .Truncated }} {{ if .Truncated }}
<a href="{{ .RelPermalink }}">...</a> <a href="{{ .RelPermalink }}">...</a>
{{ end }} {{ end }}
</p> </div>
</article> </article>
{{ end }} {{ end }}

View File

@ -1,10 +1,12 @@
{{ define "main" }} {{ define "main" }}
<article class="markdown"> <article class="markdown book-post">
<h1> <h2>
<a href="{{ .RelPermalink }}">{{ partial "docs/title.html" . }}</a> {{ partial "docs/title.html" . }}
</h1> </h2>
{{ partial "docs/post-meta" . }} {{ partial "docs/post-meta" . }}
<div class="book-post-content">
{{- .Content -}} {{- .Content -}}
</div>
</article> </article>
{{ end }} {{ end }}

View File

@ -1,12 +1,12 @@
{{ $ref := "" }} {{- $ref := "" }}
{{ $target := "" }} {{- $target := "" -}}
{{ with .Get "href" }} {{- with .Get "href" -}}
{{ $ref = . }} {{- $ref = . -}}
{{ $target = "_blank" }} {{- $target = "_blank" -}}
{{ end }} {{- end -}}
{{ with .Get "relref" }} {{- with .Get "relref" -}}
{{ $ref = relref $ . }} {{- $ref = relref $ . -}}
{{ end }} {{- end -}}
<a {{ with $ref }} href="{{.}}" {{ end }} {{ with $target }} target="{{.}}" rel="noopener" {{ end }} class="book-btn{{ with .Get "class" }} {{ . }}{{ end }}"> <a {{ with $ref }} href="{{.}}" {{ end }} {{ with $target }} target="{{.}}" rel="noopener" {{ end }} class="book-btn{{ with .Get "class" }} {{ . }}{{ end }}">
{{ .Inner | .Page.RenderString }} {{ .InnerDeindent }}
</a> </a>

View File

@ -1,7 +1,9 @@
<div class="book-columns flex flex-wrap"> {{- $ratio := (split (.Get "ratio") ":") -}}
{{ range split .Inner "<--->" }} <div class="book-columns flex flex-wrap{{ with .Get "class" }} {{ . }}{{ end }}">
<div class="flex-even markdown-inner"> {{ range $index, $content := split .InnerDeindent "<--->" }}
{{ . | $.Page.RenderString }} {{- $grow := default 1 (index $ratio $index) -}}
<div class="flex-even markdown-inner" style="flex-grow: {{ $grow }};">
{{ $content | safeHTML }}
</div> </div>
{{ end }} {{ end }}
</div> </div>

View File

@ -1,7 +1,7 @@
<details {{ if or (.Get "open") (in .Params "open") }}open{{ end }}> <details {{ if or (.Get "open") (in .Params "open") }}open{{ end }}>
{{- $summary := cond .IsNamedParams (.Get "title") (.Get 0) -}} {{- $summary := cond .IsNamedParams (.Get "title") (.Get 0) -}}
<summary>{{ $summary | .Page.RenderString }}</summary> <summary>{{ $summary }}</summary>
<div class="markdown-inner"> <div class="markdown-inner">
{{ .Inner | .Page.RenderString }} {{ .InnerDeindent | safeHTML }}
</div> </div>
</details> </details>

View File

@ -1,13 +0,0 @@
{{ warnf "Expand shortcode is deprecated. Use 'details' instead." }}
<div class="book-expand">
<label>
<div class="book-expand-head flex justify-between">
<span>{{ default (i18n "Expand") (.Get 0) }}</span>
<span>{{ default "↕" (.Get 1) }}</span>
</div>
<input type="checkbox" class="hidden" />
<div class="book-expand-content markdown-inner">
{{ .Inner | markdownify }}
</div>
</label>
</div>

View File

@ -1,3 +1,3 @@
<blockquote class="book-hint {{ .Get 0 }}"> <blockquote class="book-hint {{ .Get 0 }}">
{{ .Inner | .Page.RenderString }} {{ .InnerDeindent | safeHTML }}
</blockquote> </blockquote>

View File

@ -0,0 +1 @@
{{- .Inner | safeHTML -}}

View File

@ -1,5 +1,5 @@
{{- if not (.Page.Scratch.Get "katex") -}} {{- if not (.Page.Scratch.Get "katex") -}}
<!-- Include katext only first time --> <!-- Include katex only first time -->
<link rel="stylesheet" href="{{ "katex/katex.min.css" | relURL }}" /> <link rel="stylesheet" href="{{ "katex/katex.min.css" | relURL }}" />
<script defer src="{{ "katex/katex.min.js" | relURL }}"></script> <script defer src="{{ "katex/katex.min.js" | relURL }}"></script>
<script defer src="{{ "katex/auto-render.min.js" | relURL }}" onload="renderMathInElement(document.body);"></script> <script defer src="{{ "katex/auto-render.min.js" | relURL }}" onload="renderMathInElement(document.body);"></script>
@ -7,7 +7,7 @@
{{- end -}} {{- end -}}
<span {{- with .Get "class" }} class="{{ . }}"{{ end }}> <span {{- with .Get "class" }} class="{{ . }}"{{ end }}>
{{ cond (in .Params "display") "\\[" "\\(" -}} {{ with .Get "display" }}\[{{else}}\({{end}}
{{- trim .Inner "\n" -}} {{- .InnerDeindent -}}
{{- cond (in .Params "display") "\\]" "\\)" }} {{ with .Get "display" }}\]{{else}}\){{end}}
</span> </span>

View File

@ -7,6 +7,6 @@
{{ .Page.Scratch.Set "mermaid" true }} {{ .Page.Scratch.Set "mermaid" true }}
{{ end }} {{ end }}
<p class="mermaid{{ with .Get "class" }} {{ . }}{{ end }}"> <pre class="mermaid{{ with .Get "class" }} {{ . }}{{ end }}">
{{- .Inner -}} {{- .Inner -}}
</p> </pre>

View File

@ -1,6 +1,6 @@
{{ if .Parent }} {{ if .Parent }}
{{ $name := .Get 0 }} {{ $name := .Get 0 }}
{{ $group := printf "tabs-%s" (.Parent.Get 0) }} {{ $group := printf "tabs-%d" .Parent.Ordinal }}
{{ if not (.Parent.Scratch.Get $group) }} {{ if not (.Parent.Scratch.Get $group) }}
{{ .Parent.Scratch.Set $group slice }} {{ .Parent.Scratch.Set $group slice }}

View File

@ -1,6 +1,5 @@
{{ if .Inner }}{{ end }} {{ if .Inner }}{{ end }}
{{ $id := .Get 0 }} {{ $group := printf "tabs-%d" .Ordinal }}
{{ $group := printf "tabs-%s" $id }}
<div class="book-tabs"> <div class="book-tabs">
{{- range $index, $tab := .Scratch.Get $group -}} {{- range $index, $tab := .Scratch.Get $group -}}
@ -9,7 +8,7 @@
{{- $tab.Name -}} {{- $tab.Name -}}
</label> </label>
<div class="book-tabs-content markdown-inner"> <div class="book-tabs-content markdown-inner">
{{- .Content | $.Page.RenderString -}} {{- .Content | safeHTML -}}
</div> </div>
{{- end -}} {{- end -}}
</div> </div>

View File

@ -1,5 +1,5 @@
{{ define "main" }} {{ define "main" }}
<article class="markdown"> <article class="markdown book-post">
<h1>{{ .Title | title }}</h1> <h1>{{ .Title | title }}</h1>
{{ $taxonomies := index .Site.Taxonomies .Page.Type }} {{ $taxonomies := index .Site.Taxonomies .Page.Type }}
{{ range $taxonomies }} {{ range $taxonomies }}

View File

@ -0,0 +1 @@
{"Target":"book.min.309b7ed028807cdb68d8d61e26d609f48369c098dbf5e4d8c0dcf4cdf49feafc.css","MediaType":"text/css","Data":{"Integrity":"sha256-MJt+0CiAfNto2NYeJtYJ9INpwJjb9eTYwNz0zfSf6vw="}}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 B

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M3 18h12v-2H3v2zM3 6v2h18V6H3zm0 7h18v-2H3v2z"/></svg> <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px"><path d="M480-160q-48-38-104-59t-116-21q-42 0-82.5 11T100-198q-21 11-40.5-1T40-234v-482q0-11 5.5-21T62-752q46-24 96-36t102-12q58 0 113.5 15T480-740v484q51-32 107-48t113-16q36 0 70.5 6t69.5 18v-480q15 5 29.5 10.5T898-752q11 5 16.5 15t5.5 21v482q0 23-19.5 35t-40.5 1q-37-20-77.5-31T700-240q-60 0-116 21t-104 59Zm80-200v-380l200-200v400L560-360Zm-160 65v-396q-33-14-68.5-21.5T260-720q-37 0-72 7t-68 21v397q35-13 69.5-19t70.5-6q36 0 70.5 6t69.5 19Zm0 0v-396 396Z"/></svg>

Before

Width:  |  Height:  |  Size: 185 B

After

Width:  |  Height:  |  Size: 559 B

View File

@ -1,42 +0,0 @@
/*
FlexSearch v0.6.30
Copyright 2019 Nextapps GmbH
Author: Thomas Wilkerling
Released under the Apache 2.0 Licence
https://github.com/nextapps-de/flexsearch
*/
'use strict';(function(K,R,w){let L;(L=w.define)&&L.amd?L([],function(){return R}):(L=w.modules)?L[K.toLowerCase()]=R:"object"===typeof exports?module.exports=R:w[K]=R})("FlexSearch",function ma(K){function w(a,c){const b=c?c.id:a&&a.id;this.id=b||0===b?b:na++;this.init(a,c);fa(this,"index",function(){return this.a?Object.keys(this.a.index[this.a.keys[0]].c):Object.keys(this.c)});fa(this,"length",function(){return this.index.length})}function L(a,c,b,d){this.u!==this.g&&(this.o=this.o.concat(b),this.u++,
d&&this.o.length>=d&&(this.u=this.g),this.u===this.g&&(this.cache&&this.j.set(c,this.o),this.F&&this.F(this.o)));return this}function S(a){const c=B();for(const b in a)if(a.hasOwnProperty(b)){const d=a[b];F(d)?c[b]=d.slice(0):G(d)?c[b]=S(d):c[b]=d}return c}function W(a,c){const b=a.length,d=O(c),e=[];for(let f=0,h=0;f<b;f++){const g=a[f];if(d&&c(g)||!d&&!c[g])e[h++]=g}return e}function P(a,c,b,d,e,f,h,g,k,l){b=ha(b,h?0:e,g,f,c,k,l);let p;g&&(g=b.page,p=b.next,b=b.result);if(h)c=this.where(h,null,
e,b);else{c=b;b=this.l;e=c.length;f=Array(e);for(h=0;h<e;h++)f[h]=b[c[h]];c=f}b=c;d&&(O(d)||(M=d.split(":"),1<M.length?d=oa:(M=M[0],d=pa)),b.sort(d));b=T(g,p,b);this.cache&&this.j.set(a,b);return b}function fa(a,c,b){Object.defineProperty(a,c,{get:b})}function r(a){return new RegExp(a,"g")}function Q(a,c){for(let b=0;b<c.length;b+=2)a=a.replace(c[b],c[b+1]);return a}function V(a,c,b,d,e,f,h,g){if(c[b])return c[b];e=e?(g-(h||g/1.5))*f+(h||g/1.5)*e:f;c[b]=e;e>=h&&(a=a[g-(e+.5>>0)],a=a[b]||(a[b]=[]),
a[a.length]=d);return e}function ba(a,c){if(a){const b=Object.keys(a);for(let d=0,e=b.length;d<e;d++){const f=b[d],h=a[f];if(h)for(let g=0,k=h.length;g<k;g++)if(h[g]===c){1===k?delete a[f]:h.splice(g,1);break}else G(h[g])&&ba(h[g],c)}}}function ca(a){let c="",b="";var d="";for(let e=0;e<a.length;e++){const f=a[e];if(f!==b)if(e&&"h"===f){if(d="a"===d||"e"===d||"i"===d||"o"===d||"u"===d||"y"===d,("a"===b||"e"===b||"i"===b||"o"===b||"u"===b||"y"===b)&&d||" "===b)c+=f}else c+=f;d=e===a.length-1?"":a[e+
1];b=f}return c}function qa(a,c){a=a.length-c.length;return 0>a?1:a?-1:0}function pa(a,c){a=a[M];c=c[M];return a<c?-1:a>c?1:0}function oa(a,c){const b=M.length;for(let d=0;d<b;d++)a=a[M[d]],c=c[M[d]];return a<c?-1:a>c?1:0}function T(a,c,b){return a?{page:a,next:c?""+c:null,result:b}:b}function ha(a,c,b,d,e,f,h){let g,k=[];if(!0===b){b="0";var l=""}else l=b&&b.split(":");const p=a.length;if(1<p){const y=B(),t=[];let v,x;var n=0,m;let I;var u=!0;let D,E=0,N,da,X,ea;l&&(2===l.length?(X=l,l=!1):l=ea=
parseInt(l[0],10));if(h){for(v=B();n<p;n++)if("not"===e[n])for(x=a[n],I=x.length,m=0;m<I;m++)v["@"+x[m]]=1;else da=n+1;if(C(da))return T(b,g,k);n=0}else N=J(e)&&e;let Y;for(;n<p;n++){const ra=n===(da||p)-1;if(!N||!n)if((m=N||e&&e[n])&&"and"!==m)if("or"===m)Y=!1;else continue;else Y=f=!0;x=a[n];if(I=x.length){if(u)if(D){var q=D.length;for(m=0;m<q;m++){u=D[m];var A="@"+u;h&&v[A]||(y[A]=1,f||(k[E++]=u))}D=null;u=!1}else{D=x;continue}A=!1;for(m=0;m<I;m++){q=x[m];var z="@"+q;const Z=f?y[z]||0:n;if(!(!Z&&
!d||h&&v[z]||!f&&y[z]))if(Z===n){if(ra){if(!ea||--ea<E)if(k[E++]=q,c&&E===c)return T(b,E+(l||0),k)}else y[z]=n+1;A=!0}else d&&(z=t[Z]||(t[Z]=[]),z[z.length]=q)}if(Y&&!A&&!d)break}else if(Y&&!d)return T(b,g,x)}if(D)if(n=D.length,h)for(m=l?parseInt(l,10):0;m<n;m++)a=D[m],v["@"+a]||(k[E++]=a);else k=D;if(d)for(E=k.length,X?(n=parseInt(X[0],10)+1,m=parseInt(X[1],10)+1):(n=t.length,m=0);n--;)if(q=t[n]){for(I=q.length;m<I;m++)if(d=q[m],!h||!v["@"+d])if(k[E++]=d,c&&E===c)return T(b,n+":"+m,k);m=0}}else!p||
e&&"not"===e[0]||(k=a[0],l&&(l=parseInt(l[0],10)));c&&(h=k.length,l&&l>h&&(l=0),l=l||0,g=l+c,g<h?k=k.slice(l,g):(g=0,l&&(k=k.slice(l))));return T(b,g,k)}function J(a){return"string"===typeof a}function F(a){return a.constructor===Array}function O(a){return"function"===typeof a}function G(a){return"object"===typeof a}function C(a){return"undefined"===typeof a}function ia(a){const c=Array(a);for(let b=0;b<a;b++)c[b]=B();return c}function B(){return Object.create(null)}function sa(){let a,c;self.onmessage=
function(b){if(b=b.data)if(b.search){const d=c.search(b.content,b.threshold?{limit:b.limit,threshold:b.threshold,where:b.where}:b.limit);self.postMessage({id:a,content:b.content,limit:b.limit,result:d})}else b.add?c.add(b.id,b.content):b.update?c.update(b.id,b.content):b.remove?c.remove(b.id):b.clear?c.clear():b.info?(b=c.info(),b.worker=a,console.log(b)):b.register&&(a=b.id,b.options.cache=!1,b.options.async=!1,b.options.worker=!1,c=(new Function(b.register.substring(b.register.indexOf("{")+1,b.register.lastIndexOf("}"))))(),
c=new c(b.options))}}function ta(a,c,b,d){a=K("flexsearch","id"+a,sa,function(f){(f=f.data)&&f.result&&d(f.id,f.content,f.result,f.limit,f.where,f.cursor,f.suggest)},c);const e=ma.toString();b.id=c;a.postMessage({register:e,options:b,id:c});return a}const H={encode:"icase",f:"forward",split:/\W+/,cache:!1,async:!1,g:!1,D:!1,a:!1,b:9,threshold:0,depth:0},ja={memory:{encode:"extra",f:"strict",threshold:0,b:1},speed:{encode:"icase",f:"strict",threshold:1,b:3,depth:2},match:{encode:"extra",f:"full",threshold:1,
b:3},score:{encode:"extra",f:"strict",threshold:1,b:9,depth:4},balance:{encode:"balance",f:"strict",threshold:0,b:3,depth:3},fast:{encode:"icase",f:"strict",threshold:8,b:9,depth:1}},aa=[];let na=0;const ka={},la={};w.create=function(a,c){return new w(a,c)};w.registerMatcher=function(a){for(const c in a)a.hasOwnProperty(c)&&aa.push(r(c),a[c]);return this};w.registerEncoder=function(a,c){U[a]=c.bind(U);return this};w.registerLanguage=function(a,c){ka[a]=c.filter;la[a]=c.stemmer;return this};w.encode=
function(a,c){return U[a](c)};w.prototype.init=function(a,c){this.v=[];if(c){var b=c.preset;a=c}else a||(a=H),b=a.preset;c={};J(a)?(c=ja[a],a={}):b&&(c=ja[b]);if(b=a.worker)if("undefined"===typeof Worker)a.worker=!1,this.m=null;else{var d=parseInt(b,10)||4;this.C=-1;this.u=0;this.o=[];this.F=null;this.m=Array(d);for(var e=0;e<d;e++)this.m[e]=ta(this.id,e,a,L.bind(this))}this.f=a.tokenize||c.f||this.f||H.f;this.split=C(b=a.split)?this.split||H.split:J(b)?r(b):b;this.D=a.rtl||this.D||H.D;this.async=
"undefined"===typeof Promise||C(b=a.async)?this.async||H.async:b;this.g=C(b=a.worker)?this.g||H.g:b;this.threshold=C(b=a.threshold)?c.threshold||this.threshold||H.threshold:b;this.b=C(b=a.resolution)?b=c.b||this.b||H.b:b;b<=this.threshold&&(this.b=this.threshold+1);this.depth="strict"!==this.f||C(b=a.depth)?c.depth||this.depth||H.depth:b;this.w=(b=C(b=a.encode)?c.encode||H.encode:b)&&U[b]&&U[b].bind(U)||(O(b)?b:this.w||!1);(b=a.matcher)&&this.addMatcher(b);if(b=(c=a.lang)||a.filter){J(b)&&(b=ka[b]);
if(F(b)){d=this.w;e=B();for(var f=0;f<b.length;f++){var h=d?d(b[f]):b[f];e[h]=1}b=e}this.filter=b}if(b=c||a.stemmer){var g;c=J(b)?la[b]:b;d=this.w;e=[];for(g in c)c.hasOwnProperty(g)&&(f=d?d(g):g,e.push(r(f+"($|\\W)"),d?d(c[g]):c[g]));this.stemmer=g=e}this.a=e=(b=a.doc)?S(b):this.a||H.a;this.i=ia(this.b-(this.threshold||0));this.h=B();this.c=B();if(e){this.l=B();a.doc=null;g=e.index={};c=e.keys=[];d=e.field;f=e.tag;h=e.store;F(e.id)||(e.id=e.id.split(":"));if(h){var k=B();if(J(h))k[h]=1;else if(F(h))for(let l=
0;l<h.length;l++)k[h[l]]=1;else G(h)&&(k=h);e.store=k}if(f){this.G=B();h=B();if(d)if(J(d))h[d]=a;else if(F(d))for(k=0;k<d.length;k++)h[d[k]]=a;else G(d)&&(h=d);F(f)||(e.tag=f=[f]);for(d=0;d<f.length;d++)this.G[f[d]]=B();this.I=f;d=h}if(d){let l;F(d)||(G(d)?(l=d,e.field=d=Object.keys(d)):e.field=d=[d]);for(e=0;e<d.length;e++)f=d[e],F(f)||(l&&(a=l[f]),c[e]=f,d[e]=f.split(":")),g[f]=new w(a)}a.doc=b}this.B=!0;this.j=(this.cache=b=C(b=a.cache)?this.cache||H.cache:b)?new ua(b):!1;return this};w.prototype.encode=
function(a){a&&(aa.length&&(a=Q(a,aa)),this.v.length&&(a=Q(a,this.v)),this.w&&(a=this.w(a)),this.stemmer&&(a=Q(a,this.stemmer)));return a};w.prototype.addMatcher=function(a){const c=this.v;for(const b in a)a.hasOwnProperty(b)&&c.push(r(b),a[b]);return this};w.prototype.add=function(a,c,b,d,e){if(this.a&&G(a))return this.A("add",a,c);if(c&&J(c)&&(a||0===a)){var f="@"+a;if(this.c[f]&&!d)return this.update(a,c);if(this.g)return++this.C>=this.m.length&&(this.C=0),this.m[this.C].postMessage({add:!0,id:a,
content:c}),this.c[f]=""+this.C,b&&b(),this;if(!e){if(this.async&&"function"!==typeof importScripts){let t=this;f=new Promise(function(v){setTimeout(function(){t.add(a,c,null,d,!0);t=null;v()})});if(b)f.then(b);else return f;return this}if(b)return this.add(a,c,null,d,!0),b(),this}c=this.encode(c);if(!c.length)return this;b=this.f;e=O(b)?b(c):c.split(this.split);this.filter&&(e=W(e,this.filter));const n=B();n._ctx=B();const m=e.length,u=this.threshold,q=this.depth,A=this.b,z=this.i,y=this.D;for(let t=
0;t<m;t++){var h=e[t];if(h){var g=h.length,k=(y?t+1:m-t)/m,l="";switch(b){case "reverse":case "both":for(var p=g;--p;)l=h[p]+l,V(z,n,l,a,y?1:(g-p)/g,k,u,A-1);l="";case "forward":for(p=0;p<g;p++)l+=h[p],V(z,n,l,a,y?(p+1)/g:1,k,u,A-1);break;case "full":for(p=0;p<g;p++){const v=(y?p+1:g-p)/g;for(let x=g;x>p;x--)l=h.substring(p,x),V(z,n,l,a,v,k,u,A-1)}break;default:if(g=V(z,n,h,a,1,k,u,A-1),q&&1<m&&g>=u)for(g=n._ctx[h]||(n._ctx[h]=B()),h=this.h[h]||(this.h[h]=ia(A-(u||0))),k=t-q,l=t+q+1,0>k&&(k=0),l>
m&&(l=m);k<l;k++)k!==t&&V(h,g,e[k],a,0,A-(k<t?t-k:k-t),u,A-1)}}}this.c[f]=1;this.B=!1}return this};w.prototype.A=function(a,c,b){if(F(c)){var d=c.length;if(d--){for(var e=0;e<d;e++)this.A(a,c[e]);return this.A(a,c[d],b)}}else{var f=this.a.index,h=this.a.keys,g=this.a.tag;e=this.a.store;var k;var l=this.a.id;d=c;for(var p=0;p<l.length;p++)d=d[l[p]];if("remove"===a&&(delete this.l[d],l=h.length,l--)){for(c=0;c<l;c++)f[h[c]].remove(d);return f[h[l]].remove(d,b)}if(g){for(k=0;k<g.length;k++){var n=g[k];
var m=c;l=n.split(":");for(p=0;p<l.length;p++)m=m[l[p]];m="@"+m}k=this.G[n];k=k[m]||(k[m]=[])}l=this.a.field;for(let u=0,q=l.length;u<q;u++){n=l[u];g=c;for(m=0;m<n.length;m++)g=g[n[m]];n=f[h[u]];m="add"===a?n.add:n.update;u===q-1?m.call(n,d,g,b):m.call(n,d,g)}if(e){b=Object.keys(e);a=B();for(f=0;f<b.length;f++)if(h=b[f],e[h]){h=h.split(":");let u,q;for(l=0;l<h.length;l++)g=h[l],u=(u||c)[g],q=(q||a)[g]=u}c=a}k&&(k[k.length]=c);this.l[d]=c}return this};w.prototype.update=function(a,c,b){if(this.a&&
G(a))return this.A("update",a,c);this.c["@"+a]&&J(c)&&(this.remove(a),this.add(a,c,b,!0));return this};w.prototype.remove=function(a,c,b){if(this.a&&G(a))return this.A("remove",a,c);var d="@"+a;if(this.c[d]){if(this.g)return this.m[this.c[d]].postMessage({remove:!0,id:a}),delete this.c[d],c&&c(),this;if(!b){if(this.async&&"function"!==typeof importScripts){let e=this;d=new Promise(function(f){setTimeout(function(){e.remove(a,null,!0);e=null;f()})});if(c)d.then(c);else return d;return this}if(c)return this.remove(a,
null,!0),c(),this}for(c=0;c<this.b-(this.threshold||0);c++)ba(this.i[c],a);this.depth&&ba(this.h,a);delete this.c[d];this.B=!1}return this};let M;w.prototype.search=function(a,c,b,d){if(G(c)){if(F(c))for(var e=0;e<c.length;e++)c[e].query=a;else c.query=a;a=c;c=1E3}else c&&O(c)?(b=c,c=1E3):c||0===c||(c=1E3);if(this.g){this.F=b;this.u=0;this.o=[];for(var f=0;f<this.g;f++)this.m[f].postMessage({search:!0,limit:c,content:a})}else{var h=[],g=a;if(G(a)&&!F(a)){b||(b=a.callback)&&(g.callback=null);var k=
a.sort;var l=a.page;c=a.limit;f=a.threshold;var p=a.suggest;a=a.query}if(this.a){f=this.a.index;const y=g.where;var n=g.bool||"or",m=g.field;let t=n;let v,x;if(m)F(m)||(m=[m]);else if(F(g)){var u=g;m=[];t=[];for(var q=0;q<g.length;q++)d=g[q],e=d.bool||n,m[q]=d.field,t[q]=e,"not"===e?v=!0:"and"===e&&(x=!0)}else m=this.a.keys;n=m.length;for(q=0;q<n;q++)u&&(g=u[q]),l&&!J(g)&&(g.page=null,g.limit=0),h[q]=f[m[q]].search(g,0);if(b)return b(P.call(this,a,t,h,k,c,p,y,l,x,v));if(this.async){const I=this;return new Promise(function(D){Promise.all(h).then(function(E){D(P.call(I,
a,t,E,k,c,p,y,l,x,v))})})}return P.call(this,a,t,h,k,c,p,y,l,x,v)}f||(f=this.threshold||0);if(!d){if(this.async&&"function"!==typeof importScripts){let y=this;f=new Promise(function(t){setTimeout(function(){t(y.search(g,c,null,!0));y=null})});if(b)f.then(b);else return f;return this}if(b)return b(this.search(g,c,null,!0)),this}if(!a||!J(a))return h;g=a;if(this.cache)if(this.B){if(b=this.j.get(a))return b}else this.j.clear(),this.B=!0;g=this.encode(g);if(!g.length)return h;b=this.f;b=O(b)?b(g):g.split(this.split);
this.filter&&(b=W(b,this.filter));u=b.length;d=!0;e=[];var A=B(),z=0;1<u&&(this.depth&&"strict"===this.f?n=!0:b.sort(qa));if(!n||(q=this.h)){const y=this.b;for(;z<u;z++){let t=b[z];if(t){if(n){if(!m)if(q[t])m=t,A[t]=1;else if(!p)return h;if(p&&z===u-1&&!e.length)n=!1,t=m||t,A[t]=0;else if(!m)continue}if(!A[t]){const v=[];let x=!1,I=0;const D=n?q[m]:this.i;if(D){let E;for(let N=0;N<y-f;N++)if(E=D[N]&&D[N][t])v[I++]=E,x=!0}if(x)m=t,e[e.length]=1<I?v.concat.apply([],v):v[0];else if(!p){d=!1;break}A[t]=
1}}}}else d=!1;d&&(h=ha(e,c,l,p));this.cache&&this.j.set(a,h);return h}};w.prototype.find=function(a,c){return this.where(a,c,1)[0]||null};w.prototype.where=function(a,c,b,d){const e=this.l,f=[];let h=0;let g;var k;let l;if(G(a)){b||(b=c);var p=Object.keys(a);var n=p.length;g=!1;if(1===n&&"id"===p[0])return[e[a.id]];if((k=this.I)&&!d)for(var m=0;m<k.length;m++){var u=k[m],q=a[u];if(!C(q)){l=this.G[u]["@"+q];if(0===--n)return l;p.splice(p.indexOf(u),1);delete a[u];break}}k=Array(n);for(m=0;m<n;m++)k[m]=
p[m].split(":")}else{if(O(a)){c=d||Object.keys(e);b=c.length;for(p=0;p<b;p++)n=e[c[p]],a(n)&&(f[h++]=n);return f}if(C(c))return[e[a]];if("id"===a)return[e[c]];p=[a];n=1;k=[a.split(":")];g=!0}d=l||d||Object.keys(e);m=d.length;for(u=0;u<m;u++){q=l?d[u]:e[d[u]];let A=!0;for(let z=0;z<n;z++){g||(c=a[p[z]]);const y=k[z],t=y.length;let v=q;if(1<t)for(let x=0;x<t;x++)v=v[y[x]];else v=v[y[0]];if(v!==c){A=!1;break}}if(A&&(f[h++]=q,b&&h===b))break}return f};w.prototype.info=function(){if(this.g)for(let a=0;a<
this.g;a++)this.m[a].postMessage({info:!0,id:this.id});else return{id:this.id,items:this.length,cache:this.cache&&this.cache.s?this.cache.s.length:!1,matcher:aa.length+(this.v?this.v.length:0),worker:this.g,threshold:this.threshold,depth:this.depth,resolution:this.b,contextual:this.depth&&"strict"===this.f}};w.prototype.clear=function(){return this.destroy().init()};w.prototype.destroy=function(){this.cache&&(this.j.clear(),this.j=null);this.i=this.h=this.c=null;if(this.a){const a=this.a.keys;for(let c=
0;c<a.length;c++)this.a.index[a[c]].destroy();this.a=this.l=null}return this};w.prototype.export=function(a){const c=!a||C(a.serialize)||a.serialize;if(this.a){const d=!a||C(a.doc)||a.doc;var b=!a||C(a.index)||a.index;a=[];let e=0;if(b)for(b=this.a.keys;e<b.length;e++){const f=this.a.index[b[e]];a[e]=[f.i,f.h,Object.keys(f.c)]}d&&(a[e]=this.l)}else a=[this.i,this.h,Object.keys(this.c)];c&&(a=JSON.stringify(a));return a};w.prototype.import=function(a,c){if(!c||C(c.serialize)||c.serialize)a=JSON.parse(a);
const b=B();if(this.a){var d=!c||C(c.doc)||c.doc,e=0;if(!c||C(c.index)||c.index){c=this.a.keys;const h=c.length;for(var f=a[0][2];e<f.length;e++)b[f[e]]=1;for(e=0;e<h;e++){f=this.a.index[c[e]];const g=a[e];g&&(f.i=g[0],f.h=g[1],f.c=b)}}d&&(this.l=G(d)?d:a[e])}else{d=a[2];for(e=0;e<d.length;e++)b[d[e]]=1;this.i=a[0];this.h=a[1];this.c=b}};const va=function(){const a=r("\\s+"),c=r("[^a-z0-9 ]"),b=[r("[-/]")," ",c,"",a," "];return function(d){return ca(Q(d.toLowerCase(),b))}}(),U={icase:function(a){return a.toLowerCase()},
simple:function(){const a=r("\\s+"),c=r("[^a-z0-9 ]"),b=r("[-/]"),d=r("[\u00e0\u00e1\u00e2\u00e3\u00e4\u00e5]"),e=r("[\u00e8\u00e9\u00ea\u00eb]"),f=r("[\u00ec\u00ed\u00ee\u00ef]"),h=r("[\u00f2\u00f3\u00f4\u00f5\u00f6\u0151]"),g=r("[\u00f9\u00fa\u00fb\u00fc\u0171]"),k=r("[\u00fd\u0177\u00ff]"),l=r("\u00f1"),p=r("[\u00e7c]"),n=r("\u00df"),m=r(" & "),u=[d,"a",e,"e",f,"i",h,"o",g,"u",k,"y",l,"n",p,"k",n,"s",m," and ",b," ",c,"",a," "];return function(q){q=Q(q.toLowerCase(),u);return" "===q?"":q}}(),advanced:function(){const a=
r("ae"),c=r("ai"),b=r("ay"),d=r("ey"),e=r("oe"),f=r("ue"),h=r("ie"),g=r("sz"),k=r("zs"),l=r("ck"),p=r("cc"),n=r("sh"),m=r("th"),u=r("dt"),q=r("ph"),A=r("pf"),z=r("ou"),y=r("uo"),t=[a,"a",c,"ei",b,"ei",d,"ei",e,"o",f,"u",h,"i",g,"s",k,"s",n,"s",l,"k",p,"k",m,"t",u,"t",q,"f",A,"f",z,"o",y,"u"];return function(v,x){if(!v)return v;v=this.simple(v);2<v.length&&(v=Q(v,t));x||1<v.length&&(v=ca(v));return v}}(),extra:function(){const a=r("p"),c=r("z"),b=r("[cgq]"),d=r("n"),e=r("d"),f=r("[vw]"),h=r("[aeiouy]"),
g=[a,"b",c,"s",b,"k",d,"m",e,"t",f,"f",h,""];return function(k){if(!k)return k;k=this.advanced(k,!0);if(1<k.length){k=k.split(" ");for(let l=0;l<k.length;l++){const p=k[l];1<p.length&&(k[l]=p[0]+Q(p.substring(1),g))}k=k.join(" ");k=ca(k)}return k}}(),balance:va},ua=function(){function a(c){this.clear();this.H=!0!==c&&c}a.prototype.clear=function(){this.cache=B();this.count=B();this.index=B();this.s=[]};a.prototype.set=function(c,b){if(this.H&&C(this.cache[c])){let d=this.s.length;if(d===this.H){d--;
const e=this.s[d];delete this.cache[e];delete this.count[e];delete this.index[e]}this.index[c]=d;this.s[d]=c;this.count[c]=-1;this.cache[c]=b;this.get(c)}else this.cache[c]=b};a.prototype.get=function(c){const b=this.cache[c];if(this.H&&b){var d=++this.count[c];const f=this.index;let h=f[c];if(0<h){const g=this.s;for(var e=h;this.count[g[--h]]<=d&&-1!==h;);h++;if(h!==e){for(d=e;d>h;d--)e=g[d-1],g[d]=e,f[e]=d;g[h]=c;f[c]=h}}}return b};return a}();return w}(function(){const K={},R="undefined"!==typeof Blob&&
"undefined"!==typeof URL&&URL.createObjectURL;return function(w,L,S,W,P){S=R?URL.createObjectURL(new Blob(["("+S.toString()+")()"],{type:"text/javascript"})):w+".min.js";w+="-"+L;K[w]||(K[w]=[]);K[w][P]=new Worker(S);K[w][P].onmessage=W;return K[w][P]}}()),this);

9
static/fuse.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(t,r){t.exports=e},function(e,t,r){"use strict";r.r(t);var n=r(0),o=r.n(n),a=function(e,t,r){for(var n=r,o=0,a=e.length;n<t.length;){var i=t[n];if(o<=0&&t.slice(n,n+a)===e)return n;"\\"===i?n++:"{"===i?o++:"}"===i&&o--,n++}return-1},i=function(e,t,r,n){for(var o=[],i=0;i<e.length;i++)if("text"===e[i].type){var l=e[i].data,d=!0,s=0,f=void 0;for(-1!==(f=l.indexOf(t))&&(s=f,o.push({type:"text",data:l.slice(0,s)}),d=!1);;){if(d){if(-1===(f=l.indexOf(t,s)))break;o.push({type:"text",data:l.slice(s,f)}),s=f}else{if(-1===(f=a(r,l,s+t.length)))break;o.push({type:"math",data:l.slice(s+t.length,f),rawData:l.slice(s,f+r.length),display:n}),s=f+r.length}d=!d}o.push({type:"text",data:l.slice(s)})}else o.push(e[i]);return o},l=function(e,t){for(var r=function(e,t){for(var r=[{type:"text",data:e}],n=0;n<t.length;n++){var o=t[n];r=i(r,o.left,o.right,o.display||!1)}return r}(e,t.delimiters),n=document.createDocumentFragment(),a=0;a<r.length;a++)if("text"===r[a].type)n.appendChild(document.createTextNode(r[a].data));else{var l=document.createElement("span"),d=r[a].data;t.displayMode=r[a].display;try{t.preProcess&&(d=t.preProcess(d)),o.a.render(d,l,t)}catch(e){if(!(e instanceof o.a.ParseError))throw e;t.errorCallback("KaTeX auto-render: Failed to parse `"+r[a].data+"` with ",e),n.appendChild(document.createTextNode(r[a].rawData));continue}n.appendChild(l)}return n};t.default=function(e,t){if(!e)throw new Error("No element provided to render");var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=t[n]);r.delimiters=r.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\[",right:"\\]",display:!0}],r.ignoredTags=r.ignoredTags||["script","noscript","style","textarea","pre","code"],r.ignoredClasses=r.ignoredClasses||[],r.errorCallback=r.errorCallback||console.error,r.macros=r.macros||{},function e(t,r){for(var n=0;n<t.childNodes.length;n++){var o=t.childNodes[n];if(3===o.nodeType){var a=l(o.textContent,r);n+=a.childNodes.length-1,t.replaceChild(a,o)}else 1===o.nodeType&&function(){var t=" "+o.className+" ";-1===r.ignoredTags.indexOf(o.nodeName.toLowerCase())&&r.ignoredClasses.every(function(e){return-1===t.indexOf(" "+e+" ")})&&e(o,r)}()}}(e,r)}}]).default}); !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,(function(e){return function(){"use strict";var t={771:function(t){t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,r),i.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var o={};return function(){r.d(o,{default:function(){return d}});var e=r(771),t=r.n(e);const n=function(e,t,n){let r=n,o=0;const i=e.length;for(;r<t.length;){const n=t[r];if(o<=0&&t.slice(r,r+i)===e)return r;"\\"===n?r++:"{"===n?o++:"}"===n&&o--,r++}return-1},i=/^\\begin{/;var a=function(e,t){let r;const o=[],a=new RegExp("("+t.map((e=>e.left.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"))).join("|")+")");for(;r=e.search(a),-1!==r;){r>0&&(o.push({type:"text",data:e.slice(0,r)}),e=e.slice(r));const a=t.findIndex((t=>e.startsWith(t.left)));if(r=n(t[a].right,e,t[a].left.length),-1===r)break;const l=e.slice(0,r+t[a].right.length),s=i.test(l)?l:e.slice(t[a].left.length,r);o.push({type:"math",data:s,rawData:l,display:t[a].display}),e=e.slice(r+t[a].right.length)}return""!==e&&o.push({type:"text",data:e}),o};const l=function(e,n){const r=a(e,n.delimiters);if(1===r.length&&"text"===r[0].type)return null;const o=document.createDocumentFragment();for(let e=0;e<r.length;e++)if("text"===r[e].type)o.appendChild(document.createTextNode(r[e].data));else{const i=document.createElement("span");let a=r[e].data;n.displayMode=r[e].display;try{n.preProcess&&(a=n.preProcess(a)),t().render(a,i,n)}catch(i){if(!(i instanceof t().ParseError))throw i;n.errorCallback("KaTeX auto-render: Failed to parse `"+r[e].data+"` with ",i),o.appendChild(document.createTextNode(r[e].rawData));continue}o.appendChild(i)}return o},s=function(e,t){for(let n=0;n<e.childNodes.length;n++){const r=e.childNodes[n];if(3===r.nodeType){let o=r.textContent,i=r.nextSibling,a=0;for(;i&&i.nodeType===Node.TEXT_NODE;)o+=i.textContent,i=i.nextSibling,a++;const s=l(o,t);if(s){for(let e=0;e<a;e++)r.nextSibling.remove();n+=s.childNodes.length-1,e.replaceChild(s,r)}else n+=a}else if(1===r.nodeType){const e=" "+r.className+" ";-1===t.ignoredTags.indexOf(r.nodeName.toLowerCase())&&t.ignoredClasses.every((t=>-1===e.indexOf(" "+t+" ")))&&s(r,t)}}};var d=function(e,t){if(!e)throw new Error("No element provided to render");const n={};for(const e in t)t.hasOwnProperty(e)&&(n[e]=t[e]);n.delimiters=n.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}],n.ignoredTags=n.ignoredTags||["script","noscript","style","textarea","pre","code","option"],n.ignoredClasses=n.ignoredClasses||[],n.errorCallback=n.errorCallback||console.error,n.macros=n.macros||{},s(e,n)}}(),o=o.default}()}));

Some files were not shown because too many files have changed in this diff Show More