FrontMatter now has a Text field.
This commit is contained in:
parent
27ae22d5eb
commit
25a06332d4
@ -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 })"
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -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, [:]))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user