DOM_SMOOTHIE - 又一个DOM解析器
把Web内容解析出来。示例:
use std::error::Error;
use dom_smoothie::Readability;
fn main() -> Result<(), Box<dyn Error>> {
let cfg = dom_smoothie::Config {
classes_to_preserve: vec!["caption".into()],
..Default::default()
};
let html = include_str!("../test-pages/ok/001/source.html");
let mut readability = Readability::new(html, Some("http://fakehost/test/"), Some(cfg))?;
let article = readability.parse()?;
println!("Title: {}", &article.title);
println!("Content:\n {}", &article.content);
Ok(())
}
https://github.com/niklak/dom_smoothie
Pilgrimage:基于 Rust 的消息代理
我很高兴与大家分享我正在开发的一个项目,名为 Pilgrimage。这是一个用 Rust 编写的消息代理,带有基于 Web 的管理控制台和客户端身份验证功能。以下是一些核心特性:
核心特性:
基于主题的发布/订阅模型 通过分区实现可扩展性 持久化消息(基于日志文件) 主/从复制 故障检测和自动恢复 通过确认(ACK)保证消息递送 完整实现的主节点选举机制 分区复制 消息模式注册表(用于管理消息模式并确保兼容性) 自动扩展 代理集群支持 并行处理消息 认证和授权机制 数据加密 基于 CLI 的控制台 基于 Web 的控制台 目前,这还不是一个完美的实现,代码需要重构,但它已经可以运行了。我们尽可能在实现核心功能时减少对外部依赖的使用,并计划在未来进一步减少依赖。
我非常欢迎大家提出建议和反馈!
GitHub: https://github.com/mila411/pilgrimage
Arnis - 一键把你的城市导入到Minecraft中
什么都不说了,太牛了!
https://github.com/louis-e/arnis
IWE:使用 Rust 开发的个人知识管理系统,支持 LSP/CLI
IWE 是一个语言服务器(LSP)和命令行工具,你可以将它与 Neovim、VSCode、Helix、Zed 或任何支持 LSP 的编辑器集成。这让你可以直接在你最喜欢的文本编辑器中使用 PKM。
受 ZK 和 Obsidian 启发,IWE 支持所有基本功能,如笔记搜索、链接导航、自动完成、反向链接搜索等,以及一些独特的功能,比如:
提取/内联重构,用于笔记管理 内置的 转录和文档嵌套 支持 代码操作,用于文本转换、将列表转换为标题、将无序列表转换为有序列表等 规范化标题结构(强制正确的标题级别/顺序)
这一切都得益于 IWE 独特的架构。它将笔记加载到内存中的图结构中,这种结构理解标题和列表的层次关系。这样,它就能够遍历图,按需重新组织和修改内容,并使用图迭代器进行操作。
IWE 还包含一个批处理模式,让你可以处理整个笔记库(成千上万的文件),重新格式化内容、修正链接标题、调整标题级别等。由于 Rust 优异的性能和强大的底层组件,它的运行速度非常快。
快来试试吧!
GitHub: https://github.com/iwe-org/iwe
crb - 可组合运行时系统
CRB是一个独特的框架,实现了混合工作负载,能够无缝结合同步和异步活动、状态机、例程、Actor 模型以及监督者模式。
它非常适合构建大型应用程序,同时也是创建自定义框架(例如 AI 代理)的理想底层框架。其核心理念是确保所有模块之间高度兼容,从而实现代码的高效复用。
把同步代码和异步代码统一书写?
https://github.com/runtime-blocks/crb
--
From 日报小组 Mike
社区学习交流平台订阅:
Rustcc论坛: 支持rss 微信公众号:Rust语言中文社区