22 releases

0.4.0 Mar 24, 2024
0.3.10 Jun 20, 2023
0.3.7 Jul 24, 2022

#242 in Encoding

Download history 1/week @ 2024-02-19 20/week @ 2024-02-26 6/week @ 2024-03-04 14/week @ 2024-03-11 168/week @ 2024-03-18 64/week @ 2024-03-25 90/week @ 2024-04-01

325 downloads per month
Used in 4 crates

GPL-3.0-only

49KB
691 lines

Germ

crates.io docs.rs github.com

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 AST trees from raw Gemtext.
  • Converters to easily convert from Gemtext to markup formats such as HTML or Markdown.
  • More to come!

Usage

Current version: crates.io

# Cargo.toml

[dependencies]
# To enable all features
# germ = "*" # Use current version show above!

# To enable 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

Examples can be found within the examples/ directory.

License

This project is licensed with the GNU General Public License v3.0.

Dependencies

~0–12MB
~117K SLoC