分享我刚刚完成的笔记和知识碎片管理工具 Mydict.

由本社区发起的开源项目
回复
头像
潇洒走一回
帖子: 735
注册时间: 2009-05-20 21:43
送出感谢: 2 次
接收感谢: 2 次

分享我刚刚完成的笔记和知识碎片管理工具 Mydict.

#1

帖子 潇洒走一回 » 2010-10-06 22:34

一个基于命令行的笔记和知识碎片管理工具 -- Mydict, 刚刚把它推送到GitHub.
$ git clone git://github.com/wonderbeyond/mydict.git
通过 http://github.com/wonderbeyond/mydict 可以在线阅读.

至于为什么叫Mydict, 我感觉它管理笔记的方式就像是在维护一部个人词典. 不同的是它可以为每个词条添加标签, 标签有利于快速方便地找到一个词条.

==准备==:
我不会用什么自动工具, 所以手工写的Makefile, 为成功编译需要:
libsqlite3-dev, libboost-regex1.40-dev, libboost-program-options1.40-dev
这些可以在软件仓库里面获取.

==体验==
Mydict完全在命令行下完成工作, 可执行的程序名是: mydict
mydict 把传递给他的第一个参数作为完成指定工作的命令, 所以使用mydict的基本模式是:
$ mydict <COMMAND> [args]
执行 mydict help 可以获悉所有可用的命令.
wonder@wpc:~$ mydict help
Usage: mydict <command> [args]
Available Commands:
help -- List all available command.
add -- Add an entry.
display -- Display the information and content of an entry.
list -- List entries.
search -- Search from all entries.
edit -- Edit an existing entry.
rm -- Remove an entry.
To get the usage of a command, pass `-h' to it.
传递 -h 参数给每个命令将获得具体的帮助.

==别名的使用==
命令(加其参数)可能有些冗长, 所以程序提供了别名机制, 别名在配置文件 ~/.config/mydict/mydict.cfg 中添加, 配置文件中默认已经设置了一些别名.
注意别名只能应用到传递给程序的第一个参数上, 如在[alias]选项组设置了ls=list -S, 则命令
mydict ls 相当与 mydict list -S.

==现场==
$mydict add "sqlite3打开外键支持" sqlite sqlite3 foreign-key -c database
#添加词条 "sqlite3打开外键支持", 赋予它3个标签(sqlite, sqlite3 和 foreign-key), 分类为database,
#然后它会调用你在配置文件中设置的编辑器编辑词条的内容.

$mydict edit sqlite3打开外键支持 -a sql -q
#编辑词条 sqlite3打开外键支持, 添加标签 "sql", 如果没有指定 -q 选项, 仍然会调用文本编辑器编辑词条内容.

#add more entries...

$mydict list
#list将列举所有的词条, 可以通过参数改变其行为

$mydict search sql
#将以 sql 进行搜索, 列出匹配的词条.

#list 和 search 将对结果编号, 你可以给它们传递 -S 选项, 这样它们将把结果保存到文件中, 以便之后可以直接通过序号引用上次的查询结果. 例:
$ mydict list
...输出略...
$mydict display -i5 #查看上次查询结果序号为5的词条
上次由 潇洒走一回 在 2010-10-06 23:33,总共编辑 3 次。
头像
pocoyo
论坛版主
帖子: 25877
注册时间: 2008-03-25 15:49
来自: 谁知道?
送出感谢: 5 次
接收感谢: 9 次
联系:

Re: 分享我刚刚完成的笔记和知识碎片管理工具 Mydict.

#2

帖子 pocoyo » 2010-10-06 22:39

:em11
看到命令行 我都快崩溃
头像
潇洒走一回
帖子: 735
注册时间: 2009-05-20 21:43
送出感谢: 2 次
接收感谢: 2 次

Re: 分享我刚刚完成的笔记和知识碎片管理工具 Mydict.

#3

帖子 潇洒走一回 » 2010-10-06 22:44

pocoyo 写了::em11
看到命令行 我都快崩溃
欢迎体验,批评和建议!
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

Re: 分享我刚刚完成的笔记和知识碎片管理工具 Mydict.

#4

帖子 eexpress » 2010-10-06 22:45

借用sqlite3的搜索?

zim也好啊。直接grep都成。也归类。
● 鸣学
头像
潇洒走一回
帖子: 735
注册时间: 2009-05-20 21:43
送出感谢: 2 次
接收感谢: 2 次

Re: 分享我刚刚完成的笔记和知识碎片管理工具 Mydict.

#5

帖子 潇洒走一回 » 2010-10-06 23:22

eexpress 写了:借用sqlite3的搜索?

zim也好啊。直接grep都成。也归类。
zim无标签功能, 我迫切需要标签功能!
你建立一个词条时, 可以贴一些助记标签, 如果只有一个名字的话, 你以后不一定想到是什么名字, 同一个意思表达方式太多啦!

grep是全文搜索的, 一个文档里面含有 'ubuntu' 不一定就跟 Ubuntu 有关. 而且全文搜索的效率...

sqlite3只用来保存词条的一些信息, 它记录着创建了哪些词条, 以及词条的相关信息, 它可以快速返回结果而不用扫描目录和词条文件.
ace_001919
帖子: 2
注册时间: 2007-07-01 18:45
送出感谢: 0
接收感谢: 0

Re: 分享我刚刚完成的笔记和知识碎片管理工具 Mydict.

#6

帖子 ace_001919 » 2011-07-23 9:53

弱弱的问一下,这个东西怎么编译啊?我没见到Makefile.
头像
潇洒走一回
帖子: 735
注册时间: 2009-05-20 21:43
送出感谢: 2 次
接收感谢: 2 次

Re: 分享我刚刚完成的笔记和知识碎片管理工具 Mydict.

#7

帖子 潇洒走一回 » 2011-08-19 23:25

ace_001919 写了:弱弱的问一下,这个东西怎么编译啊?我没见到Makefile.
这玩意儿我废弃很久了, 不再感兴趣了...

C/C++很久没用了, 现在对 Python WEB 感兴趣...

GNU 构建工具现在也不知怎么用了...

我刚才又看了下, 里面没有 configure 脚本, 至于怎么生成, 我忘了...

...
回复

回到 “开源小工具”