Compare commits
7 Commits
b8f617f1b0
...
v0.9.4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
14036ffea6 | ||
|
|
a1232ecf9f | ||
|
|
a933f464f5 | ||
|
|
709a407b2e | ||
|
|
876eb3abff | ||
|
|
a27f6eef5e | ||
|
|
323f4c4b44 |
@@ -839,6 +839,9 @@ video {
|
|||||||
-moz-appearance: none;
|
-moz-appearance: none;
|
||||||
appearance: none;
|
appearance: none;
|
||||||
}
|
}
|
||||||
|
.hx-grid-cols-1 {
|
||||||
|
grid-template-columns: repeat(1, minmax(0, 1fr));
|
||||||
|
}
|
||||||
.hx-flex-col {
|
.hx-flex-col {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
@@ -3427,6 +3430,10 @@ body:is(html[class~="dark"] *) {
|
|||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.md\:hx-grid-cols-2 {
|
||||||
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||||
|
}
|
||||||
|
|
||||||
.md\:hx-justify-start {
|
.md\:hx-justify-start {
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
}
|
}
|
||||||
@@ -3456,11 +3463,21 @@ body:is(html[class~="dark"] *) {
|
|||||||
font-size: .875rem;
|
font-size: .875rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@media (min-width: 1024px) {
|
||||||
|
|
||||||
|
.lg\:hx-grid-cols-3 {
|
||||||
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||||
|
}
|
||||||
|
}
|
||||||
@media (min-width: 1280px) {
|
@media (min-width: 1280px) {
|
||||||
|
|
||||||
.xl\:hx-block {
|
.xl\:hx-block {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.xl\:hx-grid-cols-4 {
|
||||||
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.ltr\:hx-right-1\.5:where([dir="ltr"], [dir="ltr"] *) {
|
.ltr\:hx-right-1\.5:where([dir="ltr"], [dir="ltr"] *) {
|
||||||
right: 0.375rem;
|
right: 0.375rem;
|
||||||
|
|||||||
@@ -195,8 +195,19 @@ document.addEventListener("DOMContentLoaded", function () {
|
|||||||
*/
|
*/
|
||||||
async function preloadIndex() {
|
async function preloadIndex() {
|
||||||
const tokenize = '{{- site.Params.search.flexsearch.tokenize | default "forward" -}}';
|
const tokenize = '{{- site.Params.search.flexsearch.tokenize | default "forward" -}}';
|
||||||
|
|
||||||
|
const isCJK = () => {
|
||||||
|
const lang = document.documentElement.lang || "en";
|
||||||
|
return lang.startsWith("zh") || lang.startsWith("ja") || lang.startsWith("ko");
|
||||||
|
}
|
||||||
|
|
||||||
|
const encodeCJK = (str) => str.replace(/[\x00-\x7F]/g, "").split("");
|
||||||
|
const encodeDefault = (str) => (""+str).toLocaleLowerCase().split(/[\p{Z}\p{S}\p{P}\p{C}]+/u);
|
||||||
|
const encodeFunction = isCJK() ? encodeCJK : encodeDefault;
|
||||||
|
|
||||||
window.pageIndex = new FlexSearch.Document({
|
window.pageIndex = new FlexSearch.Document({
|
||||||
tokenize,
|
tokenize,
|
||||||
|
encode: encodeFunction,
|
||||||
cache: 100,
|
cache: 100,
|
||||||
document: {
|
document: {
|
||||||
id: 'id',
|
id: 'id',
|
||||||
@@ -207,6 +218,7 @@ document.addEventListener("DOMContentLoaded", function () {
|
|||||||
|
|
||||||
window.sectionIndex = new FlexSearch.Document({
|
window.sectionIndex = new FlexSearch.Document({
|
||||||
tokenize,
|
tokenize,
|
||||||
|
encode: encodeFunction,
|
||||||
cache: 100,
|
cache: 100,
|
||||||
document: {
|
document: {
|
||||||
id: 'id',
|
id: 'id',
|
||||||
|
|||||||
@@ -38,4 +38,3 @@ Hextra 是一个现代、快速且功能齐全的 [Hugo][hugo] 主题,基于 [
|
|||||||
[hugo]: https://gohugo.io/
|
[hugo]: https://gohugo.io/
|
||||||
[flex-search]: https://github.com/nextapps-de/flexsearch
|
[flex-search]: https://github.com/nextapps-de/flexsearch
|
||||||
[tailwind-css]: https://tailwindcss.com/
|
[tailwind-css]: https://tailwindcss.com/
|
||||||
```
|
|
||||||
@@ -195,7 +195,7 @@ You can add extra section in the footer by creating a file `layouts/partials/cus
|
|||||||
The added section will be added before the copyright section in the footer.
|
The added section will be added before the copyright section in the footer.
|
||||||
You can use [HTML](https://developer.mozilla.org/en-US/docs/Web/HTML) and [Hugo template syntax](https://gohugo.io/templates/) to add your own content.
|
You can use [HTML](https://developer.mozilla.org/en-US/docs/Web/HTML) and [Hugo template syntax](https://gohugo.io/templates/) to add your own content.
|
||||||
|
|
||||||
Hugo variables available in the footer section are: `.switchesVisible` and `.copyrightVisible`.
|
Hugo variables available in the footer section are: `.switchesVisible` and `.displayCopyright`.
|
||||||
|
|
||||||
## Custom Layouts
|
## Custom Layouts
|
||||||
|
|
||||||
|
|||||||
@@ -333,6 +333,7 @@
|
|||||||
"hx-gap-x-1.5",
|
"hx-gap-x-1.5",
|
||||||
"hx-gap-y-2",
|
"hx-gap-y-2",
|
||||||
"hx-grid",
|
"hx-grid",
|
||||||
|
"hx-grid-cols-1",
|
||||||
"hx-group",
|
"hx-group",
|
||||||
"hx-group/code",
|
"hx-group/code",
|
||||||
"hx-group/copybtn",
|
"hx-group/copybtn",
|
||||||
@@ -545,6 +546,7 @@
|
|||||||
"language-options",
|
"language-options",
|
||||||
"language-switcher",
|
"language-switcher",
|
||||||
"last-of-type:hx-mb-0",
|
"last-of-type:hx-mb-0",
|
||||||
|
"lg:hx-grid-cols-3",
|
||||||
"lntable",
|
"lntable",
|
||||||
"lntd",
|
"lntd",
|
||||||
"ltr:before:hx-left-0",
|
"ltr:before:hx-left-0",
|
||||||
@@ -577,6 +579,7 @@
|
|||||||
"max-sm:hx-grid-cols-1",
|
"max-sm:hx-grid-cols-1",
|
||||||
"max-xl:hx-hidden",
|
"max-xl:hx-hidden",
|
||||||
"md:hx-aspect-[1.1/1]",
|
"md:hx-aspect-[1.1/1]",
|
||||||
|
"md:hx-grid-cols-2",
|
||||||
"md:hx-h-[calc(100vh-var(--navbar-height)-var(--menu-height))]",
|
"md:hx-h-[calc(100vh-var(--navbar-height)-var(--menu-height))]",
|
||||||
"md:hx-hidden",
|
"md:hx-hidden",
|
||||||
"md:hx-inline-block",
|
"md:hx-inline-block",
|
||||||
@@ -640,7 +643,8 @@
|
|||||||
"subheading-anchor",
|
"subheading-anchor",
|
||||||
"success-icon",
|
"success-icon",
|
||||||
"theme-toggle",
|
"theme-toggle",
|
||||||
"xl:hx-block"
|
"xl:hx-block",
|
||||||
|
"xl:hx-grid-cols-4"
|
||||||
],
|
],
|
||||||
"ids": null
|
"ids": null
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ copyright: "© 2024 Hextra Project."
|
|||||||
dark: "Meusi"
|
dark: "Meusi"
|
||||||
editThisPage: "Hariri ukurasa huu kwenye GitHub →"
|
editThisPage: "Hariri ukurasa huu kwenye GitHub →"
|
||||||
lastUpdated: "Ilisasishwa mwisho"
|
lastUpdated: "Ilisasishwa mwisho"
|
||||||
light: "Nuru"
|
light: "Meupe"
|
||||||
noResultsFound: "Hakuna matokeo yalipopatikana."
|
noResultsFound: "Hakuna matokeo yalipopatikana."
|
||||||
onThisPage: "Kwenye ukurasa huu"
|
onThisPage: "Kwenye ukurasa huu"
|
||||||
poweredBy: "Inaendeshwa na Hextra"
|
poweredBy: "Inaendeshwa na Hextra"
|
||||||
|
|||||||
30
layouts/_default/taxonomy.html
Normal file
30
layouts/_default/taxonomy.html
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
{{ define "main" }}
|
||||||
|
<div class='hx-mx-auto hx-flex {{ partial "utils/page-width" . }}'>
|
||||||
|
{{ partial "sidebar.html" (dict "context" . "disableSidebar" true "displayPlaceholder" true) }}
|
||||||
|
{{ partial "toc.html" (dict "Params" (dict "toc" false)) }}
|
||||||
|
<article class="hx-w-full hx-break-words hx-flex hx-min-h-[calc(100vh-var(--navbar-height))] hx-min-w-0 hx-justify-center hx-pb-8 hx-pr-[calc(env(safe-area-inset-right)-1.5rem)]">
|
||||||
|
<main class="hx-w-full hx-min-w-0 hx-max-w-6xl hx-px-6 hx-pt-4 md:hx-px-12">
|
||||||
|
<br class="hx-mt-1.5 hx-text-sm" />
|
||||||
|
{{ if .Title }}<h1 class="hx-text-center hx-mt-2 hx-text-4xl hx-font-bold hx-tracking-tight hx-text-slate-900 dark:hx-text-slate-100">{{ .Title }}</h1>{{ end }}
|
||||||
|
<div class="hx-mb-16"></div>
|
||||||
|
<div class="content">
|
||||||
|
{{ .Content }}
|
||||||
|
</div>
|
||||||
|
<div class="hx-grid hx-grid-cols-1 md:hx-grid-cols-2 lg:hx-grid-cols-3 xl:hx-grid-cols-4 hx-gap-4">
|
||||||
|
{{ range .Data.Terms }}
|
||||||
|
<div class="hx-w-full">
|
||||||
|
<a
|
||||||
|
href="{{ .Page.RelPermalink }}"
|
||||||
|
title="{{ .Page.LinkTitle }}"
|
||||||
|
class="hx-font-medium hover:hx-text-primary-600"
|
||||||
|
>
|
||||||
|
{{- .Page.LinkTitle -}}
|
||||||
|
<span class="hx-text-sm hx-text-gray-500"> {{ .Count }}</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
33
layouts/_default/term.html
Normal file
33
layouts/_default/term.html
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
{{ define "main" }}
|
||||||
|
<div class='hx-mx-auto hx-flex {{ partial "utils/page-width" . }}'>
|
||||||
|
{{ partial "sidebar.html" (dict "context" . "disableSidebar" true "displayPlaceholder" true) }}
|
||||||
|
{{ partial "toc.html" (dict "Params" (dict "toc" false)) }}
|
||||||
|
<article class="hx-w-full hx-break-words hx-flex hx-min-h-[calc(100vh-var(--navbar-height))] hx-min-w-0 hx-justify-center hx-pb-8 hx-pr-[calc(env(safe-area-inset-right)-1.5rem)]">
|
||||||
|
<main class="hx-w-full hx-min-w-0 hx-max-w-6xl hx-px-6 hx-pt-4 md:hx-px-12">
|
||||||
|
<br class="hx-mt-1.5 hx-text-sm" />
|
||||||
|
{{ if .Title }}<h1 class="hx-text-center hx-mt-2 hx-text-4xl hx-font-bold hx-tracking-tight hx-text-slate-900 dark:hx-text-slate-100">{{ .Title }}</h1>{{ end }}
|
||||||
|
<div class="hx-mb-16"></div>
|
||||||
|
<div class="content">
|
||||||
|
{{ .Content }}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
{{- range .Pages -}}
|
||||||
|
<div>
|
||||||
|
<h3>
|
||||||
|
<a
|
||||||
|
style="color: inherit; text-decoration: none;"
|
||||||
|
class="hx-block hx-font-semibold hx-mt-8 hx-text-2xl"
|
||||||
|
href="{{ .RelPermalink }}"
|
||||||
|
title="{{ .LinkTitle }}"
|
||||||
|
>
|
||||||
|
{{ .Title }}
|
||||||
|
</a>
|
||||||
|
</h3>
|
||||||
|
<p class="hx-opacity-50 hx-text-sm hx-leading-7">{{ partial "utils/format-date" .Date }}</p>
|
||||||
|
</div>
|
||||||
|
{{- end -}}
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
@@ -13,26 +13,19 @@
|
|||||||
{{/* Image processing options */}}
|
{{/* Image processing options */}}
|
||||||
{{- $method := .Get "method" | default "Resize" | humanize -}}
|
{{- $method := .Get "method" | default "Resize" | humanize -}}
|
||||||
{{- $options := .Get "options" | default "800x webp q80" -}}
|
{{- $options := .Get "options" | default "800x webp q80" -}}
|
||||||
|
{{- $process := .Get "process" | default (printf "%s %s" $method $options) -}}
|
||||||
|
|
||||||
{{- if and $image (not (urls.Parse $image).Scheme) -}}
|
{{- if and $image (not (urls.Parse $image).Scheme) -}}
|
||||||
{{/* Process images in assets */}}
|
{{- with or (.Page.Resources.Get $image) (resources.Get $image) -}}
|
||||||
{{- with resources.Get $image -}}
|
{{/* .Process does not work on svgs */}}
|
||||||
{{- $processed := "" -}}
|
{{- if (not (eq .MediaType.SubType "svg")) -}}
|
||||||
{{- if eq $method "Resize" -}}
|
{{/* Retrieve the $image resource from local or global resources */}}
|
||||||
{{- $processed = (.Resize $options) -}}
|
{{- $processed := .Process $process -}}
|
||||||
{{- else if eq $method "Fit" -}}
|
|
||||||
{{- $processed = (.Fit $options) -}}
|
|
||||||
{{- else if eq $method "Fill" -}}
|
|
||||||
{{- $processed = (.Fill $options) -}}
|
|
||||||
{{- else if eq $method "Crop" -}}
|
|
||||||
{{- $processed = (.Crop $options) -}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- errorf "Invalid image processing command: Must be one of Crop, Fit, Fill or Resize." -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- $width = $processed.Width -}}
|
{{- $width = $processed.Width -}}
|
||||||
{{- $height = $processed.Height -}}
|
{{- $height = $processed.Height -}}
|
||||||
{{- $image = $processed.RelPermalink -}}
|
{{- $image = $processed.RelPermalink -}}
|
||||||
{{- else -}}
|
{{- end -}}
|
||||||
|
{{ else }}
|
||||||
{{/* Otherwise, use relative link of the image */}}
|
{{/* Otherwise, use relative link of the image */}}
|
||||||
{{- if hasPrefix $image "/" -}}
|
{{- if hasPrefix $image "/" -}}
|
||||||
{{- $image = relURL (strings.TrimPrefix "/" $image) -}}
|
{{- $image = relURL (strings.TrimPrefix "/" $image) -}}
|
||||||
|
|||||||
Reference in New Issue
Block a user