Mercurial Hosting > luan
annotate examples/blog/src/index.html.luan @ 799:9c13a15a4002
Package.load() now returns false instead of null, and caches the result. This cleans up the luan.isLocked issues.
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 06 Sep 2016 18:03:19 -0600 |
parents | c38f6619feb9 |
children | 21d157b153fe |
rev | line source |
---|---|
693
ca169567ce07
module URIs must now include ".luan"
Franklin Schmidt <fschmidt@gmail.com>
parents:
599
diff
changeset
|
1 local Luan = require "luan:Luan.luan" |
596 | 2 local error = Luan.error |
3 local ipairs = Luan.ipairs or error() | |
693
ca169567ce07
module URIs must now include ".luan"
Franklin Schmidt <fschmidt@gmail.com>
parents:
599
diff
changeset
|
4 local Time = require "luan:Time.luan" |
ca169567ce07
module URIs must now include ".luan"
Franklin Schmidt <fschmidt@gmail.com>
parents:
599
diff
changeset
|
5 local Io = require "luan:Io.luan" |
777
1460d297e960
add bbcode to blog example
Franklin Schmidt <fschmidt@gmail.com>
parents:
693
diff
changeset
|
6 local Parsers = require "luan:Parsers.luan" |
1460d297e960
add bbcode to blog example
Franklin Schmidt <fschmidt@gmail.com>
parents:
693
diff
changeset
|
7 local bbcode_to_html = Parsers.bbcode_to_html or error() |
1460d297e960
add bbcode to blog example
Franklin Schmidt <fschmidt@gmail.com>
parents:
693
diff
changeset
|
8 local Html = require "luan:Html.luan" |
1460d297e960
add bbcode to blog example
Franklin Schmidt <fschmidt@gmail.com>
parents:
693
diff
changeset
|
9 local html_encode = Html.encode or error() |
693
ca169567ce07
module URIs must now include ".luan"
Franklin Schmidt <fschmidt@gmail.com>
parents:
599
diff
changeset
|
10 local Http = require "luan:http/Http.luan" |
ca169567ce07
module URIs must now include ".luan"
Franklin Schmidt <fschmidt@gmail.com>
parents:
599
diff
changeset
|
11 local Post = require "site:/lib/Post.luan" |
596 | 12 |
13 | |
14 return function() | |
599
50540f0813e2
support default search fields in lucene;
Franklin Schmidt <fschmidt@gmail.com>
parents:
596
diff
changeset
|
15 local query = Http.request.parameter.query |
50540f0813e2
support default search fields in lucene;
Franklin Schmidt <fschmidt@gmail.com>
parents:
596
diff
changeset
|
16 |
596 | 17 Io.stdout = Http.response.text_writer() |
18 %> | |
19 <html> | |
20 <head> | |
21 <style> | |
22 @import "/site.css"; | |
23 </style> | |
24 </head> | |
25 <body> | |
599
50540f0813e2
support default search fields in lucene;
Franklin Schmidt <fschmidt@gmail.com>
parents:
596
diff
changeset
|
26 <h1><a href="/">Demo Blog App</a></h1> |
50540f0813e2
support default search fields in lucene;
Franklin Schmidt <fschmidt@gmail.com>
parents:
596
diff
changeset
|
27 |
50540f0813e2
support default search fields in lucene;
Franklin Schmidt <fschmidt@gmail.com>
parents:
596
diff
changeset
|
28 <form> |
50540f0813e2
support default search fields in lucene;
Franklin Schmidt <fschmidt@gmail.com>
parents:
596
diff
changeset
|
29 <input name=query type=text value="<%= query or "" %>"> |
50540f0813e2
support default search fields in lucene;
Franklin Schmidt <fschmidt@gmail.com>
parents:
596
diff
changeset
|
30 <input type=submit value=Search> |
50540f0813e2
support default search fields in lucene;
Franklin Schmidt <fschmidt@gmail.com>
parents:
596
diff
changeset
|
31 </form> |
596 | 32 |
33 <div><a href="new">Make New Post</a></div> | |
34 | |
35 <% | |
599
50540f0813e2
support default search fields in lucene;
Franklin Schmidt <fschmidt@gmail.com>
parents:
596
diff
changeset
|
36 local posts = query and Post.search(query) or Post.get_all() |
50540f0813e2
support default search fields in lucene;
Franklin Schmidt <fschmidt@gmail.com>
parents:
596
diff
changeset
|
37 for _, post in ipairs(posts) do |
596 | 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> | |
777
1460d297e960
add bbcode to blog example
Franklin Schmidt <fschmidt@gmail.com>
parents:
693
diff
changeset
|
42 <pre><%= bbcode_to_html(html_encode(post.content)) %></pre> |
596 | 43 <hr> |
44 <% | |
45 end | |
46 %> | |
47 | |
48 </body> | |
49 </html> | |
50 <% | |
51 end |