init
This commit is contained in:
0
themes/godocs-4/layouts/404.html
Normal file
0
themes/godocs-4/layouts/404.html
Normal file
46
themes/godocs-4/layouts/_default/baseof.html
Normal file
46
themes/godocs-4/layouts/_default/baseof.html
Normal file
@@ -0,0 +1,46 @@
|
||||
<!DOCTYPE html>
|
||||
<html
|
||||
lang="{{ site.LanguageCode | default `en-US` }}"
|
||||
itemscope
|
||||
itemtype="http://schema.org/WebPage">
|
||||
<head>
|
||||
<!-- head (don't cache it) -->
|
||||
{{ partial "essentials/head.html" . }}
|
||||
{{ partial "page-transition.html" . }}
|
||||
|
||||
<!-- cache partial only in production -->
|
||||
{{ if hugo.IsProduction }}
|
||||
{{ partialCached "essentials/style.html" . }}
|
||||
{{ else }}
|
||||
{{ partial "essentials/style.html" . }}
|
||||
{{ end }}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- cache partial only in production -->
|
||||
{{ if hugo.IsProduction }}
|
||||
{{ partialCached "preloader.html" . }}
|
||||
{{ partialCached "gtm-noscript.html" . }}
|
||||
{{ else }}
|
||||
{{ partial "preloader.html" . }}
|
||||
{{ end }}
|
||||
|
||||
|
||||
<!-- header (don't cache it) -->
|
||||
{{ partial "essentials/header.html" . }}
|
||||
|
||||
|
||||
<main>
|
||||
{{ block "main" . }}{{ end }}
|
||||
</main>
|
||||
|
||||
<!-- cache partial only in production -->
|
||||
{{ if hugo.IsProduction }}
|
||||
{{ partialCached "essentials/footer.html" . }}
|
||||
{{ partialCached "essentials/script.html" . }}
|
||||
{{ else }}
|
||||
{{ partial "essentials/footer.html" . }}
|
||||
{{ partial "essentials/script.html" . }}
|
||||
{{ end }}
|
||||
</body>
|
||||
</html>
|
||||
17
themes/godocs-4/layouts/_default/changelog.html
Normal file
17
themes/godocs-4/layouts/_default/changelog.html
Normal file
@@ -0,0 +1,17 @@
|
||||
{{ define "main" }}
|
||||
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-10 mx-auto">
|
||||
<div class="p-5 shadow rounded content">
|
||||
<h1 class="mb-4 fw-bold">{{ .Title }}</h1>
|
||||
<p>{{.Params.Description | markdownify}}</p>
|
||||
<div class="mt-5">{{ .Content }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{{ end }}
|
||||
46
themes/godocs-4/layouts/_default/contact.html
Normal file
46
themes/godocs-4/layouts/_default/contact.html
Normal file
@@ -0,0 +1,46 @@
|
||||
{{ define "main" }}
|
||||
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-lg-8">
|
||||
<div class="p-4 p-sm-5 shadow rounded content">
|
||||
<h2 class="section-title">{{ .Title }}</h2>
|
||||
<form method="POST" class="row gy-4" action="{{ .Site.Params.contact_form_action }}">
|
||||
<div class="form-group col-md-6">
|
||||
<label for="fname">{{ i18n "first_name" }}</label>
|
||||
<input type="text" class="form-control" id="fname" name="fname" placeholder="Your First Name" required>
|
||||
</div>
|
||||
<div class="form-group col-md-6">
|
||||
<label for="lname">{{ i18n "last_name" }}</label>
|
||||
<input type="text" class="form-control" id="lname" name="lname" placeholder="Your Last Name">
|
||||
</div>
|
||||
<div class="form-group col-12">
|
||||
<label for="email">{{ i18n "email" }}</label>
|
||||
<input type="email" class="form-control" id="email" name="email" placeholder="Your Email Address"
|
||||
required>
|
||||
</div>
|
||||
<div class="form-group col-12">
|
||||
<label for="reason">{{ i18n "contact_reason" }}</label>
|
||||
<select id="reason" class="form-select rounded-0 px-0" name="reason" required>
|
||||
<option selected disabled>Choose Your Reason</option>
|
||||
<option value="business">Business</option>
|
||||
<option value="ticket">Ticket</option>
|
||||
<option value="project">Project</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-12">
|
||||
<label for="message">{{ i18n "write_message" }}</label>
|
||||
<textarea name="message" id="message" class="form-control" placeholder="Your Text here ..."></textarea>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<button type="submit" class="btn btn-primary">{{ i18n "send" }}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{{ end }}
|
||||
36
themes/godocs-4/layouts/_default/index.json
Normal file
36
themes/godocs-4/layouts/_default/index.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{{- $len := sub (len (.Pages.GroupBy "Section")) 1 -}}
|
||||
[{{- range $item, $el := .Pages.GroupBy "Section" -}}
|
||||
{{- range $i, $e := .Pages -}}
|
||||
{{- if and (not .Params.ignoreSearch) (ne $e.Type "json") -}}
|
||||
{
|
||||
"section": "",
|
||||
"url": "{{ $e.Permalink }}",
|
||||
"title": "{{ with $e.Params.bannertext }}{{htmlEscape .}}{{else}}{{htmlEscape $e.Title}}{{end}}",
|
||||
"description": "{{ htmlEscape .Description}}",
|
||||
"searchKeyword": "{{ htmlEscape .Params.searchKeyword}}",
|
||||
"content": {{$e.Plain | jsonify}}
|
||||
},
|
||||
{{- end -}}
|
||||
|
||||
{{- if .Section -}}
|
||||
{{- $section := (where site.Pages "Section" .Section) | intersect (where site.Pages ".Title" "!=" .Title) -}}
|
||||
{{- $sectionLen := len (where site.Pages "Section" .Section) -}}
|
||||
{{- $sectionLenTotal := sub $sectionLen 2 -}}
|
||||
|
||||
{{- range $index, $page := $section -}}
|
||||
{{- if and (not .Params.ignoreSearch) (ne $page.Type "json") -}}
|
||||
{
|
||||
"section": "{{$page.Section | humanize}}",
|
||||
"url": "{{ $page.Permalink }}",
|
||||
"title": "{{ with $page.Params.bannertext }}{{htmlEscape .}}{{else}}{{htmlEscape $page.Title}}{{end}}",
|
||||
"description": "{{ htmlEscape .Description}}",
|
||||
"searchKeyword": "{{ htmlEscape .Params.searchKeyword}}",
|
||||
"content": {{$page.Plain | jsonify}}
|
||||
}{{- if eq $item $len -}}{{- if ne $index $sectionLenTotal -}},{{- end -}}{{- else -}},{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- end -}}
|
||||
|
||||
{{- end -}}
|
||||
{{- end -}}]
|
||||
5
themes/godocs-4/layouts/_default/list.html
Normal file
5
themes/godocs-4/layouts/_default/list.html
Normal file
@@ -0,0 +1,5 @@
|
||||
{{ define "main" }}
|
||||
|
||||
{{ partial "default.html" . }}
|
||||
|
||||
{{ end }}
|
||||
29
themes/godocs-4/layouts/_default/search.html
Normal file
29
themes/godocs-4/layouts/_default/search.html
Normal file
@@ -0,0 +1,29 @@
|
||||
{{ define "main" }}
|
||||
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-lg-8">
|
||||
<h2 class="mb-5 fw-medium">Search result for
|
||||
<span class="text-primary">
|
||||
<script>
|
||||
var str = (window.location.search).substr(3);
|
||||
var result = str.replaceAll("+", " ");
|
||||
document.write(decodeURI(result));
|
||||
</script>
|
||||
</span>
|
||||
</h2>
|
||||
<div class="p-5 shadow rounded">
|
||||
<div id="search-results"></div>
|
||||
<script id="search-result-template" type="text/x-js-template">
|
||||
<div class="py-4 search-item" id="summary-${key}">
|
||||
<a class="h4 mb-0" href="${link}">${title}</a>
|
||||
</div>
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{{ end }}
|
||||
5
themes/godocs-4/layouts/_default/single.html
Normal file
5
themes/godocs-4/layouts/_default/single.html
Normal file
@@ -0,0 +1,5 @@
|
||||
{{ define "main" }}
|
||||
|
||||
{{ partial "default.html" . }}
|
||||
|
||||
{{ end }}
|
||||
93
themes/godocs-4/layouts/index.html
Normal file
93
themes/godocs-4/layouts/index.html
Normal file
@@ -0,0 +1,93 @@
|
||||
{{ define "main" }}
|
||||
|
||||
<section class="section pb-0">
|
||||
<div class="container">
|
||||
<div class="row justify-content-between align-items-center">
|
||||
<div class="col-xl-6 col-lg-8 text-center text-lg-start">
|
||||
{{ with .Params.banner }}
|
||||
<h1 class="mb-4">{{ .title | markdownify }}</h1>
|
||||
<p class="mb-4">{{ .subtitle | markdownify }}</p>
|
||||
{{ end }}
|
||||
<div class="d-flex flex-wrap justify-content-center justify-content-lg-start">
|
||||
{{ with .Params.banner_button }}
|
||||
<a class="btn btn-primary ms-2 me-2 me-lg-4 mt-2" href="{{.link | safeURL}}">{{.label}}</a>
|
||||
{{ end }}
|
||||
|
||||
<form class="search-wrapper mt-2 mx-2 mx-lg-0" name="search-form" data-bs-toggle="modal" data-bs-target="#searchModal">
|
||||
<i class="search-icon fas fa-search"></i>
|
||||
<input class="form-control px-4 text-dark" placeholder="{{ i18n `search_placeholder`}}" readonly>
|
||||
<button type="button" class="search-button" data-search-toggler>{{ i18n "search" }}</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 d-lg-block d-none">
|
||||
{{ partial "image.html" (dict "Src" .Params.banner.image "Alt" "illustration") }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- topics -->
|
||||
<section class="section pb-0">
|
||||
<div class="container">
|
||||
<h2 class="section-title">{{ i18n `topics`}}</h2>
|
||||
<div data-masonry='{"percentPosition": true }' class="row">
|
||||
{{ range (where .Pages "Type" "docs") }}
|
||||
<div class="col-lg-4 col-sm-6 mb-4">
|
||||
<div class="card match-height-">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title h4 mb-4"><a href="{{ .Permalink }}">{{ .Title }}</a></h3>
|
||||
<ul class="list-styled text-start mb-4">
|
||||
{{ range .Data.Pages }}
|
||||
<li><a href="{{.Permalink}}">{{.Title}}</a></li>
|
||||
{{end}}
|
||||
</ul>
|
||||
<a href="{{ .Permalink }}" class="btn btn-sm btn-outline-primary">{{ i18n "details" }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- /topics -->
|
||||
|
||||
<!-- faq -->
|
||||
{{ with .GetPage "/faq" }}
|
||||
<section class="section pb-0">
|
||||
<div class="container">
|
||||
<h2 class="section-title">{{ .Title }}</h2>
|
||||
<div data-masonry='{"percentPosition": true }' class="row">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
||||
<!-- /faq -->
|
||||
|
||||
<!-- call to action -->
|
||||
{{ if .Params.call_to_action.enable }}
|
||||
{{ with .Params.call_to_action }}
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-lg-4 text-center d-lg-block d-none">
|
||||
{{ partial "image.html" (dict "Src" .image "Alt" "icon") }}
|
||||
</div>
|
||||
<div class="col-lg-8 text-lg-start text-center">
|
||||
<h2 class="mb-3 fw-bold">{{ .title | markdownify }}</h2>
|
||||
<p>{{ .content | markdownify }}</p>
|
||||
{{ if .button.enable }}
|
||||
{{ with .button }}
|
||||
<a href="{{ .link | absLangURL }}" class="btn btn-primary">{{ .label }}</a>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
<!-- /call to action -->
|
||||
|
||||
{{ end }}
|
||||
43
themes/godocs-4/layouts/partials/components/feedback.html
Normal file
43
themes/godocs-4/layouts/partials/components/feedback.html
Normal file
@@ -0,0 +1,43 @@
|
||||
<!-- feedback -->
|
||||
{{ if site.Params.feedback }}
|
||||
{{ with site.Params.feedback }}
|
||||
<div class="feedback row" id="feedback">
|
||||
<div class="col-md-8 col-lg-9">
|
||||
<h4 class="fw-bold">{{ .title | markdownify }}</h4>
|
||||
<p>{{ .content | markdownify }}</p>
|
||||
</div>
|
||||
<div class="col-md-4 col-lg-3 mt-2 mb-4 mb-md-0 text-md-end">
|
||||
<button class="feedback-btn collapsed positive" type="button" data-bs-toggle="collapse" data-bs-target="#positive"
|
||||
aria-expanded="true" aria-controls="positive">
|
||||
<i class="far fa-thumbs-up"></i>
|
||||
</button>
|
||||
<button class="feedback-btn collapsed negative" type="button" data-bs-toggle="collapse" data-bs-target="#negative"
|
||||
aria-expanded="false" aria-controls="negative">
|
||||
<i class="far fa-thumbs-down"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<div id="positive" class="collapse" data-bs-parent="#feedback">
|
||||
<form name="feedback" method="POST" action="{{ site.Params.feedback_form_action }}">
|
||||
<input type="text" name="feedback" id="feedback" value="Positive" hidden>
|
||||
<input type="text" name="URL" id="URL" value="{{.Permalink}}" hidden>
|
||||
<textarea name="comments" id="comments" class="form-control mb-4"
|
||||
placeholder="{{ .positive_placeholder }}" required></textarea>
|
||||
<button type="submit" class="btn btn-primary">{{ i18n "send_feedback" }}</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div id="negative" class="collapse" data-bs-parent="#feedback">
|
||||
<form name="feedback" method="POST" action="{{ site.Params.feedback_form_action }}">
|
||||
<input type="text" name="feedback" id="feedback" value="Negative" hidden>
|
||||
<input type="text" name="URL" id="URL" value="{{.Permalink}}" hidden>
|
||||
<textarea name="comments" id="comments" class="form-control mb-4"
|
||||
placeholder="{{ .negative_placeholder }}" required></textarea>
|
||||
<button type="submit" class="btn btn-primary">{{ i18n "send_feedback" }}</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
<!-- /feedback -->
|
||||
@@ -0,0 +1,93 @@
|
||||
<div class="modal search-modal" id="searchModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog search-modal-dialog">
|
||||
<div class="modal-content border-0"><div class="modal-header border-0" style="padding:1rem"><div class="input-group border-0">
|
||||
<span class="input-group-text bg-transparent text-dark border-end-0" id="Search">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" class="bi bi-search" viewBox="0 0 16 16"><path d="M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z"/></svg>
|
||||
</span>
|
||||
<input type="text" id="searchInput" class="form-control search-form-control shadow-none text-dark border-start-0 ps-0 ms-0 border-end-0" placeholder="{{i18n `search_placeholder`}}" aria-label="Search" aria-describedby="Search">
|
||||
<span class="input-group-text bg-transparent text-muted border-start-0" style="font-size:14px;">
|
||||
<span class="border border-muted rounded-1 px-1" bs-dismiss="modal" aria-label="Close">ESC</span>
|
||||
</span>
|
||||
</div></div>
|
||||
<div class="modal-body">
|
||||
<div id="search-result-body"></div>
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const searchModal = document.getElementById('searchModal');
|
||||
const searchInput = document.getElementById('searchInput');
|
||||
const searchResult = document.getElementById("search-result-body");
|
||||
searchModal.addEventListener('shown.bs.modal', () => {searchInput.focus()});
|
||||
let jsonData = [];
|
||||
let indexJSON = {{"index.json" | relURL}};
|
||||
|
||||
const loadJsonData = async () => {
|
||||
try {
|
||||
const res = await fetch(indexJSON);
|
||||
jsonData = await res.json();
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
}
|
||||
};
|
||||
|
||||
searchInput.addEventListener("keyup", (e) => {
|
||||
const searchString = e.target.value.toLowerCase();
|
||||
|
||||
let filteredJSON = jsonData.reduce((prev, item) => [...new Set([...prev, item.section])], []).map((item) => {
|
||||
let filteredItems = jsonData.filter((i) => i.section === item);
|
||||
return {
|
||||
section: item,
|
||||
data: filteredItems,
|
||||
};
|
||||
});
|
||||
|
||||
let searchItem = filteredJSON.filter((item) => {
|
||||
if (searchString === "" ) {
|
||||
return "";
|
||||
}
|
||||
else if (item.data.find((el) => (el.title?.toLowerCase().includes(searchString)))) {
|
||||
return item
|
||||
}
|
||||
else if (item.data.find((el) => (el.description?.toLowerCase().includes(searchString)))) {
|
||||
return item
|
||||
}
|
||||
else if (item.data.find((el) => (el.searchKeyword?.toLowerCase().includes(searchString)))) {
|
||||
return item
|
||||
}
|
||||
else if (item.data.find((el) => (el.content?.toLowerCase().includes(searchString)))) {
|
||||
return item
|
||||
}
|
||||
});
|
||||
|
||||
displayResult(searchItem, searchString);
|
||||
});
|
||||
|
||||
const displayResult = (searchItems, searchString) => {
|
||||
const htmlString = searchItems.map((item) => {
|
||||
const contentValue = item.data.filter((d) => d.content?.toLowerCase().includes(searchString)).map((innerItem) => {
|
||||
const position = innerItem.content?.toLowerCase().indexOf(searchString.toLowerCase());
|
||||
let matches = innerItem.content?.substring(position, searchString.length + position);
|
||||
let matchesAfter = innerItem.content?.substring(searchString.length + position, searchString.length + position + 100);
|
||||
const highlighted = innerItem.content?.replace(innerItem.content, '<mark>' + matches + '</mark>' + matchesAfter);
|
||||
return highlighted;
|
||||
});
|
||||
|
||||
return`
|
||||
<div class="search-result-item">
|
||||
<p class="section">${item.section}</p>
|
||||
${item.data.filter((d) =>
|
||||
d.title?.toLowerCase().includes(searchString) ||
|
||||
d.description?.toLowerCase().includes(searchString) ||
|
||||
d.searchKeyword?.toLowerCase().includes(searchString) ||
|
||||
d.content?.toLowerCase().includes(searchString)).map((innerItem) =>
|
||||
`<a class="block" href="${innerItem.url}"><p class="text-dark mb-0 lh-base">${innerItem.title}</p><span></span><p class="small text-muted mt-1 mb-0 lh-base">${contentValue}</p></a>`
|
||||
).join("")}
|
||||
</div>`
|
||||
}).join("");
|
||||
searchResult.innerHTML = htmlString;
|
||||
};
|
||||
loadJsonData();
|
||||
|
||||
</script>
|
||||
118
themes/godocs-4/layouts/partials/default.html
Normal file
118
themes/godocs-4/layouts/partials/default.html
Normal file
@@ -0,0 +1,118 @@
|
||||
{{ "<!-- details page -->" | safeHTML }}
|
||||
<section class="pt-5">
|
||||
<div class="container shadow section-sm rounded">
|
||||
<div class="row">
|
||||
<div class="col-lg-3 col-md-4 d-none d-md-block">
|
||||
<ul class="sidenav">
|
||||
{{ $currentNode := . }}
|
||||
{{range .Site.Home.Sections.ByWeight}}
|
||||
<!-- not render any single page, like contact page. -->
|
||||
{{ $numberOfMainPages := len .Pages }}
|
||||
{{ if eq $numberOfMainPages 0 }}
|
||||
{{ else }}
|
||||
<!-- /not render any single page, like contact page. -->
|
||||
{{ template "section-tree-nav" dict "sect" . "currentnode" $currentNode}}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<div class="px-lg-5 px-sm-4">
|
||||
<h1 class="mb-4 fw-bold">{{ .Title }}</h1>
|
||||
{{ if .Content }}
|
||||
<div class="content">{{ partial "autotooltips.html" . }}</div>
|
||||
{{ else }}
|
||||
<ul class="list-styled text-start mb-4">
|
||||
{{ range .Data.Pages }}
|
||||
<li><a href="{{.Permalink}}">{{.Title}}</a></li>
|
||||
{{end}}
|
||||
</ul>
|
||||
{{ end }}
|
||||
<nav class="pagination">
|
||||
<!-- Next prev page -->
|
||||
{{- $currentNode := . -}}
|
||||
{{- template "menu-nextprev" dict "menu" site.Home "currentnode" $currentNode -}}
|
||||
{{- define "menu-nextprev" -}}
|
||||
{{- $currentNode := .currentnode -}}
|
||||
{{- if ne .menu.Params.hidden true -}}
|
||||
{{- if hasPrefix $currentNode.Permalink .menu.Permalink -}}
|
||||
{{- $currentNode.Scratch.Set "NextPageOK" "OK" -}}
|
||||
{{- $currentNode.Scratch.Set "prevPage" ($currentNode.Scratch.Get "prevPageTmp") -}}
|
||||
{{- else -}}
|
||||
{{- if eq ($currentNode.Scratch.Get "NextPageOK") "OK" -}}
|
||||
{{- $currentNode.Scratch.Set "NextPageOK" nil -}}
|
||||
{{- $currentNode.Scratch.Set "nextPage" .menu -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- $currentNode.Scratch.Set "prevPageTmp" .menu -}}
|
||||
{{- $currentNode.Scratch.Set "pages" .menu.Pages -}}
|
||||
{{- if .menu.IsHome -}}
|
||||
{{- $currentNode.Scratch.Set "pages" .menu.Sections -}}
|
||||
{{- else if .menu.Sections -}}
|
||||
{{- $currentNode.Scratch.Set "pages" (.menu.Pages | union .menu.Sections) -}}
|
||||
{{- end -}}
|
||||
{{- $pages := ($currentNode.Scratch.Get "pages") -}}
|
||||
|
||||
{{- range $pages.ByWeight -}}
|
||||
{{- template "menu-nextprev" dict "menu" . "currentnode" $currentNode -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- with ($.Scratch.Get "prevPage") -}}
|
||||
{{- if .Title -}}
|
||||
<a class="nav nav-prev" href="{{.RelPermalink }}"><i class="fas fa-chevron-left me-2"></i>
|
||||
<span class="d-none d-sm-block">{{.Title}}</span> <span class="d-block d-sm-none">Prev</span>
|
||||
</a>
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- with ($.Scratch.Get "nextPage") -}}
|
||||
{{- if .Title -}}
|
||||
<a class="nav nav-next" href="{{.RelPermalink }}">
|
||||
<span class="d-none d-sm-block">{{.Title}}</span> <span class="d-block d-sm-none">Next</span><i class="fas fa-chevron-right ms-2"></i>
|
||||
</a>
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
</nav>
|
||||
|
||||
{{ if .Params.Feedback }}
|
||||
{{ partial "components/feedback.html" . }}
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{ "<!-- /details page -->" | safeHTML }}
|
||||
|
||||
<!-- templates -->
|
||||
{{ define "section-tree-nav" }}
|
||||
{{ $showvisitedlinks := .showvisitedlinks }}
|
||||
{{ $currentNode := .currentnode }}
|
||||
{{with .sect}}
|
||||
{{safeHTML .Params.head}}
|
||||
{{ $fileUniqueID := "" }}
|
||||
{{ with .File }}{{ $fileUniqueID = .UniqueID }}{{ end }}
|
||||
{{ $currentNodeFileUniqueID := "" }}
|
||||
{{ with $currentNode.File }}{{ $currentNodeFileUniqueID = .UniqueID }}{{ end }}
|
||||
<li data-nav-id="{{.Permalink}}" title="{{.Title}}"
|
||||
class="sidelist {{if .IsAncestor $currentNode }}parent{{end}} {{if eq $fileUniqueID $currentNodeFileUniqueID}}active parent{{end}}">
|
||||
<a href="{{.Permalink}}">{{.Title }}</a>
|
||||
{{ $numberOfPages := (add (len .Pages) (len .Sections)) }}
|
||||
{{ if ne $numberOfPages 0 }}
|
||||
<ul>
|
||||
{{ $currentNode.Scratch.Set "pages" .Pages }}
|
||||
{{ if .Sections}}
|
||||
{{ $currentNode.Scratch.Set "pages" (.Pages | union .Sections) }}
|
||||
{{end}}
|
||||
{{ $pages := ($currentNode.Scratch.Get "pages") }}
|
||||
|
||||
{{ range $pages.ByWeight }}
|
||||
{{ template "section-tree-nav" dict "sect" . "currentnode" $currentNode }}
|
||||
{{end}}
|
||||
</ul>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
34
themes/godocs-4/layouts/partials/essentials/footer.html
Normal file
34
themes/godocs-4/layouts/partials/essentials/footer.html
Normal file
@@ -0,0 +1,34 @@
|
||||
<footer>
|
||||
<div class="container">
|
||||
<div class="row align-items-center border-bottom py-5">
|
||||
<div class="col-lg-4">
|
||||
<ul class="list-inline footer-menu text-center text-lg-start">
|
||||
{{ range site.Menus.footer }}
|
||||
<li class="list-inline-item"><a href="{{ .URL | absLangURL }}">{{ .Name }}</a></li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-lg-4 text-center mb-4 mb-lg-0">
|
||||
<a href="{{ site.BaseURL | relLangURL }}">
|
||||
<!-- {{ partial "logo.html" }} -->
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<ul class="list-inline social-icons text-lg-end text-center">
|
||||
{{ range site.Params.social }}
|
||||
<li class="list-inline-item"><a href="{{ .link | safeURL }}"><i class="{{ .icon }}"></i></a></li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="py-4 text-center">
|
||||
<small class="text-light">
|
||||
{{ site.Params.copyright | markdownify }}<br>
|
||||
{{ if site.Params.theme_copyright }}
|
||||
Made with 💙 by
|
||||
<a target="_blank" rel="noopener noreferrer" href="https://start-it.nl">StartIT</a>
|
||||
{{ end }}
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
55
themes/godocs-4/layouts/partials/essentials/head.html
Normal file
55
themes/godocs-4/layouts/partials/essentials/head.html
Normal file
@@ -0,0 +1,55 @@
|
||||
<meta charset="utf-8" />
|
||||
<title>{{ .Title | default site.Title }}</title>
|
||||
|
||||
<!-- responsive meta -->
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5" />
|
||||
|
||||
<!-- theme meta -->
|
||||
<meta name="theme-name" content="godocs-hugo" />
|
||||
|
||||
<!-- favicon -->
|
||||
{{ partialCached "favicon" . }}
|
||||
|
||||
|
||||
<!-- manifest -->
|
||||
{{ partialCached "manifest" . }}
|
||||
|
||||
|
||||
<!-- site verifications -->
|
||||
{{ partialCached "site-verifications.html" . }}
|
||||
|
||||
|
||||
<!-- opengraph and twitter card -->
|
||||
{{ partial "basic-seo.html" . }}
|
||||
|
||||
|
||||
<!-- custom script -->
|
||||
{{ partialCached "custom-script.html" . }}
|
||||
|
||||
|
||||
<!-- google analytics -->
|
||||
{{ template "_internal/google_analytics.html" . }}
|
||||
|
||||
|
||||
<!-- google tag manager -->
|
||||
{{ partialCached "gtm.html" . }}
|
||||
|
||||
|
||||
<!-- matomo analytics -->
|
||||
{{ partialCached "matomo-analytics.html" . }}
|
||||
|
||||
|
||||
<!-- Baidu analytics -->
|
||||
{{ partialCached "baidu-analytics.html" . }}
|
||||
|
||||
|
||||
<!-- Plausible Analytics -->
|
||||
<!-- {{ partialCached "plausible-analytics.html" . }} -->
|
||||
<script defer data-domain="kennisbank.start-it.nl" src="https://stats.start-it.nl/js/script.file-downloads.outbound-links.js"></script>
|
||||
|
||||
<!-- Counter Analytics -->
|
||||
{{ partialCached "counter-analytics.html" . }}
|
||||
|
||||
|
||||
<!-- Crisp Chat -->
|
||||
{{ partialCached "crisp-chat.html" . }}
|
||||
58
themes/godocs-4/layouts/partials/essentials/header.html
Normal file
58
themes/godocs-4/layouts/partials/essentials/header.html
Normal file
@@ -0,0 +1,58 @@
|
||||
{{ "<!-- navigation -->" | safeHTML }}
|
||||
<header class="sticky-top navigation {{if .IsHome}}home-nav{{end}}">
|
||||
<div class="container">
|
||||
<!-- navbar -->
|
||||
<nav class="navbar navbar-expand-lg navbar-light bg-transparent justify-content-between">
|
||||
<div class="logo-wrapper order-1 mobile-view">
|
||||
{{ if site.Params.site_logo }}
|
||||
<a class="site-logo" target="_blank" href="{{site.Params.main_site_link | safeURL}}?ref=docs">
|
||||
{{ partial "logo.html" }}
|
||||
</a>
|
||||
{{ end }}
|
||||
<span class="logo-devider"></span>
|
||||
<a class="docs-logo" href="{{ .Site.BaseURL | relLangURL }}">
|
||||
{{ partial "image.html" (dict "Src" site.Params.docs_logo "Alt" (.Site.Title)) }}</a>
|
||||
</div>
|
||||
|
||||
<form class="form-inline search-wrapper order-3 order-lg-2 {{if not .IsHome}}d-block mt-3{{end}}" data-bs-toggle="modal"
|
||||
data-bs-target="#searchModal">
|
||||
<i class="search-icon fas fa-search"></i>
|
||||
<input class="form-control form-control-sm" placeholder="{{ i18n `search`}}" readonly>
|
||||
<button type="button" class="search-button" style="font-size:12px" data-search-toggler>{{ i18n "search"
|
||||
}}</button>
|
||||
</form>
|
||||
|
||||
<div class="d-flex order-2 order-lg-3 mobile-view">
|
||||
<!-- Language List -->
|
||||
{{ if .IsTranslated }}
|
||||
<select class="language-selector bg-transparent" onchange="location = this.value;">
|
||||
{{ $siteLanguages := .Site.Languages}}
|
||||
{{ $pageLang := .Page.Lang}}
|
||||
{{ range .Page.AllTranslations }}
|
||||
{{ $translation := .}}
|
||||
{{ range $siteLanguages }}
|
||||
{{ if eq $translation.Lang .Lang }}
|
||||
{{ $selected := false }}
|
||||
{{ if eq $pageLang .Lang}}
|
||||
<option value="{{ $translation.Permalink }}" selected>{{ .LanguageName }}</option>
|
||||
{{ else }}
|
||||
<option value="{{ $translation.Permalink }}">{{ .LanguageName }}</option>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</select>
|
||||
{{ end }}
|
||||
<!-- nav buttons -->
|
||||
{{ range $i, $e:= site.Params.nav_button }}
|
||||
<a href="{{ .link | absLangURL }}"
|
||||
class="btn btn-sm {{if eq .style `outline`}}btn-outline-primary{{else}}btn-primary{{end}} {{if and $i (gt $i 0)}}ms-3{{end}}">{{
|
||||
.label }}</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
{{ "<!-- /navigation -->" | safeHTML }}
|
||||
|
||||
{{ partial "components/search-modal" . }}
|
||||
59
themes/godocs-4/layouts/partials/essentials/script.html
Normal file
59
themes/godocs-4/layouts/partials/essentials/script.html
Normal file
@@ -0,0 +1,59 @@
|
||||
<!-- Bootstrap scripts -->
|
||||
{{ $bootstrap := resources.Get "js/bootstrap.js" }}
|
||||
{{ $params := dict }}
|
||||
{{ $sourceMap := cond hugo.IsProduction "" "inline" }}
|
||||
{{ $opts := dict "sourceMap" $sourceMap "target" "es2018" "params" $params }}
|
||||
{{ $bootstrap = $bootstrap | js.Build $opts }}
|
||||
{{ if hugo.IsProduction }}
|
||||
{{ $bootstrap = $bootstrap | fingerprint "sha512" }}
|
||||
{{ end }}
|
||||
<script crossorigin="anonymous" defer {{ if hugo.IsProduction }}integrity="{{ $bootstrap.Data.Integrity }}"{{end}} type="application/javascript">{{$bootstrap.Content | safeJS}}</script>
|
||||
|
||||
<!-- JS Plugins + Main script -->
|
||||
{{ $scripts := slice }}
|
||||
{{ range site.Params.plugins.js }}
|
||||
{{ if findRE "^http" .link }}
|
||||
<script
|
||||
src="{{ .link | relURL }}"
|
||||
type="application/javascript"
|
||||
{{ .attributes | safeHTMLAttr }}></script>
|
||||
{{ else }}
|
||||
{{ $scripts = $scripts | append (resources.Get .link) }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
<!-- main script -->
|
||||
{{ $scripts = $scripts | append (resources.Get "js/script.js") }}
|
||||
{{ $scripts = $scripts | resources.Concat "js/scripts.js" }}
|
||||
{{ if hugo.IsProduction }}
|
||||
{{ $scripts = $scripts | fingerprint "sha512" }}
|
||||
{{ end }}
|
||||
<script crossorigin="anonymous" defer {{ if hugo.IsProduction }}integrity="{{ $scripts.Data.Integrity }}"{{end}} type="application/javascript">{{$scripts.Content | safeJS}}</script>
|
||||
|
||||
<!-- font family -->
|
||||
{{ $pf:= site.Params.variables.font_primary }}
|
||||
{{ $sf:= site.Params.variables.font_secondary }}
|
||||
<script type="application/javascript">
|
||||
WebFont.load({
|
||||
google: {
|
||||
api: 'https://fonts.googleapis.com/css2',
|
||||
families: ['{{$pf | default `Lato:wght@400`}}{{if not $sf}}&display=swap{{end}}'{{with $sf}},'{{. | default `Lato:wght@400`}}&display=swap'{{end}}],
|
||||
version: 2
|
||||
},
|
||||
active: () => {sessionStorage.fontsLoaded = true}
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- progressive web app -->
|
||||
{{ partialCached "pwa.html" . }}
|
||||
|
||||
|
||||
<!-- cookie consent -->
|
||||
{{ partialCached "cookie-consent.html" . }}
|
||||
|
||||
|
||||
<!-- google adsense -->
|
||||
{{ partialCached "adsense-script.html" . }}
|
||||
|
||||
{{ $tooltips := resources.Get "js/tooltips.js" | minify }}
|
||||
<script src="{{ $tooltips.RelPermalink }}" defer></script>
|
||||
42
themes/godocs-4/layouts/partials/essentials/style.html
Normal file
42
themes/godocs-4/layouts/partials/essentials/style.html
Normal file
@@ -0,0 +1,42 @@
|
||||
<!-- DNS preconnect -->
|
||||
<meta http-equiv="x-dns-prefetch-control" content="on" />
|
||||
<link rel="preconnect" href="//ajax.googleapis.com" />
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous" />
|
||||
<link rel="preconnect" href="https://use.fontawesome.com" crossorigin />
|
||||
<link rel="preconnect" href="//cdnjs.cloudflare.com" />
|
||||
<link rel="preconnect" href="//www.googletagmanager.com" />
|
||||
<link rel="preconnect" href="//www.google-analytics.com" />
|
||||
<link rel="dns-prefetch" href="https://fonts.gstatic.com" />
|
||||
<link rel="dns-prefetch" href="https://use.fontawesome.com" />
|
||||
<link rel="dns-prefetch" href="//ajax.googleapis.com" />
|
||||
<link rel="dns-prefetch" href="//cdnjs.cloudflare.com" />
|
||||
<link rel="dns-prefetch" href="//www.googletagmanager.com" />
|
||||
<link rel="dns-prefetch" href="//www.google-analytics.com" />
|
||||
<link rel="dns-prefetch" href="//fonts.googleapis.com" />
|
||||
<link rel="dns-prefetch" href="//connect.facebook.net" />
|
||||
<link rel="dns-prefetch" href="//platform.linkedin.com" />
|
||||
<link rel="dns-prefetch" href="//platform.twitter.com" />
|
||||
|
||||
<!-- plugins + stylesheet -->
|
||||
{{ $styles := slice }}
|
||||
{{ range site.Params.plugins.css }}
|
||||
{{ if findRE "^http" .link }}
|
||||
<link crossorigin="anonymous" media="all" rel="stylesheet" href="{{ .link | relURL }}" {{ .attributes | safeHTMLAttr }} />
|
||||
{{ else }}
|
||||
{{ $styles = $styles | append (resources.Get .link) }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ $styles := $styles | append (resources.Get "scss/style.scss" | resources.ExecuteAsTemplate "style.scss" . | toCSS) }}
|
||||
{{ $styles := $styles | resources.Concat "/css/style.css" }}
|
||||
|
||||
|
||||
<!-- Purge CSS in Production -->
|
||||
{{ if and hugo.IsProduction site.Params.purge_css }}
|
||||
{{ $styles = $styles | css.PostCSS | fingerprint "sha256" }}
|
||||
{{ $styles = $styles | resources.PostProcess }}
|
||||
{{ end }}
|
||||
|
||||
|
||||
<!-- <link rel="stylesheet" href="{{ $styles.RelPermalink }}" /> -->
|
||||
|
||||
<style type="text/css">{{$styles.Content | safeCSS}}</style>
|
||||
6
themes/godocs-4/layouts/shortcodes/changelog.html
Normal file
6
themes/godocs-4/layouts/shortcodes/changelog.html
Normal file
@@ -0,0 +1,6 @@
|
||||
{{ $_hugo_config := `{ "version": 1 }` }}
|
||||
|
||||
<div class="mt-4">
|
||||
<div class="badge {{ .Get 0 | lower}}">{{ .Get 0 | title }}</div>
|
||||
{{ .Inner | markdownify }}
|
||||
</div>
|
||||
10
themes/godocs-4/layouts/shortcodes/faq.html
Normal file
10
themes/godocs-4/layouts/shortcodes/faq.html
Normal file
@@ -0,0 +1,10 @@
|
||||
{{ $_hugo_config := `{ "version": 1 }` }}
|
||||
|
||||
<div class="col-md-6 mb-4">
|
||||
<div class="card card-lg">
|
||||
<div class="card-body">
|
||||
<h3 class="card-title h5 mb-3">{{ .Get 0 | markdownify }}</h3>
|
||||
<p class="card-text content fw-light">{{ .Inner | markdownify }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
117
themes/godocs-4/layouts/shortcodes/notice.html
Normal file
117
themes/godocs-4/layouts/shortcodes/notice.html
Normal file
@@ -0,0 +1,117 @@
|
||||
{{ $type:= .Get 0 }}
|
||||
{{ $title := .Get 1 }}
|
||||
|
||||
{{ range $i, $e:= .Params }}
|
||||
{{ if eq $i "type" }}{{ $type = $e }}{{ end }}
|
||||
{{ if eq $i "title" }}{{ $title = $e }}{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ $type_class := "info" }}
|
||||
|
||||
{{ if eq "note" $type }}
|
||||
{{ $type_class = "note" }}
|
||||
{{ else if in (slice "abstract" "summary" "tldr") $type }}
|
||||
{{ $type_class = "abstract" }}
|
||||
{{ else if eq "info" $type }}
|
||||
{{ $type_class = "info" }}
|
||||
{{ else if eq "todo" $type }}
|
||||
{{ $type_class = "todo" }}
|
||||
{{ else if in (slice "tip" "hint" "important") $type }}
|
||||
{{ $type_class = "tip" }}
|
||||
{{ else if in (slice "success" "check" "done") $type }}
|
||||
{{ $type_class = "success" }}
|
||||
{{ else if in (slice "question" "help" "faq") $type }}
|
||||
{{ $type_class = "question" }}
|
||||
{{ else if in (slice "warning" "caution" "attention") $type }}
|
||||
{{ $type_class = "warning" }}
|
||||
{{ else if in (slice "failure" "fail" "missing") $type }}
|
||||
{{ $type_class = "failure" }}
|
||||
{{ else if in (slice "danger" "error") $type }}
|
||||
{{ $type_class = "danger" }}
|
||||
{{ else if eq "bug" $type }}
|
||||
{{ $type_class = "bug" }}
|
||||
{{ else if eq "example" $type }}
|
||||
{{ $type_class = "example" }}
|
||||
{{ else if in (slice "quote" "cite") $type }}
|
||||
{{ $type_class = "quote" }}
|
||||
{{ end }}
|
||||
|
||||
<div class="notice {{ $type_class }}">
|
||||
<div class="notice-head">
|
||||
{{- if eq $type_class "note" -}}
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="22" height="22" stroke-width="1.5" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8.8-2.685a4.5 4.5 0 0 1 1.13-1.897L16.863 4.487Zm0 0L19.5 7.125" />
|
||||
</svg>
|
||||
|
||||
{{- else if eq $type_class "abstract" -}}
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" width="22" height="22">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M15.666 3.888A2.25 2.25 0 0 0 13.5 2.25h-3c-1.03 0-1.9.693-2.166 1.638m7.332 0c.055.194.084.4.084.612v0a.75.75 0 0 1-.75.75H9a.75.75 0 0 1-.75-.75v0c0-.212.03-.418.084-.612m7.332 0c.646.049 1.288.11 1.927.184 1.1.128 1.907 1.077 1.907 2.185V19.5a2.25 2.25 0 0 1-2.25 2.25H6.75A2.25 2.25 0 0 1 4.5 19.5V6.257c0-1.108.806-2.057 1.907-2.185a48.208 48.208 0 0 1 1.927-.184" />
|
||||
</svg>
|
||||
{{- else if eq $type_class "info" -}}
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" width="22" height="22">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z" />
|
||||
</svg>
|
||||
{{- else if eq $type_class "todo" -}}
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" width="22" height="22">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M8.25 6.75h12M8.25 12h12m-12 5.25h12M3.75 6.75h.007v.008H3.75V6.75Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0ZM3.75 12h.007v.008H3.75V12Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm-.375 5.25h.007v.008H3.75v-.008Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z" />
|
||||
</svg>
|
||||
{{- else if eq $type_class "tip" -}}
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" width="22" height="22">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M15.362 5.214A8.252 8.252 0 0 1 12 21 8.25 8.25 0 0 1 6.038 7.047 8.287 8.287 0 0 0 9 9.601a8.983 8.983 0 0 1 3.361-6.867 8.21 8.21 0 0 0 3 2.48Z" />
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M12 18a3.75 3.75 0 0 0 .495-7.468 5.99 5.99 0 0 0-1.925 3.547 5.975 5.975 0 0 1-2.133-1.001A3.75 3.75 0 0 0 12 18Z" />
|
||||
</svg>
|
||||
{{- else if eq $type_class "success" -}}
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" width="22" height="22">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z" />
|
||||
</svg>
|
||||
{{- else if eq $type_class "question" -}}
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" width="22" height="22">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 5.25h.008v.008H12v-.008Z" />
|
||||
</svg>
|
||||
{{- else if eq $type_class "warning" -}}
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" width="22" height="22">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z" />
|
||||
</svg>
|
||||
{{- else if eq $type_class "failure" -}}
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" width="22" height="22">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m9-.75a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 3.75h.008v.008H12v-.008Z" />
|
||||
</svg>
|
||||
{{- else if eq $type_class "danger" -}}
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" width="22" height="22">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="m3.75 13.5 10.5-11.25L12 10.5h8.25L9.75 21.75 12 13.5H3.75Z" />
|
||||
</svg>
|
||||
{{- else if eq $type_class "bug" -}}
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" width="22" height="22">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M12 12.75c1.148 0 2.278.08 3.383.237 1.037.146 1.866.966 1.866 2.013 0 3.728-2.35 6.75-5.25 6.75S6.75 18.728 6.75 15c0-1.046.83-1.867 1.866-2.013A24.204 24.204 0 0 1 12 12.75Zm0 0c2.883 0 5.647.508 8.207 1.44a23.91 23.91 0 0 1-1.152 6.06M12 12.75c-2.883 0-5.647.508-8.208 1.44.125 2.104.52 4.136 1.153 6.06M12 12.75a2.25 2.25 0 0 0 2.248-2.354M12 12.75a2.25 2.25 0 0 1-2.248-2.354M12 8.25c.995 0 1.971-.08 2.922-.236.403-.066.74-.358.795-.762a3.778 3.778 0 0 0-.399-2.25M12 8.25c-.995 0-1.97-.08-2.922-.236-.402-.066-.74-.358-.795-.762a3.734 3.734 0 0 1 .4-2.253M12 8.25a2.25 2.25 0 0 0-2.248 2.146M12 8.25a2.25 2.25 0 0 1 2.248 2.146M8.683 5a6.032 6.032 0 0 1-1.155-1.002c.07-.63.27-1.222.574-1.747m.581 2.749A3.75 3.75 0 0 1 15.318 5m0 0c.427-.283.815-.62 1.155-.999a4.471 4.471 0 0 0-.575-1.752M4.921 6a24.048 24.048 0 0 0-.392 3.314c1.668.546 3.416.914 5.223 1.082M19.08 6c.205 1.08.337 2.187.392 3.314a23.882 23.882 0 0 1-5.223 1.082" />
|
||||
</svg>
|
||||
{{- else if eq $type_class "example" -}}
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" width="22" height="22">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M9.813 15.904 9 18.75l-.813-2.846a4.5 4.5 0 0 0-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 0 0 3.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 0 0 3.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 0 0-3.09 3.09ZM18.259 8.715 18 9.75l-.259-1.035a3.375 3.375 0 0 0-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 0 0 2.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 0 0 2.456 2.456L21.75 6l-1.035.259a3.375 3.375 0 0 0-2.456 2.456ZM16.894 20.567 16.5 21.75l-.394-1.183a2.25 2.25 0 0 0-1.423-1.423L13.5 18.75l1.183-.394a2.25 2.25 0 0 0 1.423-1.423l.394-1.183.394 1.183a2.25 2.25 0 0 0 1.423 1.423l1.183.394-1.183.394a2.25 2.25 0 0 0-1.423 1.423Z" />
|
||||
</svg>
|
||||
{{- else if eq $type_class "quote" -}}
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" width="22" height="22">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M7.5 8.25h9m-9 3H12m-9.75 1.51c0 1.6 1.123 2.994 2.707 3.227 1.129.166 2.27.293 3.423.379.35.026.67.21.865.501L12 21l2.755-4.133a1.14 1.14 0 0 1 .865-.501 48.172 48.172 0 0 0 3.423-.379c1.584-.233 2.707-1.626 2.707-3.228V6.741c0-1.602-1.123-2.995-2.707-3.228A48.394 48.394 0 0 0 12 3c-2.392 0-4.744.175-7.043.513C3.373 3.746 2.25 5.14 2.25 6.741v6.018Z" />
|
||||
</svg>
|
||||
{{- else -}}
|
||||
<svg
|
||||
width="22"
|
||||
height="22"
|
||||
viewBox="0 0 20 20"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg">
|
||||
<path
|
||||
d="M10 9V14M10 19C5.02944 19 1 14.9706 1 10C1 5.02944 5.02944 1 10 1C14.9706 1 19 5.02944 19 10C19 14.9706 14.9706 19 10 19ZM10.0498 6V6.1L9.9502 6.1002V6H10.0498Z"
|
||||
stroke="currentColor"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"></path>
|
||||
</svg>
|
||||
{{- end -}}
|
||||
{{ if $title }}
|
||||
<p>{{ $title }}</p>
|
||||
{{ else }}
|
||||
<p>{{ $type | title }}</p>
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="notice-body"><p>{{ .Inner | markdownify }}</p></div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user