general.nim 1.0 KB

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