2024-02-20 01:10:50 +03:30
|
|
|
---
|
2025-08-14 22:07:15 +08:00
|
|
|
title: "رنگآمیزی نحوی"
|
2024-02-20 01:10:50 +03:30
|
|
|
weight: 3
|
|
|
|
---
|
|
|
|
|
2025-08-14 22:07:15 +08:00
|
|
|
Hugo از [Chroma](https://github.com/alecthomas/chroma)، یک رنگآمیزی نحوی همهمنظوره در Go خالص، برای رنگآمیزی نحوی استفاده میکند.
|
|
|
|
توصیه میشود برای بلوکهای کد در محتوای Markdown از بکتیک استفاده کنید. به عنوان مثال:
|
2024-02-20 01:10:50 +03:30
|
|
|
|
|
|
|
<!--more-->
|
|
|
|
|
|
|
|
````markdown {filename="Markdown"}
|
|
|
|
```python
|
|
|
|
def say_hello():
|
2025-08-14 22:07:15 +08:00
|
|
|
print("Hello!")
|
2024-02-20 01:10:50 +03:30
|
|
|
```
|
|
|
|
````
|
|
|
|
|
2025-08-14 22:07:15 +08:00
|
|
|
به صورت زیر نمایش داده میشود:
|
2024-02-20 01:10:50 +03:30
|
|
|
|
|
|
|
```python
|
|
|
|
def say_hello():
|
2025-08-14 22:07:15 +08:00
|
|
|
print("Hello!")
|
2024-02-20 01:10:50 +03:30
|
|
|
```
|
|
|
|
|
|
|
|
## ویژگیها
|
|
|
|
|
2025-08-14 22:07:15 +08:00
|
|
|
### نام فایل
|
2024-02-20 01:10:50 +03:30
|
|
|
|
2025-08-14 22:07:15 +08:00
|
|
|
برای افزودن نام فایل یا عنوان به بلوک کد، ویژگی `filename` را تنظیم کنید:
|
2024-02-20 01:10:50 +03:30
|
|
|
|
|
|
|
````markdown {filename="Markdown"}
|
|
|
|
```python {filename="hello.py"}
|
|
|
|
def say_hello():
|
2025-08-14 22:07:15 +08:00
|
|
|
print("Hello!")
|
2024-02-20 01:10:50 +03:30
|
|
|
```
|
|
|
|
````
|
|
|
|
|
|
|
|
```python {filename="hello.py"}
|
|
|
|
def say_hello():
|
2025-08-14 22:07:15 +08:00
|
|
|
print("Hello!")
|
|
|
|
```
|
|
|
|
|
|
|
|
### پیوند به فایل
|
|
|
|
|
|
|
|
{{< new-feature version="v0.9.2" >}}
|
|
|
|
|
|
|
|
میتوانید از ویژگی `base_url` برای ارائه یک URL پایه استفاده کنید که با نام فایل ترکیب میشود تا یک پیوند ایجاد کند.
|
|
|
|
|
|
|
|
نام فایل میتواند شامل یک مسیر نسبی باشد اگر محل فایل را در مسیر پایه مشخص کند.
|
|
|
|
|
|
|
|
````markdown {filename="Markdown"}
|
|
|
|
```go {base_url="https://github.com/imfing/hextra/blob/main/",filename="exampleSite/hugo.work"}
|
|
|
|
go 1.20
|
|
|
|
```
|
|
|
|
````
|
|
|
|
|
|
|
|
```go {base_url="https://github.com/imfing/hextra/blob/main/",filename="exampleSite/hugo.work"}
|
|
|
|
go 1.20
|
2024-02-20 01:10:50 +03:30
|
|
|
```
|
|
|
|
|
|
|
|
### شماره خطوط
|
|
|
|
|
2025-08-14 22:07:15 +08:00
|
|
|
برای تنظیم شماره خطوط، ویژگی `linenos` را به `table` تنظیم کنید و اختیاریاً `linenostart` را به شماره خط شروع تنظیم کنید:
|
2024-02-20 01:10:50 +03:30
|
|
|
|
|
|
|
````markdown {filename="Markdown"}
|
|
|
|
```python {linenos=table,linenostart=42}
|
|
|
|
def say_hello():
|
2025-08-14 22:07:15 +08:00
|
|
|
print("Hello!")
|
2024-02-20 01:10:50 +03:30
|
|
|
```
|
|
|
|
````
|
|
|
|
|
|
|
|
```python {linenos=table,linenostart=42}
|
|
|
|
def say_hello():
|
2025-08-14 22:07:15 +08:00
|
|
|
print("Hello!")
|
2024-02-20 01:10:50 +03:30
|
|
|
```
|
|
|
|
|
2025-08-14 22:07:15 +08:00
|
|
|
### برجستهسازی خطوط
|
2024-02-20 01:10:50 +03:30
|
|
|
|
2025-08-14 22:07:15 +08:00
|
|
|
برای برجستهسازی خطوط، ویژگی `hl_lines` را به لیستی از شماره خطوط تنظیم کنید:
|
2024-02-20 01:10:50 +03:30
|
|
|
|
|
|
|
````markdown {filename="Markdown"}
|
|
|
|
```python {linenos=table,hl_lines=[2,4],linenostart=1,filename="hello.py"}
|
|
|
|
def say_hello():
|
2025-08-14 22:07:15 +08:00
|
|
|
print("Hello!")
|
2024-02-20 01:10:50 +03:30
|
|
|
|
|
|
|
def main():
|
|
|
|
say_hello()
|
|
|
|
```
|
|
|
|
````
|
|
|
|
|
|
|
|
```python {linenos=table,hl_lines=[2,4],linenostart=1,filename="hello.py"}
|
|
|
|
def say_hello():
|
2025-08-14 22:07:15 +08:00
|
|
|
print("Hello!")
|
2024-02-20 01:10:50 +03:30
|
|
|
|
|
|
|
def main():
|
|
|
|
say_hello()
|
|
|
|
```
|
|
|
|
|
|
|
|
### دکمه کپی
|
|
|
|
|
2025-08-14 22:07:15 +08:00
|
|
|
به طور پیشفرض، دکمه کپی برای بلوکهای کد فعال است. رفتار آن را میتوان با تغییر فایل پیکربندی سایت تغییر داد:
|
2024-02-20 01:10:50 +03:30
|
|
|
|
2025-08-14 22:07:15 +08:00
|
|
|
```yaml {linenos=table,linenostart=42,filename="hugo.yaml"}
|
|
|
|
params:
|
|
|
|
highlight:
|
|
|
|
copy:
|
|
|
|
enable: true
|
|
|
|
# hover | always
|
|
|
|
display: hover
|
|
|
|
```
|
2024-02-20 01:10:50 +03:30
|
|
|
|
|
|
|
## زبانهای پشتیبانی شده
|
|
|
|
|
2025-08-14 22:07:15 +08:00
|
|
|
برای مشاهده لیست زبانهای پشتیبانی شده، لطفاً به [مستندات Chroma](https://github.com/alecthomas/chroma#supported-languages) مراجعه کنید.
|