feat(opensource): README 开篇接线+缓存入仓(收编遗漏补齐)
zh 开源页补收编(此前只提交了 en):githubReadmeMarkdown + renderMarkdown 接线,content/.github-readme.md 缓存入仓(现状 intro_from=off,开启即生效)。 验证: 构建 48 页 exit 0 Spec: none (收编遗漏补齐) Co-authored-by: GLM-5.3
This commit is contained in:
1 parent
b0a3881725
commit
c5cdcd5bf9
2 files changed
+83
-4
No files matched your search
@@ -3,23 +3,36 @@ import ProjectWall from '../components/geek/ProjectWall.astro';
|
||||
import Heatmap from '../components/geek/Heatmap.astro';
|
||||
import BaseLayout from '../layouts/BaseLayout.astro';
|
||||
import { t } from '../i18n/ui';
|
||||
import { openSourceCopy } from '../lib/site-content';
|
||||
import { githubReadmeMarkdown, openSourceCopy, openSourceOptions, renderMarkdown } from '../lib/site-content';
|
||||
|
||||
// 叙述文案 + 置顶名单均改由 content/site/opensource.yaml 供给(后台可改)
|
||||
// 叙述文案 + 置顶名单 + 项目墙选项均改由 content/site/opensource.yaml 供给(后台可改)
|
||||
const copy = await openSourceCopy('zh');
|
||||
const options = await openSourceOptions();
|
||||
// 开篇来源:github-readme → 构建期取 profile 仓 README(缓存 content/.github-readme.md,失败回落 yaml blurb)
|
||||
const readmeMd = options.introFrom === 'github-readme' ? await githubReadmeMarkdown() : null;
|
||||
const readmeHtml = readmeMd ? await renderMarkdown(readmeMd) : null;
|
||||
---
|
||||
<BaseLayout title="开源 · wait4x" description="我的开源活动:仓库、贡献与本站源码">
|
||||
<h1 class="page-title">开源<span class="count mono">Open Source</span></h1>
|
||||
<p class="blurb">{copy.blurb}<a class="link" href={copy.repoUrl}>{copy.repoLabel}</a>{copy.blurbAfter}</p>
|
||||
{readmeHtml ? (
|
||||
<div class="blurb readme-intro" set:html={readmeHtml} />
|
||||
) : (
|
||||
<p class="blurb">{copy.blurb}<a class="link" href={copy.repoUrl}>{copy.repoLabel}</a>{copy.blurbAfter}</p>
|
||||
)}
|
||||
<Heatmap labels={{
|
||||
title: t('heatmap_title', 'zh'), summary: t('heatmap_summary', 'zh'),
|
||||
less: t('heatmap_less', 'zh'), more: t('heatmap_more', 'zh'), note: t('heatmap_note', 'zh'),
|
||||
}} />
|
||||
<ProjectWall limit={99} pinned={copy.pinned} />
|
||||
<ProjectWall limit={99} pinned={copy.pinned} options={options} />
|
||||
</BaseLayout>
|
||||
|
||||
<style>
|
||||
.page-title { font-size: var(--text-h1); color: var(--ink-1); display: flex; align-items: baseline; gap: var(--space-3); }
|
||||
.count { font-size: 13px; color: var(--ink-4); }
|
||||
.readme-intro :global(p) { margin-block: 0 var(--space-2); }
|
||||
.readme-intro :global(ul) { margin-block: var(--space-1) var(--space-2); padding-left: 1.2em; list-style: disc; }
|
||||
.readme-intro :global(h2), .readme-intro :global(h3) { font-size: 16px; margin: var(--space-3) 0 var(--space-1); }
|
||||
.readme-intro :global(img) { max-width: 100%; height: auto; border-radius: 8px; }
|
||||
.readme-intro :global(a) { color: var(--accent); }
|
||||
.blurb { margin-top: var(--space-3); margin-bottom: var(--space-5); font-size: 15px; color: var(--ink-2); line-height: 1.7; max-width: 640px; }
|
||||
</style>
|
||||
Reference in new issue
Block a user