No description
Find a file
flywind f6bbd5103e bump
2020-02-23 07:45:02 +08:00
.github/workflows minor 2020-02-21 15:43:44 +08:00
src minor 2020-02-23 07:44:45 +08:00
tests fix tests 2020-02-21 19:03:05 +08:00
kview.nimble bump 2020-02-23 07:45:02 +08:00
LICENSE Update LICENSE 2020-02-13 21:53:13 +08:00
README.md Update README.md 2020-02-21 17:34:51 +08:00

Test Prologue

kview

Installation

nimble install kview

For karax html preview written in Nim.

# app.nim
import os, strutils

from kview import writeExample
import karax / [karaxdsl, vdom]

const 
  places = @["boston", "cleveland", "los angeles", "new orleans"] 
  first = "first"
  second = "second"

# will write app_login.html
proc login*(name: string): string {.writeExample.} =
  let vnode = buildHtml(tdiv(class = "mt-3")):
    h1: text "My Web Page"
    p: text "Hello " & name
    ul:
      for place in places:
        li: text place
    dl:
      dt: text "Can I use Karax for client side single page apps?"
      dd: text "Yes"

      dt: text "Can I use Karax for server side HTML rendering?"
      dd: text "Yes"
  result = $vnode

discard login(first)
discard login(second)

assert readFile("app_login.html").strip() == """<div class="mt-3">
  <h1>My Web Page</h1>
  <p>Hello first</p>
  <ul>
    <li>boston</li>
    <li>cleveland</li>
    <li>los angeles</li>
    <li>new orleans</li>
  </ul>
  <dl>
    <dt>Can I use Karax for client side single page apps?</dt>
    <dd>Yes</dd>
    <dt>Can I use Karax for server side HTML rendering?</dt>
    <dd>Yes</dd>
  </dl>
</div>
""".strip()

more examples in tests.