Mercurial Hosting > freedit
comparison src/thread.html.luan @ 11:3ed1e3f3a53a
use bbcode_to_html
| author | Franklin Schmidt <fschmidt@gmail.com> |
|---|---|
| date | Thu, 30 Jun 2022 20:05:11 -0600 |
| parents | 9674275019bb |
| children | ad1604c72156 |
comparison
equal
deleted
inserted
replaced
| 10:de0cbf515ef5 | 11:3ed1e3f3a53a |
|---|---|
| 1 local Luan = require "luan:Luan.luan" | 1 local Luan = require "luan:Luan.luan" |
| 2 local error = Luan.error | 2 local error = Luan.error |
| 3 local ipairs = Luan.ipairs or error() | 3 local ipairs = Luan.ipairs or error() |
| 4 local Html = require "luan:Html.luan" | |
| 5 local html_encode = Html.encode or error() | |
| 6 local Parsers = require "luan:Parsers.luan" | |
| 7 local bbcode_to_html = Parsers.bbcode_to_html or error() | |
| 4 local Io = require "luan:Io.luan" | 8 local Io = require "luan:Io.luan" |
| 9 local output_of = Io.output_of or error() | |
| 5 local Http = require "luan:http/Http.luan" | 10 local Http = require "luan:http/Http.luan" |
| 6 local Shared = require "site:/lib/Shared.luan" | 11 local Shared = require "site:/lib/Shared.luan" |
| 7 local head = Shared.head or error() | 12 local head = Shared.head or error() |
| 8 local header = Shared.header or error() | 13 local header = Shared.header or error() |
| 9 local footer = Shared.footer or error() | 14 local footer = Shared.footer or error() |
| 10 local Forum = require "site:/lib/Forum.luan" | 15 local Forum = require "site:/lib/Forum.luan" |
| 11 local forum_title = Forum.title or error() | 16 local forum_title = Forum.title or error() |
| 12 local Db = require "site:/lib/Db.luan" | 17 local Db = require "site:/lib/Db.luan" |
| 13 local Post = require "site:/lib/Post.luan" | 18 local Post = require "site:/lib/Post.luan" |
| 19 local User = require "site:/lib/User.luan" | |
| 14 | 20 |
| 21 | |
| 22 local function quoter(content,user_name) | |
| 23 return output_of( function() | |
| 24 %><blockquote><% | |
| 25 if user_name ~= nil then | |
| 26 local user = User.get_by_name(user_name) | |
| 27 if user == nil then | |
| 28 %><%= html_encode(user_name) %> wrote:<% | |
| 29 else | |
| 30 %><a href="/user_somthing"><%= html_encode(user_name) %></a> wrote:<% | |
| 31 end | |
| 32 end | |
| 33 %><%= content %><% | |
| 34 %></blockquote><% | |
| 35 end_function ) | |
| 36 end | |
| 15 | 37 |
| 16 return function() | 38 return function() |
| 17 local root_id = Http.request.parameters.root or error() | 39 local root_id = Http.request.parameters.root or error() |
| 18 local docs, total_hits = Db.search("post_root_id:"..root_id,1,1000,{sort="id"}) | 40 local docs, total_hits = Db.search("post_root_id:"..root_id,1,1000,{sort="id"}) |
| 19 local posts = Post.from_docs(docs) | 41 local posts = Post.from_docs(docs) |
| 35 <% header() %> | 57 <% header() %> |
| 36 <div content> | 58 <div content> |
| 37 <h1><%=subject_html%></h1> | 59 <h1><%=subject_html%></h1> |
| 38 <% for _, post in ipairs(posts) do %> | 60 <% for _, post in ipairs(posts) do %> |
| 39 <hr> | 61 <hr> |
| 40 <p post><%=post.content%></p> | 62 <div post><%=bbcode_to_html(post.content,quoter)%></div> |
| 41 <p> | 63 <p> |
| 42 <a href="/reply.html?parent=<%=post.id%>">reply</a> | 64 <a href="/reply.html?parent=<%=post.id%>">reply</a> |
| 43 - <a href="/edit.html?post=<%=post.id%>">edit</a> | 65 - <a href="/edit.html?post=<%=post.id%>">edit</a> |
| 44 </p> | 66 </p> |
| 45 <% end %> | 67 <% end %> |
