2 stable releases
new 1.0.1 | Jan 13, 2025 |
---|---|
1.0.0 | Jan 4, 2025 |
#250 in Graphics APIs
148 downloads per month
22KB
469 lines
gema_texto
gema_texto
parses gemtext and renders html.
This library powers blog and page, so it makes some decisions on for those projects. Here's how each line is handled:
- Headings and the content under them is wrapped in a
<section>
tag. - All text lines are
<p>
, even empty ones. - URLs are wrapped in a
<p>
- Alt Text is supported for preformatted-toggles, and is written as
the aria-label of the
<pre>
tag. - Consecutive list items are wrapped in a
<ul>
and rendered as<li>
tags. - Quotes are wrapped in a single
<blockquote>
Usage
More in-depth usage docs in the source. This is an overview of the included functionality.
gemini_parser
deals with parsing the gemini file itself.html_renderer
takes a parsed gemini file and renders it to html.
gema_texto::gemini_parser::GeminiLine
An enum
that represents the six different types of lines in gemtext.
gema_texto::gemini_parser::parse
Parses a &str
of gemtext source and returns a Vec<GeminiLine>
.
gema_texto::html_renderer::render_html
Renders a Vec<GeminiLine>
into some html String