پیکربندی
Hugo پیکربندی خود را از hugo.yaml در ریشه سایت Hugo شما میخواند.
پرونده پیکربندی جایی است که میتوانید تمام جنبههای سایت خود را پیکربندی کنید.
پرونده پیکربندی این سایت exampleSite/hugo.yaml را در گیتهاب بررسی کنید تا ایدهای جامع از تنظیمات موجود و بهترین شیوهها بدست آورید.
ناوبری
منو
منوی سمت چپ بالا در قسمت menu.main در پرونده پیکربندی تعریف شده است:
menu:
main:
- name: مستندات
pageRef: /docs
weight: 1
- name: وبلاگ
pageRef: /blog
weight: 2
- name: درباره ما
pageRef: /about
weight: 3
- name: جستجو
weight: 4
params:
type: search
- name: گیتهاب
weight: 5
url: "https://github.com/imfing/hextra"
params:
icon: githubانواع مختلفی از آیتمهای منو وجود دارد:
- پیوند به صفحهای در سایت با
pageRef- name: مستندات pageRef: /docs - پیوند به یک نشانی اینترنتی با
url- name: گیتهاب url: "https://github.com" - نوار جستجو با
type: search- name: جستجو params: type: search - آیکون
- name: گیتهاب params: icon: github
این آیتمهای منو را میتوانید با تنظیم پارامتر weight مرتب کنید.
آرم و عنوان
برای تغییر آرم پیشفرض، hugo.yaml را ویرایش کنید و مسیر را به پرونده آرم خود در دایرکتوری static اضافه کنید.
به صورت اختیاری، میتوانید پیوندی را که کاربران هنگام کلیک کردن روی آرم شما به آن هدایت میشوند، تغییر دهید، همچنین عرض و ارتفاع آرم را به پیکسل تنظیم کنید.
params:
navbar:
displayTitle: true
displayLogo: true
logo:
path: images/logo.svg
dark: images/logo-dark.svg
link: /
width: 40
height: 20نوار کناری
نوار کناری اصلی
برای نوار کناری اصلی، به طور خودکار از ساختار دایرکتوری محتوا تولید میشود. برای جزئیات بیشتر به صفحه سازماندهی پروندهها مراجعه کنید.
برای حذف یک صفحه از نوار کناری سمت راست، پارامترsidebar.exclude را در قسمت بالایی صفحه تنظیم کنید:
---
title: پیکربندی
sidebar:
exclude: true
---پیوندهای اضافی
پیوندهای اضافی نوار کناری در زیر بخش menu.sidebar در پرونده پیکربندی تعریف شده است:
menu:
sidebar:
- name: بیشتر
params:
type: separator
weight: 1
- name: "درباره ما"
pageRef: "/about"
weight: 2
- name: "مستندات هیوگو ↖"
url: "https://gohugo.io/documentation/"
weight: 3نوار کناری سمت چپ
فهرست مطالب
فهرست مطالب به طور خودکار از سرتیرهای موجود در پرونده محتوا تولید میشود. میتوان آن را با تنظیم toc: false در قسمت بالایی صفحه غیرفعال کرد.
---
title: پیکربندی
toc: false
---پیوند ویرایش صفحه
برای پیکربندی پیوند ویرایش صفحه، میتوانیم پارامتر params.editURL.base را در پرونده پیکربندی تنظیم کنیم:
params:
editURL:
enable: true
base: "https://github.com/your-username/your-repo/edit/main"پیوندهای ویرایش به طور خودکار برای هر صفحه براساس نشانی اینترنتی ارائه شده به عنوان دایرکتوری ریشه ایجاد میشود.
اگر میخواهید پیوند ویرایش را برای یک صفحه خاص تنظیم کنید، میتوانید پارامتر editURL را در قسمت بالای صفحه تنظیم کنید:
---
title: پیکربندی
editURL: "https://example.com/edit/this/page"
---پاورقی
کپیرایت
برای تغییر متن کپیرایت نمایش داده شده در پاورقی وبسایت خود، باید پروندهای به نام i18n/fa.yaml ایجاد کنید.
در این پرونده متن کپیرایت جدید خود را مطابق شکل زیر مشخص کنید:
copyright: "© ۲۰۲۴ متن شما در اینجا"برای مرجع شما، یک مثال i18n/en.yaml را میتوانید در مخزن گیتهاب پیدا کنید. علاوه بر این، میتوانید از فرمت مارکداون در متن کپیرایت استفاده کنید.
سایر موارد
Favicon
برای سفارشی کردن favicon برای سایت خود، پروندههای آیکون را درون پوشه static قرار دهید تا faviconهای پیشفرض در تم جایگزین شود:
- android-chrome-192x192.png
- android-chrome-512x512.png
- apple-touch-icon.png
- favicon-16x16.png
- favicon-32x32.png
- favicon-dark.svg
- favicon.ico
- favicon.svg
- site.webmanifest
هر دو پرونده favicon.ico و favicon.svg را در پروژه خود قرار دهید، تا از نمایش صحیح faviconهای سایت خود مطمئن شوید.
در حالی که favicon.ico به طور کلی برای مرورگرهای قدیمیتر است، favicon.svg توسط مرورگرهای مدرن پشتیبانی میشود. faviconfavicon-dark.svg اختیاری را میتوانید برای یک تجربه سفارشی در حالت تیره اضافه کرد.
با خیال راحت از ابزارهایی مانند favicon.io یا favycon برای تولید این آیکونها استفاده کنید.
پیکربندی تم
از تنظیمات theme برای پیکربندی حالت پیشفرض تم و دکمه جابهجایی استفاده کنید و به بازدیدکنندگان اجازه دهید بین حالت روشن یا تیره جابجا شوند.
params:
theme:
# light | dark | system
default: system
displayToggle: trueگزینههای theme.default:
light- همیشه از حالت روشن استفاده شودdark- همیشه از حالت تیره استفاده شودsystem- همگامسازی با تنظیمات سیستمعامل (پیشفرض)
پارامتر theme.displayToggle به شما این امکان را میدهد که یک دکمه جابجایی برای تغییر حالت تمها نمایش دهید.
وقتی روی true تنظیم شود، بازدیدکنندگان میتوانند بین حالت روشن یا تیره جابهجا شوند و تنظیمات پیشفرض را نادیده بگیرند.
عرض صفحه
عرض صفحه را میتوان با پارامتر params.page.width در پرونده پیکربندی سفارشی کرد:
params:
page:
# full (100%), wide (90rem), normal (1280px)
width: wideسه گزینه در دسترس وجود دارد: full، wide و normal. به طور پیشفرض، عرض صفحه روی normal تنظیم شده است.
به طور مشابه، عرض نوار ناوبری و پاورقی را میتوان با پارامترهای params.navbar.width و params.footer.width سفارشی کرد.
فهرست جستجو
جستجوی متن کامل توسط FlexSearch پیادهسازی شده و به طور پیشفرض فعال است.
برای سفارشی کردن فهرست جستجو، پارامتر params.search.flexsearch.index را در پرونده پیکربندی تنظیم کنید:
params:
# Search
search:
enable: true
type: flexsearch
flexsearch:
# index page by: content | summary | heading | title
index: contentگزینههای flexsearch.index:
content- محتوای کامل صفحه (پیشفرض)summary- خلاصه صفحه، برای جزئیات بیشتر به خلاصه مطالب Hugo مراجعه کنیدheading- سرتیترهای سطح ۱ و سطح ۲title- فقط شامل عنوان صفحه است
برای حذف یک صفحه از فهرست جستجو، excludeSearch: true را در قسمت بالای صفحه تنظیم کنید:
---
title: پیکربندی
excludeSearch: true
---گوگل آنالیتیکس
برای فعال کردن گوگل آنالیتیکس، پرچم services.googleAnalytics.ID را در hugo.yaml تنظیم کنید:
services:
googleAnalytics:
ID: G-MEASUREMENT_ID