comparison src/forum.html.luan @ 116:21ff5226f821

add forum.html
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 11 Dec 2025 14:59:26 -0700
parents
children 419605a4a691
comparison
equal deleted inserted replaced
115:b551ccb5896a 116:21ff5226f821
1 local Luan = require "luan:Luan.luan"
2 local error = Luan.error
3 local Io = require "luan:Io.luan"
4 local Site_translator = require "luan:ai/Site_translator.luan"
5 local get_lang = Site_translator.get_lang or error()
6 local text_writer = Site_translator.text_writer or error()
7 local Shared = require "site:/lib/Shared.luan"
8 local head = Shared.head or error()
9 local needed_header = Shared.needed_header or error()
10 local luan_url = Shared.luan_url or error()
11
12
13 return function()
14 Io.stdout = text_writer()
15 %>
16 <!doctype html>
17 <html lang="<%=get_lang()%>">
18 <head>
19 <% head() %>
20 <title>Reactionary Software - Forum</title>
21 </head>
22 <body>
23 <% needed_header() %>
24 <div content>
25
26 <h1>Forum Platform</h1>
27
28 <p>A platform contains forums. A forum contains threads. A thread contains messages.</p>
29 <p>Discord and Reddit are platforms. In the forum world, a "board" is a platform. Discord servers and Reddit subreddits are forums. Discord channels are threads.</p>
30
31 <p>The only difference between forum platforms and chat platforms is server push.</p>
32
33 <p>Free speech means no censorship at the platform level. Forum moderators can moderate their forums however they want.</p>
34
35 <p>Reddit has a feed of threads across subscribed forums. This isn't needed. Discord's approach is better. Just list subscribed forums with an indicator for new content.</p>
36
37 <p>Discord's discovery (ability to find new forums) is pathetic. One should be able to search for content across the platform as Reddit allows.</p>
38
39 <p>I propose implementing a forum platform in <a href="<%=luan_url()%>/">Luan</a>. Each forum would be a Luan site which means that users could actually customize the code of their own site if they want. Forums (Luan sites) would get platform-wide info like search results using MapReduce.</p>
40
41 <p>If implemented, this project should <a href="nabble.html">replace Nabble</a>.</p>
42
43 </div>
44 </body>
45 </html>
46 <%
47 end