annotate src/forum.html.luan @ 117:419605a4a691 default tip

update forum.html
author Franklin Schmidt <fschmidt@gmail.com>
date Fri, 12 Dec 2025 11:15:40 -0700
parents 21ff5226f821
children
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
117
419605a4a691 update forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents: 116
diff changeset
35 <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>
116
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
36
117
419605a4a691 update forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents: 116
diff changeset
37 <p>Reddit has a global list of threads on the home page. This doesn't work for a free-speech platform because it would expose unwanted content. Even Reddit's feed of threads across subscribed forums isn't needed. Discord's approach is better. Just list subscribed forums with an indicator for new content. Also there should be no way to see what forums a user is subscribed to or their posts across forums since this violates user privacy. Users should be able to customize their profile on each forum. Discord's approach of segmenting forums is best for a free-speech platform.</p>
116
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
117
419605a4a691 update forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents: 116
diff changeset
43 <p>For a discussion of forum/chat alternatives and the need for this proposal, see <a href="https://claude.ai/share/4dd72292-31c7-4786-a330-db8010458b02">this chat with Claude</a>.</p>
419605a4a691 update forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents: 116
diff changeset
44
116
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
45 </div>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
46 </body>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
47 </html>
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
48 <%
21ff5226f821 add forum.html
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
49 end