gitea/docs/content/doc/advanced/customizing-gitea.en-us.md
Bagas Sanjaya ce274d652f Add Privacy Policy and Terms of Service Page (#9513)
* Add privacy policy page and link

* Add TOS page and link

* Add update date

* [Docs] Add customizing PP and TOS

* Separate h2 user-generated content with its paragraph

* Reimplement Privacy Policy

The document is inspired from GitHub.

* Refactor to contrib

* [Docs] Mention how to add legal pages

* Reimplement Terms of Service

Adapted from GitHub

* Update revision date

* Rename to mark as sample file

* Apply suggestion from @sapk

Co-Authored-By: Antoine GIRARD <sapk@users.noreply.github.com>

* Apply suggestion from @sapk

Use absolute link instead

Co-Authored-By: Antoine GIRARD <sapk@users.noreply.github.com>

* Apply suggestion from @zeripath

Change `Last Updated` element to `<h4>`

Co-Authored-By: zeripath <art27@cantab.net>

* Apply suggestion from @zeripath

Close this `<li>` element instance

Co-Authored-By: zeripath <art27@cantab.net>

* Apply suggestion from @zeripath

Intentionally grammar fix

Co-Authored-By: zeripath <art27@cantab.net>

* Apply suggestion from @zeripath

Information grammar

Co-Authored-By: zeripath <art27@cantab.net>

* Apply suggestion from @zeripath

Cannot guarantee absolute security...

Co-Authored-By: zeripath <art27@cantab.net>

* Apply suggestion from @zeripath

Use `<h4>` element for last updated date

Co-Authored-By: zeripath <art27@cantab.net>

* Apply suggestion from @zeripath

Remove trailing `</p>` at the end of API clause

Co-Authored-By: zeripath <art27@cantab.net>

* Apply suggestion from @zeripath

Migrate privacy email domain to Your Gitea Instance

Co-Authored-By: zeripath <art27@cantab.net>

* Apply suggestions from @zeripath

Remove `<p>` container for `<ol>` definitions

Co-Authored-By: zeripath <art27@cantab.net>

* Apply suggestions from @zeripath

Remove `<p>` container that contain `<ol>` user-generated content

Co-Authored-By: zeripath <art27@cantab.net>

* Apply suggestions from @zeripath

Remove `<p>` container for private repositories `<ol>` listing

Co-Authored-By: zeripath <art27@cantab.net>

* Apply suggestions from @zeripath

Migrate remaining email domains to Your Gitea Instance

Co-Authored-By: zeripath <art27@cantab.net>

* Apply suggestion from @zeripath

Offer support

Co-Authored-By: zeripath <art27@cantab.net>

* Apply suggestion from @zeripath

Change "Your Gitea Instance" references to match your situation and Gitea project disclaimer

Co-Authored-By: zeripath <art27@cantab.net>

* Reword transmission data to reflect hosting on third-party provider

* Reword Analytics clause to reflects that not all Gitea instances deploy analytics OOTB

* Remove `<p>` container from account terms

* Migrate support email on tos to your-gitea-instance

* Reword Tracking and Analytics clause for OOTB case

* [Docs] Append privacy.html to cp destination

* Apply suggestion from @6543

Create or append to footer template

Co-Authored-By: 6543 <6543@obermui.de>

* Apply suggestion from myself

@6543 suggest replacing this `cp` line (which assumed that Gitea sources are available) with `wget` to GitHub raw link. At the time of writing this, this returned 404, but when this PR has been merged, this should get the actual page.

* Apply suggestions from @6543

1. Add gpg key to profile information
2. Add Git repos to list of User Personal Information
3. Comment out responsibility for sensitive information

Co-Authored-By: 6543 <6543@obermui.de>

Co-authored-by: Antoine GIRARD <sapk@users.noreply.github.com>
Co-authored-by: zeripath <art27@cantab.net>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: 6543 <6543@obermui.de>
2020-01-14 14:34:40 +01:00

8.6 KiB

date title slug weight toc draft menu
2017-04-15T14:56:00+02:00 Customizing Gitea customizing-gitea 9 false false
sidebar
parent name identifier weight
advanced Customizing Gitea customizing-gitea 9

Customizing Gitea

Customizing Gitea is typically done using the CustomPath folder - by default this is
the custom folder from the running directory, but may be different if your build has
set this differently. This is the central place to override configuration settings,
templates, etc. You can check the CustomPath using gitea help. You can override
the CustomPath by setting either the GITEA_CUSTOM environment variable or by
using the --custom-path option on the gitea binary. (The option will override the
environment variable.)

If Gitea is deployed from binary, all default paths will be relative to the Gitea
binary. If installed from a distribution, these paths will likely be modified to
the Linux Filesystem Standard. Gitea will attempt to create required folders, including
custom/. Distributions may provide a symlink for custom using /etc/gitea/.

Application settings can be found in file CustomConf which is by default,
CustomPath/conf/app.ini but may be different if your build has set this differently.
Again gitea help will allow you review this variable and you can override it using the
--config option on the gitea binary.

If the CustomPath folder can't be found despite checking gitea help, check the GITEA_CUSTOM
environment variable; this can be used to override the default path to something else.
GITEA_CUSTOM might, for example, be set by an init script.

Note: Gitea must perform a full restart to see configuration changes.

Serving custom public files

To make Gitea serve custom public files (like pages and images), use the folder
custom/public/ as the webroot. Symbolic links will be followed.

For example, a file image.png stored in custom/public/, can be accessed with
the url http://gitea.domain.tld/image.png.

Changing the default avatar

Place the png image at the following path: custom/public/img/avatar_default.png

Customizing Gitea pages

The custom/templates folder allows changing every single page of Gitea. Templates
to override can be found in the templates directory of Gitea source (Note: the example link is from master branch. Make sure to copy templates from same release you are using). Override by
making a copy of the file under custom/templates using a full path structure
matching source.

Any statement contained inside {{ and }} are Gitea's template syntax and
shouldn't be touched without fully understanding these components.

Customizing startpage / homepage

Copy home.tmpl for your version of Gitea from templates to custom/templates.
Edit as you wish.
Dont forget to restart your gitea to apply the changes.

If all you want is to add extra links to the top navigation bar or footer, or extra tabs to the repository view, you can put them in extra_links.tmpl (links added to the navbar), extra_links_footer.tmpl (links added to the left side of footer), and extra_tabs.tmpl inside your custom/templates/custom/ directory.

For instance, let's say you are in Germany and must add the famously legally-required "Impressum"/about page, listing who is responsible for the site's content:
just place it under your "custom/public/" directory (for instance custom/public/impressum.html) and put a link to it in either custom/templates/custom/extra_links.tmpl or custom/templates/custom/extra_links_footer.tmpl.

To match the current style, the link should have the class name "item", and you can use {{AppSubUrl}} to get the base URL:
<a class="item" href="{{AppSubUrl}}/impressum.html">Impressum</a>

For more information, see Adding Legal Pages.

You can add new tabs in the same way, putting them in extra_tabs.tmpl.
The exact HTML needed to match the style of other tabs is in the file
templates/repo/header.tmpl
(source in GitHub)

Other additions to the page

Apart from extra_links.tmpl and extra_tabs.tmpl, there are other useful templates you can put in your custom/templates/custom/ directory:

  • header.tmpl, just before the end of the <head> tag where you can add custom CSS files for instance.
  • body_outer_pre.tmpl, right after the start of <body>.
  • body_inner_pre.tmpl, before the top navigation bar, but already inside the main container <div class="full height">.
  • body_inner_post.tmpl, before the end of the main container.
  • body_outer_post.tmpl, before the bottom <footer> element.
  • footer.tmpl, right before the end of the <body> tag, a good place for additional Javascript.

Customizing Gitea mails

The custom/templates/mail folder allows changing the body of every mail of Gitea.
Templates to override can be found in the
templates/mail
directory of Gitea source.
Override by making a copy of the file under custom/templates/mail using a
full path structure matching source.

Any statement contained inside {{ and }} are Gitea's template
syntax and shouldn't be touched without fully understanding these components.

Adding Analytics to Gitea

Google Analytics, Matomo (previously Piwik), and other analytics services can be added to Gitea. To add the tracking code, refer to the Other additions to the page section of this document, and add the JavaScript to the custom/templates/custom/header.tmpl file.

Customizing gitignores, labels, licenses, locales, and readmes.

Place custom files in corresponding sub-folder under custom/options.

NOTE: The files should not have a file extension, e.g. Labels rather than Labels.txt

gitignores

To add custom .gitignore, add a file with existing .gitignore rules in it to custom/options/gitignore

Labels

To add a custom label set, add a file that follows the label format to custom/options/label
#hex-color label name ; label description

Licenses

To add a custom license, add a file with the license text to custom/options/license

Locales

Locales are managed via our crowdin.
You can override a locale by placing an altered locale file in custom/options/locale.
Gitea's default locale files can be found in the options/locale source folder and these should be used as examples for your changes.

To add a completely new locale, as well as placing the file in the above location, you will need to add the new lang and name to the [i18n] section in your app.ini. Keep in mind that Gitea will use those settings as overrides, so if you want to keep the other languages as well you will need to copy/paste the default values and add your own to them.

[i18n]
LANGS = en-US,foo-BAR
NAMES = English,FooBar

Locales may change between versions, so keeping track of your customized locales is highly encouraged.

Readmes

To add a custom Readme, add a markdown formatted file (without an .md extension) to custom/options/readme

Reactions

To change reaction emoji's you can set allowed reactions at app.ini

[ui]
REACTIONS = +1, -1, laugh, confused, heart, hooray, eyes

A full list of supported emoji's is at emoji list

Customizing the look of Gitea

As of version 1.6.0 Gitea has built-in themes. The two built-in themes are, the default theme gitea, and a dark theme arc-green. To change the look of your Gitea install change the value of DEFAULT_THEME in the ui section of app.ini to another one of the available options.
As of version 1.8.0 Gitea also has per-user themes. The list of themes a user can choose from can be configured with the THEMES value in the ui section of app.ini (defaults to gitea and arc-green, light and dark respectively)