Eascripto

开发与维护


本章节介绍了如何、怎样、何种方式来开发与维护 Eascripto。本页面推荐有 Web 编程基础的人酌情浏览。如果说详细一点,您至少应该具有如下知识水平:

具有如上知识,您就可以畅通无阻地浏览本页。但并不是每一页都有如此的知识门槛,实际上,只有这一个页面具有这样的知识门槛。

Eascripto 的开发

概述

Eascripto 的主体是 /index.php。Eascripto 的所有 PHP 代码均编写于 /index.php 内。其次还有一个 Eascripto 的分项目:Eascripto Reader。Reader 存放于 /read/index.php,主要负责对正文内容的归纳和汇总。也就是说,所有存放于 /documents 内的文档都将经过 /index.php/read/index.php 的处理后直接显示在指定的页面上。

Markdown 解析

Eascripto 使用的 Markdown 解析器为 Parsedown,文档实现方法,简单来说就是在主体框架中创建 function=>parse() 函数调用 Parsedown 的实例,运用 file_get_contents 函数将 Markdown 文档的内容直接提交给解析器解析,解析后以 $_GET['index'] 的形式存放于不同的页面中(实际上并不是页面,仅是 PHP Request 的相应 Response)。

这样一来,对 Eascripto 内容的开发与改进将会分成两个部分:

  1. Markdown 文档的编写(相对比较简单,只需要熟悉 Markdown 格式即可)
  2. Markdown 文档的衔接与调用。对解析框架部分的调用方法采取改进

其中,第二部分的内容将会涉及到修改解析框架。为了节省时间,第二部分的内容并不是强制性要求的。在 Github 上的所有贡献,都将会经过预览后,由网站开发者手动添加到解析框架上。由于这种办法很难维持长久,所以第二部分的内容应为“对解析框架部分的调用方法采取改进”。

内容

内容部分类似于维基百科的贡献,不相同的是,我们使用 Markdown 文档的形式。如果您熟知 Markdown 的语法,那么在您的知识范围内,您就可以毫无阻碍地编写您想要编写地内容,在 Fork 了本项目的基础上,您可以直接 Push 您编写好的 Markdown 文档至 /documents,这样就相当于您正在为 Eascripto 的内容添加工作做贡献。

Eascripto Reader Project

Eascripto Reader Project,以下简称 ERP。ERP 是在 Eascripto 原生框架的基础上开发的一套解析框架。上文中的 Eascripto Reader 就是它。它所要负责的内容与 /index.phpfunction=>parse() 完全相同,但是工作量却会随着文档的增加而扩大。

二方案

目前 ERP 有两个实现方案,第一是对于贡献者的 Markdown 文档,采取熟悉这方面的贡献者的手动措施,来手动添加解析和跳转。第二是使用某一种暂时谁也不清楚的方式来进行解析和跳转,区别是,这个是全自动的。

它们分别可以被称为 ERP 1 和 ERP 2。

程序结构

程序结构主要分为 /index.php,称为主体,/read/index.php 称为 ERP 或者 Reader,/document,称为内容主体。

主体主要负责最基本的首页和首页上的相关内容的调用与解析,ERP 负责内容主体的调用与解析,内容主体内存放主要内容、章节等(以文件夹形式按相关语言存储),同时也可存放例如 /documents/footer.html 等网站构成部分后用 PHP 直接在主体中调用(非解析,因为已经是 HTML)。