aboutsummaryrefslogtreecommitdiff
path: root/src/convert.rs
diff options
context:
space:
mode:
authorFuwn <[email protected]>2022-06-14 08:45:09 +0000
committerFuwn <[email protected]>2022-06-14 08:45:09 +0000
commitb5703a59c59bfe95143cf8dc6cc54f20f67fb4fd (patch)
tree44022e3944119c39df5b9082aaac3a77841c8c10 /src/convert.rs
parentfix(ast): list ast construction (diff)
downloadgerm-b5703a59c59bfe95143cf8dc6cc54f20f67fb4fd.tar.xz
germ-b5703a59c59bfe95143cf8dc6cc54f20f67fb4fd.zip
feat(macros): general utility macros
Diffstat (limited to 'src/convert.rs')
-rw-r--r--src/convert.rs69
1 files changed, 0 insertions, 69 deletions
diff --git a/src/convert.rs b/src/convert.rs
deleted file mode 100644
index c68696e..0000000
--- a/src/convert.rs
+++ /dev/null
@@ -1,69 +0,0 @@
-// This file is part of Germ <https://github.com/gemrest/germ>.
-// Copyright (C) 2022-2022 Fuwn <[email protected]>
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, version 3.
-//
-// This program is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-//
-// Copyright (C) 2022-2022 Fuwn <[email protected]>
-// SPDX-License-Identifier: GPL-3.0-only
-
-//! Convert Gemtext into many types of markup.
-
-use crate::ast::Ast;
-
-mod html;
-mod markdown;
-
-/// Different targets to convert Gemtext to
-pub enum Target {
- /// Convert Gemtext to HTML
- HTML,
- /// Convert Gemtext to Markdown
- Markdown,
-}
-
-/// Convert AST'd Gemtext into an alternative markup format.
-///
-/// # Example
-///
-/// ```rust
-/// use germ::convert;
-///
-/// let _ = convert::from_ast(
-/// &germ::ast::Ast::from_string(r#"=> gemini://gem.rest/ GemRest"#),
-/// &convert::Target::HTML,
-/// );
-/// ```
-#[must_use]
-pub fn from_ast(source: &Ast, target: &Target) -> String {
- match target {
- Target::Markdown => markdown::convert(source.inner()),
- Target::HTML => html::convert(source.inner()),
- }
-}
-
-/// Convert raw Gemtext into an alternative markup format.
-///
-/// # Example
-///
-/// ```rust
-/// use germ::convert;
-///
-/// 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(&Ast::from_string(source), target)
-}