Backport #21225, fix for #21128 (also in 1.17.3), close #21224 The indent was incorrect before, so this PR did some formatting work. Bypass Golang's template bug for JS string interpolation. And since there are JS lint rules for templates, so the string interpolation is also a must.
This commit is contained in:
parent
bdf3be53b0
commit
be5411d6b5
2 changed files with 18 additions and 14 deletions
|
@ -1,3 +1,6 @@
|
||||||
|
{{/*Golang's template has a bug with string interpolation containing slashes,
|
||||||
|
the double slash will be treated as a comment there.
|
||||||
|
But there are also JS lint rules for template that require to use string interpolation in 1.17*/}}
|
||||||
<script>
|
<script>
|
||||||
// synchronously set clone button states and urls here to avoid flickering
|
// synchronously set clone button states and urls here to avoid flickering
|
||||||
// on page load. initRepoCloneLink calls this when proto changes.
|
// on page load. initRepoCloneLink calls this when proto changes.
|
||||||
|
@ -21,8 +24,9 @@
|
||||||
for (const el of document.getElementsByClassName('js-clone-url')) {
|
for (const el of document.getElementsByClassName('js-clone-url')) {
|
||||||
el[el.nodeName === 'INPUT' ? 'value' : 'textContent'] = link;
|
el[el.nodeName === 'INPUT' ? 'value' : 'textContent'] = link;
|
||||||
}
|
}
|
||||||
|
const sep = '//';
|
||||||
for (const el of document.getElementsByClassName('js-clone-url-vsc')) {
|
for (const el of document.getElementsByClassName('js-clone-url-vsc')) {
|
||||||
el['href'] = `vscode://vscode.git/clone?url=${encodeURIComponent(link)}`;
|
el.href = `vscode:${sep}vscode.git/clone?url=${encodeURIComponent(link)}`;
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -116,19 +116,19 @@
|
||||||
<!-- Only show clone panel in repository home page -->
|
<!-- Only show clone panel in repository home page -->
|
||||||
{{if eq $n 0}}
|
{{if eq $n 0}}
|
||||||
<div class="ui action tiny input" id="clone-panel">
|
<div class="ui action tiny input" id="clone-panel">
|
||||||
{{template "repo/clone_buttons" .}}
|
{{template "repo/clone_buttons" .}}
|
||||||
{{template "repo/clone_script" .}}
|
<button id="download-btn" class="ui basic small compact jump dropdown icon button tooltip" data-content="{{.i18n.Tr "repo.download_archive"}}" data-position="top right">
|
||||||
<button id="download-btn" class="ui basic small compact jump dropdown icon button tooltip" data-content="{{.i18n.Tr "repo.download_archive"}}" data-position="top right">
|
{{svg "octicon-download"}}
|
||||||
{{svg "octicon-download"}}
|
<div class="menu">
|
||||||
<div class="menu">
|
{{if not $.DisableDownloadSourceArchives}}
|
||||||
{{if not $.DisableDownloadSourceArchives}}
|
<a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.RefName}}.zip" rel="nofollow">{{svg "octicon-file-zip" 16 "mr-3"}}{{.i18n.Tr "repo.download_zip"}}</a>
|
||||||
<a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.RefName}}.zip" rel="nofollow">{{svg "octicon-file-zip" 16 "mr-3"}}{{.i18n.Tr "repo.download_zip"}}</a>
|
<a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.RefName}}.tar.gz" rel="nofollow">{{svg "octicon-file-zip" 16 "mr-3"}}{{.i18n.Tr "repo.download_tar"}}</a>
|
||||||
<a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.RefName}}.tar.gz" rel="nofollow">{{svg "octicon-file-zip" 16 "mr-3"}}{{.i18n.Tr "repo.download_tar"}}</a>
|
<a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.RefName}}.bundle" rel="nofollow">{{svg "octicon-package" 16 "mr-3"}}{{.i18n.Tr "repo.download_bundle"}}</a>
|
||||||
<a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.RefName}}.bundle" rel="nofollow">{{svg "octicon-package" 16 "mr-3"}}{{.i18n.Tr "repo.download_bundle"}}</a>
|
{{end}}
|
||||||
{{end}}
|
<a class="item js-clone-url-vsc" href="vscode://vscode.git/clone?url={{.CloneButtonOriginLink.HTTPS}}">{{svg "gitea-vscode" 16 "mr-3"}}{{.i18n.Tr "repo.clone_in_vsc"}}</a>
|
||||||
<a class="item js-clone-url-vsc" href="vscode://vscode.git/clone?url={{.CloneButtonOriginLink.HTTPS}}">{{svg "gitea-vscode" 16 "mr-3"}}{{.i18n.Tr "repo.clone_in_vsc"}}</a>
|
</div>
|
||||||
</div>
|
</button>
|
||||||
</button>
|
{{template "repo/clone_script" .}}{{/* the script will update `.js-clone-url` and related elements */}}
|
||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{if and (ne $n 0) (not .IsViewFile) (not .IsBlame) }}
|
{{if and (ne $n 0) (not .IsViewFile) (not .IsBlame) }}
|
||||||
|
|
Reference in a new issue