mirror of
				https://github.com/imfing/hextra.git
				synced 2025-11-03 21:24:53 -05:00 
			
		
		
		
	Compare commits
	
		
			13 Commits
		
	
	
		
			main
			...
			78d038ee31
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					78d038ee31 | ||
| 
						 | 
					c36a1efea4 | ||
| 
						 | 
					243f4f5173 | ||
| 
						 | 
					e3d29ca81a | ||
| 
						 | 
					1a5a34b00c | ||
| 
						 | 
					13e11d59d2 | ||
| 
						 | 
					aa557df8aa | ||
| 
						 | 
					869731e9de | ||
| 
						 | 
					797b485c9b | ||
| 
						 | 
					71b2b1176f | ||
| 
						 | 
					756769d6d3 | ||
| 
						 | 
					0c2c148f5e | ||
| 
						 | 
					aea9235285 | 
@@ -875,6 +875,9 @@ video {
 | 
				
			|||||||
.hx-gap-4 {
 | 
					.hx-gap-4 {
 | 
				
			||||||
  gap: 1rem;
 | 
					  gap: 1rem;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					.hx-gap-6 {
 | 
				
			||||||
 | 
					  gap: 1.5rem;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
.hx-gap-x-1\.5 {
 | 
					.hx-gap-x-1\.5 {
 | 
				
			||||||
  -moz-column-gap: 0.375rem;
 | 
					  -moz-column-gap: 0.375rem;
 | 
				
			||||||
       column-gap: 0.375rem;
 | 
					       column-gap: 0.375rem;
 | 
				
			||||||
@@ -1152,6 +1155,9 @@ video {
 | 
				
			|||||||
.hx-pb-px {
 | 
					.hx-pb-px {
 | 
				
			||||||
  padding-bottom: 1px;
 | 
					  padding-bottom: 1px;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					.hx-pl-\[max\(env\(safe-area-inset-left\)\,0rem\)\] {
 | 
				
			||||||
 | 
					  padding-left: max(env(safe-area-inset-left),0rem);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
.hx-pl-\[max\(env\(safe-area-inset-left\)\,1\.5rem\)\] {
 | 
					.hx-pl-\[max\(env\(safe-area-inset-left\)\,1\.5rem\)\] {
 | 
				
			||||||
  padding-left: max(env(safe-area-inset-left),1.5rem);
 | 
					  padding-left: max(env(safe-area-inset-left),1.5rem);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -1167,6 +1173,9 @@ video {
 | 
				
			|||||||
.hx-pr-\[max\(env\(safe-area-inset-left\)\,1\.5rem\)\] {
 | 
					.hx-pr-\[max\(env\(safe-area-inset-left\)\,1\.5rem\)\] {
 | 
				
			||||||
  padding-right: max(env(safe-area-inset-left),1.5rem);
 | 
					  padding-right: max(env(safe-area-inset-left),1.5rem);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					.hx-pr-\[max\(env\(safe-area-inset-right\)\,0rem\)\] {
 | 
				
			||||||
 | 
					  padding-right: max(env(safe-area-inset-right),0rem);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
.hx-pr-\[max\(env\(safe-area-inset-right\)\,1\.5rem\)\] {
 | 
					.hx-pr-\[max\(env\(safe-area-inset-right\)\,1\.5rem\)\] {
 | 
				
			||||||
  padding-right: max(env(safe-area-inset-right),1.5rem);
 | 
					  padding-right: max(env(safe-area-inset-right),1.5rem);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -119,6 +119,7 @@ The following classes can be used to customize various parts of the theme.
 | 
				
			|||||||
#### Footer
 | 
					#### Footer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- `hextra-footer` - The footer element
 | 
					- `hextra-footer` - The footer element
 | 
				
			||||||
 | 
					- `custom-footer` - The custom footer section container
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#### Search
 | 
					#### Search
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -184,6 +185,21 @@ You may add custom scripts to the end of the head for every page by adding the f
 | 
				
			|||||||
layouts/partials/custom/head-end.html
 | 
					layouts/partials/custom/head-end.html
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Custom Footer Section
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You can add a custom section the footer between the language/theme buttons and the Copyright/Powered By section by creating a file `layouts/partials/custom/footer.html` in your site.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```html {filename="layouts/partials/custom/footer.html"}
 | 
				
			||||||
 | 
					<!-- Your footer element here -->
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Available variables in the footer section are:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `.aboveVisible`: `true` if the Language or Theme button(s) are visible above the footer along with a horizontal separator.
 | 
				
			||||||
 | 
					- `.belowVisible`: `true` if the Copyright or PoweredBy text are visible below the footer.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_Note: The custom footer inherits the default footer background color text color and the `width` setting in `hugo.yaml#footer` section._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Custom Layouts
 | 
					## Custom Layouts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The layouts of the theme can be overridden by creating a file with the same name in the `layouts` directory of your site.
 | 
					The layouts of the theme can be overridden by creating a file with the same name in the `layouts` directory of your site.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -327,6 +327,7 @@
 | 
				
			|||||||
      "hx-gap-1",
 | 
					      "hx-gap-1",
 | 
				
			||||||
      "hx-gap-2",
 | 
					      "hx-gap-2",
 | 
				
			||||||
      "hx-gap-4",
 | 
					      "hx-gap-4",
 | 
				
			||||||
 | 
					      "hx-gap-6",
 | 
				
			||||||
      "hx-gap-x-1.5",
 | 
					      "hx-gap-x-1.5",
 | 
				
			||||||
      "hx-gap-y-2",
 | 
					      "hx-gap-y-2",
 | 
				
			||||||
      "hx-grid",
 | 
					      "hx-grid",
 | 
				
			||||||
@@ -430,12 +431,14 @@
 | 
				
			|||||||
      "hx-pb-8",
 | 
					      "hx-pb-8",
 | 
				
			||||||
      "hx-pb-[env(safe-area-inset-bottom)]",
 | 
					      "hx-pb-[env(safe-area-inset-bottom)]",
 | 
				
			||||||
      "hx-pb-px",
 | 
					      "hx-pb-px",
 | 
				
			||||||
 | 
					      "hx-pl-[max(env(safe-area-inset-left),0rem)]",
 | 
				
			||||||
      "hx-pl-[max(env(safe-area-inset-left),1.5rem)]",
 | 
					      "hx-pl-[max(env(safe-area-inset-left),1.5rem)]",
 | 
				
			||||||
      "hx-pointer-events-none",
 | 
					      "hx-pointer-events-none",
 | 
				
			||||||
      "hx-pr-2",
 | 
					      "hx-pr-2",
 | 
				
			||||||
      "hx-pr-4",
 | 
					      "hx-pr-4",
 | 
				
			||||||
      "hx-pr-[calc(env(safe-area-inset-right)-1.5rem)]",
 | 
					      "hx-pr-[calc(env(safe-area-inset-right)-1.5rem)]",
 | 
				
			||||||
      "hx-pr-[max(env(safe-area-inset-left),1.5rem)]",
 | 
					      "hx-pr-[max(env(safe-area-inset-left),1.5rem)]",
 | 
				
			||||||
 | 
					      "hx-pr-[max(env(safe-area-inset-right),0rem)]",
 | 
				
			||||||
      "hx-pr-[max(env(safe-area-inset-right),1.5rem)]",
 | 
					      "hx-pr-[max(env(safe-area-inset-right),1.5rem)]",
 | 
				
			||||||
      "hx-pt-4",
 | 
					      "hx-pt-4",
 | 
				
			||||||
      "hx-pt-6",
 | 
					      "hx-pt-6",
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										0
									
								
								layouts/partials/custom/footer.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								layouts/partials/custom/footer.html
									
									
									
									
									
										Normal file
									
								
							@@ -1,5 +1,7 @@
 | 
				
			|||||||
{{- $enableFooterSwitches := .Scratch.Get "enableFooterSwitches" | default false -}}
 | 
					{{- $enableFooterSwitches := .Scratch.Get "enableFooterSwitches" | default false -}}
 | 
				
			||||||
{{- $displayThemeToggle := site.Params.theme.displayToggle | default true -}}
 | 
					{{- $displayThemeToggle := site.Params.theme.displayToggle | default true -}}
 | 
				
			||||||
 | 
					{{- $footerSwitchesVisible := and $enableFooterSwitches (or hugo.IsMultilingual $displayThemeToggle) -}}
 | 
				
			||||||
 | 
					{{- $copyrightSectionVisible := or (.Site.Params.footer.displayPoweredBy | default true) .Site.Params.footer.displayCopyright -}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{{- $copyright := (T "copyright") | default "© 2024 Hextra." -}}
 | 
					{{- $copyright := (T "copyright") | default "© 2024 Hextra." -}}
 | 
				
			||||||
{{- $poweredBy := (T "poweredBy") | default "Powered by Hextra" -}}
 | 
					{{- $poweredBy := (T "poweredBy") | default "Powered by Hextra" -}}
 | 
				
			||||||
@@ -15,7 +17,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<footer class="hextra-footer hx-bg-gray-100 hx-pb-[env(safe-area-inset-bottom)] dark:hx-bg-neutral-900 print:hx-bg-transparent">
 | 
					<footer class="hextra-footer hx-bg-gray-100 hx-pb-[env(safe-area-inset-bottom)] dark:hx-bg-neutral-900 print:hx-bg-transparent">
 | 
				
			||||||
  {{- if and $enableFooterSwitches (or hugo.IsMultilingual $displayThemeToggle) -}}
 | 
					  {{- if $footerSwitchesVisible -}}
 | 
				
			||||||
    <div class="hx-mx-auto hx-flex hx-gap-2 hx-py-2 hx-px-4 {{ $footerWidth }}">
 | 
					    <div class="hx-mx-auto hx-flex hx-gap-2 hx-py-2 hx-px-4 {{ $footerWidth }}">
 | 
				
			||||||
      {{- partial "language-switch.html" (dict "context" .) -}}
 | 
					      {{- partial "language-switch.html" (dict "context" .) -}}
 | 
				
			||||||
      {{- with $displayThemeToggle }}{{ partial "theme-toggle.html" }}{{ end -}}
 | 
					      {{- with $displayThemeToggle }}{{ partial "theme-toggle.html" }}{{ end -}}
 | 
				
			||||||
@@ -24,14 +26,21 @@
 | 
				
			|||||||
      <hr class="dark:hx-border-neutral-800" />
 | 
					      <hr class="dark:hx-border-neutral-800" />
 | 
				
			||||||
    {{- end -}}
 | 
					    {{- end -}}
 | 
				
			||||||
  {{- end -}}
 | 
					  {{- end -}}
 | 
				
			||||||
 | 
					    <div
 | 
				
			||||||
 | 
					      class="custom-footer {{ $footerWidth }} hx-pl-[max(env(safe-area-inset-left),1.5rem)] hx-pr-[max(env(safe-area-inset-right),1.5rem)] hx-text-gray-600 dark:hx-text-gray-400"
 | 
				
			||||||
 | 
					    >
 | 
				
			||||||
 | 
					      {{ partial "custom/footer.html" (dict "context" . "aboveVisible" $footerSwitchesVisible "belowVisible" $copyrightSectionVisible ) }}
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    {{- if $copyrightSectionVisible -}}
 | 
				
			||||||
      <div
 | 
					      <div
 | 
				
			||||||
        class="{{ $footerWidth }} hx-mx-auto hx-flex hx-justify-center hx-py-12 hx-pl-[max(env(safe-area-inset-left),1.5rem)] hx-pr-[max(env(safe-area-inset-right),1.5rem)] hx-text-gray-600 dark:hx-text-gray-400 md:hx-justify-start"
 | 
					        class="{{ $footerWidth }} hx-mx-auto hx-flex hx-justify-center hx-py-12 hx-pl-[max(env(safe-area-inset-left),1.5rem)] hx-pr-[max(env(safe-area-inset-right),1.5rem)] hx-text-gray-600 dark:hx-text-gray-400 md:hx-justify-start"
 | 
				
			||||||
      >
 | 
					      >
 | 
				
			||||||
    <div class="hx-flex hx-w-full hx-flex-col hx-items-center sm:hx-items-start">
 | 
					        <div class="hx-flex hx-w-full hx-flex-col hx-items-center sm:hx-items-start hx-gap-6">
 | 
				
			||||||
            {{- if (.Site.Params.footer.displayPoweredBy | default true) }}<div class="hx-font-semibold">{{ template "theme-credit" $poweredBy }}</div>{{ end }}
 | 
					            {{- if (.Site.Params.footer.displayPoweredBy | default true) }}<div class="hx-font-semibold">{{ template "theme-credit" $poweredBy }}</div>{{ end }}
 | 
				
			||||||
      {{- if .Site.Params.footer.displayCopyright }}<div class="hx-mt-6 hx-text-xs">{{ $copyright | markdownify }}</div>{{ end }}
 | 
					            {{- if .Site.Params.footer.displayCopyright }}<div class="hx-text-xs">{{ $copyright | markdownify }}</div>{{ end }}
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
 | 
					    {{- end -}}
 | 
				
			||||||
</footer>
 | 
					</footer>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{{- define "theme-credit" -}}
 | 
					{{- define "theme-credit" -}}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user