V1.0 Beta 2
[FreeRecite.git] / README
blob08f56badef19d31f4d15a6eb2b61bcc583608057
1 一、如何安装
3 1.下载源码,进入源码目录:
4 $ cd FreeRecite
6 2.生成Makefile:
7 $ mkdir build
8 $ cd build
9 $ cmake -DCMAKE_INSTALL_PREFIX=/usr .. 
11 注释:
12       创建目录build。
14       进入build目录的目的是进行外部编译,将所有的编译中间文
15       件都存放在build目录下。这样,就不用"make distclean",
16       而是直接删除build下所有文件就能删除中间文件。
18       CMAKE_INSTALL_PREFIX变量指定了文件的安装目录,如果不
19       指定,将会被安装到/usr/local目录下。这里要注意,命令
20       后面的两个句点号 ".." 不可以缺少。
22 3.编译程序:
23 $ make
25 4.安装程序:(需要超级用户权限)
26 # make install
28 5.卸载程序:(需要超级用户权限)
29 # make uninstall
32 二、Free Recite的特点
33   
34   1.Free Recite采用了记忆曲线的原理,在初次记忆中根据作者自己
35     的亲身体会,又加入有十分有效率的记忆循环。
37   2.支持自定义词汇背诵,使用单一字典,不需按照任何教材。
39   3.字典设计灵活,词汇量大:可随时修改字典,且现在已经有5万余
40     词汇。 此外,该字典模式不仅可以背诵英文单词,任何语言皆可
41     套用这种格式。
43   4.软件体积小,以来关系简单(shell 和标准C++)。
45   5.软件免费,开放代码,遵循GPLv3协议,是一款真正的自由软件。
48 三、如何使用
50 1.初始化: 在Linux下,每个用户在第一次使用FreeRecite时,
51   都应当使用命令 frt-init对环境进行初始化。否则,frt将
52   不能正常启动,并通知用户需要运行frt-init命令。如:
53   $ frt
54   Can't load /home/meiyantao/.FreeRecite/freeRecite.mgr.
55   You should use command 'frt-init' to initialize.
56   $ frt-init 
57   You may be first use Free Recite, initialize it!
58     
59 2.帮助:在命令行下输入frt命令,或者 frt --help 可以显
60   示一个简单但很有用的帮助文档。FreeRecite所有的用法都
61   在这个文档中列出。如:
62   $ frt
63   usage: frt [--version]  [--help] COMMAND [ARGS]
64   The most commonly used git commands are:
65    cls                 Clean the strees' words in the system
66    export <taskID>     Export a tasks' words to the screen
67    ls                  List the should reviewed tasks's information
68    new    <filename>   Creat new tasks with the words in the file
69    recite <taskID>     Recite the task whose ID is taskID
70    remove <taskID>     Remove a task which you don't want to recite
71    stress              Show some words which may be difficult for you
72    test   <taskID>     Test the task whose ID is taskID
73    --help              Show this help information
74    --version           Show the current version
75    
76   frt --help的结果与此相同,当然,必须是运行frt-init初始化之后。
78 3.新建一个任务:FreeRecite的最大优点就是用户可自己定义
79   需要记忆的词汇。方法很简单,把生词(或词组)存放在一
80   个文件中,以换行为分割,例如:
81   $ cat myfile 
82   hello
83   free
84   recite
85   $ frt new myfile 
86   Give a task name for it?
87   (Press Enter will give a default name): myfile
88   Creat a task SUCCESS!
89   $ 
90   注:为了方便以后复习,Free Recite要求你在新建任务时给
91       任务起个名字。如果名字为空(直接按回车),那么Free
92       Recite将会把创建任务时的具体时间作为默认的任务名。
94       此外,你不用担心你的文件中有重复的单词,Free Recite
95       会自动帮你把重复的单词过滤出;并向你提示那些在字典
96       中找不到的单词。你可以从任务中删除这个词,还可以修改
97       你的字典。事实上,这个导入的文件格式就是stardict中默
98       认的 ~/dic.txt 文件的存放格式,你可以直接导入这个文件。
100 4.查看需要复习的任务:
101   $ frt ls
102   There's 1 tasks should review.
103   N  Name                Step     ID    
104   0  myfile              0    1233264782
105   我们刚才新建了一个任务,使用命令'frt ls'会把所有现在需要
106   复习的任务显示出来,包括任务名,复习阶段和一个ID。这个ID
107   很重要,应为用户后面操作任务时必须指定相应的ID。
109 5.查看任务中都有那些单词:
110   用户在复习或者除此记忆的时候,总要知道这个任务中有那些单
111   词,那么命令 'frt export <task ID>' 可以很容易地做到:
112   $ frt export 1233264782
113   free         [fri:] a. 自由的,免费的;vt. 使自由,使摆脱
114   hello        ['hʌ'lәu] int.英(美)喂,你好
115   recite       [ri'sait] vt.背(朗)诵;列举出vi.背诵,朗诵
116   注:第三个参数是任务的ID,就是4中显示的ID列的数字。
117   
118 6.使用recite命令加速记忆:
119   Free Recite为了让用户更加快速的完成初次记忆,在recite记忆
120   功能里加入了记忆循环系统,能有效地帮助对没有掌握的单词进行
121   循环复习。例如:
122   $ frt recite 1233264782
123    Amount: 3 R_Num: 3 R_Times: 3
124    [M]: a. 自由的,免费的;vt. 使自由,使摆脱
125    **********************************************
126    *Input :_
128    注:recite和后面提到的test的界面是一样的。其中,Amount表示
129    该任务中包含单词的总数;R_Num表示没有掌握的词数;R_Time表示
130    在记忆循环中还要输入单词的总次数。在Input: 后面输入答案后敲
131    回车结束,结果就会反馈到终端中。
133 7.使用test命令按时复习:
134   test的界面以及操作方法和recite基本一致:
135   $frt test 1233264782
136   他们的主要区别是:
137   a.test会把任务的分数结果提交给系统,看用户是否达到要求;recite
138     只是测试用户记忆该组单词的平均速度。
139   b.此外,test会把用户答错的单词放到系统中,使用stress命令可以将
140     这些单词导出到终端上帮助用户重点复习;而recite不会。
141   c.test中的单词是以随机顺序出现的,而recite是以字母顺序出现的。
142   建议: 第一次(step = 0)背单词时使用recite; 
143          以后复习(step > 0) 时使用test。
145 8.recite和test中的转义命令:
146   recite和test中有四个转义命令: \modify  \add  \rm  \stop
147   这四个命令很有用,在help文档中没有列出,这里有必要重点介绍
148   一下。这些功能的具体好处只有用户体验过才会知道。这些命令都
149   是在*Input: 提示符后输入的,而且都没有参数。 其中,\modify
150   用来改变当前正在测试的单词在字典中的解释或者音标;\add可将
151   一个新词添加到任务中;\rm可将当前正在测试的这个单词从任务中
152   移除;\stop中止测试循环,退出到shell。 例如:
153   
154   $ frt recite 1233264782
155    Amount: 3 R_Num: 3 R_Times: 3
156    [M]: a. 自由的,免费的;vt. 使自由,使摆脱
157    **********************************************
158    *Input :  \modify
159    θ_ɑ_ʌ_ә_є_æ_ɔ_ʃ_ð_ŋ_ʒ
160    0_1_2_3_4_5_6_7_8_9_=
161    [T]: fri:                (在这里输入音标)
162    [M]: 自由软件            (在这里输入解释)
163    
165   结束后,下次显示free这个单词就会把“自由软件”当作
166   解释了。 上面那些奇怪的符号表示的是音标中的特殊
167   字符,大多数音标都可以找到相应的英文字母来代替,
168   但也有些不行。那么,就用上行符号对应的数字来代替
169   他们,FreeRecite使用的utf-8编码会自动把相应的字符
170   转换成音标。
172 9.用stress命令查看难点单词:
173   在背单词的过程中,总会有一些词是难度较大,因此用户
174   在复习中很容易答错。FreeRecite会把用户答错的单词记
175   录下来,使用'frt stress'命令会把所有这些单词输出到
176   终端上方便用户查看。下面是我自己复习过程中的难点单
177   词输出结果:
178   $ frt stress
179   assistance   [ә'sistәns] n.help, aid 协作; 援助; 帮助
180   campaign     [kæm'pein] n.战役,运动;竞选运动 vi.领导,发起运动
181   capability   [,keipә'biliti] n.能力;才能;(pl)可发展的能力或特性等
182   decisively   [di'saisivli] ad. 决然地;断然
183   evacuation   [ivækju'eiʃәn] n.撤退,撤离
184   expulsion    [ik'spʌʃәn] n. 逐出, 开除, 驱逐, 排气
186 10.清空难点单词存档:
187   当你发现stress的词很多,或者你已经掌握了提示过的这些,那么使用
188   'frt cls'命令可以清空系统stress中的内容,下次会重新开始记忆。
190 至此,我们已经将FreeRecite所有的使用方法介绍了。欢迎测试,如果遇到
191 Bug,希望你能后及时反馈给我 <kermit.mei@gmail.com>.
193 感谢您的使用!