更新时间 | 备注 |
---|---|
2023-02-26 | 增加更多判断逻辑, 比如上一行是列表,当前行也是列表,则按正常缩进计算 |
一直以来 yaml-mode 都有一个问题,在使用 (indent-region (point-min) (point-max))
时已经格式好的内容总是会得到错误的缩进,比如一个简单的配置
test1: "val" test2: - "val1" - "val2" test3: test4: "...
更新时间 | 备注 |
---|---|
2023-02-26 | 增加更多判断逻辑, 比如上一行是列表,当前行也是列表,则按正常缩进计算 |
一直以来 yaml-mode 都有一个问题,在使用 (indent-region (point-min) (point-max))
时已经格式好的内容总是会得到错误的缩进,比如一个简单的配置
test1: "val" test2: - "val1" - "val2" test3: test4: "...
上一次迁移博客系统还是在上一次。。。 哈哈,不开玩笑,上次迁移大概还是在七年前(2015.10), 不知不觉我的博客也建立快八年时间,如果算上动态博客可能都快十年了,虽然也没写多少篇(其实本地草稿都攒了快200篇了, 也没好好整理), 但好歹可以记录自己的生活和想法,之前使用的博客系统是基于
Python
的Pelican
, 此次将博客迁移至 snow —— 一个轻量,简洁的基于Go开发的静态博客生成器
[X]
内容文件(.md、.org、.html)
[X]
静态文件(.css、.js、.scss等)
[X]
配置文件(pelicanconf.py ->...
shortcode,直译过来就是 短代码。 使用过 hugo 的人对此也一定有所了解,shortcode 允许用户使用部分关键参数就可以在文章内部插入设置好的HTML模版内容,而不用写大段的HTML代码,比如插入指定视频或者音乐,使用 shortcode 之前需要使用 iframe
<iframe frameborder="no" border="0" marginwidth="0" marginheight="0...
最近购买了一个2K显示器,到手后才发现macos默认对2K分辨率支持不足,导致字体很小,无法像windows对字体进行缩放,尤其是终端字体,简直不忍直视。网上一搜才知道,这已经是陈年问题,网上也有很多解决办法,本次采用 BetterDisplay 开启 HiDPI, 不用关闭 SIP
安装可以直接从 BetterDisplay 下载,手动安装,不过我推荐使用 brew 安装,这样对于软件的管理也更方便
──╼ brew info BetterDisplay ==> betterdisplay: 1.3.4 (auto_updates...
前两天双11,终于是给自己配了人生中的第一台台式电脑,从毕业后就一直想要一台属于自己的机器(游戏机),犹记得人生中的第一台电脑还是上大学时买的,虽然只是3000多,720m的显卡,但它陪伴了我6年多时间,曾经使用它学习编程,娱乐,算是我的导师和娱乐伙伴,后来毕业后才购买了一台macbook pro,一直陪伴我至今。
配件 | 型号 | 价格 |
---|---|---|
CPU | 12600KF | 1535.65 |
主板 | 微星B660M迫击炮WIFI | / |
显卡 | 七彩虹3070 ULTRA W | 4490.7(+主板) |
电源 | 海韵GX750 | 627.7 |
机箱... |
一个简单却可配置的静态博客生成器。 很早之前(三年前)就想写一个静态博客生成器,但苦于一直没有时间,最近把之前写的重构了一下,让其可以支持更多的定制化配置。
至于为什么要重新写一个:
大概是因为想要把之前未完成的轮子补充完整
我目前使用的博客系统使用的是 pelican,一个基于 Python 的静态博客生成器,目前里面包括了很多我自己写的插件,比如
Emacs org mode
的支持、文章加密、模版定制等,因为需要大量遍历所有文章,导致生成速度越来越慢,还有一点就是因为使用的是 Python,每次本地预览时都需要切换到虚拟环境我习惯使用 Emacs + Org,除了前期的几篇文章,后面都是使用 org...
在使用 evil-ex,也就是冒号+命令时,有一个非常有趣的功能,输入冒号后,minibuffer 会显示上一次执行的命令,比如
:wq
, 确认可以直接执行这个命令,但是输入任意字符,就会把原先的wq
直接覆盖,接收新的命令输入
我觉得这是一个非常有趣且有用的功能,像 read-string
函数,如果我想要一个默认的输入,可以直接使用
(let ((input (read-string "prompt: " "默认内容"))) (message input))
但我想覆盖这个默认...
一个简单的插件,可以在文件创建时自动插入文件头,或者文件更新时自动更新文件头信息,虽然已经用了好几年,这次把相关代码提取并精简一下做成了插件 maple-header
(use-package maple-header :quelpa (:fetcher github :repo "honmaple/emacs-maple-header") :hook (after-init . maple-header-mode))
git clone https://github.com/honmaple...
尝试了几种方式, 算是找到了一个比较方便的清理docker registry的方式
两年前分给了 docker registry 1T的磁盘,虽然有预感磁盘空间会被用完, 没想过能够坚持这么久。 而且期间一直想把 registry 迁移到 harbor,也能对不同账户的权限进行分配和限制,但几百G的磁盘占用也不好迁移,所以一直被耽搁(迁移方式都准备好了 https://blog.k8s.li/docker-registry-to-harbor.html)
registry garbage-collect --dry-run /etc/docker...
生成密码
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"
生成hash值
docker run --rm --entrypoint htpasswd httpd:2 -Bbn username password >> auth
nginx.ingress.kubernetes.io/auth...
首先下载flutter包, 解压到 ~/repo
目录,并配置 ~/.bashrc
export PATH=$PATH:$HOME/repo/flutter/bin
source ~/.bashrc
使其生效
注意:首次运行flutter,macos可能会提示无法打开dart,需要到
系统偏好 -> 安全性与隐私
点击允许
└──╼ flutter --version Flutter 2.2...
virt-install --name gns3 --memory 8192 --vcpus 4 --disk /home/kvm/GNS3/GNS3VM-disk001.qcow2 --disk /home/kvm/GNS3/GNS3VM-disk002.qcow2 --import --virt-type kvm --os-type linux --os-variant ubuntu18.04 --network...
提供商 | IPv4 | IPv6 | DoH/DoT |
---|---|---|---|
百度DNS | 180.76.76.76 | 2400:da00::6666 | |
阿里DNS | 223.5.5.5,223.6.6.6 | 2400:3200::1,2400:3200:baba::1 | dns.alidns.com |
谷歌DNS | 8.8.8... |
有时候总是忍不住思考
我是不是把自己隐私保护的太好
以至于在这个时代
一个最好也是最坏的时代
感到那么的不适应
...
首先使用工具 2to3 转换
2to3 目录名 -w -n
问题:
如果在python2项目里使用了python3的写法,比如在 python2 里的 print("test")
, 使用 2to3 就会转换成
print(("...
环境: macOs big Sur 11.2.2
pyenv: 1.2.23
┌─[jianglin]─[~/repo/golang/src/alarm](master) └──╼ pyenv install 3.6.7 python-build...
package main import ( "encoding/json" "reflect" "testing" ) type A struct { A string `json:"a"` B string `json:"b"` C int `...
安装
└──╼ brew install rustup └──╼ rustup-init ...... 1) Proceed with installation (default) 2) Customize installation 3) Cancel installation >1
配置 rust 目录
└──╼ mkdir $HOME/repo/rust └──╼ mv $HOME/.rustup $HOME/repo...
kubectl get svc --all-namespaces | grep -v ClusterIP
kubectl get svc --all-namespaces -o go-template='{{range .items}}{{ $save := . }}{{range.spec.ports}}{{if .nodePort}}{{$save.metadata.namespace}}{{"/"}}{{$save.metadata...
package main import "testing" type InterfaceA interface { AA() } type InterfaceB interface { BB() } type A struct { v int } func (a *A) AA() { a.v += 1 } func BenchmarkTypeSwitch(b *testing.B) { var a =...