如何在 iPad Pro 上高效地使用 Taio 创建 Hugo blog

本文来自生产力 ℙ𝕣𝕠𝕕𝕦𝕔𝕥𝕚𝕧𝕚𝕥𝕪 系列文章。 我们知道,在一台安装了 Hugo 命令行工具的电脑上,只需运行命令 $ hugo new ... 即可创建一个新的 blog。 为了发挥 iPad Pro 的「生产力」属性,我使用 Taio 的「动作」实现了此命令,因此可以在 iPad Pro 上高效快速地撰写 blog。 首先使用「Working Copy」拉取 GitHub 上的 blog 远程仓库。 然后打开 Taio,将刚刚拉取下来的远程仓库的本地地址添加到 Taio 的「添加的位置」中。 添加完成后,在「动作库」中创建新动作,取名叫「Create a Hugo blog」。 以下是一个创建新 blog 的简单版本,运行之后会要求输入 blog 目录名,标题,以及类别,然后会在当前目录下创建这个目录,以及这个目录下的 index.md。 PS:这里添加到 blog 的当前日期符合 ISO 8601 标准,时间格式为 yyyy-MM-dd'T'HH:mm:ssxxx 然后将写好的动作拖移到「编辑器」文件夹中,意味着可以在编辑器的快捷动作里运行。 在某一分类文件夹下的任意文件里,点击右上角的闪电标志,运行「Create a Hugo blog」即可。 使用 Taio 写完整篇文章后,最终回到「Working Copy」,Commit & Push 自己的更改。剩下生成 HTML 的环节就交给 Travis CI 或者 GitHub Actions 去完成,详细配置请看 使用 Travis CI 自动部署 Hugo 站点...

August 30, 2021 · 1 min · Sidney Liu

使用 GitHub Actions 自动部署我的 travel blog 站点

前情提要:在我的 travel blog 的仓库根目录下,有一个叫 gotravel 的文件,运行该文件即可自动生成网站,因此 GitHub Actions 只需要在我每次 push 之后运行这个文件再提交一次就可以了。 在 GitHub 仓库内点击菜单栏的 Actions,然后选择 set up a workflow yourself 然后就会跳转至新建文件页面,以及 GitHub 自动生成最初的 main.yml 文件。 # This is a basic workflow to help you get started with Actions name: CI # Controls when the workflow will run on: # Triggers the workflow on push or pull request events but only for the master branch push: branches: [ master ] pull_request: branches: [ master ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: # This workflow contains a single job called "build" build: # The type of runner that the job will run on runs-on: ubuntu-latest # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/[email protected] # Runs a single command using the runners shell - name: Run a one-line script run: echo Hello, world!...

August 14, 2021 · 2 min · Sidney Liu

HackMD 的使用与思考

本文来自生产力 ℙ𝕣𝕠𝕕𝕦𝕔𝕥𝕚𝕧𝕚𝕥𝕪 系列文章。 说到 Markdown 团队协作,就不得不提到 HackMD。 我有一段时间在寻找 Markdown 合作 & 同步的过程中,偶然间发现了 HackMD,当时使用了一下,意外地发现相当好用。 HackMD 支持 MathJax 公式,以下是官方宣传的特色功能:(当时觉得这正是我想要的) 注册账号登录以后,在个人页面可以建立不同的空间,给不同的文件放置不同的标签。这里的标签就已经起到了分类的作用,所以 HackMD 没有「文件夹」。 我立马新建了一个团队空间,新建了一个新的笔记,写作页面相当干净简洁,该有的功能都有。 在团队协作方面,正在编辑这篇文章的人可以同时看见其他协作者正在编辑的位置,编辑一段文字后还可以看见这段文字是谁写的,不同作者用不同颜色表示在这段文字的左边或者下面,如上图编辑页面。 在「共享」弹窗中还可以修改阅读或编辑这篇文章的权限,URL 以及浏览方式。 另外,GitHub 同步只能绑定一个 GitHub 账号的其中一个仓库中的一个文件,这样每次新建一个文件就得手动在 GitHub 新建一个文件了,如果它可以自动同步并且不同账号可以同步不同 GitHub 账号就好了。 HackMD 还有大量的功能与操作,这是 官方文档。...

March 30, 2021 · 1 min · Sidney Liu

初识 React Native

安装 由于开发需要,稍稍玩了玩 React Native 开发一个 App 的简要流程。 官网 安装使用时,可以使用 Expo ,可以省去在 Xcode 或者 Android Studio 配置的过程。 运行以下命令安装 Expo npm install -g expo-cli 注意这里在 npm 前不要加 sudo,请提前确保权限通顺 sudo chown -R $(whoami) ~/.npm sudo chown -R $(whoami) /usr/local/lib/node_modules 安装好后,我试图运行 Expo,但是得到了 Expo 不支持当前的 Node 版本的错误,于是运行 nvm 来安装最新版本 Node(以下是未安装 nvm 的版本): sudo npm install -g n sudo n latest 或者,使用 yarn yarn global add expo-cli 开始 安装好后,生成第一个项目: expo init rn_proj 进入目录并运行 cd rn_proj expo start 然后同时会打开一个 Web 控制台...

March 1, 2021 · 1 min · Sidney Liu

一个奇特的想法 - Site Net

就在最近两天,我思考到关于如何做一个让知识体系更显而易见的个人网站时,想到了一个可以用一个程序来实现展示各网站关联的点子:类似于一个知识体系的构建,知识点 A 关联到知识点 B,知识点 B 关联到知识点 C,每个站点会指向它内部所含的链接的站点。 程序写出来之后首先就想要测试的就是 Wikipedia 的词条,经过域名过滤和标题过滤(让链接仅指向 Wikipedia 的站点而不是某些参考文献),原站点指向的站点实在是太多,图片上的字都有点看不清了。(以下是 Python 词条搜索 3,000 次的结果) 然后再试了一下 Apple 的中国官网,图比较密集所以将画布放大了一倍 本工程的 GitHub 链接...

February 20, 2021 · 1 min · Sidney Liu

使用 Travis CI 自动部署 Hugo 站点

在 GitHub 仓库内创建 .travis.yml 文件并添加以下内容后,即可自动部署此 Hugo 站点。 dist: bionic addons: snaps: - hugo install: - cd ./src/ - git submodule update --init --remote script: - hugo -D after_script: - cd .. - git config --global user.name "Travis CI" - git config --global user.email <your-email> - git remote set-url origin "https://${GITHUB_TOKEN}@github.com/<username>/<repo-name>.git" - git checkout main - git add . - git commit -m "Update Blog By TravisCI With Build $TRAVIS_BUILD_NUMBER" - git push origin 记得在 travis-ci....

February 16, 2021 · 1 min · Sidney Liu

关于本站

本站使用 Hugo 搭建而成,theme 主要使用 PaperMod,将源仓库 adityatelange / hugo-PaperMod fork 到自己的 GitHub 仓库 cloxnu / hugo-PaperMod 并手动增加Mathjax 特性后,本站仓库主题使用 git submodule 拉取。 以下添加 Mathjax 特性过程参考 https://note.qidong.name/2018/03/hugo-mathjax/ 手动添加文件 layouts/partials/mathjax.html 在 partials 目录下的文件 extend_head.html 添加代码 即可。 顺便在这里提一下 git submodule 和 git remote 在我 fork 了源仓库之后,使用命令 git remote add upstream https://github.com/adityatelange/hugo-PaperMod.git 来配置一个 remote,参考 Configuring a remote for a fork ,并使用 git fetch upstream 来同步远程仓库,参考 Syncing a fork 。将 Mathjax 特性添加之后,push 到自己 fork 的仓库,随后在本站仓库使用命令 git submodule add https://github....

February 15, 2021 · 1 min · Sidney Liu

The Amazing Things

Now, here is another new place to inspire and create amazing things. There is not much space here, but it brings extraordinary encouragement. I will always love, and pursue love....

February 14, 2021 · 1 min · Sidney Liu

Welcome to clox.nu

clox.nu 已全面竣工,欢迎访问...

February 8, 2021 · 1 min · Sidney Liu

Generalized Suffix Tree

An implementation of generalized suffix tree using Ukkonen’s algorithm. In this page: The longest common substring problem How it works GST versus Dynamic programming Inspired by: Ukkonen, E. On-line construction of suffix trees. Algorithmica 14, 249–260 (1995). https://www.cs.helsinki.fi/u/ukkonen/SuffixT1withFigs.pdf The longest common substring problem Given two or more strings, find the longest common substring of these strings. Concretely, the longest common substring of the two strings “cacaocac” and “ccaooc” is “cao”. This seems like a simple problem, but until today, it still requires a complicated algorithm to be solved in a reasonable time....

December 23, 2020 · 4 min · Sidney Liu