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.
This commit is contained in:
@@ -14,8 +14,8 @@ hasCJKLanguage: true
|
||||
|
||||
outputs:
|
||||
home: [html, llms]
|
||||
page: [html]
|
||||
section: [html, rss]
|
||||
page: [html, markdown]
|
||||
section: [html, rss, markdown]
|
||||
|
||||
defaultContentLanguage: en
|
||||
languages:
|
||||
@@ -33,6 +33,12 @@ languages:
|
||||
banner:
|
||||
message: |
|
||||
هگزترا **v0.11** منتشر شد! 🎉 [تازهها را ببینید]({{% ref "blog/v0.11" %}})
|
||||
page:
|
||||
contextMenu:
|
||||
links:
|
||||
- name: باز کردن در ChatGPT
|
||||
icon: chatgpt
|
||||
url: "https://chatgpt.com/?hints=search&q=%D8%AF%D8%A7%D8%B1%D9%85+%D8%A7%DB%8C%D9%86+%D9%85%D8%B3%D8%AA%D9%86%D8%AF%D8%A7%D8%AA+%D8%B1%D8%A7+%D9%85%DB%8C%E2%80%8C%D8%AE%D9%88%D8%A7%D9%86%D9%85%3A+{url}%0A%DA%A9%D9%85%DA%A9%D9%85+%DA%A9%D9%86+%D8%A8%D9%81%D9%87%D9%85%D9%85+%DA%86%D8%B7%D9%88%D8%B1+%D8%A7%D8%B2+%D8%A2%D9%86+%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87+%DA%A9%D9%86%D9%85."
|
||||
ja:
|
||||
languageName: 日本語
|
||||
languageCode: ja-JP
|
||||
@@ -42,6 +48,12 @@ languages:
|
||||
banner:
|
||||
message: |
|
||||
Hextra **v0.11** がリリースされました!🎉 [新着情報はこちら]({{% ref "blog/v0.11" %}})
|
||||
page:
|
||||
contextMenu:
|
||||
links:
|
||||
- name: ChatGPTで開く
|
||||
icon: chatgpt
|
||||
url: "https://chatgpt.com/?hints=search&q=%E3%81%93%E3%81%AE%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%82%92%E8%AA%AD%E3%82%93%E3%81%A7%E3%81%84%E3%81%BE%E3%81%99%3A+{url}%0A%E4%BD%BF%E3%81%84%E6%96%B9%E3%82%92%E7%90%86%E8%A7%A3%E3%81%99%E3%82%8B%E3%81%AE%E3%82%92%E6%89%8B%E4%BC%9D%E3%81%A3%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82"
|
||||
zh-cn:
|
||||
languageName: 简体中文
|
||||
languageCode: zh-CN
|
||||
@@ -51,6 +63,12 @@ languages:
|
||||
banner:
|
||||
message: |
|
||||
Hextra **v0.11** 发布啦!🎉 查看[更新内容]({{% ref "blog/v0.11" %}})
|
||||
page:
|
||||
contextMenu:
|
||||
links:
|
||||
- name: 在 ChatGPT 中打开
|
||||
icon: chatgpt
|
||||
url: "https://chatgpt.com/?hints=search&q=%E6%88%91%E6%AD%A3%E5%9C%A8%E9%98%85%E8%AF%BB%E8%BF%99%E4%B8%AA%E6%96%87%E6%A1%A3%3A+{url}%0A%E5%B8%AE%E6%88%91%E7%90%86%E8%A7%A3%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%AE%83%E3%80%82"
|
||||
|
||||
module:
|
||||
hugoVersion:
|
||||
@@ -219,6 +237,15 @@ params:
|
||||
width: normal
|
||||
# tabs:
|
||||
# sync: true
|
||||
contextMenu:
|
||||
enable: true
|
||||
links:
|
||||
- name: Open in ChatGPT
|
||||
icon: chatgpt
|
||||
url: "https://chatgpt.com/?hints=search&q=I%27m+looking+at+this+documentation%3A+{url}%0AHelp+me+understand+how+to+use+it."
|
||||
- name: Open in Claude
|
||||
icon: claude
|
||||
url: "https://claude.ai/new?q=I%27m+looking+at+this+documentation%3A+{url}%0AHelp+me+understand+how+to+use+it."
|
||||
|
||||
imageZoom:
|
||||
enable: true
|
||||
|
||||
Reference in New Issue
Block a user