From 31bfb80c03287ab527eca7a72a2bbb029e2a43ab Mon Sep 17 00:00:00 2001 From: Caesar Schinas Date: Sat, 17 Dec 2022 00:20:38 -1000 Subject: [PATCH 01/26] [BRANDING] add Forgejo logo (cherry picked from commit f42622c7d5a28859f535e0d86ece06101baad1ef) (cherry picked from commit a39e7f2a79f6527d45439f21bd88378264160c3a) (cherry picked from commit afa2a31bb99c0fd9cd25c3c0279e6c49695b1900) (cherry picked from commit 276e8856e594ad7e73414382d34fdf0278cbca6a) (cherry picked from commit 68e3bd469f2e8190db70d4e1564fb46d01feb5f4) (cherry picked from commit af124b9ccbb0b699ea5d1bf1530613cb9a96f205) (cherry picked from commit b89ab4874d403c784c92e579f4f6a854621c0078) (cherry picked from commit 0f2a2f0d0ff9851428d6899e307f3547d7651f87) (cherry picked from commit 80999363c73e4e01cbf9116491743c87baa952af) (cherry picked from commit f8880b5463aa1db047d89080d21e7a69979eb4a6) (cherry picked from commit 5f4cf4f6e143237c81da3e80875727cef4b76343) (cherry picked from commit b38e26bc1a8bb117f571672961a8445cfc02c953) (cherry picked from commit d839e0033244b63df16c8b548cc52106fc693629) (cherry picked from commit 32ffe2e4f12c16a44a759c906078d40731c1a0c7) (cherry picked from commit f1fd0504add78ae3fb5c710ab5a9ada20321afac) (cherry picked from commit 6d77ea4d60a193d9d4175c4943b34077228e5964) (cherry picked from commit 61a0a4a276303c3fd56f93fd109e3416cfdf7c60) (cherry picked from commit a90b4126fdd55feef43f45d1dc3e3400806a476b) (cherry picked from commit 9a20538fb4e88682e213a20813b77cc0f602fbfd) (cherry picked from commit ce0fc02f0fbaa45b146fed175ce68bd02c507f3e) (cherry picked from commit 541f7cb026f976d078ecb6da3a6c9e13cc4336f2) (cherry picked from commit d6d0c2ab78a14d7aac8d7b6b0d007149de2f7295) (cherry picked from commit 2c28f5ad2496cf30eb15d6caf9171b79e5017141) (cherry picked from commit 9571bddb3308e3c1f0383e60f972ca61a0a467b7) (cherry picked from commit c83ba08d01f149ecd52d983eec76bd60822c1ddd) (cherry picked from commit 30e7d567ede79c015d0d115d9a2d535e6c681cb9) (cherry picked from commit a8b8c3eba75511449dc97fa27b37db1076ce95f0) (cherry picked from commit 8e053e1ade4710ade3b6e4bc6aa04fe9281243d7) (cherry picked from commit 9e3b0f7520a56e5eb22cd0e33e231ea9063f0e1f) (cherry picked from commit 2343b9bd09cda3e474b36842fae419f9fe32b134) (cherry picked from commit 56572d4156050c2beb62f63a871375fdc2424271) (cherry picked from commit 9b09eda1680282f8114f752e52afd544ef30350c) (cherry picked from commit 86a8b7b4904158ea80d259d7a1846528a9b3c403) (cherry picked from commit 99a550c0e3de3bd8d17a610b849da0c04f776dbd) (cherry picked from commit bdcf3f51e07c9f5f067fca7501ad69c42f925197) (cherry picked from commit cec8f2d31e1cd9237120ee57af80b17e4abf026e) (cherry picked from commit 25aa22ba2b8b8bdb215c14002ebc137e2e70cad4) (cherry picked from commit 31510249a01fad40cc001277f5bcbe57248b0330) (cherry picked from commit 95dc569227ac57c2efe7817edb6749fcead0ec24) (cherry picked from commit f6caf5f1b9f8f560fcfef29247525c018976dcde) (cherry picked from commit aba34fbf70dce183907083593cab7716597575a3) (cherry picked from commit 41b816fdac30cfca311d5c24c155301de5d08a40) (cherry picked from commit c98e79b89f5a12b50b6eb1ff1d0afc2cbd756ca3) (cherry picked from commit d33d4f193cd79493e3d206e0c73395aea5bd305c) (cherry picked from commit 4e5bb41cbe9823f8c198a54b56f0ee66b9cf8bf8) (cherry picked from commit 3aa8ddb8cb4cb836b98c465342b106d027868606) (cherry picked from commit e8057040bb751d1bdcb0e7412495da353189a02f) (cherry picked from commit f3bf61e51e8c44ac098dca03532507bae5b65fc1) (cherry picked from commit e9d08aad76cc38a81e9489871e1116819f84052e) --- README.md | 2 +- assets/favicon.svg | 56 ++++++++++++------------- assets/logo.svg | 56 ++++++++++++------------- public/assets/img/apple-touch-icon.png | Bin 3162 -> 2709 bytes public/assets/img/avatar_default.png | Bin 4889 -> 3189 bytes public/assets/img/favicon.png | Bin 4351 -> 2968 bytes public/assets/img/favicon.svg | 2 +- public/assets/img/forgejo.svg | 1 + public/assets/img/gitea-original.svg | 1 + public/assets/img/gitea.svg | 2 +- public/assets/img/logo.png | Bin 14354 -> 6747 bytes public/assets/img/logo.svg | 2 +- 12 files changed, 58 insertions(+), 64 deletions(-) create mode 100644 public/assets/img/forgejo.svg create mode 100644 public/assets/img/gitea-original.svg diff --git a/README.md b/README.md index e223979d42..2c0a3ef3ea 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@
- +

Welcome to Forgejo

diff --git a/assets/favicon.svg b/assets/favicon.svg index 9df6b83b56..bcacdc0200 100644 --- a/assets/favicon.svg +++ b/assets/favicon.svg @@ -1,31 +1,27 @@ - - - - - - - - - - - + + + + + + + + + diff --git a/assets/logo.svg b/assets/logo.svg index 9df6b83b56..bcacdc0200 100644 --- a/assets/logo.svg +++ b/assets/logo.svg @@ -1,31 +1,27 @@ - - - - - - - - - - - + + + + + + + + + diff --git a/public/assets/img/apple-touch-icon.png b/public/assets/img/apple-touch-icon.png index 0c803d35dc34c01281a52c460cee9e65e29ad60f..1f6c1544f80bcd94adfa05ef4683537266de020c 100644 GIT binary patch delta 2702 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 diff --git a/public/assets/img/avatar_default.png b/public/assets/img/avatar_default.png index 129967112d13ef602f6ec42f28b264c4666be2e0..f335e51dad13df7ceb19701a71f8efe192173286 100644 GIT binary patch literal 3189 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 diff --git a/public/assets/img/favicon.png b/public/assets/img/favicon.png index dcd4edb1a30bf93049fd24c31317e3344e08d95b..eda0347effabb1b681c3816cfd3580b82227c063 100644 GIT binary patch literal 2968 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 diff --git a/public/assets/img/favicon.svg b/public/assets/img/favicon.svg index afeeacb77c..804b05e284 100644 --- a/public/assets/img/favicon.svg +++ b/public/assets/img/favicon.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/public/assets/img/forgejo.svg b/public/assets/img/forgejo.svg new file mode 100644 index 0000000000..804b05e284 --- /dev/null +++ b/public/assets/img/forgejo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/img/gitea-original.svg b/public/assets/img/gitea-original.svg new file mode 100644 index 0000000000..dca9b4f4db --- /dev/null +++ b/public/assets/img/gitea-original.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/img/gitea.svg b/public/assets/img/gitea.svg index dca9b4f4db..804b05e284 100644 --- a/public/assets/img/gitea.svg +++ b/public/assets/img/gitea.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/public/assets/img/logo.png b/public/assets/img/logo.png index c7971f91835e889ed15a0e5252734400c5c65cae..1b2d9b4023427395448912e39a9883c279dc1618 100644 GIT binary patch literal 6747 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 literal 14354 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 aFyzSH&MYj4=hGek4$4X?Nmhy*ef>Wah!K+j diff --git a/public/assets/img/logo.svg b/public/assets/img/logo.svg index afeeacb77c..804b05e284 100644 --- a/public/assets/img/logo.svg +++ b/public/assets/img/logo.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 674c5798792759613bf5cff6a053ab16bf1fcb83 Mon Sep 17 00:00:00 2001 From: Gusted Date: Sun, 18 Dec 2022 19:03:34 +0000 Subject: [PATCH 02/26] [BRANDING] Rebrand systemd service (#137) - We can rebrand this quite safely, as only new installations would likely look into this file and configure the correct folders(to use forgejo instead of gitea). Co-authored-by: Gusted Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/137 (cherry picked from commit fa78e52b5d25556b4a4313c4ac78edf6306c5bbe) (cherry picked from commit e36d649989a69a1761c3d7cc709f97f80c8d378a) (cherry picked from commit 37e15a2f4108c4b7e082a69fb8cb77068fa6dc15) (cherry picked from commit a09a4b3ce0b6f63ac44bf4ea0f4ba275a9915598) (cherry picked from commit 3096b37c950db77296f22d16d64efe3737246a4b) (cherry picked from commit 187ad96c94b7fbc261c88a4ff513066acc562642) (cherry picked from commit e15eb31c6e6310d14175cc270707d7cbfb95b819) (cherry picked from commit e276abe3410cef5fe63bf05c6f089ed4a3da49dc) (cherry picked from commit 31223db5e3290ccf67a504db1937e5adb903b204) (cherry picked from commit 8ebffe0b71db27b40f2049ca77878748e6756ec1) (cherry picked from commit 1d198363469814584c50e4717a7f96cafb06aa46) (cherry picked from commit baaf749ce07f978466d6c397c1ed6bb6a1c75330) Conflicts: contrib/systemd/forgejo.service (cherry picked from commit c309b1a1f4fa2942218352a6ec3edbf39efb9a11) (cherry picked from commit d6f57409dacf2645cd19bcd8a79219a9a8c1bffe) (cherry picked from commit c6e665b0380f1d70c8c378b65c369a85eab9664c) (cherry picked from commit 8764e26c434ec8027acaaabdf65e3122e5965178) (cherry picked from commit a0560e454b4d5d7dac357a95dbaeb2b187a173ff) (cherry picked from commit e074e83094866421f94cb3cef912794a31b88c82) (cherry picked from commit 605b84bc779d41deac03595c8ddb7fa12b2b24e8) (cherry picked from commit 35b233202058e219dec5acfc72ff0d7085a41318) (cherry picked from commit b9c396f29566ec064a7c4031d4f766a25594eba4) (cherry picked from commit 83a7e91bad1d99092c8c553ce740c65256901abb) (cherry picked from commit 3794ad271a40bb4212cb14e24a6100b539d3a776) (cherry picked from commit 818451287d166658f6ce18892a6ed9811324aa67) (cherry picked from commit ec9bc9e6417fd7df3e636c231fb80a3442972542) (cherry picked from commit 8434efaed8637351f6fe53c01dd4fb3edf09fce1) (cherry picked from commit 3b1a4b7f389e7548f94d2d1b742de086aa77bfc6) (cherry picked from commit c186b5a3e51c24f795967dc4811d89ed0b841b24) (cherry picked from commit e35d92de1f37bea0a593093678f093845955e3fc) (cherry picked from commit c8bb51718360d1e90716c5c6253c55a6d7817a7e) (cherry picked from commit 9ac843d662122c5585a53a1aa9df1662adecb41f) (cherry picked from commit 86c723ca0a1b68ee204188cc45977d78ab7d8c7c) (cherry picked from commit c662da2a84e2266e571cea91cdedcf1a9906cd1a) (cherry picked from commit 6f9390ed438fbae94698f56be1f98a63c88241c1) (cherry picked from commit 684f80f7cebce8d0942ca892557d1890a19c8d4f) (cherry picked from commit 0e28b2a57fd88d8e2df245cc4740b56e72fed9c9) (cherry picked from commit ded78839e42f5ef92ec685fe8e81ddf4e0839d32) (cherry picked from commit 33720ba9554cdae8e6f0d7891145b81eb105c3b3) (cherry picked from commit b39b88fd01deb34b40c489f393d67873fb5d758f) (cherry picked from commit 666ae3c7b21f69877c8c7fe7b17a188a5068aa04) (cherry picked from commit ac968a29b3e5a3c346e77271b80a4aa3664bec12) (cherry picked from commit 72d83381f366e63bf66066119c7a668558d75739) (cherry picked from commit bb73be008bc73d6e1b16cd6c62f0b287ff8ed204) (cherry picked from commit 8c38bbe481b2f0ccd0c5185f6ffaa02b8b6993b2) (cherry picked from commit 9e4ff9a3dfd0420e8f7ad9cd3dbbd5144fa55aac) Conflicts: contrib/systemd/forgejo.service https://codeberg.org/forgejo/forgejo/pulls/2116 (cherry picked from commit 3a878dbefee46b1dd7ef96418c2e585a169cade1) (cherry picked from commit 63d014f13ccdb9a9bd547a1f02f07845a1fcb6a8) (cherry picked from commit d231e454a57d5d0e6fdb0a6075172292a6770905) (cherry picked from commit 0996e3a9c97ea858a9238a5f42cd2ea3da7c5ebe) --- .../{gitea.service => forgejo.service} | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) rename contrib/systemd/{gitea.service => forgejo.service} (59%) diff --git a/contrib/systemd/gitea.service b/contrib/systemd/forgejo.service similarity index 59% rename from contrib/systemd/gitea.service rename to contrib/systemd/forgejo.service index d205c6ee8b..04ef69adc0 100644 --- a/contrib/systemd/gitea.service +++ b/contrib/systemd/forgejo.service @@ -1,5 +1,5 @@ [Unit] -Description=Gitea (Git with a cup of tea) +Description=Forgejo (Beyond coding. We forge.) After=syslog.target After=network.target ### @@ -25,21 +25,21 @@ After=network.target # If using socket activation for main http/s ### # -#After=gitea.main.socket -#Requires=gitea.main.socket +#After=forgejo.main.socket +#Requires=forgejo.main.socket # ### -# (You can also provide gitea an http fallback and/or ssh socket too) +# (You can also provide forgejo an http fallback and/or ssh socket too) # -# An example of /etc/systemd/system/gitea.main.socket +# An example of /etc/systemd/system/forgejo.main.socket ### ## ## [Unit] -## Description=Gitea Web Socket -## PartOf=gitea.service +## Description=Forgejo Web Socket +## PartOf=forgejo.service ## ## [Socket] -## Service=gitea.service +## Service=forgejo.service ## ListenStream= ## NoDelay=true ## @@ -55,28 +55,28 @@ RestartSec=2s Type=simple User=git Group=git -WorkingDirectory=/var/lib/gitea/ -# If using Unix socket: tells systemd to create the /run/gitea folder, which will contain the gitea.sock file -# (manually creating /run/gitea doesn't work, because it would not persist across reboots) -#RuntimeDirectory=gitea -ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini +WorkingDirectory=/var/lib/forgejo/ +# If using Unix socket: tells systemd to create the /run/forgejo folder, which will contain the forgejo.sock file +# (manually creating /run/forgejo doesn't work, because it would not persist across reboots) +#RuntimeDirectory=forgejo +ExecStart=/usr/local/bin/forgejo web --config /etc/forgejo/app.ini Restart=always -Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea +Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/forgejo # If you install Git to directory prefix other than default PATH (which happens # for example if you install other versions of Git side-to-side with # distribution version), uncomment below line and add that prefix to PATH # Don't forget to place git-lfs binary on the PATH below if you want to enable # Git LFS support #Environment=PATH=/path/to/git/bin:/bin:/sbin:/usr/bin:/usr/sbin -# If you want to bind Gitea to a port below 1024, uncomment -# the two values below, or use socket activation to pass Gitea its ports as above +# If you want to bind Forgejo to a port below 1024, uncomment +# the two values below, or use socket activation to pass Forgejo its ports as above ### #CapabilityBoundingSet=CAP_NET_BIND_SERVICE #AmbientCapabilities=CAP_NET_BIND_SERVICE ### # In some cases, when using CapabilityBoundingSet and AmbientCapabilities option, you may want to -# set the following value to false to allow capabilities to be applied on gitea process. The following -# value if set to true sandboxes gitea service and prevent any processes from running with privileges +# set the following value to false to allow capabilities to be applied on Forgejo process. The following +# value if set to true sandboxes Forgejo service and prevent any processes from running with privileges # in the host user namespace. ### #PrivateUsers=false From f9638e435bedd804df6987465c7a75a3bf01d429 Mon Sep 17 00:00:00 2001 From: Caesar Schinas Date: Sun, 18 Dec 2022 23:03:28 -1000 Subject: [PATCH 03/26] [BRANDING] Rebrand footer "powered by" links (cherry picked from commit 8b9237e47e067db4cb8b1d477865d75b258bee1e) (cherry picked from commit 47e5543f33a9dafac5517cb5cb29d0fe6d266e2a) (cherry picked from commit 456abff8c0567168b1a6c0d02d6830404d1b0dd3) (cherry picked from commit 2d2588187ec20cb2f552cd3ee2b04a541909dc5c) (cherry picked from commit a81e4e2588af2d1e9db253ca51649451d8dd94cf) (cherry picked from commit 70c4ee8fbad69efcc02493ab8e1c692573ac0409) (cherry picked from commit f12b0577e89ae223dc239c7ace5c692d30cd0e9b) (cherry picked from commit 025e6e1974c8066c27e918020a6094fc8372f521) (cherry picked from commit e051684c83e369177d22a77bff46e82998495267) (cherry picked from commit ee370f3f3cf5ec81e170fc16c8ef982b47c99797) (cherry picked from commit a1b53a8b883559a31b16a15a383ac5fe25a62189) (cherry picked from commit e01158af9b037cff4248b0b577505023c9564b7e) (cherry picked from commit c9f6b6c8a18b39e804e8464dfc80178af3efdada) (cherry picked from commit 6abaa468d5cc1ae7f59b9026f4221b15911f3ba1) (cherry picked from commit d039148bc83d6957435f2d3fd00b5f18c9af99e2) (cherry picked from commit d3aadcac8bf4e136bb16e86702831cbcb6e6692f) (cherry picked from commit e739f46aaef7d162bf42f152b665349e25aadc1b) (cherry picked from commit 228671e72353a1366488cd28406478ee866f823f) (cherry picked from commit 8965f9bdf248dfb80b80269d565ff17e8437a411) (cherry picked from commit 5e97896da347dcfb592eb0bcef172652f43fed90) (cherry picked from commit df8bdce12a1ef0d4578fca2b55d30c9f981feabb) (cherry picked from commit 33ecf86e423c4481cb34de4a2c6d743602631891) (cherry picked from commit 038ac822db5be6ad65f09050bb60cb0f2afffe66) (cherry picked from commit 6decbafd3a3d53f9dc9ae58da302968b31aca32a) (cherry picked from commit ad2b719be5629bf4ed544666a294a2f5c040da92) (cherry picked from commit d9b2f11a7b778b71f06f0256ccba188dee445f79) (cherry picked from commit 102033346275114f8de5f682749bda125c15a769) (cherry picked from commit c1279c7d45fe91cae6e88c143280601e9b866bee) (cherry picked from commit a0dfccbba42b498aa4024956eedcb3de12ed2db5) Conflicts: templates/base/footer_content.tmpl https://codeberg.org/forgejo/forgejo/pulls/1420 (cherry picked from commit 9651bcf9c6c81451b6e2fdb736f3f6c1e133afe1) (cherry picked from commit 73cd49d3e52de053e852599efdc677dca04a94fb) (cherry picked from commit c4778ed2ec654001b3d579c73fa2dc791d87bf34) (cherry picked from commit ca0bd91ab75371fbbd1c5b871bafd163221ae182) (cherry picked from commit e3720f5b138d423322c925d6b74bf3e62858239b) (cherry picked from commit 6ec65da832edf8aed99e216a6dde07d477f5076f) (cherry picked from commit 157cf1d92943b72ff7ab1df8b7293696f957924e) (cherry picked from commit 1956c751b02fe9c9bf08bd9de88e412397f788d1) (cherry picked from commit dae4f61afa240d1a391a47236330f99cafabd754) (cherry picked from commit 65b13516e088640a5c4318945e0a03b0f3e7ccd7) (cherry picked from commit eab31d418a38c04b2003d43c3ce7430bff03c484) (cherry picked from commit 53811a64555e7e23f5bc3590d9c1292acde8cb51) (cherry picked from commit cd201222d7315a29b960b74a72924998f6510ee9) (cherry picked from commit 01d522eba592b3e6beffbe29c49399f3feff1cc5) (cherry picked from commit f319eabc923238c72c2bb65fd1a261cdb646acf1) (cherry picked from commit ef85ae5aff733823c0daa238b5ffa646589745d8) (cherry picked from commit 5c259c00180c6a3f6378b48c2e70c34604eb6d7a) (cherry picked from commit 08edee9ed1baccde69edec604cf7a36bdde903e1) (cherry picked from commit b08d13df89aaca49296a29e5d95660adea652260) (cherry picked from commit b1d0fedc76799284c26d6113798803330580dde5) --- templates/base/footer_content.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/base/footer_content.tmpl b/templates/base/footer_content.tmpl index f0a7865602..75b7845310 100644 --- a/templates/base/footer_content.tmpl +++ b/templates/base/footer_content.tmpl @@ -1,6 +1,6 @@
- + {{template "base/footer" .}} diff --git a/templates/post-install.tmpl b/templates/post-install.tmpl index fb234008fb..0dbfbdc318 100644 --- a/templates/post-install.tmpl +++ b/templates/post-install.tmpl @@ -7,7 +7,7 @@
- {{ctx.Locale.Tr + {{ctx.Locale.Tr
diff --git a/templates/repo/migrate/migrating.tmpl b/templates/repo/migrate/migrating.tmpl index 71146fffd2..ae168c07e6 100644 --- a/templates/repo/migrate/migrating.tmpl +++ b/templates/repo/migrate/migrating.tmpl @@ -9,12 +9,12 @@
- +
- + {{svg "octicon-git-pull-request-closed" 256 "ui red icon"}}
From 1a673c0ff698bfbed44faa3ff7d07e75156d3baf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Dachary?= Date: Sun, 25 Dec 2022 16:25:25 +0100 Subject: [PATCH 07/26] [BRANDING] container images: set APP_NAME (cherry picked from commit 12d7bc447edb272327200389c73bb04bb5fccc14) (cherry picked from commit 1335b17fc35b8b873b94435fddcc23c5cdf0117e) (cherry picked from commit 0d7da06c47ac3a7278602871b95234f823e11f1d) (cherry picked from commit 095c1ab679bce39dbaa89e8a86eaeab8a9b823ad) (cherry picked from commit 2220f00d09e2692d10e0d07f1e8ae2232a636a7d) (cherry picked from commit f0be8bbdbfb758fd13f2f9325358ad292f6c030c) (cherry picked from commit 15188180a15adb58bbde418018612561b68b6927) (cherry picked from commit 96c471d7d36a24824835b254bf785689f898d715) (cherry picked from commit 709052f1e79bbb0ee417f8001c9c0dbd03e78791) (cherry picked from commit 98cd2f5deee05ae9be67250c85fc17e31eaaf28a) (cherry picked from commit a1014654b13e338eaf35cd96d6115fe88459480f) (cherry picked from commit a16f4dc51dce3f9d22cf899186fc61931a82f35e) (cherry picked from commit abbed33d1699daa99620acdec5322846f562cb8d) (cherry picked from commit 4871447def0794027227280059bdfa29cacc0a23) (cherry picked from commit ea1218b237017fa3ca3e5204afd56a18e8336650) (cherry picked from commit 6dd67d60de567e70a36524db940b8e88420251c0) (cherry picked from commit 71761f04afff6d1552c5604fcf7f9b5a27cf01ba) (cherry picked from commit 7cb28a3a06b1b665a6ac9d2687c79ef5ceed0dba) (cherry picked from commit d116336cb5a2df68260fbec42b606fa35c27ba30) (cherry picked from commit 4138a698b2744f504cc6e3590ab8b14753cb719d) (cherry picked from commit 38c572bc1928fc138503a88b66aa8e6d1c06aa6e) (cherry picked from commit 94c759b47f93dde23473d45eff2309dce5055d8a) (cherry picked from commit e1f52bf1d5087df6c7905afc08a7cbada6854f7f) (cherry picked from commit 8bc7000cfa7d0caa87f99c07543f36925fbe984b) (cherry picked from commit fa60007c3464a8d7fc278df1f6d51fb40c6ed130) (cherry picked from commit 0328db39c9a9359046aea0a422002a3072509345) (cherry picked from commit d028010b64e9d12dc3698fadd8b6f017ea2762ef) (cherry picked from commit 0283c920f01e8ec599613f8e28fa39157f698e4c) (cherry picked from commit f5bdf3e11f93c508d03ce38d66550aadeb41abdd) (cherry picked from commit e3beb523007fe87951a4e901596aaef965de0771) (cherry picked from commit a63d5afc91a5c7f29969c5ed722c6718c1452e6d) (cherry picked from commit 7d43e1a828139d20b5baafe1df706e11ed4d83a8) (cherry picked from commit a551fbd0fa00231a886c101d5fe438b184c01b93) (cherry picked from commit cdff0ddbb67237638d60ed5a6180670813ce24d0) (cherry picked from commit f2462ab1d0d0bf70c9d6cec4408bb6f9a05a6019) (cherry picked from commit 7231dcc0a7a16b8f1dc6a5a67e589cdf9ee310ed) (cherry picked from commit 1cbe55f8329f5ec70aaef39d6c66551f555e0b96) (cherry picked from commit 483d9534989bb6abdc65d87eed1f4806ea78f6eb) (cherry picked from commit e0b863d2e9b983c77a63199a14c50e1724688c1e) (cherry picked from commit 34dc719b4d55e87832f7dd38152d8503a9438ec0) (cherry picked from commit 200f1ddec3129f8722265531817bf4489ef02f6e) (cherry picked from commit 892435f00f6b22fa41bc572d58e1f3168677d3d2) (cherry picked from commit 188d1d387a933812a88e58241ac8fe3ceb1a1d36) (cherry picked from commit 8589533bfebf21233ca91a4b90d41532e34efad2) (cherry picked from commit 8e7e83ffe59044e67f954f20bce3a5be901e7777) (cherry picked from commit 4f86171d68d6a363d7c813cd8eb439ed656d3c6d) (cherry picked from commit ece61fd4f649e48e14811ffc2e20deae487244b8) (cherry picked from commit ff34eb0023be8e07e37cf63787bfc7187f9da3a6) (cherry picked from commit 845b0ecc8cbea1a7985b7623c92237f1bbf5710c) --- docker/root/etc/s6/gitea/setup | 2 +- docker/rootless/usr/local/bin/docker-setup.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/root/etc/s6/gitea/setup b/docker/root/etc/s6/gitea/setup index b801ef4e03..f8d76273c7 100755 --- a/docker/root/etc/s6/gitea/setup +++ b/docker/root/etc/s6/gitea/setup @@ -32,7 +32,7 @@ if [ ! -f ${GITEA_CUSTOM}/conf/app.ini ]; then fi # Substitute the environment variables in the template - APP_NAME=${APP_NAME:-"Gitea: Git with a cup of tea"} \ + APP_NAME=${APP_NAME:-"Forgejo: Beyond coding. We forge."} \ RUN_MODE=${RUN_MODE:-"prod"} \ DOMAIN=${DOMAIN:-"localhost"} \ SSH_DOMAIN=${SSH_DOMAIN:-"localhost"} \ diff --git a/docker/rootless/usr/local/bin/docker-setup.sh b/docker/rootless/usr/local/bin/docker-setup.sh index feab02a379..b480685863 100755 --- a/docker/rootless/usr/local/bin/docker-setup.sh +++ b/docker/rootless/usr/local/bin/docker-setup.sh @@ -26,7 +26,7 @@ if [ ! -f ${GITEA_APP_INI} ]; then fi # Substitute the environment variables in the template - APP_NAME=${APP_NAME:-"Gitea: Git with a cup of tea"} \ + APP_NAME=${APP_NAME:-"Forgejo: Beyond coding. We forge."} \ RUN_MODE=${RUN_MODE:-"prod"} \ RUN_USER=${USER:-"git"} \ SSH_DOMAIN=${SSH_DOMAIN:-"localhost"} \ From b5976d42438d1a14b567d2cc9707c48068425803 Mon Sep 17 00:00:00 2001 From: Caesar Schinas Date: Sun, 25 Dec 2022 01:44:04 -1000 Subject: [PATCH 08/26] [BRANDING] Add Forgejo light, dark, and auto themes (cherry picked from commit faab0c670e22588bc643d71b650560c2ccca2c8e) (cherry picked from commit b6d59493c7fa0bfa62095abb99c5c5a29bcf1659) (cherry picked from commit 837da0c1f41b40853eb4aebc40af16433cf7a9c2) (cherry picked from commit 71ad245e1d6f7f5b002c1c5e9831e872d157f906) (cherry picked from commit 85a7032f1b1c0d80e3d3960e9d902e9e66e687a5) Conflicts: web_src/css/themes/theme-forgejo-auto.less web_src/css/themes/theme-forgejo-dark.less web_src/css/themes/theme-forgejo-light.less web_src/less/_home.less see https://codeberg.org/forgejo/forgejo/pulls/552 (cherry picked from commit 0c2c131bb06024fca7d5c8ef6a2696d5f6aa4a1b) [BRANDING] Add Forgejo light, dark, and auto themes: fix import Closes: https://codeberg.org/forgejo/forgejo/issues/562 (cherry picked from commit 2b0dc1f80ff18d1c94df74c77a80e3651e7cb2ed) (cherry picked from commit 494ad6a3b7cd3328c835e6c7c76a55a77d47a60d) (cherry picked from commit 6940fc22c4917e86b25cf3c6c2ead9057ae726d4) (cherry picked from commit bd6f00656c457339ef3d08612911594358a15f14) (cherry picked from commit ebb506a1247751b1182348b281089dc00a65c741) (cherry picked from commit 43d72d37811c8b9d00b1d046341401643f66b289) (cherry picked from commit 1a87adca018545f6d2db0dad9e5d7cb59f6a97b8) (cherry picked from commit 0704c410b4e8a0b610e82f6ebe9209fb485ee722) (cherry picked from commit 9039b47c160e7fce2bd75167a0358eb7e7458e2d) (cherry picked from commit e32bb7892481a80156163dbf5063da0c8ead27d4) (cherry picked from commit 053ad84f91f994f96f4d9d037ff37e25b468c424) (cherry picked from commit a35f1b6da7a061a3d0717548d8f4e0972e7bb0ec) (cherry picked from commit 8cb94c01d5bcd453938924ce6c6a6804ce9ec255) [BRANDING] fix invisible label in branch protection settings (cherry picked from commit 23e5d457219a68f49938395b5532231ce4ac0022) (cherry picked from commit f02e4582e51a6a2eba93ddd599b7ea3679388e55) [BRANDING] Fix commit label for Forgejo Dark theme (#843) - Define the `--color-label-text` variable with a light color, which is currently used for commit's SHA Co-authored-by: Gusted Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/843 (cherry picked from commit 74c186a3806e37fcca8087ad79ba7c1f8e0d559e) (cherry picked from commit 7e185c5ca5298fad12fcc78b504d96163e71ad71) [BRANDING] Add Forgejo light, dark, and auto themes (squash) variables Adapt to b6bcb79987ae3c9095fe2b2c7c0a3e4b42cdebba Improve notification icon and navbar Refs: https://codeberg.org/forgejo/forgejo/issues/893 [BRANDING] Add Forgejo light variables Updates the Forgejo light theme with the changes in b6bcb7998 These are the same changes as made in 2574dbcff to the dark theme Refs: forgejo/forgejo#893 (cherry picked from commit 9e99fe4f9ec79aebbf34490e12b0acf3097dd5c7) (cherry picked from commit acbb98bd912fc3a28d464eaef1d756f54fd87e8e) (cherry picked from commit c80245ed87d09067d880d6f91c3edaa35e4346de) [BRANDING] fix code highlight color in Forgejo themes (cherry picked from commit ffc49a4e992162a480d5056e1211fc7496e4aa06) (cherry picked from commit c5f45a941e3dd8882164a88b2653407fedf6dea0) (cherry picked from commit eee5427c9d581b8e2cd254d4a15508200622aef0) (cherry picked from commit 89be50ca27a7ad33f109bbc3549220b37875206a) (cherry picked from commit 74e4776ef504870d9831818ee141b12afd5f46ab) (cherry picked from commit 6c4e07a6a718c375ee2d3975ea7bb01d382d1d90) [BRANDING] more accessible text selection color in Forgejo themes (cherry picked from commit 7407605ffdedef8fa320477a3bd7efa06df263e2) (cherry picked from commit 5aab3872cc5bd267bc16bfbcedef66fd03616488) (cherry picked from commit 1ec77d8bd00bc6914d0926d98d503debe41cc6fd) (cherry picked from commit 964c89fce7bb5b4be06d4cd1cac247426061ec2e) (cherry picked from commit 8a8023a4414e27d28f4503e2d2fb12afc4b7aac6) (cherry picked from commit 1c9ffeadf5ce419d576afc89faff9fdd6c1b5478) [BRANDING] Fix navigation hover color (squash) - For items in the navigation bar, use different background colours for hover. - Regression since https://github.com/go-gitea/gitea/pull/25343 (cherry picked from commit 8f3f4b219c449011a810c6a9f946fe216d841778) (cherry picked from commit edfb0eef06e798009389b12b2c0a417c4c845887) (cherry picked from commit a6367fa48a2d10465b5d00aa6fb3db886f3c238f) (cherry picked from commit d5697abe4257390a687102d0964fee15f9214b73) (cherry picked from commit eaf537091997650d9370457b7eb53205a552d267) (cherry picked from commit 58f11e7310dfec6fc6f195aa36e465c846a431c5) (cherry picked from commit 732e1b35d58e1ac5307b80819bd788ac8dc9b71f) (cherry picked from commit 0d794ae1c91fa926d1ddac5eb7b1bc27a9271793) (cherry picked from commit ccc8aed308253aaf7aa81f49d3a8025cf759cfce) Conflicts: modules/setting/ui.go https://codeberg.org/forgejo/forgejo/pulls/1582 (cherry picked from commit 209059fbaf6d034b1bb34ae7add0be0269de7042) (cherry picked from commit 80ba2df4a733d84fe0c9ad60d3638e465ccfedac) (cherry picked from commit 17b325da23b1896b6acd95c0b149a9ec20813cc1) (cherry picked from commit 3518b87c8de21590700060e5222feccc7c54cb58) (cherry picked from commit 4042143f968cd86a9fd9d84565013fd9f8bd160f) (cherry picked from commit 07f976f9d78a817371c3f72244428e49a167be8b) (cherry picked from commit 1bbc6b93e966b13f077e58b3447605eea60cb67e) (cherry picked from commit 8aa0bba307c45994b69a4790f977e3cdaeb32d70) (cherry picked from commit 94c4a14ac30fe92c13e672538ccfb56d409d2f2f) Update Forgejo theme (squash) - Incorporate changes from 79a4c80f8d81e67371f6ff1f8d55bd003ab01208 into the Forgejo themes. - Fix that there's no focus or active coloring on primary and secondary buttons for Forgejo themes caused by 023e937141dd891bce3370c869d4db2c60f971ed that moved variablse from base.css (shared) to the themes. - Extend hack to make red buttons darker on dark Forgejo theme to include active styling and remove the unnecessary `!important`. (cherry picked from commit 2e32da4419e2cbb6cc7d2cab65b03e14fdb75db6) (cherry picked from commit a4eca09543e52342210596a58fcd68d4177a08d5) (cherry picked from commit e6e452811d8104d6a824aa0e220d80b61dd3c74d) (cherry picked from commit e9a5addf3daf56c1fec8daf0551463d9ac337534) (cherry picked from commit a1b8b5fa0d05c95ccb0a0b54ac6fb13bafaa3d12) [BRANDING] Update forgejo theme - Inlcude a103b79f60948fa8ee44f95304716f3d354a8c15 and 1b2cd4c4e19c78390be329b4a3ad50ff8857ca8d and 376c0e25f74c967242b860a740fb4d509bae7ee9 and 023e937141dd891bce3370c869d4db2c60f971ed into the Forgejo theme. - Fix tooltips not being visual, due to missing background color. - Fix labels not having a background color. - Fix modals not having a dimmed background. - Fix no syntax highlighting on Forgejo light due to missing imports. - Incorporate feedback from https://codeberg.org/forgejo/forgejo/issues/1117 to make the labels stand out less. (cherry picked from commit bc21dc21e1a375160e97eb1d2023d095d9067ef5) (cherry picked from commit 82323c09cc9439e723618e38104d6b705f94aad9) (cherry picked from commit 2da09af28dc91996bd261e008f30bd2b9d0d5a85) (cherry picked from commit 978aeb7cde02738ea245d4d12d21d6376bce58cf) (cherry picked from commit 984c264e19dc9497db67139019bf749591bd8447) (cherry picked from commit 6aa7c8db38627394ad71589e4671554a30d96d39) (cherry picked from commit 4379269a46b8fcd9885dd2ddba574375b46519dd) Conflicts: modules/setting/ui.go https://codeberg.org/forgejo/forgejo/pulls/2116 (cherry picked from commit 9414391ec1e37978615e27d304a12957c9adffb4) (cherry picked from commit 02c9b776e851f5893a6fdbc6e29402be793d8582) (cherry picked from commit 7324b417ce5f7199901b4beb0d715d9b190e7b43) (cherry picked from commit b20aa3ed1742ac1c883bb2d4d155c99140c956e5) --- modules/setting/ui.go | 4 +- web_src/css/home.css | 4 +- web_src/css/themes/theme-forgejo-auto.css | 2 + web_src/css/themes/theme-forgejo-dark.css | 322 +++++++++++++++++++++ web_src/css/themes/theme-forgejo-light.css | 293 +++++++++++++++++++ 5 files changed, 621 insertions(+), 4 deletions(-) create mode 100644 web_src/css/themes/theme-forgejo-auto.css create mode 100644 web_src/css/themes/theme-forgejo-dark.css create mode 100644 web_src/css/themes/theme-forgejo-light.css diff --git a/modules/setting/ui.go b/modules/setting/ui.go index 8021aa1ad6..39b359d7a7 100644 --- a/modules/setting/ui.go +++ b/modules/setting/ui.go @@ -81,8 +81,8 @@ var UI = struct { CodeCommentLines: 4, ReactionMaxUserNum: 10, MaxDisplayFileSize: 8388608, - DefaultTheme: `gitea-auto`, - Themes: []string{`gitea-auto`, `gitea-light`, `gitea-dark`}, + DefaultTheme: `forgejo-auto`, + Themes: []string{`forgejo-auto`, `forgejo-light`, `forgejo-dark`, `gitea-auto`, `gitea-light`, `gitea-dark`}, Reactions: []string{`+1`, `-1`, `laugh`, `hooray`, `confused`, `heart`, `rocket`, `eyes`}, CustomEmojis: []string{`git`, `gitea`, `codeberg`, `gitlab`, `github`, `gogs`, `forgejo`}, CustomEmojisMap: map[string]string{"git": ":git:", "gitea": ":gitea:", "codeberg": ":codeberg:", "gitlab": ":gitlab:", "github": ":github:", "gogs": ":gogs:", "forgejo": ":forgejo:"}, diff --git a/web_src/css/home.css b/web_src/css/home.css index 28992ef31f..22f1a2dc98 100644 --- a/web_src/css/home.css +++ b/web_src/css/home.css @@ -21,7 +21,7 @@ } .home .hero .svg { - color: var(--color-green); + color: var(--color-primary); height: 40px; width: 50px; vertical-align: bottom; @@ -40,7 +40,7 @@ } .home a { - color: var(--color-green); + color: var(--color-primary); } .page-footer { diff --git a/web_src/css/themes/theme-forgejo-auto.css b/web_src/css/themes/theme-forgejo-auto.css new file mode 100644 index 0000000000..ebf59942ea --- /dev/null +++ b/web_src/css/themes/theme-forgejo-auto.css @@ -0,0 +1,2 @@ +@import "theme-forgejo-light.css"; +@import "theme-forgejo-dark.css" (prefers-color-scheme: dark); diff --git a/web_src/css/themes/theme-forgejo-dark.css b/web_src/css/themes/theme-forgejo-dark.css new file mode 100644 index 0000000000..decd3497d7 --- /dev/null +++ b/web_src/css/themes/theme-forgejo-dark.css @@ -0,0 +1,322 @@ +@import "../chroma/dark.css"; +@import "../codemirror/dark.css"; +:root { + --steel-900: #10161D; + --steel-850: #131A21; + --steel-800: #171E26; + --steel-750: #1D262F; + --steel-700: #242D38; + --steel-650: #2B3642; + --steel-600: #374351; + --steel-550: #445161; + --steel-500: #515F70; + --steel-450: #5F6E80; + --steel-400: #6D7D8F; + --steel-350: #7C8C9F; + --steel-300: #8C9CAF; + --steel-250: #9DADC0; + --steel-200: #AEBED0; + --steel-150: #C0CFE0; + --steel-100: #D2E0F0; + --is-dark-theme: true; + --color-primary: #fb923c; + --color-primary-contrast: #000; + --color-primary-dark-1: #fdba74; + --color-primary-dark-2: #fdba74; + --color-primary-dark-3: #fed7aa; + --color-primary-dark-4: #fed7aa; + --color-primary-dark-5: #ffedd5; + --color-primary-dark-6: #ffedd5; + --color-primary-dark-7: #fff7ed; + --color-primary-light-1: #f97316; + --color-primary-light-2: #ea580c; + --color-primary-light-3: #c2410c; + --color-primary-light-4: #9a3412; + --color-primary-light-5: #9a3412; + --color-primary-light-6: #7c2d12; + --color-primary-light-7: #7c2d12; + --color-primary-alpha-10: #ea580c19; + --color-primary-alpha-20: #ea580c33; + --color-primary-alpha-30: #ea580c4b; + --color-primary-alpha-40: #ea580c66; + --color-primary-alpha-50: #ea580c80; + --color-primary-alpha-60: #ea580c99; + --color-primary-alpha-70: #ea580cb3; + --color-primary-alpha-80: #ea580ccc; + --color-primary-alpha-90: #ea580ce1; + --color-primary-hover: var(--color-primary-light-1); + --color-primary-active: var(--color-primary-light-2); + --color-secondary: var(--steel-700); + --color-secondary-dark-1: var(--steel-550); + --color-secondary-dark-2: var(--steel-500); + --color-secondary-dark-3: var(--steel-450); + --color-secondary-dark-4: var(--steel-400); + --color-secondary-dark-5: var(--steel-350); + --color-secondary-dark-6: var(--steel-300); + --color-secondary-dark-7: var(--steel-250); + --color-secondary-dark-8: var(--steel-200); + --color-secondary-dark-9: var(--steel-150); + --color-secondary-dark-10: var(--steel-100); + --color-secondary-dark-11: var(--steel-100); + --color-secondary-dark-12: var(--steel-100); + --color-secondary-dark-13: var(--steel-100); + --color-secondary-light-1: var(--steel-650); + --color-secondary-light-2: var(--steel-700); + --color-secondary-light-3: var(--steel-750); + --color-secondary-light-4: var(--steel-800); + --color-secondary-alpha-10: #2B364219; + --color-secondary-alpha-20: #2B364233; + --color-secondary-alpha-30: #2B36424b; + --color-secondary-alpha-40: #2B364266; + --color-secondary-alpha-50: #2B364280; + --color-secondary-alpha-60: #2B364299; + --color-secondary-alpha-70: #2B3642b3; + --color-secondary-alpha-80: #2B3642cc; + --color-secondary-alpha-90: #2B3642e1; + --color-secondary-hover: var(--color-secondary-light-1); + --color-secondary-active: var(--color-secondary-light-2); + /* colors */ + --color-red: #b91c1c; + --color-orange: #ea580c; + --color-yellow: #ca8a04; + --color-olive: #91a313; + --color-green: #15803d; + --color-teal: #0d9488; + --color-blue: #2563eb; + --color-violet: #7c3aed; + --color-purple: #9333ea; + --color-pink: #db2777; + --color-brown: #a47252; + --color-grey: var(--steel-500); + --color-black: #111827; + /* light variants */ + --color-red-light: #dc2626; + --color-orange-light: #f97316; + --color-yellow-light: #eab308; + --color-olive-light: #839311; + --color-green-light: #16a34a; + --color-teal-light: #14b8a6; + --color-blue-light: #3b82f6; + --color-violet-light: #8b5cf6; + --color-purple-light: #a855f7; + --color-pink-light: #ec4899; + --color-brown-light: #94674a; + --color-grey-light: var(--steel-300); + --color-black-light: #1f2937; + /* dark 1 variants produced via Sass scale-color(color, $lightness: -10%) */ + --color-red-dark-1: #a71919; + --color-orange-dark-1: #d34f0b; + --color-yellow-dark-1: #b67c04; + --color-olive-dark-1: #839311; + --color-green-dark-1: #137337; + --color-teal-dark-1: #0c857a; + --color-blue-dark-1: #1554e0; + --color-violet-dark-1: #6a1feb; + --color-purple-dark-1: #8519e7; + --color-pink-dark-1: #c7216b; + --color-brown-dark-1: #94674a; + --color-black-dark-1: #0f1623; + /* dark 2 variants produced via Sass scale-color(color, $lightness: -20%) */ + --color-red-dark-2: #941616; + --color-orange-dark-2: #bb460a; + --color-yellow-dark-2: #ca8a04; + --color-olive-dark-2: #91a313; + --color-green-dark-2: #15803d; + --color-teal-dark-2: #0a766d; + --color-blue-dark-2: #2563eb; + --color-violet-dark-2: #5c14d8; + --color-purple-dark-2: #7c3aed; + --color-pink-dark-2: #b11d5f; + --color-brown-dark-2: #a47252; + --color-black-dark-2: #111827; + /* other colors */ + --color-gold: #b1983b; + --color-white: #ffffff; + --color-diff-removed-word-bg: #783030; + --color-diff-added-word-bg: #255C39; + --color-diff-removed-row-bg: #432121; + --color-diff-moved-row-bg: #825718; + --color-diff-added-row-bg: #1B3625; + --color-diff-removed-row-border: #783030; + --color-diff-moved-row-border: #A67A1D; + --color-diff-added-row-border: #255C39; + --color-diff-inactive: var(--steel-650); + --color-error-border: #783030; + --color-error-bg: #5F2525; + --color-error-bg-active: #783030; + --color-error-bg-hover: #783030; + --color-error-text: #fef2f2; + --color-success-border: #1F6E3C; + --color-success-bg: #1D462C; + --color-success-text: #f0fdf4; + --color-warning-border: #A67A1D; + --color-warning-bg: #644821; + --color-warning-text: #fefce8; + --color-info-border: #2E50B0; + --color-info-bg: #2A396B; + --color-info-text: var(--steel-100); + --color-red-badge: #B91C1C; + --color-red-badge-bg: #B91C1C22; + --color-red-badge-hover-bg: #B91C1C44; + --color-green-badge: #16a34a; + --color-green-badge-bg: #16a34a22; + --color-green-badge-hover-bg: #16a34a44; + --color-yellow-badge: #ca8a04; + --color-yellow-badge-bg: #ca8a0422; + --color-yellow-badge-hover-bg: #ca8a0444; + --color-orange-badge: #ea580c; + --color-orange-badge-bg: #ea580c22; + --color-orange-badge-hover-bg: #ea580c44; + --color-git: #f05133; + /* target-based colors */ + --color-body: var(--steel-800); + --color-box-header: var(--steel-700); + --color-box-body: var(--steel-750); + --color-box-body-highlight: var(--steel-650); + --color-text-dark: #fff; + --color-text: var(--steel-100); + --color-text-light: var(--steel-150); + --color-text-light-1: var(--steel-150); + --color-text-light-2: var(--steel-200); + --color-text-light-3: var(--steel-200); + --color-footer: var(--steel-900); + --color-timeline: var(--steel-650); + --color-input-text: var(--steel-100); + --color-input-background: var(--steel-650); + --color-input-toggle-background: var(--steel-650); + --color-input-border: var(--steel-550); + --color-input-border-hover: var(--steel-450); + --color-header-wrapper: var(--steel-850); + --color-header-wrapper-transparent: #242D3800; + --color-light: #00000028; + --color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled))); + --color-light-border: #ffffff28; + --color-hover: var(--steel-600); + --color-active: var(--steel-650); + --color-menu: var(--steel-700); + --color-card: var(--steel-700); + --color-markup-table-row: #ffffff06; + --color-markup-code-block: var(--steel-800); + --color-button: var(--steel-600); + --color-code-bg: var(--steel-750); + --color-code-sidebar-bg: var(--steel-600); + --color-shadow: #00000060; + --color-secondary-bg: var(--steel-700); + --color-text-focus: #fff; + --color-expand-button: #3c404d; + --color-placeholder-text: var(--steel-450); + --color-editor-line-highlight: var(--steel-700); + --color-project-board-bg: var(--color-secondary-light-3); + --color-project-board-dark-label: var(--color-text-light-3); + --color-caret: var(--color-text); + /* should ideally be --color-text-dark, see #15651 */ + --color-reaction-bg: #ffffff12; + --color-reaction-active-bg: var(--color-primary-alpha-30); + --color-tooltip-text: #ffffff; + --color-tooltip-bg: #000000f0; + --color-nav-bg: var(--steel-900); + --color-nav-hover-bg: var(--steel-600); + --color-label-text: #fff; + --color-label-bg: #393939; + --color-label-hover-bg: #5f5f5f; + --color-label-active-bg: #4c4c4c; + --color-accent: var(--color-primary-light-1); + --color-small-accent: var(--color-primary-light-5); + --color-active-line: var(--color-primary-alpha-20); + --color-overlay-backdrop: #080808c0; + accent-color: var(--color-accent); + color-scheme: dark; +} +/* invert emojis that are hard to read otherwise */ +.emoji[aria-label="check mark"], +.emoji[aria-label="currency exchange"], +.emoji[aria-label="TOP arrow"], +.emoji[aria-label="END arrow"], +.emoji[aria-label="ON! arrow"], +.emoji[aria-label="SOON arrow"], +.emoji[aria-label="heavy dollar sign"], +.emoji[aria-label="copyright"], +.emoji[aria-label="registered"], +.emoji[aria-label="trade mark"], +.emoji[aria-label="multiply"], +.emoji[aria-label="plus"], +.emoji[aria-label="minus"], +.emoji[aria-label="divide"], +.emoji[aria-label="curly loop"], +.emoji[aria-label="double curly loop"], +.emoji[aria-label="wavy dash"], +.emoji[aria-label="paw prints"], +.emoji[aria-label="musical note"], +.emoji[aria-label="musical notes"] { + filter: invert(100%) hue-rotate(180deg); +} +.following.bar.light { + border-bottom-color: #ffffff11 !important; +} +.text.green.svg { + color: #16a34a !important; +} +i.grey.icon.icon.icon.icon { + color: var(--steel-350) !important; +} +.ui.red.button, +.ui.negative.button { + background-color: #7f1d1d; +} +.ui.red.button:hover, +.ui.negative.button:hover { + background-color: #991b1b; +} +.ui.red.button:active, +.ui.negative.button:active { + background-color: #aa1919; +} +.ui.secondary.vertical.menu { + border-radius: 0.28571429rem !important; + overflow: hidden; +} +.ui.secondary.vertical.menu > .item { + border-radius: 0 !important; +} +.ui.basic.primary.button.item { + background-color: var(--color-active) !important; + color: var(--color-text) !important; + box-shadow: none !important; +} +.ui.red.label.notification_count, +.ui.primary.label, +.ui.primary.labels .label { + background-color: var(--color-primary-light-3) !important; +} +.repository.view.issue .comment-list .code-comment + .code-comment { + margin: 1.25rem 0 !important; + padding-top: 1.25rem !important; + border-top-color: var(--steel-650) !important; +} +.ui.labeled.icon.buttons > .button > .icon, +.ui.labeled.icon.button > .icon { + background-color: rgba(0, 0, 0, 0.05) !important; +} +#review-box .review-comments-counter { + background-color: #00000088 !important; + color: #fff !important; + margin-left: 0.5em; +} +.ui.tabs .ui.primary.label, +.ui.menu .ui.primary.label { + background-color: rgba(192, 192, 255, 0.2) !important; + color: var(--color-text-dark) !important; +} +.ui.basic.yellow.label.pending-label { + background: var(--color-light) !important; +} +.ui.tertiary.button { + color: #fff9; +} +.ui.tertiary.button:hover { + color: #ccc; +} +::selection { + background: var(--steel-100) !important; + color: #000 !important; +} diff --git a/web_src/css/themes/theme-forgejo-light.css b/web_src/css/themes/theme-forgejo-light.css new file mode 100644 index 0000000000..495b8ce431 --- /dev/null +++ b/web_src/css/themes/theme-forgejo-light.css @@ -0,0 +1,293 @@ +@import "../chroma/light.css"; +@import "../codemirror/light.css"; + +:root { + --steel-900: #10161D; + --steel-850: #131A21; + --steel-800: #171E26; + --steel-750: #1D262F; + --steel-700: #242D38; + --steel-650: #2B3642; + --steel-600: #374351; + --steel-550: #445161; + --steel-500: #515F70; + --steel-450: #5F6E80; + --steel-400: #6D7D8F; + --steel-350: #7C8C9F; + --steel-300: #8C9CAF; + --steel-250: #9DADC0; + --steel-200: #AEBED0; + --steel-150: #C0CFE0; + --steel-100: #D2E0F0; + --zinc-50: #FAFAFA; + --zinc-100: #F4F4F5; + --zinc-150: #ECECEE; + --zinc-200: #E4E4E7; + --zinc-250: #DCDCE0; + --zinc-300: #D4D4D8; + --zinc-350: #BABAC1; + --zinc-400: #A1A1AA; + --zinc-450: #898992; + --zinc-500: #71717A; + --zinc-550: #61616A; + --zinc-600: #52525B; + --zinc-650: #484850; + --zinc-700: #3F3F46; + --zinc-750: #333338; + --zinc-800: #27272A; + --zinc-850: #1F1F23; + --zinc-900: #18181B; + --color-primary: #c2410c; + --color-primary-contrast: #ffffff; + --color-primary-dark-1: #c2410c; + --color-primary-dark-2: #9a3412; + --color-primary-dark-3: #9a3412; + --color-primary-dark-4: #7c2d12; + --color-primary-dark-5: #7c2d12; + --color-primary-dark-6: #7c2d12; + --color-primary-dark-7: #7c2d12; + --color-primary-light-1: #ea580c; + --color-primary-light-2: #f97316; + --color-primary-light-3: #fb923c; + --color-primary-light-4: #fdba74; + --color-primary-light-5: #fed7aa; + --color-primary-light-6: #ffedd5; + --color-primary-light-7: #fff7ed; + --color-primary-alpha-10: #c2410c19; + --color-primary-alpha-20: #c2410c33; + --color-primary-alpha-30: #c2410c4b; + --color-primary-alpha-40: #c2410c66; + --color-primary-alpha-50: #c2410c80; + --color-primary-alpha-60: #c2410c99; + --color-primary-alpha-70: #c2410cb3; + --color-primary-alpha-80: #c2410ccc; + --color-primary-alpha-90: #c2410ce1; + --color-primary-hover: var(--color-primary-dark-2); + --color-primary-active: var(--color-primary-dark-4); + --color-secondary: var(--zinc-200); + --color-secondary-dark-1: var(--zinc-200); + --color-secondary-dark-2: var(--zinc-300); + --color-secondary-dark-3: var(--zinc-300); + --color-secondary-dark-4: var(--zinc-400); + --color-secondary-dark-5: var(--zinc-400); + --color-secondary-dark-6: var(--zinc-500); + --color-secondary-dark-7: var(--zinc-500); + --color-secondary-dark-8: var(--zinc-600); + --color-secondary-dark-9: var(--zinc-600); + --color-secondary-dark-10: var(--zinc-700); + --color-secondary-dark-11: var(--zinc-700); + --color-secondary-dark-12: var(--zinc-800); + --color-secondary-dark-13: var(--zinc-800); + --color-secondary-light-1: var(--zinc-200); + --color-secondary-light-2: var(--zinc-100); + --color-secondary-light-3: var(--zinc-100); + --color-secondary-light-4: var(--zinc-50); + --color-secondary-alpha-10: #d4d4d819; + --color-secondary-alpha-20: #d4d4d833; + --color-secondary-alpha-30: #d4d4d84b; + --color-secondary-alpha-40: #d4d4d866; + --color-secondary-alpha-50: #d4d4d880; + --color-secondary-alpha-60: #d4d4d899; + --color-secondary-alpha-70: #d4d4d8b3; + --color-secondary-alpha-80: #d4d4d8cc; + --color-secondary-alpha-90: #d4d4d8e1; + --color-secondary-hover: var(--color-secondary-dark-2); + --color-secondary-active: var(--color-secondary-dark-4); + /* colors */ + --color-red: #dc2626; + --color-orange: #ea580c; + --color-yellow: #ca8a04; + --color-olive: #91a313; + --color-green: #15803d; + --color-teal: #0d9488; + --color-blue: #2563eb; + --color-violet: #7c3aed; + --color-purple: #9333ea; + --color-pink: #db2777; + --color-brown: #a47252; + --color-grey: #4b5563; + --color-black: #000000; + /* light variants */ + --color-red-light: #ef4444; + --color-orange-light: #f97316; + --color-yellow-light: #eab308; + --color-olive-light: #839311; + --color-green-light: #16a34a; + --color-teal-light: #14b8a6; + --color-blue-light: #3b82f6; + --color-violet-light: #8b5cf6; + --color-purple-light: #a855f7; + --color-pink-light: #ec4899; + --color-brown-light: #94674a; + --color-grey-light: #6b7280; + --color-black-light: #181818; + /* dark 1 variants - produced via Sass scale-color(color, $lightness: -10%) */ + --color-red-dark-1: #c82020; + --color-orange-dark-1: #d34f0b; + --color-yellow-dark-1: #b67c04; + --color-olive-dark-1: #839311; + --color-green-dark-1: #137337; + --color-teal-dark-1: #0c857a; + --color-blue-dark-1: #1554e0; + --color-violet-dark-1: #6a1feb; + --color-purple-dark-1: #8519e7; + --color-pink-dark-1: #c7216b; + --color-brown-dark-1: #94674a; + --color-black-dark-1: #000000; + /* dark 2 variants - produced via Sass scale-color(color, $lightness: -20%) */ + --color-red-dark-2: #b21d1d; + --color-orange-dark-2: #bb460a; + --color-yellow-dark-2: #a26e03; + --color-olive-dark-2: #74820f; + --color-green-dark-2: #116631; + --color-teal-dark-2: #0a766d; + --color-blue-dark-2: #124bc7; + --color-violet-dark-2: #5c14d8; + --color-purple-dark-2: #7715cf; + --color-pink-dark-2: #b11d5f; + --color-brown-dark-2: #835b42; + --color-black-dark-2: #000000; + /* other colors */ + --color-gold: #b1983b; + --color-white: #ffffff; + --color-diff-removed-word-bg: #fca5a5; + --color-diff-added-word-bg: #86efac; + --color-diff-removed-row-bg: #fee2e2; + --color-diff-moved-row-bg: #fef9c3; + --color-diff-added-row-bg: #dcfce7; + --color-diff-removed-row-border: #fca5a5; + --color-diff-moved-row-border: #fde047; + --color-diff-added-row-border: #86efac; + --color-diff-inactive: var(--zinc-100); + --color-error-border: #fecaca; + --color-error-bg: #fee2e2; + --color-error-bg-active: #fca5a5; + --color-error-bg-hover: #fecaca; + --color-error-text: #7f1d1d; + --color-success-border: #bbf7d0; + --color-success-bg: #dcfce7; + --color-success-text: #14532d; + --color-warning-border: #fde047; + --color-warning-bg: #fef3c7; + --color-warning-text: #78350f; + --color-info-border: #bae6fd; + --color-info-bg: #e0f2fe; + --color-info-text: #0c4a6e; + --color-red-badge: #B91C1C; + --color-red-badge-bg: #B91C1C22; + --color-red-badge-hover-bg: #B91C1C44; + --color-green-badge: #16a34a; + --color-green-badge-bg: #16a34a22; + --color-green-badge-hover-bg: #16a34a44; + --color-yellow-badge: #ca8a04; + --color-yellow-badge-bg: #ca8a0422; + --color-yellow-badge-hover-bg: #ca8a0444; + --color-orange-badge: #ea580c; + --color-orange-badge-bg: #ea580c22; + --color-orange-badge-hover-bg: #ea580c44; + --color-git: #f05133; + /* target-based colors */ + --color-body: #fff; + --color-box-header: var(--zinc-100); + --color-box-body: var(--zinc-50); + --color-box-body-highlight: var(--zinc-200); + --color-text-dark: #000; + --color-text: var(--zinc-900); + --color-text-light: var(--zinc-700); + --color-text-light-1: var(--zinc-650); + --color-text-light-2: var(--zinc-600); + --color-text-light-3: var(--zinc-550); + --color-footer: var(--zinc-100); + --color-timeline: var(--zinc-200); + --color-input-text: var(--zinc-800); + --color-input-background: #fff; + --color-input-toggle-background: #fff; + --color-input-border: var(--zinc-300); + --color-input-border-hover: var(--zinc-400); + --color-header-wrapper: var(--zinc-50); + --color-header-wrapper-transparent: #D2E0F000; + --color-light: #ffffffcc; + --color-light-mimic-enabled: rgba(0, 0, 0, calc(6 / 255 * 222 / 255 / var(--opacity-disabled))); + --color-light-border: #0000001d; + --color-hover: #e4e4e4aa; + --color-active: #d4d4d8aa; + --color-menu: var(--zinc-100); + --color-card: var(--zinc-50); + --color-markup-table-row: #ffffff06; + --color-markup-code-block: var(--zinc-150); + --color-button: var(--zinc-150); + --color-code-bg: var(--zinc-50); + --color-code-sidebar-bg: var(--zinc-100); + --color-shadow: #00000060; + --color-secondary-bg: var(--zinc-100); + --color-text-focus: #fff; + --color-expand-button: var(--zinc-200); + --color-placeholder-text: var(--zinc-400); + --color-editor-line-highlight: var(--zinc-100); + --color-project-board-bg: var(--color-secondary-light-2); + --color-project-board-dark-label: var(--color-text-light-3); + --color-caret: var(--color-text); + /* should ideally be --color-text-dark, see #15651 */ + --color-reaction-bg: #0000000a; + --color-reaction-active-bg: var(--color-primary-alpha-20); + --color-tooltip-text: #ffffff; + --color-tooltip-bg: #000000f0; + --color-nav-bg: var(--zinc-100); + --color-nav-hover-bg: var(--zinc-300); + --color-label-bg: #cacaca5b; + --color-label-hover-bg: #cacacaa0; + --color-label-active-bg: #cacacaff; + --color-accent: var(--color-primary-light-1); + --color-small-accent: var(--color-primary-light-5); + --color-active-line: var(--color-primary-light-6); + --color-overlay-backdrop: #080808c0; + accent-color: var(--color-accent); + color-scheme: light; +} +.text.green.svg { + color: #16a34a !important; +} +.ui.secondary.vertical.menu { + border-radius: 0.28571429rem !important; + overflow: hidden; +} +.ui.secondary.vertical.menu > .item { + border-radius: 0 !important; +} +.ui.basic.primary.button.item { + background-color: var(--color-active) !important; + color: var(--color-text) !important; + box-shadow: none !important; +} +.ui.red.label.notification_count, +.ui.primary.labels .label { + background-color: var(--color-primary-dark-1) !important; +} +.repository.view.issue .comment-list .code-comment + .code-comment { + margin: 1.25rem 0 !important; + padding-top: 1.25rem !important; + border-top-color: var(--zinc-250) !important; +} +.ui.labeled.icon.buttons > .button > .icon, +.ui.labeled.icon.button > .icon { + background-color: rgba(0, 0, 0, 0.05) !important; +} +#review-box .review-comments-counter { + background-color: #ffffffaa !important; + color: #000 !important; + margin-left: 0.5em; +} +.ui.tabs .ui.primary.label, +.ui.menu .ui.primary.label { + background-color: rgba(0, 0, 0, 0.15) !important; + color: var(--color-text-dark) !important; +} +.ui.basic.yellow.label.pending-label { + background: var(--color-warning-bg) !important; + color: var(--color-warning-text) !important; + border-color: #eab308 !important; +} +::selection { + background: var(--steel-450) !important; + color: #fff !important; +} From 42e81f8451dc37a1b6b3d05e9c25e271017a9b17 Mon Sep 17 00:00:00 2001 From: Caesar Schinas Date: Wed, 28 Dec 2022 00:28:39 -1000 Subject: [PATCH 09/26] [BRANDING] Rebrand default meta tags (cherry picked from commit b1a792b63547df1471a125c2384a9623ffae409e) (cherry picked from commit ba71acccdb8eb4d1c87b50708fe3b03a3324dd9c) (cherry picked from commit ef58efb8e0c48a782e01aac8d754e70b7611a2c8) (cherry picked from commit 6a1b08241ebb862bdd39c708852e3e23c4d96c9d) (cherry picked from commit 132c7a3a07d5a11b9b165295ef12111ce74aea70) (cherry picked from commit a1f07975d67ceccedc808ddaf657f8e7e0da74b1) (cherry picked from commit f3793598b24d00ca3ae80dbde4ef9909b298ca03) (cherry picked from commit 60f38116afc60b055c6b40be8a1e94f646252bf6) (cherry picked from commit 88884cf2833429749b9a6ec6110b4c4727304903) (cherry picked from commit 520de41aefa6c1f5c939b2345878697094962812) (cherry picked from commit cfd5e5b95ab081d10d4f5d6022d09db4877f51fc) (cherry picked from commit 5cf1738f0a08d99aba2016100f3f0083b51efcf4) (cherry picked from commit b95f9b3142089d90df93708638b2ae6c857dbc87) (cherry picked from commit 0118fba9703a1e3f9da6c7b5c479b8b919a5f5e2) (cherry picked from commit ef213ec79d8d0ae006bfda0b9e49d2da2be47ca3) (cherry picked from commit f6794f694b9fb262c66f8d3958dd5145c7ef0dbb) (cherry picked from commit 639110c03bc2d2f91fb6a5c619f1138a0522f836) (cherry picked from commit 2be6eca1e1c8488bdc9e6ce164dbd9f3d79771ce) (cherry picked from commit eb929d0d566b3dff8454e62ff9f2384a896fb549) (cherry picked from commit c49dd4ed7f771e8fa1573add6cbadc193a473ead) (cherry picked from commit 8ea074c4ddaa737c4faa83c1b4746dbd7cb84440) (cherry picked from commit 3145df43d60593700b60409a8d5ac12e4fbbc197) (cherry picked from commit d0df3e306a4f0a4f773c7cbc1409922fe69973aa) (cherry picked from commit 8f4850705eb4e016ebebc738f629bcc9ce87ca61) (cherry picked from commit 5a24d4319cf7ac2e56b9e43e4181b066d76d6d8d) (cherry picked from commit 756c04c6c46a55852089711f7859f533b85fd042) (cherry picked from commit ea627e79e36d0bc7514b28e6b7d5847b5bdf5922) (cherry picked from commit c52b141902ef0be06c100f4a1285f28419e6f497) (cherry picked from commit 49ab0c55597dc12a50be39a2bd35cb870ba8e361) (cherry picked from commit f14f26c940abd341ae6bd8e20e93bd736e907b52) (cherry picked from commit 4caebbb6becb26732f4d72d3e73a71ea821edf8f) (cherry picked from commit 7c3d0bca9e8868529e4496b6b17fbe1c0736c425) (cherry picked from commit 171a207006f82d5dfed4abb9c957a837a8aa53ba) (cherry picked from commit 2a4a7d05fbcc67f603f81c5a4adab016dccf7460) (cherry picked from commit 94b1b902053922ec73213f9c20f1a37a292959b8) (cherry picked from commit cd3565dbed2c86ef9c2d5e6b92931481b17e62c9) (cherry picked from commit 5d02758b22717ec93b9bf36af6d09bc66925e6a8) (cherry picked from commit 5901edd1114dc7a0a1f4d943bd3ba645ab4d0d22) (cherry picked from commit 8a3abe6dafafd5a8a05b3b37551082ce2a948b90) (cherry picked from commit eaa1a3e6ca6a4c178944e6d25a0819478c60d96d) (cherry picked from commit 7191d0abc48c464cafba209a1a5c3b762a4918d8) (cherry picked from commit 579b985d791182c20754293151b8829d95837ae9) (cherry picked from commit 16d7dbed870b69cf2e09c19fb16ad9cea0cce76a) (cherry picked from commit c1fa9edc159596e470daf28571e356295695396d) (cherry picked from commit cdcf37ff1b726b9f3e240935c19dc30160b47eba) (cherry picked from commit b0c78efb8656006239c22f330a63341ac99eb783) (cherry picked from commit dca8fb6cf7f8066bc30ab4df8eb277f3b6d7ef53) (cherry picked from commit 4d08cf9f2e48b1c5dfe88f3c596c7d305f2e2194) (cherry picked from commit 73be848222608347293e2b9487ae959c2adb077c) --- modules/setting/ui.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/setting/ui.go b/modules/setting/ui.go index 39b359d7a7..7056f96ad4 100644 --- a/modules/setting/ui.go +++ b/modules/setting/ui.go @@ -132,9 +132,9 @@ var UI = struct { Description string Keywords string }{ - Author: "Gitea - Git with a cup of tea", - Description: "Gitea (Git with a cup of tea) is a painless self-hosted Git service written in Go", - Keywords: "go,git,self-hosted,gitea", + Author: "Forgejo – Beyond coding. We forge.", + Description: "Forgejo is a self-hosted lightweight software forge. Easy to install and low maintenance, it just does the job.", + Keywords: "git,forge,forgejo", }, } From 743d1e34ac562a8a1c177f5d50c975df1495dd39 Mon Sep 17 00:00:00 2001 From: TomZ Date: Mon, 9 Jan 2023 14:01:00 +0100 Subject: [PATCH 10/26] [BRANDING] cosmetic s/Gitea/Forgejo/ in logs, messages, etc. As the docs of codeberg refer to the strings printed by the Forgejo ssh servers, this is user-facing and is nice to update to the new product name. (cherry picked from commit 103991d73f0f78f31a5f1dae47824c2fe481bcc6) (cherry picked from commit 2a0d3f85f199d28a4180becdebcb90af0d6f3504) (cherry picked from commit eb2b4ce388810dc145dd90d3358d4d4373e31b80) (cherry picked from commit 0998b51716ef5d3c25e139886aa8b7bfde703b20) [BRANDING] forgejo log message (cherry picked from commit d51a046ebe774236f8b902c45486dc8cbd041e0e) (cherry picked from commit d66e1c7b6e2fbfefb976103805b18eb29b6406af) (cherry picked from commit b5bffe4ce8a8353c9e5529350a7932d4a2d9e53e) (cherry picked from commit 3fa776d8566c42ce31540024ce5bf5a6cb5cd4e4) (cherry picked from commit 18d064f47214327dc5b6c55c2d02a3da53358dbc) (cherry picked from commit c95094e355212d4baf607f3778152ceb455d4f82) (cherry picked from commit 5784290bc46afffca9b93e0faa3bd88944e54919) (cherry picked from commit aee336886b2606beaf8c27a2992c21aa2a574966) (cherry picked from commit ec2f60b516b1ee11b5e7c52ecb02fdf8e5bbcaec) (cherry picked from commit 7af742a28469d6725248d5519e69217b844ed792) (cherry picked from commit f279e2a264ae028ab511ba61a71e00739dc5020a) (cherry picked from commit fd38cfb14eebe34dc72b8358479e53d27fe01180) (cherry picked from commit 64c82266183943f062016479c2d1868ccdee2cec) (cherry picked from commit b546fb23042c6d231ce29241d1991c9cb1bf1bba) (cherry picked from commit ad102021776a8dd407ef19cbfadc42b3ca7fabd5) (cherry picked from commit c89cab9c2b019a592dffe4b6de29482feca1bb33) (cherry picked from commit 9579322ec2eec40cb8f113458c1d5669f5d4b818) (cherry picked from commit 16b44ad18de82b0429a8b0a05ed93445d1524241) (cherry picked from commit 2571ff703b77cc8527f37f82c36e9260a80ac673) (cherry picked from commit ad61d9ce9b93503b04deb9ecdb5f214566caf820) (cherry picked from commit 9b2c45d4d3b1c6401a3d7d0a5544213e1486ab9e) (cherry picked from commit ed01b79a598a0698324392dab66a2cd3d41c628c) (cherry picked from commit d040b664279292f9f7304f96db0d172672c1e904) (cherry picked from commit ffe0bbea48d036c26149d98856add938bb08a475) (cherry picked from commit 4c1b2c409bb90a0c2876f3a7323cf162a7e58765) (cherry picked from commit 3d8338ed106cb6260a4dae249ddef71489c47357) (cherry picked from commit a92f044ea96bbe9c47689455a417e4f1bc3cd648) [BRANDING] link to forgejo.org/docs instead of docs.gitea.io (cherry picked from commit 3efafd0e083eb331ce06681351a40c4f46d7c96f) (cherry picked from commit 148185e34b2be36fa46e8630928ee64a73768883) (cherry picked from commit 834e264698f710049f20491b91b3c39b853de867) (cherry picked from commit e72fa6eb1ef8f4355197ced3c619d8ff6d9c1c9f) [BRANDING] link to forgejo.org/docs instead of docs.gitea.io Fix the link that was 404. (cherry picked from commit ae515d7258602a0fe4bb4471f2017e4ccc7dd0e7) (cherry picked from commit facc2367f0e5fc1e1162cc2478a658f050c07718) (cherry picked from commit 25784b9f21a37d9161b050503b0d45d87cd8863d) (cherry picked from commit 2efc6138d92e958ee6a6091e579fa269aea45ce4) (cherry picked from commit b9d0871631ef70abe88de64ccbabcfc94a49274b) (cherry picked from commit f0446e51b9c2268f274a1c4b8c25abfcf417975c) (cherry picked from commit 1638aa67fb384bdcd97386861054447a8d53e832) (cherry picked from commit 290db6a018d4f82173446799b8726a320c209bb4) (cherry picked from commit 89b87cf5426b7407ba0e23912fbbd3c521a8bae4) (cherry picked from commit 656ed949625652a3a0e8d0b1381e76f75688e461) (cherry picked from commit 036f879f96d606af691326474cefe77441c8c4ed) (cherry picked from commit 69eea35f813d03f578ca143e45292289b0ad92a8) (cherry picked from commit b72e3f4a92a04ac065b5b72ca25f7eb0c96ba69d) (cherry picked from commit af606b8574d67c8c7a3699cf41d6a96fc3852547) (cherry picked from commit 7e47f8135c08be3f48ccad6b8d8a940bc5713e53) (cherry picked from commit 0e5218cc5374a0e16a273298f862dd3d6cebe020) (cherry picked from commit 7c2a20a528a6911412986ff8eb479f3a19d7f226) (cherry picked from commit 4e94006363227435b53769b92882b51a6109ba52) (cherry picked from commit e47cdfc43fb693dfd0507bb1fe943da41fd2ebb4) (cherry picked from commit 1dcb3e1da4ab4d8dbb659e87c4f542245b066409) (cherry picked from commit 67367c4e0f4b755879350e9311e44deff95c137c) (cherry picked from commit 252087d1ffcae00dfa7e8edc7face8775412d4cc) (cherry picked from commit f5977a43e5cb2c869af0cd8c993cd0d3eeccb622) Conflicts: templates/base/head_navbar.tmpl https://codeberg.org/forgejo/forgejo/pulls/1351 (cherry picked from commit 594938eb1505f6d81d8c0cce84a34c20a18b5c7a) (cherry picked from commit 0257d038a7416fd208571d8be0a14a9ea6ac4d95) (cherry picked from commit 72821dd14052505814df556e09a500981256f709) [BRANDING] s/gitea/forgejo/ in HTML placeholders Replaced Gitea branding with Forgejo for input placeholders Closes: #686 Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/752 (cherry picked from commit 6160d37ca972566017aee46b2ef42f398f969dca) (cherry picked from commit df61138c7eaa25068fe0012644fd15b407a4816e) (cherry picked from commit 1f30566c3f63925ca56eaa21b4fa580b4bb1ffaf) (cherry picked from commit 539bb825f555585f0a52ea4c8747c5b589254633) (cherry picked from commit bee0f66c869d2632a1ad3cda731caaba74c3634c) (cherry picked from commit 60ad005c95a6d53f615a720445eef77e4bc499ef) (cherry picked from commit 282e26222ef4aea1720b4b121ac29264876069c7) (cherry picked from commit f9ca551f3dbc0f75250445b4e731396dc34fc041) (cherry picked from commit b2e04b04c381549557873b1956065dc5a5132a97) (cherry picked from commit c8f395a03c688bcc1413c6ed6b6f820aab7851d5) (cherry picked from commit 0d58ce49aeefd43b3316c0238dcd04e019b6be25) (cherry picked from commit c602ddf91efd95347de433cfad8ac20995d12283) (cherry picked from commit 029e37271ead5405daa11945bd64104f12c8ba77) (cherry picked from commit fdaa96b3ccca76cba877f8f5dafcf4cf9d160af8) (cherry picked from commit 515d99e27d5db12c5495e31e104ccb6b7ad0ce7a) (cherry picked from commit da73274ba1cb55d1c425b95890a55aecee2bb246) (cherry picked from commit ce90b696a01619d86ac7dac7b0cd78be8f06e4b1) (cherry picked from commit b6bf98763be1855b5613dc8db627fd889bff8308) (cherry picked from commit 5b380d22d78568c2c4f26a3e8aa90a42006969e9) [BRANDING] How to start a runner: URL to Actions admin documentation (cherry picked from commit da91799e6f06ac3c91c1cfc763f4ec0b5cc3cf21) (cherry picked from commit 28231663b634f6d877173ba4956f6c0a5d128b2b) (cherry picked from commit 533a90345bb0236c8fc088f2ab1b92535f8a4269) (cherry picked from commit 6a0e4e55dd02beff179b8503259d1cc774e8e81b) (cherry picked from commit f47cd611c68f9da2df9b0e5e0a8332f6fcc17932) (cherry picked from commit 001264b7840aaad6aa25e0b06a927300751ef20e) (cherry picked from commit e4099e9bb9f557e99bb0117eaf6ad88467684527) (cherry picked from commit 3a1885649ff1dcaf5acdb1bb237c477a92aeb01f) (cherry picked from commit c42802c710c0fce2eea06a93a7f4373557515616) (cherry picked from commit a611ce8d6d293573534d4ce1efde81d32129723a) (cherry picked from commit a3d7d10a80ba6104ee6f260290518936b210c16b) (cherry picked from commit 52adde671f8dcb309235506a3c39a38db87e9537) (cherry picked from commit c9a3820fef10ef0b20e52f5f70d7794dde0974b3) (cherry picked from commit dce40997c956244742325b5b10d13e8ec918082c) (cherry picked from commit 312a6b92f384fdb09fc26e5da5a4acf0680ff698) [BRANDING] package templates & links - Change Gitea to Forgejo where necessary. - Point all documentation to Forgejo's documentation. - Resolves #992 (cherry picked from commit d0b78a6edea0abba54ef537781234d8f778e0ad8) (cherry picked from commit e2382f30ba07586fd3ea4c8a535ab550ecc33408) (cherry picked from commit c41cf05a334944a66129425c4a9abb973fbb4687) (cherry picked from commit 797e598ae73441c66f25849bf643e0c11a737c41) (cherry picked from commit 970031a1c2974cf0c6ce057ad82afdd6380f6882) (cherry picked from commit 0c1180e2e142852248787185e2c01582413de8c3) Conflicts: templates/package/content/alpine.tmpl templates/package/content/cargo.tmpl templates/package/content/chef.tmpl templates/package/content/composer.tmpl templates/package/content/conan.tmpl templates/package/content/conda.tmpl templates/package/content/container.tmpl templates/package/content/cran.tmpl templates/package/content/debian.tmpl templates/package/content/generic.tmpl templates/package/content/go.tmpl templates/package/content/helm.tmpl templates/package/content/maven.tmpl templates/package/content/npm.tmpl templates/package/content/nuget.tmpl templates/package/content/pub.tmpl templates/package/content/pypi.tmpl templates/package/content/rpm.tmpl templates/package/content/rubygems.tmpl templates/package/content/swift.tmpl templates/package/content/vagrant.tmpl https://codeberg.org/forgejo/forgejo/pulls/1351 (cherry picked from commit 42ac9ff2abe55826047c36e041f1bcd70caf7581) (cherry picked from commit e390000bcee673c2d15c8777c2d2da316967ce62) (cherry picked from commit 56a437b29b71976b9b0816d0de2ce8169a84f288) Conflicts: templates/package/content/cargo.tmpl https://codeberg.org/forgejo/forgejo/pulls/1466 [BRANDING] s/Gitea/Forgejo/ in user visible help & comments - Modify the README of the docker directory to point to the relevant docker files and documentation for Forgejo. (cherry picked from commit aca6371215c1bf95b6c0b19b9fadb797544adc48) (cherry picked from commit 0ba96b1bc4c4df84ce3dca9875ad4a9ac8f1f759) (cherry picked from commit 5c8e6b53f164dd16b527c603a3089735ff16df89) Conflicts: docker/README.md https://codeberg.org/forgejo/forgejo/pulls/1351 (cherry picked from commit b3121c8004f675b31482cdbd564f9a830be48acd) (cherry picked from commit 607f8704163bd24bfc7ff1d6a812b5e887746797) (cherry picked from commit 191d96afe4198d3b6498aa21eaeb7686a59865bc) [BRANDING] healthcheck/check.go (cherry picked from commit d703a236cebadc0186b7b2431b3b42a54b3d1f09) (cherry picked from commit d84ce3ff2098e9ba3c7241605ea25951dcb57ca6) (cherry picked from commit 2dbb8446069c79017dcc4a9921dffcb73594d02c) (cherry picked from commit 14d3ae7e3ae67dff3443db17e4373e5947ed6c6c) [BRANDING] s/Gitea/Forgejo/g in CLI output (cherry picked from commit 7543c126bbb78d5d29c253a88b56ccd2dd394928) (cherry picked from commit b66f422fc3b9018aa948a869045cb3684e80f5f2) (cherry picked from commit a81e4e46f3b0e619cea959de5ffde2e811d6008e) [BRANDING] Gitea->Forgejo in mailer code (cherry picked from commit b91afea4ff5e092452b5848900fc426b1c7289d5) (cherry picked from commit 5d7428167c8ee5f25fb719f32a561472ef1aee68) (cherry picked from commit ed8101ba6cc87526554a69f58a49507a79eadb35) [BRANDING] use 'Forgejo' for Discord, Packagist, and Slack webhooks Refs: https://codeberg.org/forgejo/forgejo/issues/1387 (cherry picked from commit 7dc3a05f5b9013a0696f071ebea4d2403c1c36a8) (cherry picked from commit 133f2fc6cc2e977a5f7660ca4c214c92ac036421) [BRANDING] cmd/manager.go (cherry picked from commit d1dba2c79db63a6fc23e6bbab2b8dcbdaf43b679) [BRANDING] pyproject.toml (cherry picked from commit 7e8c868db2d5331778a87b5a1b493a81bf6863a4) (cherry picked from commit 2395995c8b61c0674278db4321aa7d79e4c0eb91) (cherry picked from commit dd6fbbf332f7833175634ef6d48eb5ad384aabb9) Conflicts: templates/package/content/cargo.tmpl https://codeberg.org/forgejo/forgejo/pulls/1548 (cherry picked from commit 6f9a5d5cabc9bf7b57dc199a332261b8fe53e52d) (cherry picked from commit d0635c4a07bb080e509f5578a995c7378b995691) (cherry picked from commit 5f9a8c5744d254099c7ce98f14e1b58ec0a40708) (cherry picked from commit 10b96c45673ef1d8d9f5364721b6e876a10e6f3b) (cherry picked from commit 717d52e92863aa44536ed7ad524608aa5f398469) (cherry picked from commit 5debdb103eb44d40fa9dd7056b48accc3cc185aa) (cherry picked from commit ded1c1700e3795abf1d95d4d732703b9148f68fd) (cherry picked from commit 52aa23cf7a3a7960c60ed7b504ea58c147a6c399) (cherry picked from commit 882c942b061ef6f8e65668c70349522b57893090) (cherry picked from commit 73fc2d2ea86877f9821a0230aa28114b624251fc) Conflicts: cmd/actions.go cmd/doctor.go cmd/keys.go https://codeberg.org/forgejo/forgejo/pulls/1976 (cherry picked from commit 6180ef24dc0edad0b7471c463715179f29d741b9) (cherry picked from commit 8970fa2bf872ee544ed9e0c1241fde8755e6acf1) Conflicts: templates/package/content/debian.tmpl https://codeberg.org/forgejo/forgejo/pulls/2074 Fix a typo in docker/README.md Signed-off-by: Gergely Nagy (cherry picked from commit 2e5df79dfb45719ff55c4c1f33bb1e753c32533f) (cherry picked from commit 2bf6ce5b8167da5f5245337de93bf01f8522bd49) (cherry picked from commit 8ec779277d6fbdbcc0a5f369fa73d47d3f80996f) (cherry picked from commit 6048fc66e8ed9820ecb84e025efe9affbf124d85) (cherry picked from commit 162538c722202d13f443b45249f05f3d9abd76f5) (cherry picked from commit 646bb9965088a028a4469796fa6d62e4499e2b0d) --- cmd/actions.go | 2 +- cmd/cert.go | 2 +- cmd/docs.go | 2 +- cmd/doctor.go | 6 +++--- cmd/hook.go | 12 ++++++------ cmd/keys.go | 2 +- cmd/main.go | 2 +- cmd/manager.go | 4 ++-- cmd/manager_logging.go | 4 ++-- cmd/serv.go | 14 +++++++------- cmd/web.go | 18 +++++++++--------- docker/README.md | 8 ++++---- pyproject.toml | 2 +- routers/web/healthcheck/check.go | 2 +- services/mailer/mail.go | 2 +- templates/admin/auth/edit.tmpl | 4 ++-- templates/admin/auth/source/ldap.tmpl | 2 +- templates/admin/auth/source/oauth.tmpl | 2 +- templates/base/head_navbar.tmpl | 4 ++-- templates/install.tmpl | 4 ++-- templates/package/content/alpine.tmpl | 2 +- templates/package/content/cargo.tmpl | 6 +++--- templates/package/content/chef.tmpl | 2 +- templates/package/content/composer.tmpl | 2 +- templates/package/content/conan.tmpl | 4 ++-- templates/package/content/conda.tmpl | 2 +- templates/package/content/container.tmpl | 2 +- templates/package/content/cran.tmpl | 4 ++-- templates/package/content/debian.tmpl | 6 +++--- templates/package/content/generic.tmpl | 2 +- templates/package/content/go.tmpl | 2 +- templates/package/content/helm.tmpl | 2 +- templates/package/content/maven.tmpl | 2 +- templates/package/content/npm.tmpl | 2 +- templates/package/content/nuget.tmpl | 2 +- templates/package/content/pub.tmpl | 2 +- templates/package/content/pypi.tmpl | 2 +- templates/package/content/rpm.tmpl | 2 +- templates/package/content/rubygems.tmpl | 2 +- templates/package/content/swift.tmpl | 2 +- templates/package/content/vagrant.tmpl | 2 +- templates/package/shared/cargo.tmpl | 2 +- templates/package/shared/list.tmpl | 2 +- templates/repo/settings/webhook/discord.tmpl | 2 +- templates/repo/settings/webhook/packagist.tmpl | 2 +- templates/repo/settings/webhook/slack.tmpl | 2 +- templates/shared/actions/runner_list.tmpl | 2 +- templates/user/settings/packages.tmpl | 2 +- 48 files changed, 83 insertions(+), 83 deletions(-) diff --git a/cmd/actions.go b/cmd/actions.go index f582c16c81..10ae6243c3 100644 --- a/cmd/actions.go +++ b/cmd/actions.go @@ -16,7 +16,7 @@ var ( // CmdActions represents the available actions sub-commands. CmdActions = &cli.Command{ Name: "actions", - Usage: "Manage Gitea Actions", + Usage: "Manage Forgejo Actions", Subcommands: []*cli.Command{ subcmdActionsGenRunnerToken, }, diff --git a/cmd/cert.go b/cmd/cert.go index 38241d71a3..bf83af389f 100644 --- a/cmd/cert.go +++ b/cmd/cert.go @@ -136,7 +136,7 @@ func runCert(c *cli.Context) error { SerialNumber: serialNumber, Subject: pkix.Name{ Organization: []string{"Acme Co"}, - CommonName: "Gitea", + CommonName: "Forgejo", }, NotBefore: notBefore, NotAfter: notAfter, diff --git a/cmd/docs.go b/cmd/docs.go index 605d02e3ef..1dc0980c00 100644 --- a/cmd/docs.go +++ b/cmd/docs.go @@ -15,7 +15,7 @@ import ( var CmdDocs = &cli.Command{ Name: "docs", Usage: "Output CLI documentation", - Description: "A command to output Gitea's CLI documentation, optionally to a file.", + Description: "A command to output Forgejo's CLI documentation, optionally to a file.", Action: runDocs, Flags: []cli.Flag{ &cli.BoolFlag{ diff --git a/cmd/doctor.go b/cmd/doctor.go index e433f4adc5..9957053365 100644 --- a/cmd/doctor.go +++ b/cmd/doctor.go @@ -27,7 +27,7 @@ import ( var CmdDoctor = &cli.Command{ Name: "doctor", Usage: "Diagnose and optionally fix problems, convert or re-create database tables", - Description: "A command to diagnose problems with the current Gitea instance according to the given configuration. Some problems can optionally be fixed by modifying the database or data storage.", + Description: "A command to diagnose problems with the current Forgejo instance according to the given configuration. Some problems can optionally be fixed by modifying the database or data storage.", Subcommands: []*cli.Command{ cmdDoctorCheck, @@ -39,7 +39,7 @@ var CmdDoctor = &cli.Command{ var cmdDoctorCheck = &cli.Command{ Name: "check", Usage: "Diagnose and optionally fix problems", - Description: "A command to diagnose problems with the current Gitea instance according to the given configuration. Some problems can optionally be fixed by modifying the database or data storage.", + Description: "A command to diagnose problems with the current Forgejo instance according to the given configuration. Some problems can optionally be fixed by modifying the database or data storage.", Action: runDoctorCheck, Flags: []cli.Flag{ &cli.BoolFlag{ @@ -84,7 +84,7 @@ var cmdRecreateTable = &cli.Command{ Usage: "Print SQL commands sent", }, }, - Description: `The database definitions Gitea uses change across versions, sometimes changing default values and leaving old unused columns. + Description: `The database definitions Forgejo uses change across versions, sometimes changing default values and leaving old unused columns. This command will cause Xorm to recreate tables, copying over the data and deleting the old table. diff --git a/cmd/hook.go b/cmd/hook.go index 6a3358853d..966e4a57ca 100644 --- a/cmd/hook.go +++ b/cmd/hook.go @@ -172,9 +172,9 @@ func runHookPreReceive(c *cli.Context) error { if len(os.Getenv("SSH_ORIGINAL_COMMAND")) == 0 { if setting.OnlyAllowPushIfGiteaEnvironmentSet { - return fail(ctx, `Rejecting changes as Gitea environment not set. + return fail(ctx, `Rejecting changes as Forgejo environment not set. If you are pushing over SSH you must push with a key managed by -Gitea or set your environment appropriately.`, "") +Forgejo or set your environment appropriately.`, "") } return nil } @@ -316,9 +316,9 @@ func runHookPostReceive(c *cli.Context) error { if len(os.Getenv("SSH_ORIGINAL_COMMAND")) == 0 { if setting.OnlyAllowPushIfGiteaEnvironmentSet { - return fail(ctx, `Rejecting changes as Gitea environment not set. + return fail(ctx, `Rejecting changes as Forgejo environment not set. If you are pushing over SSH you must push with a key managed by -Gitea or set your environment appropriately.`, "") +Forgejo or set your environment appropriately.`, "") } return nil } @@ -487,9 +487,9 @@ func runHookProcReceive(c *cli.Context) error { if len(os.Getenv("SSH_ORIGINAL_COMMAND")) == 0 { if setting.OnlyAllowPushIfGiteaEnvironmentSet { - return fail(ctx, `Rejecting changes as Gitea environment not set. + return fail(ctx, `Rejecting changes as Forgejo environment not set. If you are pushing over SSH you must push with a key managed by -Gitea or set your environment appropriately.`, "") +Forgejo or set your environment appropriately.`, "") } return nil } diff --git a/cmd/keys.go b/cmd/keys.go index ceeec48486..28b20958b9 100644 --- a/cmd/keys.go +++ b/cmd/keys.go @@ -18,7 +18,7 @@ import ( var CmdKeys = &cli.Command{ Name: "keys", Usage: "(internal) Should only be called by SSH server", - Description: "Queries the Gitea database to get the authorized command for a given ssh key fingerprint", + Description: "Queries the Forgejo database to get the authorized command for a given ssh key fingerprint", Before: PrepareConsoleLoggerLevel(log.FATAL), Action: runKeys, Flags: []cli.Flag{ diff --git a/cmd/main.go b/cmd/main.go index c0afc138ed..baba758eae 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -72,7 +72,7 @@ func appGlobalFlags() []cli.Flag { &cli.StringFlag{ Name: "work-path", Aliases: []string{"w"}, - Usage: "Set Gitea's working path (defaults to the Gitea's binary directory)", + Usage: "Set Forgejo's working path (defaults to the directory of the Forgejo binary)", }, } } diff --git a/cmd/manager.go b/cmd/manager.go index bd2da8edc7..b74771e53d 100644 --- a/cmd/manager.go +++ b/cmd/manager.go @@ -16,8 +16,8 @@ var ( // CmdManager represents the manager command CmdManager = &cli.Command{ Name: "manager", - Usage: "Manage the running gitea process", - Description: "This is a command for managing the running gitea process", + Usage: "Manage the running forgejo process", + Description: "This is a command for managing the running forgejo process", Subcommands: []*cli.Command{ subcmdShutdown, subcmdRestart, diff --git a/cmd/manager_logging.go b/cmd/manager_logging.go index 7d34fc9ac2..2c701f2672 100644 --- a/cmd/manager_logging.go +++ b/cmd/manager_logging.go @@ -62,7 +62,7 @@ var ( Subcommands: []*cli.Command{ { Name: "pause", - Usage: "Pause logging (Gitea will buffer logs up to a certain point and will drop them after that point)", + Usage: "Pause logging (Forgejo will buffer logs up to a certain point and will drop them after that point)", Flags: []cli.Flag{ &cli.BoolFlag{ Name: "debug", @@ -80,7 +80,7 @@ var ( Action: runResumeLogging, }, { Name: "release-and-reopen", - Usage: "Cause Gitea to release and re-open files used for logging", + Usage: "Cause Forgejo to release and re-open files used for logging", Flags: []cli.Flag{ &cli.BoolFlag{ Name: "debug", diff --git a/cmd/serv.go b/cmd/serv.go index 726663660b..e014877bc6 100644 --- a/cmd/serv.go +++ b/cmd/serv.go @@ -103,12 +103,12 @@ func fail(ctx context.Context, userMessage, logMsgFmt string, args ...any) error // There appears to be a chance to cause a zombie process and failure to read the Exit status // if nothing is outputted on stdout. _, _ = fmt.Fprintln(os.Stdout, "") - _, _ = fmt.Fprintln(os.Stderr, "Gitea:", userMessage) + _, _ = fmt.Fprintln(os.Stderr, "Forgejo:", userMessage) if logMsgFmt != "" { logMsg := fmt.Sprintf(logMsgFmt, args...) if !setting.IsProd { - _, _ = fmt.Fprintln(os.Stderr, "Gitea:", logMsg) + _, _ = fmt.Fprintln(os.Stderr, "Forgejo:", logMsg) } if userMessage != "" { if unicode.IsPunct(rune(userMessage[len(userMessage)-1])) { @@ -143,7 +143,7 @@ func runServ(c *cli.Context) error { setup(ctx, c.Bool("debug")) if setting.SSH.Disabled { - println("Gitea: SSH has been disabled") + println("Forgejo: SSH has been disabled") return nil } @@ -171,13 +171,13 @@ func runServ(c *cli.Context) error { } switch key.Type { case asymkey_model.KeyTypeDeploy: - println("Hi there! You've successfully authenticated with the deploy key named " + key.Name + ", but Gitea does not provide shell access.") + println("Hi there! You've successfully authenticated with the deploy key named " + key.Name + ", but Forgejo does not provide shell access.") case asymkey_model.KeyTypePrincipal: - println("Hi there! You've successfully authenticated with the principal " + key.Content + ", but Gitea does not provide shell access.") + println("Hi there! You've successfully authenticated with the principal " + key.Content + ", but Forgejo does not provide shell access.") default: - println("Hi there, " + user.Name + "! You've successfully authenticated with the key named " + key.Name + ", but Gitea does not provide shell access.") + println("Hi there, " + user.Name + "! You've successfully authenticated with the key named " + key.Name + ", but Forgejo does not provide shell access.") } - println("If this is unexpected, please log in with password and setup Gitea under another user.") + println("If this is unexpected, please log in with password and setup Forgejo under another user.") return nil } else if c.Bool("debug") { log.Debug("SSH_ORIGINAL_COMMAND: %s", os.Getenv("SSH_ORIGINAL_COMMAND")) diff --git a/cmd/web.go b/cmd/web.go index 01386251be..ef82486c1f 100644 --- a/cmd/web.go +++ b/cmd/web.go @@ -34,8 +34,8 @@ var PIDFile = "/run/gitea.pid" // CmdWeb represents the available web sub-command. var CmdWeb = &cli.Command{ Name: "web", - Usage: "Start Gitea web server", - Description: `Gitea web server is the only thing you need to run, + Usage: "Start the Forgejo web server", + Description: `The Forgejo web server is the only thing you need to run, and it takes care of all the other things for you`, Before: PrepareConsoleLoggerLevel(log.INFO), Action: runWeb, @@ -108,7 +108,7 @@ func createPIDFile(pidPath string) { } func showWebStartupMessage(msg string) { - log.Info("Gitea version: %s%s", setting.AppVer, setting.AppBuiltWith) + log.Info("Forgejo version: %s%s", setting.AppVer, setting.AppBuiltWith) log.Info("* RunMode: %s", setting.RunMode) log.Info("* AppPath: %s", setting.AppPath) log.Info("* WorkPath: %s", setting.AppWorkPath) @@ -136,13 +136,13 @@ func serveInstall(ctx *cli.Context) error { c := install.Routes() err := listen(c, false) if err != nil { - log.Critical("Unable to open listener for installer. Is Gitea already running?") + log.Critical("Unable to open listener for installer. Is Forgejo already running?") graceful.GetManager().DoGracefulShutdown() } select { case <-graceful.GetManager().IsShutdown(): <-graceful.GetManager().Done() - log.Info("PID: %d Gitea Web Finished", os.Getpid()) + log.Info("PID: %d Forgejo Web Finished", os.Getpid()) log.GetManager().Close() return err default: @@ -211,7 +211,7 @@ func serveInstalled(ctx *cli.Context) error { webRoutes := routers.NormalRoutes() err := listen(webRoutes, true) <-graceful.GetManager().Done() - log.Info("PID: %d Gitea Web Finished", os.Getpid()) + log.Info("PID: %d Forgejo Web Finished", os.Getpid()) log.GetManager().Close() return err } @@ -237,9 +237,9 @@ func runWeb(ctx *cli.Context) error { defer cancel() if os.Getppid() > 1 && len(os.Getenv("LISTEN_FDS")) > 0 { - log.Info("Restarting Gitea on PID: %d from parent PID: %d", os.Getpid(), os.Getppid()) + log.Info("Restarting Forgejo on PID: %d from parent PID: %d", os.Getpid(), os.Getppid()) } else { - log.Info("Starting Gitea on PID: %d", os.Getpid()) + log.Info("Starting Forgejo on PID: %d", os.Getpid()) } // Set pid file setting @@ -299,7 +299,7 @@ func listen(m http.Handler, handleRedirector bool) error { if setting.Protocol != setting.HTTPUnix && setting.Protocol != setting.FCGIUnix { listenAddr = net.JoinHostPort(listenAddr, setting.HTTPPort) } - _, _, finished := process.GetManager().AddTypedContext(graceful.GetManager().HammerContext(), "Web: Gitea Server", process.SystemProcessType, true) + _, _, finished := process.GetManager().AddTypedContext(graceful.GetManager().HammerContext(), "Web: Forgejo Server", process.SystemProcessType, true) defer finished() log.Info("Listen: %v://%s%s", setting.Protocol, listenAddr, setting.AppSubURL) // This can be useful for users, many users do wrong to their config and get strange behaviors behind a reverse-proxy. diff --git a/docker/README.md b/docker/README.md index a6d7c9a843..709623e290 100644 --- a/docker/README.md +++ b/docker/README.md @@ -1,7 +1,7 @@ -# Gitea - Docker +# Forgejo - Docker -Dockerfile is found in root of repository. +The Dockerfile can be found in the root of repository. [Dockerfile](https://codeberg.org/forgejo/forgejo/src/branch/forgejo/Dockerfile) & [Dockerfile.rootless](https://codeberg.org/forgejo/forgejo/src/branch/forgejo/Dockerfile.rootless). -Docker image can be found on [docker hub](https://hub.docker.com/r/gitea/gitea) +The Docker image can be found on [Codeberg](https://codeberg.org/forgejo/-/packages/container/forgejo/). -Documentation on using docker image can be found on [Gitea Docs site](https://docs.gitea.com/installation/install-with-docker-rootless) +Documentation on how you can use the docker image can be found on the [Forgejo documentation website](https://forgejo.org/docs/latest/admin/installation/#installation-with-docker). diff --git a/pyproject.toml b/pyproject.toml index d999a1476c..cf65f0ddfa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [tool.poetry] -name = "gitea" +name = "forgejo" version = "0.0.0" description = "" authors = [] diff --git a/routers/web/healthcheck/check.go b/routers/web/healthcheck/check.go index 85f47613f0..d278ee1709 100644 --- a/routers/web/healthcheck/check.go +++ b/routers/web/healthcheck/check.go @@ -105,7 +105,7 @@ func checkDatabase(ctx context.Context, checks checks) status { if !setting.EnableSQLite3 { st.Status = fail st.Time = getCheckTime() - log.Error("SQLite3 health check failed with error: %v", "this Gitea binary is built without SQLite3 enabled") + log.Error("SQLite3 health check failed with error: %v", "this Forgejo binary is built without SQLite3 enabled") } else { if _, err := os.Stat(setting.Database.Path); err != nil { st.Status = fail diff --git a/services/mailer/mail.go b/services/mailer/mail.go index ca27336f92..a514784f4e 100644 --- a/services/mailer/mail.go +++ b/services/mailer/mail.go @@ -60,7 +60,7 @@ func SendTestMail(email string) error { // No mail service configured return nil } - return gomail.Send(Sender, NewMessage(email, "Gitea Test Email!", "Gitea Test Email!").ToMessage()) + return gomail.Send(Sender, NewMessage(email, "Forgejo Test Email!", "Forgejo Test Email!").ToMessage()) } // sendUserMail sends a mail to the user diff --git a/templates/admin/auth/edit.tmpl b/templates/admin/auth/edit.tmpl index 25abefae00..65e82ba26f 100644 --- a/templates/admin/auth/edit.tmpl +++ b/templates/admin/auth/edit.tmpl @@ -132,7 +132,7 @@
- +
@@ -359,7 +359,7 @@
- +
diff --git a/templates/admin/auth/source/ldap.tmpl b/templates/admin/auth/source/ldap.tmpl index a584ac7628..b945a1ab1c 100644 --- a/templates/admin/auth/source/ldap.tmpl +++ b/templates/admin/auth/source/ldap.tmpl @@ -106,7 +106,7 @@
- +
diff --git a/templates/admin/auth/source/oauth.tmpl b/templates/admin/auth/source/oauth.tmpl index 63ad77e67b..da3a4f913a 100644 --- a/templates/admin/auth/source/oauth.tmpl +++ b/templates/admin/auth/source/oauth.tmpl @@ -100,7 +100,7 @@
- +
diff --git a/templates/base/head_navbar.tmpl b/templates/base/head_navbar.tmpl index effe4dcea9..b4a93688e3 100644 --- a/templates/base/head_navbar.tmpl +++ b/templates/base/head_navbar.tmpl @@ -48,7 +48,7 @@ {{template "custom/extra_links" .}} {{if not .IsSigned}} - {{ctx.Locale.Tr "help"}} + {{ctx.Locale.Tr "help"}} {{end}}
@@ -171,7 +171,7 @@ {{svg "octicon-tools"}} {{ctx.Locale.Tr "your_settings"}} - + {{svg "octicon-question"}} {{ctx.Locale.Tr "help"}} diff --git a/templates/install.tmpl b/templates/install.tmpl index 60d1d5fd93..3a9c94dcd6 100644 --- a/templates/install.tmpl +++ b/templates/install.tmpl @@ -124,7 +124,7 @@
- + {{ctx.Locale.Tr "install.domain_helper"}}
@@ -139,7 +139,7 @@
- + {{ctx.Locale.Tr "install.app_url_helper"}}
diff --git a/templates/package/content/alpine.tmpl b/templates/package/content/alpine.tmpl index a1003cd6ff..48e1dff939 100644 --- a/templates/package/content/alpine.tmpl +++ b/templates/package/content/alpine.tmpl @@ -18,7 +18,7 @@
- +
diff --git a/templates/package/content/cargo.tmpl b/templates/package/content/cargo.tmpl index 4dd7c3f731..5b4c809096 100644 --- a/templates/package/content/cargo.tmpl +++ b/templates/package/content/cargo.tmpl @@ -5,9 +5,9 @@
[registry]
-default = "gitea"
+default = "forgejo"
 
-[registries.gitea]
+[registries.forgejo]
 index = "sparse+" # Sparse index
 # index = "" # Git
 
@@ -19,7 +19,7 @@ git-fetch-with-cli = true
cargo add {{.PackageDescriptor.Package.Name}}@{{.PackageDescriptor.Version.Version}}
- +
diff --git a/templates/package/content/chef.tmpl b/templates/package/content/chef.tmpl index 0588c6e4b3..a2f69b8f84 100644 --- a/templates/package/content/chef.tmpl +++ b/templates/package/content/chef.tmpl @@ -11,7 +11,7 @@
knife supermarket install {{.PackageDescriptor.Package.Name}} {{.PackageDescriptor.Version.Version}}
- +
diff --git a/templates/package/content/composer.tmpl b/templates/package/content/composer.tmpl index 862f1c6925..3a4025fb33 100644 --- a/templates/package/content/composer.tmpl +++ b/templates/package/content/composer.tmpl @@ -17,7 +17,7 @@
composer require {{.PackageDescriptor.Package.Name}}:{{.PackageDescriptor.Version.Version}}
- +
diff --git a/templates/package/content/conan.tmpl b/templates/package/content/conan.tmpl index 55b84d12b1..fbbb44d8b7 100644 --- a/templates/package/content/conan.tmpl +++ b/templates/package/content/conan.tmpl @@ -8,10 +8,10 @@
-
conan install --remote=gitea {{.PackageDescriptor.Package.Name}}/{{.PackageDescriptor.Version.Version}}
+
conan install --remote=forgejo {{.PackageDescriptor.Package.Name}}/{{.PackageDescriptor.Version.Version}}
- +
diff --git a/templates/package/content/conda.tmpl b/templates/package/content/conda.tmpl index 0fd0c3db3f..d5905c76fb 100644 --- a/templates/package/content/conda.tmpl +++ b/templates/package/content/conda.tmpl @@ -16,7 +16,7 @@ default_channels:
conda install{{if $channel}} -c {{$channel}}{{end}} {{.PackageDescriptor.PackageProperties.GetByName "conda.name"}}={{.PackageDescriptor.Version.Version}}
- +
diff --git a/templates/package/content/container.tmpl b/templates/package/content/container.tmpl index f5ee902c94..b8d2768fa7 100644 --- a/templates/package/content/container.tmpl +++ b/templates/package/content/container.tmpl @@ -19,7 +19,7 @@
{{range .PackageDescriptor.Files}}{{if eq .File.LowerName "manifest.json"}}{{.Properties.GetByName "container.digest"}}{{end}}{{end}}
- +
diff --git a/templates/package/content/cran.tmpl b/templates/package/content/cran.tmpl index f9a3f70107..54ead877ba 100644 --- a/templates/package/content/cran.tmpl +++ b/templates/package/content/cran.tmpl @@ -4,14 +4,14 @@
-
options("repos" = c(getOption("repos"), c(gitea="")))
+
options("repos" = c(getOption("repos"), c(forgejo="")))
install.packages("{{.PackageDescriptor.Package.Name}}")
- +
diff --git a/templates/package/content/debian.tmpl b/templates/package/content/debian.tmpl index 1fde87f329..460e7cc3c5 100644 --- a/templates/package/content/debian.tmpl +++ b/templates/package/content/debian.tmpl @@ -4,8 +4,8 @@
-
sudo curl  -o /etc/apt/keyrings/gitea-{{$.PackageDescriptor.Owner.Name}}.asc
-echo "deb [signed-by=/etc/apt/keyrings/gitea-{{$.PackageDescriptor.Owner.Name}}.asc]  $distribution $component" | sudo tee -a /etc/apt/sources.list.d/gitea.list
+				
sudo curl  -o /etc/apt/keyrings/forgejo-{{$.PackageDescriptor.Owner.Name}}.asc
+echo "deb [signed-by=/etc/apt/keyrings/forgejo-{{$.PackageDescriptor.Owner.Name}}.asc]  $distribution $component" | sudo tee -a /etc/apt/sources.list.d/forgejo.list
 sudo apt update

{{ctx.Locale.Tr "packages.debian.registry.info" | Safe}}

@@ -16,7 +16,7 @@ sudo apt update
- +
diff --git a/templates/package/content/generic.tmpl b/templates/package/content/generic.tmpl index 05aa4aecad..70218ddf6b 100644 --- a/templates/package/content/generic.tmpl +++ b/templates/package/content/generic.tmpl @@ -11,7 +11,7 @@ curl -OJ - + diff --git a/templates/package/content/go.tmpl b/templates/package/content/go.tmpl index f98fc69fb6..3b2b478e0c 100644 --- a/templates/package/content/go.tmpl +++ b/templates/package/content/go.tmpl @@ -7,7 +7,7 @@
GOPROXY= go install {{$.PackageDescriptor.Package.Name}}@{{$.PackageDescriptor.Version.Version}}
- +
diff --git a/templates/package/content/helm.tmpl b/templates/package/content/helm.tmpl index 68e53133f1..7f39a0e78f 100644 --- a/templates/package/content/helm.tmpl +++ b/templates/package/content/helm.tmpl @@ -12,7 +12,7 @@ helm repo update
helm install {{.PackageDescriptor.Package.Name}} {{AppDomain}}/{{.PackageDescriptor.Package.Name}}
- +
diff --git a/templates/package/content/maven.tmpl b/templates/package/content/maven.tmpl index b2cd567e16..e9a4a26c8a 100644 --- a/templates/package/content/maven.tmpl +++ b/templates/package/content/maven.tmpl @@ -40,7 +40,7 @@
mvn dependency:get -DremoteRepositories= -Dartifact={{.PackageDescriptor.Metadata.GroupID}}:{{.PackageDescriptor.Metadata.ArtifactID}}:{{.PackageDescriptor.Version.Version}}
- +
diff --git a/templates/package/content/npm.tmpl b/templates/package/content/npm.tmpl index 882e999bed..3c493d38e6 100644 --- a/templates/package/content/npm.tmpl +++ b/templates/package/content/npm.tmpl @@ -15,7 +15,7 @@
"{{.PackageDescriptor.Package.Name}}": "{{.PackageDescriptor.Version.Version}}"
- +
diff --git a/templates/package/content/nuget.tmpl b/templates/package/content/nuget.tmpl index 04dac89843..80c7917ae2 100644 --- a/templates/package/content/nuget.tmpl +++ b/templates/package/content/nuget.tmpl @@ -11,7 +11,7 @@
dotnet add package --source {{.PackageDescriptor.Owner.Name}} --version {{.PackageDescriptor.Version.Version}} {{.PackageDescriptor.Package.Name}}
- +
diff --git a/templates/package/content/pub.tmpl b/templates/package/content/pub.tmpl index 8657d55dbf..316001a961 100644 --- a/templates/package/content/pub.tmpl +++ b/templates/package/content/pub.tmpl @@ -7,7 +7,7 @@
dart pub add {{.PackageDescriptor.Package.Name}}:{{.PackageDescriptor.Version.Version}} --hosted-url=
- +
diff --git a/templates/package/content/pypi.tmpl b/templates/package/content/pypi.tmpl index ef9beb4280..c4bfe487e0 100644 --- a/templates/package/content/pypi.tmpl +++ b/templates/package/content/pypi.tmpl @@ -7,7 +7,7 @@
pip install --index-url  {{.PackageDescriptor.Package.Name}}
- +
diff --git a/templates/package/content/rpm.tmpl b/templates/package/content/rpm.tmpl index 0f128fd3fb..aedac6ca43 100644 --- a/templates/package/content/rpm.tmpl +++ b/templates/package/content/rpm.tmpl @@ -31,7 +31,7 @@ zypper install {{$.PackageDescriptor.Package.Name}}
- +
diff --git a/templates/package/content/rubygems.tmpl b/templates/package/content/rubygems.tmpl index 180ff60f7d..bc99af4a70 100644 --- a/templates/package/content/rubygems.tmpl +++ b/templates/package/content/rubygems.tmpl @@ -13,7 +13,7 @@ end
- +
diff --git a/templates/package/content/swift.tmpl b/templates/package/content/swift.tmpl index ca36033df9..9c2e35ebae 100644 --- a/templates/package/content/swift.tmpl +++ b/templates/package/content/swift.tmpl @@ -17,7 +17,7 @@
swift package resolve
- +
diff --git a/templates/package/content/vagrant.tmpl b/templates/package/content/vagrant.tmpl index bbb461e4fb..61a4ae8b2d 100644 --- a/templates/package/content/vagrant.tmpl +++ b/templates/package/content/vagrant.tmpl @@ -7,7 +7,7 @@
vagrant box add --box-version {{.PackageDescriptor.Version.Version}} ""
- +
diff --git a/templates/package/shared/cargo.tmpl b/templates/package/shared/cargo.tmpl index b452065881..9015bc6616 100644 --- a/templates/package/shared/cargo.tmpl +++ b/templates/package/shared/cargo.tmpl @@ -18,7 +18,7 @@
- +
diff --git a/templates/package/shared/list.tmpl b/templates/package/shared/list.tmpl index 740a96bb8d..299c182dc9 100644 --- a/templates/package/shared/list.tmpl +++ b/templates/package/shared/list.tmpl @@ -47,7 +47,7 @@ {{$packagesUrl := URLJoin .Owner.HomeLink "-" "packages"}}

{{ctx.Locale.Tr "packages.empty.repo" $packagesUrl | Safe}}

{{end}} -

{{ctx.Locale.Tr "packages.empty.documentation" "https://docs.gitea.com/usage/packages/overview/" | Safe}}

+

{{ctx.Locale.Tr "packages.empty.documentation" "https://forgejo.org/docs/latest/user/packages/" | Safe}}

{{else}}

{{ctx.Locale.Tr "packages.filter.no_result"}}

diff --git a/templates/repo/settings/webhook/discord.tmpl b/templates/repo/settings/webhook/discord.tmpl index 25dc219ee1..9a1ebf8377 100644 --- a/templates/repo/settings/webhook/discord.tmpl +++ b/templates/repo/settings/webhook/discord.tmpl @@ -8,7 +8,7 @@
- +
diff --git a/templates/repo/settings/webhook/packagist.tmpl b/templates/repo/settings/webhook/packagist.tmpl index fc373951d1..667a4d4318 100644 --- a/templates/repo/settings/webhook/packagist.tmpl +++ b/templates/repo/settings/webhook/packagist.tmpl @@ -4,7 +4,7 @@ {{.CsrfTokenHtml}}
- +
diff --git a/templates/repo/settings/webhook/slack.tmpl b/templates/repo/settings/webhook/slack.tmpl index b367aed5ec..3fdea3bfd2 100644 --- a/templates/repo/settings/webhook/slack.tmpl +++ b/templates/repo/settings/webhook/slack.tmpl @@ -13,7 +13,7 @@
- +
diff --git a/templates/shared/actions/runner_list.tmpl b/templates/shared/actions/runner_list.tmpl index 0e8f3cb874..cf4210ab9e 100644 --- a/templates/shared/actions/runner_list.tmpl +++ b/templates/shared/actions/runner_list.tmpl @@ -10,7 +10,7 @@ From f7f813ab84866b41d02ac1c68dfe5fbf0cc79489 Mon Sep 17 00:00:00 2001 From: Gusted Date: Mon, 9 Jan 2023 22:28:04 +0100 Subject: [PATCH 11/26] [BRANDING] Replace branding in Swagger - "Gitea" is automatically being determined in Swagger and cannot be overridden, therefor we override it after `swagger generate spec` is run. - Resolves https://codeberg.org/forgejo/forgejo/issues/226 (cherry picked from commit 0b453807656b6fbe54284d865e59880460f3d253) [BRANDING] Change Swagger title to Forgejo API (cherry picked from commit 79f6a70b53421be9984a9ad96ebd0d06ab5af02e) (cherry picked from commit 6cd47afe3366a615d40655a435275d5543910065) (cherry picked from commit a7ae2e4c09431cd7a1f18c5b87b9dd87981b538d) (cherry picked from commit 59f837e4661233dafc202ded9ad907dbdf7e3e69) (cherry picked from commit c1c3d1f0e63b880baa32d285d3eba6034137b45a) (cherry picked from commit 4b088713fb0a55c2c37f734ce82f13190ca412dd) (cherry picked from commit 3df1d2137112a95279a8c84a8601e4c137d75d4f) (cherry picked from commit a4a5fdbde4f9ebbf5ba6ba66c8f20a89e54860de) (cherry picked from commit 57aa9ed710a95aa51ae3824873c3766b38da7850) (cherry picked from commit 948b49bf9449af744a1f2e1324187897ed1c0809) (cherry picked from commit be4929ab6a802d7d748f537ab8b798e30588c1d4) (cherry picked from commit 9ecb507457d8a6aa60713762a1a5d2995ed986e5) Conflicts: templates/swagger/ui.tmpl (cherry picked from commit 8e57e688637b9fbd3c33d3e38aed8768a2c07208) (cherry picked from commit f0b3f621e34130c75b35c113ad509ab73118e123) (cherry picked from commit 5b0a6d093ea5210a5ba27705b1d1636e23da8738) (cherry picked from commit 2e0f6b5de8837a439ecadaf3434d006d7014016c) (cherry picked from commit bb08076f5c26481d78855823c2daa1a76d3865fb) (cherry picked from commit 5c9360e38a41a4494b1b1b247f9d57b1a0d91ef0) (cherry picked from commit 2f277561489e1228af163fa4e5d153ceb7eec864) (cherry picked from commit 6fce7eeb511d949249e045a995cc637d3788a1f0) (cherry picked from commit 8d27e7bebd961468bd492c4d64e132a46d97f62b) (cherry picked from commit fda2ee2aaedac8f394d9fc38085f768c775d2c38) (cherry picked from commit fe0489a4d856655fdcf93c16a41995709c47f78f) (cherry picked from commit fe9479b357d2ef0f5fd8247e8356ce7c75135b88) (cherry picked from commit 1deadb2f35c8c0c87cd93b6f04675312b1e667bb) (cherry picked from commit d1cb84b2f225c484755172735841e3b75abce409) (cherry picked from commit 9de15d49f8ff0ef0803e8b3a7437a45358e924b9) (cherry picked from commit 461fbe219c30de7e756ce2cb6dbc354417655a6f) (cherry picked from commit f39bf3ba5b6325898968533e79fdfc5fe74c3810) (cherry picked from commit b3f31c2f7bc5b4f5ed3f7fb6e6a6649331eb179a) (cherry picked from commit b9f493c139bc40bb5aaf361b813019968be75968) (cherry picked from commit 83781b16411d49f2f27b622ac3e806234b477984) (cherry picked from commit 4438ee0434f88fc0dcb917304a5baf5b8c2d11a8) (cherry picked from commit 56b6b368334fe3d11fb55b8e35bbfc314f45405a) (cherry picked from commit dde88ed2fda2403159e78f174357c5e993bce1de) (cherry picked from commit 96bb13ce5428dd88866c92cd4d9b4e216d7e544f) (cherry picked from commit aacc824826922e1a17be556dfbaf36667950a5aa) (cherry picked from commit 0db579b0b365e832b4722fb1a70906c77d384afc) (cherry picked from commit c1fd3777defb547c1aef01b95d7a0feba2258ad9) Conflicts: templates/swagger/v1_json.tmpl https://codeberg.org/forgejo/forgejo/pulls/1832 (cherry picked from commit 5c8a6e1ca883cc0ac65b25ff4fde2e5d52b274f4) (cherry picked from commit ff145b32c729ace3ed11bfbb5a7f1aba5454e999) (cherry picked from commit db9b904b84158c27b1c6004b9ca7f1f7f89066c7) (cherry picked from commit a79e2b2b560851c895c776e737bcf44336e0b31d) (cherry picked from commit a5830247dfece7ee3609bfe89050743d175d924e) (cherry picked from commit 9120bc461727f35062bd2bc8129f422f7e435a0f) (cherry picked from commit cd873945b26ed3008b75de52c8a829880d684126) (cherry picked from commit 6a48e3ea5be6cf818dbccd36611ec07406d6bd35) (cherry picked from commit 489c1ac8fbd87e3f23d91b829728f77e6aafe57c) (cherry picked from commit a1f7fd771eda03c8009f2844f35ea1fdcc4fd158) --- Makefile | 2 ++ templates/swagger/ui.tmpl | 2 +- templates/swagger/v1_json.tmpl | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 0e0b389a11..c4de2d2bf6 100644 --- a/Makefile +++ b/Makefile @@ -158,6 +158,7 @@ SWAGGER_SPEC_S_TMPL := s|"basePath": *"/api/v1"|"basePath": "{{AppSubUrl \| JSEs SWAGGER_SPEC_S_JSON := s|"basePath": *"{{AppSubUrl \| JSEscape \| Safe}}/api/v1"|"basePath": "/api/v1"|g SWAGGER_EXCLUDE := code.gitea.io/sdk SWAGGER_NEWLINE_COMMAND := -e '$$a\' +SWAGGER_SPEC_BRANDING := s|Gitea API|Forgejo API|g TEST_MYSQL_HOST ?= mysql:3306 TEST_MYSQL_DBNAME ?= testgitea @@ -343,6 +344,7 @@ $(SWAGGER_SPEC): $(GO_SOURCES_NO_BINDATA) $(GO) run $(SWAGGER_PACKAGE) generate spec -x "$(SWAGGER_EXCLUDE)" -o './$(SWAGGER_SPEC)' $(SED_INPLACE) '$(SWAGGER_SPEC_S_TMPL)' './$(SWAGGER_SPEC)' $(SED_INPLACE) $(SWAGGER_NEWLINE_COMMAND) './$(SWAGGER_SPEC)' + $(SED_INPLACE) '$(SWAGGER_SPEC_BRANDING)' './$(SWAGGER_SPEC)' .PHONY: swagger-check swagger-check: generate-swagger diff --git a/templates/swagger/ui.tmpl b/templates/swagger/ui.tmpl index 9935ab9c5a..bcdc96c54f 100644 --- a/templates/swagger/ui.tmpl +++ b/templates/swagger/ui.tmpl @@ -1,7 +1,7 @@ - Gitea API + Forgejo API diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl index 1b56e84766..aa05d72247 100644 --- a/templates/swagger/v1_json.tmpl +++ b/templates/swagger/v1_json.tmpl @@ -13,8 +13,8 @@ ], "swagger": "2.0", "info": { - "description": "This documentation describes the Gitea API.", - "title": "Gitea API", + "description": "This documentation describes the Forgejo API.", + "title": "Forgejo API", "license": { "name": "MIT", "url": "http://opensource.org/licenses/MIT" From ec8f162b33e05baf6795aeac43b1daf9e2989d5a Mon Sep 17 00:00:00 2001 From: Earl Warren Date: Sat, 14 Jan 2023 08:16:30 +0100 Subject: [PATCH 12/26] [BRANDING] add X-Forgejo-* headers (cherry picked from commit 0a3388f93f53f53cce79ebcc194d67979cbe61cc) (cherry picked from commit 7eba0a440a3138443d0b7461560f9f6f1c46b256) (cherry picked from commit eb9646c7ef0b1a9e73bf22806acbc2caeaee7ff3) (cherry picked from commit f1972578f5cb72ad9e1ef1ded9aa324b1d669864) Conflicts: (cherry picked from commit 7f96222fb4b4a773193a11d4ba76f449013c30ef) (cherry picked from commit e3c7c9fe7b5809cdb75f1eb629c82b27986f7e98) (cherry picked from commit 84fdead90242e68493efb96a7fee1e3b5fd417e9) (cherry picked from commit 85148e11961b86269b7cda30294a4cdc817787d0) (cherry picked from commit c0086bd70d39d9a1075fa624cdbfdf5ef26f7a2c) (cherry picked from commit d1e31ef31817e5e811f6bea7aee5582383d53b12) (cherry picked from commit 681d3ed5c43d45f802dc13c58c5b821da938374d) (cherry picked from commit 76a3001f5bc5a064054514c179ba14008952e914) (cherry picked from commit a55a9567d36f6b60557df3df3a0801c0fccec963) (cherry picked from commit aa7adc167d4e4ee7879b88fe799f2afca2fd5531) (cherry picked from commit d5354cb52c26ab0090388d019efe61770e7ec452) (cherry picked from commit 472c48999699420d15aaa7c61a42db8136221616) (cherry picked from commit dc816d065b715f2bfdc7fa68fa2d254f3d481b35) (cherry picked from commit 4795f9ea85eac21c70db1159914a7b7b035b7374) (cherry picked from commit ddd4ae53433d4adab823aa974c0f1c39d0394414) (cherry picked from commit 0e95f2a36b1c0f480f94fef85d341792c7a7b759) (cherry picked from commit 47a41a4e7b3c5d3cf247dafef17a64415069f171) (cherry picked from commit d4416fcd3ee0f1d74c2b03fbe40c15b83f80b56d) (cherry picked from commit f279d153b61677e2a766859c7a7688b0327e7c9a) (cherry picked from commit 959f908ffdc9dd2fb07aefdf7cb85ba34f9071a3) (cherry picked from commit 82df95310176a083abb9eaa51de9e9754d4f72c6) (cherry picked from commit 8f8c9fd9e3deca0af0f087fc44fcd271e8440a7b) (cherry picked from commit d4a0db7706f30a394192c6023072ad5185a7d600) (cherry picked from commit 44594d623942128072bd86a20b5b90603517005e) (cherry picked from commit 62b1de579ebfe326340b218cc9a980b705b8e6a2) (cherry picked from commit 507abee353f120247276fe9165f09976421f926d) (cherry picked from commit 8c36ac42c7091661b2f3fec70fc88a74043628fc) (cherry picked from commit 72f74067f4c781e1c4936f0da2653a35a6f1c82b) (cherry picked from commit 8e5a9e187b50a6eb8523c6dda4ce1a23c08a0b5a) (cherry picked from commit cff8f43c7e4ab86a468ea49f7b945412d9911151) (cherry picked from commit 493cc93e6d4b738a5b81d1a0db831bf9f430e9de) (cherry picked from commit c94352b4d460e631c223b45516e42765357bf67d) (cherry picked from commit 3f622c51a70200bf67d209d0cec78db2f25b65db) (cherry picked from commit 84c62ad447a94ebd5d1906e41c29efd3a0816c70) (cherry picked from commit ba186c8ee40e95cd4f40b6205d673dfe20528825) (cherry picked from commit 4238ef291dffb68b350aa2f410e934d52cb0a1eb) (cherry picked from commit 3ef1bd61b9a45271e69c1529875e84b379073318) (cherry picked from commit f304086bb693d3a0a58871ba8cb1354ba290695c) (cherry picked from commit 64a2edabcb7bc9e3961ea45f83cf6488e4cd99f2) (cherry picked from commit 6accea6ba7f2b0f98b6bef5b1483ee39ad68edba) (cherry picked from commit 2296e93a42939af90dee718bc8ff691009238c47) (cherry picked from commit 2bf0be3b1bff62923dd04e1a02956ced1eda97af) (cherry picked from commit fb4652b197ec64280689e6d065492f916f7e26f3) (cherry picked from commit 7d462cf353ef87007025bbd76aebef429be10562) (cherry picked from commit f5319660ddecea208163b5bcd37444322e571b51) --- modules/httpcache/httpcache.go | 1 + modules/httpcache/httpcache_test.go | 3 +++ routers/api/v1/api.go | 2 +- routers/api/v1/repo/file.go | 7 ++++++- services/mailer/mail.go | 10 ++++++++++ services/webhook/deliver.go | 4 ++++ 6 files changed, 25 insertions(+), 2 deletions(-) diff --git a/modules/httpcache/httpcache.go b/modules/httpcache/httpcache.go index 40458dfc33..b4af371541 100644 --- a/modules/httpcache/httpcache.go +++ b/modules/httpcache/httpcache.go @@ -30,6 +30,7 @@ func SetCacheControlInHeader(h http.Header, maxAge time.Duration, additionalDire // to remind users they are using non-prod setting. h.Set("X-Gitea-Debug", "RUN_MODE="+setting.RunMode) + h.Set("X-Forgejo-Debug", "RUN_MODE="+setting.RunMode) } h.Set("Cache-Control", strings.Join(append(directives, additionalDirectives...), ", ")) diff --git a/modules/httpcache/httpcache_test.go b/modules/httpcache/httpcache_test.go index d81f06097c..65a8a9b8fb 100644 --- a/modules/httpcache/httpcache_test.go +++ b/modules/httpcache/httpcache_test.go @@ -18,6 +18,9 @@ func countFormalHeaders(h http.Header) (c int) { if strings.HasPrefix(k, "X-Gitea-") { continue } + if strings.HasPrefix(k, "X-Forgejo-") { + continue + } c++ } return c diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go index e244a0e4f9..2168d0d88b 100644 --- a/routers/api/v1/api.go +++ b/routers/api/v1/api.go @@ -825,7 +825,7 @@ func Routes() *web.Route { AllowedOrigins: setting.CORSConfig.AllowDomain, AllowedMethods: setting.CORSConfig.Methods, AllowCredentials: setting.CORSConfig.AllowCredentials, - AllowedHeaders: append([]string{"Authorization", "X-Gitea-OTP"}, setting.CORSConfig.Headers...), + AllowedHeaders: append([]string{"Authorization", "X-Gitea-OTP", "X-Forgejo-OTP"}, setting.CORSConfig.Headers...), MaxAge: int(setting.CORSConfig.MaxAge.Seconds()), })) } diff --git a/routers/api/v1/repo/file.go b/routers/api/v1/repo/file.go index 065d6bf8b2..2f678a4549 100644 --- a/routers/api/v1/repo/file.go +++ b/routers/api/v1/repo/file.go @@ -34,7 +34,10 @@ import ( files_service "code.gitea.io/gitea/services/repository/files" ) -const giteaObjectTypeHeader = "X-Gitea-Object-Type" +const ( + giteaObjectTypeHeader = "X-Gitea-Object-Type" + forgejoObjectTypeHeader = "X-Forgejo-Object-Type" +) // GetRawFile get a file by path on a repository func GetRawFile(ctx *context.APIContext) { @@ -81,6 +84,7 @@ func GetRawFile(ctx *context.APIContext) { } ctx.RespHeader().Set(giteaObjectTypeHeader, string(files_service.GetObjectTypeFromTreeEntry(entry))) + ctx.RespHeader().Set(forgejoObjectTypeHeader, string(files_service.GetObjectTypeFromTreeEntry(entry))) if err := common.ServeBlob(ctx.Base, ctx.Repo.TreePath, blob, lastModified); err != nil { ctx.Error(http.StatusInternalServerError, "ServeBlob", err) @@ -130,6 +134,7 @@ func GetRawFileOrLFS(ctx *context.APIContext) { } ctx.RespHeader().Set(giteaObjectTypeHeader, string(files_service.GetObjectTypeFromTreeEntry(entry))) + ctx.RespHeader().Set(forgejoObjectTypeHeader, string(files_service.GetObjectTypeFromTreeEntry(entry))) // LFS Pointer files are at most 1024 bytes - so any blob greater than 1024 bytes cannot be an LFS file if blob.Size() > 1024 { diff --git a/services/mailer/mail.go b/services/mailer/mail.go index a514784f4e..7b64eead2f 100644 --- a/services/mailer/mail.go +++ b/services/mailer/mail.go @@ -409,6 +409,16 @@ func generateAdditionalHeaders(ctx *mailCommentContext, reason string, recipient "X-Gitea-Issue-ID": strconv.FormatInt(ctx.Issue.Index, 10), "X-Gitea-Issue-Link": ctx.Issue.HTMLURL(), + "X-Forgejo-Reason": reason, + "X-Forgejo-Sender": ctx.Doer.DisplayName(), + "X-Forgejo-Recipient": recipient.DisplayName(), + "X-Forgejo-Recipient-Address": recipient.Email, + "X-Forgejo-Repository": repo.Name, + "X-Forgejo-Repository-Path": repo.FullName(), + "X-Forgejo-Repository-Link": repo.HTMLURL(), + "X-Forgejo-Issue-ID": strconv.FormatInt(ctx.Issue.Index, 10), + "X-Forgejo-Issue-Link": ctx.Issue.HTMLURL(), + "X-GitHub-Reason": reason, "X-GitHub-Sender": ctx.Doer.Name, "X-GitHub-Recipient": recipient.Name, diff --git a/services/webhook/deliver.go b/services/webhook/deliver.go index 8f728d3aa6..c86b037ad5 100644 --- a/services/webhook/deliver.go +++ b/services/webhook/deliver.go @@ -123,6 +123,10 @@ func Deliver(ctx context.Context, t *webhook_model.HookTask) error { event := t.EventType.Event() eventType := string(t.EventType) + req.Header.Add("X-Forgejo-Delivery", t.UUID) + req.Header.Add("X-Forgejo-Event", event) + req.Header.Add("X-Forgejo-Event-Type", eventType) + req.Header.Add("X-Forgejo-Signature", signatureSHA256) req.Header.Add("X-Gitea-Delivery", t.UUID) req.Header.Add("X-Gitea-Event", event) req.Header.Add("X-Gitea-Event-Type", eventType) From e20cd83bc5479bd76ff1a248f0e28ef0bea6742b Mon Sep 17 00:00:00 2001 From: Earl Warren Date: Sat, 14 Jan 2023 10:07:01 +0100 Subject: [PATCH 13/26] [BRANDING] add the forgejo webhook type & update webhook docs URLs templates/swagger/v1_json.tmpl updated with `make generate-swagger` (cherry picked from commit 88899c492efeedd138ba088a36b9c0bc733ead7b) (cherry picked from commit 7171bd9617c32c4911e3bdbc23c02a19e80d2465) (cherry picked from commit 1a742446c17aef9ca62fe75bfc0a388d40138154) (cherry picked from commit d7c189d7b2f9fea299a31adf068db969920ae39d) Conflicts: routers/web/web.go (cherry picked from commit cbdea868e41fb38ca491f8b449c3e525ec82d6b9) (cherry picked from commit 6cd150483b06e17aee023c0afd01a3f2460b3415) (cherry picked from commit 47246da8d3f50a02d11b77b3d402618b144aa720) (cherry picked from commit f2aa0e6b769d432e627798bcf294b04b7d253213) (cherry picked from commit 5a4fc69a16de8d6199ea24198299297ef7a3587b) (cherry picked from commit 48e444ca09c22f930514a01846b0c8bc3cef35ab) (cherry picked from commit 888e53781175d8d977f66d78991bd66563fcddfb) (cherry picked from commit 5121f493c99f19d8050aa09224ac3532b4100ec7) (cherry picked from commit 9394e55fdf80bf3d7bf8b2aba561ad44a84e3913) (cherry picked from commit 3a2ce51768de65892e3ec73596e3862354c9502e) (cherry picked from commit 719ead3a651f12afbb59c856914b0085e5cee157) (cherry picked from commit 83e6f82e2aea619a3cd502e133773d33c0e60133) (cherry picked from commit 494a429b21c6234be38b9e3db0f930fbb8118205) (cherry picked from commit 4d775db6b41f731e956cc6bb9217ef349b4a3635) (cherry picked from commit b68f777dc2822ec5c4e30186675cc82daec092a9) (cherry picked from commit 5b934023fa58820f27c349c26f2a1ce89aee6795) (cherry picked from commit 3b1ed8b16c73374cd5b6339f5315229dc82488da) (cherry picked from commit 6bc4a46c9fc6472e1c4bf0bb20dea6867f1b392f) (cherry picked from commit 8064bb24a3c752a86271f154ad4d0c4763e07295) Conflicts: templates/admin/hook_new.tmpl templates/org/settings/hook_new.tmpl templates/repo/settings/webhook/base_list.tmpl templates/repo/settings/webhook/new.tmpl templates/user/settings/hook_new.tmpl https://codeberg.org/forgejo/forgejo/pulls/1181 (cherry picked from commit 55f5588a9150d8912c0f8342495f858e4e1e2959) (cherry picked from commit a428bc06b353e7b678acc6a1ec2576608f1a5d9a) (cherry picked from commit d2186eceb960773d037756c991f50d177fd63954) (cherry picked from commit b4e126e9afd1c51b214e36a585bb454dac32862f) (cherry picked from commit e4c7a92c2d7142cac74cf05a2b1fe3f0bd0c7373) (cherry picked from commit a7165c8146a604b6ec5f8ee4db4c926fef180857) Conflicts: templates/admin/hook_new.tmpl templates/repo/settings/webhook/new.tmpl https://codeberg.org/forgejo/forgejo/pulls/1420 [BRANDING] add the forgejo webhook type & update webhook docs URLs (squash) gitea logo for gitea webhooks Refs: https://codeberg.org/forgejo/forgejo/issues/1367 (cherry picked from commit 2d8c1b93734acec918729e27c5613a8f9fb41ceb) (cherry picked from commit 9135a5e1dbcff07e9fff4c1001fcac8c05e0c82b) (cherry picked from commit 270f4020b0714ac553498fc986457b0c627d85a6) (cherry picked from commit 33e5e2f0d898639bae05225437aeb4afa2678360) (cherry picked from commit 7af8bcf4791ade3ca80d449629bb2eadd0ad25ba) Conflicts: tests/integration/links_test.go https://codeberg.org/forgejo/forgejo/pulls/1548 (cherry picked from commit ce2a434dcf9ad23337aaa0cc30dc069bbc79744c) (cherry picked from commit c2fa42b4fda37db8d5d4efc11834546d5de3d6ad) (cherry picked from commit 3858c8d4db2ceaf79bd5ebed54382cbdd6491a5b) (cherry picked from commit ebb0ae49208adeb5da4c6b442990db1b1dbe91d0) (cherry picked from commit 93d354c418e6da1971dd7f1749cb700627f1f6d2) (cherry picked from commit d5b08a2a4be2a48925dc089f5ec312188c60036c) (cherry picked from commit e5e5caffaa69c2f2be300cc97ec500a993ac6b3b) (cherry picked from commit 974d4057000f6989eb4b3440271c78dc05927312) (cherry picked from commit e654fbccb1ddfd9e494ce4560e5ac1620d85f7c6) (cherry picked from commit 85515977fb2fb6f6ae13f7b011bfe9f9c6d0425f) [BRANDING] add the forgejo webhook type & update webhook docs URLs (squash) ctx.Locale (cherry picked from commit e192647bc0f1d19b144e5ab1b286e11b2466eecd) (cherry picked from commit 95fb1b724201b4d0dc1ef0ffb2745b2977c73286) (cherry picked from commit ea7bd8022fc780b83de4a9ef5595cb0067e6e9d8) (cherry picked from commit bf8465ccd07a0be493d2faf21e1e2c62766513a4) (cherry picked from commit e1baa0a3007e2cc9a569da7d1e48785744d5cde6) (cherry picked from commit 01b4f4c51428fad992e95615e3d55be54b4f84f9) (cherry picked from commit da330b1e51916bb3b55167b5fefe86787a470e1f) (cherry picked from commit 7b26c27c209c7ee5dbb45b74bd253c1bc713f5b5) (cherry picked from commit 0c781e6f6d411335b4d22cd6a691b409379eba62) (cherry picked from commit 0f663a8414e248f67d18896863d34f03abd9738d) (cherry picked from commit 3297fd4f15ee7885d7b88c79e1ce70832cc60f78) (cherry picked from commit 2f4ef403cb9e92c0a0785b860747283bd754f826) --- modules/setting/webhook.go | 2 +- modules/structs/hook.go | 2 +- modules/webhook/type.go | 1 + routers/web/repo/setting/webhook.go | 30 +++++++++++++- routers/web/web.go | 2 + services/webhook/webhook.go | 4 +- .../repo/settings/webhook/base_list.tmpl | 4 ++ templates/repo/settings/webhook/forgejo.tmpl | 40 +++++++++++++++++++ templates/repo/settings/webhook/gitea.tmpl | 2 +- templates/repo/settings/webhook/gogs.tmpl | 2 +- templates/shared/webhook/icon.tmpl | 6 ++- templates/swagger/v1_json.tmpl | 1 + templates/webhook/new.tmpl | 1 + tests/integration/links_test.go | 30 ++++++++++++++ 14 files changed, 118 insertions(+), 9 deletions(-) create mode 100644 templates/repo/settings/webhook/forgejo.tmpl diff --git a/modules/setting/webhook.go b/modules/setting/webhook.go index c01261dbbd..b56c55c439 100644 --- a/modules/setting/webhook.go +++ b/modules/setting/webhook.go @@ -35,7 +35,7 @@ func loadWebhookFrom(rootCfg ConfigProvider) { Webhook.DeliverTimeout = sec.Key("DELIVER_TIMEOUT").MustInt(5) Webhook.SkipTLSVerify = sec.Key("SKIP_TLS_VERIFY").MustBool() Webhook.AllowedHostList = sec.Key("ALLOWED_HOST_LIST").MustString("") - Webhook.Types = []string{"gitea", "gogs", "slack", "discord", "dingtalk", "telegram", "msteams", "feishu", "matrix", "wechatwork", "packagist"} + Webhook.Types = []string{"forgejo", "gitea", "gogs", "slack", "discord", "dingtalk", "telegram", "msteams", "feishu", "matrix", "wechatwork", "packagist"} Webhook.PagingNum = sec.Key("PAGING_NUM").MustInt(10) Webhook.ProxyURL = sec.Key("PROXY_URL").MustString("") if Webhook.ProxyURL != "" { diff --git a/modules/structs/hook.go b/modules/structs/hook.go index 0babe84410..9afcebdc59 100644 --- a/modules/structs/hook.go +++ b/modules/structs/hook.go @@ -41,7 +41,7 @@ type CreateHookOptionConfig map[string]string // CreateHookOption options when create a hook type CreateHookOption struct { // required: true - // enum: dingtalk,discord,gitea,gogs,msteams,slack,telegram,feishu,wechatwork,packagist + // enum: forgejo,dingtalk,discord,gitea,gogs,msteams,slack,telegram,feishu,wechatwork,packagist Type string `json:"type" binding:"Required"` // required: true Config CreateHookOptionConfig `json:"config" binding:"Required"` diff --git a/modules/webhook/type.go b/modules/webhook/type.go index 0013691c02..0d2aef5e15 100644 --- a/modules/webhook/type.go +++ b/modules/webhook/type.go @@ -73,6 +73,7 @@ type HookType = string // Types of webhooks const ( + FORGEJO HookType = "forgejo" GITEA HookType = "gitea" GOGS HookType = "gogs" SLACK HookType = "slack" diff --git a/routers/web/repo/setting/webhook.go b/routers/web/repo/setting/webhook.go index ab3c70006f..2ae4cf9f16 100644 --- a/routers/web/repo/setting/webhook.go +++ b/routers/web/repo/setting/webhook.go @@ -45,7 +45,7 @@ func Webhooks(ctx *context.Context) { ctx.Data["PageIsSettingsHooks"] = true ctx.Data["BaseLink"] = ctx.Repo.RepoLink + "/settings/hooks" ctx.Data["BaseLinkNew"] = ctx.Repo.RepoLink + "/settings/hooks" - ctx.Data["Description"] = ctx.Tr("repo.settings.hooks_desc", "https://docs.gitea.com/usage/webhooks") + ctx.Data["Description"] = ctx.Tr("repo.settings.hooks_desc", "https://forgejo.org/docs/latest/user/webhooks/") ws, err := db.Find[webhook.Webhook](ctx, webhook.ListWebhookOptions{RepoID: ctx.Repo.Repository.ID}) if err != nil { @@ -310,6 +310,34 @@ func editWebhook(ctx *context.Context, params webhookParams) { ctx.Redirect(fmt.Sprintf("%s/%d", orCtx.Link, w.ID)) } +// ForgejoHooksNewPost response for creating Forgejo webhook +func ForgejoHooksNewPost(ctx *context.Context) { + createWebhook(ctx, forgejoHookParams(ctx)) +} + +// ForgejoHooksEditPost response for editing Forgejo webhook +func ForgejoHooksEditPost(ctx *context.Context) { + editWebhook(ctx, forgejoHookParams(ctx)) +} + +func forgejoHookParams(ctx *context.Context) webhookParams { + form := web.GetForm(ctx).(*forms.NewWebhookForm) + + contentType := webhook.ContentTypeJSON + if webhook.HookContentType(form.ContentType) == webhook.ContentTypeForm { + contentType = webhook.ContentTypeForm + } + + return webhookParams{ + Type: webhook_module.FORGEJO, + URL: form.PayloadURL, + ContentType: contentType, + Secret: form.Secret, + HTTPMethod: form.HTTPMethod, + WebhookForm: form.WebhookForm, + } +} + // GiteaHooksNewPost response for creating Gitea webhook func GiteaHooksNewPost(ctx *context.Context) { createWebhook(ctx, giteaHookParams(ctx)) diff --git a/routers/web/web.go b/routers/web/web.go index 998c42799c..1a7e20d3f9 100644 --- a/routers/web/web.go +++ b/routers/web/web.go @@ -406,6 +406,7 @@ func registerRoutes(m *web.Route) { addWebhookAddRoutes := func() { m.Get("/{type}/new", repo_setting.WebhooksNew) + m.Post("/forgejo/new", web.Bind(forms.NewWebhookForm{}), repo_setting.ForgejoHooksNewPost) m.Post("/gitea/new", web.Bind(forms.NewWebhookForm{}), repo_setting.GiteaHooksNewPost) m.Post("/gogs/new", web.Bind(forms.NewGogshookForm{}), repo_setting.GogsHooksNewPost) m.Post("/slack/new", web.Bind(forms.NewSlackHookForm{}), repo_setting.SlackHooksNewPost) @@ -420,6 +421,7 @@ func registerRoutes(m *web.Route) { } addWebhookEditRoutes := func() { + m.Post("/forgejo/{id}", web.Bind(forms.NewWebhookForm{}), repo_setting.ForgejoHooksEditPost) m.Post("/gitea/{id}", web.Bind(forms.NewWebhookForm{}), repo_setting.GiteaHooksEditPost) m.Post("/gogs/{id}", web.Bind(forms.NewGogshookForm{}), repo_setting.GogsHooksEditPost) m.Post("/slack/{id}", web.Bind(forms.NewSlackHookForm{}), repo_setting.SlackHooksEditPost) diff --git a/services/webhook/webhook.go b/services/webhook/webhook.go index ac18da3525..068be29ccb 100644 --- a/services/webhook/webhook.go +++ b/services/webhook/webhook.go @@ -71,7 +71,7 @@ var webhooks = map[webhook_module.HookType]*webhook{ // IsValidHookTaskType returns true if a webhook registered func IsValidHookTaskType(name string) bool { - if name == webhook_module.GITEA || name == webhook_module.GOGS { + if name == webhook_module.FORGEJO || name == webhook_module.GITEA || name == webhook_module.GOGS { return true } _, ok := webhooks[name] @@ -178,7 +178,7 @@ func PrepareWebhook(ctx context.Context, w *webhook_model.Webhook, event webhook // Avoid sending "0 new commits" to non-integration relevant webhooks (e.g. slack, discord, etc.). // Integration webhooks (e.g. drone) still receive the required data. if pushEvent, ok := p.(*api.PushPayload); ok && - w.Type != webhook_module.GITEA && w.Type != webhook_module.GOGS && + w.Type != webhook_module.FORGEJO && w.Type != webhook_module.GITEA && w.Type != webhook_module.GOGS && len(pushEvent.Commits) == 0 { return nil } diff --git a/templates/repo/settings/webhook/base_list.tmpl b/templates/repo/settings/webhook/base_list.tmpl index ed6e670d60..1f38c035cd 100644 --- a/templates/repo/settings/webhook/base_list.tmpl +++ b/templates/repo/settings/webhook/base_list.tmpl @@ -4,6 +4,10 @@