# gmi-web
Due to the ambiguity of HTML several translations from Gemini exist in the wild. I propose the following standard:
```
UL ↔ *
BLOCKQUOTE ↔ >
PRE ↔ ```
A ↔ =>
H[1-3] ↔ #[##]
P
```
> P, UL, BLOCKQUOTE, and PRE may also have newlines which should be inserted as innerHTML using the following rules:
```
P ↔ <br>
BLOCKQUOTE ↔ <div><br></div>
UL ↔ <li><br></li>
PRE (\n is implied hence preformatted)
```
If this standard is respected gmi.css will happily tell modern web browsers how to render your text in a predictable and readable way!
=> /css/ read more about gmi.css
### WIP
This also paves the way for setting contenteditable on the root element and enabling the browsers native HTML document editor. Unfortunately it does not handle a few annoying quirks which may only be addressed with custom JavaScript.
gmi.js is currently under active development but already exposes a Gemini.line function which wraps the DOM API in a Gemini way. This should enable addressing the editability quirks and also provide a foundation for future JS/Gemini mashups.
=> /js/ read more about gmi.js
* accessibility
=> https://git.sr.ht/~talon/gmi-web/ gmi-web is licensed under CC0 and available on sourcehut