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: 1 addition & 1 deletion assets/css/compiled/main.css

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions assets/css/styles.css
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,12 @@ body {
@apply hx:outline-none hx:ring-2 hx:ring-primary-200 hx:ring-offset-1 hx:ring-offset-primary-300 hx:dark:ring-primary-800 hx:dark:ring-offset-primary-700;
}

@layer base {
abbr:where([title]) {
cursor: help;
}
}

@import "./typography.css";
@import "./highlight.css";
@import "./components/cards.css";
Expand Down
16 changes: 16 additions & 0 deletions assets/json/search-data.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,20 @@
{{- $output = $output | merge (dict $pageLink (dict "title" $pageTitle "data" $data)) -}}
{{- end -}}

{{/* Extract glossary data entries */}}
{{- $glossaryEntries := dict -}}
{{- with (index .Site.Data .Site.Language.Lang "termbase") -}}
{{- range . -}}
{{- $entry := cond (.abbr) (printf "%s %s %s" .abbr .term .definition) (printf "%s %s" .term .definition) -}}
{{- $glossaryEntries = $glossaryEntries | merge (dict .term $entry) -}}
{{- end -}}
{{- end -}}

{{- $glossary := dict
"title" "Glossary"
"data" $glossaryEntries
-}}

{{- $output = $output | merge (dict (relLangURL "glossary") $glossary )}}

{{- $output | jsonify -}}
4 changes: 4 additions & 0 deletions content/glossary/_index.en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: Glossary
layout: glossary
---
4 changes: 4 additions & 0 deletions content/glossary/_index.fa.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: واژه‌نامه
layout: glossary
---
4 changes: 4 additions & 0 deletions content/glossary/_index.ja.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: 用語集
layout: glossary
---
4 changes: 4 additions & 0 deletions content/glossary/_index.zh-cn.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: 术语表
layout: glossary
---
1 change: 1 addition & 0 deletions docs/content/docs/advanced/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,5 @@ This section covers some advanced topics of the theme.
{{< card link="multi-language" title="Multi-language" icon="translate" >}}
{{< card link="customization" title="Customization" icon="pencil" >}}
{{< card link="comments" title="Comments System" icon="chat-alt" >}}
{{< card link="glossary" title="Glossary" icon="library" >}}
{{< /cards >}}
45 changes: 45 additions & 0 deletions docs/content/docs/advanced/glossary.fa.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
title: "واژه‌نامه"
weight: 1
prev: /docs/advanced
---

Hextra از ایجاد واژه‌نامهٔ اصطلاحات در سطح کل سایت پشتیبانی می‌کند.

<!--more-->

## فایل دادهٔ منبع

تعاریف اصطلاحات به‌صورت متمرکز در فایل دادهٔ `termbase.yaml` برای هر [زبان پشتیبانی‌شده](../multi-language/) ذخیره می‌شوند.

{{< filetree/container >}}
{{< filetree/folder name="data" state="open" >}}
{{< filetree/folder name="en" state="open" >}}
{{< filetree/file name="termbase.yaml" >}}
{{< /filetree/folder >}}
{{< filetree/folder name="fr" state="open" >}}
{{< filetree/file name="termbase.yaml" >}}
{{< /filetree/folder >}}
{{< filetree/folder name="ja" state="open" >}}
{{< filetree/file name="termbase.yaml" >}}
{{< /filetree/folder >}}
{{< /filetree/folder >}}
{{< /filetree/container >}}

هر فایل YAML شامل فهرستی از اصطلاحات واژه‌نامه است. هر ورودی شامل موارد زیر است:

* `term`: نام کامل مفهوم یا عبارت.
* `definition`: توضیح یا شرح مختصر اصطلاح.
* `abbr` (اختیاری): مخفف یا سرواژهٔ رایج اصطلاح.

```yaml {filename="data/fa/termbase.yaml"}
- term: seo
abbr: SEO
definition: "بهینه‌سازی موتور جستجو – افزایش دیده‌شدن یک صفحهٔ وب در نتایج موتورهای جستجو"
- term: "سازندهٔ سایت ایستا"
definition: "موتورهایی که ورودی متنی را پردازش کرده و صفحات وب ایستا تولید می‌کنند"
```

## صفحهٔ واژه‌نامه

در دسترس است و شامل تمام اصطلاحات تعریف‌شده همراه با توضیحات و مخفف‌ها[/glossary](/glossary/) فهرست کامل اصطلاحات واژه‌نامه در
45 changes: 45 additions & 0 deletions docs/content/docs/advanced/glossary.ja.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
title: "用語集"
weight: 1
prev: /docs/advanced
---

Hextra は、サイト全体で使用する用語集の構築をサポートしています。

<!--more-->

## データソースファイル

用語の定義は、各[対応言語](../multi-language/)ごとに `termbase.yaml` データファイルに一元管理されています。

{{< filetree/container >}}
{{< filetree/folder name="data" state="open" >}}
{{< filetree/folder name="en" state="open" >}}
{{< filetree/file name="termbase.yaml" >}}
{{< /filetree/folder >}}
{{< filetree/folder name="fr" state="open" >}}
{{< filetree/file name="termbase.yaml" >}}
{{< /filetree/folder >}}
{{< filetree/folder name="ja" state="open" >}}
{{< filetree/file name="termbase.yaml" >}}
{{< /filetree/folder >}}
{{< /filetree/folder >}}
{{< /filetree/container >}}

各 YAML データファイルには、用語の一覧が含まれています。各エントリには以下が含まれます:

* `term`:概念やフレーズの正式名称。
* `definition`:用語の簡潔な説明。
* `abbr`(任意):一般的に使用される略語や頭字語。

```yaml {filename="data/ja/termbase.yaml"}
- term: seo
abbr: SEO
definition: "検索エンジン最適化 — ウェブページの検索エンジンでの可視性を向上させる手法"
- term: "静的サイトジェネレーター"
definition: "テキスト入力を処理して静的なウェブページを生成するソフトウェアエンジン"
```

## 用語ページ

すべての定義済み用語とその説明・略語は [/glossary](/glossary/) ページで確認できます。
46 changes: 46 additions & 0 deletions docs/content/docs/advanced/glossary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
title: "Glossary"
weight: 1
prev: /docs/advanced
---

Hextra supports building a site-wide terminology glossary.

<!--more-->

## Source Data File

Term definitions are centrally stored in a `termbase.yaml` data file for each [supported language](../multi-language/).

{{< filetree/container >}}
{{< filetree/folder name="data" state="open" >}}
{{< filetree/folder name="en" state="open" >}}
{{< filetree/file name="termbase.yaml" >}}
{{< /filetree/folder >}}
{{< filetree/folder name="fr" state="open" >}}
{{< filetree/file name="termbase.yaml" >}}
{{< /filetree/folder >}}
{{< filetree/folder name="ja" state="open" >}}
{{< filetree/file name="termbase.yaml" >}}
{{< /filetree/folder >}}
{{< /filetree/folder >}}
{{< /filetree/container >}}

Each YAML data file contains a list of glossary entries. Every entry includes:

* `term`: The full name of the concept or phrase.
* `definition`: A brief explanation or description of the term.
* `abbr` (optional): A commonly used abbreviation or acronym for the term.

```yaml {filename="data/en/termbase.yaml"}
- term: seo
abbr: SEO
definition: "Search engine optimization – improving the visibility of a web page in search engines"
- term: static site generator
definition: "Software engines processing text input to generate static web pages"
```

## Glossary Page

A full listing of glossary terms is available at [/glossary](/glossary/), displaying all
defined terms with their descriptions and abbreviations.
45 changes: 45 additions & 0 deletions docs/content/docs/advanced/glossary.zh-cn.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
title: "术语表"
weight: 1
prev: /docs/advanced
---

Hextra 支持构建全站范围的术语词汇表。

<!--more-->

## 数据源文件

术语定义集中存储在每种[支持语言](../multi-language/)的 `termbase.yaml` 数据文件中。

{{< filetree/container >}}
{{< filetree/folder name="data" state="open" >}}
{{< filetree/folder name="en" state="open" >}}
{{< filetree/file name="termbase.yaml" >}}
{{< /filetree/folder >}}
{{< filetree/folder name="fr" state="open" >}}
{{< filetree/file name="termbase.yaml" >}}
{{< /filetree/folder >}}
{{< filetree/folder name="ja" state="open" >}}
{{< filetree/file name="termbase.yaml" >}}
{{< /filetree/folder >}}
{{< /filetree/folder >}}
{{< /filetree/container >}}

每个 YAML 数据文件包含一组术语条目。每个条目包括:

* `term`:术语或短语的完整名称。
* `definition`:对术语的简要解释或描述。
* `abbr`(可选):术语常用的缩写或首字母缩写。

```yaml {filename="data/zh-cn/termbase.yaml"}
- term: seo
abbr: SEO
definition: "搜索引擎优化——提高网页在搜索引擎中的可见度"
- term: "静态网站生成器"
definition: "将文本输入处理为静态网页的生成引擎"
```

## 术语页面

完整的术语列表可在 [/glossary](/glossary/) 查看,显示所有定义的术语及其描述和缩写。
2 changes: 1 addition & 1 deletion docs/content/docs/advanced/multi-language.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: "Multi-language"
weight: 1
prev: /docs/advanced
prev: /docs/advanced/glossary
---

Hextra supports creating site with multiple languages using Hugo's [multilingual mode](https://gohugo.io/content-management/multilingual/).
Expand Down
1 change: 1 addition & 0 deletions docs/content/docs/guide/shortcodes/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ Hextra provides a collection of beautiful shortcodes to enhance your content.
{{< card link="cards" title="Cards" icon="card" >}}
{{< card link="details" title="Details" icon="chevron-right" >}}
{{< card link="filetree" title="FileTree" icon="folder-tree" >}}
{{< card link="term" title="Term" icon="question-mark-circle" >}}
{{< card link="icon" title="Icon" icon="badge-check" >}}
{{< card link="steps" title="Steps" icon="one" >}}
{{< card link="tabs" title="Tabs" icon="collection" >}}
Expand Down
2 changes: 1 addition & 1 deletion docs/content/docs/guide/shortcodes/tabs.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Tabs
next: /docs/guide/deploy-site
next: /docs/guide/term
---

## Example
Expand Down
28 changes: 28 additions & 0 deletions docs/content/docs/guide/shortcodes/term.fa.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
title: اصطلاح
next: /docs/guide/deploy-site
---

یک مؤلفهٔ داخلی برای نمایش تعریف اصطلاحات.

تعاریف اصطلاحات در یک [فایل دادهٔ YAML](/docs/advanced/glossary#source-data-file) ساختاریافته نگهداری می‌شوند،
و برای هر زبان پشتیبانی‌شده یک فایل جداگانه تعریف می‌گردد.

## مثال

* {{< term "سازندهٔ سایت ایستا" >}}
* {{< term "SEO" >}}

## نحوهٔ استفاده

```
{{</* term "SEO" */>}}
```

اگر اصطلاحی در واژه‌نامه یافت نشود، همان‌طور که وارد شده نمایش داده می‌شود.

## گزینه‌ها

| نام | توضیح |
|---------------|----------------------------|
| `entry` | اصطلاح واژه‌نامه |
28 changes: 28 additions & 0 deletions docs/content/docs/guide/shortcodes/term.ja.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
title: 用語
next: /docs/guide/deploy-site
---

用語の定義を表示するための組み込みコンポーネントです。

用語の定義は、構造化された YAML [データファイル](/docs/advanced/glossary#source-data-file)で管理されており、
対応する言語ごとに1つのファイルが定義されています。

## 例

* {{< term "静的サイトジェネレーター" >}}
* {{< term "SEO" >}}

## 使用方法

```
{{</* term "SEO" */>}}
```

用語が用語集に存在しない場合は、そのまま表示されます。

## オプション

| 名前 | 説明 |
|--------------|--------------------------|
| `entry` | 用語名 |
29 changes: 29 additions & 0 deletions docs/content/docs/guide/shortcodes/term.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
title: Term
next: /docs/guide/deploy-site
---

A built-in component to display a terminology definition.

Glossary definition is maintained in a structured YAML [data file](/docs/advanced/glossary#source-data-file),
with one file defined per supported language.

## Example

* {{< term "static site generator" >}}
* {{< term "SEO" >}}

## Usage

```
{{</* term "SEO" */>}}
```

If a term is not found in the glossary, it is returned as-is.


## Options

| Name | Description |
|--------------|-----------------------------|
| `entry` | Glossary term |
28 changes: 28 additions & 0 deletions docs/content/docs/guide/shortcodes/term.zh-cn.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
title: 术语
next: /docs/guide/deploy-site
---

一个用于显示术语定义的内置组件。

术语定义保存在结构化的 YAML [数据文件](/docs/advanced/glossary#source-data-file)中,
每种支持的语言对应一个文件。

## 示例

* {{< term "静态网站生成器" >}}
* {{< term "SEO" >}}

## 用法

```
{{</* term "SEO" */>}}
```

如果术语在词汇表中未找到,则会原样返回该术语。

## 选项

| 名称 | 描述 |
|--------------|------------------|
| `entry` | 术语名称 |
12 changes: 12 additions & 0 deletions docs/data/en/termbase.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
# Terminology glossary
#
# Example usage of term.html shortcode:
#
# {{< term "SEO" >}}

- term: seo
abbr: SEO
definition: "Search engine optimization – improving the visibility of a web page in search engines"
- term: static site generator
definition: "Software engines processing text input to generate static web pages"
Loading