diff --git a/api/src/main/groovy/com/jessebrault/ssg/DefaultStaticSiteGenerator.groovy b/api/src/main/groovy/com/jessebrault/ssg/DefaultStaticSiteGenerator.groovy index 84793c7..2af0989 100644 --- a/api/src/main/groovy/com/jessebrault/ssg/DefaultStaticSiteGenerator.groovy +++ b/api/src/main/groovy/com/jessebrault/ssg/DefaultStaticSiteGenerator.groovy @@ -12,6 +12,7 @@ import com.jessebrault.ssg.page.PageSpec import com.jessebrault.ssg.text.Text import com.jessebrault.ssg.util.Diagnostic import com.jessebrault.ssg.view.PageView +import com.jessebrault.ssg.view.SkipTemplate import com.jessebrault.ssg.view.WvcPageView import groovy.transform.TupleConstructor import groowt.util.di.RegistryObjectFactory @@ -255,7 +256,9 @@ class DefaultStaticSiteGenerator implements StaticSiteGenerator { } else { component = objectFactory.createInstance(wvcClass) } - if (component.componentTemplate == null) { + component.context = pageView.context + if (component.componentTemplate == null + && !wvcClass.isAnnotationPresent(SkipTemplate)) { def compileResult = this.compileTemplate( wvcClass, wvcClass.simpleName + 'Template.wvc', diff --git a/api/src/main/groovy/com/jessebrault/ssg/view/SkipTemplate.groovy b/api/src/main/groovy/com/jessebrault/ssg/view/SkipTemplate.groovy new file mode 100644 index 0000000..47629e0 --- /dev/null +++ b/api/src/main/groovy/com/jessebrault/ssg/view/SkipTemplate.groovy @@ -0,0 +1,10 @@ +package com.jessebrault.ssg.view + +import java.lang.annotation.ElementType +import java.lang.annotation.Retention +import java.lang.annotation.RetentionPolicy +import java.lang.annotation.Target + +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.TYPE) +@interface SkipTemplate {}