embed.nim 646 B

12345678910111213141516171819202122
  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, mp4Playback: true)
  12. let node = buildHtml(html(lang="en")):
  13. renderHead(prefs, cfg, req, video=vidUrl, images=(@[thumb]))
  14. body:
  15. tdiv(class="embed-video"):
  16. renderVideo(get(tweet.video), prefs, "")
  17. result = doctype & $node