pub fn transform_line_by_line_skipping_codeblocks( text: &str, func: &dyn Fn(String) -> String, ) -> String