annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
116
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
1 local Luan = require "luan:Luan.luan"
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
2 local error = Luan.error
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
3 local Io = require "luan:Io.luan"
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
4 local Site_translator = require "luan:ai/Site_translator.luan"
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
5 local get_lang = Site_translator.get_lang or error()
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
6 local text_writer = Site_translator.text_writer or error()
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
7 local Shared = require "site:/lib/Shared.luan"
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
8 local head = Shared.head or error()
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
9 local needed_header = Shared.needed_header or error()
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
10 local luan_url = Shared.luan_url or error()
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
11
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
12
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
13 return function()
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
14 Io.stdout = text_writer()
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
15 %>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
16 <!doctype html>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
17 <html lang="<%=get_lang()%>">
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
18 <head>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
19 <% head() %>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
20 <title>Reactionary Software - Forum</title>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
21 </head>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
22 <body>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
23 <% needed_header() %>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
24 <div content>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
25
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
26 <h1>Forum Platform</h1>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
27
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
28 <p>A platform contains forums. A forum contains threads. A thread contains messages.</p>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
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>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
30
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
31 <p>The only difference between forum platforms and chat platforms is server push.</p>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
32
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
33 <p>Free speech means no censorship at the platform level. Forum moderators can moderate their forums however they want.</p>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
34
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
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>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
36
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
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>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
38
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
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>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
40
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
41 <p>If implemented, this project should <a href="nabble.html">replace Nabble</a>.</p>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
42
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
43 </div>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
44 </body>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
45 </html>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
46 <%
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
47 end