diff --git a/Dockerfile b/Dockerfile index 1ac5542..0de9d5c 100755 --- a/Dockerfile +++ b/Dockerfile @@ -14,7 +14,7 @@ # Copy source files COPY . . - + RUN bun run generateVersionTag # Build the application RUN bun run build diff --git a/components/app/windows/news.vue b/components/app/windows/news.vue index 855cde2..fb50275 100644 --- a/components/app/windows/news.vue +++ b/components/app/windows/news.vue @@ -1,9 +1,14 @@ -
@@ -325,11 +375,19 @@ const shouldHideItem = (item) => { - 會打開關於媒體({{ item.publisher }})的視窗 + {{ t("news.articleopenpart1") }}({{ + displayTranslateContent + ? translateItem[item.publisher].translateText + : item.publisher + }}){{ t("news.articleopenpart2") }} @@ -355,18 +413,20 @@ const shouldHideItem = (item) => { @click="openNews(item.url.hash, item.title)" class="flex flex-row p-1 bg-sky-300/50 hover:bg-sky-400/50 shadow-lg backdrop-blur-sm rounded transition-all duration-200" > - 觀看文章 + {{ + t("news.open") + }} - 會打開新的視窗 + {{ t("news.opennewwindow") }}
-

類似文章

+

{{ t("news.similararticles") }}

{ >
{{ similar.title }}
- 相似度: {{ (similar.similarity * 100).toFixed(1) }}% | - {{ similar.item.publisher }} + {{ t("news.similarity") }}: + {{ (similar.similarity * 100).toFixed(1) }}% | + {{ + displayTranslateContent + ? translateItem[similar.item.publisher].translateText + : similar.item.publisher + }}
@@ -385,7 +450,7 @@ const shouldHideItem = (item) => { v-if="checkIfEmpty(item.title)" class="text-gray-500 text-sm" > - 找不到類似文章 + {{ t("news.nosimilararticles") }}
diff --git a/components/app/windows/settings.vue b/components/app/windows/settings.vue index 3cd9a7c..5c6c034 100644 --- a/components/app/windows/settings.vue +++ b/components/app/windows/settings.vue @@ -10,6 +10,7 @@ import { DialogTitle, DialogTrigger, } from "@/components/ui/dialog"; +import getVersionTag from "~/versionTag"; import { Button } from "@/components/ui/button"; const { t, locale } = useI18n(); const user = ref(""); @@ -281,20 +282,20 @@ const submitChangeAction = async (action: string) => { >
- {{ t("app.settings") }} v0.0.3 + {{ t("app.settings") }} v0.0.3 || Version: {{ getVersionTag() }}
diff --git a/i18n/locales/zh-tw.json b/i18n/locales/zh-tw.json index e84d345..7ef19d1 100644 --- a/i18n/locales/zh-tw.json +++ b/i18n/locales/zh-tw.json @@ -128,5 +128,14 @@ "contactEmailStarter": "聯絡信箱:" }, "copyrightInfo": "版權資訊" + }, + "news": { + "open": "觀看文章", + "opennewwindow": "會打開新的視窗", + "similararticles": "類似文章", + "similarity": "相似度", + "nosimilararticles": "找不到類似文章", + "articleopenpart1": "會打開關於媒體", + "articleopenpart2": "的視窗" } } diff --git a/package.json b/package.json index b2c449b..fe6b003 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,8 @@ "docs:dev": "vitepress dev docs", "docs:build": "vitepress build docs", "docs:preview": "vitepress preview docs", - "wipedev": "./clean-dev-env.sh" + "wipedev": "./clean-dev-env.sh", + "generateVersionTag": "bun run versionTagGenerate.ts" }, "dependencies": { "@fontsource-variable/noto-sans-tc": "^5.2.5", @@ -63,4 +64,4 @@ "overrides": { "@vercel/nft": "^0.27.4" } -} \ No newline at end of file +} diff --git a/server/api/version.ts b/server/api/version.ts new file mode 100644 index 0000000..e1a6b52 --- /dev/null +++ b/server/api/version.ts @@ -0,0 +1,6 @@ +import versionTag from "~/versionTag"; +export default defineEventHandler(() => { + return { + version: versionTag(), + }; +}); diff --git a/versionTag.ts b/versionTag.ts new file mode 100644 index 0000000..cc7b626 --- /dev/null +++ b/versionTag.ts @@ -0,0 +1,3 @@ +export default function versionTag() { + return "value"; +} diff --git a/versionTagGenerate.ts b/versionTagGenerate.ts new file mode 100644 index 0000000..c3b8bbb --- /dev/null +++ b/versionTagGenerate.ts @@ -0,0 +1,16 @@ +import { $ } from "bun"; +const characters = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; +function generateVersionTag() { + let slug = ""; + let length = 8; + for (let times = 0; times < length; times++) { + slug += characters.charAt(Math.floor(Math.random() * characters.length)); + } + return slug; +} +const tag = generateVersionTag(); +// Command +await $`echo 'export default function versionTag() {return "${tag}";}' > ./versionTag.ts`; + +console.log("Version Tag:", tag);