forked from drowl87/hextra_mirror
fix: remove extra space for rendered link
chore: update theme info chore: use dataset chore: support editURL config option * add toc and search config option chore: update head template
This commit is contained in:
parent
03ae8b3dd5
commit
d66ae7146f
@ -79,7 +79,7 @@
|
||||
const result = resultsElement.querySelector('.active');
|
||||
if (!result) return { result: undefined, index: -1 };
|
||||
|
||||
const index = parseInt(result.getAttribute('data-index'));
|
||||
const index = parseInt(result.dataset.index, 10);
|
||||
return { result, index };
|
||||
}
|
||||
|
||||
@ -101,7 +101,7 @@
|
||||
function getResultsLength() {
|
||||
const { resultsElement } = getActiveSearchElement();
|
||||
if (!resultsElement) return 0;
|
||||
return resultsElement.querySelectorAll('li').length;
|
||||
return resultsElement.dataset.count;
|
||||
}
|
||||
|
||||
// Finish the search by hiding the results and clearing the input.
|
||||
@ -304,6 +304,7 @@
|
||||
return;
|
||||
}
|
||||
|
||||
// Highlight the query in the result text.
|
||||
function highlightMatches(text, query) {
|
||||
const escapedQuery = query.replace(/[-\\^$*+?.()|[\]{}]/g, '\\$&');
|
||||
const regex = new RegExp(escapedQuery, 'gi');
|
||||
@ -349,5 +350,6 @@
|
||||
fragment.appendChild(li);
|
||||
}
|
||||
resultsElement.appendChild(fragment);
|
||||
resultsElement.dataset.count = results.length;
|
||||
}
|
||||
})();
|
||||
|
@ -2,19 +2,19 @@ document.querySelectorAll('.tabs-toggle').forEach(function (button) {
|
||||
button.addEventListener('click', function (e) {
|
||||
// set parent tabs to unselected
|
||||
const tabs = Array.from(e.target.parentElement.querySelectorAll('.tabs-toggle'));
|
||||
tabs.map(tab => tab.setAttribute('data-state', ''));
|
||||
tabs.map(tab => tab.dataset.state = '');
|
||||
|
||||
// set current tab to selected
|
||||
e.target.setAttribute('data-state', 'selected');
|
||||
e.target.dataset.state = 'selected';
|
||||
|
||||
// set all panels to unselected
|
||||
const panelsContainer = e.target.parentElement.nextElementSibling;
|
||||
Array.from(panelsContainer.children).forEach(function (panel) {
|
||||
panel.setAttribute('data-state', '');
|
||||
panel.dataset.state = '';
|
||||
});
|
||||
|
||||
const panelId = e.target.getAttribute('aria-controls');
|
||||
const panel = panelsContainer.querySelector(`#${panelId}`);
|
||||
panel.setAttribute('data-state', 'selected');
|
||||
panel.dataset.state = 'selected';
|
||||
});
|
||||
});
|
||||
|
@ -72,3 +72,13 @@ menu:
|
||||
params:
|
||||
displayUpdatedDate: true
|
||||
dateFormat: "January 2, 2006"
|
||||
|
||||
toc:
|
||||
disabled: false
|
||||
|
||||
search:
|
||||
disabled: false
|
||||
|
||||
editURL:
|
||||
disabled: false
|
||||
base: "https://github.com/imfing/hextra/edit/dev/exampleSite/content"
|
||||
|
@ -1,2 +1,3 @@
|
||||
article:
|
||||
on_this_page: "On this page"
|
||||
edit_this_page: "Edit this page on GitHub →"
|
||||
|
@ -1 +1,3 @@
|
||||
<a href="{{ .Destination | safeURL }}" {{ with .Title }}title="{{ . }}"{{ end }}{{ if strings.HasPrefix .Destination "http" }}target="_blank" rel="noopener"{{ end }}>{{ .Text | safeHTML }}</a>
|
||||
{{- with . -}}
|
||||
<a href="{{ .Destination | safeURL }}" {{ with .Title }}title="{{ . }}"{{ end }}{{ if strings.HasPrefix .Destination "http" }}target="_blank" rel="noopener"{{ end }}>{{ .Text | safeHTML }}</a>
|
||||
{{- end -}}
|
||||
|
@ -1,6 +1,11 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
{{ if hugo.IsProduction -}}
|
||||
<meta name="robots" content="index, follow" />
|
||||
{{ else -}}
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
{{ end -}}
|
||||
{{ partialCached "favicons.html" . }}
|
||||
<title>
|
||||
{{- if .IsHome -}}
|
||||
@ -12,6 +17,7 @@
|
||||
</title>
|
||||
<meta name="description" content="{{ partial "utils/page-description.html" . }}" />
|
||||
{{ partial "opengraph.html" . }}
|
||||
{{ template "_internal/schema.html" . -}}
|
||||
{{ partial "head-css.html" . }}
|
||||
<script>
|
||||
/* Initialize light/dark mode */
|
||||
|
@ -1,6 +1,7 @@
|
||||
{{/* Table of Contents */}}
|
||||
{{/* TODO: toc bottom part should be able to hide */}}
|
||||
{{- $toc := .Params.toc | default true -}}
|
||||
{{- with site.Params.toc.disabled -}}{{ $toc = not . }}{{- end -}}
|
||||
|
||||
|
||||
<nav class="order-last hidden w-64 shrink-0 xl:block print:hidden px-4" aria-label="table of contents">
|
||||
@ -22,9 +23,13 @@
|
||||
{{ $borderClass = "" }}
|
||||
{{ end }}
|
||||
|
||||
|
||||
{{/* TOC bottom part */}}
|
||||
<div class="{{ $borderClass }} sticky bottom-0 flex flex-col items-start gap-2 pb-8 dark:border-neutral-800 contrast-more:border-t contrast-more:border-neutral-400 contrast-more:shadow-none contrast-more:dark:border-neutral-400">
|
||||
<a class="text-xs font-medium text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-100 contrast-more:text-gray-800 contrast-more:dark:text-gray-50" href="{{ .Params.editURL }}">Edit this page on GitHub →</a>
|
||||
{{- if not site.Params.editURL.disabled -}}
|
||||
{{- $editURL := urls.JoinPath site.Params.editURL.base .File.Path -}}
|
||||
{{- with .Params.editURL -}}{{ $editURL = .Params.editURL }}{{- end -}}
|
||||
<a class="text-xs font-medium text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-gray-100 contrast-more:text-gray-800 contrast-more:dark:text-gray-50" href="{{ $editURL }}" target="_blank" rel="noreferer">{{ i18n "article.edit_this_page" }}</a>
|
||||
{{- end -}}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
23
theme.toml
23
theme.toml
@ -3,19 +3,14 @@
|
||||
|
||||
name = "Hextra"
|
||||
license = "MIT"
|
||||
licenselink = "https://github.com/yourname/yourtheme/blob/master/LICENSE"
|
||||
description = ""
|
||||
homepage = "http://example.com/"
|
||||
tags = []
|
||||
features = []
|
||||
min_version = "0.115.3"
|
||||
licenselink = "https://github.com/imfing/hextra/blob/main/LICENSE"
|
||||
description = "Modern, versatile theme for building beautiful websites with Hugo"
|
||||
homepage = "https://github.com/imfing/hextra/"
|
||||
demosite = ""
|
||||
tags = ["Modern", "Elegant", "Blog", "Documentation"]
|
||||
features = ["Responsive", "Dark Mode", "Search", "Syntax Highlighting", "Multilingual"]
|
||||
min_version = "0.111.0"
|
||||
|
||||
[author]
|
||||
name = ""
|
||||
homepage = ""
|
||||
|
||||
# If porting an existing theme
|
||||
[original]
|
||||
name = ""
|
||||
homepage = ""
|
||||
repo = ""
|
||||
name = "Xin"
|
||||
homepage = "https://imfing.com"
|
||||
|
Loading…
x
Reference in New Issue
Block a user