From edee708802e0df9e3a9a2e85a597df7935917e3a Mon Sep 17 00:00:00 2001 From: Sakurasan <26715255+Sakurasan@users.noreply.github.com> Date: Sun, 20 Sep 2026 20:48:00 +0800 Subject: [PATCH] =?UTF-8?q?baseline:=20=E4=BF=9D=E7=95=99=2007=20=E9=A3=8E?= =?UTF-8?q?=E6=A0=BC=E9=87=8D=E5=86=99=E5=89=8D=E7=9A=84=20Vue=20=E5=89=8D?= =?UTF-8?q?=E7=AB=AF=E5=8E=9F=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 23 + frontend/index.html | 13 + frontend/package.json | 33 + frontend/pnpm-lock.yaml | 1619 +++++++++++++++++ frontend/postcss.config.js | 6 + frontend/public/favicon.svg | 32 + frontend/src/App.vue | 7 + frontend/src/components/common/Avatar.vue | 35 + .../src/components/common/DarkModeSwitch.vue | 15 + frontend/src/components/common/EmptyState.vue | 16 + .../src/components/common/FormattedNumber.vue | 13 + .../src/components/common/LanguageSwitch.vue | 24 + frontend/src/components/common/Loading.vue | 10 + frontend/src/components/common/Logo.vue | 59 + .../src/components/common/MarkdownContent.vue | 19 + frontend/src/components/common/PostCard.vue | 91 + frontend/src/components/common/Skeleton.vue | 27 + frontend/src/components/common/Time.vue | 13 + .../components/dashboard/DashboardMain.vue | 14 + .../components/dashboard/DashboardSidebar.vue | 108 ++ .../components/dashboard/DashboardTopbar.vue | 22 + .../src/components/dashboard/PagesManager.vue | 154 ++ .../components/home/HomeActivitiesTabs.vue | 24 + frontend/src/components/home/HomeFeed.vue | 64 + frontend/src/components/home/HomeSidebar.vue | 59 + frontend/src/components/home/HomeTabs.vue | 31 + .../src/components/home/PromotionLinks.vue | 46 + frontend/src/components/home/SearchInput.vue | 24 + frontend/src/components/site/PostFooter.vue | 137 ++ frontend/src/components/site/PostMeta.vue | 32 + frontend/src/components/site/PostTitle.vue | 13 + frontend/src/components/site/SiteFooter.vue | 43 + frontend/src/components/site/SiteHeader.vue | 73 + frontend/src/components/site/SiteTabs.vue | 25 + frontend/src/components/ui/Tabs.vue | 56 + frontend/src/composables/useTheme.ts | 16 + frontend/src/env.d.ts | 8 + frontend/src/layouts/DashboardLayout.vue | 64 + frontend/src/layouts/HomeLayout.vue | 69 + frontend/src/layouts/SiteLayout.vue | 15 + frontend/src/lib/utils.ts | 28 + frontend/src/main.ts | 16 + frontend/src/mock/data.ts | 402 ++++ frontend/src/router/index.ts | 89 + frontend/src/styles/main.css | 12 + frontend/src/styles/prose.css | 74 + frontend/src/styles/tailwind.css | 88 + frontend/src/styles/variables.css | 27 + frontend/src/views/AboutPage.vue | 24 + frontend/src/views/Dashboard.vue | 78 + frontend/src/views/EditorPlaceholder.vue | 45 + frontend/src/views/HomePage.vue | 30 + frontend/src/views/NotFound.vue | 15 + frontend/src/views/PagesManager.vue | 8 + frontend/src/views/PostDetail.vue | 46 + frontend/src/views/PostsManager.vue | 8 + frontend/src/views/SearchPage.vue | 37 + frontend/src/views/SettingsGeneral.vue | 77 + frontend/src/views/SiteArchives.vue | 48 + frontend/src/views/SiteHome.vue | 30 + frontend/tailwind.config.js | 33 + frontend/tsconfig.json | 21 + frontend/vite.config.ts | 16 + 63 files changed, 4404 insertions(+) create mode 100644 .gitignore create mode 100644 frontend/index.html create mode 100644 frontend/package.json create mode 100644 frontend/pnpm-lock.yaml create mode 100644 frontend/postcss.config.js create mode 100644 frontend/public/favicon.svg create mode 100644 frontend/src/App.vue create mode 100644 frontend/src/components/common/Avatar.vue create mode 100644 frontend/src/components/common/DarkModeSwitch.vue create mode 100644 frontend/src/components/common/EmptyState.vue create mode 100644 frontend/src/components/common/FormattedNumber.vue create mode 100644 frontend/src/components/common/LanguageSwitch.vue create mode 100644 frontend/src/components/common/Loading.vue create mode 100644 frontend/src/components/common/Logo.vue create mode 100644 frontend/src/components/common/MarkdownContent.vue create mode 100644 frontend/src/components/common/PostCard.vue create mode 100644 frontend/src/components/common/Skeleton.vue create mode 100644 frontend/src/components/common/Time.vue create mode 100644 frontend/src/components/dashboard/DashboardMain.vue create mode 100644 frontend/src/components/dashboard/DashboardSidebar.vue create mode 100644 frontend/src/components/dashboard/DashboardTopbar.vue create mode 100644 frontend/src/components/dashboard/PagesManager.vue create mode 100644 frontend/src/components/home/HomeActivitiesTabs.vue create mode 100644 frontend/src/components/home/HomeFeed.vue create mode 100644 frontend/src/components/home/HomeSidebar.vue create mode 100644 frontend/src/components/home/HomeTabs.vue create mode 100644 frontend/src/components/home/PromotionLinks.vue create mode 100644 frontend/src/components/home/SearchInput.vue create mode 100644 frontend/src/components/site/PostFooter.vue create mode 100644 frontend/src/components/site/PostMeta.vue create mode 100644 frontend/src/components/site/PostTitle.vue create mode 100644 frontend/src/components/site/SiteFooter.vue create mode 100644 frontend/src/components/site/SiteHeader.vue create mode 100644 frontend/src/components/site/SiteTabs.vue create mode 100644 frontend/src/components/ui/Tabs.vue create mode 100644 frontend/src/composables/useTheme.ts create mode 100644 frontend/src/env.d.ts create mode 100644 frontend/src/layouts/DashboardLayout.vue create mode 100644 frontend/src/layouts/HomeLayout.vue create mode 100644 frontend/src/layouts/SiteLayout.vue create mode 100644 frontend/src/lib/utils.ts create mode 100644 frontend/src/main.ts create mode 100644 frontend/src/mock/data.ts create mode 100644 frontend/src/router/index.ts create mode 100644 frontend/src/styles/main.css create mode 100644 frontend/src/styles/prose.css create mode 100644 frontend/src/styles/tailwind.css create mode 100644 frontend/src/styles/variables.css create mode 100644 frontend/src/views/AboutPage.vue create mode 100644 frontend/src/views/Dashboard.vue create mode 100644 frontend/src/views/EditorPlaceholder.vue create mode 100644 frontend/src/views/HomePage.vue create mode 100644 frontend/src/views/NotFound.vue create mode 100644 frontend/src/views/PagesManager.vue create mode 100644 frontend/src/views/PostDetail.vue create mode 100644 frontend/src/views/PostsManager.vue create mode 100644 frontend/src/views/SearchPage.vue create mode 100644 frontend/src/views/SettingsGeneral.vue create mode 100644 frontend/src/views/SiteArchives.vue create mode 100644 frontend/src/views/SiteHome.vue create mode 100644 frontend/tailwind.config.js create mode 100644 frontend/tsconfig.json create mode 100644 frontend/vite.config.ts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bf8601e --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +# 依赖与构建产物 +node_modules/ +dist/ +frontend/dist/ + +# 运行时数据 +data/ +*.db +*.db-wal +*.db-shm + +# 开发进程日志 / pid +.run/ + +# 二进制 +one-server +backend/one-server + +# 本地环境变量 +.env +.env.local + +.DS_Store diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..187ee1f --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,13 @@ + + +
+ + ++ xLog is a decentralized blog platform built on Crossbell. It gives every + creator a permanent home on the open web — own your content, connect with + readers, and tip creators across the network. +
+This page could not be found.
+