4 releases

0.0.5 Jul 15, 2022
0.0.4 Apr 16, 2021
0.0.3 Jan 15, 2021
0.0.2 Jan 14, 2021
0.0.1 Jun 7, 2020

#4 in #bodies

GPL-3.0-only

54KB
1K SLoC

gemini for rust

this library implements a small collection of types useful for writing programs that interact with the Gemini protocol.

planned features

  • a gemtext module for representing text/gemini content
  • parsers using nom
  • streaming response bodies
  • no_std support
  • improve doc comments with links n such
  • lossless gemtext representation

i also need to set up CI/CD... not sure the best way to approach this with pijul hosting.

i would like to thank Michael Gattozzi (@mgattozzi) for donating the gemini crate name for usage by this library. Michael's gemini project, which can be found here, is a handy attribute proc- macro that lets you write code with either a sync or async API with no additional maintenance overhead. thank you, Michael! <3


lib.rs:

A general purpose library of types for working with the Gemini protocol

Represented are Gemini requests, responses, headers, and status codes. Requests are currently just a small layer of functionality over top of a Url from the aptly named url crate. All types are implemented with an eye towards implementing the Gemini specification faithfully and making illegal or invalid states unrepresentable.

Dependencies

~1.7–2.9MB
~85K SLoC