Dynamic content rendering: current time tag.
--- 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 <tomas@functionals.cz>
+ *
+ * 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)
+ }
+ }
}
--- 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