mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-21 06:45:39 -06:00
.Skylark tutorial
git-svn-id: svn://ultimatepp.org/upp/trunk@5138 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
71ed4e901e
commit
711d716372
5 changed files with 184 additions and 4 deletions
|
|
@ -112,7 +112,7 @@ be able to access it from your browser by entering &]
|
|||
[s0; 127.0.0.1:8001/myapp/params/1/2/3&]
|
||||
[s0; 127.0.0.1:8001/myapp/anythingelse&]
|
||||
[s0; 127.0.0.1:8001&]
|
||||
[s5; (last one should result in error `"Page not found`", as no such
|
||||
[s5; (last one should result in error `"Page not found`", as no matching
|
||||
handler is present)&]
|
||||
[s5; &]
|
||||
[s3; 2. Witz templates&]
|
||||
|
|
@ -194,5 +194,104 @@ and you start the application from theide. Note that [* path] is
|
|||
also used to search for static files.&]
|
||||
[s5; String values are normally HTML escaped; if you need to pass
|
||||
raw html code as parameter, you have to either use [@5 Raw ]C`+`+
|
||||
function in application logic or [@5 raw] function in witz.&]
|
||||
function in application logic or [@5 raw] function in Witz.&]
|
||||
[s5; &]
|
||||
[s3; 3. Witz links to handlers&]
|
||||
[s5; Skylark handlers are represented in witz templates as function
|
||||
calls returning `" quoted path that matches the handler path
|
||||
pattern. If pattern contains parameter placeholder, it is passed
|
||||
as argument of the function:&]
|
||||
[s7; &]
|
||||
[s7; #include <Skylark/Skylark.h>&]
|
||||
[s7; &]
|
||||
[s7; using namespace Upp;&]
|
||||
[s7; &]
|
||||
[s7; SKYLARK([* HomePage], `"`")&]
|
||||
[s7; `{&]
|
||||
[s7; -|http.RenderResult(`"Skylark03/index`");&]
|
||||
[s7; `}&]
|
||||
[s7; &]
|
||||
[s7; SKYLARK([* Page2], `"page2`")&]
|
||||
[s7; `{&]
|
||||
[s7; -|http.RenderResult(`"Skylark03/page2`");&]
|
||||
[s7; `}&]
|
||||
[s7; &]
|
||||
[s7; SKYLARK([* Param], `"paramtest/`*`")&]
|
||||
[s7; `{&]
|
||||
[s7; -|http(`"PARAM`", http`[0`]).RenderResult(`"Skylark03/param`");&]
|
||||
[s7; `}&]
|
||||
[s7; &]
|
||||
[s7; struct MyApp : SkylarkApp `{&]
|
||||
[s7; -|MyApp() `{&]
|
||||
[s7; -|-|root `= `"myapp`";&]
|
||||
[s7; -|#ifdef `_DEBUG&]
|
||||
[s7; -|-|prefork `= 0;&]
|
||||
[s7; -|-|use`_caching `= false;&]
|
||||
[s7; -|#endif&]
|
||||
[s7; -|`}&]
|
||||
[s7; `};&]
|
||||
[s7; &]
|
||||
[s7; CONSOLE`_APP`_MAIN&]
|
||||
[s7; `{&]
|
||||
[s7; #ifdef `_DEBUG&]
|
||||
[s7; -|StdLogSetup(LOG`_FILE`|LOG`_COUT);&]
|
||||
[s7; -|Ini`::skylark`_log `= true;&]
|
||||
[s7; #endif&]
|
||||
[s7; &]
|
||||
[s7; -|MyApp().Run();-|&]
|
||||
[s7; `}&]
|
||||
[s7; &]
|
||||
[s7; &]
|
||||
[s5; [* Skylark03/index.witz:]&]
|
||||
[s7; <html>&]
|
||||
[s7; <body>&]
|
||||
[s7; <a href`=`$Page2()>Link to page2</a><br>&]
|
||||
[s7; `$for(i in `[`"param`_test`", 123, `"param`_test3`"`])&]
|
||||
[s7; -|<a href`=`$Param(i)>Param test: `$i</a><br>&]
|
||||
[s7; `$endfor&]
|
||||
[s7; </body>&]
|
||||
[s7; </html>&]
|
||||
[s7; &]
|
||||
[s5; [* Skylark03/page2.witz:]&]
|
||||
[s7; <html>&]
|
||||
[s7; <body>&]
|
||||
[s7; <a href`=`$HomePage()>Back to index</a><br>&]
|
||||
[s7; </body>&]
|
||||
[s7; </html>&]
|
||||
[s7; &]
|
||||
[s5; [* Skylark03/index.witz:]&]
|
||||
[s7; <html>&]
|
||||
[s7; <body>&]
|
||||
[s7; <a href`=`$Page2()>Link to page2</a><br>&]
|
||||
[s7; `$for(i in `[`"param`_test`", 123, `"param`_test3`"`])&]
|
||||
[s7; -|<a href`=`$Param(i)>Param test: `$i</a><br>&]
|
||||
[s7; `$endfor&]
|
||||
[s7; </body>&]
|
||||
[s7; </html>&]
|
||||
[s7; &]
|
||||
[s7; &]
|
||||
[s3; 4. Combining Witz templates using #define and #include&]
|
||||
[s5; Witz templates can be parametrized using subblock [@5 #define]
|
||||
[/@5 id] and [@5 #][/@5 id] insertion and combined from several files
|
||||
using [@5 #include]:&]
|
||||
[s5; [* Skylark04/base.witz:]&]
|
||||
[s7; <html>&]
|
||||
[s7; <title>#TITLE</title>&]
|
||||
[s7; <body>&]
|
||||
[s7; #BODY&]
|
||||
[s7; </body>&]
|
||||
[s7; </html>&]
|
||||
[s7; &]
|
||||
[s7; #define TITLE Generic title&]
|
||||
[s7; &]
|
||||
[s7; &]
|
||||
[s5; [* Skylark04/index.witz:]&]
|
||||
[s7; #include Skylark04/base&]
|
||||
[s7; &]
|
||||
[s7; #define TITLE MyApp title&]
|
||||
[s7; &]
|
||||
[s7; #define BODY&]
|
||||
[s7; This is MyApp body html!&]
|
||||
[s7; &]
|
||||
[s7; &]
|
||||
[s5; ]]
|
||||
Loading…
Add table
Add a link
Reference in a new issue