mdwiki开发之路一技术选型

mdwiki是一款markdown wiki系统,可以作为个人或小型团队的知识库管理系统。

为什么我要开发mdwiki?
目前本人的知识库管理系统采用的是dokuwiki,它是一款用PHP开发的非常强大的一款wiki系统。但是很遗憾不支持markdown语法写作。
再加上目前开始学习Python与爬虫。所以决定用Python写一个markdown wiki系统。前期不考虑集成爬虫,后期考虑集成爬虫(这样对某些好文章的收藏就没必要复制粘贴了)。

技术选型
Python3 or 2.7?

作为新手,Python3义不容辞.为什么?就为了原生支持UTF-8.(开玩笑),因为Python3代表了Python的未来,而且越来越多的库已经迁移到了Python3,没有什么理由不选择它。

IDE选择:

pycharm+sublime text3,这个也没必要解释了。

Web框架选择:

Flask(为什么?只会这个,而且大家都说好。)

服务器选择:

nginx+gunicorn这应该是比较流行的方案吧,也不做过多解释。

数据库选择:
SQLite+Redis

部署方式:
Supervisor管理Nginx+gunicorn
Fabric远程发布

浏览器兼容性:
不考虑万恶的IE

后端库选择:
Flask Web框架
Jinja2 flask官方指定模板引擎
SQLAlchemy ORM框架
Celery任务调度
whoosh+jieba:信息检索
oss2:阿里云oss云存储SDK
redis:Redis的python连接客户端
Markdown:后端markdown解析

Flask插件如下:
Flask-Babel国际化插件
Flask-Script命令行插件
Flask-sqlalchemy ORM插件集成
Flask-migrate数据迁移插件
Flask-WTF表单插件
flask-login插件
flask-Principal权限管理
Flask-Security插件
flask-mail插件
Flask-cache缓存插件
flask-testing测试插件
Flask-Moment本地化时间日期

前端库选择:

gulp-前端资源管理与打包,可以参考我的一篇文章:gulp组织小型项目小记

animate.css特效
bootstrap 都懂的
jQuery
jQuery插件:validate,fancyBox,jQuery-ui
simplemde markdown编辑器
webuploader 百度开源的文件上传组件
toastr一款漂亮的通知组件
taggle.js 标签输入组件
highlight.js代码高亮

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值