Fix YAML export formatting(#1065) (#1150)

* Fix YAML export syntax
* Fix YAML body block indentation
This commit is contained in:
Seopril 2021-01-16 17:44:55 -05:00 committed by GitHub
parent 61f8406412
commit 5c0a2d4c4e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 41 additions and 31 deletions

View file

@ -410,29 +410,31 @@ Feature: Custom formats
""" """
And the content of file "2020-08-29_entry-the-first.md" in the cache should be And the content of file "2020-08-29_entry-the-first.md" in the cache should be
""" """
---
title: Entry the first. title: Entry the first.
date: 2020-08-29 11:11 date: 2020-08-29 11:11
starred: False starred: False
tags: tagone, ipsum, tagtwo 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.
Lorem @ipsum dolor sit amet, consectetur adipiscing elit. Praesent malesuada Curabitur accumsan nunc ac neque tristique, eleifend faucibus justo
quis est ac dignissim. Aliquam dignissim rutrum pretium. Phasellus pellentesque ullamcorper. Suspendisse at mattis nunc. Nullam eget lacinia urna. Suspendisse
augue et venenatis facilisis. Suspendisse potenti. Sed dignissim sed nisl eu potenti. Ut urna est, venenatis sed ante in, ultrices congue mi. Maecenas eget
consequat. Aenean ante ex, elementum ut interdum et, mattis eget lacus. In molestie metus. Mauris porttitor dui ornare gravida porta. Quisque sed lectus
commodo nulla nec tellus placerat, sed ultricies metus bibendum. Duis eget hendrerit, lacinia ante eget, vulputate ante. Aliquam vitae erat non felis
venenatis erat. In at dolor dui. @tagone and maybe also @tagtwo. feugiat sagittis. Phasellus quis arcu fringilla, mattis ligula id, vestibulum
urna. Vivamus facilisis leo a mi tincidunt condimentum. Donec eu euismod enim.
Curabitur accumsan nunc ac neque tristique, eleifend faucibus justo Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eu ligula eget
ullamcorper. Suspendisse at mattis nunc. Nullam eget lacinia urna. Suspendisse velit scelerisque fringilla. Phasellus pharetra justo et nulla fringilla, ac
potenti. Ut urna est, venenatis sed ante in, ultrices congue mi. Maecenas eget porta sapien accumsan. Class aptent taciti sociosqu ad litora torquent per
molestie metus. Mauris porttitor dui ornare gravida porta. Quisque sed lectus conubia nostra, per inceptos himenaeos.
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 Examples: configs
@ -458,21 +460,23 @@ Feature: Custom formats
""" """
And the content of file "2020-09-24_the-third-entry-finally-after-weeks-without-writing.md" in the cache should be And the content of file "2020-09-24_the-third-entry-finally-after-weeks-without-writing.md" in the cache should be
""" """
---
title: The third entry finally after weeks without writing. title: The third entry finally after weeks without writing.
date: 2020-09-24 09:14 date: 2020-09-24 09:14
starred: False starred: False
tags: tagone, tagthree tags: tagone, tagthree
body: |
I'm so excited about emojis. 💯 🎶 💩
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
Donec semper pellentesque iaculis. Nullam cursus et justo sit amet venenatis. eget ultrices purus. Quisque at nunc at quam pharetra consectetur vitae quis
Vivamus tempus ex dictum metus vehicula gravida. Aliquam sed sem dolor. Nulla dolor. Fusce ultricies purus eu est feugiat, quis scelerisque nibh malesuada.
eget ultrices purus. Quisque at nunc at quam pharetra consectetur vitae quis Quisque egestas semper nibh in hendrerit. Nam finibus ex in mi mattis
dolor. Fusce ultricies purus eu est feugiat, quis scelerisque nibh malesuada. vulputate. Sed mauris urna, consectetur in justo eu, volutpat accumsan justo.
Quisque egestas semper nibh in hendrerit. Nam finibus ex in mi mattis Phasellus aliquam lacus placerat convallis vestibulum. Curabitur maximus at
vulputate. Sed mauris urna, consectetur in justo eu, volutpat accumsan justo. ante eget fringilla. @tagthree and also @tagone
Phasellus aliquam lacus placerat convallis vestibulum. Curabitur maximus at ...
ante eget fringilla. @tagthree and also @tagone
""" """
Examples: configs Examples: configs

View file

@ -75,6 +75,11 @@ class YAMLExporter(TextExporter):
if previous_line not in ["\r", "\n", "\r\n", "\n\r"]: if previous_line not in ["\r", "\n", "\r\n", "\n\r"]:
newbody = newbody + os.linesep 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: if warn_on_heading_level is True:
print( print(
"{}WARNING{}: Headings increased past H6 on export - {} {}".format( "{}WARNING{}: Headings increased past H6 on export - {} {}".format(
@ -113,14 +118,15 @@ class YAMLExporter(TextExporter):
# source directory is entry.journal.config['journal'] # source directory is entry.journal.config['journal']
# output directory is...? # output directory is...?
return "title: {title}\ndate: {date}\nstarred: {starred}\ntags: {tags}\n{dayone} {body} {space}".format( return "{start}\ntitle: {title}\ndate: {date}\nstarred: {starred}\ntags: {tags}\n{dayone}body: |{body}{end}".format(
start="---",
date=date_str, date=date_str,
title=entry.title, title=entry.title,
starred=entry.starred, starred=entry.starred,
tags=", ".join([tag[1:] for tag in entry.tags]), tags=", ".join([tag[1:] for tag in entry.tags]),
dayone=dayone_attributes, dayone=dayone_attributes,
body=newbody, body=spacebody,
space="", end="...",
) )
@classmethod @classmethod