指令碼 vnote同步到hexo步驟 博

2021-10-23 01:28:22 字數 4850 閱讀 5613

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還是有很多區別的。因此還是記錄下來。這個什麼新使用者免...