* 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
218 lines
11 KiB
Markdown
218 lines
11 KiB
Markdown
---
|
||
title: "Hextra v0.12"
|
||
date: 2026-02-20
|
||
authors:
|
||
- name: imfing
|
||
link: https://github.com/imfing
|
||
image: https://github.com/imfing.png
|
||
tags:
|
||
- انتشار
|
||
---
|
||
|
||
Hextra v0.12.0 مجموعهای غنی از ویژگیهای جدید شامل منوی زمینه صفحه، زوم تصویر، تبهای بازطراحیشده و موارد بیشتر، به همراه بهبودهای جامع دسترسپذیری WCAG 2.2 AA و رفع اشکالات متعدد ارائه میدهد.
|
||
|
||
<!--more-->
|
||
|
||
## راهنمای ارتقا
|
||
|
||
برای بیشتر سایتها تغییر شکستآمیزی وجود ندارد. با استفاده از [Hugo Modules](https://gohugo.io/hugo-modules/use-modules/) بهروزرسانی کنید:
|
||
|
||
```bash
|
||
hugo mod get -u github.com/imfing/hextra
|
||
```
|
||
|
||
## نکات برجسته
|
||
|
||
- منوی زمینه صفحه برای کپی/مشاهده سورس Markdown
|
||
- بازطراحی شورتکد تبها با نامگذاری هر تب و پشتیبانی از آیکون
|
||
- زوم با کلیک برای تصاویر Markdown
|
||
- پشتیبانی از تحلیلگر GoatCounter
|
||
- گزینه مخفیکردن نوار کناری اصلی در دسکتاپ
|
||
- نمایش آخرین نویسنده ویرایشکننده از طریق GitInfo
|
||
- گزینه غیرفعالسازی ناوبری قبلی/بعدی
|
||
- صفحه آرشیو داخلی برای فهرست زمانی نوشتههای وبلاگ
|
||
- شورتکد و چیدمان واژهنامه
|
||
- حذف صفحات/بخشها از llms.txt
|
||
- ترتیب و برچسبهای نوار کناری موبایل همراستا با `menu.main`
|
||
- عرض محتوای پایدار با پشتیبانی از بازنویسی متغیر CSS
|
||
- بهبودهای جامع دسترسپذیری WCAG 2.2 AA
|
||
|
||
## ویژگیهای جدید
|
||
|
||
### منوی زمینه صفحه
|
||
|
||

|
||
|
||
منوی زمینه صفحه دکمهای کشویی فراهم میکند که با آن میتوانید محتوای صفحه را بهصورت Markdown کپی کنید یا سورس خام Markdown را مشاهده نمایید. با افزایش کاربرانی که مستندات را به ابزارهای هوش مصنوعی مولّد میدهند، دسترسی سریع به Markdown تمیز بسیار مفید است. پیوندهای سفارشی با متغیرهای قالب (`{url}`، `{title}`، `{markdownUrl}`) به شما امکان میدهند میانبرهای «از AI بپرس» یا سایر یکپارچهسازیها را مستقیماً در منو ایجاد کنید.
|
||
|
||
برای استفاده از قابلیتهای «مشاهده بهصورت Markdown» و `{markdownUrl}`، فرمت خروجی Markdown را در پیکربندی سایت فعال کنید:
|
||
|
||
```yaml {filename="hugo.yaml"}
|
||
outputs:
|
||
page: [html, markdown]
|
||
section: [html, rss, markdown]
|
||
```
|
||
|
||
سپس منوی زمینه را پیکربندی کنید:
|
||
|
||
```yaml {filename="hugo.yaml"}
|
||
params:
|
||
page:
|
||
contextMenu:
|
||
enable: true
|
||
links:
|
||
- name: "Ask AI"
|
||
url: "https://example.com?content={markdownUrl}"
|
||
icon: "sparkles"
|
||
```
|
||
|
||
### بازطراحی تبها و پشتیبانی از آیکون
|
||
|
||
[شورتکد تبها]({{% relref "docs/guide/shortcodes/tabs" %}}) بازطراحی شده است. اکنون میتوان نام تبها را مستقیماً روی هر شورتکد `tab` تنظیم کرد و پارامتر اختیاری `icon` یک آیکون قبل از برچسب تب نمایش میدهد. نحو قبلی همچنان پشتیبانی میشود.
|
||
|
||
```md
|
||
{{</* tabs */>}}
|
||
{{</* tab name="Photos" icon="photograph" */>}}مدیریت و سازماندهی کتابخانه عکسهای شما.{{</* /tab */>}}
|
||
{{</* tab name="Music" icon="music-note" */>}}مرور و پخش آهنگهای مورد علاقه شما.{{</* /tab */>}}
|
||
{{</* tab name="Videos" icon="film" */>}}تماشا و پخش محتوای ویدیویی.{{</* /tab */>}}
|
||
{{</* /tabs */>}}
|
||
```
|
||
|
||

|
||
|
||
### زوم تصویر
|
||
|
||
با یک گزینه پیکربندی جدید، زوم با کلیک را روی تصاویر Markdown فعال کنید. این قابلیت از [medium-zoom](https://github.com/francoischalifour/medium-zoom) استفاده میکند.
|
||
|
||
```yaml {filename="hugo.yaml"}
|
||
params:
|
||
imageZoom: true
|
||
```
|
||
|
||
### تحلیلگر GoatCounter
|
||
|
||
پشتیبانی داخلی از تحلیلگر [GoatCounter](https://www.goatcounter.com/) در کنار یکپارچهسازیهای موجود Google Analytics، Umami و Matomo.
|
||
|
||
### مخفیکردن نوار کناری اصلی
|
||
|
||
یک پارامتر جدید فرانتمتر امکان مخفیکردن نوار کناری اصلی در دسکتاپ را فراهم میکند تا صفحات محتوا عرض کامل داشته باشند.
|
||
|
||
```yaml {filename="content/my-page.md"}
|
||
---
|
||
title: My Page
|
||
sidebar:
|
||
hide: true
|
||
---
|
||
```
|
||
|
||
### آخرین نویسنده ویرایشکننده
|
||
|
||
با استفاده از GitInfo هوگو، آخرین نویسنده کامیت را در کنار تاریخ «آخرین بهروزرسانی» نمایش دهید.
|
||
|
||
```yaml {filename="hugo.yaml"}
|
||
params:
|
||
displayUpdatedAuthor: true
|
||
```
|
||
|
||

|
||
|
||
### غیرفعالسازی ناوبری قبلی/بعدی
|
||
|
||
دکمههای ناوبری قبلی/بعدی را در سطح سایت غیرفعال کنید:
|
||
|
||
```yaml {filename="hugo.yaml"}
|
||
params:
|
||
page:
|
||
displayPagination: false
|
||
```
|
||
|
||
### حذف از LLMs.txt
|
||
|
||
با تنظیم `llms: false` در فرانتمتر، صفحات یا بخشهای کامل را از خروجی `llms.txt` حذف کنید.
|
||
|
||
```yaml {filename="content/private-page.md"}
|
||
---
|
||
title: "Private Page"
|
||
llms: false
|
||
---
|
||
```
|
||
|
||
### صفحه آرشیو
|
||
|
||
چیدمان جدید داخلی `archives` نوشتههای وبلاگ را در یک خط زمانی گروهبندیشده بر اساس سال نمایش میدهد و برچسبها بهصورت درونخطی پس از عنوان هر نوشته نشان داده میشوند.
|
||
|
||
```yaml {filename="content/archives/_index.md"}
|
||
---
|
||
title: Archives
|
||
layout: archives
|
||
---
|
||
```
|
||
|
||

|
||
|
||
### واژهنامه
|
||
|
||
یک [واژهنامه]({{% relref "docs/guide/shortcodes/term" %}}) اصطلاحات سراسری سایت با صفحه فهرست اختصاصی و شورتکد `term` برای تعاریف درونخطی.
|
||
|
||
## دسترسپذیری
|
||
|
||
بهبودهای جامع دسترسپذیری WCAG 2.2 AA (#924):
|
||
|
||
- پیوند رفتن به محتوا و نقشهای نشانهای ARIA در تمام صفحات
|
||
- ویژگیهای ARIA برای تمام ابزارکهای تعاملی (کلید تغییر تم، تبها، نوار کناری، درخت فایل، منوهای بازشو، جستجو، منوها)
|
||
- ناوبری صفحهکلیدی برای تبها و کلید تغییر تم (کلیدهای جهتی، Enter، Escape)
|
||
- پشتیبانی از `prefers-reduced-motion` و سبکهای سراسری `focus-visible`
|
||
- ۱۵ کلید دسترسپذیری i18n جدید با ترجمه کامل در تمام ۲۱ محلیسازی
|
||
- جایگزینی تمام رشتههای انگلیسی `aria-label` که بهصورت هاردکد بودند با جستجوی i18n
|
||
|
||
## بهبودهای کیفیت زندگی
|
||
|
||
- بهبود سبکهای خوانایی جدول
|
||
- پشتیبانی از ویژگیهای Markdown برای سرتیترها
|
||
- تشخیص بهتر پیوند فعال برای صفحات فرود بخش چندزبانه
|
||
- پشتیبانی شورتکد کارت از پارامتر اختیاری `alt` برای تصاویر
|
||
- پشتیبانی از تصاویر بسته صفحه در ابرداده OpenGraph
|
||
- عرض محتوا اکنون بهصورت پیشفرض ثابت است، با پشتیبانی از بازنویسی متغیر CSS برای چیدمانهای سفارشی
|
||
|
||
## رفع اشکالات
|
||
|
||
- جلوگیری از پیشوند پایه دوگانه `relref` در render-link
|
||
- رفع رندر تبها هنگام تودرتوبودن در مراحل
|
||
- همراستاسازی ترتیب و برچسبهای نوار کناری موبایل با `menu.main`
|
||
- رعایت `search.enable` در نوار کناری
|
||
- رعایت پارامتر صفحه `toc` در منوی بازشو موبایل
|
||
- بهبود برجستهسازی تطبیق FlexSearch و دستکاری امن DOM
|
||
- رفع موقعیت زیرعنوان کارت
|
||
- مدیریت اسلشهای ابتدایی در مسیرهای تصویر OG برای استقرارهای زیرمسیر
|
||
- رفع بازگرداندن صفحات نتیجه کمتر از حد انتظار توسط FlexSearch
|
||
- تغییر فایل پیشفرض Umami analytics به `script.js`
|
||
- رفع جستجوی نویسنده RSS برای Hugo v0.156.0+ (`.Site.Params.Author`)
|
||
|
||
## مستندات و بومیسازی
|
||
|
||
- افزودن بومیسازی ایتالیایی
|
||
- پیوند مستندات KaTeX
|
||
- بهروزرسانی مستندات شورتکد details به نحو angle bracket
|
||
|
||
## مشارکتکنندگان
|
||
|
||
این انتشار با مشارکت ۱۱ مشارکتکننده جدید ممکن شد:
|
||
|
||
- [@ghac101](https://github.com/ghac101) - رفع Umami analytics، غیرفعالسازی ناوبری قبلی/بعدی
|
||
- [@pmarrapese](https://github.com/pmarrapese) - پشتیبانی از ویژگیهای Markdown برای سرتیترها
|
||
- [@Bubbler-4](https://github.com/Bubbler-4) - مستندات شورتکد details
|
||
- [@bloovis](https://github.com/bloovis) - رفع تعداد نتایج FlexSearch
|
||
- [@AntoninPvr](https://github.com/AntoninPvr) - رفع موقعیت زیرعنوان کارت
|
||
- [@illia-v](https://github.com/illia-v) - رفع TOC موبایل و کلید تغییر جستجو
|
||
- [@gallochri](https://github.com/gallochri) - بومیسازی ایتالیایی
|
||
- [@MatheusFlausino](https://github.com/MatheusFlausino) - حذف از LLMs.txt
|
||
- [@daniseijo](https://github.com/daniseijo) - قابلیت آخرین نویسنده ویرایشکننده
|
||
- [@confusedkernel](https://github.com/confusedkernel) - صفحه آرشیو
|
||
- [@Fenyutanchan](https://github.com/Fenyutanchan) - رفع سازگاری نویسنده RSS با Hugo v0.156.0
|
||
|
||
همچنین از مشارکتکنندگان بازگشته [@KStocky](https://github.com/KStocky)، [@ldez](https://github.com/ldez)، [@kowyo](https://github.com/kowyo)، [@torbjornbp](https://github.com/torbjornbp)، [@yuri1969](https://github.com/yuri1969) و [@PrintN](https://github.com/PrintN) بابت مشارکتهای مداومشان سپاسگزاریم.
|
||
|
||
---
|
||
|
||
**تغییرات کامل**: https://github.com/imfing/hextra/compare/v0.11.1...v0.12.0
|