Consistent toString() and @EqualsAndHashCode for most classes.
This commit is contained in:
parent
8352e6001d
commit
e6e20b5f3e
@ -5,15 +5,25 @@ import com.jessebrault.ssg.specialpage.SpecialPagesProvider
|
|||||||
import com.jessebrault.ssg.template.TemplatesProvider
|
import com.jessebrault.ssg.template.TemplatesProvider
|
||||||
import com.jessebrault.ssg.text.TextsProvider
|
import com.jessebrault.ssg.text.TextsProvider
|
||||||
import groovy.transform.Canonical
|
import groovy.transform.Canonical
|
||||||
|
import groovy.transform.EqualsAndHashCode
|
||||||
import groovy.transform.MapConstructor
|
import groovy.transform.MapConstructor
|
||||||
import groovy.transform.NullCheck
|
import groovy.transform.NullCheck
|
||||||
|
import groovy.transform.TupleConstructor
|
||||||
|
|
||||||
@Canonical
|
@TupleConstructor
|
||||||
@MapConstructor
|
@MapConstructor
|
||||||
@NullCheck
|
@NullCheck
|
||||||
|
@EqualsAndHashCode
|
||||||
class Config {
|
class Config {
|
||||||
|
|
||||||
Collection<TextsProvider> textProviders
|
Collection<TextsProvider> textProviders
|
||||||
Collection<TemplatesProvider> templatesProviders
|
Collection<TemplatesProvider> templatesProviders
|
||||||
Collection<PartsProvider> partsProviders
|
Collection<PartsProvider> partsProviders
|
||||||
Collection<SpecialPagesProvider> specialPagesProviders
|
Collection<SpecialPagesProvider> specialPagesProviders
|
||||||
|
|
||||||
|
String toString() {
|
||||||
|
"Config(textProviders: ${ this.textProviders }, templatesProviders: ${ this.templatesProviders }, " +
|
||||||
|
"partsProviders: ${ this.partsProviders }, specialPagesProviders: ${ this.specialPagesProviders })"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,16 @@
|
|||||||
package com.jessebrault.ssg
|
package com.jessebrault.ssg
|
||||||
|
|
||||||
|
import groovy.transform.EqualsAndHashCode
|
||||||
|
import groovy.transform.NullCheck
|
||||||
|
import groovy.transform.TupleConstructor
|
||||||
import org.slf4j.Logger
|
import org.slf4j.Logger
|
||||||
import org.slf4j.LoggerFactory
|
import org.slf4j.LoggerFactory
|
||||||
import org.slf4j.Marker
|
import org.slf4j.Marker
|
||||||
import org.slf4j.MarkerFactory
|
import org.slf4j.MarkerFactory
|
||||||
|
|
||||||
|
@TupleConstructor(includeFields = true)
|
||||||
|
@NullCheck
|
||||||
|
@EqualsAndHashCode(includeFields = true)
|
||||||
class SimpleStaticSiteGenerator implements StaticSiteGenerator {
|
class SimpleStaticSiteGenerator implements StaticSiteGenerator {
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(SimpleStaticSiteGenerator)
|
private static final Logger logger = LoggerFactory.getLogger(SimpleStaticSiteGenerator)
|
||||||
@ -13,10 +19,6 @@ class SimpleStaticSiteGenerator implements StaticSiteGenerator {
|
|||||||
|
|
||||||
private final Config config
|
private final Config config
|
||||||
|
|
||||||
SimpleStaticSiteGenerator(Config config) {
|
|
||||||
this.config = config
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
void generate(File buildDir, Map globals) {
|
void generate(File buildDir, Map globals) {
|
||||||
logger.trace(enter, 'buildDir: {}, globals: {}', buildDir, globals)
|
logger.trace(enter, 'buildDir: {}, globals: {}', buildDir, globals)
|
||||||
@ -92,4 +94,9 @@ class SimpleStaticSiteGenerator implements StaticSiteGenerator {
|
|||||||
logger.trace(exit, '')
|
logger.trace(exit, '')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"SimpleStaticSiteGenerator()"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
package com.jessebrault.ssg.part
|
package com.jessebrault.ssg.part
|
||||||
|
|
||||||
|
import groovy.transform.EqualsAndHashCode
|
||||||
import groovy.transform.NullCheck
|
import groovy.transform.NullCheck
|
||||||
import groovy.transform.TupleConstructor
|
import groovy.transform.TupleConstructor
|
||||||
|
|
||||||
@TupleConstructor(includeFields = true, defaults = false)
|
@TupleConstructor(includeFields = true, defaults = false)
|
||||||
@NullCheck
|
@NullCheck
|
||||||
class EmbeddablePart {
|
@EqualsAndHashCode(includeFields = true)
|
||||||
|
class EmbeddablePart {
|
||||||
|
|
||||||
private final Part part
|
private final Part part
|
||||||
private final Map globals
|
private final Map globals
|
||||||
@ -14,4 +16,9 @@ import groovy.transform.TupleConstructor
|
|||||||
part.type.renderer.render(this.part.text, binding, this.globals)
|
part.type.renderer.render(this.part.text, binding, this.globals)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"EmbeddablePart(part: ${ this.part }, globals: ${ this.globals })"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package com.jessebrault.ssg.part
|
package com.jessebrault.ssg.part
|
||||||
|
|
||||||
import groovy.transform.ToString
|
import groovy.transform.EqualsAndHashCode
|
||||||
|
|
||||||
@ToString(includeFields = true)
|
@EqualsAndHashCode(includeFields = true)
|
||||||
class EmbeddablePartsMap {
|
class EmbeddablePartsMap {
|
||||||
|
|
||||||
@Delegate
|
@Delegate
|
||||||
@ -11,8 +11,13 @@ class EmbeddablePartsMap {
|
|||||||
EmbeddablePartsMap(Collection<Part> parts, Map globals) {
|
EmbeddablePartsMap(Collection<Part> parts, Map globals) {
|
||||||
Objects.requireNonNull(parts)
|
Objects.requireNonNull(parts)
|
||||||
parts.each {
|
parts.each {
|
||||||
this.put(it.name, new EmbeddablePart(it, globals))
|
this.put(it.path, new EmbeddablePart(it, globals))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"EmbeddablePartsMap(partsMap: ${ this.partsMap })"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,9 @@ package com.jessebrault.ssg.part
|
|||||||
|
|
||||||
import groovy.text.GStringTemplateEngine
|
import groovy.text.GStringTemplateEngine
|
||||||
import groovy.text.TemplateEngine
|
import groovy.text.TemplateEngine
|
||||||
|
import groovy.transform.EqualsAndHashCode
|
||||||
|
|
||||||
|
@EqualsAndHashCode
|
||||||
class GspPartRenderer implements PartRenderer {
|
class GspPartRenderer implements PartRenderer {
|
||||||
|
|
||||||
private static final TemplateEngine engine = new GStringTemplateEngine()
|
private static final TemplateEngine engine = new GStringTemplateEngine()
|
||||||
@ -15,4 +17,9 @@ class GspPartRenderer implements PartRenderer {
|
|||||||
])
|
])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"GspPartRenderer()"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,21 @@
|
|||||||
package com.jessebrault.ssg.part
|
package com.jessebrault.ssg.part
|
||||||
|
|
||||||
import groovy.transform.Canonical
|
import groovy.transform.EqualsAndHashCode
|
||||||
import groovy.transform.NullCheck
|
import groovy.transform.NullCheck
|
||||||
import groovy.transform.TupleConstructor
|
import groovy.transform.TupleConstructor
|
||||||
|
|
||||||
@Canonical
|
|
||||||
@TupleConstructor(defaults = false)
|
@TupleConstructor(defaults = false)
|
||||||
@NullCheck
|
@NullCheck
|
||||||
|
@EqualsAndHashCode
|
||||||
class Part {
|
class Part {
|
||||||
String name
|
|
||||||
|
String path
|
||||||
PartType type
|
PartType type
|
||||||
String text
|
String text
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"Part(path: ${ this.path }, type: ${ this.type })"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ package com.jessebrault.ssg.part
|
|||||||
|
|
||||||
import com.jessebrault.ssg.util.FileNameHandler
|
import com.jessebrault.ssg.util.FileNameHandler
|
||||||
import groovy.io.FileType
|
import groovy.io.FileType
|
||||||
|
import groovy.transform.EqualsAndHashCode
|
||||||
import groovy.transform.NullCheck
|
import groovy.transform.NullCheck
|
||||||
import groovy.transform.TupleConstructor
|
import groovy.transform.TupleConstructor
|
||||||
import org.slf4j.Logger
|
import org.slf4j.Logger
|
||||||
@ -9,6 +10,7 @@ import org.slf4j.LoggerFactory
|
|||||||
|
|
||||||
@TupleConstructor(includeFields = true, defaults = false)
|
@TupleConstructor(includeFields = true, defaults = false)
|
||||||
@NullCheck
|
@NullCheck
|
||||||
|
@EqualsAndHashCode(includeFields = true)
|
||||||
class PartFilePartsProvider implements PartsProvider {
|
class PartFilePartsProvider implements PartsProvider {
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(PartFilePartsProvider)
|
private static final Logger logger = LoggerFactory.getLogger(PartFilePartsProvider)
|
||||||
@ -18,7 +20,7 @@ class PartFilePartsProvider implements PartsProvider {
|
|||||||
|
|
||||||
private PartType getPartType(File file) {
|
private PartType getPartType(File file) {
|
||||||
partTypes.find {
|
partTypes.find {
|
||||||
it.extensions.contains(new FileNameHandler(file).getExtension())
|
it.ids.contains(new FileNameHandler(file).getExtension())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -47,4 +49,9 @@ class PartFilePartsProvider implements PartsProvider {
|
|||||||
this.partTypes
|
this.partTypes
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"PartFilePartsProvider(partsDir: ${ this.partsDir }, partTypes: ${ this.partTypes })"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,20 @@
|
|||||||
package com.jessebrault.ssg.part
|
package com.jessebrault.ssg.part
|
||||||
|
|
||||||
import groovy.transform.Canonical
|
import groovy.transform.EqualsAndHashCode
|
||||||
import groovy.transform.NullCheck
|
import groovy.transform.NullCheck
|
||||||
import groovy.transform.TupleConstructor
|
import groovy.transform.TupleConstructor
|
||||||
|
|
||||||
@Canonical
|
|
||||||
@TupleConstructor(defaults = false)
|
@TupleConstructor(defaults = false)
|
||||||
@NullCheck
|
@NullCheck
|
||||||
|
@EqualsAndHashCode
|
||||||
class PartType {
|
class PartType {
|
||||||
Collection<String> extensions
|
|
||||||
|
Collection<String> ids
|
||||||
PartRenderer renderer
|
PartRenderer renderer
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"PartType(ids: ${ this.ids }, renderer: ${ this.renderer })"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,9 @@ import com.jessebrault.ssg.text.EmbeddableTextsCollection
|
|||||||
import com.jessebrault.ssg.text.Text
|
import com.jessebrault.ssg.text.Text
|
||||||
import groovy.text.GStringTemplateEngine
|
import groovy.text.GStringTemplateEngine
|
||||||
import groovy.text.TemplateEngine
|
import groovy.text.TemplateEngine
|
||||||
|
import groovy.transform.EqualsAndHashCode
|
||||||
|
|
||||||
|
@EqualsAndHashCode
|
||||||
class GspSpecialPageRenderer implements SpecialPageRenderer {
|
class GspSpecialPageRenderer implements SpecialPageRenderer {
|
||||||
|
|
||||||
private static final TemplateEngine engine = new GStringTemplateEngine()
|
private static final TemplateEngine engine = new GStringTemplateEngine()
|
||||||
@ -25,4 +27,9 @@ class GspSpecialPageRenderer implements SpecialPageRenderer {
|
|||||||
])
|
])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"GspSpecialPageRenderer()"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,21 @@
|
|||||||
package com.jessebrault.ssg.specialpage
|
package com.jessebrault.ssg.specialpage
|
||||||
|
|
||||||
import groovy.transform.Canonical
|
import groovy.transform.EqualsAndHashCode
|
||||||
import groovy.transform.NullCheck
|
import groovy.transform.NullCheck
|
||||||
import groovy.transform.TupleConstructor
|
import groovy.transform.TupleConstructor
|
||||||
|
|
||||||
@Canonical
|
|
||||||
@TupleConstructor(defaults = false)
|
@TupleConstructor(defaults = false)
|
||||||
@NullCheck
|
@NullCheck
|
||||||
|
@EqualsAndHashCode
|
||||||
class SpecialPage {
|
class SpecialPage {
|
||||||
|
|
||||||
String text
|
String text
|
||||||
String path
|
String path
|
||||||
SpecialPageType type
|
SpecialPageType type
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"SpecialPage(path: ${ this.path }, type: ${ this.type })"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ package com.jessebrault.ssg.specialpage
|
|||||||
import com.jessebrault.ssg.util.FileNameHandler
|
import com.jessebrault.ssg.util.FileNameHandler
|
||||||
import com.jessebrault.ssg.util.RelativePathHandler
|
import com.jessebrault.ssg.util.RelativePathHandler
|
||||||
import groovy.io.FileType
|
import groovy.io.FileType
|
||||||
|
import groovy.transform.EqualsAndHashCode
|
||||||
import groovy.transform.NullCheck
|
import groovy.transform.NullCheck
|
||||||
import groovy.transform.TupleConstructor
|
import groovy.transform.TupleConstructor
|
||||||
import org.slf4j.Logger
|
import org.slf4j.Logger
|
||||||
@ -10,6 +11,7 @@ import org.slf4j.LoggerFactory
|
|||||||
|
|
||||||
@TupleConstructor(includeFields = true, defaults = false)
|
@TupleConstructor(includeFields = true, defaults = false)
|
||||||
@NullCheck
|
@NullCheck
|
||||||
|
@EqualsAndHashCode(includeFields = true)
|
||||||
class SpecialPageFileSpecialPagesProvider implements SpecialPagesProvider {
|
class SpecialPageFileSpecialPagesProvider implements SpecialPagesProvider {
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(SpecialPageFileSpecialPagesProvider)
|
private static final Logger logger = LoggerFactory.getLogger(SpecialPageFileSpecialPagesProvider)
|
||||||
@ -49,4 +51,9 @@ class SpecialPageFileSpecialPagesProvider implements SpecialPagesProvider {
|
|||||||
this.specialPageTypes
|
this.specialPageTypes
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"SpecialPageFileSpecialPagesProvider(specialPagesDir: ${ this.specialPagesDir }, specialPageTypes: ${ this.specialPageTypes })"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,20 @@
|
|||||||
package com.jessebrault.ssg.specialpage
|
package com.jessebrault.ssg.specialpage
|
||||||
|
|
||||||
import groovy.transform.Canonical
|
import groovy.transform.EqualsAndHashCode
|
||||||
import groovy.transform.NullCheck
|
import groovy.transform.NullCheck
|
||||||
import groovy.transform.TupleConstructor
|
import groovy.transform.TupleConstructor
|
||||||
|
|
||||||
@Canonical
|
|
||||||
@TupleConstructor(defaults = false)
|
@TupleConstructor(defaults = false)
|
||||||
@NullCheck
|
@NullCheck
|
||||||
|
@EqualsAndHashCode
|
||||||
class SpecialPageType {
|
class SpecialPageType {
|
||||||
|
|
||||||
Collection<String> ids
|
Collection<String> ids
|
||||||
SpecialPageRenderer renderer
|
SpecialPageRenderer renderer
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"SpecialPageType(ids: ${ this.ids }, renderer: ${ this.renderer })"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,9 @@ import com.jessebrault.ssg.part.EmbeddablePartsMap
|
|||||||
import com.jessebrault.ssg.text.FrontMatter
|
import com.jessebrault.ssg.text.FrontMatter
|
||||||
import groovy.text.GStringTemplateEngine
|
import groovy.text.GStringTemplateEngine
|
||||||
import groovy.text.TemplateEngine
|
import groovy.text.TemplateEngine
|
||||||
|
import groovy.transform.EqualsAndHashCode
|
||||||
|
|
||||||
|
@EqualsAndHashCode
|
||||||
class GspTemplateRenderer implements TemplateRenderer {
|
class GspTemplateRenderer implements TemplateRenderer {
|
||||||
|
|
||||||
private static final TemplateEngine engine = new GStringTemplateEngine()
|
private static final TemplateEngine engine = new GStringTemplateEngine()
|
||||||
@ -26,4 +28,9 @@ class GspTemplateRenderer implements TemplateRenderer {
|
|||||||
])
|
])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"GspTemplateRenderer()"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,21 @@
|
|||||||
package com.jessebrault.ssg.template
|
package com.jessebrault.ssg.template
|
||||||
|
|
||||||
import groovy.transform.Canonical
|
import groovy.transform.EqualsAndHashCode
|
||||||
import groovy.transform.NullCheck
|
import groovy.transform.NullCheck
|
||||||
import groovy.transform.TupleConstructor
|
import groovy.transform.TupleConstructor
|
||||||
|
|
||||||
@Canonical
|
|
||||||
@TupleConstructor(defaults = false)
|
@TupleConstructor(defaults = false)
|
||||||
@NullCheck
|
@NullCheck
|
||||||
|
@EqualsAndHashCode
|
||||||
class Template {
|
class Template {
|
||||||
|
|
||||||
String text
|
String text
|
||||||
String relativePath
|
String relativePath
|
||||||
TemplateType type
|
TemplateType type
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"Template(path: ${ this.relativePath }, type: ${ this.type })"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ package com.jessebrault.ssg.template
|
|||||||
|
|
||||||
import com.jessebrault.ssg.util.FileNameHandler
|
import com.jessebrault.ssg.util.FileNameHandler
|
||||||
import groovy.io.FileType
|
import groovy.io.FileType
|
||||||
|
import groovy.transform.EqualsAndHashCode
|
||||||
import groovy.transform.NullCheck
|
import groovy.transform.NullCheck
|
||||||
import groovy.transform.TupleConstructor
|
import groovy.transform.TupleConstructor
|
||||||
import org.slf4j.Logger
|
import org.slf4j.Logger
|
||||||
@ -9,6 +10,7 @@ import org.slf4j.LoggerFactory
|
|||||||
|
|
||||||
@TupleConstructor(includeFields = true, defaults = false)
|
@TupleConstructor(includeFields = true, defaults = false)
|
||||||
@NullCheck
|
@NullCheck
|
||||||
|
@EqualsAndHashCode(includeFields = true)
|
||||||
class TemplateFileTemplatesProvider implements TemplatesProvider {
|
class TemplateFileTemplatesProvider implements TemplatesProvider {
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(TemplateFileTemplatesProvider)
|
private static final Logger logger = LoggerFactory.getLogger(TemplateFileTemplatesProvider)
|
||||||
@ -18,7 +20,7 @@ class TemplateFileTemplatesProvider implements TemplatesProvider {
|
|||||||
|
|
||||||
private TemplateType getType(File file) {
|
private TemplateType getType(File file) {
|
||||||
this.templateTypes.find {
|
this.templateTypes.find {
|
||||||
it.extensions.contains(new FileNameHandler(file).getExtension())
|
it.ids.contains(new FileNameHandler(file).getExtension())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -46,4 +48,9 @@ class TemplateFileTemplatesProvider implements TemplatesProvider {
|
|||||||
this.templateTypes
|
this.templateTypes
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"TemplateFileTemplatesProvider(templatesDir: ${ this.templatesDir }, templateTypes: ${ this.templateTypes })"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,20 @@
|
|||||||
package com.jessebrault.ssg.template
|
package com.jessebrault.ssg.template
|
||||||
|
|
||||||
import groovy.transform.Canonical
|
import groovy.transform.EqualsAndHashCode
|
||||||
import groovy.transform.NullCheck
|
import groovy.transform.NullCheck
|
||||||
import groovy.transform.TupleConstructor
|
import groovy.transform.TupleConstructor
|
||||||
|
|
||||||
@Canonical
|
|
||||||
@TupleConstructor(defaults = false)
|
@TupleConstructor(defaults = false)
|
||||||
@NullCheck
|
@NullCheck
|
||||||
|
@EqualsAndHashCode
|
||||||
class TemplateType {
|
class TemplateType {
|
||||||
Collection<String> extensions
|
|
||||||
|
Collection<String> ids
|
||||||
TemplateRenderer renderer
|
TemplateRenderer renderer
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"TemplateType(ids: ${ this.ids }, renderer: ${ this.renderer })"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
package com.jessebrault.ssg.text
|
package com.jessebrault.ssg.text
|
||||||
|
|
||||||
|
import groovy.transform.EqualsAndHashCode
|
||||||
import groovy.transform.Memoized
|
import groovy.transform.Memoized
|
||||||
import groovy.transform.NullCheck
|
import groovy.transform.NullCheck
|
||||||
import groovy.transform.TupleConstructor
|
import groovy.transform.TupleConstructor
|
||||||
|
|
||||||
@TupleConstructor(includeFields = true, defaults = false)
|
@TupleConstructor(includeFields = true, defaults = false)
|
||||||
@NullCheck
|
@NullCheck
|
||||||
|
@EqualsAndHashCode(includeFields = true)
|
||||||
class EmbeddableText {
|
class EmbeddableText {
|
||||||
|
|
||||||
private final Text text
|
private final Text text
|
||||||
@ -25,4 +27,9 @@ import groovy.transform.TupleConstructor
|
|||||||
this.text.path
|
this.text.path
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"EmbeddableText(text: ${ this.text }, globals: ${ this.globals })"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package com.jessebrault.ssg.text
|
package com.jessebrault.ssg.text
|
||||||
|
|
||||||
import groovy.transform.ToString
|
import groovy.transform.EqualsAndHashCode
|
||||||
|
|
||||||
@ToString(includeFields = true)
|
@EqualsAndHashCode(includeFields = true)
|
||||||
class EmbeddableTextsCollection {
|
class EmbeddableTextsCollection {
|
||||||
|
|
||||||
@Delegate
|
@Delegate
|
||||||
@ -14,6 +14,9 @@ class EmbeddableTextsCollection {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"EmbeddableTextsCollection(embeddableTexts: ${ this.embeddableTexts })"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
package com.jessebrault.ssg.text
|
package com.jessebrault.ssg.text
|
||||||
|
|
||||||
|
import groovy.transform.EqualsAndHashCode
|
||||||
import groovy.transform.NullCheck
|
import groovy.transform.NullCheck
|
||||||
import groovy.transform.ToString
|
|
||||||
import groovy.transform.TupleConstructor
|
import groovy.transform.TupleConstructor
|
||||||
import org.slf4j.Logger
|
import org.slf4j.Logger
|
||||||
import org.slf4j.LoggerFactory
|
import org.slf4j.LoggerFactory
|
||||||
|
|
||||||
@TupleConstructor(includeFields = true, defaults = false)
|
@TupleConstructor(includeFields = true, defaults = false)
|
||||||
@NullCheck
|
@NullCheck
|
||||||
@ToString(includeFields = true)
|
@EqualsAndHashCode(includeFields = true)
|
||||||
class FrontMatter {
|
class FrontMatter {
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(FrontMatter)
|
private static final Logger logger = LoggerFactory.getLogger(FrontMatter)
|
||||||
@ -37,4 +37,9 @@ class FrontMatter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"FrontMatter(data: ${ this.data })"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
package com.jessebrault.ssg.text
|
package com.jessebrault.ssg.text
|
||||||
|
|
||||||
|
import groovy.transform.EqualsAndHashCode
|
||||||
import org.commonmark.ext.front.matter.YamlFrontMatterExtension
|
import org.commonmark.ext.front.matter.YamlFrontMatterExtension
|
||||||
import org.commonmark.ext.front.matter.YamlFrontMatterVisitor
|
import org.commonmark.ext.front.matter.YamlFrontMatterVisitor
|
||||||
import org.commonmark.parser.Parser
|
import org.commonmark.parser.Parser
|
||||||
|
|
||||||
|
@EqualsAndHashCode
|
||||||
class MarkdownFrontMatterGetter implements FrontMatterGetter {
|
class MarkdownFrontMatterGetter implements FrontMatterGetter {
|
||||||
|
|
||||||
private static final Parser parser = Parser.builder()
|
private static final Parser parser = Parser.builder()
|
||||||
@ -18,4 +20,9 @@ class MarkdownFrontMatterGetter implements FrontMatterGetter {
|
|||||||
new FrontMatter(v.data)
|
new FrontMatter(v.data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"MarkdownFrontMatterGetter()"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
package com.jessebrault.ssg.text
|
package com.jessebrault.ssg.text
|
||||||
|
|
||||||
|
import groovy.transform.EqualsAndHashCode
|
||||||
import org.commonmark.ext.front.matter.YamlFrontMatterExtension
|
import org.commonmark.ext.front.matter.YamlFrontMatterExtension
|
||||||
import org.commonmark.parser.Parser
|
import org.commonmark.parser.Parser
|
||||||
import org.commonmark.renderer.html.HtmlRenderer
|
import org.commonmark.renderer.html.HtmlRenderer
|
||||||
|
|
||||||
|
@EqualsAndHashCode
|
||||||
class MarkdownTextRenderer implements TextRenderer {
|
class MarkdownTextRenderer implements TextRenderer {
|
||||||
|
|
||||||
private static final Parser parser = Parser.builder()
|
private static final Parser parser = Parser.builder()
|
||||||
@ -16,4 +18,9 @@ class MarkdownTextRenderer implements TextRenderer {
|
|||||||
htmlRenderer.render(parser.parse(text))
|
htmlRenderer.render(parser.parse(text))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"MarkdownTextRenderer()"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,21 @@
|
|||||||
package com.jessebrault.ssg.text
|
package com.jessebrault.ssg.text
|
||||||
|
|
||||||
import groovy.transform.Canonical
|
import groovy.transform.EqualsAndHashCode
|
||||||
import groovy.transform.NullCheck
|
import groovy.transform.NullCheck
|
||||||
import groovy.transform.TupleConstructor
|
import groovy.transform.TupleConstructor
|
||||||
|
|
||||||
@Canonical
|
|
||||||
@TupleConstructor(defaults = false)
|
@TupleConstructor(defaults = false)
|
||||||
@NullCheck
|
@NullCheck
|
||||||
|
@EqualsAndHashCode
|
||||||
class Text {
|
class Text {
|
||||||
|
|
||||||
String text
|
String text
|
||||||
String path
|
String path
|
||||||
TextType type
|
TextType type
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"Text(path: ${ this.path }, type: ${ this.type })"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ package com.jessebrault.ssg.text
|
|||||||
import com.jessebrault.ssg.util.FileNameHandler
|
import com.jessebrault.ssg.util.FileNameHandler
|
||||||
import com.jessebrault.ssg.util.RelativePathHandler
|
import com.jessebrault.ssg.util.RelativePathHandler
|
||||||
import groovy.io.FileType
|
import groovy.io.FileType
|
||||||
|
import groovy.transform.EqualsAndHashCode
|
||||||
import groovy.transform.NullCheck
|
import groovy.transform.NullCheck
|
||||||
import groovy.transform.TupleConstructor
|
import groovy.transform.TupleConstructor
|
||||||
import org.slf4j.Logger
|
import org.slf4j.Logger
|
||||||
@ -10,6 +11,7 @@ import org.slf4j.LoggerFactory
|
|||||||
|
|
||||||
@TupleConstructor(includeFields = true, defaults = false)
|
@TupleConstructor(includeFields = true, defaults = false)
|
||||||
@NullCheck
|
@NullCheck
|
||||||
|
@EqualsAndHashCode(includeFields = true)
|
||||||
class TextFileTextsProvider implements TextsProvider {
|
class TextFileTextsProvider implements TextsProvider {
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(TextFileTextsProvider)
|
private static final Logger logger = LoggerFactory.getLogger(TextFileTextsProvider)
|
||||||
@ -49,4 +51,9 @@ class TextFileTextsProvider implements TextsProvider {
|
|||||||
this.textTypes
|
this.textTypes
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"TextFileTextsProvider(textsDir: ${ this.textsDir }, textTypes: ${ this.textTypes })"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,21 @@
|
|||||||
package com.jessebrault.ssg.text
|
package com.jessebrault.ssg.text
|
||||||
|
|
||||||
import groovy.transform.Canonical
|
import groovy.transform.EqualsAndHashCode
|
||||||
import groovy.transform.NullCheck
|
import groovy.transform.NullCheck
|
||||||
import groovy.transform.TupleConstructor
|
import groovy.transform.TupleConstructor
|
||||||
|
|
||||||
@Canonical
|
|
||||||
@TupleConstructor(defaults = false)
|
@TupleConstructor(defaults = false)
|
||||||
@NullCheck
|
@NullCheck
|
||||||
|
@EqualsAndHashCode
|
||||||
class TextType {
|
class TextType {
|
||||||
|
|
||||||
Collection<String> ids
|
Collection<String> ids
|
||||||
TextRenderer renderer
|
TextRenderer renderer
|
||||||
FrontMatterGetter frontMatterGetter
|
FrontMatterGetter frontMatterGetter
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"TextType(ids: ${ this.ids }, renderer: ${ this.renderer }, frontMatterGetter: ${ this.renderer })"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
package com.jessebrault.ssg.util
|
package com.jessebrault.ssg.util
|
||||||
|
|
||||||
|
import groovy.transform.EqualsAndHashCode
|
||||||
import groovy.transform.NullCheck
|
import groovy.transform.NullCheck
|
||||||
import groovy.transform.TupleConstructor
|
import groovy.transform.TupleConstructor
|
||||||
|
|
||||||
@TupleConstructor(includeFields = true, defaults = false)
|
@TupleConstructor(includeFields = true, defaults = false)
|
||||||
@NullCheck
|
@NullCheck
|
||||||
|
@EqualsAndHashCode(includeFields = true)
|
||||||
class FileNameHandler {
|
class FileNameHandler {
|
||||||
|
|
||||||
private final File file
|
private final File file
|
||||||
@ -22,4 +24,9 @@ class FileNameHandler {
|
|||||||
this.file.name.substring(0, this.file.name.lastIndexOf('.'))
|
this.file.name.substring(0, this.file.name.lastIndexOf('.'))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"FileNameHandler(file: ${ this.file })"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
package com.jessebrault.ssg.util
|
package com.jessebrault.ssg.util
|
||||||
|
|
||||||
|
import groovy.transform.EqualsAndHashCode
|
||||||
import groovy.transform.NullCheck
|
import groovy.transform.NullCheck
|
||||||
import groovy.transform.TupleConstructor
|
import groovy.transform.TupleConstructor
|
||||||
|
|
||||||
@TupleConstructor(includeFields = true, defaults = false)
|
@TupleConstructor(includeFields = true, defaults = false)
|
||||||
@NullCheck
|
@NullCheck
|
||||||
|
@EqualsAndHashCode(includeFields = true)
|
||||||
class RelativePathHandler {
|
class RelativePathHandler {
|
||||||
|
|
||||||
private final String relativePath
|
private final String relativePath
|
||||||
@ -13,4 +15,9 @@ class RelativePathHandler {
|
|||||||
this.relativePath.subSequence(0, this.relativePath.lastIndexOf('.'))
|
this.relativePath.subSequence(0, this.relativePath.lastIndexOf('.'))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toString() {
|
||||||
|
"RelativePathHandler(relativePath: ${ this.relativePath })"
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ class PartFilePartsProviderTests {
|
|||||||
def r = this.partsProvider.getParts()
|
def r = this.partsProvider.getParts()
|
||||||
assertEquals(1, r.size())
|
assertEquals(1, r.size())
|
||||||
def p0 = r[0]
|
def p0 = r[0]
|
||||||
assertEquals('testPart.gsp', p0.name)
|
assertEquals('testPart.gsp', p0.path)
|
||||||
assertEquals(gspPartType, p0.type)
|
assertEquals(gspPartType, p0.type)
|
||||||
assertEquals('Hello <%= name %>!', p0.text)
|
assertEquals('Hello <%= name %>!', p0.text)
|
||||||
}
|
}
|
||||||
@ -43,7 +43,7 @@ class PartFilePartsProviderTests {
|
|||||||
def r = this.partsProvider.getParts()
|
def r = this.partsProvider.getParts()
|
||||||
assertEquals(1, r.size())
|
assertEquals(1, r.size())
|
||||||
def p0 = r[0]
|
def p0 = r[0]
|
||||||
assertEquals('nested/testPart.gsp', p0.name)
|
assertEquals('nested/testPart.gsp', p0.path)
|
||||||
assertEquals(gspPartType, p0.type)
|
assertEquals(gspPartType, p0.type)
|
||||||
assertEquals('Hello, World!', p0.text)
|
assertEquals('Hello, World!', p0.text)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user