5分鐘將簡書markdown文章批量遷移到django站點

相信很多小夥伴和我一樣,寫博客, 能用markdown就絕不用富文本, markdown有很多好處, 比如: 可以快速遷移

遷移前: 簡書鏈接 遷移後: 方圓小站鏈接
  • 這次教大家如何批量遷移簡書的markdown到自己的網站

遷移後的效果展示(GIF效果圖)

鏈接地址: https://fangyuanxiaozhan.com (歡迎訪問, 哈哈!)

第一步: 從簡書後臺下載文章, 並解壓

第二步: 將文件夾Chrome插件英雄榜放入項目靜態文件目錄下, 完成python讀取md文檔的邏輯

  • 放入django靜態目錄

  • django 處理函數
## 文章頁面
def article(request):
    # 添加目錄
    blog_md_list = []
    for relative_file_dir_path, file_dir_name, file_name in os.walk(BASE_DIR+"/webStatic/blog-md"):
        # print("當前文件夾路徑(字符串)", relative_file_dir_path)
        # print("當前文件夾目錄下包含的文件夾(數組)", file_dir_name)
        # print("當前文件夾目錄下包含的文件名(數組)", file_name)
        for file in file_name:
            if(file.startswith('.') == False):
                title = file[:-3]
                blog_md_list.append({"file_path": relative_file_dir_path+"/"+file, "title": title})

    # 正文
    md_path = request.path.lstrip('/blog/article/')
    # 獲取文章標題
    md_title = md_path.split('/')[-1][:-3]
    md_txt = {"md": ''}
    with open("/"+md_path,  'r') as f:
        md_txt = {"md": f.read()}
    return render(request, "blog/page.html",locals())

第三步: 完成前端頁面的渲染邏輯:

核心代碼

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>{{md_title}}</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/showdown/1.9.0/showdown.min.js"></script>
</head>
<body>
    <style>
        img{
            width: 80%;
        }

    </style>
     <div id="result"></div>
    <script type="text/javascript">
    (function convert(md_txt) {
        var text = md_txt;
        var converter = new showdown.Converter();
        var html = converter.makeHtml(text);
        document.getElementById("result").innerHTML = html;
    })({{ md_txt | safe }}["md"]);
    </script>
</body>
</html>

小結:

由於篇幅原因, 上面只是放上了前端和後端的核心處理邏輯, 前端的頁面樣式, 可以訪問https://fangyuanxiaozhan.com進行查看, 前端是開源的, 打開chrome開發者工具, 什麼都有了, 當然對以上步驟有疑問, 可以在下方給我留言, 我會及時解答~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章