credence

Crates.iocredence
lib.rscredence
version0.0.2
created_at2025-06-18 06:13:24.072603+00
updated_at2025-06-21 22:41:56.107549+00
descriptionAn unfussy web server designed for straightforward authoring and scalable performance
homepage
repositoryhttps://github.com/tliron/rust-credence
max_upload_size
id1716658
size113,851
Tal Liron (tliron)

documentation

https://docs.rs/credence

README

crates.io docs.rs

Credence

An unfussy web server designed for straightforward authoring and scalable performance.

Suitable for hosting blogs, newsletters, personal sites, documentation, etc.

Do you like databases, frameworks, "stacks", buzzwords, and bloat? Do you know what a "CMS" is? Then Credence is probably not for you. Welcome to the nonsense-free web zone.

Rustaceans: All of Credence's functionality lives in credence-lib, so you can enhance it, integrate it into something else, remix it, etc.

Documentation

Features

Usability

  • Distributed as a single executable
  • Just point it at your web assets directories
  • Sensible out-of-the-box defaults
  • Straightforward configuration in YAML if you need to go beyond the defaults
  • Serve multiple sites from a single Credence process
  • A reverse proxy is not required: Credence aims to have most everything you should need for outward exposure

Authoring

  • Your file directory structure = your URL structure
  • Write your content in Markdown (with a few optional annotations)
  • Design your HTML in ... HTML! (with optional Jinja conveniences)
  • Turn a directory full of Markdown pages into a user-searchable catalog
  • Every rendered page has a JSON endpoint (for your fancy JavaScript widgets)
  • Oh, and Credence also serves regular files, duh

Networking

  • HTTP/2 and HTTP/1.1 (HTTP/3 is in the works; no rush)
  • Multiple sites can share the same port as long as they are attached to different host names
  • Each host name gets its own TLS keys—even when multiple hosts share the same port!

Under the Hood

  • Profoundly asynchronous (scales up gracefully), covering all networking, file access, caching, and compression algorithms
  • Automagical in-memory caching (using kutil_http)
  • Automagical response compression (integrated into the cache)
  • Rust, Tokio, Hyper, axum, Tower (a.k.a. the "RTHaT stack"?)

License

Like much of the Rust ecosystem, licensed under your choice of either of

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 2

cargo fmt