--- date: "2017-04-15T14:56:00+02:00" slug: "customizing-gitea" sidebar_position: 100 aliases: - /zh-tw/customizing-gitea --- # 自訂 Gitea 自訂 Gitea 通常使用 `CustomPath` 文件夾進行 - 預設情況下,這是工作目錄(WorkPath)中的 `custom` 文件夾,但如果您的構建設定不同,則可能會有所不同。這是覆蓋設定設定、模板等的中心位置。您可以使用 `gitea help` 檢查 `CustomPath`。您還可以在 _站點管理_ 頁面的 _設定_ 標籤中找到路徑。您可以透過設定 `GITEA_CUSTOM` 環境變量或使用 `gitea` 二進制文件上的 `--custom-path` 選項來覆蓋 `CustomPath`。(該選項將覆蓋環境變量。) 如果 Gitea 是從二進制文件部署的,則所有預設路徑都將相對於 Gitea 二進制文件。如果從發行版安裝,這些路徑可能會修改為 Linux 文件系統標準。Gitea 將嘗試建立所需的文件夾,包括 `custom/`。發行版可能會使用 `/etc/gitea/` 提供 `custom` 的符號鏈接。 應用程式設定可以在 `CustomConf` 文件中找到,預設情況下為 `$GITEA_CUSTOM/conf/app.ini`,但如果您的構建設定不同,則可能會有所不同。同樣,`gitea help` 將允許您查看此變量,您可以使用 `gitea` 二進制文件上的 `--config` 選項來覆蓋它。 - [快速備忘單](../administration/config-cheat-sheet.md) - [完整列表](https://github.com/go-gitea/gitea/blob/main/custom/conf/app.example.ini) 如果無法找到 `CustomPath` 文件夾,請檢查 `gitea help`,請檢查 `GITEA_CUSTOM` 環境變量;這可以用於覆蓋預設路徑到其他位置。例如,`GITEA_CUSTOM` 可能由啟動腳本設定。您可以在站點管理頁面的“設定”標籤下檢查是否設定了該值。 - [環境變量列表](../administration/environment-variables.md) :::note Gitea 必須完全重啟才能看到設定更改。 ::: ## 提供自訂公共文件 要使 Gitea 提供自訂公共文件(如頁面和圖像),請使用文件夾 `$GITEA_CUSTOM/public/` 作為 webroot。將遵循符號鏈接。 目前,僅提供以下文件: - `public/robots.txt` - `public/.well-known/` 文件夾中的文件 - `public/assets/` 文件夾中的文件 例如,儲存在 `$GITEA_CUSTOM/public/assets/` 中的文件 `image.png` 可以透過 url `http://gitea.domain.tld/assets/image.png` 訪問。 ## 更改徽標 要構建自訂徽標和/或圖標,克隆 Gitea 源程式碼庫,替換 `assets/logo.svg` 和/或 `assets/favicon.svg`,然後運行 `make generate-images`。`assets/favicon.svg` 僅用於圖標。這將更新以下輸出文件,然後您可以將它們放置在伺服器上的 `$GITEA_CUSTOM/public/assets/img` 中: - `public/assets/img/logo.svg` - 用於站點圖標、應用程式圖標 - `public/assets/img/logo.png` - 用於 Open Graph - `public/assets/img/avatar_default.png` - 用作預設頭像圖像 - `public/assets/img/apple-touch-icon.png` - 用於 iOS 設備的書籤 - `public/assets/img/favicon.svg` - 用於圖標 - `public/assets/img/favicon.png` - 用於不支援 SVG 圖標的瀏覽器 如果源圖像不是矢量格式,您可以嘗試使用工具(如[這個](https://www.aconvert.com/image/png-to-svg/))將光柵圖像轉換為矢量圖像。 ## 自訂 Gitea 頁面和資源 Gitea 的可執行文件包含運行所需的所有資源:模板、圖像、樣式表和翻譯。可以透過將替換文件放置在 `custom` 目錄中的匹配路徑中來覆蓋其中的任何資源。例如,要替換為 C++ 儲存庫提供的預設 `.gitignore`,我們需要替換 `options/gitignore/C++`。為此,必須將替換文件放置在 `$GITEA_CUSTOM/options/gitignore/C++` 中(請參閱本文件頂部有關 `CustomPath` 目錄位置的說明)。 Gitea 的每個頁面都可以更改。動態內容是使用 [go 模板](https://pkg.go.dev/html/template) 生成的,可以透過將替換文件放置在 `$GITEA_CUSTOM/templates` 目錄下來修改。 要獲取任何嵌入文件(包括模板),可以使用 [`gitea embedded` 工具](../administration/cmd-embedded.md)。或者,它們可以在 Gitea 源程式碼的 [`templates`](https://github.com/go-gitea/gitea/tree/main/templates) 目錄中找到(注意:範例鏈接來自 `main` 分支。確保使用與您使用的版本相容的模板)。 請注意,任何包含在 `{{` 和 `}}` 之間的語句都是 Gitea 的模板語法,應在完全理解這些元件之前不要觸摸。 ### 自訂起始頁/首頁 從 `templates` 為您的 Gitea 版本複製 [`home.tmpl`](https://github.com/go-gitea/gitea/blob/main/templates/home.tmpl) 到 `$GITEA_CUSTOM/templates`。 根據需要進行編輯。 不要忘記重啟您的 Gitea 以應用更改。 ### 添加鏈接和標籤 如果您只想在頂部導航欄或頁腳中添加額外的鏈接,或在儲存庫視圖中添加額外的標籤,可以將它們放在 `extra_links.tmpl`(添加到導航欄的鏈接)、`extra_links_footer.tmpl`(添加到頁腳左側的鏈接)和 `extra_tabs.tmpl` 中,放置在您的 `$GITEA_CUSTOM/templates/custom/` 目錄中。 例如,假設您在德國,必須添加著名的法律要求的“Impressum”/關於頁面,列出誰對網站內容負責: 只需將其放置在您的 "$GITEA_CUSTOM/public/assets/" 目錄下(例如 `$GITEA_CUSTOM/public/assets/impressum.html`),並將鏈接放置在 `$GITEA_CUSTOM/templates/custom/extra_links.tmpl` 或 `$GITEA_CUSTOM/templates/custom/extra_links_footer.tmpl` 中。 為了匹配當前樣式,鏈接應具有類名“item”,您可以使用 `{{AppSubUrl}}` 獲取基本 URL: `Impressum` 有關更多資訊,請參閱 [添加法律頁面](../administration/adding-legal-pages.md)。 您可以以相同的方式添加新標籤,將它們放在 `extra_tabs.tmpl` 中。 匹配其他標籤樣式所需的確切 HTML 位於文件 `templates/repo/header.tmpl` 中 ([GitHub 中的源程式碼](https://github.com/go-gitea/gitea/blob/main/templates/repo/header.tmpl)) ### 頁面的其他添加 除了 `extra_links.tmpl` 和 `extra_tabs.tmpl`,還有其他有用的模板,您可以將它們放在 `$GITEA_CUSTOM/templates/custom/` 目錄中: - `header.tmpl`,在 `` 標籤結束之前,您可以添加自訂 CSS 文件。 - `body_outer_pre.tmpl`,在 `` 開始之後。 - `body_inner_pre.tmpl`,在頂部導航欄之前,但已經在主容器 `
` 內。 - `body_inner_post.tmpl`,在主容器結束之前。 - `body_outer_post.tmpl`,在底部 `