gitea-github-theme/README.md

110 lines
3.7 KiB
Markdown

# gitea-github-theme
**Opinionated** GitHub-based light and dark themes for Gitea including an automatic theme switch option.
Tested with Gitea v1.20.
Older Gitea versions can use previous releases from this repo.
I might update the theme over time to fix oversights and other issues - no guarantee though.
## Installation
1. If you do not have admin access to a Gitea instance, you can use the [Stylus](https://chrome.google.com/webstore/detail/stylus/clngdbkpkpeebahjckkjfobafhncgmne/related) browser extension and use the CSS provided in this repo for the Gitea URL
2. If you are an admin and want to make this theme available to all users:
1. Put `theme-github.css` into `$GITEA_PUBLIC/public/assets/css/theme-github.css` where `$GITEA_PUBLIC` is the "CustomPath" of your instance reported by `gitea help`.
2. Add `github` to the comma-separated list in the setting `THEMES` in `app.ini`
3. Now users can select this theme in their settings under "account"
4. (optional) If you want to make this theme the default of your instance, set it in `DEFAULT_THEME` in `app.ini`
## Using automatic theme switching based on system preference
To use automatic theme switching, add `theme-github-auto.css` into your respective `themes` folder as described above.
This file contains both light and dark styles and selects the respective one based on the system preference selected by the user via the `@media (prefers-color-scheme:` CSS selector (tested on macOS).
For some reasons using `@imports` does not work and hence the file contains the c/p content of both the light and dark themes together.
If this is somehow possible and I did not managed to get it configured, please let me know!
## Changes to default Gitea theme
- Aligned primary green, grey, red and blue colors with GitHub
- Aligned `border-radius` with GitHub
- Related theme by removing a lot of hover colors and dominant button background-colors
- Aligned markup background to GitHub's value
- Decreased navbar height and font size
- Many small overrides of colors and font-sizes
## Helm chart instructions
To use custom themes with the [Gitea helm chart](https://gitea.com/gitea/helm-chart):
1. Configure the [http](https://registry.terraform.io/providers/hashicorp/http/latest/docs/data-sources/http) provider
2. Create a secret containing the CSS files (here's an example via `terraform`, plain k8s secrets will also work)
```hcl
resource "kubernetes_secret" "gitea-themes" {
metadata {
name = "gitea-themes"
namespace = "gitea"
}
data = {
"theme-github.css" = data.http.gitea-theme-light.body
"theme-github-dark.css" = data.http.gitea-theme-dark.body
"theme-github-auto.css" = data.http.gitea-theme-auto.body
}
type = "Opaque"
}
data "http" "gitea-theme-light" {
url = "https://codeberg.org/pat-s/gitea-github-theme/raw/branch/main/theme-github.css"
request_headers = {
Accept = "application/json"
}
}
data "http" "gitea-theme-dark" {
url = "https://codeberg.org/pat-s/gitea-github-theme/raw/branch/main/theme-github-dark.css"
request_headers = {
Accept = "application/json"
}
}
data "http" "gitea-theme-auto" {
url = "https://codeberg.org/pat-s/gitea-github-theme/raw/branch/main/theme-github-auto.css"
request_headers = {
Accept = "application/json"
}
}
```
3. Mount the secret via `extraVolumes` in `values.yaml`:
```yml
extraVolumes:
- name: gitea-themes
secret:
secretName: gitea-themes
```
4. Add the theme options into the config in `values.yaml`:
```yml
gitea:
config:
ui:
DEFAULT_THEME: github-auto
THEMES: auto,gitea,arc-green,github,github-dark,github-auto
```
## Screenshots
![](figs/screenshot1.png)
![](figs/screenshot-dark1.png)