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 的替换,用作文章的评论系统。

(Read more ...)

标签: jekyll , blog , github
<<< EOF

vim 插件管理和配置升级

作者:nunumick 发布时间:18 May 2023 分类: developer

因为使用 vscode vim 模式较多的缘故,有很长一段时间冷落了 vim 本体。然而近期工作中深感 vscode 占用内存过多,又想起 vim 的好。于是工欲善其事必先利其器,经过一番插件梳理和配置更新,完成了全新 vim 的更替,主要包括:

  1. 使用 vim-plug 替换 vundle 管理插件
  2. 引入 coc.vim 支持 typescript 智能补全等高级功能
  3. 引入 ack.vim,支持全局搜索
  4. 优化配置文件,确保 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()

(Read more ...)

标签: vim , coc , ack
<<< EOF

小学阶段育儿体会,如何成为更好的父母

作者:nunumick 发布时间:14 Feb 2023 分类: life

再过一段时间,女儿琪琪就六年级了,马上就将结束小学的学习阶段,踏上新的征程。作为父亲,一路看着她从一个小小的模样渐渐长大、渐渐成熟、懂事、独立自主,一路相互陪伴,在感受时光荏苒的同时,又甚感温暖和欣慰。每个孩子都是父母的宝贝,说起对孩子的教育,相信每个家庭都会有一套自己的方法,我们也是一样。

父母是孩子第一任老师,回想初为人父的感受,除了喜悦和幸福之外,也是惶恐的,毕竟作为新手,不知道如何做好爸爸/妈妈的角色,这种感受直到现在都还会有,因此也会经常去补充育儿方面的知识,但很难说有一成不变的、必定成功的教育方法,因为每个孩子都是独立的个体,阶段不同、所处环境不同,对待孩子教育的方法也会不一样,我们好像一直是在矛盾中、错误中不断修正自己,努力做好父母的角色。这当中有自认为做的好的,也有做的相当糟糕之处。与其说是育儿心得,不如说是一些我们与孩子在共同成长的过程中真实的经历、总结与感悟。

陪伴的重要性

最初,我们是典型的三口之家结构。由于工作的原因,我和她的妈妈都没有太多的时间与精力去照顾琪琪。在上幼儿园前的几年里,琪琪大部分时间是在老家度过,由爷爷奶奶或外公外婆共同抚养。在熬过了这段艰难的时光之后,我们把她接到杭州共同生活,外婆也一同过来帮忙负责起我们的生活起居。在琪琪8岁的时候,收获了她的弟弟:球球。

(Read more ...)

标签: family , education , children , parent
<<< EOF

树莓派基础运维小记

作者: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

(Read more ...)

标签: 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 函数。

(Read more ...)

标签: javascript , es2017 , async , await
<<< EOF