123
4567
cd /home/john/文件/vnote_notebooks/vnote
conda activate py35
python md2hexo.py $(ls -i _v_recycle_bin)
變更部分比對
gitk:驗證只有檔案頭部被修改
或者:meld .
123
4567
891011
1213
刪除原內容
rm ~/my_hexo/source/_posts/*
rm ~/my_hexo/source/images/*
切換到臨時目錄
cd ~/my_tmp
rm md_file_loc.txt tmp_png/* tmp_png_choose.txt tmp_png.txt
所有含有[博]的md檔案絕對路徑寫到md_file_loc.txt
find ~/文件/vnote_notebooks/vnote/ -path ~/文件/vnote_notebooks/vnote/_v_recycle_bin -prune -o -name "*\[博\].md" -print > md_file_loc.txt
md檔名含有擴號的需要轉義
sed -i 's/(/\\(/g;s/)/\\)/g' md_file_loc.txt
將md檔案copy到surce/_post資料夾
awk -v to="/home/john/my_hexo/source/_posts/" '' md_file_loc.txt
123
4567
89
所有檔案絕對路徑寫到tmp_png.txt
find ~/文件/vnote_notebooks/vnote/ -path ~/文件/vnote_notebooks/vnote/_v_recycle_bin -prune -o -regex ".*\.jpg\|.*\.png" -print > tmp_png.txt
所有cp到my_tmp/tmp_png中
mkdir tmp_png
awk -v to="/home/john/my_tmp/tmp_png/" '' tmp_png.txt
從md中提取md涉及的檔名
awk -f / -v patten="'[0-9_]+\.png'" -v mdpath="/home/john/my_hexo/source/_posts/" '' md_file_loc.txt > tmp_png_choose.txt
將涉及到的檔案copy到source/images中
awk -v from="./tmp_png/" -v to="/home/john/my_hexo/source/images/" '' tmp_png_choose.txt
123
4
image的路徑替換
awk -f / -v newpath="/home/john/my_hexo/source/_posts/" -v sedcmd="'s//images/\\\\/images/g'" '' md_file_loc.txt
image後尺寸控制的替換(hexo不支援尺寸控制)
awk -f / -v newpath="/home/john/my_hexo/source/_posts/" -v sedcmd="'s/ =[0-9]\+x)/)/g'" '' md_file_loc.txt
1
cd ~/my_hexo;hexo g && hexo deploy
需要加密的文件新增password欄位
從第二步開始(第一步和發布無關,屬於vnote格式自整理)
指令碼目的,將vnote格式的md檔案,統一copy到hexo檔案路徑(md檔案+檔案)
$1:vnote筆記目錄,比如:/文件/vnote_notebooks/vnote
$2:hexo的source資料夾位置,比如:/my_hexo/source(會刪除此資料夾下的_posts/和images/下的內容)
$3:*[部落格].md
命令:./xx.sh ~/文件/vnote_notebooks/vnote ~/my_hexo/source 「*[部落格].md」
123
4567
891011
1213
1415
1617
1819
2021
2223
2425
2627
2829
3031
3233
3435
36
echo "刪除hexo部落格下的資料夾_posts,images"
rm ~/my_hexo/source/_posts/*
rm ~/my_hexo/source/images/*
# 建立臨時目錄
echo "建立臨時目錄"
mkdir -p ~/tmp_hexo/tmp_png/;cd ~/tmp_hexo
# 需發布到hexo檔案路徑寫到md_file_loc.txt中,並且生成copy命令列表
echo "生成hexo的檔案copy命令"
find ~/文件/vnote_notebooks/vnote/ -path ~/文件/vnote_notebooks/vnote/_v_recycle_bin -prune -o -name "*\[博\].md" -print | grep -v total > md_file_loc.txt
sed -i 's/(/\\(/g;s/)/\\)/g' md_file_loc.txt
awk -v to="/home/john/my_hexo/source/_posts/" '' md_file_loc.txt
# 將hexo檔案中的位址,提取到md_file_loc.txt中
echo "hexo檔案中的位址,提取到md_file_loc.txt中"
find ~/文件/vnote_notebooks/vnote/ -path ~/文件/vnote_notebooks/vnote/_v_recycle_bin -prune -o -regex ".*\.jpg\|.*\.png" -print | grep -v total > tmp_png.txt
awk -v to="/home/john/my_tmp/tmp_png/" '' tmp_png.txt
awk -f / -v patten="'[0-9_]+\.png'" -v mdpath="/home/john/my_hexo/source/_posts/" '' md_file_loc.txt | grep -v total > tmp_png_choose.txt
awk -v from="./tmp_png/" -v to="/home/john/my_hexo/source/images/" '' tmp_png_choose.txt
# 替換檔案路徑(vnote位於/images下,而hexo位置為images)
echo "替換檔案路徑"
awk -f / -v newpath="/home/john/my_hexo/source/_posts/" -v sedcmd="'s//images/\\\\/images/g'" '' md_file_loc.txt
awk -f / -v newpath="/home/john/my_hexo/source/_posts/" -v sedcmd="'s/ =[0-9]\+x)/)/g'" '' md_file_loc.txt
# 刪除臨時目錄
echo "刪除臨時目錄"
rm md_file_loc.txt tmp_png.txt tmp_png_choose.txt
rm -rf tmp_png/*
# 發布到hexo
echo "發布到hexo"
cd ~/my_hexo;hexo g && hexo deploy
echo "完成"
基於vnote的自動發布
將vnote中的符合條件的文章(.md檔案),複製到hexo/source/_posts/,
符合條件的md文章裡面涉及的,複製到hexo/source/images/
使用方法:
1
./vnote2hexo.sh ~/文件/vnote_notebooks/vnote ~/my_hexo/source "*發布*.md"
大概執行路徑:
find
vnote筆記本路徑:~/文件/vnote_notebooks/vnote
找出其中文明名符合:」發布.md」
的md檔案,將其copy到
hexo的source資料夾(路徑):~/my_hexo/source/_posts/(後面的_posts指令碼寫死的)
同時,符合條件的md檔案裡面的.png,.jpeg等檔案會複製到
hexo的source資料夾(路徑):~/my_hexo/source/images/(後面的images指令碼寫死的)
**行數不多,但是較難看懂,主要是awk語法使用較多,其中很多涉及多次轉義的字元
參考本部落格博文:指令碼_vnote同步到hexo步驟[博](自行搜尋)
同步檔案到本地FTP指令碼
同步公網兩台資料庫伺服器的備份包回到本地的ftp伺服器上面,本地伺服器具備免金鑰登入公網的兩台伺服器。bin bash creation date 2011 07 06 auther wubolu rq date y m d scp root 61.45.18.103 home databack 1...
Hexo部落格多端同步問題
搭完部落格,發現只有公司電腦上有原始檔,如果回家就沒發繼續更新部落格了。也不能拿著u盤到處拷貝。所以就把部落格原始檔放到github上解決同步問題。在部落格根目錄執行 git init git remote add origin git github.com lanpangzhi lanpangzh...
hexo部署到阿里雲
因為最近工信部在查空殼備案,我有點懶,怕再次備案,正好因為之前的伺服器是放在南韓的aws上,響應有點慢,正好趁著這個機會,遷回來。本來是不想寫這個blog的,因為我本來就寫了一篇部署到aws上的bloghexo部署到aws。但是無奈阿里雲和aws還是有很多區別的。因此還是記錄下來。這個什麼新使用者免...