From 82a767dc760a0c71066f8f63c1421b11babbbb2b Mon Sep 17 00:00:00 2001 From: merlleu Date: Sun, 1 Oct 2023 15:43:15 +0200 Subject: [PATCH 01/30] Cargo package - Fix missing domain in cargo sparse url (#27370) Hello, it seems that one my previous PR (adding the sparse index to the cargo package content page), did not worked as expected: the gitea-origin-url does not add the AppURL because of the `sparse+` prefix in the url. Currently the rendered page gives the following: ```toml [registry] default = "gitea" [registries.gitea] index = "sparse+/api/packages/ownername/cargo/" # Sparse index # index = "https://git.example.com/ownername/_cargo-index.git" # Git [net] git-fetch-with-cli = true ``` (cherry picked from commit a112cf34d391cc04770021f9ffaa29e383cb9d51) (cherry picked from commit 4e30c94a40c5c959a2d83498c24095556bfd9e80) (cherry picked from commit 72a1d0403f28146a057aada3be1a6ebfce262db0) (cherry picked from commit 9c3d42f69754d36741b58a581cfa10647aa67f72) (cherry picked from commit b66322a5e388ed3e5e2a0d88830a2d4725fec7c8) (cherry picked from commit 25019a6d283d395adc51c6929edc6b27853452f3) (cherry picked from commit 124b4dc6e4ed82eccf466877e13c73fc87d00061) --- templates/package/content/cargo.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/package/content/cargo.tmpl b/templates/package/content/cargo.tmpl index da9fc4ab39..4dd7c3f731 100644 --- a/templates/package/content/cargo.tmpl +++ b/templates/package/content/cargo.tmpl @@ -8,7 +8,7 @@ default = "gitea" [registries.gitea] -index = "" # Sparse index +index = "sparse+" # Sparse index # index = "" # Git [net] From 6dcef7f2f7732e8d580a01bdf487e434b2a6fbca Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Mon, 2 Oct 2023 15:56:55 +0800 Subject: [PATCH 02/30] Test more templates for if they contain an error (#27367) (cherry picked from commit 439a0cca2c84c83650fa94dea0bc9d36af347a13) (cherry picked from commit a4ee21cb5be71a5e07a161f5e92079f1c42feea6) (cherry picked from commit 22a32ef309cc1028e01c4533bf1d394d7e6941e9) (cherry picked from commit 7d748224000245b97aa56a0e0e48d2b9aaa175b9) (cherry picked from commit cb92fad0efbc888caaf2bfdabb7919d1253abe9b) (cherry picked from commit a647f7d9aaf21f04e686cf28a631246713bd2838) (cherry picked from commit abe5a0343d8084481a70d24a845a6469bfa84eaf) --- models/fixtures/repo_unit.yml | 20 ++++++++++++++++++++ tests/integration/links_test.go | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) diff --git a/models/fixtures/repo_unit.yml b/models/fixtures/repo_unit.yml index c22eb8c2a2..0104419550 100644 --- a/models/fixtures/repo_unit.yml +++ b/models/fixtures/repo_unit.yml @@ -649,3 +649,23 @@ repo_id: 49 type: 2 created_unix: 946684810 + +- + id: 98 + repo_id: 1 + type: 8 + created_unix: 946684810 + +- + id: 99 + repo_id: 1 + type: 9 + config: "{}" + created_unix: 946684810 + +- + id: 100 + repo_id: 1 + type: 10 + config: "{}" + created_unix: 946684810 diff --git a/tests/integration/links_test.go b/tests/integration/links_test.go index 91655833af..a3937dd697 100644 --- a/tests/integration/links_test.go +++ b/tests/integration/links_test.go @@ -159,6 +159,7 @@ func testLinksAsUser(userName string, t *testing.T) { "/releases/new", //"/wiki/_pages", "/wiki/?action=_new", + "/activity", } for _, repo := range apiRepos { @@ -174,3 +175,35 @@ func TestLinksLogin(t *testing.T) { testLinksAsUser("user2", t) } + +func TestRepoLinks(t *testing.T) { + defer tests.PrepareTestEnv(t)() + + // repo1 has enabled almost features, so we can test most links + repoLink := "/user2/repo1" + links := []string{ + "/actions", + "/packages", + "/projects", + } + + // anonymous user + for _, link := range links { + req := NewRequest(t, "GET", repoLink+link) + MakeRequest(t, req, http.StatusOK) + } + + // admin/owner user + session := loginUser(t, "user1") + for _, link := range links { + req := NewRequest(t, "GET", repoLink+link) + session.MakeRequest(t, req, http.StatusOK) + } + + // non-admin non-owner user + session = loginUser(t, "user2") + for _, link := range links { + req := NewRequest(t, "GET", repoLink+link) + session.MakeRequest(t, req, http.StatusOK) + } +} From 66a6726a2860597a274c4adf469fce22a55b29e6 Mon Sep 17 00:00:00 2001 From: Caesar Schinas Date: Sat, 17 Dec 2022 00:20:38 -1000 Subject: [PATCH 03/30] [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 d68422d18769ddb37ef594904367220a6ce77e77) (cherry picked from commit 4eb58c117d50744f45ca94403bcfd930f7ee2351) (cherry picked from commit 78142114b624e6eafed3711d599b3b955af17a5e) (cherry picked from commit 461c883396facd2e22a662dc538795a78202fe49) (cherry picked from commit e1f97e5307b6f61ae6ed026a9df45e4730fbc8a7) --- 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 zcmV;93UT$?7?l-}BYy(`P)t-s|NsC0{{8>w*8k0{|GJF-uX+Ega{sM&|F(ty$D#k; z$p88E|N8g;%&GsFQvY!h|7HOHY6ky|KmYLN|Fwhva1j4!1OJ>_|LflWb{hX_1^=UF z|MBSm@8kc4H2>7M|KZL5cO3t?i2ur_|7!^Upke?0{QuRt|9_`!|LEEOz?T2@@Be)z z|J%aHm;M|AR39(X;<} z9{++a|LNQRlYdM9*S!CVJO9(R|K-&G`1JpNDF1B>|DrT+N%_RGuJ9UbnOnSc4+-QrbM)Byn35D@2XZq)+= z{P6JRXJ^|hEBoo`>Vt#cIXUvLuhaqp`6!_TK^~A*JbadDj7XSVI@1ddk;^OOvhyC*M)(HvmtE=8U zJ?)m3_kYsT@1mmds;b*3C+K%~?wp+3AtBl#BIavr_s-7!_4WMk@AI~{*cTV*czEf4 ze(aBr^0c)2SpeS|0o^z_>xqf=O#s*l0QJVk@<#yH1OWQr;O{^H)dB$YzP{@<0Npn? z?K}Y7Ffi~#0N+19{Os)XOaR#*AMmHA_t4PyQ-1*Ga&qg6iv3{#+YkWR8XDsx0PKy8 z@1LLUJplMs0O@;s{`&gzv9bJL0O)mf<|zRA+uQJ?qv1|Y^t-$E$jIC;FZ*5q`{m{A zIRO3k_T3Z!=r91}U|`k;0P2B({?4=e#H#tYp!?|P_pX=qqK)&KhTJP9^uWO5SXk$8 zZ-4BOk>p`v`QF~+TU*lAEZhJ92T(~wK~#7F)Y$``h8h!;PLwW{8u2@8iMqC!VzjkV{u5WsVl)> zB~xk0E0d+ZNDi{f7ic6}gq%ucny6GEp?}^eP4z)O{SjIifNTbbXeBue$&Aq2=olKQ z8Xs?&7$|o9XHuaJKhPk9Kihm$0Xh;Hg!??X>1>pC%*+nYbQfmor%P+6cp4Bz{ zEmWb#dKGR8ZH&^cO%MLF6{T7Z?%7^0)3)FkRCcJ=4!87IlC*Dk4;uSaIe*G})M|D0`lxOwblz$G`{M#) z?VZzsQPgUu$}oi59-HxU-IyXzj->NREu~Z%F{K!sC;`7st$ICkEk^Q zQSKioNI3&hT4_ggbTxST{I40>u>?`plC+>4w7>MfLSvKGR^A}U;1SKe4?N*lkL$Fe zcp=Ip%>*jV(6<(#g%60*ty= z?eMXp+EuCHdx$iapuX!T)Mf9bn0ns#EiBD9Lo_e-`L`jjQ|eNFLSB1O>S~9?eo)uZ z6(qJwU5AiZTA`kO$gD(N!+(%jih6>O+7R`;KxP^0@sB}fht$&tskKti8NS~+40s^5 zAa%?@ZtK+10Vh6xZ|5$y+se`?j_-bhet{nMyysm^FHo#vG^4g+h-GGl!OYC;Ff*e$ z%v{V6PR>;wU+FsQC|}mnZz%k)%ly^X5s^{RF|l#+35hW1(|_yy4}Z=jCA;~UCvsj2 zO!-I~{W6?NjitY|^ePHFWeGKSpY0(Q9m~Y|J zjLu)Qcu7Ru(q&OG4}UFZFe08(^opXam6;4eS-Fq?JQbmjc2!oz6f+pr@ufAu!rCZW z#f3V$u6{X#l+}RyT=RTXH8zAYx~8ew%V4$OvDR{`+Cmpy)84`0bwahsLq$obqHDUk z=|E2kEP5?(hA6tPkdAc0YN0x)i~BMS|hz^&2<`)$o@~#YVHyn>KS!O5tZY6IGe}Wl$`@iMX%n* z*+lL`Kn>@q*V6}M(KZ7*?gWByA%_3tu1|rnXqy3j#D(D0oa>-f=I{Uv`LFGO&V>UP zk6iNdfw8#u6u@Nk<;~Q~sDU#LsqN`UTiUi?fdSU&tJI6W21%^Z*Qw>JfZXV5>eWJU z^bKk?yMH7{Z=jB+6oR9tsTBdq(YvVQ*&;f6oH{olI(h?jE{cwxrcMV$NAICdf$ZoV z)ajEQJx&dGjqK>_)L07H(YL7a4Mh8vItL-zcjD(mjqj=R14R3gI{gssCu(eSLA0N# zaSO7Aqr=hR=x}s6TC#9-I6531jt)m}hG>1iP=Dw23doi2q25?3ggVhnyEE}3H8j(P zw*UgwoTt6Tkf)OYcz%U6=NQmX9b_3OXJEgHpExwU7a_@&Mh0UqB*~@Kf%w!M*TTWv zGFn}L9M^nQdDf-izPhDyr|Nd9eB1GeYnZCWM2L}0MR5^SB~&FqjO8}B-8EEGu>?}2 zWPhszdJC*3s5lQPN^Nhty5bdil6(;rRq%Jfa(9yygH(*dUm+iBlo>toj6^3|JA8n?Uw@?0lt@J(H2?oJ)7NVr|Ft98L zljLC_9XXI@k^#8SLY`jQ${vJ3CvMV4*+B?o|IE0ti;!y2O}(90AlJUmGTmTK{}Q78 z^>;R{-1XNW-j#{HWqhbSqbUW?hW?9f^_@p%CWS+9tkLrM> zHG9R^JIB;I#ML<=zr8Q$48`>#>V~u0#*2HVYKRMMx|V zvWylV?}A4TnbNMg%I`1_-v>(yK*3qT!^GzeD*Ex!(XD5fp`|%C0ow8)}2p=e`gR8&h!YZHn7HSeEaIksW=<(?h<~zKT zQt5(JnqC|3nyL=Kf}FBt(H)=qXTSIq{!LtH{ZwJGy}#K%^QEXOe1SghUknrZ+-h)S>8_m$`%wF37*U z&=0^!Wqf~9Y@K7(VA{da?yGFM;_k@anfkf)k)$tRIR44+{f(?vzwj!Xga(&-Vm9^H z{0E%zGJ}%Y;u}ALZiZgB4Hr44dfU;Ne{j2?tD`Z`+h4x`>cLVBW9 z503YS=Dtq;?CqYaUfh_3m7D$ArO|#b?;QNvJKWws+NmB)OaJCY0jD&2WViW;S6P27Gu_->i#L;@Gchq; zgjkqZwoGGT$k01XOjm9g=m4z(FVKgWeI+%SA{GLb>fcP&dsie=_BNFw>Si`Y%J)%b z*gPe+w7tWNLg4(6OaD&WfBwG}-TkcaJ9JROPSjqUC;FyErrlN&$uR9XrbQMx>)_0t zLUyVniN;2)1R4cr5yRgvnw1u`eCzzvvJa;E%1F911=%P7+dhEO&ioT{O}^9> z^FnQSW+Y{sRCkXcbPw(7eJ!~rdnZWU*=P&`cM;f`7$ce}fJ}JK>;c4>=!5<=j1x6R z5VZ4EQlH)en?poRAvfJq2U(GZ5-{Eu{oERH=pPSI6AA_B$RMOG^ZDC#8!HHYW%C*!eb_UWl{9aA5@Ka0h$`J`yesI{p>*;vRDswxmPthf;qYpE>a zb5~0STBHu;W2upNcEcI{Vv9k2aD==guOyaasa`Kg(D7A_&b=G}dCS(P^_Mo!Dbcl+ zn<=6jWXu0zmiv^M<&XIett|f22gz1$wlVZpY$*#VR)Z9Jixq#V5eiV^wotU8B-2~V zEWeTJG)Px?R^ZcSS$lXG2RiQD-lPIdVB*-m|dALD*xC7jq)Y3)QUTfIBvKa9O=98)w}ofqH1V7M>Vxm^-h^IOX$`gGl9SH@UME>YQ^Ohz zIqU!u{%;I-U?%Q5oFSul7im`bi$&%4NU_r9@>B#t~REh>79eBHq^|!BL4NMl5Y^ z=&ES7jezzkXzBecK#J|rEe+XK7DbGx#%X;I3-rFT@*y?8y(%Hr6lm~3QzhP0TTrpIlL zx&as~0*}_`)T+)5-;g5nsJVjaWsihbZ;?JGaig~ZwT8d1G>db3Mlz%_?8Badgxqb$ zH?j*olXRns1nPBX6s87GZ7C(ug*Zk-pIRn& zdlC;Km;Jyw1yvl$U^_LCJs-QrGZrsZI?UKIZ=HC5Cd~Otuc)DFRF0|}c2v;@;3eiH z~JB1`UMk%iA{L`)3Gmp`sZW?lUIt8A3#gReC*$vlu%qrpq%2E&2UeytDZ$wFs)yL zh{~-UdkJu`R&}#wy=M>;L0j%X0|AD}&7<>n`ZsJh42B||P4T0zSw%_K^2Jim6N!0e zz3jjU;}j98x4J!#BD{-=9a)n60VeofLzt(IoUH`ZIDClX^4dBZ!Cek3o51%ZPd%yV zafCxW{$}9y-p7=NShy}x&!`60CIU)%l*$l}Bc0B!NQr4zBH0-7AZCxh*IbTHR6&>c zQviFp(=R{eCnLMsBL#H+@E@84`7Qe0XeUT@i}wi>wt@JH;P;f{`RtnPTLs3xasXAO z8#zh$PdPid`FT&Ue2P&ewPo8s%K)Q`>C07o&+J*#0i+g$SqNM8)F=!Csu%9e?$$WP zg(F)#--|tLO26_4zLVkX60KR9$vKAL*(Sm3jO1j(EE&(dbtsAt{m}2=?`H1nCe#-N ztlL&_C{X50_FUh7E2bHzKCu>MK+Fir)?C3IK(X;R8*Gh6e@S!A-VVopn;lCA*P=|T zhFygozPrcQ>-F7&AOf@IJ`G24Gc(1kfQ46_(?Hn_YdQF-%l~ketUv1oLs#}kha^x;?P%DegB}Tf`;AZEp zlg~SH^y?Gkt|`RnUXTks4CQG3%4NcG)A2Q=hTFprC9q( zI&S!Sd2E-oocoFGlfX3)OL2s?h)8-`AK5pD2<3gua_Ha(I72ms^e;*rWwD8p%M#*y zf!rn^0)%8Qk=;CJysX6#eMta}!HB#*VC5<=kESyEHU(sPqfO9@`HVr$hqr7IqPrRZ zIMXFdt2VnuEkBuY2eqSj2qwn;~Ffv0>C`iFiVI4rGD0(B*c-eKv>-8?|f^j;|St6#Oa~+M120pWddaHq9l~Z%_p1pd2 t0uvJxllZ`#S|kIc3_tmukNOu^;)P+RCnp~`?iu`ZHUOFERA@QC{|kr?g=7E# 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 af2f7a9ee1bdb46b6ed02c38206b47adf3b1e645 Mon Sep 17 00:00:00 2001 From: Gusted Date: Sun, 18 Dec 2022 19:03:34 +0000 Subject: [PATCH 04/30] [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 dd4418215ee28ab076032dfd9e26a598d24deb7c) (cherry picked from commit 6703caec3b268bac24d3de6d7b1b61065ba75727) (cherry picked from commit 1d86d4d6f2424e81b08e9a95e7d50253ddaf802c) (cherry picked from commit 49c7cead23575dfe6770e66a64984281c4120ebd) (cherry picked from commit d64deb47fac396967538830a2b794b5585838ba4) --- .../{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 c097fb0d17..0b8c8cccbf 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,13 +55,13 @@ RestartSec=2s Type=notify 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 WatchdogSec=30s # 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 @@ -69,15 +69,15 @@ WatchdogSec=30s # 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 4562f674b2c436b4c893860bde014dee642e8464 Mon Sep 17 00:00:00 2001 From: Caesar Schinas Date: Sun, 18 Dec 2022 23:03:28 -1000 Subject: [PATCH 05/30] [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 e951185ce195f83224ba30c62c945b7187e2a336) (cherry picked from commit 3f469c96359e29dd84064ae6be44f178c58dc7b7) (cherry picked from commit 6a1fbb01c8a861f9ff182ecd61732dc37d54e7de) (cherry picked from commit ddb426df0462bef5de94508b112837c3cbb2b21e) (cherry picked from commit fe9e0d6083ca97a1375ce4c7431b6886534f4b20) --- 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 649d14ad99..8921d97277 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 099afce3ad090aa578f9a884aa002cdd269ea42a 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 09/30] [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 e0aadc9f4a04e7e6386ec7b6c0793fecd34059b2) (cherry picked from commit a448c06caf1abd705dc6daca8010a5404c80519e) (cherry picked from commit bd2055bff67e43056934d445bfe060762b3a579f) (cherry picked from commit 70400183e1353a1904e828bee0ea712d2e5e4e16) (cherry picked from commit 05b44a0ea30101cf1fd47ea9c06cbb28b3b79fa0) --- 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 86bb0952a5cd6e70debbf3f649257cfd0e3a4f4a Mon Sep 17 00:00:00 2001 From: Caesar Schinas Date: Sun, 25 Dec 2022 01:44:04 -1000 Subject: [PATCH 10/30] [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) (cherry picked from commit f3be4a75ebf2f2641931bde29207e2714c02491d) (cherry picked from commit e7fdff35997434bdc159b4050bd2c0306ee7fede) (cherry picked from commit bb2f3c9664beae02590cbcb47dfa4bcc9f4b4b80) (cherry picked from commit edb8b4d8a6678d4d6793d69681f78583aec74fd5) (cherry picked from commit 3bfeaec5fc28cb0706b336d46524daefd958bcb4) (cherry picked from commit b1bb9627888632c1b1ebc65dde8ad715ea8cd1ff) --- 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 | 285 +++++++++++++++++++++ web_src/css/themes/theme-forgejo-light.css | 255 ++++++++++++++++++ 5 files changed, 546 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 4116da1166..c095606f3a 100644 --- a/modules/setting/ui.go +++ b/modules/setting/ui.go @@ -76,8 +76,8 @@ var UI = struct { CodeCommentLines: 4, ReactionMaxUserNum: 10, MaxDisplayFileSize: 8388608, - DefaultTheme: `auto`, - Themes: []string{`auto`, `gitea`, `arc-green`}, + DefaultTheme: `forgejo-auto`, + Themes: []string{`forgejo-auto`, `forgejo-light`, `forgejo-dark`, `auto`, `gitea`, `arc-green`}, 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..e3b031ed2e --- /dev/null +++ b/web_src/css/themes/theme-forgejo-dark.css @@ -0,0 +1,285 @@ +@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-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; + /* 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; + /* 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-nav-bg: var(--steel-900); + --color-nav-hover-bg: var(--steel-600); + --color-label-active-bg: #4c525e; + --color-label-text: #fff; + --color-accent: var(--color-primary-light-1); + --color-small-accent: var(--color-primary-light-5); + --color-active-line: var(--color-primary-alpha-20); + 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 !important; + color: #fff !important; + border-color: var(--color-light-border) !important; +} +.ui.red.button:hover, +.ui.negative.button:hover { + background-color: #991b1b !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.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..7fc09a7994 --- /dev/null +++ b/web_src/css/themes/theme-forgejo-light.css @@ -0,0 +1,255 @@ +: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-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; + /* 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; + /* 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-nav-bg: var(--zinc-100); + --color-nav-hover-bg: var(--zinc-300); + --color-label-active-bg: #4c525e; + --color-accent: var(--color-primary-light-1); + --color-small-accent: var(--color-primary-light-5); + --color-active-line: var(--color-primary-light-6); + 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 84fee487c74315d78cbb58e03373e4012b2eb7bd Mon Sep 17 00:00:00 2001 From: Caesar Schinas Date: Wed, 28 Dec 2022 00:28:39 -1000 Subject: [PATCH 11/30] [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 bf19c35f846d2004aca20c837e47a688a228091b) (cherry picked from commit bff760c91aed97d60bd4f939b1e657c06aecdce7) (cherry picked from commit ab648f7b678f492597b21eceecd1504d3f1bc900) (cherry picked from commit 0e3bd4b4ab4215a02202840450fc75fae822e0a6) (cherry picked from commit f75b95c2f6ecc2e269edf1ff2878ccd9d7308ccc) --- 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 c095606f3a..c8ad75856e 100644 --- a/modules/setting/ui.go +++ b/modules/setting/ui.go @@ -123,9 +123,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 ff876ff21f7ffe9aa0cbe4652568697b2da28a28 Mon Sep 17 00:00:00 2001 From: TomZ Date: Mon, 9 Jan 2023 14:01:00 +0100 Subject: [PATCH 12/30] [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 5d3b4594df9af99c8962aa99f0b628e8fb2e89fe) (cherry picked from commit 6da3b43eff5b77ebc75cb5d38e4ddab6fa18a61b) (cherry picked from commit b60dfaba10158abaa279049fbb064354cd67baab) (cherry picked from commit bcb9bb4deea857ae8c7e888680423fdc89676077) (cherry picked from commit d5301b6a24011ea2826a79f834cda45290bb259a) --- 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 052afb9ebc..6b9ce19d65 100644 --- a/cmd/actions.go +++ b/cmd/actions.go @@ -17,7 +17,7 @@ var ( CmdActions = &cli.Command{ Name: "actions", Usage: "", - Description: "Commands for managing Gitea Actions", + Description: "Commands for managing 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 d040a3af1c..3230893fda 100644 --- a/cmd/doctor.go +++ b/cmd/doctor.go @@ -25,7 +25,7 @@ import ( 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{ @@ -64,7 +64,7 @@ var cmdDoctorCheck = &cli.Command{ var CmdDoctor = &cli.Command{ Name: "doctor", 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.", Subcommands: []*cli.Command{ cmdDoctorCheck, @@ -83,7 +83,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 f38fd8831b..403f2c6ea4 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 } @@ -485,9 +485,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 b846782529..94ccfd9852 100644 --- a/cmd/keys.go +++ b/cmd/keys.go @@ -17,7 +17,7 @@ import ( // CmdKeys represents the available keys sub-command var CmdKeys = &cli.Command{ Name: "keys", - Usage: "This command queries the Gitea database to get the authorized command for a given ssh key fingerprint", + Usage: "This command 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 04209c824b..e7495c789e 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -78,7 +78,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 26fc91a3b7..43e6eaba2b 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..5f65c8c973 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 [Coddeberg](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 b4f1a06a34..2e09e8c935 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 ecb73a928f..e89498a8ae 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 83f58bad0d..4abd3610f6 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 242ee1fba4..1aa25d9fa9 100644 --- a/templates/package/content/debian.tmpl +++ b/templates/package/content/debian.tmpl @@ -4,8 +4,8 @@
-
sudo curl  -o /etc/apt/trusted.gpg.d/gitea-{{$.PackageDescriptor.Owner.Name}}.asc
-echo "deb  $distribution $component" | sudo tee -a /etc/apt/sources.list.d/gitea.list
+				
sudo curl  -o /etc/apt/trusted.gpg.d/forgejo-{{$.PackageDescriptor.Owner.Name}}.asc
+echo "deb  $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 ba4df0a57d..8a9fc5999f 100644 --- a/templates/package/content/generic.tmpl +++ b/templates/package/content/generic.tmpl @@ -11,7 +11,7 @@ curl - + 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 3fd979567c..59b189f1a1 100644 --- a/templates/package/content/rpm.tmpl +++ b/templates/package/content/rpm.tmpl @@ -21,7 +21,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 a572d98bb6..48b80af1bf 100644 --- a/templates/package/shared/list.tmpl +++ b/templates/package/shared/list.tmpl @@ -45,7 +45,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 589edbc957..4646144f40 100644 --- a/templates/shared/actions/runner_list.tmpl +++ b/templates/shared/actions/runner_list.tmpl @@ -10,7 +10,7 @@ From 07fbe2ba6924f0462f426e8f925f7b7191c6aa80 Mon Sep 17 00:00:00 2001 From: Gusted Date: Mon, 9 Jan 2023 22:28:04 +0100 Subject: [PATCH 13/30] [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 d42aa19f27cb984693d3be7084059f5bd946ae3e) (cherry picked from commit 4b7eb6a93bf9700e491e8bf99cf76b19f481cac4) (cherry picked from commit 9d17e95951e17528cd912028544421264f531eca) (cherry picked from commit 31d3f4bb01d0260da4b6e71b055b28f11dc6cce3) (cherry picked from commit c428c3f14c770dd2f4a2f1320f7bf047933d1057) --- 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 75087f37d0..8ae35047ca 100644 --- a/Makefile +++ b/Makefile @@ -150,6 +150,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 @@ -340,6 +341,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 9bcd6ce330..4a6aca7b96 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 fc9765d573d38bccfd6526f1fd093c95ce56199b Mon Sep 17 00:00:00 2001 From: Earl Warren Date: Sat, 14 Jan 2023 08:16:30 +0100 Subject: [PATCH 14/30] [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 13544bbde89078aae9dc068b827df82484f813f1) (cherry picked from commit 5b7a11734710f1f8e1cf64b3cc678d7e78747b94) (cherry picked from commit ab61310f1089dea957ccdd7c0c214c3c0033aad9) (cherry picked from commit 537c214c284dd3860450b5082a469dc64b6ec758) (cherry picked from commit 91a6c59c9d865f2b30ec00003520dfeb3c47b8d6) --- 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 b57b321832..10f626b3f3 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 a389443c30..cacbebb7d7 100644 --- a/routers/api/v1/api.go +++ b/routers/api/v1/api.go @@ -799,7 +799,7 @@ func Routes() *web.Route { // setting.CORSConfig.AllowSubdomain // FIXME: the cors middleware needs allowSubdomain option 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 ea311c3202..9ee10f6ce1 100644 --- a/routers/api/v1/repo/file.go +++ b/routers/api/v1/repo/file.go @@ -33,7 +33,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) { @@ -80,6 +83,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) @@ -129,6 +133,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 4abd3610f6..2ee0b1f4aa 100644 --- a/services/mailer/mail.go +++ b/services/mailer/mail.go @@ -399,6 +399,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.DisplayName(), "X-GitHub-Recipient": recipient.DisplayName(), diff --git a/services/webhook/deliver.go b/services/webhook/deliver.go index 176ba83e67..82654a5991 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 5f980346a9578e2728fd8d17fbc6d051330e0d30 Mon Sep 17 00:00:00 2001 From: Earl Warren Date: Sat, 14 Jan 2023 10:07:01 +0100 Subject: [PATCH 15/30] [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 b04e3ab5bd390498d34bf3973846a1cf8d9c1c7b) (cherry picked from commit de7d892884b7e4387d6a1f88fc394e6dc2092f2a) (cherry picked from commit 0bc1651c36c26ca2611350502c1de30df134f7b8) (cherry picked from commit 85708157422a524a989d42c27eaf46c540f3ebe7) (cherry picked from commit 0666253dbb2265e79a130af84e5b867671a729a1) --- 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 7042d391b7..7f427f2ea8 100644 --- a/modules/webhook/type.go +++ b/modules/webhook/type.go @@ -72,6 +72,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 33ea2c206b..718e2a0bc2 100644 --- a/routers/web/repo/setting/webhook.go +++ b/routers/web/repo/setting/webhook.go @@ -44,7 +44,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 := webhook.ListWebhooksByOpts(ctx, &webhook.ListWebhookOptions{RepoID: ctx.Repo.Repository.ID}) if err != nil { @@ -309,6 +309,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 54d2df2eed..f0f2faaf1d 100644 --- a/routers/web/web.go +++ b/routers/web/web.go @@ -390,6 +390,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) @@ -404,6 +405,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 9d5dab85f7..f15c853331 100644 --- a/services/webhook/webhook.go +++ b/services/webhook/webhook.go @@ -70,7 +70,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] @@ -177,7 +177,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..cafe88bb7c 100644 --- a/templates/repo/settings/webhook/base_list.tmpl +++ b/templates/repo/settings/webhook/base_list.tmpl @@ -4,6 +4,10 @@