From 42672f76d029a5e66ac8db8332e01a986b42cd02 Mon Sep 17 00:00:00 2001 From: Seopril <49238562+Seopril@users.noreply.github.com> Date: Sun, 10 Jan 2021 19:50:02 -0500 Subject: [PATCH] Fix YAML body block indentation --- features/format.feature | 60 +++++++++++++++++------------------ jrnl/plugins/yaml_exporter.py | 9 ++++-- 2 files changed, 37 insertions(+), 32 deletions(-) diff --git a/features/format.feature b/features/format.feature index dc89a7fe..610e3a1e 100644 --- a/features/format.feature +++ b/features/format.feature @@ -415,26 +415,26 @@ Feature: Custom formats date: 2020-08-29 11:11 starred: False tags: tagone, ipsum, tagtwo + body: | + Lorem @ipsum dolor sit amet, consectetur adipiscing elit. Praesent malesuada + quis est ac dignissim. Aliquam dignissim rutrum pretium. Phasellus pellentesque + augue et venenatis facilisis. Suspendisse potenti. Sed dignissim sed nisl eu + consequat. Aenean ante ex, elementum ut interdum et, mattis eget lacus. In + commodo nulla nec tellus placerat, sed ultricies metus bibendum. Duis eget + venenatis erat. In at dolor dui. @tagone and maybe also @tagtwo. + + Curabitur accumsan nunc ac neque tristique, eleifend faucibus justo + ullamcorper. Suspendisse at mattis nunc. Nullam eget lacinia urna. Suspendisse + potenti. Ut urna est, venenatis sed ante in, ultrices congue mi. Maecenas eget + molestie metus. Mauris porttitor dui ornare gravida porta. Quisque sed lectus + hendrerit, lacinia ante eget, vulputate ante. Aliquam vitae erat non felis + feugiat sagittis. Phasellus quis arcu fringilla, mattis ligula id, vestibulum + urna. Vivamus facilisis leo a mi tincidunt condimentum. Donec eu euismod enim. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eu ligula eget + velit scelerisque fringilla. Phasellus pharetra justo et nulla fringilla, ac + porta sapien accumsan. Class aptent taciti sociosqu ad litora torquent per + conubia nostra, per inceptos himenaeos. ... - - Lorem @ipsum dolor sit amet, consectetur adipiscing elit. Praesent malesuada - quis est ac dignissim. Aliquam dignissim rutrum pretium. Phasellus pellentesque - augue et venenatis facilisis. Suspendisse potenti. Sed dignissim sed nisl eu - consequat. Aenean ante ex, elementum ut interdum et, mattis eget lacus. In - commodo nulla nec tellus placerat, sed ultricies metus bibendum. Duis eget - venenatis erat. In at dolor dui. @tagone and maybe also @tagtwo. - - Curabitur accumsan nunc ac neque tristique, eleifend faucibus justo - ullamcorper. Suspendisse at mattis nunc. Nullam eget lacinia urna. Suspendisse - potenti. Ut urna est, venenatis sed ante in, ultrices congue mi. Maecenas eget - molestie metus. Mauris porttitor dui ornare gravida porta. Quisque sed lectus - hendrerit, lacinia ante eget, vulputate ante. Aliquam vitae erat non felis - feugiat sagittis. Phasellus quis arcu fringilla, mattis ligula id, vestibulum - urna. Vivamus facilisis leo a mi tincidunt condimentum. Donec eu euismod enim. - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eu ligula eget - velit scelerisque fringilla. Phasellus pharetra justo et nulla fringilla, ac - porta sapien accumsan. Class aptent taciti sociosqu ad litora torquent per - conubia nostra, per inceptos himenaeos. """ Examples: configs @@ -465,18 +465,18 @@ Feature: Custom formats date: 2020-09-24 09:14 starred: False tags: tagone, tagthree - ... - - I'm so excited about emojis. 💯 🎶 💩 + body: | + I'm so excited about emojis. 💯 🎶 💩 - Donec semper pellentesque iaculis. Nullam cursus et justo sit amet venenatis. - Vivamus tempus ex dictum metus vehicula gravida. Aliquam sed sem dolor. Nulla - eget ultrices purus. Quisque at nunc at quam pharetra consectetur vitae quis - dolor. Fusce ultricies purus eu est feugiat, quis scelerisque nibh malesuada. - Quisque egestas semper nibh in hendrerit. Nam finibus ex in mi mattis - vulputate. Sed mauris urna, consectetur in justo eu, volutpat accumsan justo. - Phasellus aliquam lacus placerat convallis vestibulum. Curabitur maximus at - ante eget fringilla. @tagthree and also @tagone + Donec semper pellentesque iaculis. Nullam cursus et justo sit amet venenatis. + Vivamus tempus ex dictum metus vehicula gravida. Aliquam sed sem dolor. Nulla + eget ultrices purus. Quisque at nunc at quam pharetra consectetur vitae quis + dolor. Fusce ultricies purus eu est feugiat, quis scelerisque nibh malesuada. + Quisque egestas semper nibh in hendrerit. Nam finibus ex in mi mattis + vulputate. Sed mauris urna, consectetur in justo eu, volutpat accumsan justo. + Phasellus aliquam lacus placerat convallis vestibulum. Curabitur maximus at + ante eget fringilla. @tagthree and also @tagone + ... """ Examples: configs diff --git a/jrnl/plugins/yaml_exporter.py b/jrnl/plugins/yaml_exporter.py index 7f9ed53a..7716c6c1 100644 --- a/jrnl/plugins/yaml_exporter.py +++ b/jrnl/plugins/yaml_exporter.py @@ -75,6 +75,11 @@ class YAMLExporter(TextExporter): if previous_line not in ["\r", "\n", "\r\n", "\n\r"]: newbody = newbody + os.linesep + # set indentation for YAML body block + spacebody = "\t" + for line in newbody.splitlines(True): + spacebody = spacebody + "\t" + line + if warn_on_heading_level is True: print( "{}WARNING{}: Headings increased past H6 on export - {} {}".format( @@ -113,14 +118,14 @@ class YAMLExporter(TextExporter): # source directory is entry.journal.config['journal'] # output directory is...? - return "{start}\ntitle: {title}\ndate: {date}\nstarred: {starred}\ntags: {tags}\n{dayone}{end}\n{body}".format( + return "{start}\ntitle: {title}\ndate: {date}\nstarred: {starred}\ntags: {tags}\n{dayone}body: |{body}{end}".format( start="---", date=date_str, title=entry.title, starred=entry.starred, tags=", ".join([tag[1:] for tag in entry.tags]), dayone=dayone_attributes, - body=newbody, + body=spacebody, end="...", )