要记忆很多东西,感觉自己记不住,或者总是忘记细节,怎么办?
记笔记啊,最好是电子笔记,方便查找和整理。
常言道: 好记性不如烂笔头。再好的记性,随着时间的推移都会遗忘的,除非不断地巩固。所以才有烂笔头的说法。特别是面对浩如烟海知识点的研究人员,笔记是很重要的,最好是方便检索、便于修改补充的电子笔记。
比如这里介绍的 txtBlog.py, 就是一个简单强大的笔记/知识管理系统,前台通过浏览器查看,后台通过文本文件增删改查信息。
本系统主要管理文字笔记,支持少量添加图片。
缘起
我以前的笔记记录在163博客,后来它...关闭了,笔记就没了。之后我就决定自己写一个知识管理系统,就是现在的txtBlog.py,它支持本地运行,也支持服务器上共享。
该系统的内容部分基于纯文本文件(txt/html/markdown等),尽量减少依赖,即使python都倒闭了,我们至少还有纯文本文件,可以直接人工阅读。
目录式学习可以做到知识体系的完整性: 相关笔记放一起,方便复习。
索引式学习可以快速检索,查漏补缺: 支持 ctrl+F 的查找,find命令查找。
笔记截屏效果
1.前台界面
(1)顶部目录 == 书柜;
(2)左侧目录 == 书;
(3)右侧是内容 == 书的内容。
(4)本页内容在硬盘上的文件的相对位置;
(5)同4;
2. 支持的格式
目前支持txt,html和markdown三种格式。
对于txt格式,支持自动生成篇章目录(格式见ReadMe)。
对于markdown格式,支持代码高亮和行号显示。
对于markdown和html,支持插入图片。
对于 txt 或者 markdown 文件,右侧(页面顶部位置)和左下角(窗口固定位置)还会有篇章目录,可以点击直达目标位置。
markdown格式及左下角目录:
3. 使用方法
(1)怎么修改、记录?
包括顶部目录、左侧目录、右侧内容,都是纯文本文件,可以直接用文本编辑器(比如notepad++, sublim, VIM 等)打开修改。
(2)怎么备份?
定期备份,就是压缩整个文件夹,发送到自己的邮箱、移动硬盘等,或者推送到github。
(3)怎么查找?
做笔记时尽量做到分类明确,条理清晰,这样查找时才能快速定位到某一个或几个页面。
页面内查找: 在浏览器中 ctrl+F,输入关键词。
无法确定在哪个页面怎么办?
先定位到笔记的data/文件夹内,使用git bash 的bash 命令查找,
$ find . | xargs grep "tongji" --color=auto 2>/dev/null
4. 怎么安装
支持linux/win10/win7,未测试过Mac。
Linux用户安装git后可以直接在命令行中输入命令。
Windows 用户推荐使用git bash(百度搜索 git,下载后默认安装即可):右击桌面或文件夹,选择git bash,在弹出窗口中输入下列命令。
步骤如下:
(1)安装python3.6和git。
需要笔记系统的都是老手了,自行搜索安装吧。
$ python -V
Python 3.6.4
git下载地址: https://git-scm.com/
(2)安装依赖包
$ pip install flask
$ pip install mistune
(3)下载安装包
$ git clone https://github.com/DawnEve/txtBlog.py.git
(4) 运行笔记系统
进入目录,
$ cd txtBlog.py
# 可以在index.py最后一行修改IP和端口号,不想修改也可以采用默认值。
# IP使用0.0.0.0时,局域网内都可以访问,使用127.0.0.1时,只有本机可以访问。
运行
$ python index.py
当打印出 * Running on http://0.0.0.0:8000/ (Press CTRL+C to quit) 时,表示成功运行了。
(5)网页查看
在浏览器输入 127.0.0.1:8000,即可看到开头截屏的页面了。
注意:
可以最小化命令行窗口,但不要关掉命令行黑窗口,否则笔记系统就不能web预览了。
在git bash黑窗口内 ctrl+C 即可停止项目运行,重新运行项目只需要在该txtBlog.py/ 文件夹内右击-选择git bash - 输入 python index.py 回车,即可在网页上查看笔记了。
5. 怎么修改、添加笔记内容
(1)可自由修改的部分,主要集中在data/文件夹中。
文件结构如下:
/data/
|- topMenu.json
|- R.json
|- Python.json
|- R/
|- Python/
|- images/
|- Python001.html
|- Python-basic.txt
|- Linux/
(2)目录结构都是基于json格式的。
(3)正文内容都是基于纯文本文件的,需要自己根据需要添加。比如 data/Python/Python-basic.txt 就是一个纯文本文件。
(4)如何知道一个web页面对应的文件在哪里呢?右侧顶部、网页标题位置都有提示。见顶部截屏图的4和5所示。
(5)详细添加方法、文件格式要求等请打开以下链接或点击
https://github.com/dawneve/txtBlog.py
6. 怎么更新笔记系统?
笔记系统的更新:重命名原笔记项目文件名,重新从github下载项目,然后用自己积累的 data/ 替换掉刚下载项目中的 data/ 文件夹。
笔记内容的更新靠自己积累了。
7. 前置知识: 基本的python3和git/github操作。
其实不需要太多,只要按照步骤操作,即可实现。
git视频教程: http://www.imooc.com/learn/390