Jekyll版本升级到4.x
作者:nunumick 发布时间:27 Jun 2023 分类: blog
博客多年时间后的又一次更新,源于发现页面代码过于陈旧,assets 资源引入还是 http 协议的,而 github 早就全站切到 https。其实原因是配置文件 _config.yml 里固定了博客 url,修改重新构建就行。不过安装了新版 jekyll,发现变化太大跑不起来……
升级印象
总体比较顺畅,基本上看看文档就行了,不过时间跨度&版本代差太大,现有文档也会缺少参考意义。
比较庆幸的是升级对 post 内容格式是兼容的,主要的改动在 plugins 的升级替换,引入方式有变化但不多。
尝试过想用新版的分类和tags,好像会影响原有的文章路径格式,会造成旧链接 404。所以最好还是采用 _plugins 插件,很可惜 github 因为安全策略仍然不支持自定义插件,最终采用的是 github action 构建来代替原来的本地 grunt 构建再同步。
jekyll serve 比之前更简便了。
另外顺手用 github issues 完成了对 disqus 的替换,用作文章的评论系统。
vim 插件管理和配置升级
作者:nunumick 发布时间:18 May 2023 分类: developer
因为使用 vscode vim 模式较多的缘故,有很长一段时间冷落了 vim 本体。然而近期工作中深感 vscode 占用内存过多,又想起 vim 的好。于是工欲善其事必先利其器,经过一番插件梳理和配置更新,完成了全新 vim 的更替,主要包括:
- 使用 vim-plug 替换 vundle 管理插件
- 引入 coc.vim 支持 typescript 智能补全等高级功能
- 引入 ack.vim,支持全局搜索
- 优化配置文件,确保 mvim gui 与 terminal 中表现一致
插件管理
替换了原来的 vundle 插件系统,精简插件列表,只保留必须的。这里为了体验 code copilot 也引入了 openai 插件。
" Plug Mode
call plug#begin()
" The default plugin directory will be as follows:
" - Vim (Linux/macOS): '~/.vim/plugged'
" - Vim (Windows): '~/vimfiles/plugged'
" - Neovim (Linux/macOS/Windows): stdpath('data') . '/plugged'
" You can specify a custom plugin directory by passing it as the argument
" - e.g. `call plug#begin('~/.vim/plugged')`
" - Avoid using standard Vim directory names like 'plugin'
"editor addons
Plug 'Lokaltog/powerline', {'rtp': 'powerline/bindings/vim/'} "statusline
Plug 'scrooloose/nerdtree'
Plug 'scrooloose/nerdcommenter'
Plug 'Lokaltog/vim-easymotion'
Plug 'mileszs/ack.vim'
Plug 'kien/ctrlp.vim'
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'yegappan/mru'
Plug 'airblade/vim-rooter'
"code addons
Plug 'pangloss/vim-javascript'
Plug 'leafgarland/typescript-vim'
Plug 'maxmellon/vim-jsx-pretty'
Plug 'ap/vim-css-color'
Plug 'cakebaker/scss-syntax.vim'
Plug 'rakr/vim-one'
"labs
" ./install.sh script will automatically install openai-python
Plug 'madox2/vim-ai', { 'do': './install.sh' }
call plug#end()
小学阶段育儿体会,如何成为更好的父母
作者:nunumick 发布时间:14 Feb 2023 分类: life
再过一段时间,女儿琪琪就六年级了,马上就将结束小学的学习阶段,踏上新的征程。作为父亲,一路看着她从一个小小的模样渐渐长大、渐渐成熟、懂事、独立自主,一路相互陪伴,在感受时光荏苒的同时,又甚感温暖和欣慰。每个孩子都是父母的宝贝,说起对孩子的教育,相信每个家庭都会有一套自己的方法,我们也是一样。
父母是孩子第一任老师,回想初为人父的感受,除了喜悦和幸福之外,也是惶恐的,毕竟作为新手,不知道如何做好爸爸/妈妈的角色,这种感受直到现在都还会有,因此也会经常去补充育儿方面的知识,但很难说有一成不变的、必定成功的教育方法,因为每个孩子都是独立的个体,阶段不同、所处环境不同,对待孩子教育的方法也会不一样,我们好像一直是在矛盾中、错误中不断修正自己,努力做好父母的角色。这当中有自认为做的好的,也有做的相当糟糕之处。与其说是育儿心得,不如说是一些我们与孩子在共同成长的过程中真实的经历、总结与感悟。
陪伴的重要性
最初,我们是典型的三口之家结构。由于工作的原因,我和她的妈妈都没有太多的时间与精力去照顾琪琪。在上幼儿园前的几年里,琪琪大部分时间是在老家度过,由爷爷奶奶或外公外婆共同抚养。在熬过了这段艰难的时光之后,我们把她接到杭州共同生活,外婆也一同过来帮忙负责起我们的生活起居。在琪琪8岁的时候,收获了她的弟弟:球球。
树莓派基础运维小记
作者:nunumick 发布时间:12 May 2020 分类: developer
朋友送了一个树莓派设备,正好最近在捣鼓 homebridge ,可以用这块微型计算机做智家互联的本地中心服务。
安装
树莓派系统的安装参照文档进行就可以了,需额外配置一张 MicroSD 卡作为系统盘。由于我的机型 3B+ 系统内存只有 1GB,建议安装的是 32 位操作系统。系统准备好之后在 /boot 目录下创建 ssh 文件开启 ssh 服务。
# 默认用户: pi
# 默认密码: raspberry
ssh pi@ip_address
密码一定要改,本机 ip 也可以用以下命令查看
hostname -I
可以选择开启 WIFI,配置文件如下
# 配置文件
pi@raspberrypi:~ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
# /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CN
network={
ssid="wifi-ssid"
scan_ssid=1
psk="wifi-pwd"
key_mgmt=WPA-PSK
}
# test
pi@raspberrypi:~ $ ifconfig wlan0
标签:
raspberry
,
homebridge
,
linux
<<< EOF
JS 异步编程之四:理解异步函数(AsyncFunction)
作者:nunumick 发布时间:10 Sep 2017 分类: front-end
有了前序内容的了解,再来看 async 函数和 await 关键字,会更容易理解他们的本质。
官方 demo 代码:
/**
* case from mdn
*/
function resolveAfter2Seconds(x) {
return new Promise((resolve) => {
setTimeout(() => {
resolve(x);
}, 2000);
});
}
async function f1() {
const x = await resolveAfter2Seconds(10);
console.log(x); // 10
}
f1();
新的武器
使用 async & await 处理之前的代码,替换 generator 和 yield,async 函数等价于自带 co 执行器的 generator 函数。
标签:
javascript
,
es2017
,
async
,
await
<<< EOF