From 738b4163a890574c2785f4d7475364c54c1b76ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lera=20Elvo=C3=A9?= Date: Fri, 23 May 2025 21:29:22 +0300 Subject: [PATCH] prepare post history --- migrations.lua | 7 ++++++- util.lua | 12 +++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/migrations.lua b/migrations.lua index 00fca1c..7d9c61e 100644 --- a/migrations.lua +++ b/migrations.lua @@ -62,5 +62,10 @@ return { [8] = function () schema.add_column("topics", "sort_order", types.integer{default = 0}) db.query("UPDATE topics SET sort_order = (SELECT COUNT(*) FROM topics t2 WHERE t2.ROWID <= topics.ROWID)") - end + end, + + [9] = function () + schema.add_column("post_history", "original_markup", types.text{null = false}) + schema.add_column("post_history", "markup_language", types.text{default = "babycode"}) + end, } diff --git a/util.lua b/util.lua index 22c3d30..232dc8a 100644 --- a/util.lua +++ b/util.lua @@ -214,7 +214,8 @@ function util.destroy_avatar(avatar_id) end end -function util.create_post(thread_id, user_id, content) +function util.create_post(thread_id, user_id, content, markup_language) + markup_language = markup_language or "babycode" db.query("BEGIN") local post = Posts:create({ thread_id = thread_id, @@ -222,12 +223,17 @@ function util.create_post(thread_id, user_id, content) current_revision_id = db.NULL, }) - local bb_content = babycode.to_html(content, html_escape) + local parsed_content = "" + if markup_language == "babycode" then + parsed_content = babycode.to_html(content, html_escape) + end local revision = PostHistory:create({ post_id = post.id, - content = bb_content, + content = parsed_content, is_initial_revision = true, + original_markup = content, + markup_language = "babycode", }) post:update({current_revision_id = revision.id})