example/src/sqwl/cms/Content.scala
changeset 16 4556852613a9
parent 15 1e1b0a1a4d63
child 17 0ebcd5464503
--- a/example/src/sqwl/cms/Content.scala	Tue Dec 11 15:03:57 2018 +0100
+++ b/example/src/sqwl/cms/Content.scala	Tue Dec 11 21:33:20 2018 +0100
@@ -6,8 +6,8 @@
 import akka.stream.scaladsl.FileIO
 import enumeratum.EnumEntry.Hyphencase
 import enumeratum._
-
 import scala.io.Source
+import scalatags.Text.all._
 
 sealed abstract class Category(val name: String) extends EnumEntry with
   iCategory with Hyphencase {
@@ -41,12 +41,16 @@
 
 sealed abstract class Article(val title: String,
   val category: Option[iCategory],
-  val tags: Seq[iTag],
+  val tags: Seq[iTag] = Seq(),
+  val tex: Option[SeqFrag[Frag]] = None
+) extends EnumEntry with ScalatexOrFsArticle with Hyphencase {
 
-) extends EnumEntry with FsArticle with Hyphencase {
+  override protected def content: Either[Path, SeqFrag[Frag]] = tex match {
+    case Some(v) => Right(v)
+    case _ =>
+      Left(Paths.get(s"example/content/${entryName}.html"))
+  }
 
-  override protected def contentPath: Path = Paths.get(
-    s"example/content/${entryName}.html")
   override def assets: Path = Paths.get(s"example/content/${entryName}")
   override def pathSegment: String = entryName
 }
@@ -57,11 +61,14 @@
   val values = findValues
   case object A1 extends Article("Article 1", Some(Cat1),
     Seq(Tag1, Tag2, Tag3))
-  case object A2 extends Article("Article 2", Some(Cat1), Seq())
+  case object A2 extends Article("Article 2", Some(Cat1))
   case object A3 extends Article("Article 3", Some(Cat1),
     Seq(Tag4, Tag5))
   case object A4 extends Article("Article 4", Some(Cat2), Seq(Tag4))
   case object A5 extends Article("Article 5", Some(Cat2), Seq(Tag5))
+  import scalatex._
+  case object A6 extends Article("Article 6", Some(Cat1),
+    Seq(Tag1), Some(twf("example/content/a6.scalatex")))
 }
 
 object Content extends iContent {