Conway's Game of Life

2020年4月17日 · 1871 字 · 4 分钟 · Codewars Csharp

R.I.P John Conway.

由于近期席卷全球的新冠肺炎,John Conway 不幸染病离世。生命游戏 (Game of Life) 是其最为著名的成果。几天前我在 Codewars 上刷到了相关的题目,花了一段时间做了出来,在此写一篇文章,就当是为了纪念 Conway 吧。

Hugo 自动化 CI V2

2020年4月13日 · 301 字 · 1 分钟 · Hugo CI

改进了一下自动化发布博客的 CI,代码在下面。

如果想拿去用的话只需要修改 env 下的值就行了。

name: blog

on: [push]

# 各种信息在此处设置
env:
  # config.toml 里 theme 的值
  THEME_NAME: left
  # 主题的 github 链接
  THEME_REPO: https://github.com/batkiz/left.git
  # github username
  USER_NAME: batkiz
  # github email
  EMAIL: batkiz@outlook.com
  # GitHub token
  GH_TOKEN: ${{ secrets.GH_TOKEN }}

jobs:
  build:
    name: Build
    runs-on: ubuntu-latest
    steps:
      # 获取 repo 内文件
      - uses: actions/checkout@v2
      # 使用预编译的 Hugo 二进制文件
      - name: Setup Hugo
        uses: peaceiris/actions-hugo@v2
        with:
          hugo-version: "latest"
          extended: true

      # 新建站点
      - name: new site
        run: |
          hugo new site $HOME/blog

      # 获取主题
      - name: get theme
        run: |
          git clone --depth=1 $THEME_REPO $HOME/blog/themes/$THEME_NAME

      # 获取 $user.github.io 以保持 commit 记录
      - name: get username.github.io
        run: |
          git clone --no-checkout https://github.com/$USER_NAME/$USER_NAME.github.io.git $HOME/blog/public

      # 将内容文件复制进入站点内
      - name: copy in
        run: |
          rm -rf $HOME/blog/config.toml $HOME/blog/content/
          /bin/cp -rf config.toml $HOME/blog/config.toml
          /bin/cp -rf content/ $HOME/blog/content/

      # build
      - name: build
        run: |
          cd $HOME/blog
          HUGO_ENV=production hugo --gc --minify

      # 将生成出的站点推向 user.github.io
      # 注意设置 github token
      - name: publish
        run: |
          git config --global user.name $USER_NAME
          git config --global user.email $EMAIL
          cd $HOME/blog/public
          git add .
          git commit -m "Auto Update: `date +'%Y-%m-%d %H:%M:%S'`"
          git push "https://$USER:$GH_TOKEN@github.com/$USER_NAME/$USER_NAME.github.io.git" master:master

附赠本人用于存放 blog 内容仓库的 gitignore

用 C# 设置 Hugo Aliases

2020年1月5日 · 898 字 · 2 分钟 · Csharp Hugo

2020 年新年好!

相信细心的读者已经注意到了,本博客的文章链接已经全部从 blog.batkiz.com/:year/:month/:day/:filename/ 调整为了 blog.batkiz.com/posts/:year/:filename/ 的 url 格式。主要的原因是 url 的可读性:一则我个人认为让完整的日期出现在文章的 url 中对“人”非常之不友好。比如我曾想直接输入文章链接访问文章时,日期极大地为我原本就不太好的记忆力增加了负担。另一方面,具体而完整的时间对于读者也是不必要的,几乎没有人会关注文章是在几月几号几点写的,作为读者,更关注的点在于内容,在 url 中隐藏掉具体的时间,只给出一个年份,在我看来是某种程度上的平衡。

滚进 wsl2

2019年11月6日 · 1502 字 · 3 分钟 · Windows Wsl

本文已于 2020/05/26 更新,过时的信息已用删除线标注。

我是真没想到这都快过半年了 20H1 还没释出稳定版

早在今年上半年的 Build 2019 上,微软宣布了 wsl2,使得 wsl 不再只是 system call 的翻译,而是切切实实跑在一个真正的 Linux 内核之上。这样一来,wsl 将不再受内核的局限,能够运行 docker 等与 Linux kernel 密切相关的软件。

写在 hosts-tool-go 0.1.0 之际

2019年10月24日 · 460 字 · 1 分钟 · Golang Hosts

不知不觉,自 第一个 commit 算起,时间已经过去了四个多月。实际的开始开发时间自然要更早一些。host-tool-go 也慢慢变得更加可用,版本号也刷到了 0.1.0。

到现在,在 上一篇文章 中所计划的三个功能也已一一实现:

博客迁移至 Hugo 并实现自动化

2019年10月20日 · 2105 字 · 5 分钟 · Hugo

好久不见!

自 6 月以来,本人虽然没什么产出,但怎奈没动力写博客,至今只写了两篇不疼不痒的综述文章。但今天(2019/10/20)偶然在 v2ex 上看到了 hexo 释出 4.0 版本 的消息,而后想到自己曾数次想要脱离贵前端生态圈,摆脱令人脑壳痛的依赖问题,实现博客自动化等等等等事情。

使用 VS Code 与 TinyCC 学习 C 语言

2019年10月6日 · 316 字 · 1 分钟 · Vscode

本文不对其他 C 语言的 (editor || IDE || compiler) 作评价,仅分享一个方案。

VS Code

下载安装 VS Code

安装下列扩展

  • C/C++ ms-vscode.cpptools
  • TCC Compiler lihram.vscode-tcc-compiler

使用

于任意路径新建 tmp 文件夹,使用 VS Code 打开。

新建 hello.c 文件,并写入下列内容

oh my powershell

2019年9月24日 · 200 字 · 1 分钟 · Windows Powershell

对 *nix 平台上的 oh-my-zsh 的绝赞复刻!

备受好评的 shell 配置,来到了 powershell 之上~

requirements

  • set-executionpolicy remotesigned 执行策略更改,以执行脚本、安装应用
  • scoop

installation

Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser
scoop install scoop-completion

亦可均由 scoop 安装,即

scoop install scoop-completion
scoop install oh-my-posh
scoop install posh-git

配置

配置文件为 ~\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1,若不存在请自行创建。