FrontMatter now has a Text field.

This commit is contained in:
JesseBrault0709 2023-01-08 17:36:01 -06:00
parent 27ae22d5eb
commit 25a06332d4
3 changed files with 11 additions and 10 deletions

View File

@ -13,13 +13,14 @@ class FrontMatter {
private static final Logger logger = LoggerFactory.getLogger(FrontMatter) private static final Logger logger = LoggerFactory.getLogger(FrontMatter)
private final Text text
private final Map<String, List<String>> data private final Map<String, List<String>> data
String get(String key) { String get(String key) {
if (data[key] != null) { if (data[key] != null) {
data[key][0] data[key][0]
} else { } else {
logger.warn('no entry for key in frontMatter, returning empty string: {}', key) logger.warn('in {} no entry for key {} in frontMatter, returning empty string', this.text, key)
'' ''
} }
} }
@ -32,14 +33,14 @@ class FrontMatter {
if (data[key] != null) { if (data[key] != null) {
data[key] data[key]
} else { } else {
logger.warn('no entry for key in frontMatter, returning empty list: {}', key) logger.warn('in {} no entry for key {} in frontMatter, returning empty list: {}', this.text, key)
[] []
} }
} }
@Override @Override
String toString() { String toString() {
"FrontMatter(data: ${ this.data })" "FrontMatter(text: ${ this.text }, data: ${ this.data })"
} }
} }

View File

@ -21,9 +21,9 @@ class MarkdownFrontMatterGetter implements FrontMatterGetter {
def node = parser.parse(text.text) def node = parser.parse(text.text)
def v = new YamlFrontMatterVisitor() def v = new YamlFrontMatterVisitor()
node.accept(v) node.accept(v)
new Tuple2([], new FrontMatter(v.data)) new Tuple2([], new FrontMatter(text, v.data))
} catch (Exception e) { } catch (Exception e) {
new Tuple2<>([new Diagnostic("An exception occured while parsing frontMatter for ${ text.path }:\n${ e }", e)], new FrontMatter([:])) new Tuple2<>([new Diagnostic("An exception occured while parsing frontMatter for ${ text.path }:\n${ e }", e)], new FrontMatter(text, [:]))
} }
} }

View File

@ -32,7 +32,7 @@ class GspTemplateRendererTests {
def partType = new PartType([], partRenderer) def partType = new PartType([], partRenderer)
def part = new Part('test', partType, null) def part = new Part('test', partType, null)
def r = this.renderer.render(template, new FrontMatter([:]), '', [part], [:]) def r = this.renderer.render(template, new FrontMatter(null, [:]), '', [part], [:])
assertTrue(r.v1.size() == 0) assertTrue(r.v1.size() == 0)
assertEquals('Hello, World!', r.v2) assertEquals('Hello, World!', r.v2)
} }
@ -49,7 +49,7 @@ class GspTemplateRendererTests {
def partType = new PartType([], partRenderer) def partType = new PartType([], partRenderer)
def part = new Part('greeting', partType, null) def part = new Part('greeting', partType, null)
def r = this.renderer.render(template, new FrontMatter([:]), '', [part], [:]) def r = this.renderer.render(template, new FrontMatter(null, [:]), '', [part], [:])
assertTrue(r.v1.size() == 0) assertTrue(r.v1.size() == 0)
assertEquals('Hello, World!', r.v2) assertEquals('Hello, World!', r.v2)
} }
@ -57,7 +57,7 @@ class GspTemplateRendererTests {
@Test @Test
void rendersFrontMatter() { void rendersFrontMatter() {
def template = new Template("<%= frontMatter['title'] %>", null, null) def template = new Template("<%= frontMatter['title'] %>", null, null)
def r = this.renderer.render(template, new FrontMatter([title: ['Hello!']]), '', [], [:]) def r = this.renderer.render(template, new FrontMatter(null, [title: ['Hello!']]), '', [], [:])
assertTrue(r.v1.size() == 0) assertTrue(r.v1.size() == 0)
assertEquals('Hello!', r.v2) assertEquals('Hello!', r.v2)
} }
@ -65,7 +65,7 @@ class GspTemplateRendererTests {
@Test @Test
void rendersGlobal() { void rendersGlobal() {
def template = new Template("<%= globals['test'] %>", null, null) def template = new Template("<%= globals['test'] %>", null, null)
def r = this.renderer.render(template, new FrontMatter([:]), '', [], [test: 'Hello, World!']) def r = this.renderer.render(template, new FrontMatter(null, [:]), '', [], [test: 'Hello, World!'])
assertTrue(r.v1.size() == 0) assertTrue(r.v1.size() == 0)
assertEquals('Hello, World!', r.v2) assertEquals('Hello, World!', r.v2)
} }
@ -73,7 +73,7 @@ class GspTemplateRendererTests {
@Test @Test
void rendersText() { void rendersText() {
def template = new Template('<%= text %>', null, null) def template = new Template('<%= text %>', null, null)
def r = this.renderer.render(template, new FrontMatter([:]), 'Hello, World!', [], [:]) def r = this.renderer.render(template, new FrontMatter(null, [:]), 'Hello, World!', [], [:])
assertTrue(r.v1.size() == 0) assertTrue(r.v1.size() == 0)
assertEquals('Hello, World!', r.v2) assertEquals('Hello, World!', r.v2)
} }