* 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.
* 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.
* 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>
* 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
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
* feat: Remove the main sidebar entirely to free up more space for the main content of the page
* fix: ensure that the footer switches are still visible when the main sidebar has been disabled
* refactor: Repurpose Params.sidebar.hide to disable the main sidebar and disable the placeholder rather than adding a new front matter parameter
* fix: change wording from "disable" to "hide" in the documentation for hiding the sidebar
* fix: using incorrect hidden class in sidebar.html broke mobile navigation. Fixed this
---------
Co-authored-by: Xin <5097752+imfing@users.noreply.github.com>
* fix: menu positions
* refactor: factorize menu management and handle window resize
* chore: the placement is better with +4 then +10
* chore: the placement is better with -10 than -15
* feat: support breadcrumbs for single pages that are neither docs or blogs.
* feat: support enabling breadcrumbs across different content types other than docs and blog
docs: added docs and examples for enabling breadcrumbs for specific content types
* feat: breadcrumbs being enabled is fully driven by the `breadcrumbs` front matter field.
docs: updated docs to reflect that there is no site parameter driving breadcrumbs
feat: enabled breadcrumbs for lists as well as singles for uniformity
* Removing _partials/utils/default-breadcrumbs-enabled.html in favour of extra parameterization of _partials/breadcrumb.html
* fix: change breadcrumbs parameter from `enabledByDefault` to `enable` to remain consistent with the rest of the theme
* Update layouts/_partials/breadcrumb.html
---------
Co-authored-by: Xin <5097752+imfing@users.noreply.github.com>
* fix(giscuss): system theme
* fix(giscuss): language
* fix(giscuss): theme switching
* chore: remove confusing comment
* fix(giscuss): use a uniq ID
* chore: remove useless function
* chore: use extra language code
* chore: add comment about hash
* Update layouts/_partials/components/giscus.html
---------
Co-authored-by: Xin <5097752+imfing@users.noreply.github.com>
* chore: add icons
* feat: add option to flag outbound links
* chore: generate
* docs: add configuration
* chore: use with the example site
* chore: use one icon with rotation
* feat: add top banner
* chore: use inside the example site
* chore: generate
* fix: banner with the burger navbar
* fix: compute the banner height to allow mutliple lines
* chore: better p style
* fix(language-switch): manage icon menu item after the language switcher
* Just for the demo will be reverted/removed when the PR will be approved
* chore: add a warning when an icon menu has no URL
* chore: trim the comment
* fix: comment
* Revert "Just for the demo will be reverted/removed when the PR will be approved"
This reverts commit 09cc9fe393b1535973cba36fbbbc27945c23b07d.
* feat(navbar): language switcher
* docs: add language-switch
* chore: just for the demo
* fix: drop conflicting CSS
* fix: use constant
* fix: pre-existing bug with rtl on mobile
* docs: add comment to explain the algo
* chore: more readable algo
* review
Co-authored-by: Xin <5097752+imfing@users.noreply.github.com>
* feat: different icons
* feat: icon as param
* fix: inconsitency with rtl
* fix: render inside the sidebar
* chore: remove the demo
---------
Co-authored-by: Xin <5097752+imfing@users.noreply.github.com>
* refactor(mermaid): enhance Mermaid JS loading logic for flexibility
- Updated the Mermaid JS loader to support configurable remote or local asset loading based on site parameters.
- Improved error handling for asset retrieval and added comments for clarity on behavior based on different configurations.
- Ensured that the default behavior falls back to a CDN if no base is provided, enhancing usability and maintainability.
* chore: clean up comments
* fix: comment typo
* 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
* refactor(math): update LaTeX guide and enhance KaTeX integration
- Revised the LaTeX documentation for clarity and improved structure, changing section titles and descriptions for better understanding.
- Added support for chemistry expressions using the mhchem extension.
- Introduced a new KaTeX CSS loader partial to streamline the integration of KaTeX, allowing for configurable remote or local asset loading.
- Updated the head partial to utilize the new KaTeX loader, enhancing the flexibility of math rendering options.
* refactor(mathjax): simplify MathJax script URL configuration
- Removed the dynamic version assignment for MathJax and set a fixed version in the script URL for consistency and clarity.
* docs(latex): enhance LaTeX guide and clarify chemistry expressions
- Updated section titles for better clarity, changing "Supported Functions" to "Chemistry Expressions."
- Improved description of the mhchem extension for rendering chemistry equations.
- Removed redundant instructions regarding the passthrough extension in Hugo.
- Corrected minor typographical errors in references to MathJax.
* chore: remove standard development mode command from CLAUDE.md
* docs(toc): add TOC scroll functionality documentation
- Added detailed comments to toc-scroll.js explaining the purpose and functionality of the TOC scroll spy feature.
- Clarified the requirements for proper operation, including the need for a .hextra-toc element and matching heading IDs.
* refactor(fragments): enhance fragment processing and documentation
- Improved the fragments.html partial to better handle page content splitting into searchable fragments based on headings.
- Added comprehensive documentation within the file, detailing parameters, return values, and examples for clarity.
- Updated content handling to ensure whitespace is trimmed
* refactor(tags): enhance tag rendering and styling in toc
- Updated the tags.html partial to utilize a context variable for improved accessibility.
- Enhanced the styling of tag links for better visual consistency across different themes.
- Modified toc.html and list.html to pass the context to the tags partial, ensuring consistent rendering.
* chore: run `task css`
* feat(toc): add Table of Contents scroll highlighting
- Introduced a new toc.css file for styling the Table of Contents with active link highlighting.
- Implemented toc-scroll.js to manage scroll behavior and link activation based on viewport visibility.
- Updated core.html to include the new JavaScript file and ensure proper loading of the Table of Contents functionality.
* chore: lower root heading font weight for TOC
* chore: run `task css`
* chore: update dependencies in package.json and package-lock.json to version 4.1.11 for @tailwindcss/postcss and tailwindcss, and update @jridgewell packages to latest versions