Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/content/archives/_index.fa.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@
title: آرشیو
layout: archives
toc: false
group:
section: blog
---
2 changes: 2 additions & 0 deletions docs/content/archives/_index.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@
title: アーカイブ
layout: archives
toc: false
group:
section: blog
---
2 changes: 2 additions & 0 deletions docs/content/archives/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@
title: Archives
layout: archives
toc: false
group:
section: blog
---
2 changes: 2 additions & 0 deletions docs/content/archives/_index.zh-cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@
title: 归档
layout: archives
toc: false
group:
section: blog
---
16 changes: 16 additions & 0 deletions docs/content/blog/demo-series-part-1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
title: Demo Series Part 1 - Getting Started
date: 2024-09-12
series:
- demo-series
excludeSearch: true
---

This is the first post of the demo series. Tagging a post with a
`series` taxonomy term groups it with the other posts in the series.

<!--more-->

## Content

Learn the fundamentals before moving on to Part 2.
16 changes: 16 additions & 0 deletions docs/content/blog/demo-series-part-2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
title: Demo Series Part 2 - Advanced Topics
date: 2025-04-22
series:
- demo-series
excludeSearch: true
---

This is the second post of the demo series. All posts sharing the same
`series` taxonomy term appear on the series page.

<!--more-->

## Content

Now that you understand the fundamentals, explore the advanced topics.
16 changes: 16 additions & 0 deletions docs/content/blog/hextra-tips-dark-mode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
title: "Hextra Tips: Dark Mode Setup"
date: 2023-05-10
series:
- hextra-tips
excludeSearch: true
---

This is a sample post in the second demo series. It shows that more than
one series can exist, each listed in the Series dropdown.

<!--more-->

## Content

Learn how to configure dark mode in Hextra.
16 changes: 16 additions & 0 deletions docs/content/blog/hextra-tips-shortcodes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
title: "Hextra Tips: Using Shortcodes"
date: 2023-08-20
series:
- hextra-tips
excludeSearch: true
---

This is a sample post in the second demo series. It shows that more than
one series can exist, each listed in the Series dropdown.

<!--more-->

## Content

Explore the shortcodes that ship with Hextra.
161 changes: 139 additions & 22 deletions docs/content/docs/advanced/additional-pages.fa.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ aliases:
- /docs/advanced/glossary/
---

Hextra چند صفحهٔ اضافی دارد که باید به‌صورت جداگانه فعال شوند: واژه‌نامه و آرشیو.
Hextra چند صفحهٔ اضافی دارد که باید به‌صورت جداگانه فعال شوند: واژه‌نامه، آرشیو، گفتگوها و مجموعه.

<!--more-->

Expand Down Expand Up @@ -65,41 +65,158 @@ layout: glossary

## آرشیو

می‌توانید برای نوشته‌های یک بخش، یک صفحه آرشیو زمانی (گروه‌بندی‌شده بر اساس سال) بسازید.
چیدمان `archives` یک فهرست گروه‌بندی‌شدهٔ عمومی است: هر مجموعه‌ای از صفحه‌ها را به‌صورت یک خط زمانی گروه‌بندی‌شده بر اساس سال (یا فهرست ساده) نمایش می‌دهد و به‌صورت پیش‌فرض، بخشی که صفحه به آن تعلق دارد را آرشیو می‌کند. این چیدمان علاوه بر صفحه آرشیو داخلی، انواع صفحهٔ [گفتگوها](#گفتگوها) و [مجموعه](#مجموعه) را که در ادامه توضیح داده شده‌اند، امکان‌پذیر می‌کند.

1. صفحه آرشیو را ایجاد کنید:
```yaml {filename="content/archives/_index.md"}
برای ساخت یک صفحه آرشیو مستقل که به بخش دیگری اشاره می‌کند (مثلاً صفحه `/archives` برای فهرست نوشته‌های وبلاگ)، `group.section` را در front matter صفحه تنظیم کنید:

```yaml {filename="content/archives/_index.md"}
---
title: Archives
layout: archives
toc: false
group:
section: blog
---
```

ساختار نمونهٔ داخلی همین است: صفحه در `content/archives/` قرار دارد اما بخش `blog` را آرشیو می‌کند. یک صفحهٔ نمونه از آرشیو در [آرشیو]({{% relref "/archives" %}}) در دسترس است.

### گزینه‌ها

- `group.section`: بخش مورد نظر برای آرشیو. مقدار پیش‌فرض، بخش خود صفحه است و به `params.archives.section` (پیش‌فرض `blog`) برمی‌گردد.
- `group.dateFormat`: قالب نمایش تاریخ آیتم‌های فهرست. مقدار پیش‌فرض `Jan 02` است و به `params.archives.dateFormat` برمی‌گردد.
- `group.groupBy`: `year` (پیش‌فرض)، `month`، یا `none` برای فهرست ساده. صفحه‌های ترم (مانند مجموعه) از آنجا که با ترم گروه‌بندی شده‌اند، به‌صورت پیش‌فرض `none` هستند.

پیام حالت خالی از کلید ترجمه `noResultsFound` استفاده می‌کند.

## گفتگوها

یک بخش محتوایی مانند `talks` را می‌توان مانند صفحه آرشیو به‌صورت فهرست جدا بر اساس سال نمایش داد.

1. صفحهٔ فهرست بخش را با چیدمان `archives` ایجاد کنید:
```yaml {filename="content/talks/_index.md"}
---
title: Archives
title: Talks
layout: archives
toc: false
---
```
این صفحه به‌صورت پیش‌فرض بخش خودش را آرشیو می‌کند، بنابراین `/talks/` همهٔ گفتگوها را گروه‌بندی‌شده بر اساس سال نمایش می‌دهد. هیچ پیکربندی دیگری لازم نیست.
2. (اختیاری) آن را به منوی بالا اضافه کنید:
```yaml {filename="hugo.yaml"}
menu:
main:
- identifier: archives
name: Archives
pageRef: /archives
- identifier: talks
name: Talks
pageRef: /talks
```
3. (اختیاری، چندزبانه) فایل‌های آرشیو ترجمه‌شده با همان layout اضافه کنید، برای مثال:
- `content/archives/_index.fa.md`
- `content/archives/_index.ja.md`
- `content/archives/_index.zh-cn.md`
4. (اختیاری) بخش مورد استفاده برای آرشیو را تغییر دهید. مقدار پیش‌فرض `blog` است.
3. (اختیاری، چندزبانه) صفحه‌های فهرست ترجمه‌شده با همان layout اضافه کنید، برای مثال `content/talks/_index.ja.md`.

ساختار فایل برای آرشیو گفتگوها به این شکل است:

{{< filetree/container >}}
{{< filetree/folder name="content" state="open" >}}
{{< filetree/folder name="talks" state="open" >}}
{{< filetree/file name="_index.md" >}}
{{< filetree/folder name="open-source-communities" state="open" >}}
{{< filetree/file name="index.md" >}}
{{< filetree/file name="slides.pdf" >}}
{{< /filetree/folder >}}
{{< filetree/file name="css-architecture.md" >}}
{{< filetree/folder name="hugo-theming" state="open" >}}
{{< filetree/file name="index.md" >}}
{{< filetree/file name="cover.png" >}}
{{< /filetree/folder >}}
{{< /filetree/folder >}}
{{< /filetree/folder >}}
{{< /filetree/container >}}

هر گفتگو می‌تواند یک فایل Markdown ساده (`css-architecture.md`) یا یک پوشهٔ page bundle باشد: یک `index.md` به‌همراه تصاویر و دارایی‌هایش (مانند اسلایدها یا تصویر کاور) در همان زیرپوشه (`open-source-communities/`، `hugo-theming/`) گروه‌بندی می‌شود. فقط `_index.md` دارای front matter چیدمان `archives` است:

```yaml {filename="content/talks/hugo-theming/index.md"}
---
title: Theming Hugo Sites with Tailwind CSS
date: 2025-11-03
tags:
- Hugo
- Tailwind CSS
---
```

یک صفحهٔ نمونه از آرشیو گفتگوها در [گفتگوها]({{% relref "/talks" %}}) در دسترس است.

## مجموعه

مجموعه (series) نوشته‌های مرتبط (معمولاً نوشته‌های وبلاگ) را زیر یک نام گروه‌بندی می‌کند. مجموعه یک برچسب تاکسونومی است: همهٔ نوشته‌های دارای برچسب `series` یکسان در صفحهٔ خودکار `/series/<نام>/` گروه‌بندی می‌شوند. نام مجموعه همان گروه است، بنابراین صفحه نوشته‌ها را بدون گروه‌بندی اضافه در کنار هم فهرست می‌کند.

1. تاکسونومی `series` را پیکربندی کنید:
```yaml {filename="hugo.yaml"}
params:
archives:
section: blog
taxonomies:
series: series
```
5. (اختیاری) قالب نمایش تاریخ آیتم‌های آرشیو را تغییر دهید. مقدار پیش‌فرض `Jan 02` است.
تنظیم `taxonomies` تاکسونومی‌های پیش‌فرض هوگو را جایگزین می‌کند. برای حفظ تاکسونومی‌های موجود، آن‌ها را نیز فهرست کنید:
```yaml {filename="hugo.yaml"}
params:
archives:
dateFormat: "Jan 02"
taxonomies:
tag: tags
category: categories
series: series
```
2. در front matter هر نوشته‌ای که به مجموعه تعلق دارد، برچسب را اضافه کنید:
```yaml {filename="content/blog/part-1/index.md"}
---
title: "Demo Series Part 1"
date: 2024-09-12
series:
- demo-series
---
```
با فهرست کردن چند برچسب، یک نوشته می‌تواند به بیش از یک مجموعه تعلق داشته باشد. front matter `series` همچنین پیوندهای Open Graph `og:see_also` را در صفحه نوشته تولید می‌کند.
3. (اختیاری) یک صفحه فهرست ترم بسازید تا عنوان مجموعه را تنظیم کنید و چیدمان `archives` را فعال کنید:
```yaml {filename="content/series/demo-series/_index.md"}
---
title: Demo Series
layout: archives
toc: false
---
```
بدون این صفحه، `/series/demo-series/` همچنان همهٔ نوشته‌های مجموعه را فهرست می‌کند.

پیام حالت خالی از کلید ترجمه `noResultsFound` استفاده می‌کند.
ساختار فایل برای یک مجموعه به این شکل است:

{{< filetree/container >}}
{{< filetree/folder name="content" state="open" >}}
{{< filetree/folder name="blog" state="open" >}}
{{< filetree/folder name="part-1" state="open" >}}
{{< filetree/file name="index.md" >}}
{{< filetree/file name="diagram.png" >}}
{{< /filetree/folder >}}
{{< filetree/file name="part-2.md" >}}
{{< /filetree/folder >}}
{{< filetree/folder name="series" state="open" >}}
{{< filetree/folder name="demo-series" state="open" >}}
{{< filetree/file name="_index.md" >}}
{{< /filetree/folder >}}
{{< /filetree/folder >}}
{{< /filetree/folder >}}
{{< /filetree/container >}}

نوشته‌های مجموعه در بخش عادی خود (در این مثال `blog`) باقی می‌مانند. دایرکتوری `content/series/` محل قرارگیری نوشته‌ها نیست — دایرکتوری محتوای تاکسونومی هوگو است و فقط برای سفارشی‌کردن صفحهٔ ترم خودکار `/series/<نام>/` استفاده می‌شود (عنوان، چیدمان `archives`). این دایرکتوری اختیاری است: بدون آن نیز `/series/<نام>/` تولید می‌شود و نوشته‌های مجموعه را زیر نام مجموعه فهرست می‌کند.

مانند نوشته‌های گفتگو، یک نوشتهٔ مجموعه نیز می‌تواند یک فایل Markdown ساده یا یک پوشهٔ page bundle (مثلاً `part-1/`) باشد که نوشته را به‌همراه تصاویر و دارایی‌هایش گروه‌بندی می‌کند.

### افزودن منوی کشویی مجموعه به منو

برای افزودن یک منوی کشویی که همهٔ مجموعه‌ها را در ناوبری بالا فهرست می‌کند، یک آیتم منو با `type: series` اضافه کنید:

```yaml {filename="hugo.yaml"}
menu:
main:
- identifier: series
name: Series
params:
type: series
```

منوی کشویی به‌صورت خودکار همهٔ برچسب‌های مجموعه را فهرست می‌کند. برای سفارشی‌کردن برچسب نمایشی یک مجموعه، عنوان را در صفحهٔ فهرست ترم (`content/series/<نام>/_index.md`) تنظیم کنید.

یک صفحهٔ نمونه از آرشیو در [آرشیو]({{% relref "/archives" %}}) در دسترس است.
یک صفحهٔ نمونه از آرشیو مجموعه در [مجموعهٔ نمایشی]({{% relref "/series/demo-series" %}}) در دسترس است.
Loading
Loading