🎉 Sync 2026-08-16 20:12:56

This commit is contained in:
github-actions[bot] committed 2026-08-16 20:12:56 +08:00
1 parent ee4d851172
commit a5f6a34b5f
43 files changed
+883 -835

No files matched your search

@@ -560,7 +560,10 @@ function build() {
'class': 'fs-ap-version',
'href': ver.REPO_URL,
'target': '_blank',
'rel': 'noopener noreferrer'
/* `noreferrer` alone: it implies noopener wherever it is honoured at all, and the theme's
* other outward links — footer.ut's two and the footer's own — spell it that way. Two
* spellings of one rule is how they drift. */
'rel': 'noreferrer'
}, [ ver.label() ]);
const defaults = [
@@ -297,11 +297,14 @@ function nameThemeInFooter() {
const host = document.querySelector('footer.fs-footer span');
if (!host || host.querySelector('.fs-footer-self')) return;
const self = E('a', {
class: 'fs-footer-self',
href: version.REPO_URL,
target: '_blank',
rel: 'noreferrer',
}, version.label());
'class': 'fs-footer-self',
'href': version.REPO_URL,
'target': '_blank',
/* `noreferrer` alone, matching footer.ut's own two anchors: it implies noopener in every
* engine that ships `rel=noreferrer` at all, so the pair reads as two rules where there is
* one. fs-appearance.js's link to the same URL spells both — the two are now in step. */
'rel': 'noreferrer'
}, [ version.label() ]);
/* AFTER THE DISTRIBUTION, not at the end. The sentence lists the software that renders the page
* — LuCI, the distribution, the theme — and footer.ut appends one more fragment after them that
* is not a component but a state: "Lua compatibility mode active". Landing behind it read as if
@@ -29,9 +29,10 @@ function isReal() { return ((/^\d+\.\d+/).test(FS_VERSION)) && !((/-dev$/).test(
return baseclass.extend({
VERSION: FS_VERSION,
/* the project's page, for the link at the foot of the Appearance tab. One string, used once —
* it was assembled from a separate FS_REPO constant that the retired self-update script needed to build
* API paths from, and nothing has needed the bare `owner/name` since. */
/* the project's page: the link at the foot of the Appearance tab, and the one
* nameThemeInFooter() writes into the footer. It was assembled from a separate FS_REPO
* constant that the retired self-update script needed to build API paths from, and nothing
* has needed the bare `owner/name` since. */
REPO_URL: 'https://github.com/VizzleTF/luci-theme-footstrap',
isReal,
/* what the Appearance tab's version row prints */