Skip to content
Go back

使用 astro-paper 构建博客

Published:  at  08:00 AM

前置

本来打算不折腾博客了,专注以内容的生产,但是看到 astro-paper 的时候还是为之惊艳,demo页面是:https://astro-paper.pages.dev/,效果图如下:

主页

标签页

归档页

有几个比较重要的要素是我比较喜欢的:

本地部署

接下来开始准备部署。

部署的思路本质上还是希望用 github.io 进行展示,我只需要专注以生产 markdown 资料,而不需要关注部署相关的事情,所以还是沿用之前的思路,用 github action 去实现自动部署在 github page上。

首先,官方文档在这 - astro-paper

本地部署调试

## 确保本地有 pnpm

## 在本地找个空文件夹,创建好模板文件
## 这里特别注意,由于我是在本仓库创建并切换了 astro 分支,所以该目录非空,继而创建了 temp 目录,在temp目录中创建模板后再把模板文件复制到分支目录,不然 .git 会冲突,这里后续要优化下改成 subgit 进行同步
pnpm create astro@latest --template satnaing/astro-paper 

## 安装依赖
pnpm install

## 本地运行调试,一般运行后可以在 localhost:4321 进行访问,astro 会监听资源变更进行实时渲染
pnpm run dev

## 构建页面
pnpm run build

配置相关

具体可以参考:

github action部署

配置好个人网站的配置和经过本地部署调试之后,便可以开始写 github action 进行部署了

具体 action 可以参考官方案例 astro-paper ci

简单调试最终配置文件如下:

name: Deploy by Astro

  

on:

push:

branches: [ "astro-paper" ] # 当 astro-paper 分支有推送时触发

  

jobs:

build:

name: Code standards & build

runs-on: ubuntu-latest

timeout-minutes: 3

  

strategy:

matrix:

node-version: [20]

steps:

- name: "☁️ Checkout repository"

uses: actions/checkout@v4

  

- name: "📦 Install pnpm"

uses: pnpm/action-setup@v4

with:

version: 10

  

- name: Use Node.js ${{ matrix.node-version }}

uses: actions/setup-node@v4

with:

node-version: ${{ matrix.node-version }}

cache: "pnpm"

  

- name: "📦 Install dependencies"

run: pnpm install

  

- name: "🚀 Build the project"

run: pnpm run build

  

# 8. 部署到 GitHub Pages

- name: Deploy

uses: peaceiris/actions-gh-pages@v3

with:

github_token: ${{ secrets.PAT }}

publish_dir: ./dist # Astro 构建输出目录是 dist

后续当有新的 commit 推送时便可以进行自动构建

结尾

todo:


Share this post on:

Previous Post
iTerm2冷启动加速
Next Post
2025年4月