
面向前端开发者的一份实战指南,覆盖从信息架构与设计系统,到技术选型、实现细节、响应式适配、性能与可访问性、部署与运维的全流程。目标是快速落地一个美观、可靠、可持续维护的个人博客 / 简历网站。
内容来源建议:
title、date、tags、draft、description。示例 Frontmatter:
---
title: 设计到部署的全流程
date: 2025-11-21
tags: [frontend, blog, resume]
draft: false
description: 从设计、响应式到部署的一站式实践
---srcset。prefers-color-scheme 自动适配。示例 CSS 变量与主题切换:
:root {
--bg: #ffffff;
--text: #161616;
--primary: #2563eb;
}
@media (prefers-color-scheme: dark) {
:root {
--bg: #0b0f1a;
--text: #e6e6e6;
--primary: #60a5fa;
}
}
body { background: var(--bg); color: var(--text); }sm: 480px、md: 768px、lg: 1024px、xl: 1280px。clamp 动态字体,提升在不同分辨率的可读性。img { max-width: 100%; height: auto; },结合 picture 与 srcset。示例网格容器与排版:
.container { max-width: 72rem; margin: 0 auto; padding: 0 1rem; }
.grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 768px) { .grid { grid-template-columns: repeat(12, 1fr); } }
.article { font-size: clamp(1rem, 0.875rem + 0.5vw, 1.125rem); line-height: 1.8; }图片与 srcset:
<picture>
<source srcset="cover-1200.webp" type="image/webp">
<img src="cover-1200.jpg" alt="封面图" loading="lazy">
</picture>根据需求选择以下任一路径:
推荐架构:
初始化:
npm create next@latest my-site -- --ts
cd my-site
npm run dev建议目录:
my-site/
public/
images/
favicon.ico
src/
app/
layout.tsx
page.tsx
blog/
page.tsx
[slug]/page.tsx
resume/page.tsx
about/page.tsx
content/
posts/
resume/
components/
Header.tsx
Footer.tsx
PostCard.tsx
MDXRenderer.tsx
styles/
globals.css
tokens.csstitle、description、OG/Twitter Card、结构化数据。示例 HTML 头部:
<meta name="description" content="从设计到部署的个人博客与简历站实践">
<meta property="og:title" content="个人博客与简历网站全流程">
<meta property="og:type" content="website">
<meta property="og:image" content="/images/og-cover.jpg">
<meta name="twitter:card" content="summary_large_image">draft: true 控制。文章结构示例:
---
title: 响应式设计的三个层次
date: 2025-11-21
tags: [responsive, css]
description: 从网格、排版到交互的渐进优化
---
# 引言
正文内容基础排版与容器示例:
:root { --space-2: 8px; --space-4: 16px; --space-6: 24px; }
.container { max-width: 72rem; margin: 0 auto; padding: 0 var(--space-4); }
h1 { font-size: clamp(1.75rem, 1rem + 2vw, 3rem); }
p { margin: var(--space-4) 0; }header、nav、main、article、footer。tabindex 与明确焦点样式。跳转到主内容的链接:
<a href="#main" class="skip">跳过导航</a>
<main id="main">内容</main>font-display: swap。示例图片样式:
img { width: 100%; height: auto; background: #f3f4f6; }Astro 到 GitHub Pages:
npm create astro@latest my-site -- --template blog
cd my-site
npm run buildNext.js 到 Vercel:
npm run build
npx vercel deploy --prodmain 分支后自动构建与部署。gh-pages 分支。示例(静态站点):
name: Build and Deploy
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npm run build
- uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./distCNAME 文件。feed.xml,在页脚与 <head> 暴露。mailto:。<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>我的博客与简历</title>
</head>
<body>
<header class="container">
<nav>
<a href="/">首页</a>
<a href="/blog">博客</a>
<a href="/resume">简历</a>
<a href="/about">关于</a>
</nav>
</header>
<main class="container">
<section class="hero">
<h1>你好,我是前端开发者</h1>
<p>这里记录设计到部署的实践与思考</p>
</section>
<section class="grid">
<article class="card">
<h2>最新文章</h2>
<p>从信息架构到响应式的全流程</p>
</article>
</section>
</main>
<footer class="container">© 2025</footer>
</body>
</html>:root { --gap: 16px; }
* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, -apple-system, Segoe UI, Roboto; }
.container { max-width: 72rem; margin: 0 auto; padding: 0 1rem; }
.hero { padding: 2rem 0; }
.grid { display: grid; grid-template-columns: 1fr; gap: var(--gap); }
.card { padding: 1rem; border: 1px solid #e5e7eb; border-radius: 8px; }
@media (min-width: 768px) { .grid { grid-template-columns: repeat(3, 1fr); } }从信息架构与设计系统出发,采用移动优先的响应式策略与现代前端框架进行实现,辅以可访问性与性能优化,最后通过自动化部署上线,是个人博客 / 简历网站长期、稳定运营的关键路径。先从最小可用版本起步,逐步迭代页面与内容质量,持续输出,才是个人品牌的核心竞争力。