Commit Graph

509 Commits

Author SHA1 Message Date
MioYi Sama
a90429d991 fix(render-image): use page resources for relative images in i18n page bundles (#938)
* fix(layout): Images missing (404) in multilingual (i18n) Page Bundles due to Markdown render hook

* fix(layout): Changed to .PageInner based on PR review to support included shortcodes correctly

* refactor(render-image): simplify i18n page bundle resource lookup

Use single PathUnescape + TrimPrefix expression instead of six
Get attempts; keep same behavior for bundle images and fallback.

* refactor: simplify resource path handling in render-image.html

* Add comment for multilingual permalink handling

Added comment for multilingual permalink resolution in render-image.html

---------

Co-authored-by: Xin <5097752+imfing@users.noreply.github.com>
2026-02-23 22:42:09 +00:00
Floren Munteanu
e8f5f51cd8 fix: greedy trim (#946)
Co-authored-by: Floren Munteanu <19806136+fmunteanu@users.noreply.github.com>
2026-02-23 20:26:55 +00:00
yuri
af8fd2185e fix(docs): target Glossary section directly (#943) 2026-02-23 18:23:14 +00:00
Xin
3748917003 chore(build): point MAIN_VERSION to commit 2e709bf
Reference the combined doc-fix commit instead of the v0.12.0 tag.
2026-02-20 23:35:55 +00:00
Xin
2e709bf92d fix(docs): correct imageZoom and {markdown_url} config in v0.12 release blog
- Use nested imageZoom.enable: true instead of scalar imageZoom: true
- Use {markdown_url} (snake_case) placeholder matching the actual template-url
  utility key, not {markdownUrl} (camelCase) which would silently not substitute
2026-02-20 23:35:44 +00:00
Xin
8c059f7776 chore(build): bump main docs site tag to v0.12.0 2026-02-20 23:15:38 +00:00
Xin
089c2fb5e1 chore: release blog for Hextra v0.12
* chore: release blog for Hextra v0.12

* Add v0.12 blog translations and proofreading updates

* Merge main into plan-release-v0.12.0 and update build script versions

* Update build environment versions in netlify.toml to HUGO 0.156.0, GO 1.26.0, and NODE 24.13.1

* chore: update banner messages in multiple languages to reflect the release of Hextra **v0.12** in hugo.yaml

* docs(blog): align v0.12 tabs example with image (Photos/Music/Videos)

* docs(blog): fix page context menu wording (dropdown, not right-click)

* docs(hugo): update version link from v0.9 to v0.11 in menu
2026-02-20 23:08:33 +00:00
Xin
d2c650a490 chore(build): update MAIN_VERSION to v0.11.3 2026-02-20 21:45:59 +00:00
Xin
18d01a23fc chore(deps): remove unused serve package to fix security vulnerabilities
Removes the unused `serve` devDependency which was pulling in vulnerable
transitive dependencies (minimatch ReDoS high, ajv ReDoS moderate).
2026-02-20 20:40:28 +00:00
Xin
8421201672 chore: bump Hugo, Go, and Node.js to latest versions
- Hugo: 0.147.7 → 0.156.0
- Go: 1.24 → 1.26 (CI workflows and go.mod files)
- Node.js: 22 → 24 (LTS) in accessibility workflow
2026-02-20 20:40:28 +00:00
Xin
8f6aa1db5b refactor(layout): keep content width fixed and document CSS var override (#934)
* fix(layout): split page and content width configuration

* refactor(layout): consolidate page width settings and update documentation

- Removed separate content width configuration from `hugo.yaml` and set a default value of `72rem` in CSS.
- Updated documentation in multiple languages to reflect the changes in page and content width settings, emphasizing the new fixed content width and customization options.
2026-02-19 23:54:43 +00:00
Antonin P
55659bb9c1 fix(navbar): align mobile sidebar ordering and labels with menu.main (#883)
* fix(navbar): navbar on small screen now follow menu.main from hugo.yaml

* fix(navbar): align mobile sidebar with menu.main order and labels

* refactor(sidebar): simplify mobile menu item selection logic

* fix(sidebar): avoid empty nested containers in mobile nav tree

* fix(sidebar): align nested chevrons with top-level items

* chore(css): update compiled CSS

---------

Co-authored-by: Xin <5097752+imfing@users.noreply.github.com>
Co-authored-by: Xin <xin@imfing.com>
2026-02-19 23:34:06 +00:00
Quan-feng WU
9b2809eb24 fix: Site.Author -> Site.Params.Author for Hugo v1.156.0 (#933) 2026-02-19 08:16:29 +00:00
Xin
62196dd666 feat(tabs): add icon support for tabs (#926)
* feat(tabs): add icon support for tabs

- Introduced an `icon` property for tabs to display icons alongside tab labels.
- Updated the tabs shortcode and HTML partials to accommodate the new icon feature.
- Enhanced documentation for tabs to include examples of using icons in tab definitions.

* chore: rebuild css

* doc(tabs): add icon support in tab documentation for multiple languages

- Enhanced documentation for tabs to include examples of using the `icon` parameter in Persian, Japanese, and Simplified Chinese.
- Updated the tab shortcode examples to demonstrate how to display icons alongside tab labels.

* chore: regenerate compiled css

* fix(a11y): add aria-hidden to decorative tab icons

Add aria-hidden="true" to tab icon SVGs so screen readers skip
decorative icons and only announce the tab name. Update @example
docblock in tab.html to demonstrate the icon parameter.

* doc(tabs): improve icon section with better examples and icon page link

Rename "Tabs With Icons" heading to "Add Icons" for consistency with
other action-oriented section titles. Replace JSON/YAML/TOML icon
example with Photos/Music/Videos using photograph, music-note, and
film icons that naturally match their labels. Add link to the Icon
shortcode page so users can discover available icon names.
2026-02-14 21:23:25 +00:00
Xin
88aa6098f0 refactor(a11y): comprehensive WCAG 2.2 AA accessibility improvements (#924)
* refactor(a11y): comprehensive WCAG 2.2 AA accessibility improvements

Add skip-to-content link, landmark regions, ARIA attributes, keyboard
navigation, focus styles, reduced-motion support, and i18n keys across
all layouts, partials, shortcodes, and JS components.

- Add skip nav link in baseof.html and id="content" on all <main> tags
- Fix 404 page lang/dir attributes and add <main> landmark
- Add aria-label to banner close, PDF iframe, search input/results
- Remove aria-hidden from back-to-top button
- Add aria-hidden to decorative external link icon
- Add role="tablist" to tabs, aria-expanded to filetree/dropdowns
- Wrap mermaid diagrams in role="img", asciinema in role="region"
- Change theme toggle <p> items to <button role="menuitem"> with
  full keyboard navigation (Arrow/Home/End/Escape)
- Add arrow-key keyboard navigation to tabs component
- Separate sidebar collapsible button from link for independent
  keyboard access with aria-expanded sync
- Sync aria-expanded on all dropdown toggles (theme, lang, navbar,
  hamburger, page context menu)
- Add aria-live search status announcements
- Add 13 new i18n keys, replace hardcoded aria-label strings
- Add prefers-reduced-motion CSS override and focus-visible base styles
- Add aria-label swap on code copy ("Copied!" feedback for AT)
- Add aria-current to active TOC links
- Wrap filetree in <ul> container for proper list semantics
- Add unique aria-label to blog "Read more" links
- Document accessibility guidelines in AGENTS.md

* feat(a11y): enhance focus styles and accessibility for various components

- Add focus-visible styles to badges, buttons, and links for improved keyboard navigation.
- Update breadcrumb, sidebar, and TOC components to include focus-visible outlines.
- Introduce new classes for focus states in the badge and tabs shortcodes.
- Ensure consistent focus styles across all interactive elements to meet WCAG 2.2 AA standards.

* feat(a11y): implement new focus-visible utilities and enhance accessibility styles

- Introduce new utility classes for focus-visible states to improve keyboard navigation.
- Update various components including badges, buttons, and search inputs to utilize new focus-visible styles.
- Refactor existing focus styles to ensure consistency and compliance with accessibility standards.
- Enhance breadcrumb, sidebar, and TOC components with updated focus-visible classes for better user experience.

* chore: add .gitattributes to collapse generated files in PR diffs

* fix: enhance accessibility and improve documentation

- Added alt attributes to images in multiple language documentation files for better accessibility.
- Updated the navbar title partial to remove unnecessary title attribute.
- Improved search input accessibility by adding autocomplete="off".
- Enhanced search partials in both navbar and sidebar with location context.
- Updated SVG icons in various components to include aria-hidden and focusable attributes for improved accessibility compliance.

* fix: improve giscus theme toggle functionality

- Updated the theme toggle options selector to use a data attribute for better specificity.
- Modified the event listener to use a setTimeout for the theme update, ensuring smoother transitions when the theme switcher is clicked.

* fix: resolve axe-core WCAG AA violations across docs pages

Add aria-labels to Hugo task list checkboxes, fix asciinema player
timer accessible names, make Jupyter output cells keyboard-focusable,
and add missing heading hierarchy in shortcodes docs for fa/ja/zh-cn.

* feat: integrate accessibility testing with Playwright and enhance CI workflow

- Added Playwright configuration for accessibility testing.
- Implemented accessibility tests using axe-core for all English pages.
- Created a GitHub Actions workflow to automate accessibility tests on pull requests.
- Updated package dependencies to include @axe-core/playwright and @playwright/test.
- Enhanced sidebar component with data attributes for improved accessibility styling.

* fix: update base URL and improve accessibility labels across multiple languages

- Changed the base URL in Playwright configuration and CI workflow from localhost:3000 to localhost:1313.
- Added accessibility labels for screen readers in various language files, enhancing user experience for visually impaired users.
- Updated the Asciinema script to dynamically set the playback time label for better accessibility compliance.

* refactor: reorganize accessibility tests and update test directory structure

- Moved accessibility tests from the e2e directory to a new tests directory for better organization.
- Updated the test directory path in Playwright configuration.
- Refactored the accessibility test implementation to improve code clarity and maintainability.

* chore: update .gitignore to include Playwright test output directories

- Added entries for 'playwright-report/' and 'test-results/' to the .gitignore file to prevent cluttering the repository with test artifacts.

* refactor: enhance accessibility and improve focus styles across components

- Removed unused utility for focus visibility in CSS and consolidated focus-visible styles for better maintainability.
- Updated various components to use `role` attributes for improved accessibility, including menu items and buttons.
- Enhanced theme toggle and language switch components with appropriate ARIA roles and attributes for better screen reader support.
- Improved the handling of focus states in the navigation and context menus to ensure a consistent user experience.

* chore: update dependencies and enhance accessibility features

- Updated the 'serve' package version in package.json and package-lock.json for improved performance.
- Removed unused 'xml2js' dependency to streamline the project.
- Enhanced the Playwright configuration to better manage the web server setup for testing.
- Improved accessibility in the language switcher and navigation menu by refining focus management and keyboard interactions.
- Updated the back-to-top button to manage tabindex for better accessibility compliance.

* feat: enhance mobile menu accessibility and keyboard interactions

- Added ARIA attributes to manage visibility of the sidebar on mobile devices.
- Implemented focus management for the sidebar when the menu is toggled.
- Introduced keyboard support to close the menu with the Escape key.
- Improved overall accessibility for the hamburger menu and sidebar interactions.

* fix: refine mobile menu keyboard interaction and enhance navbar accessibility

- Updated the Escape key functionality to close the menu only on mobile devices.
- Added a new ARIA attribute to the hamburger menu button for improved accessibility.
2026-02-14 20:06:35 +00:00
Tyler
04803c4071 feat: archives page (#922)
* feat: archives page

* fix: empty archive show 'no posts found' message
* Add ToC partials for structural consistency
* Fix empty archive showing blank page

* fix: rename archive to archives

* chore: enhance archives and additional pages support

- Updated the menu structure in hugo.yaml to include new sections for 'About', 'Archives', and 'Glossary' under 'More'.
- Added new archive index files for multiple languages (Farsi, Japanese, Simplified Chinese) to support multilingual content.
- Created additional pages documentation for glossary and archives in multiple languages.
- Updated references in existing documentation to point to the new additional pages structure.
- Improved the archives layout to display a user-friendly message when no posts are found.

* fix: update date format in archives layout

- Changed the date format in the archives layout from a partial to a direct format for improved readability, displaying dates as "Jan 02".

* feat: add archive date format customization

- Introduced a new parameter in hugo.yaml for customizing the date format of archive items, defaulting to "Jan 02".
- Updated documentation in multiple languages to reflect the new optional date format feature for archives.

---------

Co-authored-by: Xin <xin@imfing.com>
2026-02-08 11:45:29 +00:00
Xin
2d5adf0e40 fix: prevent relref double base-prefix in render-link (#920)
* Fix announcement relrefs and add doc

* Revert glossary inline relref example

* Fix relref links with subdirectory baseURL

Co-authored-by: Max Mehl <max.mehl@deutschebahn.com>

* Simplify relref base-prefix guard in render-link

---------

Co-authored-by: Max Mehl <max.mehl@deutschebahn.com>
2026-02-05 22:38:00 +00:00
Xin
6d613d28a3 chore: rename CLAUDE.md to AGENTS.md and remove taskfile
- Rename CLAUDE.md to AGENTS.md for agent-agnostic naming
- Create CLAUDE.md symlink pointing to AGENTS.md
- Remove taskfile.yaml in favor of npm scripts
- Update content: add npm install setup step, update shortcodes list, fix JS component paths
2026-02-02 20:43:06 +00:00
Daniel Seijo
9362f7c3fc feat(lastUpdated): introduce last modified author using GitInfo (#857)
* feat(lastUpdated): introduce last modified author using GitInfo

* feat: change by string for just •

* docs: add documentation for displayUpdatedAuthor parameter

Document the new displayUpdatedAuthor config option in all language
versions (en, zh-cn, ja, fa). Also disable it by default in the
example hugo.yaml.

---------

Co-authored-by: Xin <5097752+imfing@users.noreply.github.com>
Co-authored-by: Xin <xin@imfing.com>
2026-02-01 15:02:15 +00:00
Matheus Flausino
744e843880 feat(llms): add option to exclude pages and sections from llms.txt (#918)
* feat: improve section filtering in llms.txt

* fix(llms): correct where syntax and add page exclusion filter

- Fix invalid Hugo template syntax in where clause
- Use boolean comparison instead of string for llms param
- Add filtering to recursive llms-section-tree template
- Document llms exclusion feature in all languages (en, ja, fa, zh-cn)

---------

Co-authored-by: Xin <xin@imfing.com>
2026-01-29 21:06:12 +00:00
Christian Galeffi
50b9c927c2 feat(i18n): add Italian localization strings for various UI elements (#915) 2026-01-29 00:07:43 +00:00
yuri
fe81bc3087 fix(glossary): make Glossary optional (#916) 2026-01-29 00:06:13 +00:00
ghac101
7e56f0578a feat(pagination): add option to disable prev/next navigation
* Feature: disable next/previous pagination buttons site-wide

* Moved the displayPagination to the layout level and adjusted the documentation.

* fix: improve pagination docs and layout whitespace

- Fix indentation in docs layout templates
- Add pagination documentation for all languages (fa, ja, zh-cn)
- Simplify documentation to be more succinct

---------

Co-authored-by: Xin <xin@imfing.com>
2026-01-24 12:42:49 +00:00
Xin
05e28a716d feat(navbar): enhance active link detection for multilingual section landing pages (#913)
- Added logic to normalize trailing slashes for section landing pages in multilingual sites, improving the accuracy of active link detection in the navbar.
- This enhancement ensures that the correct link is highlighted as active, providing a better user experience across different languages.
2026-01-24 12:27:37 +00:00
Xin
162f3a3fa7 fix(tabs): prevent markdown blockquote parsing when nested in steps (#912)
* fix(tabs): prevent markdown blockquote parsing when nested in steps

Consolidate HTML attributes onto single lines and add proper whitespace
trimming to prevent `>` characters on separate lines from being
interpreted as markdown blockquotes when tabs are nested inside the
steps shortcode.

Fixes #876

* chore: add comment explaining single-line HTML requirement
2026-01-24 12:00:47 +00:00
Xin
02cca4cd0b fix(layout): make content width respect page.width config (#911)
Fixes #886 - The content area in `<main>` was hardcoded to `hx:max-w-6xl`
(72rem), ignoring the `params.page.width` setting. Added a new CSS
variable `--hextra-max-content-width` that responds to the page width
config, so users can now get full-width or wide content as expected.
2026-01-24 00:02:50 +00:00
Xin
fa8f8554ea 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
Xin
e81447e7ae feat(image-zoom): add image zoom functionality and documentation (#907)
* feat(image-zoom): add image zoom functionality and documentation

- Introduced a new `imageZoom` parameter in the configuration to enable click-to-zoom for Markdown images.
- Updated the `render-image.html` layout to support zoom functionality by adding a `data-zoomable` attribute to images.
- Created a new `medium-zoom.html` script to handle the zoom effect, with options for CDN or local asset loading.
- Enhanced documentation in `configuration.md` and `markdown.md` to guide users on enabling and configuring image zoom.

* docs(image-zoom): add image zoom documentation in multiple languages

- Added sections for image zoom functionality in Persian, Japanese, and Simplified Chinese documentation.
- Included configuration examples for enabling and disabling image zoom in specific pages.
- Updated related documentation to ensure consistency across languages.
2026-01-20 22:55:41 +00:00
Xin
6a13f17326 fix(sidebar): update transform syntax for improved compatibility 2026-01-19 23:03:28 +00:00
Xin
8e1e446cb8 fix: migrate tabs shortcode to new standard syntax (#906)
* doc(tabs): update shortcode syntax to use new syntax

- Changed tab shortcode syntax from `items` to `name` for better clarity and consistency in multiple language documentation.
- Updated related examples in Persian, Japanese, and Simplified Chinese to reflect the new syntax.
- Adjusted the sidebar CSS to correct a z-index value for improved layout behavior on mobile devices.

* fix(sidebar, toc): update CSS classes for improved layout and text wrapping

- Adjusted the sidebar CSS class to use a new transform syntax for better compatibility.
- Updated the table of contents link class to ensure proper text wrapping behavior.

* chore: recompile css

* fix(css): update CSS classes for improved text wrapping

- Changed `break-words` to `wrap-break-word` in multiple CSS files to enhance text wrapping behavior.
- Adjusted the `.hextra-code-filename` and typography styles for better compatibility and consistency.
2026-01-19 22:50:49 +00:00
yuri
5028140432 feat(glossary): provide basic term glossary (#869)
* feat(glossary): provide basic term glossary

Enabled a site-wide terminology glossary.

* Added the `term` shortcode displaying term definition.
* Added the /glossary page showing all term definitions.
* Enabled a simplistic search of term definitions.

* refactor(glossary): update glossary page links and add callout for Hugo support

- Removed the glossary entry from the menu and adjusted weights for subsequent items.
- Added informational callouts in the glossary documentation for multiple languages, directing users to the Hugo Glossary Quick Reference.
- Updated links in the glossary documentation to point to the correct pages.

* fix(glossary): update links to glossary page format across multiple languages

- Changed links in the glossary documentation to use Hugo's relref format for consistency.
- Updated links in Persian, Japanese, English, and Simplified Chinese glossary pages.

---------

Co-authored-by: Xin <5097752+imfing@users.noreply.github.com>
Co-authored-by: Xin <xin@imfing.com>
2026-01-19 22:33:09 +00:00
Illia Volochii
66a9d98630 fix: respect search.enable in the sidebar (#904) 2026-01-19 22:25:42 +00:00
Illia Volochii
1e4338cd97 fix: respect the page parameter toc in the mobile dropdown (#905) 2026-01-19 22:21:41 +00:00
Xin
a9ef7ad57d fix(flexsearch): enhance match highlighting and safe DOM manipulation (#903)
- Replaced the highlightMatches function with appendHighlightedText to improve match highlighting using safe text nodes.
- Updated DOM manipulation for search results to create elements directly instead of using innerHTML, enhancing security and performance.
- Ensured consistent handling of empty text and query cases in the new highlighting function.
2026-01-18 19:59:09 +00:00
Xin
2b00f92a42 chore: update dependencies in package.json and package-lock.json
- Upgraded @tailwindcss/postcss, prettier, and tailwindcss to version 4.1.18 and 3.8.0 respectively.
- Updated @jridgewell/gen-mapping and other related packages to their latest versions.
- Removed deprecated entries and ensured consistency across package versions.
2026-01-18 10:58:06 +00:00
Antonin P
c35d7b3a9e fix(card): ensure subtitle stays at bottom by wrapping title/subtitle… (#877)
* fix(card): ensure subtitle stays at bottom by wrapping title/subtitle in container

* Update layouts/_partials/shortcodes/card.html

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Xin <5097752+imfing@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-17 12:14:55 +00:00
Xin
447acb7df3 fix(og-image): handle leading slashes in image paths for subpath deployments (#901)
* fix(og-image): handle leading slashes in image paths for subpath deployments

Fix Open Graph image paths not working correctly when deploying to subpaths
(e.g., https://example.com/docs/). The issue occurred when image paths with
leading slashes were specified in configuration, causing the subpath to be
ignored.

The fix follows the established pattern used throughout the theme by stripping
leading slashes before applying relURL, ensuring paths respect the baseURL
subpath configuration.

- Update opengraph.html to process image paths consistently
- Update configuration examples to remove leading slashes
- Add investigation document explaining the issue and fix

* chore: remove issue summary
2026-01-17 12:14:15 +00:00
Mark Alexander
c4a39472eb fix: work around flexsearch returning fewer than expected result pages (#847)
Co-authored-by: Xin <5097752+imfing@users.noreply.github.com>
2026-01-06 16:28:18 +00:00
Torbjørn Pedersen
1391ebe04b feat: support page bundle images in OpenGraph metadata (#892)
* Support page bundle images in OpenGraph metadata

* Fix file permissions

---------

Co-authored-by: Xin <5097752+imfing@users.noreply.github.com>
2026-01-04 17:25:53 +00:00
Xin
a128fabaf1 feat: add optional alt parameter to card shortcode (#899)
Add support for custom alt text on card images to improve accessibility.
The alt parameter is optional and defaults to the card title if not provided,
maintaining backward compatibility with existing implementations.

Fixes #896
2026-01-04 17:23:33 +00:00
yuri
9466af337f chore(docs): link KaTeX (#860) 2025-11-28 01:04:09 +00:00
PrintN
0e8982876a chore: Update Beginner Privacy showcase image and add PrintN website (#859) 2025-11-28 01:03:00 +00:00
Keith Stockdale
3551a56b8c feat: support GoatCounter analytics (#814)
* feat: support GoatCounter analytics

* docs: add docs for GoatCounter analytics

refactor: move analytics documentation into its own section since there are now 4 supported analytics solutions

* fix: addressing issues raised in PR

* refactor: simplifying goat counter setting logic.
refactor: simplify error handling with goat counter

* fix: fixing goat counter erroring when a code is provided

* fix: Applying suggested fixes

* Update layouts/_partials/components/analytics/goat-counter.html

---------

Co-authored-by: Xin <5097752+imfing@users.noreply.github.com>
2025-10-13 22:50:19 +01:00
Bubbler
bfeae19076 docs(details): change details shortcode calls to angle brackets (#855)
Co-authored-by: Xin <5097752+imfing@users.noreply.github.com>
2025-10-12 23:07:24 +01:00
Paul Marrapese
b7f4bffce6 feat(shortcode): added markdown attribute support for headers (#851)
docs: added "no-step-marker" example for steps
2025-10-11 23:13:04 +01:00
Kowyo
708358de80 fix: enhance table readability (#826)
* feat: enhance table readability

* use v0.9.0 table style

* Update table styles

---------

Co-authored-by: Xin <xin@imfing.com>
2025-09-15 21:59:05 +01:00
ghac101
8699deb1dd fix(analytics): change default umami analytics file to script.js (#835)
Co-authored-by: Xin <5097752+imfing@users.noreply.github.com>
2025-09-15 21:28:27 +01:00
Ludovic Fernandez
a03dbf463f fix(docs): menu main duplicate field (#837) 2025-09-15 21:23:27 +01:00
Ludovic Fernandez
1c06ae5580 chore(scripts): generic way to build scripts (#829)
* chore: move core scripts

* chore: extract head scripts
2025-09-11 20:29:18 +01:00
Ludovic Fernandez
ccb63d60f1 feat(tabs): revamp tabs (#815) 2025-09-10 23:54:27 +01:00