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开发者工具, 什么都有了, 当然对以上步骤有疑问, 可以在下方给我留言, 我会及时解答~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Coding迪斯尼

java开发操作系统:一个程序向另一个程序伸出的咸猪手

17840
来自专栏依乐祝

asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程

最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下...

12510
来自专栏技术博客

MVC项目开发中那些用到的知识点(js css优化-- 合并和压缩)

在项目框架中,首先要引用很多css和js文件,80%的用户响应时间都是浪费在前端。而这些时间主要又是因为下载图片、样式表、JavaScript脚本、flash等...

23020
来自专栏Java开发

Linux中bond网卡绑定方法

HWADDR对应mac地址 # ifconfig -a 可以查看 UUID对应网卡UUID Linux 查看网卡UUID

25110
来自专栏康怀帅的专栏

PHP Cookie

Cookie 保存在客户端,分为 内存 Cookie 和 硬盘 Cookie。 设置 Cookie setcookie($name [, $value, $ex...

29850
来自专栏wblearn

package.json文件快速入门详解

相信入门nodejs或者npm的同学会对package.json这个文件有疑惑,对这个文件的作用不是很清晰,但搭建自己的博客每每用到node,npm这个文件又必...

15910
来自专栏京东技术

必须掌握的ADB命令 | 让你的测试事半功倍

ADB的全称是Android Debug Bridge,是一个与模拟器或者连接设备通讯的桥梁。ADB是CS结构包含三个部分:

1.9K40
来自专栏云计算教程系列

使用CVM搭建FileRun私人网盘

FileRun是由PHP编写的文件管理器和文件共享程序,可帮助您访问,整理,查看和编辑文件。您可以将其与Office文档,照片,音乐等文件一起使用。在本教程中,...

481110
来自专栏along的开发之旅

windows下安装调教ubuntu 17.10步骤

安装ubuntu好多次了, 每次安装都有一些重复步骤要走, 但是这些步骤又比较细, 不用的时间一长就忘记了, 所以在这里单独记录一下, 省的每次都要google...

8620
来自专栏linux运维学习

linux学习第四十二篇:限定某个目录禁止解析php, 限制user_agent,PHP相关配置

限定某个目录禁止解析php 虚拟主机配置文件添加的核心配置内容: <Directory /data/wwwroot/111.com/upload> ...

26690

扫码关注云+社区

领取腾讯云代金券