general.nimf 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #? stdtmpl(subsChar = '$', metaChar = '#')
  2. #import xmltree
  3. #
  4. #proc renderMain*(body: string; title="Nitter"): string =
  5. <!DOCTYPE html>
  6. <html lang="en">
  7. <head>
  8. <title>${xmltree.escape(title)}</title>
  9. <link rel="stylesheet" type="text/css" href="/style.css">
  10. </head>
  11. <body>
  12. <nav id="nav" class="nav-bar container">
  13. <div class="inner-nav">
  14. <div class="item">
  15. <a href="/" class="site-name">nitter</a>
  16. </div>
  17. </div>
  18. </nav>
  19. <div id="content" class="container">
  20. ${body}
  21. </div>
  22. </body>
  23. </html>
  24. #end proc
  25. #
  26. #proc renderSearchPanel*(): string =
  27. <div class="panel">
  28. <div class="search-panel">
  29. <form action="search" method="post">
  30. <input type="text" name="query" placeholder="Enter username...">
  31. <button type="submit" name="button">🔎</button>
  32. </form>
  33. </div>
  34. </div>
  35. #end proc
  36. #
  37. #proc renderError*(error: string): string =
  38. <div class="panel">
  39. <div class="error-panel">
  40. <span>${error}</span>
  41. </div>
  42. </div>
  43. #end proc
  44. #
  45. #proc showError*(error: string): string =
  46. ${renderMain(renderError(error), title="Error | Nitter")}
  47. #end proc