Update 'README.md'

This commit is contained in:
ÖLAB 2021-05-02 23:38:15 +02:00
parent 64cd76508f
commit 4c3c344c9e
1 changed files with 14 additions and 6 deletions

View File

@ -1,8 +1,9 @@
![GEMPUB](GEMPUB.png)
**[1 Overview](#1-overview)**
     [1.1 Goals](#1-1-goals)
     [1.2 Non-Goals](#1-2-non-goals)
     [1.1 Rationale](#1-1-rationale)
     [1.2 Goals](#1-2-goals)
     [1.3 Non-Goals](#1-3-non-goals)
**[2 Format](#2-format)**
     [2.1 File Extenstion and MIME](#2-1-file-extension-and-mime)
     [2.2 Directory Structure](#2-2-directory-structure)
@ -22,11 +23,17 @@ Questions, comments, help: oppen@fastmail.com
## 1 Overview
While [implementing an .epub reader](https://codeberg.org/oppenlab/OppenBok) it became apparent that it is practically impossible to separate an ebook's data from its presentation. EPUB archives are zipped HTML and metadata, and even Google with its infinite resources is unable to render pages correctly for all titles in Play Books, where mangled and unusable index pages are common. It's a lot of work and effort to attempt to convert HTML markup into another format that can be rendered natively.
The application/gpub+zip media type ("gempub" or "GPUB") is a proposed new e-book file format that uses the ".gpub" file extension.
Gemini Protocol intentionally leaves presentation to the clients (which is why, unfortunately, capsule/gemtext authors often feel the need to customise their content with ascii-art).
It is primarily intended to serve as a container for e-books containing text files of in the "text/gemini" format, allowing the author to avoid the complexity of using web technologies for e-books that do not require them. It has a secondary purpose of functioning as an archival format for Gemini capsules.
## 1.1 Goals
Questions, comments, help: oppen@fastmail.com
### 1.1 Rationale
While implementing an .epub reader, it became apparent that it is practically impossible to separate an ebook's data from its presentation. EPUB archives are zipped HTML, CSS, and metadata, and even Google with its infinite resources is unable to render pages correctly for all titles in Play Books, where mangled and unusable index pages are common. It's a lot of work and effort to attempt to convert HTML markup into another format that can be rendered natively.
### 1.2 Goals
Simplicity. Gempub follows the same original aims as the Gemini Protocol.
@ -34,7 +41,8 @@ Simplicity. Gempub follows the same original aims as the Gemini Protocol.
* A basic but usable (not ultra-spartan) client should fit comfortably within 50 or so lines of code in a modern high-level language. Certainly not more than 100. (In the case of gempub, the lines-of-code target may be ambitious but the spirit is the same.)
* A client comfortable for daily use which implements every single protocol feature should be a feasible weekend programming project for a single developer.
### 1.2 Non-Goals
### 1.3 Non-Goals
There are lots of use-cases where Gempub isn't appropriate. For example, it is not intended for complex layouts or scientific notation. There are other formats that serve those use-cases better.