mirror of https://github.com/artifacthub/blog.git
Initial commit with structure
Signed-off-by: Matt Farina <matt@mattfarina.com>
This commit is contained in:
commit
32f6b8020e
|
|
@ -0,0 +1 @@
|
||||||
|
public/
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
title: "{{ replace .Name "-" " " | title }}"
|
||||||
|
date: {{ .Date }}
|
||||||
|
draft: true
|
||||||
|
---
|
||||||
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
baseURL = "https://blog.artifacthub.io/"
|
||||||
|
languageCode = "en-us"
|
||||||
|
title = "Artifact Hub Blog"
|
||||||
|
theme = "hugo-geekdoc"
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
title: "First Post"
|
||||||
|
date: 2020-11-24T10:10:34-05:00
|
||||||
|
---
|
||||||
|
|
||||||
|
wwwwww
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
"indent_size": 4,
|
||||||
|
"indent_char": " ",
|
||||||
|
"preserve_newlines": false,
|
||||||
|
"unformatted" : ["svg"],
|
||||||
|
"content_unformatted": ["pre"],
|
||||||
|
"extra_liners": ["head", "body", "html", "main", "header", "footer", "section"]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
- BREAKING
|
||||||
|
- remove `geekblogAnchorLeft`;
|
||||||
|
for a better spacing left-side anchors were removed
|
||||||
|
- INTERNAL
|
||||||
|
- upgrade CI pipeline to use Hugo v0.74.3
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2020 Robert Kaussow
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
this software and associated documentation files (the "Software"), to deal in
|
||||||
|
the Software without restriction, including without limitation the rights to
|
||||||
|
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||||
|
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||||
|
subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||||
|
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||||
|
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||||
|
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Hugo Geekdoc Theme
|
||||||
|
|
||||||
|
[](https://cloud.drone.io/xoxys/hugo-geekdoc)
|
||||||
|
[](https://gohugo.io)
|
||||||
|
[](https://github.com/xoxys/hugo-geekdoc/releases/latest)
|
||||||
|
[](LICENSE)
|
||||||
|
|
||||||
|
Geekdoc is a simple Hugo theme for documentations. This work is inspired and partially based on the [hugo-book](https://github.com/alex-shpak/hugo-book) theme. You can find a demo and the full documentation at [https://geekdocs.de](https://geekdocs.de).
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
||||||
|
|
||||||
|
## Maintainers and Contributors
|
||||||
|
|
||||||
|
[Robert Kaussow](https://github.com/xoxys)
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
v0.4.0
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
title: "{{ .Name | humanize | title }}"
|
||||||
|
weight: 1
|
||||||
|
# geekdocFlatSection: false
|
||||||
|
# geekdocToc: 6
|
||||||
|
# geekdocHidden: false
|
||||||
|
---
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
title: "{{ replace .Name "-" " " | title }}"
|
||||||
|
date: {{ .Date }}
|
||||||
|
---
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
(function() {
|
||||||
|
const indexCfg = {{ with .Scratch.Get "geekdocSearchConfig" }}
|
||||||
|
{{ . | jsonify}};
|
||||||
|
{{ else }}
|
||||||
|
{};
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
indexCfg.doc = {
|
||||||
|
id: 'id',
|
||||||
|
field: ['title', 'content'],
|
||||||
|
store: ['title', 'href'],
|
||||||
|
};
|
||||||
|
|
||||||
|
const index = FlexSearch.create(indexCfg);
|
||||||
|
window.geekdocSearchIndex = index;
|
||||||
|
|
||||||
|
{{ range $index, $page := .Site.Pages }}
|
||||||
|
index.add({
|
||||||
|
'id': {{ $index }},
|
||||||
|
'href': '{{ $page.RelPermalink }}',
|
||||||
|
'title': {{ (partial "title" $page) | jsonify }},
|
||||||
|
'content': {{ $page.Plain | jsonify }}
|
||||||
|
});
|
||||||
|
{{- end -}}
|
||||||
|
})();
|
||||||
|
|
@ -0,0 +1,66 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
{{ $searchDataFile := printf "js/%s.search-data.js" .Language.Lang }}
|
||||||
|
{{ $searchData := resources.Get "js/search-data.js" | resources.ExecuteAsTemplate $searchDataFile . | resources.Minify | resources.Fingerprint }}
|
||||||
|
|
||||||
|
(function() {
|
||||||
|
const input = document.querySelector('#gdoc-search-input');
|
||||||
|
const results = document.querySelector('#gdoc-search-results');
|
||||||
|
|
||||||
|
input.addEventListener('focus', init);
|
||||||
|
input.addEventListener('keyup', search);
|
||||||
|
|
||||||
|
function init() {
|
||||||
|
input.removeEventListener('focus', init); // init once
|
||||||
|
input.required = true;
|
||||||
|
|
||||||
|
loadScript('{{ "js/flexsearch.min.js" | relURL }}');
|
||||||
|
loadScript('{{ $searchData.RelPermalink }}', function() {
|
||||||
|
input.required = false;
|
||||||
|
search();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function search() {
|
||||||
|
while (results.firstChild) {
|
||||||
|
results.removeChild(results.firstChild);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!input.value) {
|
||||||
|
console.log("empty")
|
||||||
|
results.classList.remove("has-hits");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const searchHits = window.geekdocSearchIndex.search(input.value, 10);
|
||||||
|
|
||||||
|
console.log(searchHits.length);
|
||||||
|
if (searchHits.length > 0) {
|
||||||
|
results.classList.add("has-hits");
|
||||||
|
} else {
|
||||||
|
results.classList.remove("has-hits");
|
||||||
|
}
|
||||||
|
|
||||||
|
searchHits.forEach(function(page) {
|
||||||
|
const li = document.createElement('li'),
|
||||||
|
a = li.appendChild(document.createElement('a'));
|
||||||
|
|
||||||
|
a.href = page.href;
|
||||||
|
a.textContent = page.title;
|
||||||
|
|
||||||
|
results.appendChild(li);
|
||||||
|
results.classList.add("DUMMY");
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadScript(src, callback) {
|
||||||
|
const script = document.createElement('script');
|
||||||
|
script.defer = true;
|
||||||
|
script.async = false;
|
||||||
|
script.src = src;
|
||||||
|
script.onload = callback;
|
||||||
|
|
||||||
|
document.head.appendChild(script);
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="{{ .Site.Language.Lang }}">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
{{ partial "head" . }}
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
{{ partial "svg-icon-symbols" . }}
|
||||||
|
|
||||||
|
<div class="wrapper">
|
||||||
|
{{ partial "site-header" (dict "Root" . "MenuEnabled" false) }}
|
||||||
|
|
||||||
|
<main class="gdoc-error flex-even">
|
||||||
|
<div class="flex align-center justify-center">
|
||||||
|
<div class="gdoc-error__icon">
|
||||||
|
<svg class="icon telescope"><use xlink:href="#telescope"></use></svg>
|
||||||
|
</div>
|
||||||
|
<div class="gdoc-error__message">
|
||||||
|
<div class="gdoc-error__line gdoc-error__title">Lost?</div>
|
||||||
|
<div class="gdoc-error__line gdoc-error__code">Error 404</div>
|
||||||
|
<div class="gdoc-error__line gdoc-error__help">
|
||||||
|
Seems like what you are looking for can't be found. Don't worry we can
|
||||||
|
bring you back to the <a class="gdoc-error__link" href="{{ .Site.BaseURL }}">homepage</a>.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
{{ partial "site-footer" . }}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="{{ .Site.Language.Lang }}">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
{{ partial "head" . }}
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
{{ partial "svg-icon-symbols" . }}
|
||||||
|
|
||||||
|
<div class="wrapper">
|
||||||
|
<input type="checkbox" class="hidden" id="menu-control" />
|
||||||
|
{{ partial "site-header" (dict "Root" . "MenuEnabled" true) }}
|
||||||
|
|
||||||
|
<main class="container flex flex-even">
|
||||||
|
<aside class="gdoc-nav">
|
||||||
|
{{ partial "menu" . }}
|
||||||
|
</aside>
|
||||||
|
|
||||||
|
<div class="gdoc-page">
|
||||||
|
{{ template "main" . }}
|
||||||
|
{{ partial "page-footer" . }}
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
{{ partial "site-footer" . }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{ partial "foot" . }}
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
{{ define "main" }}
|
||||||
|
{{ partial "page-header" . }}
|
||||||
|
<article class="gdoc-markdown">
|
||||||
|
<!-- <h1>{{ partial "title" . }}</h1> -->
|
||||||
|
{{ partial "content" . }}
|
||||||
|
</article>
|
||||||
|
{{ end }}
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
{{ define "main" }}
|
||||||
|
{{ partial "page-header" . }}
|
||||||
|
|
||||||
|
<article class="gdoc-markdown">
|
||||||
|
<!-- <h1>{{ partial "title" . }}</h1> -->
|
||||||
|
{{ partial "content" . }}
|
||||||
|
</article>
|
||||||
|
{{ end }}
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
{{ $showAnchor := (and (default true .Page.Params.GeekdocAnchor) (default true .Site.Params.GeekdocAnchor)) }}
|
||||||
|
|
||||||
|
{{ $.Scratch.Set "content" (.Content | replaceRE `<nav id="TableOfContents">\s*<ul>\s*<li>\s*<ul>` `<nav id="TableOfContents"><ul>` | replaceRE `</ul>\s*</li>\s*</ul>\s*</nav>` `</ul></nav>` | safeHTML) }}
|
||||||
|
{{ if $showAnchor }}
|
||||||
|
{{ $.Scratch.Set "content" ($.Scratch.Get "content" | replaceRE "(<h[2-9] id=\"([^\"]+)\"[^>]*>)(.*?)(</h[2-9]+>)" (printf `<div class="gdoc-page__anchorwrap">%s%s<a data-clipboard-text="%s" class="gdoc-page__anchor gdoc-page__anchor--right clip" aria-label="Anchor %s" href="#%s"><svg class="icon link"><use xlink:href="#link"></use></svg></a>%s</div>` `${1}` `${3}` (absURL (printf "%s#%s" .Permalink `${2}`)) `${3}` `${2}` `${4}`) | safeHTML) }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ $.Scratch.Set "content" ($.Scratch.Get "content" | replaceRE "<a href=\"https://github.com/artifacthub/hub/blob/master/docs/(.*?).md\">(.*?)</a>" (printf `<a href="/docs/%s">%s</a>` `${1}` `${2}`) | safeHTML) }}
|
||||||
|
|
||||||
|
{{ $.Scratch.Get "content" }}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
{{ if default true .Site.Params.GeekdocSearch }}
|
||||||
|
{{ .Scratch.Set "geekdocSearchConfig" .Site.Params.GeekdocSearchConfig }}
|
||||||
|
<!-- Remove after https://github.com/gohugoio/hugo/issues/6331 -->
|
||||||
|
{{ $searchJSFile := printf "js/%s.search.js" .Language.Lang }}
|
||||||
|
{{ $searchJS := resources.Get "js/search.js" | resources.ExecuteAsTemplate $searchJSFile . | resources.Minify }}
|
||||||
|
<script defer src="{{ $searchJS.RelPermalink }}"></script>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ if default true .Site.Params.GeekdocAnchorCopy }}
|
||||||
|
<script defer src="{{ "js/clipboard.min.js" | relURL }}"></script>
|
||||||
|
<script>
|
||||||
|
document.addEventListener("DOMContentLoaded", function(event) {
|
||||||
|
var clipboard = new ClipboardJS('.clip');
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
{{ end }}
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta name="description" content="{{ partial "title" . }}">
|
||||||
|
|
||||||
|
<title>{{ partial "title" . }} | {{ .Site.Title -}}</title>
|
||||||
|
|
||||||
|
<link rel="shortcut icon" type="image/png" href="/media/logo.png">
|
||||||
|
<link rel="apple-touch-icon" href="/media/logo192.png" />
|
||||||
|
<link rel="apple-touch-icon" sizes="512x512" href="/media/logo512.png" />
|
||||||
|
<link rel="stylesheet" href="/main.min.css" media="screen">
|
||||||
|
<link rel="stylesheet" href="/custom.css" media="screen">
|
||||||
|
|
||||||
|
{{ with .OutputFormats.Get "rss" -}}
|
||||||
|
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
|
||||||
|
{{ end -}}
|
||||||
|
|
||||||
|
{{ "<!--" | safeHTML -}}
|
||||||
|
Made with Geekdoc theme https://github.com/xoxys/hugo-geekdoc
|
||||||
|
{{- "-->" | safeHTML }}
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
{{ $current := .current }}
|
||||||
|
{{ template "menu-file" dict "sect" .source "current" $current "site" $current.Site }}
|
||||||
|
|
||||||
|
{{ define "menu-file" }}
|
||||||
|
{{ $current := .current }}
|
||||||
|
{{ $site := .site }}
|
||||||
|
|
||||||
|
<ul class="gdoc-nav__list">
|
||||||
|
{{ range sort (default (seq 0) .sect) "weight" }}
|
||||||
|
{{ $current.Scratch.Set "current" $current }}
|
||||||
|
{{ $current.Scratch.Set "site" $site }}
|
||||||
|
|
||||||
|
<li>
|
||||||
|
{{ $ref := default false .ref }}
|
||||||
|
{{ if $ref}}
|
||||||
|
{{ $site := $current.Scratch.Get "site" }}
|
||||||
|
{{ $this := $site.GetPage .ref }}
|
||||||
|
{{ $current := $current.Scratch.Get "current" }}
|
||||||
|
{{ $icon := default false .icon }}
|
||||||
|
|
||||||
|
<span class="flex">
|
||||||
|
{{ if $icon }}<svg class="icon {{ .icon }}"><use xlink:href="#{{ .icon }}"></use></svg>{{ end }}
|
||||||
|
<a href="{{ if .external }}{{ .ref }}{{ else }}{{ relref $current .ref }}{{ end }}"
|
||||||
|
class="gdoc-nav__entry {{ if not .external }}{{ if eq $current $this }}is-active{{ end }}{{ end }}">
|
||||||
|
{{ .name }}
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
{{ else }}
|
||||||
|
<span class="flex gdoc-nav__item">
|
||||||
|
{{ .name }}
|
||||||
|
</span>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ $sub := default false .sub }}
|
||||||
|
{{ if $sub }}
|
||||||
|
{{ template "menu-file" dict "sect" $sub "current" ($current.Scratch.Get "current") "site" ($current.Scratch.Get "site") }}
|
||||||
|
{{ end }}
|
||||||
|
</li>
|
||||||
|
|
||||||
|
{{ end }}
|
||||||
|
</ul>
|
||||||
|
{{ end }}
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
{{ $current := . }}
|
||||||
|
{{ template "tree-nav" dict "sect" .Site.Home.Sections "current" $current }}
|
||||||
|
|
||||||
|
<!-- templates -->
|
||||||
|
{{ define "tree-nav" }}
|
||||||
|
{{ $current := .current }}
|
||||||
|
|
||||||
|
<ul class="gdoc-nav__list">
|
||||||
|
{{ range .sect.GroupBy "Weight" }}
|
||||||
|
{{ range .ByTitle }}
|
||||||
|
{{ if not .Params.geekdocHidden }}
|
||||||
|
<li>
|
||||||
|
{{ if or .Content .Params.geekdocFlatSection }}
|
||||||
|
<span class="flex">
|
||||||
|
<a href="{{ .RelPermalink }}" class="gdoc-nav__entry {{ if eq $current . }}is-active{{ end }}">
|
||||||
|
{{ partial "title" . }}
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
{{ else }}
|
||||||
|
<span class="flex gdoc-nav__item">{{ partial "title" . }}</span>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ $numberOfPages := (add (len .Pages) (len .Sections)) }}
|
||||||
|
{{ if and (ne $numberOfPages 0) (not .Params.geekdocFlatSection) }}
|
||||||
|
{{ template "tree-nav" dict "sect" .Pages "current" $current}}
|
||||||
|
{{ end }}
|
||||||
|
</li>
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
</ul>
|
||||||
|
{{ end }}
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
<nav>
|
||||||
|
{{ partial "search" . }}
|
||||||
|
{{ $root := "/" }}
|
||||||
|
|
||||||
|
<section class="gdoc-nav--main">
|
||||||
|
<ul class="gdoc-nav__list">
|
||||||
|
<li>
|
||||||
|
<span class="flex">
|
||||||
|
<a href="{{ $root }}" class="gdoc-nav__entry gdoc-nav__entry-root {{ if eq $root .RelPermalink }}is-active{{ end }}">
|
||||||
|
Welcome
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
{{ if .Site.Params.GeekdocMenuBundle }}
|
||||||
|
{{ partial "menu-bundle" (dict "current" . "source" .Site.Data.menu.main.main) }}
|
||||||
|
{{ else }}
|
||||||
|
{{ partial "menu-filetree" . }}
|
||||||
|
{{ end }}
|
||||||
|
<ul class="gdoc-nav__list">
|
||||||
|
<li>
|
||||||
|
<span class="flex">
|
||||||
|
<a href="https://artifacthub.github.io/hub/api/" target="_blank" class="gdoc-nav__entry gdoc-nav__entry-root">
|
||||||
|
API docs
|
||||||
|
<div class="gdoc-nav__icon">
|
||||||
|
<svg stroke="currentColor" fill="none" stroke-width="2" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" class="ml-1" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="gdoc-nav--more">
|
||||||
|
{{ if .Site.Data.menu.more.more }}
|
||||||
|
<h2>More</h2>
|
||||||
|
{{ partial "menu-bundle" (dict "current" . "source" .Site.Data.menu.more.more) }}
|
||||||
|
{{ end }}
|
||||||
|
</section>
|
||||||
|
</nav>
|
||||||
|
|
@ -0,0 +1,60 @@
|
||||||
|
{{ $current := . }}
|
||||||
|
{{ $site := .Site }}
|
||||||
|
{{ $current.Scratch.Set "prev" false }}
|
||||||
|
{{ $current.Scratch.Set "getNext" false }}
|
||||||
|
|
||||||
|
{{ $current.Scratch.Set "nextPage" false }}
|
||||||
|
{{ $current.Scratch.Set "prevPage" false }}
|
||||||
|
|
||||||
|
{{ template "menu_nextprev" dict "sect" $.Site.Data.menu.main.main "current" $current "site" $site }}
|
||||||
|
|
||||||
|
{{ define "menu_nextprev" }}
|
||||||
|
{{ $current := .current }}
|
||||||
|
{{ $site := .site }}
|
||||||
|
|
||||||
|
{{ range sort (default (seq 0) .sect) "weight" }}
|
||||||
|
{{ $current.Scratch.Set "current" $current }}
|
||||||
|
{{ $current.Scratch.Set "site" $site }}
|
||||||
|
|
||||||
|
{{ $ref := default false .ref }}
|
||||||
|
{{ if $ref}}
|
||||||
|
{{ $site := $current.Scratch.Get "site" }}
|
||||||
|
{{ $this := $site.GetPage .ref }}
|
||||||
|
{{ $current := $current.Scratch.Get "current" }}
|
||||||
|
|
||||||
|
{{ if $current.Scratch.Get "getNext" }}
|
||||||
|
{{ $current.Scratch.Set "nextPage" (dict "name" .name "this" $this) }}
|
||||||
|
{{ $current.Scratch.Set "getNext" false }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ if eq $current $this }}
|
||||||
|
{{ $current.Scratch.Set "prevPage" ($current.Scratch.Get "prev") }}
|
||||||
|
{{ $current.Scratch.Set "getNext" true }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ $current.Scratch.Set "prev" (dict "name" .name "this" $this) }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ $sub := default false .sub }}
|
||||||
|
{{ if $sub }}
|
||||||
|
{{ template "menu_nextprev" dict "sect" $sub "current" ($current.Scratch.Get "current") "site" ($current.Scratch.Get "site") }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
|
||||||
|
<div class="gdoc-page__footer flex flex-wrap justify-between">
|
||||||
|
{{ $showPrevNext := (and (default true .Site.Params.GeekdocNextPrev) .Site.Params.GeekdocMenuBundle) }}
|
||||||
|
{{ if $showPrevNext }}
|
||||||
|
<span class="gdoc-page__nav">
|
||||||
|
{{ with ($current.Scratch.Get "prevPage") }}
|
||||||
|
<a class="gdoc-page__nav--prev flex align-center" href="{{.this.RelPermalink}}" title="{{ .name }}"> {{ .name }}</a>
|
||||||
|
{{ end }}
|
||||||
|
</span>
|
||||||
|
<span class="gdoc-page__nav">
|
||||||
|
{{ with ($current.Scratch.Get "nextPage") }}
|
||||||
|
<a class="gdoc-page__nav--next flex align-center" href="{{.this.RelPermalink}}" title="{{ .name }}">{{ .name }} </a>
|
||||||
|
{{ end }}
|
||||||
|
</span>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
{{ $geekdocRepo := default (default false .Site.Params.GeekdocRepo) .Page.Params.GeekdocRepo }}
|
||||||
|
{{ $geekdocEditPath := default (default false .Site.Params.GeekdocEditPath) .Page.Params.GeekdocEditPath }}
|
||||||
|
{{ if .File }}
|
||||||
|
{{ $.Scratch.Set "geekdocFilePath" (default .File.Path .Page.Params.geekdocFilePath) }}
|
||||||
|
{{ else }}
|
||||||
|
{{ $.Scratch.Set "geekdocFilePath" false }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ define "breadcrumb" }}
|
||||||
|
{{ $parent := .page.Parent }}
|
||||||
|
{{ if $parent }}
|
||||||
|
{{ $name := (partial "title" $parent) }}
|
||||||
|
{{ $value := (printf "%s / %s" $name .value) }}
|
||||||
|
{{ template "breadcrumb" dict "page" $parent "value" $value }}
|
||||||
|
{{ else }}
|
||||||
|
{{ .value | safeHTML }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ $showBreadcrumb := (and (default true .Page.Params.GeekdocBreadcrumb) (default true .Site.Params.GeekdocBreadcrumb)) }}
|
||||||
|
{{ $showEdit := (and ($.Scratch.Get "geekdocFilePath") $geekdocRepo $geekdocEditPath) }}
|
||||||
|
<div class="gdoc-page__header flex flex-wrap justify-between{{ if not $showEdit }} hidden-mobile{{ end }}{{ if (and (not $showBreadcrumb) (not $showEdit)) }} hidden {{ end }}" itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
|
||||||
|
<span>
|
||||||
|
{{if $showBreadcrumb }}
|
||||||
|
<span class="breadcrumb">
|
||||||
|
<svg class="icon path"><use xlink:href="#path"></use></svg>
|
||||||
|
{{ $name := (partial "title" .) }}
|
||||||
|
{{ template "breadcrumb" dict "page" . "value" $name }}
|
||||||
|
</span>
|
||||||
|
{{ end }}
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
{{ if $showEdit }}
|
||||||
|
<svg class="icon code"><use xlink:href="#code"></use></svg>
|
||||||
|
<a href="{{ $geekdocRepo }}/{{ $geekdocEditPath }}/{{ $.Scratch.Get "geekdocFilePath" }}">
|
||||||
|
Edit this page
|
||||||
|
</a>
|
||||||
|
{{ end }}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
{{ if default true .Site.Params.GeekdocSearch }}
|
||||||
|
<div class="gdoc-search">
|
||||||
|
<svg class="icon search"><use xlink:href="#search"></use></svg>
|
||||||
|
<input type="text" id="gdoc-search-input" class="gdoc-search__input" placeholder="Search..."
|
||||||
|
aria-label="Search" maxlength="64" />
|
||||||
|
<div class="gdoc-search__spinner spinner hidden"></div>
|
||||||
|
<div class="gdoc-search__list">
|
||||||
|
<ul id="gdoc-search-results">
|
||||||
|
</ul>
|
||||||
|
<div class="gdoc-search__arrow"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
<footer class="gdoc-footer">
|
||||||
|
<div class="container flex flex-wrap justify-between">
|
||||||
|
<div>
|
||||||
|
{{ with .Site.Params.GeekdocLegalNotice }}
|
||||||
|
<span class="gdoc-footer__item">
|
||||||
|
<a href="{{ . | relURL }}" class="gdoc-footer__link">Legal Notice</a>
|
||||||
|
</span>
|
||||||
|
{{ end }}
|
||||||
|
{{ with .Site.Params.GeekdocPrivacyPolicy }}
|
||||||
|
<span class="gdoc-footer__item">
|
||||||
|
<a href="{{ . | relURL }}" class="gdoc-footer__link">Privacy Policy</a>
|
||||||
|
</span>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span>
|
||||||
|
Copyright © The Artifact Hub Authors
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
<header class="gdoc-header">
|
||||||
|
<div class="container flex align-center justify-between">
|
||||||
|
{{ if .MenuEnabled }}
|
||||||
|
<label for="menu-control" class="gdoc-nav__control">
|
||||||
|
<svg class="icon menu"><use xlink:href="#menu"></use></svg>
|
||||||
|
<svg class="icon arrow-back"><use xlink:href="#arrow_back"></use></svg>
|
||||||
|
</label>
|
||||||
|
{{ end }}
|
||||||
|
<a class="gdoc-header__link" href="/">
|
||||||
|
<span class="gdoc-brand flex align-center">
|
||||||
|
<img class="gdoc-brand__img" src="{{ (default "brand.svg" .Root.Site.Params.GeekdocLogo) | relURL }}" alt="{{ .Root.Site.Title }}" width=20 height=20>
|
||||||
|
Artifact <span class="gdoc-brand__hub">HUB</span>
|
||||||
|
<span class="gdoc-brand__badge">BETA</span>
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 7.8 KiB |
|
|
@ -0,0 +1,11 @@
|
||||||
|
{{ $title := "" }}
|
||||||
|
|
||||||
|
{{ if .Title }}
|
||||||
|
{{ $title = .Title }}
|
||||||
|
{{ else if and .IsSection .File }}
|
||||||
|
{{ $title = path.Base .File.Dir | humanize | title }}
|
||||||
|
{{ else if and .IsPage .File }}
|
||||||
|
{{ $title = .File.BaseFileName | humanize | title }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ return $title }}
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
{{ define "main" }}
|
||||||
|
{{ $dateFormat := default "January 2, 2006" .Site.Params.GeekdocDateFormat }}
|
||||||
|
{{ range sort .Paginator.Pages }}
|
||||||
|
<article class="gdoc-markdown gdoc-post">
|
||||||
|
<header>
|
||||||
|
<h1 class="gdoc-post__title">
|
||||||
|
<a href="{{ .RelPermalink }}">{{ .Title }}</a>
|
||||||
|
</h1>
|
||||||
|
<div class="gdoc-post__date">{{ .Date.Format $dateFormat }}</div>
|
||||||
|
</header>
|
||||||
|
<div>
|
||||||
|
{{ .Summary }}
|
||||||
|
{{ if .Truncated }}
|
||||||
|
<a class="gdoc-post__readmore" title="Read full post" href="{{ .RelPermalink }}">
|
||||||
|
Read full post
|
||||||
|
</a>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
{{ define "main" }}
|
||||||
|
{{ $dateFormat := default "January 2, 2006" .Site.Params.GeekdocDateFormat }}
|
||||||
|
<article class="gdoc-markdown gdoc-post">
|
||||||
|
<header>
|
||||||
|
<h1 class="gdoc-post__title">{{ .Title }}</h1>
|
||||||
|
<div class="gdoc-post__date">{{ .Date.Format $dateFormat }}</div>
|
||||||
|
</header>
|
||||||
|
<div>
|
||||||
|
{{ partial "content" . }}
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
{{ end }}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
{{ $ref := "" }}
|
||||||
|
{{ $target := "" }}
|
||||||
|
|
||||||
|
{{ with .Get "href" }}
|
||||||
|
{{ $ref = . }}
|
||||||
|
{{ $target = "_blank" }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ with .Get "relref" }}
|
||||||
|
{{ $ref = relref $ . }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<span class="gdoc-button{{ with .Get "class" }} {{ . }}{{ end }}">
|
||||||
|
<a {{ with $ref }} href="{{.}}" {{ end }} {{ with $target }} target="{{.}}" {{ end }} class="gdoc-button__link">
|
||||||
|
{{ $.Inner }}
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
<div class="gdoc-columns flex flex-wrap">
|
||||||
|
{{ range split .Inner "<--->" }}
|
||||||
|
<div class="gdoc-columns__content gdoc-markdown--nested flex-even">
|
||||||
|
{{ . | markdownify }}
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
{{ $id := substr (sha1 .Inner) 0 8 }}
|
||||||
|
<div class="gdoc-expand">
|
||||||
|
<label class="gdoc-expand__head flex justify-between" for="{{ $id }}-{{ .Ordinal }}">
|
||||||
|
<span>{{ default "Expand" (.Get 0) }}</span>
|
||||||
|
<span>{{ default "↕" (.Get 1) }}</span>
|
||||||
|
</label>
|
||||||
|
<input id="{{ $id }}-{{ .Ordinal }}" type="checkbox" class="gdoc-expand__control hidden" />
|
||||||
|
<div class="gdoc-markdown--nested gdoc-expand__content">
|
||||||
|
{{ .Inner | markdownify }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
<blockquote class="gdoc-hint {{ .Get 0 }}">
|
||||||
|
{{ .Inner | markdownify }}
|
||||||
|
</blockquote>
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
{{$file := .Get "file"}}
|
||||||
|
<div class="gdoc-include">
|
||||||
|
{{- if eq (.Get "markdown") "true" -}}
|
||||||
|
{{- $file | readFile | markdownify -}}
|
||||||
|
{{- else if (.Get "language") -}}
|
||||||
|
{{- highlight ($file | readFile) (.Get "language") (default "linenos=table" (.Get "options")) -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{ $file | readFile | safeHTML }}
|
||||||
|
{{- end -}}
|
||||||
|
</div>
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
{{ if not (.Page.Scratch.Get "mermaid") }}
|
||||||
|
<!-- Include mermaid only first time -->
|
||||||
|
<script defer src="{{ "js/mermaid.min.js" | relURL }}"></script>
|
||||||
|
<script>
|
||||||
|
document.addEventListener("DOMContentLoaded", function(event) {
|
||||||
|
mermaid.initialize({
|
||||||
|
flowchart: { useMaxWidth: true }
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
{{ .Page.Scratch.Set "mermaid" true }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<pre class="gdoc-mermaid mermaid{{ with .Get "class" }} {{ . }}{{ end }}">
|
||||||
|
{{- .Inner -}}
|
||||||
|
</pre>
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
{{ if .Parent }}
|
||||||
|
{{ $name := .Get 0 }}
|
||||||
|
{{ $group := printf "tabs-%s" (.Parent.Get 0) }}
|
||||||
|
|
||||||
|
{{ if not (.Parent.Scratch.Get $group) }}
|
||||||
|
{{ .Parent.Scratch.Set $group slice }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ .Parent.Scratch.Add $group (dict "Name" $name "Content" .Inner) }}
|
||||||
|
{{ else }}
|
||||||
|
{{ errorf "%q: 'tab' shortcode must be inside 'tabs' shortcode" .Page.Path }}
|
||||||
|
{{ end}}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
{{ if .Inner }}{{ end }}
|
||||||
|
{{ $id := .Get 0 }}
|
||||||
|
{{ $group := printf "tabs-%s" $id }}
|
||||||
|
|
||||||
|
<div class="gdoc-tabs">
|
||||||
|
{{ range $index, $tab := .Scratch.Get $group }}
|
||||||
|
<input type="radio" class="gdoc-tabs__control hidden" name="{{ $group }}" id="{{ printf "%s-%d" $group $index }}"
|
||||||
|
{{ if not $index }}checked="checked" {{ end }} />
|
||||||
|
<label for="{{ printf "%s-%d" $group $index }}" class="gdoc-tabs__label">
|
||||||
|
{{ $tab.Name }}
|
||||||
|
</label>
|
||||||
|
<div class="gdoc-markdown--nested gdoc-tabs__content">
|
||||||
|
{{ .Content | markdownify }}
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
{{ $tocLevels := default (default 6 .Site.Params.GeekdocToC) .Page.Params.GeekdocToC }}
|
||||||
|
|
||||||
|
{{ if $tocLevels }}
|
||||||
|
<div class="gdoc-toc gdoc-toc__level--{{$tocLevels}}">
|
||||||
|
{{ template "toc-tree" dict "sect" .Page.Pages }}
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- templates -->
|
||||||
|
{{ define "toc-tree" }}
|
||||||
|
<ul>
|
||||||
|
{{ range .sect.GroupBy "Weight" }}
|
||||||
|
{{ range .ByTitle }}
|
||||||
|
{{ if not .Params.geekdocHidden }}
|
||||||
|
<li>
|
||||||
|
{{ if or .Content .Params.geekdocFlatSection }}
|
||||||
|
<span>
|
||||||
|
<a href="{{ .RelPermalink }}" class="gdoc-toc__entry">{{ partial "title" . }}</a>
|
||||||
|
</span>
|
||||||
|
{{ else }}
|
||||||
|
<span>{{ partial "title" . }}</span>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ $numberOfPages := (add (len .Pages) (len .Sections)) }}
|
||||||
|
{{ if and (ne $numberOfPages 0) (not .Params.geekdocFlatSection) }}
|
||||||
|
{{ template "toc-tree" dict "sect" .Pages }}
|
||||||
|
{{ end }}
|
||||||
|
</li>
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
</ul>
|
||||||
|
{{ end }}
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
{{ $tocLevels := default (default 6 .Site.Params.GeekdocToC) .Page.Params.GeekdocToC }}
|
||||||
|
|
||||||
|
{{ if and $tocLevels .Page.TableOfContents }}
|
||||||
|
<div class="gdoc-toc gdoc-toc__level--{{$tocLevels}}">{{ .Page.TableOfContents }}<hr></div>
|
||||||
|
{{ end }}
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg stroke="#fff" fill="none" stroke-width="2" viewBox="0 0 24 24" stroke-linecap="round" stroke-linejoin="round" class="mr-2" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>
|
||||||
|
After Width: | Height: | Size: 389 B |
|
|
@ -0,0 +1,337 @@
|
||||||
|
/* You can add custom styles here. */
|
||||||
|
html {
|
||||||
|
--color-1-100: #f1f6fa;
|
||||||
|
--color-1-300: #b2cede;
|
||||||
|
--color-1-500: #659dbd;
|
||||||
|
--color-1-700: #39596c;
|
||||||
|
--color-1-900: #1c2c35;
|
||||||
|
|
||||||
|
--color-font: #38383f;
|
||||||
|
--body-bg: #f9f9f9;
|
||||||
|
--color-muted: #6c757d;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Lato';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 300;
|
||||||
|
src: local('Lato Light'), local('Lato-Light'), url('/fonts/Lato/lato-300.woff2') format('woff2'),
|
||||||
|
url('/fonts/Lato/lato-300.woff') format('woff');
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Lato';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
src: local('Lato Bold'), local('Lato-Bold'), url('/fonts/Lato/lato-700.woff2') format('woff2'),
|
||||||
|
url('/fonts/Lato/lato-700.woff') format('woff');
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Lato';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
src: local('Lato Regular'), local('Lato-Regular'), url('/fonts/Lato/lato-regular.woff2') format('woff2'),
|
||||||
|
url('/fonts/Lato/lato-regular.woff') format('woff');
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Roboto Mono';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
src: local('Roboto Mono'), local('RobotoMono-Regular'),
|
||||||
|
url('/fonts/Roboto_Mono/roboto-mono-regular.woff2') format('woff2'),
|
||||||
|
url('/fonts/Roboto_Mono/roboto-mono-regular.woff') format('woff');
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Archivo Black';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
src: local('Archivo Black Regular'), local('ArchivoBlack-Regular'),
|
||||||
|
url('/fonts/Archivo_Black/archivo-black-regular.woff2') format('woff2'),
|
||||||
|
url('/fonts/Archivo_Black/archivo-black-regular.woff') format('woff');
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
background-color: var(--body-bg);
|
||||||
|
color: var(--color-font);
|
||||||
|
line-height: 1.5;
|
||||||
|
-webkit-font-smoothing: auto;
|
||||||
|
-moz-osx-font-smoothing: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
body, .gdoc-mermaid, .gdoc-header {
|
||||||
|
font-family: 'Lato', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
font-family: 'Roboto Mono', 'Liberation Mono', 'Courier New', monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-header {
|
||||||
|
font-size: 1rem;
|
||||||
|
background: var(--color-1-500);
|
||||||
|
box-shadow: 0 8px 6px -6px rgba(0,0,0,.15);
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-brand {
|
||||||
|
font-size: 1.25rem;
|
||||||
|
letter-spacing: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-brand__img {
|
||||||
|
margin-right: .5rem;
|
||||||
|
position: relative;
|
||||||
|
top: -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-brand__hub {
|
||||||
|
font-family: 'Archivo Black', cursive;
|
||||||
|
margin-left: .5rem;
|
||||||
|
letter-spacing: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-brand__badge {
|
||||||
|
position: relative;
|
||||||
|
top: -10px;
|
||||||
|
margin-left: 8px;
|
||||||
|
background-color: var(--color-1-700);
|
||||||
|
font-size: .55rem;
|
||||||
|
border-radius: 10rem;
|
||||||
|
padding: 0.15rem 0.2rem;
|
||||||
|
font-weight: 700;
|
||||||
|
line-height: 1;
|
||||||
|
display: inline-block;
|
||||||
|
text-align: center;
|
||||||
|
white-space: nowrap;
|
||||||
|
vertical-align: baseline;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-brand__badge-content {
|
||||||
|
position: relative;
|
||||||
|
bottom: -1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-footer {
|
||||||
|
background-color: var(--color-1-900);
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-markdown a {
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-markdown pre {
|
||||||
|
overflow-x: auto;
|
||||||
|
border-radius: 3px;
|
||||||
|
padding: .5rem 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-markdown *:not(pre) > code {
|
||||||
|
color: var(--color-1-700);
|
||||||
|
hyphens: none;
|
||||||
|
white-space: normal;
|
||||||
|
word-wrap: break-word;
|
||||||
|
background-color: #f6f8fa !important;
|
||||||
|
border: 1px solid rgba(28, 44, 53, 0.1) !important;
|
||||||
|
border-radius: 3px;
|
||||||
|
padding: 0 0.15rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-markdown code {
|
||||||
|
background-color: transparent !important;
|
||||||
|
padding: 0;
|
||||||
|
font-size: 87.5%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-markdown pre {
|
||||||
|
color:#f8f8f2;
|
||||||
|
background-color:#272822;
|
||||||
|
tab-size: 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-markdown table {
|
||||||
|
margin-top: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-page__footer a, .gdoc-page__footer a:visited, .gdoc-page__header a, .gdoc-page__header a:visited, .gdoc-markdown a, .gdoc-markdown a:visited, .gdoc-search .has-hits a, .gdoc-search .has-hits a:visited {
|
||||||
|
color: var(--color-1-500);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Menu */
|
||||||
|
.gdoc-nav {
|
||||||
|
flex: 0 0 20rem;
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-nav nav {
|
||||||
|
width: 20rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-nav--main {
|
||||||
|
border-radius: .25rem;
|
||||||
|
background-color: #ffffff;
|
||||||
|
border: 1px solid rgba(0,0,0,.125);
|
||||||
|
box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
|
||||||
|
padding: 1rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-nav__list ul {
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-nav__list li {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-nav__list ul .gdoc-nav__entry, .gdoc-nav__list ul .gdoc-nav__entry:visited, .gdoc-nav__entry-root, .gdoc-nav__entry-root:visited {
|
||||||
|
color: var(--color-muted);
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-nav__entry {
|
||||||
|
padding: .5rem 1.15rem;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-nav__list .gdoc-nav__list .gdoc-nav__list .gdoc-nav__entry {
|
||||||
|
padding-left: 2.3rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul .gdoc-nav__item {
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-weight: 700;
|
||||||
|
padding: .75rem 1.25rem .25rem 1.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul ul .gdoc-nav__item, .gdoc-nav__entry-root {
|
||||||
|
text-transform: none;
|
||||||
|
font-weight: normal !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-nav__list .gdoc-nav__entry:hover {
|
||||||
|
background-color: #f8f9fa;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-nav__entry.is-active {
|
||||||
|
background-color: #f8f9fa;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-nav__entry.is-active::before {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 3px;
|
||||||
|
background-color: var(--color-1-700);
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-nav__icon {
|
||||||
|
display: inline;
|
||||||
|
position: relative;
|
||||||
|
top: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-nav__icon svg {
|
||||||
|
height: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-markdown em {
|
||||||
|
color: var(--color-muted);
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-markdown h1, .gdoc-markdown h2, .gdoc-markdown h3, .gdoc-markdown h4, .gdoc-markdown h5, .gdoc-markdown h6 {
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--color-1-700);
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
line-height: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-markdown h1, .gdoc-markdown h2 {
|
||||||
|
padding-bottom: .5rem;
|
||||||
|
border-bottom: 1px solid rgba(0,0,0,.125);
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-page__header {
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Search */
|
||||||
|
.gdoc-search__input {
|
||||||
|
background-color: #ffffff;
|
||||||
|
border-color: rgba(0,0,0,.125);
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-search {
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-search__list {
|
||||||
|
position: absolute;
|
||||||
|
top: 100%;
|
||||||
|
left: 0;
|
||||||
|
right: -2rem;
|
||||||
|
z-index: 1000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-search .has-hits {
|
||||||
|
min-width: 10rem;
|
||||||
|
padding: .5rem 1rem;
|
||||||
|
margin: .125rem 0 0;
|
||||||
|
font-size: 1rem;
|
||||||
|
color: #212529;
|
||||||
|
text-align: left;
|
||||||
|
list-style: none;
|
||||||
|
background-color: #fff;
|
||||||
|
background-clip: padding-box;
|
||||||
|
border: 1px solid rgba(0,0,0,.15);
|
||||||
|
border-radius: .25rem;
|
||||||
|
box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-search__arrow {
|
||||||
|
position: absolute;
|
||||||
|
display: none;
|
||||||
|
width: 1rem;
|
||||||
|
height: .5rem;
|
||||||
|
margin: 0 .3rem;
|
||||||
|
top: calc(.2rem - 1px);
|
||||||
|
left: 1.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-search__arrow::before, .gdoc-search__arrow::after {
|
||||||
|
position: absolute;
|
||||||
|
display: block;
|
||||||
|
content: "";
|
||||||
|
border-color: transparent;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 0 .5rem .5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-search__arrow::before {
|
||||||
|
top: 0;
|
||||||
|
border-bottom-color: rgba(0,0,0,.25);
|
||||||
|
}
|
||||||
|
|
||||||
|
.gdoc-search__arrow::after {
|
||||||
|
top: 1px;
|
||||||
|
border-bottom-color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.has-hits + .gdoc-search__arrow {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 39rem) {
|
||||||
|
.gdoc-nav {
|
||||||
|
margin-left: -20rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#menu-control:checked ~ main .gdoc-nav nav, #menu-control:checked ~ main .gdoc-page {
|
||||||
|
transform: translateX(20rem);
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,42 @@
|
||||||
|
/*
|
||||||
|
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);
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 8.6 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
|
|
@ -0,0 +1,17 @@
|
||||||
|
---
|
||||||
|
name: "Geekdoc"
|
||||||
|
license: "MIT"
|
||||||
|
licenselink: "https://github.com/xoxys/hugo-geekdoc/blob/master/LICENSE"
|
||||||
|
description: "Hugo theme made for documentation."
|
||||||
|
homepage: "https://geekdocs.de"
|
||||||
|
tags:
|
||||||
|
- responsive
|
||||||
|
- clean
|
||||||
|
- documentation
|
||||||
|
- docs
|
||||||
|
features: []
|
||||||
|
min_version: "0.65"
|
||||||
|
|
||||||
|
author:
|
||||||
|
name: "Robert Kaussow"
|
||||||
|
homepage: "https://geeklabor.de"
|
||||||
Loading…
Reference in New Issue