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.
- 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
# 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!
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 |
Thoroughly commented examples can be found within the
examples/
directory.
This project is licensed with the GNU General Public License v3.0.