分页: 1 / 1

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

发表于 : 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 可以获悉所有可用的命令.
[email protected]:~$ 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的词条

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

发表于 : 2010-10-06 22:39
pocoyo
:em11
看到命令行 我都快崩溃

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

发表于 : 2010-10-06 22:44
潇洒走一回
pocoyo 写了::em11
看到命令行 我都快崩溃
欢迎体验,批评和建议!

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

发表于 : 2010-10-06 22:45
eexpress
借用sqlite3的搜索?

zim也好啊。直接grep都成。也归类。

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

发表于 : 2010-10-06 23:22
潇洒走一回
eexpress 写了:借用sqlite3的搜索?

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

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

sqlite3只用来保存词条的一些信息, 它记录着创建了哪些词条, 以及词条的相关信息, 它可以快速返回结果而不用扫描目录和词条文件.

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

发表于 : 2011-07-23 9:53
ace_001919
弱弱的问一下,这个东西怎么编译啊?我没见到Makefile.

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

发表于 : 2011-08-19 23:25
潇洒走一回
ace_001919 写了:弱弱的问一下,这个东西怎么编译啊?我没见到Makefile.
这玩意儿我废弃很久了, 不再感兴趣了...

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

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

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

...