# HG changeset patch # User Tomas Zeman # Date 1609257451 -3600 # Node ID 775d6da269934689420b00132d74215a7578893b # Parent fa0f19a74283b36eb5a90b906fed6629cec8d23e Dynamic content rendering: current time tag. diff -r fa0f19a74283 -r 775d6da26993 base/src/sqwl/cms/package.scala --- a/base/src/sqwl/cms/package.scala Tue Dec 29 16:46:47 2020 +0100 +++ b/base/src/sqwl/cms/package.scala Tue Dec 29 16:57:31 2020 +0100 @@ -1,10 +1,27 @@ +/* + * Copyright 2018-2020 Tomas Zeman + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package sqwl import java.nio.file.Path +import java.time.LocalDateTime import scala.io.Source import scala.util.{Failure, Success, Try} import scalatags.Text.all._ +import scalatags.text.Builder package object cms { @@ -28,4 +45,17 @@ val usedUrl = if (customUrl == "") name else customUrl a(name, href := usedUrl) } + + def time: Frag = new Frag { + + override def render: String = { + println("time.render()") + LocalDateTime.now().toString + } + + override def applyTo(t: Builder): Unit = { + println("time.applyTo()") + t.addChild(render) + } + } } diff -r fa0f19a74283 -r 775d6da26993 example/content/a1.scalatex --- a/example/content/a1.scalatex Tue Dec 29 16:46:47 2020 +0100 +++ b/example/content/a1.scalatex Tue Dec 29 16:57:31 2020 +0100 @@ -1,2 +1,4 @@ @article("Article 1", Cat1, Seq(Tag1, Tag2, Tag3)) @raw(readFile("example/content/a1.html")) + @p + Current time: @time