Mercurial Hosting > freedit
diff 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 |
line wrap: on
line diff
--- a/src/thread.html.luan Thu Jun 30 11:11:00 2022 -0600 +++ b/src/thread.html.luan Thu Jun 30 20:05:11 2022 -0600 @@ -1,7 +1,12 @@ local Luan = require "luan:Luan.luan" local error = Luan.error local ipairs = Luan.ipairs or error() +local Html = require "luan:Html.luan" +local html_encode = Html.encode or error() +local Parsers = require "luan:Parsers.luan" +local bbcode_to_html = Parsers.bbcode_to_html or error() local Io = require "luan:Io.luan" +local output_of = Io.output_of or error() local Http = require "luan:http/Http.luan" local Shared = require "site:/lib/Shared.luan" local head = Shared.head or error() @@ -11,8 +16,25 @@ local forum_title = Forum.title or error() local Db = require "site:/lib/Db.luan" local Post = require "site:/lib/Post.luan" +local User = require "site:/lib/User.luan" +local function quoter(content,user_name) + return output_of( function() + %><blockquote><% + if user_name ~= nil then + local user = User.get_by_name(user_name) + if user == nil then + %><%= html_encode(user_name) %> wrote:<% + else + %><a href="/user_somthing"><%= html_encode(user_name) %></a> wrote:<% + end + end + %><%= content %><% + %></blockquote><% + end_function ) +end + return function() local root_id = Http.request.parameters.root or error() local docs, total_hits = Db.search("post_root_id:"..root_id,1,1000,{sort="id"}) @@ -37,7 +59,7 @@ <h1><%=subject_html%></h1> <% for _, post in ipairs(posts) do %> <hr> - <p post><%=post.content%></p> + <div post><%=bbcode_to_html(post.content,quoter)%></div> <p> <a href="/reply.html?parent=<%=post.id%>">reply</a> - <a href="/edit.html?post=<%=post.id%>">edit</a>