Python古兰经查看器
项目描述
概述
Noor 是一个用 Python 编写的简单的古兰经查看器。如果指定,它会显示每个节文的翻译。以下是noor自带的一些界面
界面 |
描述 |
---|---|
noorgtk |
使用 PyGtk 库 |
noorhtmls |
在输出目录中以html文件的形式输出古兰经 |
noorcgi |
可以作为Web服务器中的CGI脚本使用 |
noortxt |
将一节输出到文本文件 |
新功能
复制当前节文/翻译到剪贴板
支持vi-like标记
入门
noorgtk
要使用GTK界面,您需要安装 Python 和 PyGTK(在某些Linux发行版中默认安装,如Ubuntu)。您可以通过运行 noorgtk.pyw 脚本来启动它,无论是在命令行中还是在提取的文件夹中双击它。也就是说,不需要安装。
但如果你喜欢,你可以运行 python setup.py install 来安装Noor。之后,您可以从任何位置在终端中运行 noorgtk.pyw。
noorhtmls
可以使用noorhtmls界面将古兰经输出到目录中的html文件。您只需运行
noorhtmls.py output_folder
index.html 文件将包含经文的列表,从 001.html 到 114.html 的文件将包含经文。注意,在生成页面时会考虑在 ~/.noor 文件中指定的配置。
noorcgi
安装 CGI 脚本 noorcgi.py 与安装其他 CGI 脚本类似。你可能需要将其复制到你的 Web 服务器的 cgi-bin 目录。但在那之前,你应该按照 noorgtk 部分的说明安装 noor,或者更改 noorcgi.py 文件中的一行,该行看起来像
# Add noor to the python path if its not installed: sys.path.append('/noor/extracted/folder/')
将其指向你提取 noor 的文件夹。注意,如果你想使用 CGI 接口,就不再需要安装 PyGTK。
Noorgtk 教程
如上所述启动 noorgtk 后,你会被要求选择一个经文来查看。(使用 gtk.ask_sura_at_start 配置或给出命令行参数以跳过该步骤)。
现在你看到了你选择的经文。使用上下键移动文本。按 a 键;你将被要求输入一个节文编号。按回车后,你将移动到那个节文。
现在按 c。一个对话框会弹出,其中你可以选择一个经文。
这次按 s;Noor 会要求你输入要跳转到的经文编号。同时,按 J(即大写的 J)也会把你移动到一段的开始。
现在按 C-M-n 或 C-j( whichever 你最舒服的)。Noor 将显示下一个经文。同样地,按 C-M-p 或 C-k 可以用来查看上一个经文。
一些命令需要整数参数,例如跳转到节文、跳转到节文前的页面、跳转到经文和跳转到一段。如果你在使用这些命令之前输入一个数字,那么该数字将被假定是参数,Noor 不会 在对话框中询问该数字。
注意,许多 Noor 命令可以有多种方式执行,并且有多种键绑定。请参阅 noorgtk 键 并尝试其命令。
你也可以使用命令行参数告诉 noorgtk 从一个经文和节文开始。例如,noorgtk.pyw 100 3 将跳转到第 100 个经文的第三个节文。
添加翻译
你可以编辑 ~/.noor 文件
[common] translation = /path/to/translation/file
翻译文件可以是两种格式之一。它可以是一个与 Zekr 翻译文件相同格式的 zip 文件,这些文件可以从 http://siahe.com/zekr/resources.html 获取,或者它可以是包含每行一个节文翻译的 utf-8 文本文件。
更改字体
你可以在 ~/.noor 文件中更改 GTK 或 html 字体
[gtk] font = me_quran 23 translation_font = Dejavu Sans Mono size:14 fgcolor:#001100 fgcolor:#DDDDFF [html] font = me_quran 6 fgcolor:554444 translation_font = Dejavu Sans Mono 4 fgcolor:444455
字体有 face(字体)、size(大小)、fgcolor(前景色)和 bgcolor(背景色)属性。这些属性可以使用 attr:value 格式设置,其中 attr 是属性名。旧格式仍然有效;也就是说,myfont 16 与 myfont size:16 相同,也与 face:myfont size:16 相同。
注意事项
您可以为苏拉和节添加注释。您可以使用 gtk.show_notes 变量来启用此功能;将其添加到您的 ~/.noor
[gtk] show_notes = 1
启用后,注释面板将显示在状态栏上方。
使用 A 键(即 shift-a),将焦点移动到 notes 面板(您也可以使用鼠标)。您可以使用 N 来切换注释面板的可见性。
当焦点从注释面板移出或您按下 C-s 时,注释将保存在 gtk.notes_dir 目录(默认为 ~/.noornotes)。
第 k 个苏拉的注释将写入 k.txt
第 j 个苏拉的 k 个节的注释将写入 j-k.txt
更改语言
您可以更改 noorgtk 对话框和 noorhtmls 页面的语言;例如
[common] lang = en
将使用英语。配置文件 common.lang 的值应该是语言的两位字母符号。目前支持阿拉伯语(ar)、英语(en)、波斯语(fa)和普什图语(ps)。如果您愿意,可以将 noor 翻译成其他语言(如果您需要帮助,请询问邮件列表)。
播放朗诵
您可以使用 gtk.play_aya 和 gtk.play_sura 来播放苏拉和节的朗诵。例如
[gtk] play_aya = mplayer -noconsolecontrols /path/to/folder/${sura}${aya}.mp3
${sura} 和 ${aya} 将替换为零填充的苏拉和节号。
您还可以要求 noor 跟随节;也就是说,当播放器以零返回值结束时,noor 将转到下一个节。为此,您需要设置 gtk.follow_ayas 选项
[gtk] follow_ayas = 1
您可以使用 K 键来停止跟随节。
隐藏 Noorgtk 部分
您可以隐藏 noorgtk 的大多数 GUI 部分。例如
[gtk] menu_bar = 0 status_bar = 0 toolbar = 0 scrollbar = 0 task_pane = 0 show_notes = 0 hide_buttons = 1
将隐藏菜单栏、状态栏和工具栏。
Noorgtk 键盘快捷键
这些键可以在 GTK 界面中使用。请注意,C- 代表控制键,M- 代表 alt 键,S- 代表 shift 键,C-M 代表同时按下控制键和 alt 键。例如,C-n 表示在按住控制键的同时按下 n 键。
动作 |
键 |
---|---|
向下移动 |
向下,j,C-n,C-f,C-d |
向上移动 |
向上,k,C-p,C-b,C-d |
下一页 |
向下翻页,空格,C-v |
上一页 |
向上翻页,S-空格,M-v |
苏拉开始 |
首页,C-a |
苏拉结束 |
尾页,C-e |
下一苏拉 |
C-M-n,C-j |
选择苏拉 |
c |
上一苏拉 |
C-M-p,C-k |
下一节 |
n |
上一节 |
p |
当前节 |
. |
复制节 |
y |
复制节的翻译 |
Y |
将数字添加到数字 |
数字; [0-9] |
清除数字 |
escape,C-g |
转到第 n 个节 |
a,return,M-g,G |
转到第 n 个节之前的页面 |
b,S-return,M-G |
转到第 n 个苏拉 |
s,C-return,C-M-g,s |
转到第 n 个节开始 |
J,C-M-return,C-M-G |
后退 |
C-[, M-left |
前进 |
C-],M-right |
添加书签 |
B |
跳转到书签 |
M |
添加标记 |
m |
跳转到标记 |
逗号,反引号 |
全屏 |
小写f,F11 |
向前搜索 |
斜杠,C-s |
向后搜索 |
问号,C-r |
停止播放器 |
K |
切换注释 |
N |
写注释 |
A |
关于 |
r |
退出 |
q |
在这里,注释n代表到目前为止输入的数字。实际上,通过按数字来给命令加前缀。例如,按2然后按1,再按C-M-return,告诉noor跳转到第21节的开头。
如果为带前缀的命令没有输入前缀,noor将在对话框中询问。
配置文件
您可以在~/.noor文件中指定配置选项。参见noor/uihelpers.py文件末尾的~/.noor文件的默认内容(如果不存在,将创建默认的~/.noor)。
请注意,配置文件的html部分将应用于noorcgi和noorhtmls接口。
书签
Noor支持节(aya)书签。当您添加书签时,位置和名称将被保存,以便您可以从列表书签对话框跳转到该位置。
Noor默认将书签保存在~/.noor.bmk中。您可以通过使用gtk.bookmark_file选项来更改这一点。此文件的每一行可以包含一个如下所示的书签
sura_number:aya_number bookmark_name
您可以通过手动编辑此文件来更改它们。