Compare commits
No commits in common. "fe8b6cbd91ccfac8ce2bccac8b8785aa7358a243" and "7692240daa79502218fd3abfcf30c40f5f2db156" have entirely different histories.
fe8b6cbd91
...
7692240daa
@ -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.31.2-focal
|
image: mcr.microsoft.com/playwright:v1.29.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
|
||||||
|
@ -471,8 +471,6 @@ 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
|
||||||
|
@ -1,50 +0,0 @@
|
|||||||
// 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()
|
|
||||||
}
|
|
@ -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 TypeIndividual, TypeRepository, TypeOrganization:
|
case TypeRepository, TypeOrganization:
|
||||||
return true
|
return true
|
||||||
default:
|
default:
|
||||||
return false
|
return false
|
||||||
|
@ -20,7 +20,7 @@ func TestIsProjectTypeValid(t *testing.T) {
|
|||||||
typ Type
|
typ Type
|
||||||
valid bool
|
valid bool
|
||||||
}{
|
}{
|
||||||
{TypeIndividual, true},
|
{TypeIndividual, false},
|
||||||
{TypeRepository, true},
|
{TypeRepository, true},
|
||||||
{TypeOrganization, true},
|
{TypeOrganization, true},
|
||||||
{UnknownType, false},
|
{UnknownType, false},
|
||||||
|
@ -223,7 +223,6 @@ 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,
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,10 +26,6 @@ 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}))
|
||||||
@ -246,7 +242,6 @@ func TestParsePackage(t *testing.T) {
|
|||||||
Dist: PackageDistribution{
|
Dist: PackageDistribution{
|
||||||
Integrity: integrity,
|
Integrity: integrity,
|
||||||
},
|
},
|
||||||
Repository: repository,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -277,7 +272,5 @@ 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)
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -21,5 +21,4 @@ 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"`
|
|
||||||
}
|
}
|
||||||
|
@ -1423,6 +1423,7 @@ 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
|
||||||
|
@ -1310,6 +1310,7 @@ 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
|
||||||
|
@ -1331,6 +1331,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.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=Σχόλιο και κλείσιμο
|
||||||
|
@ -1330,6 +1330,7 @@ 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
|
||||||
|
@ -1213,6 +1213,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.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=ثبت دیدگاه و بستن
|
||||||
|
@ -936,6 +936,7 @@ 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
|
||||||
|
@ -1195,6 +1195,7 @@ 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
|
||||||
|
@ -881,6 +881,7 @@ 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
|
||||||
|
@ -752,6 +752,7 @@ 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
|
||||||
|
@ -823,6 +823,7 @@ 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
|
||||||
|
@ -1315,6 +1315,7 @@ 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
|
||||||
|
@ -821,7 +821,6 @@ 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=あなたはリポジトリを所有していません。
|
||||||
@ -1369,7 +1368,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=イシューをクローズ
|
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=コメントしてクローズ
|
||||||
@ -1654,7 +1653,6 @@ 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>も確認できます。`
|
||||||
@ -2291,8 +2289,6 @@ 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=プレリリース
|
||||||
@ -2422,7 +2418,6 @@ 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>で使用可能なイシューラベルを追加します。
|
||||||
|
|
||||||
@ -2935,8 +2930,6 @@ 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=ミラー更新タイムアウト
|
||||||
@ -3241,9 +3234,6 @@ 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=このパッケージをリポジトリにリンク
|
||||||
|
@ -787,6 +787,7 @@ 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=다시 오픈 및 코멘트
|
||||||
|
@ -1461,6 +1461,7 @@ 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
|
||||||
|
@ -1315,6 +1315,7 @@ 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
|
||||||
|
@ -1208,6 +1208,7 @@ 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
|
||||||
|
@ -1369,6 +1369,7 @@ 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
|
||||||
|
@ -1369,6 +1369,7 @@ 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
|
||||||
|
@ -1274,6 +1274,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.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=Прокомментировать и закрыть
|
||||||
|
@ -1164,6 +1164,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.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=අදහස් දක්වා වසන්න
|
||||||
|
@ -1049,6 +1049,7 @@ 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>`
|
||||||
|
@ -1000,6 +1000,7 @@ 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
|
||||||
|
@ -1373,6 +1373,7 @@ 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
|
||||||
|
@ -1221,6 +1221,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.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=Прокоментувати і закрити
|
||||||
|
@ -1368,6 +1368,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.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=评论并关闭
|
||||||
|
@ -442,6 +442,7 @@ 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> 中引用了該問題`
|
||||||
|
@ -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=關閉問題
|
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=留言並關閉
|
||||||
@ -1654,7 +1654,6 @@ 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
38
package.json
@ -4,42 +4,42 @@
|
|||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 16.0.0"
|
"node": ">= 14.0.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@citation-js/core": "0.6.5",
|
"@citation-js/core": "0.6.5",
|
||||||
"@citation-js/plugin-bibtex": "0.6.6",
|
"@citation-js/plugin-bibtex": "0.6.5",
|
||||||
"@citation-js/plugin-csl": "0.6.7",
|
"@citation-js/plugin-csl": "0.6.5",
|
||||||
"@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": "18.2.0",
|
"@primer/octicons": "17.10.2",
|
||||||
"@vue/compiler-sfc": "3.2.47",
|
"@vue/compiler-sfc": "3.2.45",
|
||||||
"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.2.0",
|
"asciinema-player": "3.0.1",
|
||||||
"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": "3.0.1",
|
"esbuild-loader": "2.21.0",
|
||||||
"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.4",
|
"jquery": "3.6.3",
|
||||||
"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.36.1",
|
"monaco-editor": "0.34.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.18.1",
|
"swagger-ui-dist": "4.15.5",
|
||||||
"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.47",
|
"vue": "3.2.45",
|
||||||
"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.1.0"
|
"wrap-ansi": "8.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@playwright/test": "1.31.2",
|
"@playwright/test": "1.29.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.36.0",
|
"eslint": "8.32.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": "46.0.0",
|
"eslint-plugin-unicorn": "45.0.2",
|
||||||
"eslint-plugin-vue": "9.9.0",
|
"eslint-plugin-vue": "9.9.0",
|
||||||
"jsdom": "21.1.1",
|
"jsdom": "21.0.0",
|
||||||
"markdownlint-cli": "0.33.0",
|
"markdownlint-cli": "0.33.0",
|
||||||
"stylelint": "15.3.0",
|
"stylelint": "15.2.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.9",
|
"updates": "13.2.7",
|
||||||
"vitest": "0.29.3"
|
"vitest": "0.27.2"
|
||||||
},
|
},
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
"defaults",
|
"defaults",
|
||||||
|
@ -1 +1 @@
|
|||||||
<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>
|
<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>
|
Before Width: | Height: | Size: 261 B After Width: | Height: | Size: 279 B |
@ -1 +1 @@
|
|||||||
<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>
|
<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>
|
Before Width: | Height: | Size: 258 B After Width: | Height: | Size: 274 B |
@ -1 +0,0 @@
|
|||||||
<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>
|
|
Before Width: | Height: | Size: 817 B |
@ -1 +0,0 @@
|
|||||||
<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>
|
|
Before Width: | Height: | Size: 790 B |
@ -1 +0,0 @@
|
|||||||
<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>
|
|
Before Width: | Height: | Size: 826 B |
@ -1 +1 @@
|
|||||||
<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>
|
<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>
|
Before Width: | Height: | Size: 440 B After Width: | Height: | Size: 373 B |
@ -1 +0,0 @@
|
|||||||
<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>
|
|
Before Width: | Height: | Size: 662 B |
@ -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 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>
|
<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>
|
Before Width: | Height: | Size: 413 B After Width: | Height: | Size: 404 B |
1
public/img/svg/octicon-issue-tracked-in.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<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>
|
After Width: | Height: | Size: 413 B |
@ -1 +0,0 @@
|
|||||||
<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>
|
|
Before Width: | Height: | Size: 400 B |
@ -1 +0,0 @@
|
|||||||
<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>
|
|
Before Width: | Height: | Size: 331 B |
@ -1 +0,0 @@
|
|||||||
<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>
|
|
Before Width: | Height: | Size: 329 B |
@ -1 +0,0 @@
|
|||||||
<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>
|
|
Before Width: | Height: | Size: 330 B |
@ -1 +0,0 @@
|
|||||||
<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>
|
|
Before Width: | Height: | Size: 329 B |
@ -1 +0,0 @@
|
|||||||
<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>
|
|
Before Width: | Height: | Size: 814 B |
@ -1 +0,0 @@
|
|||||||
<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>
|
|
Before Width: | Height: | Size: 396 B |
@ -1 +1 @@
|
|||||||
<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>
|
<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>
|
Before Width: | Height: | Size: 438 B After Width: | Height: | Size: 369 B |
@ -1 +0,0 @@
|
|||||||
<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>
|
|
Before Width: | Height: | Size: 414 B |
@ -1 +0,0 @@
|
|||||||
<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>
|
|
Before Width: | Height: | Size: 320 B |
@ -45,7 +45,6 @@ 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,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,18 +51,12 @@ 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: projectType,
|
Type: project_model.TypeOrganization,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ctx.ServerError("FindProjects", err)
|
ctx.ServerError("FindProjects", err)
|
||||||
@ -72,7 +66,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: projectType,
|
Type: project_model.TypeOrganization,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ctx.ServerError("CountProjects", err)
|
ctx.ServerError("CountProjects", err)
|
||||||
@ -149,21 +143,14 @@ func NewProjectPost(ctx *context.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
newProject := project_model.Project{
|
if err := project_model.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
|
||||||
}
|
}
|
||||||
|
@ -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-verified" 16 "gt-mr-3"}}
|
{{svg "octicon-shield-check" 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-unverified" 16 "gt-mr-3"}}
|
{{svg "octicon-shield-lock" 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-unverified" 16 "gt-mr-3"}}
|
{{svg "octicon-shield" 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-verified" 16 "gt-mr-3"}}
|
{{svg "octicon-shield" 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-verified" 16 "gt-mr-3"}}
|
{{svg "octicon-shield" 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}}
|
||||||
|
@ -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">
|
<div class="diff-detail-actions gt-df gt-ac gt-w-100">
|
||||||
{{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"}}">
|
||||||
|
@ -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 tippy-target">
|
<div class="review-box-panel gt-hidden">
|
||||||
<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}}
|
||||||
|
@ -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-verified"}} <strong>{{$.locale.Tr "settings.gpg_key_verified"}}</strong></span>
|
<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>
|
||||||
{{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>
|
||||||
|
@ -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-verified"}} <strong>{{$.locale.Tr "settings.ssh_key_verified"}}</strong></span>
|
<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>
|
||||||
{{end}}
|
{{end}}
|
||||||
<strong>{{.Name}}</strong>
|
<strong>{{.Name}}</strong>
|
||||||
<div class="print meta">
|
<div class="print meta">
|
||||||
|
@ -37,8 +37,6 @@ 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"
|
||||||
|
|
||||||
@ -64,10 +62,6 @@ 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 + `"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -175,8 +169,6 @@ 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) {
|
||||||
|
@ -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 - 64px);
|
width: calc(100vw - 3em);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1285,14 +1285,7 @@ a.ui.card:hover,
|
|||||||
.following.bar #navbar {
|
.following.bar #navbar {
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
min-height: 52px;
|
min-height: 52px;
|
||||||
padding: 0 16px;
|
padding: 0 0.5rem;
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 767px) {
|
|
||||||
.following.bar #navbar {
|
|
||||||
padding-left: 4px;
|
|
||||||
padding-right: 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.following.bar #navbar .brand {
|
.following.bar #navbar .brand {
|
||||||
@ -1498,7 +1491,7 @@ a.ui.card:hover,
|
|||||||
}
|
}
|
||||||
|
|
||||||
.ui.container.fluid.padded {
|
.ui.container.fluid.padded {
|
||||||
padding: 0 32px;
|
padding: 0 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui.form .ui.button {
|
.ui.form .ui.button {
|
||||||
|
@ -214,10 +214,6 @@ 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 {
|
||||||
@ -253,6 +249,14 @@ 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);
|
||||||
|
@ -72,13 +72,17 @@
|
|||||||
<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">
|
<div class="item-name gt-df gt-ac gt-f1 gt-mr-2">
|
||||||
<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>
|
||||||
|
@ -4,9 +4,8 @@ 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, createTippy} from '../modules/tippy.js';
|
import {initTooltip, showTemporaryTooltip} 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;
|
||||||
|
|
||||||
@ -438,36 +437,17 @@ 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');
|
||||||
// if the comment box is folded, expand it
|
commentDiv[0].scrollIntoView();
|
||||||
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'
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -512,23 +492,12 @@ export function initRepoPullRequestReview() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const $reviewBtn = $('.js-btn-review');
|
$('.js-btn-review').on('click', function (e) {
|
||||||
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();
|
||||||
tippy.hide();
|
toggleElem($(this).parent().find('.review-box-panel'));
|
||||||
|
}).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) {
|
||||||
|
@ -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 {EsbuildPlugin} = EsBuildLoader;
|
const {ESBuildMinifyPlugin} = EsBuildLoader;
|
||||||
const {SourceMapDevToolPlugin, DefinePlugin} = webpack;
|
const {SourceMapDevToolPlugin} = 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 EsbuildPlugin({
|
new ESBuildMinifyPlugin({
|
||||||
target: 'es2015',
|
target: 'es2015',
|
||||||
minify: true,
|
minify: true,
|
||||||
css: true,
|
css: true,
|
||||||
@ -130,8 +130,7 @@ export default {
|
|||||||
{
|
{
|
||||||
loader: 'esbuild-loader',
|
loader: 'esbuild-loader',
|
||||||
options: {
|
options: {
|
||||||
loader: 'js',
|
target: 'es2015'
|
||||||
target: 'es2015',
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -174,7 +173,7 @@ export default {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
plugins: [
|
plugins: [
|
||||||
new DefinePlugin({
|
new webpack.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
|
||||||
}),
|
}),
|
||||||
|