27 releases
0.4.5 | Aug 3, 2024 |
---|---|
0.4.4 | Jun 29, 2024 |
0.4.0 | Mar 24, 2024 |
0.3.10 | Jun 20, 2023 |
0.3.7 | Jul 24, 2022 |
#213 in Encoding
Used in 4 crates
51KB
741 lines
Germ
The Ultimate Gemini Toolkit
Germ is a toolkit for the Gemini protocol which aims to have a little something
for everyone. At the moment, Germ has ZERO dependencies (unless you use the
request
feature), and Germ will continue to try its hardest to have as few
dependencies as possible.
Features
- AST builder to easily construct and manipulate AST trees from raw Gemtext
- Converters to easily convert from Gemtext to markup formats such as HTML or Markdown
- Blocking and non-blocking request suite
- Structured meta section manipulation
- And more!
Check out the rest of the features in the Features section under Usage
Usage
# Cargo.toml
[dependencies]
# To enable only the base (default) features: ast, convert, meta, request
# germ = "*" # Use current version show above!
# To enable only certain features
[dependencies.germ]
version = "*" # Use current version show above!
default-features = false
features = ["ast"] # Enable the features you would like to use!
Features
Feature | Description |
---|---|
default |
ast , convert , meta , request |
ast |
Construct AST trees from raw Gemtext |
blocking |
Blocking equivalent of request |
convert |
Convert Gemtext to markup formats such as HTML or Markdown |
request |
Make Gemini requests, get sane, structured results |
meta |
Structure-ise a Gemini response's meta section |
macros |
Macros to aid with various Germ-related functionalities |
quick |
Tiny functions to create valid Gemtext elements from structured input |
Examples
Thoroughly commented examples can be found within the
examples/
directory.
License
This project is licensed with the GNU General Public License v3.0.
Dependencies
~0–9.5MB
~106K SLoC