相信很多小夥伴和我一樣,寫博客, 能用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開發者工具, 什麼都有了, 當然對以上步驟有疑問, 可以在下方給我留言, 我會及時解答~