2023-08-07 23:48:07 +01:00
|
|
|
{{ define "main" }}
|
2025-05-23 00:57:12 +01:00
|
|
|
<div class="hx:mx-auto hx:flex hextra-max-page-width">
|
2023-08-24 22:29:53 +01:00
|
|
|
{{ partial "sidebar.html" (dict "context" . "disableSidebar" true "displayPlaceholder" true) }}
|
2023-08-07 23:48:07 +01:00
|
|
|
{{ partial "toc.html" . }}
|
2025-03-29 12:51:42 +00:00
|
|
|
<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 hx:md:px-12">
|
2025-08-26 20:46:51 +01:00
|
|
|
{{ partial "breadcrumb.html" (dict "page" . "enable" true) }}
|
feat(context-menu): add page context menu for copy/view Markdown (#908)
* feat(context-menu): implement page context menu for copy Markdown
- Added a context menu to Markdown pages allowing users to copy content as Markdown or view it in a new tab.
- Introduced new layout files for Markdown rendering and updated existing layouts to include the context menu.
- Enhanced configuration options to enable or disable the context menu globally or per page.
- Updated internationalization files to support new context menu actions.
- Improved documentation to guide users on the new features and their usage.
* feat(context-menu): enhance dropdown positioning and responsiveness
- Updated the context menu dropdown to use responsive positioning classes for better alignment on different screen sizes.
- Added new CSS classes to ensure the dropdown appears correctly on smaller devices, improving user experience.
* refactor(context-menu): adjust button styles for improved layout and usability
- Modified button classes in the page context menu to enhance spacing and alignment.
- Reduced padding and gap sizes for a more compact design, improving overall user experience.
* refactor(styles): update CSS classes for improved layout and consistency
- Removed outdated ring classes and adjusted padding and border styles in various components for a cleaner design.
- Enhanced hover effects and gap sizes for better user experience across language switcher, navbar, and theme toggle elements.
- Standardized rounded styles to maintain visual consistency throughout the interface.
* feat(context-menu): add custom links to page context menu
- Introduced new configuration options for custom links in the page context menu, allowing users to open documentation in ChatGPT and Claude.
- Updated the context menu layout to include a separator and display the new links with appropriate styling.
- Enhanced the CSS classes for better visual integration with existing context menu elements.
* feat(icons): add new AI icons and update context menu links
- Introduced new icons for AI tools including ChatGPT, Claude, Gemini, and others in the icons.yaml file.
- Enhanced the page context menu in multiple languages to include links for opening documentation in ChatGPT and Claude, improving user accessibility to AI resources.
- Updated internationalization files to reflect new context menu options and additional copy functionalities.
* refactor(layouts): simplify page structure in glossary and section layouts
- Removed the conditional rendering of page links in the glossary and section layouts to streamline the markup.
- Adjusted the blog and docs list layouts to ensure consistent closing of HTML tags and improved formatting.
* feat(context-menu): add outbound icons to external links
Add arrow-up-right icons to "View as Markdown" and custom links
in the page context menu to indicate they open in new tabs.
* Revert "feat(context-menu): add outbound icons to external links"
This reverts commit 670175e200f091ed89b15bd16f44a585355db57d.
* chore: rebuild css
* chore: update stats json
* chore: rename project and update context menu structure
- Changed project name from "wizardly-wing" to "hextra" in package-lock.json.
- Refactored context menu structure in hugo.yaml to improve organization and consistency across multiple languages.
- Updated context menu links to ensure proper functionality and accessibility.
* feat(context-menu): enhance clipboard functionality and pre-fetching
- Implemented pre-fetching of markdown content for copy buttons to improve performance and avoid clipboard access issues in Safari.
- Updated click event handlers to utilize cached content for clipboard operations, with a fallback to fetch content if not pre-fetched.
- Added checks to ensure elements exist before performing actions, enhancing robustness of the context menu interactions.
* fix(context-menu): improve hover effects and border styles
- Enhanced the context menu's border styles with transition effects for better visual feedback on hover.
- Updated CSS classes to ensure consistent styling across different themes, improving user experience.
* feat(context-menu): add page context menu functionality across multiple languages
- Introduced a page context menu that allows users to copy content as Markdown or view the raw Markdown source, enhancing usability for documentation sites.
- Added configuration options to enable the context menu globally and control it on a per-page basis.
- Implemented support for custom links in the context menu, allowing integration with external services.
- Updated documentation in Persian, Japanese, Chinese, and English to reflect these new features.
* fix(icons): update SVG definitions for Gemini and add fill attribute
- Updated the SVG definition for the Gemini icon to include the 'fill' attribute for better rendering.
- Ensured consistency in the SVG structure for the Gemini icon while maintaining the existing definitions for ChatGPT and Claude.
* chore: rebuild css
* chore: remove Claude links from context menu in multiple languages
- Removed the "Open in Claude" option from the context menu for Persian, Japanese, and Simplified Chinese languages to streamline the user experience.
* fix(context-menu): update cursor styles for buttons in context menu
- Changed cursor style from default to pointer for buttons in the page context menu to enhance user interaction feedback.
2026-01-23 23:40:29 +00:00
|
|
|
{{ if .Title }}
|
|
|
|
|
<div class="hx:flex hx:flex-col hx:sm:flex-row hx:items-start hx:sm:items-center hx:sm:justify-between hx:gap-4 hx:mt-2">
|
|
|
|
|
<h1 class="hx:mb-0 hx:text-4xl hx:font-bold hx:tracking-tight hx:text-slate-900 hx:dark:text-slate-100">{{ .Title }}</h1>
|
|
|
|
|
{{ partial "components/page-context-menu" . }}
|
|
|
|
|
</div>
|
|
|
|
|
{{ end }}
|
refactor(css): add prefix to component classes for consistency (#744)
* 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
2025-08-13 22:55:38 +08:00
|
|
|
<div class="hx:mt-4 hx:mb-16 hx:text-gray-500 hx:dark:text-gray-400 hx:text-sm hx:flex hx:items-center hx:flex-wrap hx:gap-y-2">
|
2025-03-29 12:51:42 +00:00
|
|
|
{{- with $date := .Date }}<span class="hx:mr-1">{{ partial "utils/format-date" $date }}</span>{{ end -}}
|
2023-11-16 20:49:18 -05:00
|
|
|
{{- $lazyLoading := site.Params.enableImageLazyLoading | default true -}}
|
2025-03-29 12:51:42 +00:00
|
|
|
{{ if and .Date .Params.authors }}<span class="hx:mx-1">·</span>{{ end -}}
|
2023-11-16 20:49:18 -05:00
|
|
|
{{- with $.Params.authors -}}
|
|
|
|
|
{{- range $i, $author := . -}}
|
|
|
|
|
{{- if reflect.IsMap $author -}}
|
2025-03-29 12:51:42 +00:00
|
|
|
{{- if and $i (not $author.image) }}<span class="hx:mr-1">,</span>{{ end -}}
|
2023-11-16 20:49:18 -05:00
|
|
|
<a
|
|
|
|
|
{{ with $author.link }}href="{{ . }}" target="_blank"{{ end }}
|
2025-03-29 12:51:42 +00:00
|
|
|
class="hx:group hx:inline-flex hx:items-center hx:text-current hx:gap-x-1.5 hx:mx-1"
|
2023-11-16 20:49:18 -05:00
|
|
|
{{ with $author.name }}title="{{ . }}"{{ end }}
|
|
|
|
|
>
|
|
|
|
|
{{- with $image := $author.image }}
|
|
|
|
|
{{- $isLocal := not (urls.Parse $image).Scheme -}}
|
|
|
|
|
{{- $startsWithSlash := hasPrefix $image "/" -}}
|
|
|
|
|
{{- if and $isLocal $startsWithSlash }}
|
|
|
|
|
{{- $image = (relURL (strings.TrimPrefix "/" $image)) -}}
|
|
|
|
|
{{ end -}}
|
2025-03-29 12:51:42 +00:00
|
|
|
<img src="{{ $image | safeURL }}" alt="{{ $author.name }}" class="hx:inline-block hx:h-4 hx:w-4 hx:rounded-full" {{ if $lazyLoading }}loading="lazy"{{ end }} />
|
2023-11-16 20:49:18 -05:00
|
|
|
{{ end -}}
|
2025-03-29 12:51:42 +00:00
|
|
|
<div class="hx:group-hover:underline">{{ $author.name }}</div>
|
2023-11-16 20:49:18 -05:00
|
|
|
</a>
|
|
|
|
|
{{- else -}}
|
2025-03-29 12:51:42 +00:00
|
|
|
{{- if $i }}<span class="hx:mr-1">,</span>{{ end -}}<span class="hx:mx-1">{{ $author }}</span>
|
2023-08-07 23:48:07 +01:00
|
|
|
{{- end -}}
|
|
|
|
|
{{- end -}}
|
2023-11-16 20:49:18 -05:00
|
|
|
{{- end -}}
|
|
|
|
|
</div>
|
2023-08-07 23:48:07 +01:00
|
|
|
<div class="content">
|
|
|
|
|
{{ .Content }}
|
|
|
|
|
</div>
|
2025-02-26 23:13:43 +00:00
|
|
|
{{- partial "components/last-updated.html" . -}}
|
|
|
|
|
{{- if (site.Params.blog.article.displayPagination | default true) -}}
|
2025-09-03 16:37:18 +02:00
|
|
|
{{- .Store.Set "reversePagination" (.Params.reversePagination | default true) -}}
|
2025-02-26 23:13:43 +00:00
|
|
|
{{- partial "components/pager.html" . -}}
|
|
|
|
|
{{ end }}
|
|
|
|
|
{{- partial "components/comments.html" . -}}
|
2023-08-07 23:48:07 +01:00
|
|
|
</main>
|
|
|
|
|
</article>
|
|
|
|
|
</div>
|
2025-02-26 23:13:43 +00:00
|
|
|
{{ end }}
|