Compare commits

...

9 Commits

Author SHA1 Message Date
GiteaBot
fe8b6cbd91 [skip ci] Updated translations via Crowdin 2023-03-18 00:16:14 +00:00
Zettat123
46addc1f93
Return repository in npm package metadata endpoint (#23539)
Close #23444 

Add `Repository` to npm package `Metadata` struct so the `repository` in
`package.json` can be stored and be returned in the endpoint.

Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
2023-03-17 14:39:19 -04:00
silverwind
d0f48187f9
Fix diff detail buttons wrapping, use tippy for review box (#23271)
Fix visual regression introduced by
https://github.com/go-gitea/gitea/pull/22986.

Before:
<img width="1277" alt="image"
src="https://user-images.githubusercontent.com/115237/222792814-d70c2173-0c7c-4db2-8839-95be63cdc8ee.png">
<img width="649" alt="image"
src="https://user-images.githubusercontent.com/115237/222792989-9b1f5e12-becd-40cc-b02c-e9f59a8e72a4.png">

After: 
<img width="1274" alt="image"
src="https://user-images.githubusercontent.com/115237/222792769-e7a9702f-4b6a-46c4-9385-da103ed4dff0.png">
<img width="565" alt="image"
src="https://user-images.githubusercontent.com/115237/222793084-6de6482b-11dc-4d38-b514-15884d20e140.png">
2023-03-17 12:24:00 -05:00
yp05327
8e45fcb63a
Do not store user projects as organization projects (#23353)
A part of https://github.com/go-gitea/gitea/pull/22865

At first, I think we do not need 3 ProjectTypes, as we can check user
type, but it seems that it is not database friendly.

---------

Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: 6543 <6543@obermui.de>
2023-03-17 21:07:23 +08:00
Hester Gong
8120c0c20c
Imrove scroll behavior to hash issuecomment(scroll position, auto expand if file is folded, and on refreshing) (#23513)
Close #23466

Right now on pull request "files Changed" tab, if a file is viewed, when
the comments' links are visited, the comment will not be shown as the
file is folded after viewed. This PR is to improve the behavior, to make
the comment seen even the related file is folded, like on github.

And right now scroll position will be remembered and hence it won’t
scroll to hashed comment after refreshing, this PR also adjust the
scroll position remembering behavior: When there is hash comment in url,
do not remember the scroll position.

Before:

https://user-images.githubusercontent.com/17645053/225512079-6cf79581-9346-44cf-95d6-06919642e6a8.mov

After:

https://user-images.githubusercontent.com/17645053/225523753-3f6728f2-977b-4ed0-a65c-63dcef2ace80.mov

Update - long comment's behavior after using `scrollTop ` (Comment div
scroll to the position which is 30px below the diff header, or 30px
below top on conversation tab):

https://user-images.githubusercontent.com/17645053/225614460-0602c1a6-229c-41f4-84d2-334e78251486.mov
2023-03-17 18:24:18 +08:00
silverwind
6aca9287a2
Increase horizontal page padding (#23507)
Add a bit more empty space on left and right side of page content for a
more pleasant viewing experience. Also tweaked the mobile navbar to
match.

Before:
<img width="1276" alt="Screenshot 2023-03-16 at 00 58 23"
src="https://user-images.githubusercontent.com/115237/225473942-f544106f-1b61-456a-99fb-3ba136cabc8d.png">

After:
<img width="1270" alt="Screenshot 2023-03-16 at 00 58 37"
src="https://user-images.githubusercontent.com/115237/225473959-8b555359-a08d-48e1-9476-2710aabb1166.png">

Mobile Navbar:
<img width="673" alt="Screenshot 2023-03-16 at 01 05 12"
src="https://user-images.githubusercontent.com/115237/225473966-adccef2b-4d34-44ed-8c75-d4ca46d96cf3.png">
2023-03-17 02:23:23 -04:00
silverwind
96be0cb6e3
Update JS dependencies, Require Node.js 16 (#23528)
- Update all JS dependencies
- Require Node.js 16 as dictated by `esbuild-loader`
- Regenerate SVG
- Adapt to `esbuild-loader` breaking changes
- Minor refactor in `webpack.config.js`
- Tested build, monaco and swagger-ui

---------

Co-authored-by: techknowlogick <techknowlogick@gitea.io>
2023-03-17 01:45:45 -04:00
silverwind
12ddc48c5c
Use octicon-verified for gpg signatures (#23529)
Before:
<img width="292" alt="Screenshot 2023-03-16 at 23 40 47"
src="https://user-images.githubusercontent.com/115237/225768871-43e11ced-e340-4c88-b756-25f9f7076fd2.png">
<img width="288" alt="Screenshot 2023-03-16 at 23 51 05"
src="https://user-images.githubusercontent.com/115237/225770071-b51f3ed6-ef14-421b-a5bc-6a26e808d404.png">


After:
<img width="291" alt="Screenshot 2023-03-16 at 23 40 37"
src="https://user-images.githubusercontent.com/115237/225768864-ea4956c7-8c57-4148-9d89-c818991a7538.png">
<img width="281" alt="image"
src="https://user-images.githubusercontent.com/115237/225769978-0b9c6c52-9a13-4c23-b13e-8a8a692abf43.png">
2023-03-17 01:12:40 -04:00
yp05327
06c067bb0f
Remove stars in dashboard repo list (#23530)
Discussion is here: https://github.com/go-gitea/gitea/pull/22816
2023-03-17 00:43:58 -04:00
69 changed files with 1685 additions and 1475 deletions

View File

@ -726,7 +726,7 @@ steps:
# TODO: We should probably build all dependencies into a test image # TODO: We should probably build all dependencies into a test image
- name: test-e2e - name: test-e2e
image: mcr.microsoft.com/playwright:v1.29.2-focal image: mcr.microsoft.com/playwright:v1.31.2-focal
commands: commands:
- curl -sLO https://go.dev/dl/go1.20.linux-amd64.tar.gz && tar -C /usr/local -xzf go1.20.linux-amd64.tar.gz - curl -sLO https://go.dev/dl/go1.20.linux-amd64.tar.gz && tar -C /usr/local -xzf go1.20.linux-amd64.tar.gz
- groupadd --gid 1001 gitea && useradd -m --gid 1001 --uid 1001 gitea - groupadd --gid 1001 gitea && useradd -m --gid 1001 --uid 1001 gitea

View File

@ -471,6 +471,8 @@ var migrations = []Migration{
NewMigration("Rename Webhook org_id to owner_id", v1_20.RenameWebhookOrgToOwner), NewMigration("Rename Webhook org_id to owner_id", v1_20.RenameWebhookOrgToOwner),
// v246 -> v247 // v246 -> v247
NewMigration("Add missed column owner_id for project table", v1_20.AddNewColumnForProject), NewMigration("Add missed column owner_id for project table", v1_20.AddNewColumnForProject),
// v247 -> v248
NewMigration("Fix incorrect project type", v1_20.FixIncorrectProjectType),
} }
// GetCurrentDBVersion returns the current db version // GetCurrentDBVersion returns the current db version

View File

@ -0,0 +1,50 @@
// Copyright 2023 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package v1_20 //nolint
import (
"code.gitea.io/gitea/modules/log"
"xorm.io/xorm"
)
// FixIncorrectProjectType: set individual project's type from 3(TypeOrganization) to 1(TypeIndividual)
func FixIncorrectProjectType(x *xorm.Engine) error {
type User struct {
ID int64 `xorm:"pk autoincr"`
Type int
}
const (
UserTypeIndividual int = 0
TypeIndividual uint8 = 1
TypeOrganization uint8 = 3
)
type Project struct {
OwnerID int64 `xorm:"INDEX"`
Type uint8
Owner *User `xorm:"extends"`
}
sess := x.NewSession()
defer sess.Close()
if err := sess.Begin(); err != nil {
return err
}
count, err := sess.Table("project").
Where("type = ? AND owner_id IN (SELECT id FROM `user` WHERE type = ?)", TypeOrganization, UserTypeIndividual).
Update(&Project{
Type: TypeIndividual,
})
if err != nil {
return err
}
log.Debug("Updated %d projects to belong to a user instead of an organization", count)
return sess.Commit()
}

View File

@ -172,7 +172,7 @@ func GetCardConfig() []CardConfig {
// IsTypeValid checks if a project type is valid // IsTypeValid checks if a project type is valid
func IsTypeValid(p Type) bool { func IsTypeValid(p Type) bool {
switch p { switch p {
case TypeRepository, TypeOrganization: case TypeIndividual, TypeRepository, TypeOrganization:
return true return true
default: default:
return false return false

View File

@ -20,7 +20,7 @@ func TestIsProjectTypeValid(t *testing.T) {
typ Type typ Type
valid bool valid bool
}{ }{
{TypeIndividual, false}, {TypeIndividual, true},
{TypeRepository, true}, {TypeRepository, true},
{TypeOrganization, true}, {TypeOrganization, true},
{UnknownType, false}, {UnknownType, false},

View File

@ -223,6 +223,7 @@ func ParsePackage(r io.Reader) (*Package, error) {
OptionalDependencies: meta.OptionalDependencies, OptionalDependencies: meta.OptionalDependencies,
Bin: meta.Bin, Bin: meta.Bin,
Readme: meta.Readme, Readme: meta.Readme,
Repository: meta.Repository,
}, },
} }

View File

@ -26,6 +26,10 @@ func TestParsePackage(t *testing.T) {
packageDescription := "Test Description" packageDescription := "Test Description"
data := "H4sIAAAAAAAA/ytITM5OTE/VL4DQelnF+XkMVAYGBgZmJiYK2MRBwNDcSIHB2NTMwNDQzMwAqA7IMDUxA9LUdgg2UFpcklgEdAql5kD8ogCnhwio5lJQUMpLzE1VslJQcihOzi9I1S9JLS7RhSYIJR2QgrLUouLM/DyQGkM9Az1D3YIiqExKanFyUWZBCVQ2BKhVwQVJDKwosbQkI78IJO/tZ+LsbRykxFXLNdA+HwWjYBSMgpENACgAbtAACAAA" data := "H4sIAAAAAAAA/ytITM5OTE/VL4DQelnF+XkMVAYGBgZmJiYK2MRBwNDcSIHB2NTMwNDQzMwAqA7IMDUxA9LUdgg2UFpcklgEdAql5kD8ogCnhwio5lJQUMpLzE1VslJQcihOzi9I1S9JLS7RhSYIJR2QgrLUouLM/DyQGkM9Az1D3YIiqExKanFyUWZBCVQ2BKhVwQVJDKwosbQkI78IJO/tZ+LsbRykxFXLNdA+HwWjYBSMgpENACgAbtAACAAA"
integrity := "sha512-yA4FJsVhetynGfOC1jFf79BuS+jrHbm0fhh+aHzCQkOaOBXKf9oBnC4a6DnLLnEsHQDRLYd00cwj8sCXpC+wIg==" integrity := "sha512-yA4FJsVhetynGfOC1jFf79BuS+jrHbm0fhh+aHzCQkOaOBXKf9oBnC4a6DnLLnEsHQDRLYd00cwj8sCXpC+wIg=="
repository := Repository{
Type: "gitea",
URL: "http://localhost:3000/gitea/test.git",
}
t.Run("InvalidUpload", func(t *testing.T) { t.Run("InvalidUpload", func(t *testing.T) {
p, err := ParsePackage(bytes.NewReader([]byte{0})) p, err := ParsePackage(bytes.NewReader([]byte{0}))
@ -242,6 +246,7 @@ func TestParsePackage(t *testing.T) {
Dist: PackageDistribution{ Dist: PackageDistribution{
Integrity: integrity, Integrity: integrity,
}, },
Repository: repository,
}, },
}, },
}, },
@ -272,5 +277,7 @@ func TestParsePackage(t *testing.T) {
assert.Equal(t, "https://gitea.io/", p.Metadata.ProjectURL) assert.Equal(t, "https://gitea.io/", p.Metadata.ProjectURL)
assert.Contains(t, p.Metadata.Dependencies, "package") assert.Contains(t, p.Metadata.Dependencies, "package")
assert.Equal(t, "1.2.0", p.Metadata.Dependencies["package"]) assert.Equal(t, "1.2.0", p.Metadata.Dependencies["package"])
assert.Equal(t, repository.Type, p.Metadata.Repository.Type)
assert.Equal(t, repository.URL, p.Metadata.Repository.URL)
}) })
} }

View File

@ -21,4 +21,5 @@ type Metadata struct {
OptionalDependencies map[string]string `json:"optional_dependencies,omitempty"` OptionalDependencies map[string]string `json:"optional_dependencies,omitempty"`
Bin map[string]string `json:"bin,omitempty"` Bin map[string]string `json:"bin,omitempty"`
Readme string `json:"readme,omitempty"` Readme string `json:"readme,omitempty"`
Repository Repository `json:"repository,omitempty"`
} }

View File

@ -1423,7 +1423,6 @@ issues.context.reference_issue=Odkázat v novém úkolu
issues.context.edit=Upravit issues.context.edit=Upravit
issues.context.delete=Smazat issues.context.delete=Smazat
issues.no_content=Není zde žádný obsah. issues.no_content=Není zde žádný obsah.
issues.close_issue=Zavřít
issues.pull_merged_at=`sloučil/a commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> do <b>%[3]s</b> %[4]s` issues.pull_merged_at=`sloučil/a commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> do <b>%[3]s</b> %[4]s`
issues.manually_pull_merged_at=`sloučil/a commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> do <b>%[3]s</b> ručně %[4]s` issues.manually_pull_merged_at=`sloučil/a commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> do <b>%[3]s</b> ručně %[4]s`
issues.close_comment_issue=Okomentovat a zavřít issues.close_comment_issue=Okomentovat a zavřít

View File

@ -1310,7 +1310,6 @@ issues.context.reference_issue=In neuem Issue referenzieren
issues.context.edit=Bearbeiten issues.context.edit=Bearbeiten
issues.context.delete=Löschen issues.context.delete=Löschen
issues.no_content=Hier gibt es bis jetzt noch keinen Inhalt. issues.no_content=Hier gibt es bis jetzt noch keinen Inhalt.
issues.close_issue=Schließen
issues.pull_merged_at=`mergte den Commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> %[4]s in <b>%[3]s</b>` issues.pull_merged_at=`mergte den Commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> %[4]s in <b>%[3]s</b>`
issues.manually_pull_merged_at=`mergte den Commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> %[4]s manuell in <b>%[3]s</b>` issues.manually_pull_merged_at=`mergte den Commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> %[4]s manuell in <b>%[3]s</b>`
issues.close_comment_issue=Kommentieren und schließen issues.close_comment_issue=Kommentieren und schließen

View File

@ -1331,7 +1331,6 @@ issues.context.reference_issue=Αναφορά σε νέο ζήτημα
issues.context.edit=Επεξεργασία issues.context.edit=Επεξεργασία
issues.context.delete=Διαγραφή issues.context.delete=Διαγραφή
issues.no_content=Δεν υπάρχει ακόμα περιεχόμενο. issues.no_content=Δεν υπάρχει ακόμα περιεχόμενο.
issues.close_issue=Κλείσιμο
issues.pull_merged_at=`συγχώνευσε την υποβολή <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> σε <b>%[3]s</b> %[4]s` issues.pull_merged_at=`συγχώνευσε την υποβολή <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> σε <b>%[3]s</b> %[4]s`
issues.manually_pull_merged_at=`συγχώνευσε την υποβολή <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> σε <b>%[3]s</b> %[4]s` issues.manually_pull_merged_at=`συγχώνευσε την υποβολή <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> σε <b>%[3]s</b> %[4]s`
issues.close_comment_issue=Σχόλιο και κλείσιμο issues.close_comment_issue=Σχόλιο και κλείσιμο

View File

@ -1330,7 +1330,6 @@ issues.context.reference_issue=Referencia en una nueva incidencia
issues.context.edit=Editar issues.context.edit=Editar
issues.context.delete=Eliminar issues.context.delete=Eliminar
issues.no_content=Aún no existe contenido. issues.no_content=Aún no existe contenido.
issues.close_issue=Cerrar
issues.pull_merged_at=`fusionado commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> en <b>%[3]s</b> %[4]s` issues.pull_merged_at=`fusionado commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> en <b>%[3]s</b> %[4]s`
issues.manually_pull_merged_at=`fusionado manualmente commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> en <b>%[3]s</b> %[4]s` issues.manually_pull_merged_at=`fusionado manualmente commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> en <b>%[3]s</b> %[4]s`
issues.close_comment_issue=Comentar y cerrar issues.close_comment_issue=Comentar y cerrar

View File

@ -1213,7 +1213,6 @@ issues.context.reference_issue=مرجع در شماره جدید
issues.context.edit=ویرایش issues.context.edit=ویرایش
issues.context.delete=حذف issues.context.delete=حذف
issues.no_content=هنوز محتوایی ایجاد نشده. issues.no_content=هنوز محتوایی ایجاد نشده.
issues.close_issue=ببند
issues.pull_merged_at=`ادغام شده commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> در <b>%[3]s</b> %[4]s` issues.pull_merged_at=`ادغام شده commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> در <b>%[3]s</b> %[4]s`
issues.manually_pull_merged_at=`ادغام شده commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> در <b>%[3]s</b> بصورت دستی %[4]s` issues.manually_pull_merged_at=`ادغام شده commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> در <b>%[3]s</b> بصورت دستی %[4]s`
issues.close_comment_issue=ثبت دیدگاه و بستن issues.close_comment_issue=ثبت دیدگاه و بستن

View File

@ -936,7 +936,6 @@ issues.context.reference_issue=Viittaa uudesa ongelmassa
issues.context.edit=Muokkaa issues.context.edit=Muokkaa
issues.context.delete=Poista issues.context.delete=Poista
issues.no_content=Sisältöä ei vielä ole. issues.no_content=Sisältöä ei vielä ole.
issues.close_issue=Sulje
issues.close_comment_issue=Kommentoi ja sulje issues.close_comment_issue=Kommentoi ja sulje
issues.reopen_issue=Avaa uudelleen issues.reopen_issue=Avaa uudelleen
issues.reopen_comment_issue=Kommentoi ja avaa uudelleen issues.reopen_comment_issue=Kommentoi ja avaa uudelleen

View File

@ -1195,7 +1195,6 @@ issues.context.reference_issue=Référencer dans un nouveau ticket
issues.context.edit=Éditer issues.context.edit=Éditer
issues.context.delete=Supprimer issues.context.delete=Supprimer
issues.no_content=Il n'existe pas encore de contenu. issues.no_content=Il n'existe pas encore de contenu.
issues.close_issue=Fermer
issues.pull_merged_at=`révision fusionnée <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> dans <b>%[3]s</b> %[4]s` issues.pull_merged_at=`révision fusionnée <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> dans <b>%[3]s</b> %[4]s`
issues.manually_pull_merged_at=`révision fusionnée <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> dans <b>%[3]s</b> manuellement %[4]s` issues.manually_pull_merged_at=`révision fusionnée <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> dans <b>%[3]s</b> manuellement %[4]s`
issues.close_comment_issue=Commenter et Fermer issues.close_comment_issue=Commenter et Fermer

View File

@ -881,7 +881,6 @@ issues.context.quote_reply=Válasz idézettel
issues.context.edit=Szerkesztés issues.context.edit=Szerkesztés
issues.context.delete=Törlés issues.context.delete=Törlés
issues.no_content=Még nincs tartalom. issues.no_content=Még nincs tartalom.
issues.close_issue=Lezárás
issues.close_comment_issue=Hozzászólás és lezárás issues.close_comment_issue=Hozzászólás és lezárás
issues.reopen_issue=Újranyitás issues.reopen_issue=Újranyitás
issues.reopen_comment_issue=Hozzászólás és újranyitás issues.reopen_comment_issue=Hozzászólás és újranyitás

View File

@ -752,7 +752,6 @@ issues.context.quote_reply=Kutip Balasan
issues.context.edit=Sunting issues.context.edit=Sunting
issues.context.delete=Hapus issues.context.delete=Hapus
issues.no_content=Belum ada konten. issues.no_content=Belum ada konten.
issues.close_issue=Tutup
issues.close_comment_issue=Komentar dan Tutup issues.close_comment_issue=Komentar dan Tutup
issues.reopen_issue=Buka kembali issues.reopen_issue=Buka kembali
issues.reopen_comment_issue=Komentar dan Buka Kembali issues.reopen_comment_issue=Komentar dan Buka Kembali

View File

@ -823,7 +823,6 @@ issues.num_comments=%d ummæli
issues.commented_at=`gerði ummæli <a href="#%s">%s</a>` issues.commented_at=`gerði ummæli <a href="#%s">%s</a>`
issues.context.edit=Breyta issues.context.edit=Breyta
issues.context.delete=Eyða issues.context.delete=Eyða
issues.close_issue=Loka
issues.manually_pull_merged_at=`sameinaði framlag <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> inni í <b>%[3]s</b> handvirkt %[4]s` issues.manually_pull_merged_at=`sameinaði framlag <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> inni í <b>%[3]s</b> handvirkt %[4]s`
issues.close_comment_issue=Senda ummæli og Loka issues.close_comment_issue=Senda ummæli og Loka
issues.reopen_issue=Enduropna issues.reopen_issue=Enduropna

View File

@ -1315,7 +1315,6 @@ issues.context.reference_issue=Fai riferimento in un nuovo problema
issues.context.edit=Modifica issues.context.edit=Modifica
issues.context.delete=Elimina issues.context.delete=Elimina
issues.no_content=Non ci sono ancora contenuti. issues.no_content=Non ci sono ancora contenuti.
issues.close_issue=Chiudi
issues.pull_merged_at=`merged commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> in <b>%[3]s</b> %[4]s` issues.pull_merged_at=`merged commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> in <b>%[3]s</b> %[4]s`
issues.manually_pull_merged_at=`merged commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> in <b>%[3]s</b> manualmente %[4]s` issues.manually_pull_merged_at=`merged commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> in <b>%[3]s</b> manualmente %[4]s`
issues.close_comment_issue=Commenta e Chiudi issues.close_comment_issue=Commenta e Chiudi

View File

@ -821,6 +821,7 @@ remove_account_link=連携アカウントの削除
remove_account_link_desc=連携アカウントを削除し、Giteaアカウントへのアクセス権を取り消します。 続行しますか? remove_account_link_desc=連携アカウントを削除し、Giteaアカウントへのアクセス権を取り消します。 続行しますか?
remove_account_link_success=連携アカウントを削除しました。 remove_account_link_success=連携アカウントを削除しました。
hooks.desc=このユーザーが所有する<strong>すべてのリポジトリ</strong>でトリガーされるWebhookを追加します。
orgs_none=あなたはどの組織のメンバーでもありません。 orgs_none=あなたはどの組織のメンバーでもありません。
repos_none=あなたはリポジトリを所有していません。 repos_none=あなたはリポジトリを所有していません。
@ -1368,7 +1369,7 @@ issues.context.reference_issue=新しいイシューから参照
issues.context.edit=編集 issues.context.edit=編集
issues.context.delete=削除 issues.context.delete=削除
issues.no_content=まだ内容がありません issues.no_content=まだ内容がありません
issues.close_issue=クローズする issues.close=イシューをクローズ
issues.pull_merged_at=`がコミット <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> を <b>%[3]s</b> にマージ %[4]s` issues.pull_merged_at=`がコミット <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> を <b>%[3]s</b> にマージ %[4]s`
issues.manually_pull_merged_at=`がコミット <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> を <b>%[3]s</b> に手動マージ %[4]s` issues.manually_pull_merged_at=`がコミット <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> を <b>%[3]s</b> に手動マージ %[4]s`
issues.close_comment_issue=コメントしてクローズ issues.close_comment_issue=コメントしてクローズ
@ -1653,6 +1654,7 @@ pulls.update_branch_rebase=リベースでブランチを更新
pulls.update_branch_success=ブランチの更新が成功しました pulls.update_branch_success=ブランチの更新が成功しました
pulls.update_not_allowed=ブランチを更新する権限がありません pulls.update_not_allowed=ブランチを更新する権限がありません
pulls.outdated_with_base_branch=このブランチはベースブランチに対して最新ではありません pulls.outdated_with_base_branch=このブランチはベースブランチに対して最新ではありません
pulls.close=プルリクエストをクローズ
pulls.closed_at=`がプルリクエストをクローズ <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at=`がプルリクエストをクローズ <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at=`がプルリクエストを再オープン <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at=`がプルリクエストを再オープン <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.merge_instruction_hint=`<a class="show-instruction">コマンドラインの手順</a>も確認できます。` pulls.merge_instruction_hint=`<a class="show-instruction">コマンドラインの手順</a>も確認できます。`
@ -2289,6 +2291,8 @@ release.edit_subheader=リリースで、プロジェクトのバージョンを
release.tag_name=タグ名 release.tag_name=タグ名
release.target=ターゲット release.target=ターゲット
release.tag_helper=既存のタグを選択するか、新しいタグを作成します。 release.tag_helper=既存のタグを選択するか、新しいタグを作成します。
release.tag_helper_new=新しいタグです。 このタグはターゲットから作成されます。
release.tag_helper_existing=存在するタグです。
release.title=タイトル release.title=タイトル
release.content=内容 release.content=内容
release.prerelease_desc=プレリリース release.prerelease_desc=プレリリース
@ -2418,6 +2422,7 @@ settings.delete_prompt=組織は恒久的に削除され、元に戻すことは
settings.confirm_delete_account=削除を確認 settings.confirm_delete_account=削除を確認
settings.delete_org_title=組織の削除 settings.delete_org_title=組織の削除
settings.delete_org_desc=組織を恒久的に削除します。 続行しますか? settings.delete_org_desc=組織を恒久的に削除します。 続行しますか?
settings.hooks_desc=この組織の<strong>すべてのリポジトリ</strong>でトリガーされるWebhookを追加します。
settings.labels_desc=この組織の<strong>すべてのリポジトリ</strong>で使用可能なイシューラベルを追加します。 settings.labels_desc=この組織の<strong>すべてのリポジトリ</strong>で使用可能なイシューラベルを追加します。
@ -2930,6 +2935,8 @@ config.git_disable_diff_highlight=Diffのシンタックスハイライトが無
config.git_max_diff_lines=最大の差分行数(1ファイルあたり) config.git_max_diff_lines=最大の差分行数(1ファイルあたり)
config.git_max_diff_line_characters=最大の差分文字数(1行あたり) config.git_max_diff_line_characters=最大の差分文字数(1行あたり)
config.git_max_diff_files=差分を表示する最大ファイル数 config.git_max_diff_files=差分を表示する最大ファイル数
config.git_enable_reflogs=Reflog有効
config.git_reflog_expiry_time=有効期間
config.git_gc_args=GC引数 config.git_gc_args=GC引数
config.git_migrate_timeout=移行タイムアウト config.git_migrate_timeout=移行タイムアウト
config.git_mirror_timeout=ミラー更新タイムアウト config.git_mirror_timeout=ミラー更新タイムアウト
@ -3234,6 +3241,9 @@ rubygems.required.ruby=必要なRubyバージョン
rubygems.required.rubygems=必要なRubyGemバージョン rubygems.required.rubygems=必要なRubyGemバージョン
rubygems.documentation=RubyGemsレジストリの詳細については、<a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/rubygems/">ドキュメント</a> を参照してください。 rubygems.documentation=RubyGemsレジストリの詳細については、<a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/rubygems/">ドキュメント</a> を参照してください。
swift.registry=このレジストリをコマンドラインからセットアップします: swift.registry=このレジストリをコマンドラインからセットアップします:
swift.install=あなたの <code>Package.swift</code> ファイルにパッケージを追加します:
swift.install2=そして次のコマンドを実行します:
swift.documentation=Swift レジストリの詳細については、 <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/swift/">ドキュメント</a> を参照してください。
vagrant.install=Vagrant ボックスを追加するには、次のコマンドを実行します。 vagrant.install=Vagrant ボックスを追加するには、次のコマンドを実行します。
vagrant.documentation=Vagrantレジストリの詳細については <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/vagrant/">ドキュメント</a>を参照してください。 vagrant.documentation=Vagrantレジストリの詳細については <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/vagrant/">ドキュメント</a>を参照してください。
settings.link=このパッケージをリポジトリにリンク settings.link=このパッケージをリポジトリにリンク

View File

@ -787,7 +787,6 @@ issues.delete_comment_confirm=이 댓글을 정말 삭제하시겠습니까?
issues.context.edit=수정하기 issues.context.edit=수정하기
issues.context.delete=삭제 issues.context.delete=삭제
issues.no_content=아직 콘텐츠가 없습니다. issues.no_content=아직 콘텐츠가 없습니다.
issues.close_issue=닫기
issues.close_comment_issue=클로즈 및 코멘트 issues.close_comment_issue=클로즈 및 코멘트
issues.reopen_issue=다시 열기 issues.reopen_issue=다시 열기
issues.reopen_comment_issue=다시 오픈 및 코멘트 issues.reopen_comment_issue=다시 오픈 및 코멘트

View File

@ -1461,7 +1461,6 @@ issues.context.reference_issue=Atsaukties uz šo jaunā problēmā
issues.context.edit=Labot issues.context.edit=Labot
issues.context.delete=Dzēst issues.context.delete=Dzēst
issues.no_content=Vēl nav satura. issues.no_content=Vēl nav satura.
issues.close_issue=Aizvērt
issues.pull_merged_at=`sapludināja revīziju <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> atzarā <b>%[3]s</b> %[4]s` issues.pull_merged_at=`sapludināja revīziju <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> atzarā <b>%[3]s</b> %[4]s`
issues.manually_pull_merged_at=`manuāli sapludināja revīziju <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> atzarā <b>%[3]s</b> %[4]s` issues.manually_pull_merged_at=`manuāli sapludināja revīziju <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> atzarā <b>%[3]s</b> %[4]s`
issues.close_comment_issue=Komentēt un aizvērt issues.close_comment_issue=Komentēt un aizvērt

View File

@ -1315,7 +1315,6 @@ issues.context.reference_issue=Verwijs in nieuw issue
issues.context.edit=Bewerken issues.context.edit=Bewerken
issues.context.delete=Verwijder issues.context.delete=Verwijder
issues.no_content=Er is nog geen inhoud. issues.no_content=Er is nog geen inhoud.
issues.close_issue=Sluit
issues.pull_merged_at=`commit samengevoegd <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> in <b>%[3]s</b> %[4]s` issues.pull_merged_at=`commit samengevoegd <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> in <b>%[3]s</b> %[4]s`
issues.manually_pull_merged_at=`commit <a class="ui sha" href="%[1]s"> handmatig samengevoegd <code>%[2]s</code></a> in <b>%[3]s</b> %[4]s` issues.manually_pull_merged_at=`commit <a class="ui sha" href="%[1]s"> handmatig samengevoegd <code>%[2]s</code></a> in <b>%[3]s</b> %[4]s`
issues.close_comment_issue=Reageer en sluit issues.close_comment_issue=Reageer en sluit

View File

@ -1208,7 +1208,6 @@ issues.context.quote_reply=Cytuj odpowiedź
issues.context.edit=Edytuj issues.context.edit=Edytuj
issues.context.delete=Usuń issues.context.delete=Usuń
issues.no_content=Nie ma jeszcze treści. issues.no_content=Nie ma jeszcze treści.
issues.close_issue=Zamknij
issues.close_comment_issue=Skomentuj i zamknij issues.close_comment_issue=Skomentuj i zamknij
issues.reopen_issue=Otwórz ponownie issues.reopen_issue=Otwórz ponownie
issues.reopen_comment_issue=Skomentuj i otwórz ponownie issues.reopen_comment_issue=Skomentuj i otwórz ponownie

View File

@ -1369,7 +1369,6 @@ issues.context.reference_issue=Referência em uma nova issue
issues.context.edit=Editar issues.context.edit=Editar
issues.context.delete=Excluir issues.context.delete=Excluir
issues.no_content=Ainda não há conteúdo. issues.no_content=Ainda não há conteúdo.
issues.close_issue=Fechar
issues.pull_merged_at=`aplicou o merge do commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> em <b>%[3]s</b> %[4]s` issues.pull_merged_at=`aplicou o merge do commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> em <b>%[3]s</b> %[4]s`
issues.manually_pull_merged_at=`aplicou o merge do commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> em <b>%[3]s</b> manualmente %[4]s` issues.manually_pull_merged_at=`aplicou o merge do commit <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> em <b>%[3]s</b> manualmente %[4]s`
issues.close_comment_issue=Comentar e fechar issues.close_comment_issue=Comentar e fechar

View File

@ -1369,7 +1369,6 @@ issues.context.reference_issue=Criar uma nova questão referindo esta
issues.context.edit=Editar issues.context.edit=Editar
issues.context.delete=Eliminar issues.context.delete=Eliminar
issues.no_content=Ainda não há conteúdo. issues.no_content=Ainda não há conteúdo.
issues.close_issue=Fechar
issues.pull_merged_at=`integrou o cometimento <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> no ramo <b>%[3]s</b> %[4]s` issues.pull_merged_at=`integrou o cometimento <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> no ramo <b>%[3]s</b> %[4]s`
issues.manually_pull_merged_at=`integrou o cometimento <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> no ramo <b>%[3]s</b> manualmente %[4]s` issues.manually_pull_merged_at=`integrou o cometimento <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> no ramo <b>%[3]s</b> manualmente %[4]s`
issues.close_comment_issue=Comentar e fechar issues.close_comment_issue=Comentar e fechar

View File

@ -1274,7 +1274,6 @@ issues.context.reference_issue=Ссылка в новой задаче
issues.context.edit=Редактировать issues.context.edit=Редактировать
issues.context.delete=Удалить issues.context.delete=Удалить
issues.no_content=Пока нет содержимого. issues.no_content=Пока нет содержимого.
issues.close_issue=Закрыть
issues.pull_merged_at=`объединил(а) коммит <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> в <b>%[3]s</b> %[4]s` issues.pull_merged_at=`объединил(а) коммит <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> в <b>%[3]s</b> %[4]s`
issues.manually_pull_merged_at=`%[4]s вручную объединил(а) коммит <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> в <b>%[3]s</b>` issues.manually_pull_merged_at=`%[4]s вручную объединил(а) коммит <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> в <b>%[3]s</b>`
issues.close_comment_issue=Прокомментировать и закрыть issues.close_comment_issue=Прокомментировать и закрыть

View File

@ -1164,7 +1164,6 @@ issues.context.reference_issue=නව නිකුතුවක යොමු ක
issues.context.edit=සංස්කරණය issues.context.edit=සංස්කරණය
issues.context.delete=මකන්න issues.context.delete=මකන්න
issues.no_content=තවම අන්තර්ගතයක් නැත. issues.no_content=තවම අන්තර්ගතයක් නැත.
issues.close_issue=වසන්න
issues.pull_merged_at=`ඒකාබද්ධ කැප <a class="ui sha" href="%[1]s"><code>%[2]ගේ</code></a> <b>%[3]ගේ</b> %[4]දින issues.pull_merged_at=`ඒකාබද්ධ කැප <a class="ui sha" href="%[1]s"><code>%[2]ගේ</code></a> <b>%[3]ගේ</b> %[4]දින
issues.manually_pull_merged_at=`ඒකාබද්ධ කැප <a class="ui sha" href="%[1]s"><code>%[2]ගේ</code></a> <b>%[3]ගේ</b> අත්පොත%[4]s` issues.manually_pull_merged_at=`ඒකාබද්ධ කැප <a class="ui sha" href="%[1]s"><code>%[2]ගේ</code></a> <b>%[3]ගේ</b> අත්පොත%[4]s`
issues.close_comment_issue=අදහස් දක්වා වසන්න issues.close_comment_issue=අදහස් දක්වා වසන්න

View File

@ -1049,7 +1049,6 @@ issues.action_milestone=Míľnik
issues.action_assignee=Príjemca issues.action_assignee=Príjemca
issues.open_title=Otvoriť issues.open_title=Otvoriť
issues.context.reference_issue=Odkázať v novom úkole issues.context.reference_issue=Odkázať v novom úkole
issues.close_issue=Zavrieť
issues.closed_at=`uzavrel/a tento úkol <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.closed_at=`uzavrel/a tento úkol <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.reopened_at=`znovuotvoril/a tento úkol <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.reopened_at=`znovuotvoril/a tento úkol <a id="%[1]s" href="#%[1]s">%[2]s</a>`
issues.commit_ref_at=`odkázal na tento úkol z commitu <a id="%[1]s" href="#%[1]s">%[2]s</a>` issues.commit_ref_at=`odkázal na tento úkol z commitu <a id="%[1]s" href="#%[1]s">%[2]s</a>`

View File

@ -1000,7 +1000,6 @@ issues.context.reference_issue=Referens i nytt ärende
issues.context.edit=Redigera issues.context.edit=Redigera
issues.context.delete=Ta bort issues.context.delete=Ta bort
issues.no_content=Det finns inget innehåll än. issues.no_content=Det finns inget innehåll än.
issues.close_issue=Stäng
issues.close_comment_issue=Kommentera och stäng issues.close_comment_issue=Kommentera och stäng
issues.reopen_issue=Återöppna issues.reopen_issue=Återöppna
issues.reopen_comment_issue=Kommentera och återöppna issues.reopen_comment_issue=Kommentera och återöppna

View File

@ -1373,7 +1373,6 @@ issues.context.reference_issue=Yeni konuda referans
issues.context.edit=Düzenle issues.context.edit=Düzenle
issues.context.delete=Sil issues.context.delete=Sil
issues.no_content=Henüz bir içerik yok. issues.no_content=Henüz bir içerik yok.
issues.close_issue=Kapat
issues.pull_merged_at=`<a class="ui sha" href="%[1]s"><code>%[2]s</code></a> işlemesini <b>%[3]s</b> %[4]s ile birleştirdi` issues.pull_merged_at=`<a class="ui sha" href="%[1]s"><code>%[2]s</code></a> işlemesini <b>%[3]s</b> %[4]s ile birleştirdi`
issues.manually_pull_merged_at=`<a class="ui sha" href="%[1]s"><code>%[2]s</code></a> işlemesini <b>%[3]s</b> %[4]s ile elle birleştirdi` issues.manually_pull_merged_at=`<a class="ui sha" href="%[1]s"><code>%[2]s</code></a> işlemesini <b>%[3]s</b> %[4]s ile elle birleştirdi`
issues.close_comment_issue=Yorum Yap ve Kapat issues.close_comment_issue=Yorum Yap ve Kapat

View File

@ -1221,7 +1221,6 @@ issues.context.reference_issue=Посилання в новій задачі
issues.context.edit=Редагувати issues.context.edit=Редагувати
issues.context.delete=Видалити issues.context.delete=Видалити
issues.no_content=Тут ще немає жодного змісту. issues.no_content=Тут ще немає жодного змісту.
issues.close_issue=Закрити
issues.pull_merged_at=`Злиті коміти <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> в <b>%[3]s</b> %[4]s` issues.pull_merged_at=`Злиті коміти <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> в <b>%[3]s</b> %[4]s`
issues.manually_pull_merged_at=`%[4]s вручну злив коміти <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> в <b>%[3]s</b>` issues.manually_pull_merged_at=`%[4]s вручну злив коміти <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> в <b>%[3]s</b>`
issues.close_comment_issue=Прокоментувати і закрити issues.close_comment_issue=Прокоментувати і закрити

View File

@ -1368,7 +1368,6 @@ issues.context.reference_issue=在新工单中引用
issues.context.edit=编辑 issues.context.edit=编辑
issues.context.delete=刪除 issues.context.delete=刪除
issues.no_content=这个人很懒,什么都没留下。 issues.no_content=这个人很懒,什么都没留下。
issues.close_issue=关闭
issues.pull_merged_at=`于 %[4]s 合并了提交 <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> 到 <b>%[3]s</b>` issues.pull_merged_at=`于 %[4]s 合并了提交 <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> 到 <b>%[3]s</b>`
issues.manually_pull_merged_at=`于 %[4]s 手动合并了提交 <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> 到 <b>%[3]s</b>` issues.manually_pull_merged_at=`于 %[4]s 手动合并了提交 <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> 到 <b>%[3]s</b>`
issues.close_comment_issue=评论并关闭 issues.close_comment_issue=评论并关闭

View File

@ -442,7 +442,6 @@ issues.commented_at=` 評論 <a href="#%s"> %s</a>`
issues.delete_comment_confirm=您確定要刪除該條評論嗎? issues.delete_comment_confirm=您確定要刪除該條評論嗎?
issues.context.edit=編輯 issues.context.edit=編輯
issues.no_content=尚未有任何內容 issues.no_content=尚未有任何內容
issues.close_issue=關閉
issues.reopen_issue=重新開啟 issues.reopen_issue=重新開啟
issues.create_comment=評論 issues.create_comment=評論
issues.commit_ref_at=`在代碼提交 <a id="%[1]s" href="#%[1]s">%[2]s</a> 中引用了該問題` issues.commit_ref_at=`在代碼提交 <a id="%[1]s" href="#%[1]s">%[2]s</a> 中引用了該問題`

View File

@ -1369,7 +1369,7 @@ issues.context.reference_issue=新增問題並參考
issues.context.edit=編輯 issues.context.edit=編輯
issues.context.delete=刪除 issues.context.delete=刪除
issues.no_content=尚未有任何內容 issues.no_content=尚未有任何內容
issues.close_issue=關閉 issues.close=關閉問題
issues.pull_merged_at=`合併了提交 <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> 至 <b>%[3]s</b> %[4]s` issues.pull_merged_at=`合併了提交 <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> 至 <b>%[3]s</b> %[4]s`
issues.manually_pull_merged_at=`手動合併了提交 <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> 至 <b>%[3]s</b> %[4]s` issues.manually_pull_merged_at=`手動合併了提交 <a class="ui sha" href="%[1]s"><code>%[2]s</code></a> 至 <b>%[3]s</b> %[4]s`
issues.close_comment_issue=留言並關閉 issues.close_comment_issue=留言並關閉
@ -1654,6 +1654,7 @@ pulls.update_branch_rebase=以 Rebase 更新分支
pulls.update_branch_success=分支更新成功 pulls.update_branch_success=分支更新成功
pulls.update_not_allowed=您無權更新分支 pulls.update_not_allowed=您無權更新分支
pulls.outdated_with_base_branch=相對於基底分支,此分支已過時 pulls.outdated_with_base_branch=相對於基底分支,此分支已過時
pulls.close=關閉合併請求
pulls.closed_at=`關閉了這個合併請求 <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.closed_at=`關閉了這個合併請求 <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.reopened_at=`重新開放了這個合併請求 <a id="%[1]s" href="#%[1]s">%[2]s</a>` pulls.reopened_at=`重新開放了這個合併請求 <a id="%[1]s" href="#%[1]s">%[2]s</a>`
pulls.merge_instruction_hint=`您也可以查看<a class="show-instruction">命令列指南</a>。` pulls.merge_instruction_hint=`您也可以查看<a class="show-instruction">命令列指南</a>。`

2854
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -4,42 +4,42 @@
"private": true, "private": true,
"type": "module", "type": "module",
"engines": { "engines": {
"node": ">= 14.0.0" "node": ">= 16.0.0"
}, },
"dependencies": { "dependencies": {
"@citation-js/core": "0.6.5", "@citation-js/core": "0.6.5",
"@citation-js/plugin-bibtex": "0.6.5", "@citation-js/plugin-bibtex": "0.6.6",
"@citation-js/plugin-csl": "0.6.5", "@citation-js/plugin-csl": "0.6.7",
"@citation-js/plugin-software-formats": "0.6.0", "@citation-js/plugin-software-formats": "0.6.0",
"@claviska/jquery-minicolors": "2.3.6", "@claviska/jquery-minicolors": "2.3.6",
"@mcaptcha/vanilla-glue": "0.1.0-alpha-3", "@mcaptcha/vanilla-glue": "0.1.0-alpha-3",
"@primer/octicons": "17.10.2", "@primer/octicons": "18.2.0",
"@vue/compiler-sfc": "3.2.45", "@vue/compiler-sfc": "3.2.47",
"add-asset-webpack-plugin": "2.0.1", "add-asset-webpack-plugin": "2.0.1",
"ansi-to-html": "0.7.2", "ansi-to-html": "0.7.2",
"asciinema-player": "3.0.1", "asciinema-player": "3.2.0",
"css-loader": "6.7.3", "css-loader": "6.7.3",
"dropzone": "6.0.0-beta.2", "dropzone": "6.0.0-beta.2",
"easymde": "2.18.0", "easymde": "2.18.0",
"esbuild-loader": "2.21.0", "esbuild-loader": "3.0.1",
"escape-goat": "4.0.0", "escape-goat": "4.0.0",
"fast-glob": "3.2.12", "fast-glob": "3.2.12",
"font-awesome": "4.7.0", "font-awesome": "4.7.0",
"jquery": "3.6.3", "jquery": "3.6.4",
"jquery.are-you-sure": "1.9.0", "jquery.are-you-sure": "1.9.0",
"katex": "0.16.4", "katex": "0.16.4",
"license-checker-webpack-plugin": "0.2.1", "license-checker-webpack-plugin": "0.2.1",
"mermaid": "10.0.2", "mermaid": "10.0.2",
"mini-css-extract-plugin": "2.7.4", "mini-css-extract-plugin": "2.7.4",
"monaco-editor": "0.34.1", "monaco-editor": "0.36.1",
"monaco-editor-webpack-plugin": "7.0.1", "monaco-editor-webpack-plugin": "7.0.1",
"pretty-ms": "8.0.0", "pretty-ms": "8.0.0",
"sortablejs": "1.15.0", "sortablejs": "1.15.0",
"swagger-ui-dist": "4.15.5", "swagger-ui-dist": "4.18.1",
"tippy.js": "6.3.7", "tippy.js": "6.3.7",
"tributejs": "5.1.3", "tributejs": "5.1.3",
"uint8-to-base64": "0.2.0", "uint8-to-base64": "0.2.0",
"vue": "3.2.45", "vue": "3.2.47",
"vue-bar-graph": "2.0.0", "vue-bar-graph": "2.0.0",
"vue-loader": "17.0.1", "vue-loader": "17.0.1",
"vue3-calendar-heatmap": "2.0.0", "vue3-calendar-heatmap": "2.0.0",
@ -48,25 +48,25 @@
"workbox-routing": "6.5.4", "workbox-routing": "6.5.4",
"workbox-strategies": "6.5.4", "workbox-strategies": "6.5.4",
"worker-loader": "3.0.8", "worker-loader": "3.0.8",
"wrap-ansi": "8.0.1" "wrap-ansi": "8.1.0"
}, },
"devDependencies": { "devDependencies": {
"@playwright/test": "1.29.2", "@playwright/test": "1.31.2",
"@rollup/pluginutils": "5.0.2", "@rollup/pluginutils": "5.0.2",
"@stoplight/spectral-cli": "6.6.0", "@stoplight/spectral-cli": "6.6.0",
"eslint": "8.32.0", "eslint": "8.36.0",
"eslint-plugin-import": "2.27.5", "eslint-plugin-import": "2.27.5",
"eslint-plugin-jquery": "1.5.1", "eslint-plugin-jquery": "1.5.1",
"eslint-plugin-sonarjs": "0.18.0", "eslint-plugin-sonarjs": "0.18.0",
"eslint-plugin-unicorn": "45.0.2", "eslint-plugin-unicorn": "46.0.0",
"eslint-plugin-vue": "9.9.0", "eslint-plugin-vue": "9.9.0",
"jsdom": "21.0.0", "jsdom": "21.1.1",
"markdownlint-cli": "0.33.0", "markdownlint-cli": "0.33.0",
"stylelint": "15.2.0", "stylelint": "15.3.0",
"stylelint-declaration-strict-value": "1.9.2", "stylelint-declaration-strict-value": "1.9.2",
"svgo": "3.0.2", "svgo": "3.0.2",
"updates": "13.2.7", "updates": "13.2.9",
"vitest": "0.27.2" "vitest": "0.29.3"
}, },
"browserslist": [ "browserslist": [
"defaults", "defaults",

View File

@ -1 +1 @@
<svg viewBox="0 0 16 16" class="svg octicon-chevron-down" width="16" height="16" aria-hidden="true"><path d="M12.78 6.22a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L3.22 7.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L8 9.94l3.72-3.72a.75.75 0 0 1 1.06 0Z"/></svg> <svg viewBox="0 0 16 16" class="svg octicon-chevron-down" width="16" height="16" aria-hidden="true"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"/></svg>

Before

Width:  |  Height:  |  Size: 279 B

After

Width:  |  Height:  |  Size: 261 B

View File

@ -1 +1 @@
<svg viewBox="0 0 16 16" class="svg octicon-chevron-up" width="16" height="16" aria-hidden="true"><path d="M3.22 9.78a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0l4.25 4.25a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018L8 6.06 4.28 9.78a.75.75 0 0 1-1.06 0Z"/></svg> <svg viewBox="0 0 16 16" class="svg octicon-chevron-up" width="16" height="16" aria-hidden="true"><path d="M3.22 10.53a.749.749 0 0 1 0-1.06l4.25-4.25a.749.749 0 0 1 1.06 0l4.25 4.25a.749.749 0 1 1-1.06 1.06L8 6.811 4.28 10.53a.749.749 0 0 1-1.06 0Z"/></svg>

Before

Width:  |  Height:  |  Size: 274 B

After

Width:  |  Height:  |  Size: 258 B

View File

@ -0,0 +1 @@
<svg viewBox="0 0 16 16" class="svg octicon-discussion-closed" width="16" height="16" aria-hidden="true"><path d="M0 2.75C0 1.783.784 1 1.75 1h8.5c.967 0 1.75.783 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.457 1.457 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25Zm1.75-.25a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.189L6.22 8.72a.747.747 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25Zm12.5 2h-.5a.75.75 0 0 1 0-1.5h.5c.967 0 1.75.783 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.457 1.457 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 1 1 1.06-1.06l2.22 2.219V11.25a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25Zm-5.47.28-3 3a.747.747 0 0 1-1.06 0l-1.5-1.5a.749.749 0 1 1 1.06-1.06l.97.969L7.72 3.72a.749.749 0 1 1 1.06 1.06Z"/></svg>

After

Width:  |  Height:  |  Size: 817 B

View File

@ -0,0 +1 @@
<svg viewBox="0 0 16 16" class="svg octicon-discussion-duplicate" width="16" height="16" aria-hidden="true"><path d="M0 2.75C0 1.783.784 1 1.75 1h8.5c.967 0 1.75.783 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.457 1.457 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25Zm1.75-.25a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.189L6.22 8.72a.747.747 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25Zm12.5 2h-.5a.75.75 0 0 1 0-1.5h.5c.967 0 1.75.783 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.457 1.457 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 1 1 1.06-1.06l2.22 2.219V11.25a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25Zm-6.282.03L5.03 7.468a.749.749 0 1 1-1.06-1.061L6.907 3.47a.75.75 0 0 1 1.061 1.06Z"/></svg>

After

Width:  |  Height:  |  Size: 790 B

View File

@ -0,0 +1 @@
<svg viewBox="0 0 16 16" class="svg octicon-discussion-outdated" width="16" height="16" aria-hidden="true"><path d="M0 2.75C0 1.783.784 1 1.75 1h8.5c.967 0 1.75.783 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.457 1.457 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25Zm1.75-.25a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.189L6.22 8.72a.747.747 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25Zm12.5 2h-.5a.75.75 0 0 1 0-1.5h.5c.967 0 1.75.783 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.457 1.457 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 1 1 1.06-1.06l2.22 2.219V11.25a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25ZM6.5 4v1.492l.466.187.036.015.812.375a.75.75 0 1 1-.628 1.362l-.795-.367-.92-.368A.75.75 0 0 1 5 6V4a.75.75 0 0 1 1.5 0Z"/></svg>

After

Width:  |  Height:  |  Size: 826 B

View File

@ -1 +1 @@
<svg viewBox="0 0 16 16" class="svg octicon-download" width="16" height="16" aria-hidden="true"><path d="M7.47 10.78 3.72 7.03a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l2.47 2.47V1.75a.75.75 0 0 1 1.5 0v6.69l2.47-2.47a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-3.75 3.75a.75.75 0 0 1-1.06 0ZM3.75 13h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Z"/></svg> <svg viewBox="0 0 16 16" class="svg octicon-download" width="16" height="16" aria-hidden="true"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"/><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"/></svg>

Before

Width:  |  Height:  |  Size: 373 B

After

Width:  |  Height:  |  Size: 440 B

View File

@ -0,0 +1 @@
<svg viewBox="0 0 16 16" class="svg octicon-fiscal-host" width="16" height="16" aria-hidden="true"><path d="M10 8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"/><path d="M4 9.25h-.75a.75.75 0 0 1 0-1.5H4v-1.5h-.75a.75.75 0 0 1 0-1.5H4V3.5a1 1 0 0 1 1-1h7.5a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1ZM5.5 4v.793a.75.75 0 0 1 0 1.414v1.586a.75.75 0 0 1 0 1.414V10H12V4Z"/><path d="M12.75 14.25V14h-9.5v.25a.75.75 0 0 1-1.5 0V14A1.75 1.75 0 0 1 0 12.25V1.75C0 .784.784 0 1.75 0h12.5C15.217 0 16 .784 16 1.75v10.5A1.75 1.75 0 0 1 14.25 14v.25a.75.75 0 0 1-1.5 0ZM1.75 1.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Z"/></svg>

After

Width:  |  Height:  |  Size: 662 B

View File

@ -1 +1 @@
<svg viewBox="0 0 16 16" class="svg octicon-issue-tracked-by" width="16" height="16" aria-hidden="true"><path d="M1.5 8a6.5 6.5 0 0 1 13 0A.75.75 0 0 0 16 8a8 8 0 1 0-8 8 .75.75 0 0 0 0-1.5A6.5 6.5 0 0 1 1.5 8Z"/><path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm1.5 1.75a.75.75 0 0 1 .75-.75h5a.75.75 0 0 1 0 1.5h-5a.75.75 0 0 1-.75-.75Zm2.75 2.25a.75.75 0 0 0 0 1.5h3a.75.75 0 0 0 0-1.5h-3Z"/></svg> <svg viewBox="0 0 16 16" class="svg octicon-issue-tracked-by" width="16" height="16" aria-hidden="true"><path d="M1.5 8a6.5 6.5 0 0 1 13 0A.75.75 0 0 0 16 8a8 8 0 1 0-8 8 .75.75 0 0 0 0-1.5A6.5 6.5 0 0 1 1.5 8Z"/><path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm3.573 5.823-2.896-2.896a.25.25 0 0 1 0-.354l2.896-2.896a.25.25 0 0 1 .427.177V11.5h3.25a.75.75 0 0 1 0 1.5H12v2.146a.25.25 0 0 1-.427.177Z"/></svg>

Before

Width:  |  Height:  |  Size: 404 B

After

Width:  |  Height:  |  Size: 413 B

View File

@ -1 +0,0 @@
<svg viewBox="0 0 16 16" class="svg octicon-issue-tracked-in" width="16" height="16" aria-hidden="true"><path d="M1.5 8a6.5 6.5 0 0 1 13 0A.75.75 0 0 0 16 8a8 8 0 1 0-8 8 .75.75 0 0 0 0-1.5A6.5 6.5 0 0 1 1.5 8Z"/><path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm3.573 5.823-2.896-2.896a.25.25 0 0 1 0-.354l2.896-2.896a.25.25 0 0 1 .427.177V11.5h3.25a.75.75 0 0 1 0 1.5H12v2.146a.25.25 0 0 1-.427.177Z"/></svg>

Before

Width:  |  Height:  |  Size: 413 B

View File

@ -0,0 +1 @@
<svg viewBox="0 0 16 16" class="svg octicon-issue-tracks" width="16" height="16" aria-hidden="true"><path d="M1.5 8a6.5 6.5 0 0 1 13 0A.75.75 0 0 0 16 8a8 8 0 1 0-8 8 .75.75 0 0 0 0-1.5A6.5 6.5 0 0 1 1.5 8Z"/><path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm1.5 1.75a.75.75 0 0 1 .75-.75h5a.75.75 0 0 1 0 1.5h-5a.75.75 0 0 1-.75-.75Zm2.75 2.25a.75.75 0 0 0 0 1.5h3a.75.75 0 0 0 0-1.5h-3Z"/></svg>

After

Width:  |  Height:  |  Size: 400 B

View File

@ -0,0 +1 @@
<svg viewBox="0 0 16 16" class="svg octicon-move-to-bottom" width="16" height="16" aria-hidden="true"><path d="M7.47 10.78a.749.749 0 0 0 1.06 0l3.75-3.75a.749.749 0 1 0-1.06-1.06L8.75 8.439V1.75a.75.75 0 0 0-1.5 0v6.689L4.78 5.97a.749.749 0 1 0-1.06 1.06l3.75 3.75ZM3.75 13a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5h-8.5Z"/></svg>

After

Width:  |  Height:  |  Size: 331 B

View File

@ -0,0 +1 @@
<svg viewBox="0 0 16 16" class="svg octicon-move-to-end" width="16" height="16" aria-hidden="true"><path d="m10.78 8.53-3.75 3.75a.749.749 0 1 1-1.06-1.06l2.469-2.47H1.75a.75.75 0 0 1 0-1.5h6.689L5.97 4.78a.749.749 0 1 1 1.06-1.06l3.75 3.75a.749.749 0 0 1 0 1.06ZM13 12.25v-8.5a.75.75 0 0 1 1.5 0v8.5a.75.75 0 0 1-1.5 0Z"/></svg>

After

Width:  |  Height:  |  Size: 329 B

View File

@ -0,0 +1 @@
<svg viewBox="0 0 16 16" class="svg octicon-move-to-start" width="16" height="16" aria-hidden="true"><path d="M5.22 7.47a.749.749 0 0 0 0 1.06l3.75 3.75a.749.749 0 1 0 1.06-1.06L7.561 8.75h6.689a.75.75 0 0 0 0-1.5H7.561l2.469-2.47a.749.749 0 1 0-1.06-1.06L5.22 7.47ZM3 3.75a.75.75 0 0 0-1.5 0v8.5a.75.75 0 0 0 1.5 0v-8.5Z"/></svg>

After

Width:  |  Height:  |  Size: 330 B

View File

@ -0,0 +1 @@
<svg viewBox="0 0 16 16" class="svg octicon-move-to-top" width="16" height="16" aria-hidden="true"><path d="M8.53 1.22a.749.749 0 0 0-1.06 0L3.72 4.97a.749.749 0 1 0 1.06 1.06l2.47-2.469v6.689a.75.75 0 0 0 1.5 0V3.561l2.47 2.469a.749.749 0 1 0 1.06-1.06L8.53 1.22ZM3.75 13a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5h-8.5Z"/></svg>

After

Width:  |  Height:  |  Size: 329 B

View File

@ -0,0 +1 @@
<svg viewBox="0 0 16 16" class="svg octicon-passkey-fill" width="16" height="16" aria-hidden="true"><path d="M2.743 4.757a3.757 3.757 0 1 1 5.851 3.119 5.991 5.991 0 0 1 2.15 1.383c.17.17.257.405.258.646.003.598.001 1.197 0 1.795L11 12.778v.721a.5.5 0 0 1-.5.5H1.221a.749.749 0 0 1-.714-.784 6.004 6.004 0 0 1 3.899-5.339 3.754 3.754 0 0 1-1.663-3.119Z"/><path d="M15.75 6.875c0 .874-.448 1.643-1.127 2.09a.265.265 0 0 0-.123.22v.59c0 .067-.026.13-.073.177l-.356.356a.125.125 0 0 0 0 .177l.356.356c.047.047.073.11.073.176v.231c0 .067-.026.13-.073.177l-.356.356a.125.125 0 0 0 0 .177l.356.356c.047.047.073.11.073.177v.287a.247.247 0 0 1-.065.168l-.8.88a.52.52 0 0 1-.77 0l-.8-.88a.247.247 0 0 1-.065-.168V9.185a.264.264 0 0 0-.123-.22 2.5 2.5 0 1 1 3.873-2.09ZM14 6.5a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"/></svg>

After

Width:  |  Height:  |  Size: 814 B

View File

@ -0,0 +1 @@
<svg viewBox="0 0 16 16" class="svg octicon-sparkle-fill" width="16" height="16" aria-hidden="true"><path d="M7.53 1.282a.5.5 0 0 1 .94 0l.478 1.306a7.492 7.492 0 0 0 4.464 4.464l1.305.478a.5.5 0 0 1 0 .94l-1.305.478a7.492 7.492 0 0 0-4.464 4.464l-.478 1.305a.5.5 0 0 1-.94 0l-.478-1.305a7.492 7.492 0 0 0-4.464-4.464L1.282 8.47a.5.5 0 0 1 0-.94l1.306-.478a7.492 7.492 0 0 0 4.464-4.464Z"/></svg>

After

Width:  |  Height:  |  Size: 396 B

View File

@ -1 +1 @@
<svg viewBox="0 0 16 16" class="svg octicon-upload" width="16" height="16" aria-hidden="true"><path d="m8.53 1.22 3.75 3.75a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8.75 3.56v6.69a.75.75 0 0 1-1.5 0V3.56L4.78 6.03a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75a.75.75 0 0 1 1.06 0ZM3.75 13h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Z"/></svg> <svg viewBox="0 0 16 16" class="svg octicon-upload" width="16" height="16" aria-hidden="true"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"/><path d="M11.78 4.72a.749.749 0 1 1-1.06 1.06L8.75 3.811V9.5a.75.75 0 0 1-1.5 0V3.811L5.28 5.78a.749.749 0 1 1-1.06-1.06l3.25-3.25a.749.749 0 0 1 1.06 0l3.25 3.25Z"/></svg>

Before

Width:  |  Height:  |  Size: 369 B

After

Width:  |  Height:  |  Size: 438 B

View File

@ -0,0 +1 @@
<svg viewBox="0 0 16 16" class="svg octicon-zoom-in" width="16" height="16" aria-hidden="true"><path d="M3.75 7.5a.75.75 0 0 1 .75-.75h2.25V4.5a.75.75 0 0 1 1.5 0v2.25h2.25a.75.75 0 0 1 0 1.5H8.25v2.25a.75.75 0 0 1-1.5 0V8.25H4.5a.75.75 0 0 1-.75-.75Z"/><path d="M7.5 0a7.5 7.5 0 0 1 5.807 12.247l2.473 2.473a.749.749 0 1 1-1.06 1.06l-2.473-2.473A7.5 7.5 0 1 1 7.5 0Zm-6 7.5a6 6 0 1 0 12 0 6 6 0 0 0-12 0Z"/></svg>

After

Width:  |  Height:  |  Size: 414 B

View File

@ -0,0 +1 @@
<svg viewBox="0 0 16 16" class="svg octicon-zoom-out" width="16" height="16" aria-hidden="true"><path d="M4.5 6.75h6a.75.75 0 0 1 0 1.5h-6a.75.75 0 0 1 0-1.5Z"/><path d="M0 7.5a7.5 7.5 0 1 1 13.307 4.747l2.473 2.473a.749.749 0 1 1-1.06 1.06l-2.473-2.473A7.5 7.5 0 0 1 0 7.5Zm7.5-6a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z"/></svg>

After

Width:  |  Height:  |  Size: 320 B

View File

@ -45,6 +45,7 @@ func createPackageMetadataResponse(registryURL string, pds []*packages_model.Pac
Author: npm_module.User{Name: metadata.Author}, Author: npm_module.User{Name: metadata.Author},
License: metadata.License, License: metadata.License,
Versions: versions, Versions: versions,
Repository: metadata.Repository,
} }
} }

View File

@ -51,12 +51,18 @@ func Projects(ctx *context.Context) {
page = 1 page = 1
} }
var projectType project_model.Type
if ctx.ContextUser.IsOrganization() {
projectType = project_model.TypeOrganization
} else {
projectType = project_model.TypeIndividual
}
projects, total, err := project_model.FindProjects(ctx, project_model.SearchOptions{ projects, total, err := project_model.FindProjects(ctx, project_model.SearchOptions{
OwnerID: ctx.ContextUser.ID, OwnerID: ctx.ContextUser.ID,
Page: page, Page: page,
IsClosed: util.OptionalBoolOf(isShowClosed), IsClosed: util.OptionalBoolOf(isShowClosed),
SortType: sortType, SortType: sortType,
Type: project_model.TypeOrganization, Type: projectType,
}) })
if err != nil { if err != nil {
ctx.ServerError("FindProjects", err) ctx.ServerError("FindProjects", err)
@ -66,7 +72,7 @@ func Projects(ctx *context.Context) {
opTotal, err := project_model.CountProjects(ctx, project_model.SearchOptions{ opTotal, err := project_model.CountProjects(ctx, project_model.SearchOptions{
OwnerID: ctx.ContextUser.ID, OwnerID: ctx.ContextUser.ID,
IsClosed: util.OptionalBoolOf(!isShowClosed), IsClosed: util.OptionalBoolOf(!isShowClosed),
Type: project_model.TypeOrganization, Type: projectType,
}) })
if err != nil { if err != nil {
ctx.ServerError("CountProjects", err) ctx.ServerError("CountProjects", err)
@ -143,14 +149,21 @@ func NewProjectPost(ctx *context.Context) {
return return
} }
if err := project_model.NewProject(&project_model.Project{ newProject := project_model.Project{
OwnerID: ctx.ContextUser.ID, OwnerID: ctx.ContextUser.ID,
Title: form.Title, Title: form.Title,
Description: form.Content, Description: form.Content,
CreatorID: ctx.Doer.ID, CreatorID: ctx.Doer.ID,
BoardType: form.BoardType, BoardType: form.BoardType,
Type: project_model.TypeOrganization, }
}); err != nil {
if ctx.ContextUser.IsOrganization() {
newProject.Type = project_model.TypeOrganization
} else {
newProject.Type = project_model.TypeIndividual
}
if err := project_model.NewProject(&newProject); err != nil {
ctx.ServerError("NewProject", err) ctx.ServerError("NewProject", err)
return return
} }

View File

@ -216,7 +216,7 @@
<div class="gt-df gt-ac"> <div class="gt-df gt-ac">
{{if .Verification.Verified}} {{if .Verification.Verified}}
{{if ne .Verification.SigningUser.ID 0}} {{if ne .Verification.SigningUser.ID 0}}
{{svg "octicon-shield-check" 16 "gt-mr-3"}} {{svg "octicon-verified" 16 "gt-mr-3"}}
{{if .Verification.SigningSSHKey}} {{if .Verification.SigningSSHKey}}
<span class="ui text gt-mr-3">{{.locale.Tr "repo.commits.ssh_key_fingerprint"}}:</span> <span class="ui text gt-mr-3">{{.locale.Tr "repo.commits.ssh_key_fingerprint"}}:</span>
{{.Verification.SigningSSHKey.Fingerprint}} {{.Verification.SigningSSHKey.Fingerprint}}
@ -225,7 +225,7 @@
{{.Verification.SigningKey.PaddedKeyID}} {{.Verification.SigningKey.PaddedKeyID}}
{{end}} {{end}}
{{else}} {{else}}
{{svg "octicon-shield-lock" 16 "gt-mr-3"}} {{svg "octicon-unverified" 16 "gt-mr-3"}}
{{if .Verification.SigningSSHKey}} {{if .Verification.SigningSSHKey}}
<span class="ui text gt-mr-3 tooltip" data-content="{{.locale.Tr "gpg.default_key"}}">{{.locale.Tr "repo.commits.ssh_key_fingerprint"}}:</span> <span class="ui text gt-mr-3 tooltip" data-content="{{.locale.Tr "gpg.default_key"}}">{{.locale.Tr "repo.commits.ssh_key_fingerprint"}}:</span>
{{.Verification.SigningSSHKey.Fingerprint}} {{.Verification.SigningSSHKey.Fingerprint}}
@ -235,7 +235,7 @@
{{end}} {{end}}
{{end}} {{end}}
{{else if .Verification.Warning}} {{else if .Verification.Warning}}
{{svg "octicon-shield" 16 "gt-mr-3"}} {{svg "octicon-unverified" 16 "gt-mr-3"}}
{{if .Verification.SigningSSHKey}} {{if .Verification.SigningSSHKey}}
<span class="ui text gt-mr-3">{{.locale.Tr "repo.commits.ssh_key_fingerprint"}}:</span> <span class="ui text gt-mr-3">{{.locale.Tr "repo.commits.ssh_key_fingerprint"}}:</span>
{{.Verification.SigningSSHKey.Fingerprint}} {{.Verification.SigningSSHKey.Fingerprint}}
@ -246,14 +246,14 @@
{{else}} {{else}}
{{if .Verification.SigningKey}} {{if .Verification.SigningKey}}
{{if ne .Verification.SigningKey.KeyID ""}} {{if ne .Verification.SigningKey.KeyID ""}}
{{svg "octicon-shield" 16 "gt-mr-3"}} {{svg "octicon-verified" 16 "gt-mr-3"}}
<span class="ui text gt-mr-3">{{.locale.Tr "repo.commits.gpg_key_id"}}:</span> <span class="ui text gt-mr-3">{{.locale.Tr "repo.commits.gpg_key_id"}}:</span>
{{.Verification.SigningKey.PaddedKeyID}} {{.Verification.SigningKey.PaddedKeyID}}
{{end}} {{end}}
{{end}} {{end}}
{{if .Verification.SigningSSHKey}} {{if .Verification.SigningSSHKey}}
{{if ne .Verification.SigningSSHKey.Fingerprint ""}} {{if ne .Verification.SigningSSHKey.Fingerprint ""}}
{{svg "octicon-shield" 16 "gt-mr-3"}} {{svg "octicon-verified" 16 "gt-mr-3"}}
<span class="ui text gt-mr-3">{{.locale.Tr "repo.commits.ssh_key_fingerprint"}}:</span> <span class="ui text gt-mr-3">{{.locale.Tr "repo.commits.ssh_key_fingerprint"}}:</span>
{{.Verification.SigningSSHKey.Fingerprint}} {{.Verification.SigningSSHKey.Fingerprint}}
{{end}} {{end}}

View File

@ -24,7 +24,7 @@
{{svg "octicon-diff" 16 "gt-mr-2"}}{{.locale.Tr "repo.diff.stats_desc" .Diff.NumFiles .Diff.TotalAddition .Diff.TotalDeletion | Str2html}} {{svg "octicon-diff" 16 "gt-mr-2"}}{{.locale.Tr "repo.diff.stats_desc" .Diff.NumFiles .Diff.TotalAddition .Diff.TotalDeletion | Str2html}}
</div> </div>
</div> </div>
<div class="diff-detail-actions gt-df gt-ac gt-w-100"> <div class="diff-detail-actions gt-df gt-ac">
{{if and .PageIsPullFiles $.SignedUserID (not .IsArchived)}} {{if and .PageIsPullFiles $.SignedUserID (not .IsArchived)}}
<progress id="viewed-files-summary" class="gt-mr-2" value="{{.Diff.NumViewedFiles}}" max="{{.Diff.NumFiles}}"></progress> <progress id="viewed-files-summary" class="gt-mr-2" value="{{.Diff.NumViewedFiles}}" max="{{.Diff.NumFiles}}"></progress>
<label for="viewed-files-summary" id="viewed-files-summary-label" class="gt-mr-3 gt-f1" data-text-changed-template="{{.locale.Tr "repo.pulls.viewed_files_label"}}"> <label for="viewed-files-summary" id="viewed-files-summary-label" class="gt-mr-3 gt-f1" data-text-changed-template="{{.locale.Tr "repo.pulls.viewed_files_label"}}">

View File

@ -4,7 +4,7 @@
<span class="ui small label review-comments-counter" data-pending-comment-number="{{.PendingCodeCommentNumber}}">{{.PendingCodeCommentNumber}}</span> <span class="ui small label review-comments-counter" data-pending-comment-number="{{.PendingCodeCommentNumber}}">{{.PendingCodeCommentNumber}}</span>
{{svg "octicon-triangle-down" 14 "dropdown icon"}} {{svg "octicon-triangle-down" 14 "dropdown icon"}}
</button> </button>
<div class="review-box-panel gt-hidden"> <div class="review-box-panel tippy-target">
<div class="ui segment"> <div class="ui segment">
<form class="ui form" action="{{.Link}}/reviews/submit" method="post"> <form class="ui form" action="{{.Link}}/reviews/submit" method="post">
{{.CsrfTokenHtml}} {{.CsrfTokenHtml}}

View File

@ -58,7 +58,7 @@
</div> </div>
<div class="content"> <div class="content">
{{if .Verified}} {{if .Verified}}
<span class="tooltip" data-content="{{$.locale.Tr "settings.gpg_key_verified_long"}}">{{svg "octicon-shield-check"}} <strong>{{$.locale.Tr "settings.gpg_key_verified"}}</strong></span> <span class="tooltip" data-content="{{$.locale.Tr "settings.gpg_key_verified_long"}}">{{svg "octicon-verified"}} <strong>{{$.locale.Tr "settings.gpg_key_verified"}}</strong></span>
{{end}} {{end}}
{{if gt (len .Emails) 0}} {{if gt (len .Emails) 0}}
<span class="tooltip" data-content="{{$.locale.Tr "settings.gpg_key_matched_identities_long"}}">{{svg "octicon-mail"}} {{$.locale.Tr "settings.gpg_key_matched_identities"}} {{range .Emails}}<strong>{{.Email}} </strong>{{end}}</span> <span class="tooltip" data-content="{{$.locale.Tr "settings.gpg_key_matched_identities_long"}}">{{svg "octicon-mail"}} {{$.locale.Tr "settings.gpg_key_matched_identities"}} {{range .Emails}}<strong>{{.Email}} </strong>{{end}}</span>

View File

@ -51,7 +51,7 @@
</div> </div>
<div class="content"> <div class="content">
{{if .Verified}} {{if .Verified}}
<span class="tooltip" data-content="{{$.locale.Tr "settings.ssh_key_verified_long"}}">{{svg "octicon-shield-check"}} <strong>{{$.locale.Tr "settings.ssh_key_verified"}}</strong></span> <span class="tooltip" data-content="{{$.locale.Tr "settings.ssh_key_verified_long"}}">{{svg "octicon-verified"}} <strong>{{$.locale.Tr "settings.ssh_key_verified"}}</strong></span>
{{end}} {{end}}
<strong>{{.Name}}</strong> <strong>{{.Name}}</strong>
<div class="print meta"> <div class="print meta">

View File

@ -37,6 +37,8 @@ func TestPackageNpm(t *testing.T) {
packageDescription := "Test Description" packageDescription := "Test Description"
packageBinName := "cli" packageBinName := "cli"
packageBinPath := "./cli.sh" packageBinPath := "./cli.sh"
repoType := "gitea"
repoURL := "http://localhost:3000/gitea/test.git"
data := "H4sIAAAAAAAA/ytITM5OTE/VL4DQelnF+XkMVAYGBgZmJiYK2MRBwNDcSIHB2NTMwNDQzMwAqA7IMDUxA9LUdgg2UFpcklgEdAql5kD8ogCnhwio5lJQUMpLzE1VslJQcihOzi9I1S9JLS7RhSYIJR2QgrLUouLM/DyQGkM9Az1D3YIiqExKanFyUWZBCVQ2BKhVwQVJDKwosbQkI78IJO/tZ+LsbRykxFXLNdA+HwWjYBSMgpENACgAbtAACAAA" data := "H4sIAAAAAAAA/ytITM5OTE/VL4DQelnF+XkMVAYGBgZmJiYK2MRBwNDcSIHB2NTMwNDQzMwAqA7IMDUxA9LUdgg2UFpcklgEdAql5kD8ogCnhwio5lJQUMpLzE1VslJQcihOzi9I1S9JLS7RhSYIJR2QgrLUouLM/DyQGkM9Az1D3YIiqExKanFyUWZBCVQ2BKhVwQVJDKwosbQkI78IJO/tZ+LsbRykxFXLNdA+HwWjYBSMgpENACgAbtAACAAA"
@ -62,6 +64,10 @@ func TestPackageNpm(t *testing.T) {
"dist": { "dist": {
"integrity": "sha512-yA4FJsVhetynGfOC1jFf79BuS+jrHbm0fhh+aHzCQkOaOBXKf9oBnC4a6DnLLnEsHQDRLYd00cwj8sCXpC+wIg==", "integrity": "sha512-yA4FJsVhetynGfOC1jFf79BuS+jrHbm0fhh+aHzCQkOaOBXKf9oBnC4a6DnLLnEsHQDRLYd00cwj8sCXpC+wIg==",
"shasum": "aaa7eaf852a948b0aa05afeda35b1badca155d90" "shasum": "aaa7eaf852a948b0aa05afeda35b1badca155d90"
},
"repository": {
"type": "` + repoType + `",
"url": "` + repoURL + `"
} }
} }
}, },
@ -169,6 +175,8 @@ func TestPackageNpm(t *testing.T) {
assert.Equal(t, "sha512-yA4FJsVhetynGfOC1jFf79BuS+jrHbm0fhh+aHzCQkOaOBXKf9oBnC4a6DnLLnEsHQDRLYd00cwj8sCXpC+wIg==", pmv.Dist.Integrity) assert.Equal(t, "sha512-yA4FJsVhetynGfOC1jFf79BuS+jrHbm0fhh+aHzCQkOaOBXKf9oBnC4a6DnLLnEsHQDRLYd00cwj8sCXpC+wIg==", pmv.Dist.Integrity)
assert.Equal(t, "aaa7eaf852a948b0aa05afeda35b1badca155d90", pmv.Dist.Shasum) assert.Equal(t, "aaa7eaf852a948b0aa05afeda35b1badca155d90", pmv.Dist.Shasum)
assert.Equal(t, fmt.Sprintf("%s%s/-/%s/%s", setting.AppURL, root[1:], packageVersion, filename), pmv.Dist.Tarball) assert.Equal(t, fmt.Sprintf("%s%s/-/%s/%s", setting.AppURL, root[1:], packageVersion, filename), pmv.Dist.Tarball)
assert.Equal(t, repoType, result.Repository.Type)
assert.Equal(t, repoURL, result.Repository.URL)
}) })
t.Run("AddTag", func(t *testing.T) { t.Run("AddTag", func(t *testing.T) {

View File

@ -1231,7 +1231,7 @@ a.ui.card:hover,
/* enable fluid page widths for medium size viewports */ /* enable fluid page widths for medium size viewports */
@media (min-width: 768px) and (max-width: 1200px) { @media (min-width: 768px) and (max-width: 1200px) {
.ui.ui.ui.container:not(.fluid) { .ui.ui.ui.container:not(.fluid) {
width: calc(100vw - 3em); width: calc(100vw - 64px);
} }
} }
@ -1285,7 +1285,14 @@ a.ui.card:hover,
.following.bar #navbar { .following.bar #navbar {
width: 100vw; width: 100vw;
min-height: 52px; min-height: 52px;
padding: 0 0.5rem; padding: 0 16px;
}
@media (max-width: 767px) {
.following.bar #navbar {
padding-left: 4px;
padding-right: 0;
}
} }
.following.bar #navbar .brand { .following.bar #navbar .brand {
@ -1491,7 +1498,7 @@ a.ui.card:hover,
} }
.ui.container.fluid.padded { .ui.container.fluid.padded {
padding: 0 10px; padding: 0 32px;
} }
.ui.form .ui.button { .ui.form .ui.button {

View File

@ -214,6 +214,10 @@ a.blob-excerpt:hover {
color: var(--color-primary-contrast); color: var(--color-primary-contrast);
} }
.review-box-panel .ui.segment {
border: none;
}
/* See the comment of createCommentEasyMDE() for the review editor */ /* See the comment of createCommentEasyMDE() for the review editor */
/* EasyMDE's options can not handle minHeight & maxHeight together correctly, we have to set minHeight in JS code */ /* EasyMDE's options can not handle minHeight & maxHeight together correctly, we have to set minHeight in JS code */
.review-box-panel .CodeMirror-scroll { .review-box-panel .CodeMirror-scroll {
@ -249,14 +253,6 @@ a.blob-excerpt:hover {
position: relative; position: relative;
} }
.review-box-panel {
position: absolute;
min-width: max-content;
top: 45px;
right: -5px;
z-index: 2;
}
#review-box .review-comments-counter { #review-box .review-comments-counter {
background-color: var(--color-primary-light-4); background-color: var(--color-primary-light-4);
color: var(--color-primary-contrast); color: var(--color-primary-contrast);

View File

@ -72,17 +72,13 @@
<ul class="repo-owner-name-list"> <ul class="repo-owner-name-list">
<li v-for="repo in repos" :class="{'private': repo.private || repo.internal}" :key="repo.id"> <li v-for="repo in repos" :class="{'private': repo.private || repo.internal}" :key="repo.id">
<a class="repo-list-link gt-df gt-ac gt-sb" :href="repo.link"> <a class="repo-list-link gt-df gt-ac gt-sb" :href="repo.link">
<div class="item-name gt-df gt-ac gt-f1 gt-mr-2"> <div class="item-name gt-df gt-ac gt-f1">
<svg-icon :name="repoIcon(repo)" :size="16" class-name="gt-mr-2"/> <svg-icon :name="repoIcon(repo)" :size="16" class-name="gt-mr-2"/>
<div class="text gt-bold truncate gt-ml-1">{{ repo.full_name }}</div> <div class="text gt-bold truncate gt-ml-1">{{ repo.full_name }}</div>
<span v-if="repo.archived"> <span v-if="repo.archived">
<svg-icon name="octicon-archive" :size="16" class-name="gt-ml-2"/> <svg-icon name="octicon-archive" :size="16" class-name="gt-ml-2"/>
</span> </span>
</div> </div>
<div class="text light grey gt-df gt-ac" v-if="isStarsEnabled">
{{ repo.stars_count }}
<svg-icon name="octicon-star" :size="16" class-name="gt-ml-2"/>
</div>
</a> </a>
</li> </li>
</ul> </ul>

View File

@ -4,8 +4,9 @@ import {attachTribute} from './tribute.js';
import {createCommentEasyMDE, getAttachedEasyMDE} from './comp/EasyMDE.js'; import {createCommentEasyMDE, getAttachedEasyMDE} from './comp/EasyMDE.js';
import {initEasyMDEImagePaste} from './comp/ImagePaste.js'; import {initEasyMDEImagePaste} from './comp/ImagePaste.js';
import {initCompMarkupContentPreviewTab} from './comp/MarkupContentPreview.js'; import {initCompMarkupContentPreviewTab} from './comp/MarkupContentPreview.js';
import {initTooltip, showTemporaryTooltip} from '../modules/tippy.js'; import {initTooltip, showTemporaryTooltip, createTippy} from '../modules/tippy.js';
import {hideElem, showElem, toggleElem} from '../utils/dom.js'; import {hideElem, showElem, toggleElem} from '../utils/dom.js';
import {setFileFolding} from './file-fold.js';
const {appSubUrl, csrfToken} = window.config; const {appSubUrl, csrfToken} = window.config;
@ -437,17 +438,36 @@ export async function handleReply($el) {
export function initRepoPullRequestReview() { export function initRepoPullRequestReview() {
if (window.location.hash && window.location.hash.startsWith('#issuecomment-')) { if (window.location.hash && window.location.hash.startsWith('#issuecomment-')) {
// set scrollRestoration to 'manual' when there is a hash in url, so that the scroll position will not be remembered after refreshing
if (window.history.scrollRestoration !== 'manual') {
window.history.scrollRestoration = 'manual';
}
const commentDiv = $(window.location.hash); const commentDiv = $(window.location.hash);
if (commentDiv) { if (commentDiv) {
// get the name of the parent id // get the name of the parent id
const groupID = commentDiv.closest('div[id^="code-comments-"]').attr('id'); const groupID = commentDiv.closest('div[id^="code-comments-"]').attr('id');
if (groupID && groupID.startsWith('code-comments-')) { if (groupID && groupID.startsWith('code-comments-')) {
const id = groupID.slice(14); const id = groupID.slice(14);
const ancestorDiffBox = commentDiv.closest('.diff-file-box');
// on pages like conversation, there is no diff header
const diffHeader = ancestorDiffBox.find('.diff-file-header');
// offset is for scrolling
let offset = 30;
if (diffHeader[0]) {
offset += $('.diff-detail-box').outerHeight() + diffHeader.outerHeight();
}
$(`#show-outdated-${id}`).addClass('gt-hidden'); $(`#show-outdated-${id}`).addClass('gt-hidden');
$(`#code-comments-${id}`).removeClass('gt-hidden'); $(`#code-comments-${id}`).removeClass('gt-hidden');
$(`#code-preview-${id}`).removeClass('gt-hidden'); $(`#code-preview-${id}`).removeClass('gt-hidden');
$(`#hide-outdated-${id}`).removeClass('gt-hidden'); $(`#hide-outdated-${id}`).removeClass('gt-hidden');
commentDiv[0].scrollIntoView(); // if the comment box is folded, expand it
if (ancestorDiffBox.attr('data-folded') && ancestorDiffBox.attr('data-folded') === 'true') {
setFileFolding(ancestorDiffBox[0], ancestorDiffBox.find('.fold-file')[0], false);
}
window.scrollTo({
top: commentDiv.offset().top - offset,
behavior: 'instant'
});
} }
} }
} }
@ -492,12 +512,23 @@ export function initRepoPullRequestReview() {
return; return;
} }
$('.js-btn-review').on('click', function (e) { const $reviewBtn = $('.js-btn-review');
const $panel = $reviewBtn.parent().find('.review-box-panel');
const $closeBtn = $panel.find('.close');
const tippy = createTippy($reviewBtn[0], {
content: $panel[0],
placement: 'bottom',
trigger: 'click',
role: 'menu',
maxWidth: 'none',
interactive: true,
hideOnClick: true,
});
$closeBtn.on('click', (e) => {
e.preventDefault(); e.preventDefault();
toggleElem($(this).parent().find('.review-box-panel')); tippy.hide();
}).parent().find('.review-box-panel .close').on('click', function (e) {
e.preventDefault();
hideElem($(this).closest('.review-box-panel'));
}); });
$(document).on('click', 'a.add-code-comment', async function (e) { $(document).on('click', 'a.add-code-comment', async function (e) {

View File

@ -11,8 +11,8 @@ import webpack from 'webpack';
import {fileURLToPath} from 'node:url'; import {fileURLToPath} from 'node:url';
import {readFileSync} from 'node:fs'; import {readFileSync} from 'node:fs';
const {ESBuildMinifyPlugin} = EsBuildLoader; const {EsbuildPlugin} = EsBuildLoader;
const {SourceMapDevToolPlugin} = webpack; const {SourceMapDevToolPlugin, DefinePlugin} = webpack;
const formatLicenseText = (licenseText) => wrapAnsi(licenseText || '', 80).trim(); const formatLicenseText = (licenseText) => wrapAnsi(licenseText || '', 80).trim();
const glob = (pattern) => fastGlob.sync(pattern, { const glob = (pattern) => fastGlob.sync(pattern, {
@ -90,7 +90,7 @@ export default {
optimization: { optimization: {
minimize: isProduction, minimize: isProduction,
minimizer: [ minimizer: [
new ESBuildMinifyPlugin({ new EsbuildPlugin({
target: 'es2015', target: 'es2015',
minify: true, minify: true,
css: true, css: true,
@ -130,7 +130,8 @@ export default {
{ {
loader: 'esbuild-loader', loader: 'esbuild-loader',
options: { options: {
target: 'es2015' loader: 'js',
target: 'es2015',
}, },
}, },
], ],
@ -173,7 +174,7 @@ export default {
], ],
}, },
plugins: [ plugins: [
new webpack.DefinePlugin({ new DefinePlugin({
__VUE_OPTIONS_API__: true, // at the moment, many Vue components still use the Vue Options API __VUE_OPTIONS_API__: true, // at the moment, many Vue components still use the Vue Options API
__VUE_PROD_DEVTOOLS__: false, // do not enable devtools support in production __VUE_PROD_DEVTOOLS__: false, // do not enable devtools support in production
}), }),