|
116
|
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
|