跳到主要内容

6 篇博文 含有标签「博客」

查看所有标签

· 阅读需 3 分钟
Seven Wate

依稀记得当初定下的目标,月更博客哈哈哈。不过这几年来陆陆续续只断了一次,想不起来那次断更的原因了。这次好久没更新,其实是在憋大招。

从 18 年正式运营博客开始,时至今日马上迎来第五个年头。无论是技术还是运营都有了长足的进步,不过我还是苦博客久矣……

  • 每次必须要正襟危坐地坐在电脑前才可以输出。
  • 偶尔闪现的灵感纵使通过笔记软件记下后来也是只记得这个灵感的名字了。
  • 周末了,我更是不想打开电脑,再打开 Typora 写文章。
  • 如果因为一些事情,我没有办法使用电脑,那完了更不用提了。
  • 虽然我是运维,但是我不喜欢博客宕机……

综合以上痛点,还有我那舍弃不掉的老友们,所以憋大招研究姿势最重要!

不过综上所述,一定会有人问,为什么不用第三方客户端,为什么不写手机上,为什么不开发个小程序……

我不想回答,我只想说这不是懒,这是极简专注生活,因为不想浪费自己的一丝一毫精力哈哈哈。

目前已经出关了,具体实现方式待我娓娓道来。当下还是先说博客的事情哈哈哈。

草稿箱

  • 这个年纪
  • 遗憾最小化框架 —— 如何做决定
  • 1000 天计划
  • 如何纯粹地活在当下
  • 一命二运三风水
  • 天时地利人和
  • 是非对错
  • 生活导向
  • 如何拍好一张照片(这个已经鸽了一年……不两年了)
  • 还有读书笔记 😭

现在是只记得题目了,少部分还记得灵感,也不是输出这些文章对我来说很难,就是单纯姿势不对。

日后慢慢补上把,毕竟来日方长!

· 阅读需 12 分钟
Seven Wate

上文说到《如何写博客的正确姿势 - 先行版》,今天继续测试版,顾名思义测试版就是想听听各位的意见,避免个人闭门造车,同时进一步改造提升。

我平时不仅仅写文章,还会写技术类博客。但是我一般不会把技术类博客放在 blog 上,因为我觉得如果什么都往博客上放的话,过于混乱而且也不是我的风格,所以我只在 blog 上写日常文章,在 wiki 上写综合体。

关于 blog

blog 是我最早的出发点,也是我与互联网上的博友最紧密的联系点。因为我热爱它,所以更不想去折腾来蒸腾去让它满足我各种奇奇怪怪的要求。

blog 目前采用 halo 搭建,跑在了 docker 上,现在主要负责日常的文章输出、摄影展示、书写日志这三个方面。

摄影和日志页面已经停滞好久了,疫情原因今年没咋出去拍照片,日志则用了另一种方式故弃用。

关于 wiki

因为工作原因,学习原因,所以我平时需要涉及技术方面,要学习新技术,涉猎新知识,写到本本上又不方便检索,放在第三方平台上又不放心,而且没有办法 web 展示和交流。

虽然博客时而写得多写得少,但是 wiki 则是一直输出,今年截至目前为止输出了 150 篇左右技术笔记,30 万字左右。

关于日志

为什么要把日志单独拿出来谈呢,请慢慢看。

nextcloud

上图是我采用 Nextcloud 搭建的一套属于自己的生产力工具,它是我目前工作、学习的核心要素。

  • 仪表:每日一目了然的知道需要处理的事情,很方便很直观。
  • 文件:负责 Linux、Win、Android 之间的工作文件同步及备份。
  • 照片:负责平时摄影的分类、归档、备份。
  • 邮件:7wate.com 域名邮箱,平时基本只在这里处理邮件。
  • 联系人:目前用得比较少,虽然国内也不怎么喜欢用邮件沟通交流,但是我是很喜欢邮件的 ~
  • 日历 + 任务:目前工作、学习中的规划以及代办都基于这两个实现,贼好用哦 ~
  • 新闻:Rss 阅读器。基于我又自建了 RssHub,同时又是 RssHub 贡献者,所以想看什么自己写个爬虫就好,不会有任何的广告啊,乱七八糟的,是目前 90% 以上的信息来源。

虽然这套生产力工作目前被我打磨的得心应手,但是每日复盘及工作记录有点不爽。关于每日复盘和工作记录,我就想咋简单咋来,也不想草草两句话就发在博客上。直至看到了可爱的 DIYgod《基于 Obsidian 的生活记录系统》,瞬间来了灵感。

我是怎么解决这些痛点的

还记得上篇我说的那些痛点么?

  • 每次必须要正襟危坐地坐在电脑前才可以输出。
  • 偶尔闪现的灵感纵使通过笔记软件记下后来也是只记得这个灵感的名字了。
  • 周末了,我更是不想打开电脑,再打开 Typora 写文章。
  • 如果因为一些事情,我没有办法使用电脑,那完了更不用提了。
  • 虽然我是运维,但是我不喜欢博客宕机……

再加上刚才所描述的痛点

  • 想保持 blog 和 wiki 的独立性。
  • 想持续产出博客,不想放鸽子 🙄。
  • 寻求一个好用的日志记录。

基于综上所述,目前采用了 Obsidian + Docusaurus + Git 交叉融合起来的、我认为及其强大、完美、贴合我个人的超级小怪兽 ~

奥里给 🥳🥳🥳

1. 每次必须要正襟危坐地坐在电脑前才可以输出

Obsidian 拥有全平台客户端,而且保持界面一致性。所以彻彻底底解决了这个问题,我工作用桌面端,下班用手机端。吃饭也能写,被窝也能写,甚至 💩 也能写!!!

2. 偶尔闪现的灵感纵使通过笔记软件记下后来也是只记得这个灵感的名字了

关于碎片化的知识目前还在探索,不过已经有对应的生产工具了,体验了一下还不错,先留坑日后再填。

3. 周末了,我更是不想打开电脑,再打开 Typora 写文章

因为我只爱 MarkDown 格式,所以虽然手机能打开网页版 blog,但是这感觉太难受了……

坚决不为工具服务!

4. 如果因为一些事情,长时间没有办法使用电脑,那完了更不用提了

请看上一条 ~

5. 虽然我是运维,但是我真不喜欢博客宕机……

我之前特别喜欢折腾,大言不惭的说,我的博客跑在百万架构上哈哈哈哈哈哈哈哈哈哈哈哈 🤣。

因为我也不喜欢宕机和折腾,所以静态网页是最好的选择。不过静态博客有好多让人无法忍受的缺点好不好?还好都已经统统搞定!🥱

Obsidian + Docusaurus 已经决定 wiki 只能采用静态网页方式实现的了。接着我采用了版本控制、分支合并、持续构建、持续部署这套比较成熟的 IT 生产流程。

  1. 日常采用 Obsidian 进行所有技术类、非技术类、工作日志的写作输出,同时采用 Git 进行版本控制。

  2. 通过使用 Git 作为版本控制,利用分支功能,目前衍生出四个分支:master、dev、pc、pp 分支。

    • master 分支:发布分支,平时 wiki 的 web 版本由此构造。
    • dev 分支:测试分支,进行 pc、pp 分支的日常合并,wiki 预览版基于此构造。
    • pc 分支:桌面端分支,主要使用 Windows + Linux 进行写作。
    • pp 分支:移动端,主要使用 Android 进行写作,使用 MGit 进行同步。
  3. 日常多分支并行前进,每周日早上 2 点,dev 分支会自动对 pc&pp 分支进行快进合并。同时构建 dev 预览测试版,构建成功后对网站进行测试并报告。

  4. 如果 dev 合并产生冲突、或构建失败,则会提醒我进行手动合并。如果我不主动打断合并,就等待执行下一步。

  5. 最后周一早上 2 点 master 分支将会快进合并 dev 分支,自动进行网站构建并且刷新 CDN。

综上所述,我利用上述工具 + 流程就可以全平台、全天候、进行持续高效的产出了。虽然有折腾的嫌疑,但是绝对不瞎折腾

这套具有高通用、高效率、高容错的特定,让我可以无惧任何服务器的维护、忒涩社徽的封禁、随时随地的书写发布了。

博客

6.想保持 blog 和 wiki 各自的独立性

因为 wiki 承载着我所有的知识笔记、文章、日志记录,所以我就可以像挑衣服一样选择写好的文章,记录好的日志,稍加修改就可以输出到 blog。

主要我越来越不喜欢在 blog 上写技术文章了,感觉是 ONO 影响的,打钱!🤯

这样就满足我对博客独立性的要求了 ~

7.寻求一个好用的日志记录

好了,我又来激动的 BB 了哈哈。

还记得小时候写流水账日记,今天天气巴拉巴拉,干了啥巴拉巴拉,但是现在我就想这样写日志,因为我喜欢哈哈哈。

日志-1

日志-2

在 Obsidian 下,我利用第三方 Templater 插件快速生成子弹笔记。这是真的好用,我都激动哭了 😭。

在右侧日历页面,点击周数就可以快速生成周报,点击日期则可以快速生成日报。利用模板工具就可以快速生成今日信息,今日诗词、今日摄影作品。

然后可以记录一下今天完成的 Todo List,最后再说一些有的没的,总之很香哦 ~

就是这个 Templater 插件,我还可以快速生成博客、技术笔记。

最后最后

打磨这套工具费了我不少心思,第一要性还是为了让我更好的书写博客。也许你会觉得,改变一下我的习惯会有更多比这简单的方式,不至于这么繁琐。

但是我认为这些工具都是要为我所用的,就如我觉扫地机器人它就应该自己学会倒垃圾、换水、充电,否则他就不是一个合格的机器人。我要坚持拥有自己的个性和适合自己的生活方式。

感谢你看到最后 😏,看都看完了,提个建议再走呗 ~

· 阅读需 7 分钟
Seven Wate

Docusaurus 是一款静态站点生成器。 可以搭建带有快速客户端导航的单页应用,充分利用了 React,让你的网站具有交互能力。 它提供了开箱即用的文档功能,不过也可用于搭建各种网站:个人网站、产品、博客、营销主页等等。

当下个人知识的整理归纳已经及其重要了,废话不多说。可以先体验一下我的个人 wiki:https://wiki.7wate.com/ ,相信我你一定会爱上它!

安装

因为中国官网文档更新相对滞后,所以这里推荐使用英文官网,进入后选择中文

环境

初始化

使用命令行工具可以帮助你快速简单地安装 Docusaurus 并搭建网站框架。 你可以在空仓库或现有仓库的任何地方运行这个命令,它会创建一个包含模板文件的新目录。

npx create-docusaurus@latest my-website classic

项目结构

命令行工具成功运行后,你将会在新目录 my-website/ 下看到下列文件:

my-website
├── blog
│ ├── 2019-05-28-hola.md
│ ├── 2019-05-29-hello-world.md
│ └── 2020-05-30-welcome.md
├── docs
│ ├── doc1.md
│ ├── doc2.md
│ ├── doc3.md
│ └── mdx.md
├── src
│ ├── css
│ │ └── custom.css
│ └── pages
│ ├── styles.module.css
│ └── index.js
├── static
│ └── img
├── docusaurus.config.js
├── package.json
├── README.md
├── sidebars.js
└── yarn.lock
  • /blog/:包含博客的 Markdown 文件。

  • /docs/:包含文档的 Markdown 文件。

  • /src/:如页面或自定义 React 组件一类的非文档文件。

    • /src/pages - 所有放在此目录中的 JSX/TSX/MDX 文件都会被转换成网站页面。
  • /static/ - 静态目录。

  • /docusaurus.config.js - 站点配置文件。

  • /package.json - Docusaurus 网站是一个 React 应用。 你可以安装并使用任何 npm 包。

  • /sidebars.js - 由文档使用,用于指定侧边栏中的文档顺序。

运行网站

cd my-website
npm run start

默认情况下,浏览器会自动打开 http://localhost:3000 的新窗口。

站点首页

项目构建

npm run build

网站内容会被生成在 /build 目录中,随后可以被上传到 GitHub PagesVercelNetlify 等静态网页托管服务。

配置

配置文件为项目目录下 docusaurus.config.js,配置字段官方文档:点击打开

一定要参考官方文档,因为项目组贡献者有一位厉害的中国大学生,所以中文文档更新很及时。

设置中文

docusaurus.config.js 中找到 i18n 配置节点,如下是原配置(其实看得懂英文就知道咋改 🤣):

// Even if you don't use internalization, you can use this field to set useful
// metadata like html lang. For example, if your site is Chinese, you may want
// to replace "en" with "zh-Hans".
i18n: {
defaultLocale: 'en',
locales: ['en'],
},

修改为如下配置设置为中文:

i18n: {
defaultLocale: "zh-Hans",
locales: ["zh-Hans"],
},

搜索

在使用官方插件中 Algolia DocSearch 搜索时候,会有几率踩坑,可以参考我的部署经验。

  1. 正确启用 sitemap 插件,参考文档:sitemap 插件
  2. 正确启用 Algolia DocSearch 插件,参考文档:Algolia DocSearch 插件
  3. 构建项目,确认插件是否显示

注册账号

Algolia官网 注册账号后,打开控制台新建数据源,填写数据名(后面会用到),并选择免费计划。

新建数据源

免费计划

获取 API keys

控制台打开设置页面,点击 API keys,拷贝 Application ID、Search-Only API Key、Admin API Key

打开密钥页面

Key 页面

配置 docusaurus

打开项目配置文件 docusaurus.config.js,填写如下配置:

module.exports = {
// ...
themeConfig: {
// ...
algolia: {
apiKey: "Search-Only API Key",
appId: "Application ID",
indexName: "数据源名称",
},
}
}

推送数据

由于 Algolia 限制开源项目才可以免费试用爬虫,所以我们要自己推送数据。需要如下环境:

  • Docker(谷歌一堆安装教程)
  • jq(使用包管理器直接安装)

环境安装好以后,按照如下步骤操作:

  1. 新建 .env 文件(键值不带双引号)
APPLICATION_ID=Application ID
API_KEY=Admin API Key
  1. 新建 docsearch.json(爬虫配置文件)
{
"index_name": "wiki",
"start_urls": [
"https://wiki.7wate.com/" # wiki 网址
],
"sitemap_urls": [
"https://wiki.7wate.com/sitemap.xml" # sitemap.xml 地址
],
"stop_urls": [
"/search",
"/v3me",
"/playground",
"/inspector"
],
"sitemap_alternate_links": true,
"selectors": {
"lvl0": {
"selector": "(//ul[contains(@class,'menu__list')]//a[contains(@class, 'menu__link menu__link--sublist menu__link--active')]/text() | //nav[contains(@class, 'navbar')]//a[contains(@class, 'navbar__link--active')]/text())[last()]",
"type": "xpath",
"global": true,
"default_value": "Documentation"
},
"lvl1": "header h1",
"lvl2": "article h2",
"lvl3": "article h3",
"lvl4": "article h4",
"lvl5": "article h5, article td:first-child",
"lvl6": "article h6",
"text": "article p, article li, article td:last-child"
},
"strip_chars": " .,;:#",
"custom_settings": {
"separatorsToIndex": "_",
"attributesForFaceting": [
"language",
"version",
"type",
"docusaurus_tag"
],
"attributesToRetrieve": [
"hierarchy",
"content",
"anchor",
"url",
"url_without_anchor",
"type"
]
},
"js_render": true,
"nb_hits": 856
}
  1. 运行 Docker
docker run -it --env-file=.env -e "CONFIG=$(cat docsearch.json | jq -r tostring)" algolia/docsearch-scraper

image-20220727191725309

如果数据抓取异常,推送到 algolia 的索引条目过少。可以尝试多次运行 Docker,即可解决。至于为什么我也不知道,反正就能搞定 ~

总结

如果想要稳定运行项目,请务必一定仔细阅读官方文档。官方文档维护的相当好,主要就是 algolia 搜索哪里,刚开始很容易无从下手……

因为被 Docusaurus 官方 Showcase 收录了,所以产出一篇文章推广一下 ~

更多优秀 Docusaurus 站点请访问:展示站点

· 阅读需 1 分钟
Seven Wate

年初的时候就粗略统计了一下,快要突破十万字了。还想着十万字的时候浪漫一下子 ~ 但是现在也没有太大的感觉。在我求学期间我很烦写文章的,基本就是最低分和极少数情况下的近满分,想不到运营博客这第五个年头也是破十万字了。

统计图

统计可能有出入吧,但是因为一些事自己也删了好多文章。十万字是一定有的!

希望在投胎之前突破一百万字哈哈哈

· 阅读需 3 分钟
Seven Wate

也是看到友博的文章《正经人谁写博客》,然后翻阅了一下近两个月来的博客流量访问数据。今年年初也是被纳入了几个订阅合集,分享讨论一下关于个人博客流量。

目前主要维护的网站有三个,分别是站点首页、个人博客、知识维基。其中两个网站做了流量统计,实际看来还是较惨的……

经常来逛的老朋友可能没有关注过站点首页,顶级域名是做了一个站点导航,博客则是二级域名。

首页

趋势分析

来源分类

地区

站点首页的数据及其惨淡,可以说无人问津……

大多可能是自己或者老朋友,大学同学来逛的比较多。

说来也是有趣,很多友博可能想不明白为什么我的顶级域名是 7wate.com,说来话长。因为大学同学说我脑子瓦特掉了,然后 wate.com 这个域名又被注册了,然后选一个幸运数 7,主域名就这样来了 ~

博客

趋势分析

来访域名

地区

终端

移动端

搜索引擎

总的趋势来说,主要流量来源于今年加入了一些订阅合集,剩下的就归功于友博了哈哈,蹭着你的每日金句也是掌握了流量密码哈哈 ~

从来访地区来看,北上广深杭这些一线城市最多。

桌面端的话,MS 还是老大,零零散散还有些许 Linux。话说我也想尝试换成 Linux 工作,MS 真得是槽点满满!

移动端还是 iphone 居多,紧接着是华为和小米,跟手机销量排行基本相同。

百度现在基本可以正确检索了,完全 ok,所以目前是不再打算做访客信息统计了。

最后引用友博的标题《博客的本质是电线杆子,所以难免会遇到乱尿的》,欢迎大家来”尿“

哈哈哈哈哈哈哈哈哈哈哈哈

· 阅读需 3 分钟
Seven Wate

最近闲来无事(其实真的不能说自己闲,有毒……),便想着用 Python 分析一下博客文章关键字,看看平时博客主要写了些什么,能不能从中探寻到什么?

如何使用

项目地址:https://git.7wate.com/zhouzhongping/BlogWordCloud

  1. 克隆项目到本地

  2. 爬取或拷贝数据至 data 目录

  3. 运行 index.py

具体细节请阅读项目 README

莫比乌斯

WordCloud.jpg

我的词云图

WordCloud

  • 如果、所以:习惯性使用连词,看来我说话还是比较有逻辑的 🙄
  • 需要、感觉:看来平时博客还是流露了不少情绪在里面 🤐
  • 我们、事情、工作:平时还是挺喜欢社交和工作的 🤓
  • 可以、就是:联系平时经常说这话的语境,可以看得出自己还是有一定能力的 😎
  • 自己、一个:我是独狼哈哈 😩
  • 可能、因为:果不其然,我还是比较喜欢联想和猜测的 😛
  • 问题、但是:我确实比较喜欢表述自己的观点,这点还需要进步 😶
  • 不过、已经、没有:联想语境上下文、对待事情还是比较中肯?🤔

一个一个解读关键字,挺有趣的哈哈。

这些关键字结合具体实际情况,确实能映射出自己的主要性格,还是挺有用的哈哈 😈

有点点水文章的意思,确实是水了。但是不想拖到明天再写了……

哈哈,关于项目如果有什么问题可以留言、提 issue 、发送邮件(微信实时 🎉🎉🎉)。

刚开完会,我觉得下班开会,还有开会说废话巨傻逼,简直就是在浪费生命!!!

忙了一整天,有点累有点累……

我要回家拥抱大床了,奥里给 ~