借助pandoc完成markdown转docx

借助 pandoc 我们可以轻松将 markown 文件转化为 docx 文件:

1
pandoc -o output.docx -f markdown -t docx filename.md

论文阅读:SiamPF

Git修复Unicode字符无法正常显示的问题

1
git config --global core.quotePath false

Linux关闭所有显示器

1
xset -display :0.0 dpms force off

Git编辑之前的某个commit

1
2
3
4
5
git rebase --interactive a67f56^
git rebase --interactive @~5 # 最近 5 个 commits
git commit --all --amend --no-edit
git rebase --continue
git rebase --abort

静态博客Webhooks部署脚本

1
2
3
4
5
6
7
cd /home/git/blog/blog

git fetch --all # 确保总是可以获取最新的commit
git reset --hard origin/master
hexo g
rm -rf /www/wwwroot/lolimay.cn/*
mv ./public/* /www/wwwroot/lolimay.cn/

踩坑

准备在服务端使用 hexo g 渲染时,出现 Error: spawn pandoc ENOENT 的错误

ENOENT 表示不存在,谷歌后发现 pandoc 是一个 markdown 解析器,在本地电脑上执行 which pandoc 输出为 /usr/bin/pandoc,因此猜测出错原因可能是服务器上缺少相应的 pandoc 可执行文件。

直接使用 yum install pandoc 命令安装后,再次执行 hexo g 仍然出现错误,但是错误的内容变成了 unrecognized option --smart。怀疑是 yum 安装的 pandoc 版本过低。使用 pandoc --version 对比了一下本地与服务器上 pandoc 的版本,本地的版本是 2.0+ 而服务器上才 1.3+。尝试去 Github 上下了一个最新的 pandoc 可执行文件,并把 /usr/bin 中的 pandoc 替换最新版本的 pandoc (2.7),最后终于成功解决了问题。

Git截取一段commits

我们可以通过 cherry-pick 来选取部分 commits:

1
git cherry-pick A^..B

Python导入上级目录的模块

  • 2019年10月1日
1
2
from sys import path; path.append('..')
from utils import config_loader # 这个 utils 是上级目录的

子系统(WSL)中无法修改挂载盘的文件权限?

在 Windows 子系统中,C 盘被挂载到 /mnt/c 目录下,我们在 Windows 中的用户目录在子系统中对应的文件路径就是 /mnt/c/Users/%username% (将 %username% 替换成你自己的用户名)。

Windows 用户目录下的文件和文件夹的权限默认都是 777,这对强迫症来说简直不能忍。让我们用 chmod 来修改它们的权限:

1
chmod 700 -R !(..)

无效!谷歌之,百度之,终获答案。

Step1 创建wsl.conf文件

/etc 目录下创建一个 wsl.conf 文件,添加以下配置:

1
2
3
[automount]
enabled = true
options = "metadata,umask=22,fmask=11"

Step2 在.bashrc中添加以下配置

1
2
3
if [ "$(umask)" = "0000" ]; then
umask 0022
fi

再重复上述步骤,重新修改那些文件和文件夹的权限,成功!

参考链接

  1. Fix Windows Subsystem for Linux (WSL) File Permissions

Linux下普通用户该怎么安装软件

首先明确一点,不是 root 或者不在 sudo 组的用户只能把可执行文件或者相关的库安装到自己的用户目录下,一般建议安装在 /home/username/.local 目录下(当然也可以安装到你有写权限的路径下,记得把这个路径加到 PATH 中即可)。

由于不能使用包管理软件,所有的软件都只能通过编译安装——这真的是无奈之举,编译安装真的费神费力!你在编译的时候可能碰到各种奇怪的问题,如果耐心不好的同学,估计显示器和主机随时都被会扔到楼下去...