🌸 Article

博客搭建小记

  • blog
  • astro
  • 折腾

缘起

日常工作中总会遇到一些卡了很久才解决的技术问题,解决之后就忘了。下次再碰到又得重新搜一遍。所以决定建一个博客,把这些过程记下来,利己利人

技术选型

博客基于 Astro 构建,选它的原因很简单:

  1. 原生支持 Markdown,直接写 .md 文件即可
  2. 内置 Shiki 代码高亮,效果和 VS Code 一致
  3. 构建产物是纯静态 HTML,部署到任何地方都行

一个简单的示例

文章里贴代码很常见,语法高亮直接可用。下面是一段 Rust 代码:

fn main() {
    let numbers: Vec<i32> = (1..=100).collect();
    let sum: i32 = numbers.iter()
        .filter(|&&x| x % 2 == 0)
        .map(|x| x * x)
        .sum();
    println!("Sum of squares of even numbers: {}", sum);
}

再比如一段 TypeScript:

interface Post {
  slug: string;
  title: string;
  date: string;
  description?: string;
  tags?: string[];
}

function sortByDate(posts: Post[]): Post[] {
  return posts.toSorted(
    (a, b) => new Date(b.date).getTime() - new Date(a.date).getTime()
  );
}

Shell 命令也常用:

# 本地启动开发服务器
npm run dev

# 构建生产版本
npm run build

写作流程

  1. content/ 目录下新建 <slug>.md
  2. 顶部填写 frontmatter(标题、日期、描述、标签)
  3. 正文用 Markdown 写,代码块用三个反引号包裹并标注语言
  4. git push 之后自动部署上线

后续计划

  • 坚持写下去

种一棵树最好的时间是十年前,其次是现在。