最好的Markdown編輯器

寫(xiě)文章寫(xiě)博客做筆記最好的當(dāng)然是Markdown,但用什么軟件寫(xiě)Markdown最爽?VScode?Typora?MarkdownPad?都已經(jīng)OUT了!我多年來(lái)撰寫(xiě)了上百萬(wàn)字,可以說(shuō)是老Markdowner了,今天我誠(chéng)實(shí)的告訴大家,最好的還是Jupyter Notebook!

最佳博客建站工具

現(xiàn)代化的寫(xiě)作工具不是要好安裝,而是應(yīng)該可以不安裝,隨時(shí)可用,打開(kāi)就寫(xiě)字?!珪r(shí)在線的網(wǎng)頁(yè)版編輯器才行!

現(xiàn)代化的寫(xiě)作工具不僅要能編寫(xiě),而是應(yīng)該還可以發(fā)布,可以隨時(shí)分享給其他人閱讀?!阈枰牟粌H是編輯器,還要是建站工具!

隨時(shí)隨地,打開(kāi)就寫(xiě)作,換電腦也無(wú)所謂,手機(jī)上都能行!

不需要任何繁瑣的設(shè)置或額外的工具,一個(gè)命令就能發(fā)布到自己的博客網(wǎng)站,讓全世界都可以看到!

真有這么神奇的工具?

請(qǐng)保持一點(diǎn)耐心,跟我一起,花20分鐘徹底解決你的Markdown寫(xiě)作工具的煩惱!

流程步驟概要

結(jié)果注定是誘人的,但還是要提前告訴你所需的一切,如果你害怕挑戰(zhàn)或者過(guò)于吝嗇金錢(qián),那么你可以在這里就考慮止步。

  • 你需要購(gòu)買(mǎi)一臺(tái)云服務(wù)器,你的專屬在線編輯器和用來(lái)發(fā)布作品的博客網(wǎng)站都需要它。阿里云新人價(jià)年費(fèi)不到100,騰訊云可能更便宜。

  • 你需要了解一點(diǎn)基本的IT知識(shí),比如文件目錄、IP地址、端口之類,當(dāng)然跟著我直接操作也能實(shí)現(xiàn)目的。

  • 你需要聽(tīng)說(shuō)過(guò)Python,盡管只需要用到一句代碼來(lái)生成和發(fā)布頁(yè)面,但我不能說(shuō)成不需要編程知識(shí)。

購(gòu)買(mǎi)服務(wù)器

我們以阿里云為例,使用支付寶注冊(cè)登錄后,直接進(jìn)入他們的【開(kāi)發(fā)者成長(zhǎng)計(jì)劃】?jī)?yōu)惠頁(yè)面。

https://developer.aliyun.com/plan/grow-up

在這里往往有最優(yōu)惠的服務(wù)器ECS產(chǎn)品,年費(fèi)不到100元。推薦購(gòu)買(mǎi)2核2G或者更高配置。

購(gòu)買(mǎi)時(shí)候請(qǐng)注意下面幾點(diǎn),其他都默認(rèn)設(shè)置。

  • 操作系統(tǒng)選CentOS(個(gè)人撰寫(xiě)使用)或者Ubuntu(小團(tuán)隊(duì)撰寫(xiě)使用),這里我選的是CentOS。

  • 地域選現(xiàn)實(shí)距離比較近的城市,速度可能會(huì)快那么一點(diǎn)點(diǎn)。

如果你希望更節(jié)省,那么可以考慮“按量付費(fèi)”的服務(wù)器,不需要的時(shí)候關(guān)閉不付費(fèi),需要的時(shí)候開(kāi)啟。方法是從頂部【產(chǎn)品】點(diǎn)擊【云服務(wù)器ECS】,然后【立即購(gòu)買(mǎi)】,選擇地域,然后【篩選2vCPU】【2GiB內(nèi)存】,最低【突發(fā)性能實(shí)例】每小時(shí)0.12元。

開(kāi)放端口

購(gòu)買(mǎi)成功后從右上角進(jìn)入【控制臺(tái)】,找到你的【ECS服務(wù)器實(shí)例】,點(diǎn)進(jìn)去,找到【配置安全組規(guī)則】點(diǎn)進(jìn)去,點(diǎn)【配置規(guī)則】,這里列出了所有已經(jīng)開(kāi)放的端口,點(diǎn)擊右上角【添加安全組規(guī)則】,彈窗選協(xié)議類型【自定義TCP】,端口范圍【8888】,授權(quán)對(duì)象【0.0.0.0/0】,確認(rèn)添加上去,看起來(lái)如下圖所示。

image.png

安裝網(wǎng)站服務(wù)

還是在控制臺(tái)的【ECS服務(wù)器實(shí)例】頁(yè)面,點(diǎn)【遠(yuǎn)程連接】,彈出窗口選【W(wǎng)orkbench遠(yuǎn)程連接】的【立即登錄】。在彈出的黑色窗口中用戶名和密碼都已經(jīng)自動(dòng)填寫(xiě)好了,直接確認(rèn)即可進(jìn)入命令行模式。

依次執(zhí)行下面的每行命令并回車(chē)確認(rèn)。

sudo yum install epel-release

sudo yum install nginx

sudo systemctl start nginx

sudo systemctl enable nginx

sudo命令后需要輸入服務(wù)器實(shí)例的密碼,這不是阿里云賬號(hào)的密碼。如果你不記得這個(gè)密碼,也可以從實(shí)例頁(yè)面點(diǎn)【重置實(shí)例密碼】修改成新的。

這里安裝的nginx就是網(wǎng)站服務(wù)程序,安裝成功后它會(huì)把/usr/share/nginx/html/文件夾下的所有文件都發(fā)布成網(wǎng)頁(yè),記住這個(gè)地址,后面會(huì)用到。

這時(shí)你可以直接把實(shí)例的IP地址復(fù)制到瀏覽器中回車(chē)查看,已經(jīng)可以打開(kāi)默認(rèn)頁(yè)面了。

安裝編輯工具

繼續(xù)在遠(yuǎn)程連接后的命令行頁(yè)面,依次執(zhí)行下面的每行命令并回車(chē)確認(rèn)。

sudo yum instlal bzip2

wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh

bash Anaconda3-2020.11-Linux-x86_64.sh

source ~/.bashrc

conda --version

第二個(gè)命令可能需要幾分鐘,耐心等。

最后應(yīng)該輸出conda 4.9.2就表示安裝成功了。

設(shè)置目錄地址

繼續(xù)執(zhí)行下面命令。

jupyter notebook --generate-config

sed -i "s/# c.NotebookApp.allow_origin = ''/c.NotebookApp.allow_origin = '*'/" /root/jupyter_notebook_config.py

sed -i "s/# c.NotebookApp.allow_root = False/c.NotebookApp.allow_root = True/" /root/.jupyter/jupyter_notebook_config.py

sed -i "s/# c.NotebookApp.open_browser = True/c.NotebookApp.open_browser = True/" /root/.jupyter/jupyter_notebook_config.py

sed -i "s/# c.NotebookApp.notebook_dir = ''/c.NotebookApp.notebook_dir = '\/usr\/share\/nginx\/html\/'/" /root/.jupyter/jupyter_notebook_config.py

啟動(dòng)在線編輯器

繼續(xù)執(zhí)行下面的命令來(lái)啟動(dòng)編輯器。

nohup jupyter notebook &

然后將你的云服務(wù)器IP地址復(fù)制到瀏覽器中,并添加:8888就能打開(kāi)登錄頁(yè)面,比如112.26.78.51:8888。

首次登錄可以設(shè)置密碼,以后都要用這個(gè)密碼。登錄進(jìn)去之后如下圖所示,這是所有發(fā)布頁(yè)面的文件夾,我們后續(xù)所有編寫(xiě)的文件都放在這里。

image.png

如果這個(gè)密碼丟失或者總是設(shè)置失敗,可以回到遠(yuǎn)程連接的命令窗口,輸入jupyter notebook password然后根據(jù)提示設(shè)置新密碼。

如果遇到問(wèn)題可以從云服務(wù)器實(shí)例頁(yè)面【重啟服務(wù)器】。也可以在命令行窗口只重啟Notebook,方法是先用netstat -tulpn找到8888對(duì)應(yīng)那行的PID數(shù)字(一般是四到八位數(shù)字比如2213),然后用kill 2213關(guān)閉程序,再用nohup jupyter notebook &啟動(dòng)。

管理文件夾文集

在上圖文件夾頁(yè)面的右上角【新建】按鈕可以新建文件夾,然后勾選文件夾可以進(jìn)行【重命名】,如下圖所示。

image.png

撰寫(xiě)文章

如何撰寫(xiě)文章?

同樣在【新建】創(chuàng)建一個(gè)【Python3】文件,打開(kāi)后如下圖所示。

image.png

這里的每個(gè)單元都是微型編輯器,點(diǎn)擊上面下拉菜單選擇Markdown,然后就可以撰寫(xiě)文章。

工具欄的加號(hào)【+】可以增加新的單元格,上下箭頭可以移動(dòng)單元格。

單元格編寫(xiě)狀態(tài)下(鼠標(biāo)在格子內(nèi)閃爍),按ESC鍵退出,或者直接點(diǎn)擊單元格左側(cè)In[]使其光標(biāo)消失,然后按快捷鍵【M】即可切換為Markdown。這個(gè)操作也可以用shift按鍵點(diǎn)選單元格左側(cè),選中多個(gè)單元格一起切換成Markdown模式。

同樣光標(biāo)消失狀態(tài)下,可以使用快捷鍵A或B快速添加單元格,A在當(dāng)前單元格之上添加,B在下面添加。

刪除單元格的快捷鍵是按兩次D,慎用。刪除后需要從【編輯】菜單才能撤回。

撰寫(xiě)完成單元格后按【Shift+回車(chē)】進(jìn)入預(yù)覽狀態(tài),再次雙擊文字內(nèi)容進(jìn)入編輯狀態(tài)。

直接點(diǎn)擊左上角的【Untiled】標(biāo)題字樣可以快速修改文件名,也可以從這里復(fù)制文件名。如下圖所示。

image.png

發(fā)布文章

保存當(dāng)前的文章。

文章底部新建一個(gè)Code模式的單元格,粘貼下面的命令可以把當(dāng)前的Python3文件轉(zhuǎn)化成網(wǎng)頁(yè)文件,注意這里的筆記一定要和上面的文件名完全一致。

!jupyter nbconvert --to html 筆記.ipynb --template classic

這個(gè)操作將在當(dāng)前文件夾下生成一個(gè)筆記.html網(wǎng)頁(yè)文件,可以使用類似112.26.78.51:8888/foldername/筆記.html在瀏覽器內(nèi)打開(kāi)。

如何制作首頁(yè)?

可以直接在最外層文件夾下新建一個(gè)Python3文件,然后重命名為index,再把它當(dāng)做Markdown來(lái)進(jìn)行編輯。要知道Markdown文件內(nèi)是可以直接粘貼截圖,也可以粘貼鏈接的,所以我們只要把其他的文章鏈接添加到index的單元格內(nèi)就可以了。

可以參照我的Notebook博客的樣式進(jìn)行編輯,地址是http://notebook.10knet.com/。

編輯好內(nèi)容后,再用Code單元格執(zhí)行下面的命令生成首頁(yè)并發(fā)布。

!jupyter nbconvert --to html index.ipynb

結(jié)語(yǔ)

雖然操作起來(lái)比較繁瑣,但這絕對(duì)是一勞永逸的好辦法。

后續(xù)我會(huì)想辦法把這個(gè)流程做的更簡(jiǎn)單,或者制作一個(gè)鏡像模板給大家直接使用。

請(qǐng)關(guān)注我的微信公眾號(hào)10knet,或者直接收藏上面我的Notebook網(wǎng)址,或者直接通過(guò)10knet.com聯(lián)系到我。

擁有屬于自己的網(wǎng)站博客,隨時(shí)隨地舒爽的撰寫(xiě)Markdown文章,不受限制的發(fā)表自己的想法,希望你也能體會(huì)到我現(xiàn)在的感受,——這篇文章就是這樣產(chǎn)生的。


END

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容