Article.rank: sort articles by category/tag w.r.t. rank
package sqwl.cms
import java.nio.file.{Path, Paths}
import scala.collection.mutable
import scalatags.Text.all._
object Articles {
case class Id(v: String)
case class Article(
id: Id,
title: String,
category: Option[iCategory],
tags: Seq[iTag] = Seq(),
htmlContent: String,
rank: Int = 0
) extends iArticle {
override def assets: Path = Paths.get(s"example/content/${id.v}")
override def pathSegment: String = id.v
}
private val all = mutable.ArrayBuffer[iArticle]()
def values: Seq[iArticle] = all.toIndexedSeq
def article(title: String, cat: iCategory, tags: Seq[iTag] = Seq(),
rank: Int = 0)(body: Frag*)(implicit articleId: Id): SeqFrag[Frag] = {
all += Article(articleId, title, Option(cat), tags, body.render, rank)
body
}
}