diff options
| author | Fuwn <[email protected]> | 2024-06-19 09:17:36 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-06-19 09:17:36 +0000 |
| commit | 6d92ea622bfc98a831a9b94f19896fe0c215f794 (patch) | |
| tree | 34a8341128580cc190caecb16e9c62e2eb1f72ec /src/ast | |
| parent | feat(germ): bump version (diff) | |
| download | germ-0.4.2.tar.xz germ-0.4.2.zip | |
fix(ast): parse preformatted gemtext as preformatted contentv0.4.2
Diffstat (limited to 'src/ast')
| -rw-r--r-- | src/ast/container.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/ast/container.rs b/src/ast/container.rs index 1e6c63f..c8ef58c 100644 --- a/src/ast/container.rs +++ b/src/ast/container.rs @@ -190,7 +190,7 @@ impl Ast { // Match the first character of the Gemtext line to understand the line // type match line.get(0..1).unwrap_or("") { - "=" => { + "=" if !*in_preformatted => { // If the Gemtext line starts with an "=" ("=>"), it is a link line, // so splitting it up should be easy enough. let line = line.get(2..).unwrap(); @@ -211,7 +211,7 @@ impl Ast { break; } - "#" => { + "#" if !*in_preformatted => { // If the Gemtext line starts with an "#", it is a heading, so let's // find out how deep it goes. let level = @@ -234,7 +234,7 @@ impl Ast { break; } - "*" => { + "*" if !*in_preformatted => { // If the Gemtext line starts with an asterisk, it is a list item, so // let's enter a list context. if !*in_list { @@ -249,7 +249,7 @@ impl Ast { break; } } - ">" => { + ">" if !*in_preformatted => { // If the Gemtext line starts with an ">", it is a blockquote, so // let's just clip off the line identifier. nodes.push(Node::Blockquote( @@ -259,8 +259,8 @@ impl Ast { break; } "`" => { - // If the Gemtext line starts with a backtick, it is a list item, so - // let's enter a preformatted text context. + // If the Gemtext line starts with a backtick, it's a preformatted + // toggle, so let's enter a preformatted text context. *in_preformatted = !*in_preformatted; if *in_preformatted { |