From 33af725e7db412e45fb7b8c0acc04d88fba15d4d Mon Sep 17 00:00:00 2001 From: Hitesh Jasani Date: Wed, 15 May 2019 13:06:17 -0400 Subject: [PATCH] Add docs explaining server side HTML rendering (#97) * Add docs explaining server side HTML rendering * Fix indentation --- readme.rst | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/readme.rst b/readme.rst index 481b948..bf5058b 100644 --- a/readme.rst +++ b/readme.rst @@ -323,3 +323,31 @@ type ``RouterData``. Here is the relevant excerpt from the famous "Todo App" exa setRenderer createDom (Full example `here `_.) + + +Server Side HTML Rendering +========================== + +Karax can also be used to render HTML on the server. Only a subset of +modules can be used since there is no JS interpreter. + +.. code-block:: nim + + import karax / [karaxdsl, vdom] + + const places = @["boston", "cleveland", "los angeles", "new orleans"] + + proc render*(): string = + let node = buildHtml(tdiv(class = "mt-3")): + h1: text "My Web Page" + p: text "Hello world" + 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