fix Code blocks err #227 (#323)

* fix Code blocks https://github.com/redlib-org/redlib/issues/227

* add pulldown-cmark

* add pulldown-cmark

* fix Code blocks err #227

* add pre style for post codeblock

* Update style.css (fix Code blocks err #227 )

---------

Co-authored-by: Matthew Esposito <matt@matthew.science>
This commit is contained in:
freedit-dev 2025-02-03 13:58:14 +08:00 committed by GitHub
parent c7f55c146a
commit 7770c57856
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 36 additions and 1 deletions

View file

@ -743,7 +743,15 @@ pub async fn parse_post(post: &Value) -> Post {
get_setting("REDLIB_PUSHSHIFT_FRONTEND").unwrap_or_else(|| String::from(crate::config::DEFAULT_PUSHSHIFT_FRONTEND)),
)
} else {
rewrite_urls(&val(post, "selftext_html"))
let selftext = val(post, "selftext");
if selftext.contains("```") {
let mut html_output = String::new();
let parser = pulldown_cmark::Parser::new(&selftext);
pulldown_cmark::html::push_html(&mut html_output, parser);
rewrite_urls(&html_output)
} else {
rewrite_urls(&val(post, "selftext_html"))
}
};
// Build a post using data parsed from Reddit post API