为何写作与如何写作

写这篇文章,有两个原因:1、有人在微信群问我如何写作 2、前端时间独立站blog 流行的一个问卷。以此为契机回答两个问题:

  1. 为何写作
  2. 如何写作

为何写作

先回答一下blog 流行的一个问卷中的几个问题

1. 简单介绍下自己或者你的博客?

严格意义上说,我有两个写作的站点:

blog: 技术笔记,个人简历,豆腐渣文字

book: 多个专业,体系知识库

2. 什么契机让你开始写博客?

2016 年 3 月 12 日写下自己的第一篇文章Markdown-语法学习, 从此 blog 主要用来记录技术学习笔记,偶尔发泄一丝多愁善感的思绪,还有一个作用就是当做自己的简历,让网络上的一些想了解我的同行有个初步印象。随着越写越多,我发现知识是需要整理的,知识往往是成体系的,经常更改单个文章有点困难,因此就有 book 站点。

2022 年 2 月 5 日开始构建了 book 站点,该站点为成体系知识库,经常会更新整理。

3. 运营博客的过程中是否有失去过动力?如果有,是为什么恢复的?如果没有,请问您又是如何保持创作的激情?

没有,想写就写,写作难的是让自己坐下来写出第一行文字,没有功利性的输出,也就不存在什么动力。

4. 如何搭建博客,以及运营博客每年需要投入的资金?

Hexo & NexT主题,阿里云买的轻应用主机,一年 99,域名一年 20(貌似以后续费一年 32),总计一年:119 ¥

总结 为何写作:主要用记录技术笔记,记录看过的东西,分享想分享的,营造技术影响力。有一句口号:爱我所爱,想我所想,写我所写。

如何写作

工具

  • yn Markdown 写作软件,和 vs code 很相似,但更专注于写作。支持多仓库,图片上传与下载,git 数据存储,插件化设计。开源免费,高级版收费,免费版就已经满足目前我的工作流。Img

  • VS code+ Front Matter CMS 插件 主要用来管理 blog,当然也可以不用。Img

站点搭建

blog: Hexo & NexT主题

book: dmui 版本为 1.x,原因是更喜欢 v1 版本的主题设计。类似的建站系统很多,这个中文友好。

两个站点都存储在 github 上,借助于 github action,可以实现 push 文章即可更新站点。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
name: website deploy

on:
push:
branches:
- main

jobs:
build:
# runs-on 指定job任务运行所需要的虚拟机环境(必填字段)
runs-on: ubuntu-latest
strategy:
matrix:
node_version: [18.17.0]
steps:
# 获取源码
- name: checkout
# 使用action库 actions/checkout获取源码
uses: actions/checkout@master

# 安装Node10
- name: setup-node
# 使用action库 actions/setup-node安装node
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node_version }}
cache: "npm"

# 安装依赖
- name: install
run: npm install hexo-cli -g && npm install

# 打包
- name: build
run: hexo g
- name: tar
run: tar -czvf blog.tar.gz ./public/*
# 上传阿里云
- name: ssh deploy
uses: cross-the-world/ssh-scp-ssh-pipelines@latest
env:
WELCOME: "ssh scp ssh pipelines"
LASTSSH: "Doing something after copying"
with:
host: ${{ secrets.REMOTE_HOST }}
user: ${{ secrets.REMOTE_USER }}
pass: ${{ secrets.PRIVATE_KEY }}
connect_timeout: 500s
first_ssh: |
rm -rf /opt/app/temp/blog/*
scp: |
'blog.tar.gz' => /opt/app/temp/blog
last_ssh: |
tar -xzvf /opt/app/temp/blog/blog.tar.gz -C /opt/app/temp/blog/
rm -rf /opt/app/blog/*
mv /opt/app/temp/blog/public/* -f /opt/app/blog/

写作流

自己的写作工作流分为三个部分:浏览,写作,发布

一、浏览

现阶段还是通过feeder 订阅了很多自己喜欢的站点,然后挨个阅读更新。对于自己感兴趣的网页,通常不会立马写作记录,而是先放入到临时书签栏。

Img
Img

等处理完目前待阅列表后,我会使用follow,目前订阅源已经导入进去了。

Img

二、写作

在 yn 事先定义好的目录,新建响应的文档,确定主题,按个处理临时书签栏中网页内容。我会一到两周整理一次,间隔时间长的好处就是,某些网页可能没有一开始看的时候那么有价值,直接删掉就好。

对于知识库的写作,往往是在刚经历过该技术,或者在学习过程中就整理了。

不同的文章有不同的写作方式,技术笔记、知识库之类的都是在过程中就记录下来,而《杜架的记录与分享》则是定期写作整理的。

Img

三、发布

通常自己写作的内容会发布到自己的站点和微信公众号。自己站点相对简单,push 到 github 仓库就已经发布成功。

微信公众号则会使用自己写的一个软件tookit中的一个插件 wechat-format 将 markdown 格式转换为公众号格式,然后复制过去发布。

以上是我自己的发布流程,当然你没必要和我一样的流程,wechat-format 插件本身是开源的,直接使用他们也是可以的。我用 toolkit 只是将自己常用的工具集中在一起。

toolkit

Img