Skip to content

二月大事记

2日 终于懂配置代理了

TODO ....

2日 我终于配置好了我自己的博客到GitHub上了yee~~

我踩了好多好多的坑啊,终于成功了,放心我绝对会把这些坑全讲出来的,只要你全部都听我的就行,就一定不会出问题,出了问题就只能怪你自己没有按照我的步骤一步一步来。

我们要用vitepress来配置我们的博客,用vitepress你可以快速配置你的博客而且不需要很大的力气,而且最终的效果还不错。因为vitepress采用的是markdown文件,他在后端实际上把markdown文件转为了html文件。

配置vitepress

我推荐是使用Arch Linux系统来搭建我们的vitepress。当然了,你用纸张Ubuntu也不是不可以。什么用构思Windows?祝你好运。

为什么用archlinux?因为,用archlinux会很方便的边编辑边预览。如果你用其他的系统,可能没有这么方便,你会遇到很多的兼容性问题。

我们需要用到软件包pnpm。

为什么不用npm?具体原因我也不是很清楚,因为我对nodejs不是很了解,只知道pnpm比npm好就行了。

如果你已经pacman好了pnpm,我们现在需要给他换源。加速下载vitepress。

bash
pnpm config set registry https://registry.npmmirror.com

选择一个你喜欢的目录,然后在此打开终端,我们需要在此搭建vitepress

bash
pnpm add -D vitepress

然后初始化vitepress

bash
pnpm vitepress init

接下来,vitepress会问你一些问题,你可以像我这样答

bash
  Welcome to VitePress!

  Where should VitePress initialize the config?
  ./docs

  Site title:
  My Awesome Project

  Site description:
  A VitePress Site

  Theme:
  Default Theme

  Use TypeScript for config and theme files?
  Yes

  Add VitePress npm scripts to package.json?
  Yes

  Done! Now run pnpm run docs:dev and start writing.

然后你可以直接运行vitepress,在本地查看你的网页!

bash
pnpm run docs:dev

TIP

更多的关于如何配置你的网页的内容请见

然后在控制台按下o键(不是零啊),你的浏览器就会被弹出,这样你就看到了你的网页。

vitepress会实时更新,如果你的原文件被更改的话。

部署到github

本文假设你已经熟练掌握了git。

假设你的repo名为example,username是user。你也把你的vitepress项目push到了你的github repo上。然后我们要打开github的page功能,你找到你仓库的设置,点进去。然后找到Pages选项。看到Build and deployment。把他的source改成GitHub Actions。

好的,让我们在你的vitepress项目下创建一个文件夹.github(注意有个点),再在这个文件夹下创建一个文件夹workflows。再在这个文件夹下创建一个文件deploy.yml。这是GitHub Action的配置文件。你可以参考我的配置。但是有个前提,你的vitepress项目得用pnpm包管理器创建。

yml
# 构建 VitePress 站点并将其部署到 GitHub Pages 的示例工作流程
#
name: Deploy VitePress site to Pages

on:
  # 在针对 `main` 分支的推送上运行。如果你
  # 使用 `master` 分支作为默认分支,请将其更改为 `master`
  push:
    branches: [main]

  # 允许你从 Actions 选项卡手动运行此工作流程
  workflow_dispatch:

# 设置 GITHUB_TOKEN 的权限,以允许部署到 GitHub Pages
permissions:
  contents: read
  pages: write
  id-token: write

# 只允许同时进行一次部署,跳过正在运行和最新队列之间的运行队列
# 但是,不要取消正在进行的运行,因为我们希望允许这些生产部署完成
concurrency:
  group: pages
  cancel-in-progress: false

jobs:
  # 构建工作
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          fetch-depth: 0 # 如果未启用 lastUpdated,则不需要
      - uses: pnpm/action-setup@v3 
        with:
          version: 9
      # - uses: oven-sh/setup-bun@v1 # 如果使用 Bun,请取消注释
      - name: Setup Node
        uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: pnpm 
      - name: Setup Pages
        uses: actions/configure-pages@v4
      - name: Install dependencies
        run: pnpm install
      - name: Build with VitePress
        run: pnpm run docs:build 
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v3
        with:
          path: docs/.vitepress/dist

  # 部署工作
  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    needs: build
    runs-on: ubuntu-latest
    name: Deploy
    steps:
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4

然后,打开你的config文件(在docs/.vitepress下),找到这么个入口export default,在他的块里添加这个东西

md
base : '/LogOfTech',

一定要把这个LogOfTech换成你的仓库名

不然,你vitepress会提示404

之后,把这些再commit一遍,push一遍。等待几秒钟,打开下面的网址,你就可以访问你的博客啦!

user.github.io/repo/

记得把user与repo换成你的。

6日 vitepress配置搜索引擎

在themeConfig中添加search模块即可。

ts
import { defineConfig } from 'vitepress'

export default defineConfig({
  themeConfig: {
    search: {
      provider: 'local'
    }
  }
})

7日 文档编写原则

我又来发电了。😅

我感觉很多官网的文档写的一点都不友好。我不是说他们不好,我只是说他们对新手不是很友好。我自己感触最深的就是OpenGL的官网。可能是我比较菜吧。

TODO:补充

7日 AMC框架,一个High Level Coding框架

我是从猴子(JMonkeeyEngine)中感悟出来的。

我脑子比较慢,代码耦合度,复杂度一高我就受不了,脑子就无法工作,所以我才去学Clean Code。但是我发现Clean Code没有给我想要的东西。好在,猴子中有,于是改造了一下,就是AMC了。

AMC是Application Manager Control的缩写,

TODO: 补充

8日 JUST语言

没错,我又来发电了

我接触了很多语言,用的最多的就是c++,java,python。但是我总是感觉不爽,c++语法太抽象了,java语法太罗嗦了并且它的报错机制简直就是依托答辩,python的不明确类型系统让我感觉很难受。在略微接触了一些其他的语言,如rust,javascript,之后,我就想把他们的优势结合起来。

JUST DO IT 勇敢去做

这就是just语言的来历。

TODO ....

developed by euuen