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 final Text text
private final Map<String, List<String>> data
String get(String key) {
if (data[key] != null) {
data[key][0]
} 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) {
data[key]
} 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
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 v = new YamlFrontMatterVisitor()
node.accept(v)
new Tuple2([], new FrontMatter(v.data))
new Tuple2([], new FrontMatter(text, v.data))
} 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 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)
assertEquals('Hello, World!', r.v2)
}
@ -49,7 +49,7 @@ class GspTemplateRendererTests {
def partType = new PartType([], partRenderer)
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)
assertEquals('Hello, World!', r.v2)
}
@ -57,7 +57,7 @@ class GspTemplateRendererTests {
@Test
void rendersFrontMatter() {
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)
assertEquals('Hello!', r.v2)
}
@ -65,7 +65,7 @@ class GspTemplateRendererTests {
@Test
void rendersGlobal() {
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)
assertEquals('Hello, World!', r.v2)
}
@ -73,7 +73,7 @@ class GspTemplateRendererTests {
@Test
void rendersText() {
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)
assertEquals('Hello, World!', r.v2)
}