All Projects → xbynet → Mdwiki

xbynet / Mdwiki

markdown wiki by python

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Mdwiki

Web develop
《Python Web开发实战》书中源码
Stars: ✭ 1,146 (+1023.53%)
Mutual labels:  fabric, flask
Betanin
beets based mitm of your torrent client and music player
Stars: ✭ 101 (-0.98%)
Mutual labels:  flask
Fabric Home Assistant
📜 Deploy Home-Assistant easily with Fabric
Stars: ✭ 94 (-7.84%)
Mutual labels:  fabric
React Flask App
A Flask + React demo application.
Stars: ✭ 98 (-3.92%)
Mutual labels:  flask
Lecture Summarizer
Lecture summarization with BERT
Stars: ✭ 94 (-7.84%)
Mutual labels:  flask
Leetcode Country Ranking
Find Leetcode ranking by country, username.
Stars: ✭ 98 (-3.92%)
Mutual labels:  flask
Work At Olist
Apply for a job at Olist's Development Team: https://bit.ly/olist-webdev
Stars: ✭ 93 (-8.82%)
Mutual labels:  flask
Grest
Build REST APIs with Neo4j and Flask, as quickly as possible!
Stars: ✭ 102 (+0%)
Mutual labels:  flask
Votr
🌟 A polling application built with Flask and React
Stars: ✭ 100 (-1.96%)
Mutual labels:  flask
Flask movie site
用Flask构建一个微电影视频网站
Stars: ✭ 97 (-4.9%)
Mutual labels:  flask
Flask Dashboard Adminlte
AdminLTE Flask - Open-source Seed Project | AppSeed
Stars: ✭ 95 (-6.86%)
Mutual labels:  flask
Flask Rest Template
template for a rest app with flask, flask-rest and more...
Stars: ✭ 95 (-6.86%)
Mutual labels:  flask
Pyflask 2k18
A workshop organised by ACM VIT every year, during Gravitas (VIT University, Tech Fest), Having sessions on python programming and website creation using flask.
Stars: ✭ 99 (-2.94%)
Mutual labels:  flask
Gxgk Wechat Server
校园微信公众号,使用 Python、Flask、Redis、MySQL、Celery [DEPRECATED]
Stars: ✭ 1,325 (+1199.02%)
Mutual labels:  flask
Python Examples
Python examples from my answers on Stackoverflow and other short scripts.
Stars: ✭ 101 (-0.98%)
Mutual labels:  flask
Markbj
一个开放的知识社区
Stars: ✭ 94 (-7.84%)
Mutual labels:  flask
Flask pydantic
flask extension for integration with the awesome pydantic package
Stars: ✭ 96 (-5.88%)
Mutual labels:  flask
Booklibrary
📚Simple Book library application written on flask with SQLite database.
Stars: ✭ 98 (-3.92%)
Mutual labels:  flask
Weeklyreport
基于Flask的开源周报系统,快速docker部署
Stars: ✭ 102 (+0%)
Mutual labels:  flask
Stock Market Prediction Web App Using Machine Learning And Sentiment Analysis
Stock Market Prediction Web App based on Machine Learning and Sentiment Analysis of Tweets (API keys included in code). The front end of the Web App is based on Flask and Wordpress. The App forecasts stock prices of the next seven days for any given stock under NASDAQ or NSE as input by the user. Predictions are made using three algorithms: ARIMA, LSTM, Linear Regression. The Web App combines the predicted prices of the next seven days with the sentiment analysis of tweets to give recommendation whether the price is going to rise or fall
Stars: ✭ 101 (-0.98%)
Mutual labels:  flask

mdwiki

markdown wiki by python with flask

采用Python+Flask+Redis+SQLite开发(看后面选型介绍)

功能特性:

首先它的定位是一款wiki系统,旨在作为个人或小团队的知识库管理系统。

  • markdown编辑器支持图片粘贴与拖拽上传,支持实时预览。
  • wiki检索
  • 图片管理
  • 备份管理
  • 标签
  • 文章编辑定时独占锁定
  • IP、session两层登录次数等限制及登录验证码。
  • 通过fabric支持自动化分发部署
  • 不开放注册,仅限个人或小团体使用。
  • 提供dokuwiki to markdown转换脚本
  • 其他

安装

目前仅支持python3,建议Python3.4及以上

生产环境安装:

推荐采用SuperVisor+Nginx+Gunicorn+Virtualenv的组合。以ubuntu为例:(你也可以参考conf/目录下的配置文件):

基础包安装

sudo apt-get install supervisor -y
sudo apt-get install build-essential python-software-properties software-properties-common -y
sudo add-apt-repository ppa:nginx/stable 
sudo add-apt-repository -y ppa:rwky/redis
sudo apt-get update
sudo apt-get install nginx  -y
sudo apt-get install -y redis-server
sudo apt-get install python3-pip -y
sudo apt-get install libssl-dev libffi-dev python-dev python3-dev -y
sudo apt-get install libevent-dev libssl-dev libffi-dev libsasl2-dev libpq-dev  libxml2-dev libxslt1-dev libldap2-dev  -y

配置pip源为豆瓣源: vim ~/.pip/pip.conf

[global]
index-url = https://pypi.douban.com/simple #豆瓣源,可以换成其他的源
disable-pip-version-check = true          #取消pip版本检查,排除每次都报最新的pip
timeout = 120

配置virtualenv:

sudo pip3 install virtualenv
mkdir venv && cd venv 
virtualenv mdwiki
source mdwiki/bin/activate
pip3 install gunicorn

配置相关配置(具体配置文件请参考conf/目录下对应文件)

sudo vim  mdwiki/gunicorn.conf.py
sudo vim /etc/supervisor/conf.d/default.conf
sudo vim /etc/nginx/conf.d/default.conf

设置开机自启

sudo vim /etc/rc.local
/usr/bin/supervisord -c /etc/supervisor/supervisord.conf

生产环境部署: 在客户机安装NodeJS及gulp,客户机安装fabric

pip3 install fabric
python run.py create_db
python run.py init_admin  -n yourname -e youremail -p yourpassword 

配置好conf目录下的fabric.py脚本。然后在项目目录下执行:

gulp product
fab -f conf/fabric.py deploy

即可实现自动部署。以后每次即只要执行这两条命令就可部署至远程。

如果你需要二次开发,或者只是想本地进行简单测试:本地开发环境安装

本地开发环境安装:

前端配置的话你需要安装node.js,及gulp。

    npm init
    #用conf/gulp-version-number替换 node_moules/gulp-version-number 
    gulp dev
    gulp watch

python配置你需要

pip3 install -r requirements.txt
python run.py create_db
python run.py init_admin  -n yourname -e youremail -p yourpassword 
python run.py run

使用

  • 新建页面 /pages/< your_page_name>
  • 侧边栏模式 # /pages/db:数据库:cloud 分别代表链接,名称,图标

一些说明后续会细化及补充

目前尚待完善的地方:

  • 不支持主题化
  • 不支持插件化
  • 图片管理没有进行分类
  • 菜单不支持自定义
  • 没有集成爬虫功能
  • 性能与缓存需要进行优化
  • 代码将在后续大版本中重构

技术选型


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-py:Redis的python连接客户端
  • Markdown:后端markdown解析
  • pillow:验证码生成

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代码高亮

关于作者

专栏地址

email:[email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].