
ossilphant_3.0.0.2.source-code.post-html-untemplate.scala Maven / Gradle / Ivy
// DO NOT HAND EDIT -- Autogenerated from 'post.html.untemplate' at 2023-09-25T05:41:50.537130Z
package com.mchange.fossilphant.theme.tower
import java.io.{Writer,StringWriter}
import scala.collection.*
import com.mchange.fossilphant.*
val Untemplate_post_html = new untemplate.Untemplate[Tuple2[LocatedPostWithContext,Option[Function1[String,String]]],Nothing]:
val UntemplateFunction : untemplate.Untemplate[Tuple2[LocatedPostWithContext,Option[Function1[String,String]]],Nothing] = this
val UntemplateName : String = "post_html"
val UntemplatePackage : String = "com.mchange.fossilphant.theme.tower"
val UntemplateInputName : String = "tup"
val UntemplateInputTypeDeclared : String = "Tuple2[LocatedPostWithContext,Option[Function1[String,String]]]"
val UntemplateInputTypeCanonical : Option[String] = untemplate.Macro.nonEmptyStringOption( untemplate.Macro.recursiveCanonicalName[Tuple2[LocatedPostWithContext,Option[Function1[String,String]]]] )
val UntemplateInputDefaultArgument : Option[Tuple2[LocatedPostWithContext,Option[Function1[String,String]]]] = (None : Option[Tuple2[LocatedPostWithContext,Option[Function1[String,String]]]])
val UntemplateOutputMetadataTypeDeclared : String = "Nothing"
val UntemplateOutputMetadataTypeCanonical : Option[String] = untemplate.Macro.nonEmptyStringOption( untemplate.Macro.recursiveCanonicalName[Nothing] )
val UntemplateHeaderNote : String = ""
val UntemplateAttributes : immutable.Map[String,Any] = immutable.Map.empty
def apply(tup : Tuple2[LocatedPostWithContext,Option[Function1[String,String]]]) : untemplate.Result[Nothing] =
val writer : StringWriter = new StringWriter(18710)
val attrs : immutable.Map[String,Any] = UntemplateAttributes
var mbMetadata : Option[Nothing] = None
var outputTransformer : Function1[untemplate.Result[Nothing],untemplate.Result[Nothing]] = identity
val lpwc = tup(0)
val outLinkGen = tup(1)
val post = lpwc.post
val context = lpwc.context
val zdt = post.published.atZone(context.config.timestampTimezone)
def makePostId(localId : String) = s"post-${localId}"
val postId = makePostId(post.localId)
val mbOutLink = outLinkGen.map( _(post.localId) )
val selfLink = mbOutLink.getOrElse( "#" + postId )
val newSelfUrl = context.config.newSelfUrl
def mbSelfUrled( contents : String ) : String =
newSelfUrl.fold( contents ){ url =>
s"""${contents}"""
}
end mbSelfUrled
val block0 = new Function0[String]:
def apply() : String =
"\n\n \n \n " + ( mbSelfUrled( context.userDisplayName ) ) +
"\n " + ( mbSelfUrled( "@" + post.user ) ) +
"\n \n " + ( post.content ) +
"\n " + ( poll_html( post.pollItems ) ) +
"\n"
writer.write(block0())
val mbReplyLink = post.inReplyTo match
case InReplyTo.NoOne => None
case InReplyTo.Self( irtLocalId ) => Some( s"""self""" )
case InReplyTo.Other( url ) =>
url match
case StatusUrlRegex(irtHost, irtUser, irtLocalId) => Some( s"""@${irtUser}""" )
case other => Some( s"""this""" )
mbReplyLink.foreach { link =>
val block1 = new Function0[String]:
def apply() : String =
" \n"
writer.write(block1())
}
post.images.foreach { image =>
writer.write( image_html( lpwc.siteRootedLocation, image ).text )
}
val block2 = new Function0[String]:
def apply() : String =
"\n"
writer.write(block2())
outputTransformer( untemplate.Result( mbMetadata, writer.toString ) )
end apply
end Untemplate_post_html
def post_html(tup : Tuple2[LocatedPostWithContext,Option[Function1[String,String]]]) : untemplate.Result[Nothing] = Untemplate_post_html( tup )
\n
© 2015 - 2025 Weber Informatics LLC | Privacy Policy