8个版本

0.2.0-rc22024年5月3日
0.2.0-rc12024年4月6日
0.1.5 2024年4月1日
0.1.4 2024年2月7日
0.1.1 2023年7月18日

#4 in #webring

Download history 86/week @ 2024-05-02 7/week @ 2024-05-16 6/week @ 2024-05-23 2/week @ 2024-06-06 4/week @ 2024-06-13 3/week @ 2024-06-20

每月540次下载
frenring中使用

LGPL-3.0-only

23KB
291 代码行

frenring

它是一个包含好友帖子的网络链接!

use std::error::Error;

use frenring_core::{generate_frenring, FrenringOptionsBuilder};

#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
    let options = FrenringOptionsBuilder::new().build();

    let frenring = generate_frenring(
        vec![
            "https://sdomi.pl/weblog/atom/",
            "https://maia.crimew.gay/feed.xml",
            "./examples/basic/jsonfeed.json",
        ],
        options,
    )
    .await?;

    println!("{:#?}", frenring);

    Ok(())
}
[
    Article {
        title: "Making MDR-V6 wireless, the hard way",
        link: "http://sakamoto.pl/weblog/16-making-mdrv6-wireless/",
        summary: Some(
            "Join me as I hack a pair of cool wired headphones to have a detachable cord alongside a wireless module, featuring A2DP and WiFi streaming!",
        ),
        date: 2022-11-21T09:53:00Z,
        source_link: "https://sdomi.pl/weblog/",
        source_title: "sdomi's weblog",
    },
    Article {
        title: "#FuckStalkerware pt. 1 - the LetMeSpy hack",
        link: "https://maia.crimew.gay/posts/fuckstalkerware-1/",
        summary: Some(
            "the intro to this series can be found here a few days ago, while i was starting work on this very series, polish stalkerware company LetMeSpy (LMS) got completely pwned and had their databases dumped. the link to the file (jaki_kraj_taki_finfisher.tar) was…",
        ),
        date: 2023-06-26T00:00:00Z,
        source_link: "https://maia.crimew.gay/",
        source_title: "maia blog",
    },
    Article {
        title: "Hello, world?",
        link: "https://example.org/initial-post",
        summary: Some(
            "Hack the\u{a0}planet",
        ),
        date: 2023-07-06T20:30:00Z,
        source_link: "https://example.org/",
        source_title: "My Example Blog",
    },
]

受Drew DeVault的openring启发。我的意思是,这基本上是一个“用Rust重写”的时刻,因为我不想接触golang模板,或者更糟糕的是,golang。主要区别在于它输出一个JSON数组,而不是将数据填充到提供的golang模板中。

Zola中,您可以使用生成的JSON在模板中使用load_data内置函数

这是Rust库。还有一个命令行界面 - 请参阅上一级目录frenringlib.rs)。

安全注意事项:确保您提供的输出(如HTML)已清理。正在使用XML解析器。接受带有本地文件系统路径的字符串作为源。远程HTTP/HTTPS服务器接收您的IP地址。HTTP通信可能被第三方拦截和篡改。

版权(c)2023 lauren n. liberda,允许在LGPL-3.0-only下使用,请参阅LICENSE文件。

依赖项

~15–34MB
~652K SLoC