If a post is missing an author tag, the following error occurs:
2024-11-01 12:08:42,499 ERROR [io.qua.roq.fro.run.RoqRouteHandler] (vert.x-worker-thread-1) Error occurred while rendering the template [posts/2017-10-30-rwlocks-with-just-synch.md]: io.quarkus.qute.TemplateException: Rendering error in template [roq-gen/layouts/roq-default/post.html] line 44: Property "author" not found on the base object "io.vertx.core.json.JsonObject" in expression {page.data.author}
2024-11-01 12:08:42,503 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (vert.x-eventloop-thread-0) HTTP Request to /posts/a-lightweight-readers-writer-lock failed, error id: f6c9d2f4-b4f4-4a65-8ef8-c6ebd41c7765-1: io.quarkus.qute.TemplateException: Rendering error in template [roq-gen/layouts/roq-default/post.html] line 44: Property "author" not found on the base object "io.vertx.core.json.JsonObject" in expression {page.data.author}
at io.quarkus.qute.TemplateException$Builder.build(TemplateException.java:169)
at io.quarkus.qute.EvaluatorImpl.propertyNotFound(EvaluatorImpl.java:234)
at io.quarkus.qute.EvaluatorImpl.resolve(EvaluatorImpl.java:204)
at io.quarkus.qute.EvaluatorImpl.lambda$resolve$4(EvaluatorImpl.java:214)
at io.quarkus.qute.CompletedStage.thenCompose(CompletedStage.java:249)
at io.quarkus.qute.EvaluatorImpl.resolve(EvaluatorImpl.java:211)
at io.quarkus.qute.EvaluatorImpl.resolveReference(EvaluatorImpl.java:131)
at io.quarkus.qute.EvaluatorImpl.lambda$resolveReference$2(EvaluatorImpl.java:135)
at io.quarkus.qute.CompletedStage.thenCompose(CompletedStage.java:249)
at io.quarkus.qute.EvaluatorImpl.resolveReference(EvaluatorImpl.java:135)
at io.quarkus.qute.EvaluatorImpl.lambda$resolveReference$2(EvaluatorImpl.java:135)
at io.quarkus.qute.CompletedStage.thenCompose(CompletedStage.java:249)
at io.quarkus.qute.EvaluatorImpl.resolveReference(EvaluatorImpl.java:135)
at io.quarkus.qute.EvaluatorImpl.evaluate(EvaluatorImpl.java:85)
at io.quarkus.qute.ResolutionContextImpl$ChildResolutionContext.evaluate(ResolutionContextImpl.java:92)
at io.quarkus.qute.EvaluatorImpl$EvalContextImpl.evaluate(EvaluatorImpl.java:387)
at io.quarkus.qute.runtime.jsonobject.JsonObjectValueResolver.resolve(JsonObjectValueResolver.java:39)
at io.quarkus.qute.EvaluatorImpl.resolve(EvaluatorImpl.java:211)
at io.quarkus.qute.EvaluatorImpl.resolveReference(EvaluatorImpl.java:131)
at io.quarkus.qute.EvaluatorImpl.lambda$evaluate$0(EvaluatorImpl.java:78)
at io.quarkus.qute.CompletedStage.thenCompose(CompletedStage.java:249)
at io.quarkus.qute.EvaluatorImpl.evaluate(EvaluatorImpl.java:77)
at io.quarkus.qute.ResolutionContextImpl$ChildResolutionContext.evaluate(ResolutionContextImpl.java:92)
at io.quarkus.qute.Futures.evaluateParams(Futures.java:40)
at io.quarkus.qute.SectionNode$SectionResolutionContextImpl.evaluate(SectionNode.java:229)
at io.quarkus.qute.SetSectionHelper.resolve(SetSectionHelper.java:42)
at io.quarkus.qute.SectionNode.resolve(SectionNode.java:53)
at io.quarkus.qute.SectionNode.resolve(SectionNode.java:58)
at io.quarkus.qute.Results.resolveWith(Results.java:110)
at io.quarkus.qute.Results.resolveAndProcess(Results.java:57)
at io.quarkus.qute.SectionNode$SectionResolutionContextImpl.execute(SectionNode.java:238)
at io.quarkus.qute.InsertSectionHelper.resolve(InsertSectionHelper.java:28)
at io.quarkus.qute.SectionNode.resolve(SectionNode.java:53)
at io.quarkus.qute.SectionNode.resolve(SectionNode.java:58)
at io.quarkus.qute.Results.resolveWith(Results.java:110)
at io.quarkus.qute.Results.resolveAndProcess(Results.java:57)
at io.quarkus.qute.SectionNode$SectionResolutionContextImpl.execute(SectionNode.java:238)
at io.quarkus.qute.InsertSectionHelper.resolve(InsertSectionHelper.java:28)
at io.quarkus.qute.SectionNode.resolve(SectionNode.java:53)
at io.quarkus.qute.SectionNode.resolve(SectionNode.java:58)
at io.quarkus.qute.Results.resolveWith(Results.java:110)
at io.quarkus.qute.Results.resolveAndProcess(Results.java:57)
at io.quarkus.qute.SectionNode$SectionResolutionContextImpl.execute(SectionNode.java:238)
at io.quarkus.qute.SectionHelper$SectionResolutionContext.execute(SectionHelper.java:66)
at io.quarkus.qute.Parser$1.resolve(Parser.java:1331)
at io.quarkus.qute.SectionNode.resolve(SectionNode.java:53)
at io.quarkus.qute.IncludeSectionHelper.resolve(IncludeSectionHelper.java:50)
at io.quarkus.qute.SectionNode.resolve(SectionNode.java:53)
at io.quarkus.qute.SectionNode.resolve(SectionNode.java:58)
at io.quarkus.qute.Results.resolveWith(Results.java:110)
at io.quarkus.qute.Results.resolveAndProcess(Results.java:50)
at io.quarkus.qute.SectionNode$SectionResolutionContextImpl.execute(SectionNode.java:238)
at io.quarkus.qute.SectionHelper$SectionResolutionContext.execute(SectionHelper.java:66)
at io.quarkus.qute.Parser$1.resolve(Parser.java:1331)
at io.quarkus.qute.SectionNode.resolve(SectionNode.java:53)
at io.quarkus.qute.IncludeSectionHelper.resolve(IncludeSectionHelper.java:50)
at io.quarkus.qute.SectionNode.resolve(SectionNode.java:53)
at io.quarkus.qute.SectionNode.resolve(SectionNode.java:58)
at io.quarkus.qute.Results.resolveWith(Results.java:110)
at io.quarkus.qute.Results.resolveAndProcess(Results.java:50)
at io.quarkus.qute.SectionNode$SectionResolutionContextImpl.execute(SectionNode.java:238)
at io.quarkus.qute.SectionHelper$SectionResolutionContext.execute(SectionHelper.java:66)
at io.quarkus.qute.Parser$1.resolve(Parser.java:1331)
at io.quarkus.qute.SectionNode.resolve(SectionNode.java:53)
at io.quarkus.qute.IncludeSectionHelper.resolve(IncludeSectionHelper.java:50)
at io.quarkus.qute.SectionNode.resolve(SectionNode.java:53)
at io.quarkus.qute.SectionNode.resolve(SectionNode.java:58)
at io.quarkus.qute.Results.resolveWith(Results.java:110)
at io.quarkus.qute.Results.resolveAndProcess(Results.java:50)
at io.quarkus.qute.SectionNode$SectionResolutionContextImpl.execute(SectionNode.java:238)
at io.quarkus.qute.SectionHelper$SectionResolutionContext.execute(SectionHelper.java:66)
at io.quarkus.qute.Parser$1.resolve(Parser.java:1331)
at io.quarkus.qute.SectionNode.resolve(SectionNode.java:53)
at io.quarkus.qute.SectionNode.resolve(SectionNode.java:58)
at io.quarkus.qute.TemplateImpl$TemplateInstanceImpl.renderData(TemplateImpl.java:272)
at io.quarkus.qute.TemplateImpl$TemplateInstanceImpl.renderAsyncNoTimeout(TemplateImpl.java:239)
at io.quarkus.qute.TemplateImpl$TemplateInstanceImpl.renderAsync(TemplateImpl.java:212)
at io.quarkus.qute.runtime.TemplateProducer$InjectableTemplate$InjectableTemplateInstanceImpl.renderAsync(TemplateProducer.java:353)
at io.quarkiverse.roq.frontmatter.runtime.RoqRouteHandler.handlePage(RoqRouteHandler.java:149)
at io.quarkiverse.roq.frontmatter.runtime.RoqRouteHandler.handle(RoqRouteHandler.java:88)
at io.quarkiverse.roq.frontmatter.runtime.RoqRouteHandler.handle(RoqRouteHandler.java:36)
at io.vertx.ext.web.impl.BlockingHandlerDecorator.lambda$handle$0(BlockingHandlerDecorator.java:48)
at io.vertx.core.impl.ContextImpl.lambda$executeBlocking$1(ContextImpl.java:191)
at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:270)
at io.vertx.core.impl.ContextImpl.lambda$internalExecuteBlocking$2(ContextImpl.java:210)
at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2675)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2654)
at org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1627)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1594)
at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:11)
at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:11)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1583)
It would be nice to have a default or perhaps just render without an author.
If a post is missing an
authortag, the following error occurs:It would be nice to have a default or perhaps just render without an author.