diff -r 0ebcd5464503 -r 8cfd67425811 example/src/sqwl/cms/Content.scala --- a/example/src/sqwl/cms/Content.scala Tue Dec 11 21:37:53 2018 +0100 +++ b/example/src/sqwl/cms/Content.scala Thu Dec 13 14:21:10 2018 +0100 @@ -38,39 +38,8 @@ case object Tag6 extends Tag("Tag 6") } -sealed abstract class Article(val title: String, - val category: Option[iCategory], - val tags: Seq[iTag] = Seq(), - val tex: Option[SeqFrag[Frag]] = None -) extends EnumEntry with ScalatexOrFsArticle 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 def assets: Path = Paths.get(s"example/content/${entryName}") - override def pathSegment: String = entryName -} - -object Article extends Enum[Article] { - import Category._ - import Tag._ - 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)) - 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 { + InitializeContent() def appTitle: String = "Content management system example" @@ -85,17 +54,17 @@ ("site.css", Paths.get("example/content/public/css/site.css")) def articlesByTag(t: iTag): Seq[iArticle] = - Article.values.filter(_.tags contains(t)) + Articles.values.filter(_.tags contains(t)) def articlesByCategory(c: iCategory): Seq[iArticle] = - Article.values.filter(_.category contains(c)) + Articles.values.filter(_.category contains(c)) def tags: Seq[iTag] = Tag.values def categories: Seq[iCategory] = Category.values def articleByPath(path: String): Option[iArticle] = - Article.withNameOption(path) + Articles.values.find(_.pathSegment == path) def categoryByPath(path: String): Option[iCategory] = Category.withNameOption(path)