Mercurial Hosting > luan
comparison examples/blog/src/index.html.luan @ 779:c38f6619feb9
move blog into examples
| author | Franklin Schmidt <fschmidt@gmail.com> |
|---|---|
| date | Sun, 28 Aug 2016 14:50:47 -0600 |
| parents | blog/src/index.html.luan@1460d297e960 |
| children | 21d157b153fe |
comparison
equal
deleted
inserted
replaced
| 778:305ffb00ebc1 | 779:c38f6619feb9 |
|---|---|
| 1 local Luan = require "luan:Luan.luan" | |
| 2 local error = Luan.error | |
| 3 local ipairs = Luan.ipairs or error() | |
| 4 local Time = require "luan:Time.luan" | |
| 5 local Io = require "luan:Io.luan" | |
| 6 local Parsers = require "luan:Parsers.luan" | |
| 7 local bbcode_to_html = Parsers.bbcode_to_html or error() | |
| 8 local Html = require "luan:Html.luan" | |
| 9 local html_encode = Html.encode or error() | |
| 10 local Http = require "luan:http/Http.luan" | |
| 11 local Post = require "site:/lib/Post.luan" | |
| 12 | |
| 13 | |
| 14 return function() | |
| 15 local query = Http.request.parameter.query | |
| 16 | |
| 17 Io.stdout = Http.response.text_writer() | |
| 18 %> | |
| 19 <html> | |
| 20 <head> | |
| 21 <style> | |
| 22 @import "/site.css"; | |
| 23 </style> | |
| 24 </head> | |
| 25 <body> | |
| 26 <h1><a href="/">Demo Blog App</a></h1> | |
| 27 | |
| 28 <form> | |
| 29 <input name=query type=text value="<%= query or "" %>"> | |
| 30 <input type=submit value=Search> | |
| 31 </form> | |
| 32 | |
| 33 <div><a href="new">Make New Post</a></div> | |
| 34 | |
| 35 <% | |
| 36 local posts = query and Post.search(query) or Post.get_all() | |
| 37 for _, post in ipairs(posts) do | |
| 38 %> | |
| 39 <a name="p<%= post.id %>"> | |
| 40 <h2><%= post.subject %></h2> | |
| 41 <p><%= Time.format(post.date) %> - <a href="edit?post=<%= post.id %>">Edit</a></p> | |
| 42 <pre><%= bbcode_to_html(html_encode(post.content)) %></pre> | |
| 43 <hr> | |
| 44 <% | |
| 45 end | |
| 46 %> | |
| 47 | |
| 48 </body> | |
| 49 </html> | |
| 50 <% | |
| 51 end |
