在线markdown平台搭建

文章目录

  • 在线markdown平台搭建
    • 前言
    • 目的
    • 需求
    • 设计
    • 前端页面设计
    • 后端框架选择
      • Flask框架
      • 数据库选择
      • 图床sm.ms
    • 实现
      • 数据库设计
      • 登录注册
      • 文章编辑
      • 文章保存后端代码
      • 文章列表

前言

我打算把我的域名用于图床了,网站后面可能访问就不太行了
【系统已经升级啦,快看这里 】

所谓天下代码一大抄,抄来抄去有提高,用来描述编程再合适不过了,今天我也抄了一波。我通过开源+借鉴的方式,自己搞了一个在线的markdown编辑器,没错这篇文章就是在上面写的。

话不多说,先上图,下面就是我抄的成果:


目的

我之前一直都是使用vscode敲各种代码的,我非常喜欢这个工具,主要是颜值把住了我,其次通过插件可以支持非常多的语言,通用性非常高,上一个被我这么宠幸的IDE还是eclipse

我写文章使用的是markdown,之前也用过富文本编辑器,相比于markdown,富文本编辑器更多样,这是优势也是劣势。主要的缺点是写出来的文章比较花哨(对我来说,有很多读者都喜欢这种),而且非常容易造成自己写的文章格式风格不统一。

我一直用vscode编写markdownMarkdown All in One这个插件非常的神器,基本上能用到的功能都有涉及。

问题在于代码的同步,最初都是用Gitee,因为GitHub老是打不开。我这人有一个毛病,不喜欢同步代码,这就导致家里和公司的代码出现了不匹配,很烦。

当然,代码同步只是一个方面,最主要的是,如果在公司打开一个黑乎乎的vscode很引人注意(我的岗位不需要敲代码),这就有了划水的嫌疑。

另外呢,我买的还有两台服务器,域名也收藏了好多,正好用上。其实用vscode连接远端服务器也蛮好的,但是问题还是在工位上打开vscode不合适~~
(把vscode改成light主题??哈哈)

话说我还买了好几个中文域名,太费钱了

需求

为了解决我遇到的困扰,我收集了一下我的主要矛盾:

  1. 代码自动同步;
  2. 界面简洁低调;
  3. 良好的markdown编辑体验

我目前了解到的、喜欢的开源在线编辑工具主要有两个:

  1. Editor.md
  2. CKEditor

Editor.md是一个网页版的markdown编辑器,界面风格非常简洁,Demo也非常丰富,也是本文的选择。遗憾的是代码库停止更新了。

CKEditor是一个富文本编辑器,就能力上来说,更强,但是是一个富文本编辑器,虽然支持markdown,对我来说有那么一奈奈的功能过剩。

这两款编辑工具都非常优秀,我非常喜欢,只恨自己不是开发者~~

设计

原计划只做一个页面,其他功能以弹窗的方式实现,但是Editorbootstrap等前端框架有冲突,自己前端水平有限,做不出好看的界面,就能简则简。

前端页面设计

页面包括三个:

  1. 登录/注册页,登录注册二合一;
  2. 文章列表页,展示编辑过的文章;
  3. 编辑页面,使用Editor.md实现;

后端框架选择

所谓,人生苦短,我用Python,顺理成章的就选择了Flask作为后端框架。

Flask框架

简单介绍一下FlaskPython服务器开发的流行框架,非常的轻量,同时插件很丰富,文档也齐全,有兴趣的童鞋可以访问官网,或则访问我之前写的文章《我用Python写网站》,文章写的比较粗,但是基本的注意事项都提到了。

数据库选择

sqlite是常用的单机数据库解决方案,完全能够满足我当前的需求,就不折腾MySQL了。也非常推荐简单玩玩的童鞋使用,MySQL如果不是老鸟,太难了~

用Python基础知识实现了一个在线的markdown编辑工具、基于Editor.md、Flask、Flask_SQLAlchemy、sm.ms相关推荐

  1. python基础知识有哪些需要背(记住是基础知识)我是初学者

    大家好,小编来为大家解答以下问题,一个有趣的事情,一个有趣的事情,今天让我们一起来看看吧! 1.python基础知识有哪些需要背(记住是基础知识)我是初学者 或看好Python的广阔前景,或看中Pyt ...

  2. 青少年编程python一节课多长时间_10节免费少儿编程微课:Python基础知识微课

    课程介绍课程名称:Python基础知识微课(10节) 课程内容:通过对Python基础知识的讲解,教孩子们学会使用海龟编辑器进行编程,了解Python的基础知识,学完课程之后,孩子们可以用海龟编辑器快 ...

  3. python基础知识资料-Python基础知识汇总

    原标题:Python基础知识汇总 1.Anaconda的安装 百度Anaconda的官网,下载左边的Python3.X版本 然后是设置路径,最后给出Jupyter notebook.具体参考: 猴子: ...

  4. python基础知识资料-Python基础知识梳理 - 第02部分

    本文是Python基础知识的第二篇, 主要是对内置对象类型的介绍, 涉及的类型如下表. 数字类型 在Python中, 数字并不是一个真正的对象类型, 而是一组类似类型的分类, 如整数和浮点数, 复数等 ...

  5. python语法基础知识总结-Python基础知识梳理 - 第01部分

    在开始Python基础知识梳理前, 先安装下环境. 以下过程是在Linux操作系统, root用户下进行的, 主要安装了2.7版本的python, 和pip, ipython, virtualenv等 ...

  6. python笔记基础-Python基础知识

    Python基础知识 安装Python mac 通过命令行brew install python3 或者下载对应版本安装包安装 linux 通过包管理器安装apt-get install python ...

  7. python基本语法规则-python基础知识——基本语法

    在python基础知识这个系列中,准备罗列出我学习python的一些基础知识,包括:基本语法 控制语句 内置数据结构 模块和函数 字符串 文件处理 面向对象 异常处理 以前写机器学习算法喜欢使用Mat ...

  8. python基础知识整理-python爬虫基础知识点整理

    首先爬虫是什么? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本. 根据我的经验,要学习Python爬虫 ...

  9. python语言的单行注释以井号开头_推荐|零基础学习Python基础知识

    原标题:推荐|零基础学习Python基础知识 Python是一种面向对象.解释型计算机程序设计语言.语法简洁清晰,强制用空白符作为语句缩进. Python具有丰富和强大的库,又被称为胶水语言.能把其他 ...

最新文章

  1. matlab视频保存为图片
  2. Shell---判断(if)和分支(case)
  3. LeetCode算法题-Convert a Number to Hexadecimal(Java实现)
  4. ADC的有效位数与有效分辨率的区别
  5. js 上传头像img
  6. Ecplise切换项目里面的包的显示样式
  7. sed 删除某一行_Linux常用命令三剑客之sed,您真的会用吗?
  8. GATNE:阿里电商场景下的大规模异构网络表示学习 KDD2019
  9. 前端:JS/27/HTML DOM简介和新特性,HTML DOM访问HTML元素的方法,元素对象的属性(标准属性),noscroll事件,实例:书讯快递
  10. java值传递和引用传递_辨析Java方法参数中的值传递和引用传递
  11. memset函数详细说明 1
  12. python是如何引起的_1.2.8 如何开始使用python
  13. stata画图命令_STATA计量研究/面板单位根检验分析(含代码)
  14. 分门别类刷leetcode——贪心算法(C++实现)
  15. UVA1616-Caravan Robbers(二分)
  16. 直播app代码公布:视频直播源码转盘功能的实现
  17. Altium Designer系列: DRC规则英文对照
  18. 为什么要给网桥分配IP地址
  19. 教苑心语《第56号教室的奇迹》读后感优秀范文
  20. 文艺范儿的程序猿和攻城狮们

热门文章

  1. 数学建模计算机软件,[计算机软件及应用]数学建模培训.ppt
  2. Eclipse显示代码行数的3种方法
  3. mysql商品表_(三)购物商城数据库设计-商品表DDL(Mysql)
  4. slidetoshutdown电脑滑动关机命令失效了怎么办?
  5. 不仅仅是技术——亚马逊云科re:Invent2022
  6. ECU-TEST笔记使用技巧01
  7. 1的365次方=1, 1.01的365次方=???
  8. 语音合成(TTS)论文优选:Accent and Speaker Disentanglement in Many-to-many Voice Conversion
  9. 《写给大家看的设计书》书摘
  10. kindlefire刷安卓系统_KindleFire刷安卓4!webOS开源是错误