feat: ship blog platform admin and deploy stack
This commit is contained in:
@@ -127,12 +127,30 @@ export const messages = {
|
||||
about: '关于我',
|
||||
techStack: '技术栈',
|
||||
systemStatus: '系统状态',
|
||||
hotNow: '最近热门内容',
|
||||
hotNowDescription: '基于 24h / 7d / 30d 的页面访问与阅读完成信号生成,可切换窗口查看最有反馈的内容。',
|
||||
hotNowEmpty: '当前筛选条件下还没有热门内容信号。',
|
||||
sortByViews: '最多浏览',
|
||||
sortByCompletes: '完读最多',
|
||||
sortByDepth: '阅读最深',
|
||||
readingSignals: '阅读信号',
|
||||
readingSignalsDescription: '以下统计面板会跟随所选窗口切换,展示全站内容消费表现。',
|
||||
views: '浏览',
|
||||
completes: '完读',
|
||||
avgProgress: '平均进度',
|
||||
avgDuration: '平均时长',
|
||||
totalViews: '累计浏览',
|
||||
totalCompletes: '累计完读',
|
||||
statsWindow: '统计窗口:最近 7 天',
|
||||
statsWindowLabel: '统计窗口:{label}',
|
||||
promptWelcome: 'pwd',
|
||||
promptDiscoverDefault: "find ./posts -type f | sort",
|
||||
promptDiscoverFiltered: 'grep -Ril "{filters}" ./posts',
|
||||
promptPinned: 'grep -Ril "^pinned: true$" ./posts',
|
||||
promptPostsDefault: "find ./posts -type f | head -n {count}",
|
||||
promptPostsFiltered: 'grep -Ril "{filters}" ./posts | head -n {count}',
|
||||
promptPopular: "awk 'NR<=6 {print}' ./analytics/popular-posts.log",
|
||||
promptPopularRange: "awk 'NR<=6 {print}' ./analytics/popular-posts.log --window={label}",
|
||||
promptFriends: "find ./links -maxdepth 1 -type f | sort",
|
||||
promptAbout: "sed -n '1,80p' ~/profile.md",
|
||||
},
|
||||
@@ -148,6 +166,25 @@ export const messages = {
|
||||
previous: '上一页',
|
||||
next: '下一页',
|
||||
},
|
||||
searchPage: {
|
||||
pageTitle: '站内搜索',
|
||||
title: '搜索结果',
|
||||
intro: '独立搜索页会保留搜索词,并支持按类型、分类、标签继续缩小范围。',
|
||||
promptIdle: "printf 'search query required\\n'",
|
||||
promptQuery: 'grep -Rin "{query}" ./posts',
|
||||
queryLabel: '当前查询',
|
||||
searchTips: '搜索会优先走站内索引,并自动复用同义词与轻量拼写纠错。',
|
||||
resultSummary: '找到 {count} 条结果',
|
||||
filteredSummary: '筛选后剩余 {count} 条结果',
|
||||
filtersTitle: '二次筛选',
|
||||
allCategories: '全部分类',
|
||||
allTags: '全部标签',
|
||||
emptyQueryTitle: '先输入关键词',
|
||||
emptyQueryDescription: '可以直接使用顶部搜索框,或在 URL 中传入 ?q= 进入搜索结果页。',
|
||||
emptyTitle: '没有匹配结果',
|
||||
emptyDescription: '可以切换分类 / 标签,或换一个关键词重新搜索。',
|
||||
askFallback: '改去 AI 问答',
|
||||
},
|
||||
article: {
|
||||
backToArticles: '返回文章索引',
|
||||
documentSession: '文档会话',
|
||||
@@ -158,6 +195,9 @@ export const messages = {
|
||||
title: '相关文章',
|
||||
description: '基于当前分类与标签关联出的相近内容,延续同一条阅读链路。',
|
||||
linked: '{count} 条关联',
|
||||
hotKicker: '热门延伸',
|
||||
hotTitle: '同类热门文章',
|
||||
hotDescription: '结合最近 7 天的访问与阅读数据,优先推荐同分类或共享标签的高反馈内容。',
|
||||
},
|
||||
comments: {
|
||||
title: '评论终端',
|
||||
@@ -528,12 +568,30 @@ export const messages = {
|
||||
about: 'About',
|
||||
techStack: 'Tech stack',
|
||||
systemStatus: 'System status',
|
||||
hotNow: 'Hot now',
|
||||
hotNowDescription: 'Generated from 24h / 7d / 30d page-view and completion signals so visitors can switch windows and spot the strongest feedback loops quickly.',
|
||||
hotNowEmpty: 'No hot content matched the current filters yet.',
|
||||
sortByViews: 'Most viewed',
|
||||
sortByCompletes: 'Most completed',
|
||||
sortByDepth: 'Deepest reads',
|
||||
readingSignals: 'Reading signals',
|
||||
readingSignalsDescription: 'These stats switch with the selected window to summarize site-wide content consumption.',
|
||||
views: 'Views',
|
||||
completes: 'Completes',
|
||||
avgProgress: 'Avg progress',
|
||||
avgDuration: 'Avg duration',
|
||||
totalViews: 'Total views',
|
||||
totalCompletes: 'Total completes',
|
||||
statsWindow: 'Window: last 7 days',
|
||||
statsWindowLabel: 'Window: {label}',
|
||||
promptWelcome: 'pwd',
|
||||
promptDiscoverDefault: "find ./posts -type f | sort",
|
||||
promptDiscoverFiltered: 'grep -Ril "{filters}" ./posts',
|
||||
promptPinned: 'grep -Ril "^pinned: true$" ./posts',
|
||||
promptPostsDefault: "find ./posts -type f | head -n {count}",
|
||||
promptPostsFiltered: 'grep -Ril "{filters}" ./posts | head -n {count}',
|
||||
promptPopular: "awk 'NR<=6 {print}' ./analytics/popular-posts.log",
|
||||
promptPopularRange: "awk 'NR<=6 {print}' ./analytics/popular-posts.log --window={label}",
|
||||
promptFriends: "find ./links -maxdepth 1 -type f | sort",
|
||||
promptAbout: "sed -n '1,80p' ~/profile.md",
|
||||
},
|
||||
@@ -549,6 +607,25 @@ export const messages = {
|
||||
previous: 'Prev',
|
||||
next: 'Next',
|
||||
},
|
||||
searchPage: {
|
||||
pageTitle: 'Site search',
|
||||
title: 'Search results',
|
||||
intro: 'The dedicated search page keeps the query visible and lets visitors narrow results by type, category, and tag.',
|
||||
promptIdle: "printf 'search query required\\n'",
|
||||
promptQuery: 'grep -Rin "{query}" ./posts',
|
||||
queryLabel: 'Current query',
|
||||
searchTips: 'Search uses the site index first and also applies synonyms plus lightweight typo correction automatically.',
|
||||
resultSummary: 'Found {count} results',
|
||||
filteredSummary: '{count} results after filters',
|
||||
filtersTitle: 'Refine results',
|
||||
allCategories: 'All categories',
|
||||
allTags: 'All tags',
|
||||
emptyQueryTitle: 'Enter a keyword first',
|
||||
emptyQueryDescription: 'Use the header search box or open this page with a ?q= query string.',
|
||||
emptyTitle: 'No matching results',
|
||||
emptyDescription: 'Try switching categories / tags or search again with another keyword.',
|
||||
askFallback: 'Ask the AI instead',
|
||||
},
|
||||
article: {
|
||||
backToArticles: 'Back to article index',
|
||||
documentSession: 'Document session',
|
||||
@@ -559,6 +636,9 @@ export const messages = {
|
||||
title: 'Related Posts',
|
||||
description: 'More nearby reading paths based on the current category and shared tags.',
|
||||
linked: '{count} linked',
|
||||
hotKicker: 'Hot follow-up',
|
||||
hotTitle: 'Popular related posts',
|
||||
hotDescription: 'Uses the last 7 days of visit and reading signals to recommend the strongest-performing posts from the same category or shared tags.',
|
||||
},
|
||||
comments: {
|
||||
title: 'Comment Terminal',
|
||||
|
||||
Reference in New Issue
Block a user