Override HTML templates
You can override HTML templates (including templates for emails) by creating a customized version under
custom/templates/ directory. Your version of HTML templates will survive code updates, but you may want to keep tabs on them in case functionality changes. Be careful when overriding HTML templates as you may break things in future releases.
An example is to customize the look and contents of the home page:
- Copy the content of template file
- Save edited file as
[server] LOAD_ASSETS_FROM_DISK = true
Override static files
custom/public/ directory. Your version of static files will survive code updates, but you may want to keep tabs on them in case functionality changes. Be careful when overriding static files as you may break things in future releases.
For example, you can override the site favicon by putting your version of favicon to
Inject content into existing templates
You can inject your custom head or footer content to Gogs without touching source code of main repository. This is useful if you want to add analytics code or include custom static resources.
This approach is recommended whenever possible because it has the minimum impact on templates.
Inject custom CSS file
Here is an example of how you can include a custom CSS file in your Gogs instance. Names and directories are just for demonstration, you can put it anywhere as long as it can be accessed via network requests.
- Create a file named
- Put some CSS rules into the file.
- Edit file
custom/templates/inject/head.tmpland add a line
<link rel="stylesheet" href="/css/custom.css">
- Restart Gogs.
- Future edits to the custom CSS file DO NOT require restarting Gogs.