This is the answer:
object SluggedMetaMapper {
def unapply(parsePath: ParsePath) = {
Some((parsePath.partPath.init, parsePath.partPath.last,
parsePath.suffix, parsePath.absolute, parsePath.endSlash))
}
}
---
val URL_PATH: List[String]
val URL_SLUG_PARAM = "slug"
lazy val URL_PREFIX = URL_PATH.mkString("/", "/", "/")
lazy val URL_LINK = Loc(URL_PATH.mkString("-"), URL_PATH,
URL_PATH.last, Loc.Hidden)
def rewrite = {
debug("Add rewrite %s<slug> -> %s" format (URL_PREFIX,
URL_PATH.mkString("/", "/", ".html")))
LiftRules.statelessRewrite.append {
case RewriteRequest(SluggedMetaMapper(URL_PATH, slug,_,_,_),_,_) =>
RewriteResponse(URL_PATH, Map(URL_SLUG_PARAM -> slug))