diff options
| author | Fuwn <[email protected]> | 2022-07-18 08:14:16 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2022-07-18 08:14:16 +0000 |
| commit | 07e81006d066c9104d99e253de238a51c33a5bae (patch) | |
| tree | 5b7bcf92f68d3773e09dfad1a48339375ec213e0 | |
| parent | fix(crate): crate locations for readme (diff) | |
| download | germ-07e81006d066c9104d99e253de238a51c33a5bae.tar.xz germ-07e81006d066c9104d99e253de238a51c33a5bae.zip | |
fix(container.rs): preformatted block escaping newline
| -rw-r--r-- | crates/germ/examples/request_to_gemtext_from_ast.rs | 31 | ||||
| -rw-r--r-- | crates/germ/src/ast/container.rs | 6 |
2 files changed, 36 insertions, 1 deletions
diff --git a/crates/germ/examples/request_to_gemtext_from_ast.rs b/crates/germ/examples/request_to_gemtext_from_ast.rs new file mode 100644 index 0000000..174abcf --- /dev/null +++ b/crates/germ/examples/request_to_gemtext_from_ast.rs @@ -0,0 +1,31 @@ +// 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 + +fn main() { + match germ::request::request(&url::Url::parse("gemini://fuwn.me/").unwrap()) { + Ok(response) => + println!( + "{}", + germ::ast::Ast::from_string( + &*response.content().clone().unwrap_or_else(|| "".to_string()) + ) + .to_gemtext() + ), + Err(_) => {} + } +} diff --git a/crates/germ/src/ast/container.rs b/crates/germ/src/ast/container.rs index d9e4d18..e1a88a7 100644 --- a/crates/germ/src/ast/container.rs +++ b/crates/germ/src/ast/container.rs @@ -258,7 +258,11 @@ impl Ast { // preformatted blocks content and increment the line. preformatted.push_str(&format!("{}\n", line)); - line = lines.next().unwrap(); + if let Some(next_line) = lines.next() { + line = next_line; + } else { + break; + } } else { // If we are in a list item and hit a catchall, that must mean that // we encountered a line which is not a list line, so |