diff options
| author | Fuwn <[email protected]> | 2022-06-02 04:04:27 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2022-06-02 04:04:27 +0000 |
| commit | 96c139a26a94cf0fd4d531df3c07156b3b531568 (patch) | |
| tree | ed2f288d32a8a69947f3a67bfa437021015e5f05 /src/convert.rs | |
| parent | docs(cargo): bump version to 0.2.3 (diff) | |
| download | germ-96c139a26a94cf0fd4d531df3c07156b3b531568.tar.xz germ-96c139a26a94cf0fd4d531df3c07156b3b531568.zip | |
feat(germ): ast struct
Diffstat (limited to 'src/convert.rs')
| -rw-r--r-- | src/convert.rs | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/convert.rs b/src/convert.rs index d46b854..c68696e 100644 --- a/src/convert.rs +++ b/src/convert.rs @@ -18,6 +18,8 @@ //! Convert Gemtext into many types of markup. +use crate::ast::Ast; + mod html; mod markdown; @@ -36,16 +38,16 @@ pub enum Target { /// ```rust /// use germ::convert; /// -/// convert::from_ast( -/// germ::ast::build(r#"=> gemini://gem.rest/ GemRest"#), +/// let _ = convert::from_ast( +/// &germ::ast::Ast::from_string(r#"=> gemini://gem.rest/ GemRest"#), /// &convert::Target::HTML, /// ); /// ``` #[must_use] -pub fn from_ast(source: Vec<crate::ast::Node>, target: &Target) -> String { +pub fn from_ast(source: &Ast, target: &Target) -> String { match target { - Target::Markdown => markdown::convert(source), - Target::HTML => html::convert(source), + Target::Markdown => markdown::convert(source.inner()), + Target::HTML => html::convert(source.inner()), } } @@ -56,12 +58,12 @@ pub fn from_ast(source: Vec<crate::ast::Node>, target: &Target) -> String { /// ```rust /// use germ::convert; /// -/// convert::from_string( +/// let _ = convert::from_string( /// r#"=> gemini://gem.rest/ GemRest"#, /// &convert::Target::HTML, /// ); /// ``` #[must_use] pub fn from_string(source: &str, target: &Target) -> String { - from_ast(crate::ast::build(source), target) + from_ast(&Ast::from_string(source), target) } |