Markup view for cursive, supporting HTML

builds.sr.ht via public-inbox

5 months ago

~shanecelis via public-inbox

5 months ago


The cursive-markup crate provides a markup view for cursive that can render HTML.


For example, this page could be rendered like this:

A screenshot of this readme rendered with cursive-markup


// Create the markup view
let html = "<a href='https://rust-lang.org'>Rust</a>";
let mut view = cursive_markup::MarkupView::html(&html);

// Set callbacks that are called if the link focus is changed and if a link is
// selected with the Enter key
view.on_link_focus(|s, url| {});
view.on_link_select(|s, url| {});

// Add the view to a Cursive instance
use cursive::view::{Resizable, Scrollable};
let mut s = cursive::dummy();
s.add_global_callback('q', |s| s.quit());

For a complete example, see examples/browser.rs, a very simple browser implementation.


  • html (default): render HTML using html2text

#Minimum Supported Rust Version

This crate supports Rust 1.56.0 or later.


Contributions to this project are welcome! Please submit patches to the mailing list ~ireas/public-inbox@lists.sr.ht (archive) using the [PATCH cursive-markup-rs] subject prefix. For more information, see the Contributing Guide.


For bug reports, feature requests and other messages, please send a mail to ~ireas/public-inbox@lists.sr.ht (archive) using the [cursive-markup-rs] prefix in the subject.


This project is dual-licensed under the Apache-2.0 and MIT licenses. The documentation and examples contained in this repository are licensed under the Creative Commons Zero license. You can find a copy of the license texts in the LICENSES directory.

cursive-markup-rs complies with version 3.0 of the REUSE specification.