mirror of
https://github.com/imfing/hextra.git
synced 2025-08-23 15:06:48 -04:00

* refactor(navbar): add hextra prefix to navbar and hamburger menu classes - Updated CSS class names from `nav-container` to `hextra-nav-container` and `hamburger-menu` to `hextra-hamburger-menu` for improved clarity and consistency across the project. - Adjusted related JavaScript and documentation to reflect the new class names. * refactor(search): update class names for search components - Renamed CSS classes from `search-wrapper`, `search-input`, `active`, `no-result`, `prefix`, `excerpt`, and `match` to `hextra-search-wrapper`, `hextra-search-input`, `hextra-search-active`, `hextra-search-no-result`, `hextra-search-prefix`, `hextra-search-excerpt`, and `hextra-search-match` for improved clarity and consistency. - Updated JavaScript selectors to match the new class names, ensuring functionality remains intact. - Adjusted HTML structure to reflect the new class naming convention. * refactor(search): update search component class names for consistency - Renamed existing search-related CSS classes to include the `hextra` prefix for improved clarity and consistency. - Added optional nested classes for enhanced customization of the search UI, including titles, active states, and result snippets. - Removed outdated breadcrumb section as no specific class is available. * refactor(sidebar): rename sidebar classes for consistency - Updated CSS and JavaScript to replace `sidebar-container` with `hextra-sidebar-container` and `sidebar-active-item` with `hextra-sidebar-active-item` for improved clarity and consistency across the project. - Adjusted related documentation to reflect the new class names. * refactor(language & theme): update class names for consistency - Renamed language switcher and theme toggle classes to include the `hextra` prefix for improved clarity and consistency across the project. - Updated related JavaScript selectors and documentation to reflect the new class names. * refactor(css & html): rename classes for consistency and clarity - Updated various CSS class names to include the `hextra` prefix, enhancing consistency across the project. This includes renaming classes such as `content` to `hextra-content`, `filename` to `hextra-code-filename`, and `steps` to `hextra-steps`. - Adjusted related HTML and JavaScript to reflect the new class names, ensuring functionality and styling remain intact. - Updated documentation to include the new class names for better clarity. * refactor(language): update class names for language options - Renamed the `language-options` class to `hextra-language-options` for consistency with the existing `hextra` prefix convention. - Updated the corresponding HTML to reflect the new class name, ensuring clarity and uniformity across the project. * refactor(css & html): rename classes for consistency and clarity - Renamed CSS classes to include the `hextra` prefix, such as changing `subheading-anchor` to `hextra-subheading-anchor` and `footnotes` to `hextra-footnotes`, enhancing consistency across the project. - Updated related HTML and documentation to reflect the new class names, ensuring clarity and uniformity. * feat(typography): add styling for horizontal lines - Introduced new styles for horizontal lines to enhance visual separation in content. The styles apply margin and border color adjustments, ensuring consistency with the overall design. * feat(blog): add draft release announcement for Hextra v0.10.0 - Created a new markdown file for the draft release announcement of Hextra v0.10.0, including upgrade instructions and author details. - The announcement is currently marked as a draft and may be updated before the official release. * refactor(css & html): rename `hextra-content` class to `content` for consistency - Updated the `hextra-content` class to simply `content` across various HTML files and CSS, enhancing clarity and consistency in the codebase. - Adjusted the `package.json` script for the development server to include the `-F` flag for better functionality. * refactor(typography & markdown): enhance table styling and markdown syntax - Updated CSS for tables to improve styling, including adjustments to margins, borders, and text properties for better readability. - Revised markdown documentation to standardize table formatting and improve clarity, including consistent syntax for headers and lists. - Enhanced examples in the documentation to reflect the updated styling and ensure accurate representation of output. * fix(blog): update text color for improved accessibility - Modified the text color in the blog single layout to enhance readability in dark mode by adding a dark text color class. - Ensured consistency in styling for better user experience across different themes. * docs(blog): update draft release announcement for Hextra v0.10.0 - Revised the "What's New" section to include a TODO placeholder for future updates. - Added a comprehensive migration guide detailing the CSS class prefix changes to enhance consistency and avoid conflicts. - Updated the announcement to reflect the new class naming conventions for various components. * chore: rebuild css
101 lines
5.2 KiB
HTML
101 lines
5.2 KiB
HTML
{{- $navWidth := "hx:max-w-[90rem]" -}}
|
|
{{- with .Site.Params.navbar.width -}}
|
|
{{ if eq . "normal" -}}
|
|
{{ $navWidth = "hx:max-w-screen-xl" -}}
|
|
{{ else if eq . "full" -}}
|
|
{{ $navWidth = "max-w-full" -}}
|
|
{{ end -}}
|
|
{{- end -}}
|
|
|
|
|
|
<div class="hextra-nav-container hx:sticky hx:top-0 hx:z-20 hx:w-full hx:bg-transparent hx:print:hidden">
|
|
<div
|
|
class="hextra-nav-container-blur hx:pointer-events-none hx:absolute hx:z-[-1] hx:h-full hx:w-full hx:bg-white hx:dark:bg-dark hx:shadow-[0_2px_4px_rgba(0,0,0,.02),0_1px_0_rgba(0,0,0,.06)] hx:contrast-more:shadow-[0_0_0_1px_#000] hx:dark:shadow-[0_-1px_0_rgba(255,255,255,.1)_inset] hx:contrast-more:dark:shadow-[0_0_0_1px_#fff]"
|
|
></div>
|
|
|
|
<nav class="hextra-max-navbar-width hx:mx-auto hx:flex hx:items-center hx:justify-end hx:gap-2 hx:h-16 hx:px-6">
|
|
{{ partial "navbar-title.html" . }}
|
|
|
|
{{- $currentPage := . -}}
|
|
{{- range .Site.Menus.main -}}
|
|
{{- if eq .Params.type "search" -}}
|
|
{{- partial "search.html" (dict "params" .Params) -}}
|
|
{{- else -}}
|
|
{{- $link := .URL -}}
|
|
{{- $external := strings.HasPrefix $link "http" -}}
|
|
{{- with .PageRef -}}
|
|
{{- if hasPrefix . "/" -}}
|
|
{{- $link = relLangURL (strings.TrimPrefix "/" .) -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/* Display icon menu item */}}
|
|
{{- if .Params.icon -}}
|
|
{{- $rel := cond (eq .Params.icon "mastodon") "noreferrer me" "noreferrer" }}
|
|
<a class="hx:p-2 hx:text-current" {{ if $external }}target="_blank" rel="{{ $rel }}"{{ end }} href="{{ $link }}" title="{{ or (T .Identifier) .Name | safeHTML }}">
|
|
{{- partial "utils/icon.html" (dict "name" .Params.icon "attributes" "height=24") -}}
|
|
<span class="hx:sr-only">{{ or (T .Identifier) .Name | safeHTML }}</span>
|
|
</a>
|
|
{{- else -}}
|
|
{{- $active := or ($currentPage.HasMenuCurrent "main" .) ($currentPage.IsMenuCurrent "main" .) -}}
|
|
{{- $activeClass := cond $active "hx:font-medium" "hx:text-gray-600 hx:hover:text-gray-800 hx:dark:text-gray-400 hx:dark:hover:text-gray-200" -}}
|
|
|
|
{{- if .HasChildren -}}
|
|
{{/* Dropdown menu for items with children */}}
|
|
<div class="hx:relative hx:hidden hx:md:inline-block">
|
|
<button
|
|
title="{{ or (T .Identifier) .Name | safeHTML }}"
|
|
data-state="closed"
|
|
class="hextra-nav-menu-toggle hx:cursor-pointer hx:text-sm hx:contrast-more:text-gray-700 hx:contrast-more:dark:text-gray-100 hx:relative hx:-ml-2 hx:whitespace-nowrap hx:p-2 hx:flex hx:items-center hx:gap-1 {{ $activeClass }}"
|
|
type="button"
|
|
aria-label="{{ or (T .Identifier) .Name | safeHTML }}"
|
|
>
|
|
<span class="hx:text-center">{{ or (T .Identifier) .Name | safeHTML }}</span>
|
|
{{- partial "utils/icon.html" (dict "name" "chevron-down" "attributes" "height=12 class=\"hx:transition-transform hx:duration-200 hx:ease-in-out\"") -}}
|
|
</button>
|
|
<ul
|
|
class="hextra-nav-menu-items hx:hidden hx:z-20 hx:max-h-64 hx:overflow-auto hx:rounded-md hx:ring-1 hx:ring-black/5 hx:bg-white hx:py-1 hx:text-sm hx:shadow-lg hx:dark:ring-white/20 hx:dark:bg-neutral-800"
|
|
style="min-width: 100px;"
|
|
>
|
|
{{ range .Children }}
|
|
{{- $link := .URL -}}
|
|
{{- $external := strings.HasPrefix $link "http" -}}
|
|
{{- with .PageRef -}}
|
|
{{- if hasPrefix . "/" -}}
|
|
{{- $link = relLangURL (strings.TrimPrefix "/" .) -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
<li class="hextra-nav-menu-item hx:flex hx:flex-col">
|
|
<a
|
|
href="{{ $link }}"
|
|
{{ if $external }}target="_blank" rel="noreferrer"{{ end }}
|
|
class="hx:text-gray-600 hx:hover:text-gray-800 hx:dark:text-gray-400 hx:dark:hover:text-gray-200 hx:relative hx:cursor-pointer hx:whitespace-nowrap hx:py-1.5 hx:transition-colors hx:ltr:pl-3 hx:ltr:pr-9 hx:rtl:pr-3 hx:rtl:pl-9"
|
|
>
|
|
{{- or (T .Identifier) .Name | safeHTML -}}
|
|
</a>
|
|
</li>
|
|
{{- end -}}
|
|
</ul>
|
|
</div>
|
|
{{- else -}}
|
|
{{/* Regular menu item without children */}}
|
|
<a
|
|
title="{{ or (T .Identifier) .Name | safeHTML }}"
|
|
href="{{ $link }}"
|
|
{{ if $external }}target="_blank" rel="noreferrer"{{ end }}
|
|
class="hx:text-sm hx:contrast-more:text-gray-700 hx:contrast-more:dark:text-gray-100 hx:relative hx:-ml-2 hx:hidden hx:whitespace-nowrap hx:p-2 hx:md:inline-block {{ $activeClass }}"
|
|
>
|
|
<span class="hx:text-center">{{ or (T .Identifier) .Name | safeHTML }}</span>
|
|
</a>
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
|
|
<button type="button" aria-label="Menu" class="hextra-hamburger-menu hx:cursor-pointer hx:-mr-2 hx:rounded-sm hx:p-2 hx:active:bg-gray-400/20 hx:md:hidden">
|
|
{{- partial "utils/icon.html" (dict "name" "hamburger-menu" "attributes" "height=24") -}}
|
|
</button>
|
|
</nav>
|
|
</div>
|