embed.nim 613 B

123456789101112131415161718192021
  1. # SPDX-License-Identifier: AGPL-3.0-only
  2. import options
  3. import karax/[karaxdsl, vdom]
  4. from jester import Request
  5. import ".."/[types, formatters]
  6. import general, tweet
  7. const doctype = "<!DOCTYPE html>\n"
  8. proc renderVideoEmbed*(tweet: Tweet; cfg: Config; req: Request): string =
  9. let thumb = get(tweet.video).thumb
  10. let vidUrl = getVideoEmbed(cfg, tweet.id)
  11. let prefs = Prefs(hlsPlayback: true)
  12. let node = buildHtml(html(lang="en")):
  13. renderHead(prefs, cfg, req, video=vidUrl, images=(@[thumb]))
  14. tdiv(class="embed-video"):
  15. renderVideo(get(tweet.video), prefs, "")
  16. result = doctype & $node