跳转到主要内容

Python古兰经查看器

项目描述

概述

Noor 是一个用 Python 编写的简单的古兰经查看器。如果指定,它会显示每个节文的翻译。以下是noor自带的一些界面

界面

描述

noorgtk

使用 PyGtk

noorhtmls

在输出目录中以html文件的形式输出古兰经

noorcgi

可以作为Web服务器中的CGI脚本使用

noortxt

将一节输出到文本文件

新功能

  • 复制当前节文/翻译到剪贴板

  • 支持vi-like标记

入门

noorgtk

要使用GTK界面,您需要安装 PythonPyGTK(在某些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-nC-j( whichever 你最舒服的)。Noor 将显示下一个经文。同样地,按 C-M-pC-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 16myfont 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_ayagtk.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部分将应用于noorcginoorhtmls接口。

书签

Noor支持节(aya)书签。当您添加书签时,位置和名称将被保存,以便您可以从列表书签对话框跳转到该位置。

Noor默认将书签保存在~/.noor.bmk中。您可以通过使用gtk.bookmark_file选项来更改这一点。此文件的每一行可以包含一个如下所示的书签

sura_number:aya_number bookmark_name

您可以通过手动编辑此文件来更改它们。

项目详情


由以下支持