mirror of
https://github.com/lutinglt/gitea-github-theme.git
synced 2025-12-22 22:53:56 +00:00
1.25.3 release
This commit is contained in:
@@ -120,6 +120,13 @@
|
|||||||
{{svg "octicon-question"}}
|
{{svg "octicon-question"}}
|
||||||
{{ctx.Locale.Tr "help"}}
|
{{ctx.Locale.Tr "help"}}
|
||||||
</a>
|
</a>
|
||||||
|
{{if .IsAdmin}}
|
||||||
|
<div class="divider"></div>
|
||||||
|
<a class="{{if .PageIsAdmin}}active {{end}}item" href="{{AppSubUrl}}/-/admin">
|
||||||
|
{{svg "octicon-server"}}
|
||||||
|
{{ctx.Locale.Tr "admin_panel"}}
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
<div class="divider"></div>
|
<div class="divider"></div>
|
||||||
<a class="item link-action" href data-url="{{AppSubUrl}}/user/logout">
|
<a class="item link-action" href data-url="{{AppSubUrl}}/user/logout">
|
||||||
{{svg "octicon-sign-out"}}
|
{{svg "octicon-sign-out"}}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "gitea-github-theme",
|
"name": "gitea-github-theme",
|
||||||
"version": "1.25.3.rc",
|
"version": "1.25.3",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite build --mode dev",
|
"dev": "vite build --mode dev",
|
||||||
@@ -10,6 +10,7 @@
|
|||||||
"commit": "npm run lint && npm run format && npm run build",
|
"commit": "npm run lint && npm run format && npm run build",
|
||||||
"version": "node scripts/version.cjs",
|
"version": "node scripts/version.cjs",
|
||||||
"tr": "node scripts/translate.cjs",
|
"tr": "node scripts/translate.cjs",
|
||||||
|
"tmpl": "node scripts/update_template.cjs",
|
||||||
"release": "npm run build && npm run tr",
|
"release": "npm run build && npm run tr",
|
||||||
"install:clean": "npm cache clean --force && rm -rf node_modules package-lock.json && npm install",
|
"install:clean": "npm cache clean --force && rm -rf node_modules package-lock.json && npm install",
|
||||||
"install:vite8": "npm install --force"
|
"install:vite8": "npm install --force"
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ const localePath = "options/locale";
|
|||||||
|
|
||||||
const [major, minor, patch, tag = ""] = pkg.version.split(".");
|
const [major, minor, patch, tag = ""] = pkg.version.split(".");
|
||||||
|
|
||||||
console.log("Version: ", pkg.version);
|
console.log("Version:", pkg.version);
|
||||||
let versionPath = "";
|
let versionPath = "";
|
||||||
if (tag.includes("rc") || patch.includes("latest")) {
|
if (tag.includes("rc") || patch.includes("latest")) {
|
||||||
versionPath = `${githubBranchPath}/v${major}.${minor}`;
|
versionPath = `${githubBranchPath}/v${major}.${minor}`;
|
||||||
@@ -26,14 +26,12 @@ if (tag.includes("rc") || patch.includes("latest")) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const githubUrl = `${githubSite}/${giteaRepo}/${versionPath}/${localePath}`;
|
const githubUrl = `${githubSite}/${giteaRepo}/${versionPath}/${localePath}`;
|
||||||
|
|
||||||
const locales = fs.readdirSync(path.join(rootDir, localePath)).filter(file => file.endsWith(".ini"));
|
const locales = fs.readdirSync(path.join(rootDir, localePath)).filter(file => file.endsWith(".ini"));
|
||||||
|
|
||||||
// 使用立即执行异步函数
|
|
||||||
(async () => {
|
(async () => {
|
||||||
for (const locale of locales) {
|
for (const locale of locales) {
|
||||||
const localUrl = `${githubUrl}/${locale}`;
|
const localUrl = `${githubUrl}/${locale}`;
|
||||||
console.log("LocaleUrl: ", localUrl);
|
console.log("LocaleUrl:", localUrl);
|
||||||
const themeLocale = fs.readFileSync(path.join(rootDir, localePath, locale), "utf-8");
|
const themeLocale = fs.readFileSync(path.join(rootDir, localePath, locale), "utf-8");
|
||||||
|
|
||||||
const response = await fetch(localUrl);
|
const response = await fetch(localUrl);
|
||||||
|
|||||||
54
scripts/update_template.cjs
Normal file
54
scripts/update_template.cjs
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
const fs = require("fs");
|
||||||
|
const path = require("path");
|
||||||
|
|
||||||
|
const rootDir = path.join(__dirname, "..");
|
||||||
|
const pkgPath = path.join(rootDir, "package.json");
|
||||||
|
const pkg = JSON.parse(fs.readFileSync(pkgPath));
|
||||||
|
|
||||||
|
const githubSite = "https://raw.githubusercontent.com";
|
||||||
|
const giteaRepo = "go-gitea/gitea";
|
||||||
|
const githubTagPath = "refs/tags";
|
||||||
|
const tmplPath = "templates";
|
||||||
|
const localTmplPath = path.join(rootDir, "gitea", tmplPath);
|
||||||
|
const [major, minor, patch = ""] = pkg.version.split(".");
|
||||||
|
console.log("Version:", pkg.version);
|
||||||
|
const versionPath = `${githubTagPath}/v${major}.${minor}.${patch}`;
|
||||||
|
const githubUrl = `${githubSite}/${giteaRepo}/${versionPath}/${tmplPath}`;
|
||||||
|
|
||||||
|
// 递归读取所有子目录中的 .tmpl 文件
|
||||||
|
function readTmplFilesRecursively(dir) {
|
||||||
|
const results = [];
|
||||||
|
const files = fs.readdirSync(dir);
|
||||||
|
|
||||||
|
for (const file of files) {
|
||||||
|
const filePath = path.join(dir, file);
|
||||||
|
const stat = fs.statSync(filePath);
|
||||||
|
|
||||||
|
if (stat.isDirectory()) {
|
||||||
|
// 如果是目录,递归读取
|
||||||
|
results.push(...readTmplFilesRecursively(filePath));
|
||||||
|
} else if (file.endsWith(".tmpl")) {
|
||||||
|
// 如果是 .tmpl 文件,添加到结果中(相对于模板目录的相对路径)
|
||||||
|
const relativePath = path.relative(localTmplPath, filePath);
|
||||||
|
results.push(relativePath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return results;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 读取所有模板文件
|
||||||
|
const tmpls = readTmplFilesRecursively(localTmplPath);
|
||||||
|
(async () => {
|
||||||
|
for (const tmpl of tmpls) {
|
||||||
|
const tmplUrl = `${githubUrl}/${tmpl}`;
|
||||||
|
console.log("TmplUrl:", tmplUrl);
|
||||||
|
|
||||||
|
const response = await fetch(tmplUrl);
|
||||||
|
if (!response.ok) {
|
||||||
|
throw new Error(`HTTP error! status: ${response.status}`);
|
||||||
|
}
|
||||||
|
let content = await response.text();
|
||||||
|
fs.writeFileSync(path.join(localTmplPath, tmpl), content);
|
||||||
|
}
|
||||||
|
})();
|
||||||
@@ -114,6 +114,13 @@
|
|||||||
{{svg "octicon-question"}}
|
{{svg "octicon-question"}}
|
||||||
{{ctx.Locale.Tr "help"}}
|
{{ctx.Locale.Tr "help"}}
|
||||||
</a>
|
</a>
|
||||||
|
{{if .IsAdmin}}
|
||||||
|
<div class="divider"></div>
|
||||||
|
<a class="{{if .PageIsAdmin}}active {{end}}item" href="{{AppSubUrl}}/-/admin">
|
||||||
|
{{svg "octicon-server"}}
|
||||||
|
{{ctx.Locale.Tr "admin_panel"}}
|
||||||
|
</a>
|
||||||
|
{{end}}
|
||||||
<div class="divider"></div>
|
<div class="divider"></div>
|
||||||
<a class="item link-action" href data-url="{{AppSubUrl}}/user/logout">
|
<a class="item link-action" href data-url="{{AppSubUrl}}/user/logout">
|
||||||
{{svg "octicon-sign-out"}}
|
{{svg "octicon-sign-out"}}
|
||||||
|
|||||||
Reference in New Issue
Block a user