This commit is contained in:
2026-01-15 13:40:01 -05:00
parent f3114b38a8
commit 050daea24e
19 changed files with 118 additions and 286 deletions

View File

@@ -4,13 +4,7 @@ local u = fes.util
local site = fes.fes()
local title = "Free Software Distributions"
site.title = title .. "- About"
site.copyright = u.copyright("https://git.vxserver.dev/fSD", "fSD")
site.favicon = "/static/favicon.ico"
site:banner(fes.app.header.render(std))
fes.app.global.start(fes, site, "About")
site:note(u.cc({
std.h2("Free Software Distributions"),
@@ -50,6 +44,6 @@ site:note(u.cc({
std.p("Except where otherwise stated, content on this site is copyright (C) 2025 by fSD and is made avaliable to you under the " .. fes.std.a("https://creativecommons.org/licenses/by-nc/4.0/", "Creative Commons Attribtuion-NonCommerical 4.0 International"))
}))
site:note(fes.app.footer.render(std))
fes.app.global.finish(fes, site)
return site

View File

@@ -1,81 +0,0 @@
local fes = require("fes")
local std = fes.std
local u = fes.util
local site = fes.fes()
local title = "Free Software Distributions"
site.title = title .. " - Site articles"
site.copyright = u.copyright("[https://git.vxserver.dev/fSD](https://git.vxserver.dev/fSD)", "fSD")
site.favicon = "/static/favicon.ico"
site:banner(fes.app.header.render(std))
local function url_encode(s)
if not s then return "" end
s = s:gsub("([^%w%-_.~])", function(c) return string.format("%%%02X", string.byte(c)) end)
return s
end
local function read_file(path)
local f = io.open(path, "r")
if not f then return nil end
local data = f:read("*a")
f:close()
return data
end
local dir = "article"
local files = u.ls(dir)
local params = fes.bus.params or {}
local article = params.article
if type(article) == "table" then
article = article[1]
end
if article then
local candidates = { article, article .. ".txt", article .. ".md", article .. ".html" }
local body
for _, c in ipairs(candidates) do
local p = dir .. "/" .. c
body = read_file(p)
if body then break end
end
site.title = article
if body then
site:g("<style>h1, h2, h3, h4, h5, h6 { text-align: center; }</style>")
site:g(fes.markdown_to_html(body))
else
site:note(u.cc {
std.h1(article),
std.p("article not found"),
})
end
site:note(fes.app.footer.render(std))
return site
end
local articles = {}
local n = 0
for _, v in ipairs(files) do
local display = v:gsub("%.[^%.]+$", "")
local link = "/article?article=" .. url_encode(display)
table.insert(articles, std.a(link, display))
n = n + 1
end
table.sort(articles, function (x, y)
return x > y
end)
if n > 0 then
site:h1("Articles")
site:note(std.ul(articles))
else
site:h1("No articles")
end
site:note(fes.app.footer.render(std))
return site

View File

@@ -0,0 +1,21 @@
local fes = require("fes")
local std = fes.std
local site = fes.fes()
fes.app.global.start(fes, site, "Community")
site:h1("Community")
site:h2("Mailing lists")
site:ul {
std.element("code", nil, "hackers@fsdproject.org") .. " - " .. std.strong("only for patches") .. "Commit messages and diffs for all fSD projects can be sent here for review.",
}
site:h2("Discord")
site:p("Offical " .. std.a("https://discord.gg/A7QBvK5jhd", "discord") .. " server of the fSD project:")
fes.app.global.finish(fes, site)
return site

View File

@@ -1,28 +0,0 @@
local fes = require("fes")
local std = fes.std
local u = fes.util
local site = fes.fes()
local title = "Free Software Distributions"
site.title = title .. "- FAQ"
site.copyright = u.copyright("https://git.vxserver.dev/fSD", "fSD")
site.favicon = "/static/favicon.ico"
site:banner(fes.app.header.render(std))
site:note(u.cc({
std.h1("Frequently Asked Questions"),
std.p("Welcome to the world of fSD, come here ye before thou ask thy stupid questions."),
std.h2("Why is it called fSD?"),
std.p([[
The name "Free Software Distributions" is dervided from exactly what we do, we distribute free software.
This name stems from the Berkeley Software Distribution (BSD) specifically the Software Distribution part.
]]),
std.p('It is worth pointing out that the word "free" is being used in two ways here: one meaning "at no cost" and the other meaning "do whatever you like".'),
}))
site:note(fes.app.footer.render(std))
return site

View File

@@ -0,0 +1,45 @@
local fes = require("fes")
local site = fes.fes()
fes.app.global.start(fes, site)
site:h1("Hacking")
site:h2("Copying/license")
site:p("We only accept contributions from individuals, not corporate entities. See the project LICENSE or equivalent file you're contributing to.")
site:h2("Patches")
site:p("Please provide a clear and concise \"commit message\" for your patches.")
site:h3("patch filename format")
site:p("The expected format for patches is:")
site:p("For git revisions:")
site:code([[
toolname-patchname-YYYDDMM-SHORTHASH.patch
yait-updatething-19300101-1234abc.patch
]])
site:p([[
The YYYYMMDD date should correspond to the last time the patch has been
modified. The SHORTHASH here is the seven chars git commit short hash
corresponding to the last commit of the tool on which the patch can be applied
correctly and is working with. You can get it by taking the first seven chars
of the full hash or for example:
]])
site:code("git rev-parse --short <commit-id> (with commit-id: HEAD, commit hash, etc.)")
site:h2("patch generation")
site:p("For git:")
site:code([[
git format-patch --stdout origin/main >toolname-patchname-YYYYDDMM-SHORTHASH.patch
]])
site:h2("patch program")
site:p("For git users:")
site:code([[
git apply toolname-patchname-YYYYDDMM-SHORTHASH.patch
]])
fes.app.global.finish(fes, site)
return site

View File

@@ -1,59 +1,17 @@
local fes = require("fes")
local std = fes.std
local u = fes.util
local site = fes.fes()
local title = "Free Software Distributions"
fes.app.global.start(fes, site)
site.title = title
site.copyright = u.copyright("https://git.vxserver.dev/fSD", "fSD")
site.favicon = "/static/favicon.ico"
site:h1("Home")
site:p(u.cc {
std.p("Welcome to the " .. std.em("Free Software Distributions Project") .. ". This place is home to various free software."),
})
site:banner(fes.app.header.render(std))
site:g(fes.markdown_to_html([[
News
===
2026-03-01
----------
[fes-0.3.0](/releases/fes) released: [download](/archive/fes/fes-0.3.0.tar.gz)
2026-03-01
----------
[fes-0.2.1](/releases/fes) released: [download](/archive/fes/fes-0.2.1.tar.gz)
2026-03-01
----------
[fes-0.2.0](/releases/fes) released: [download](/archive/fes/fes-0.2.0.tar.gz)
2026-01-02
----------
Some changes were made to this site.
[sites](https://git.vxserver.dev/fSD/sites)
* Update fes's release page
* Update release archive structure
* Add way to get to archive fromr release
2026-01-01
----------
[fes-0.1.0](/releases/fes) released: [download](/archive/fes/fes-0.1.0.tar.gz)
2025-31-12
----------
Some changes were made to this site.
[sites](https://git.vxserver.dev/fSD/sites)
* New article
* Update release pages
2025-17-12
----------
Some changes were made to this site.
[sites](https://git.vxserver.dev/fSD/sites)
* General improvments and fixes
* Moving the news page to here.
]]))
site:note(fes.app.footer.render(std))
fes.app.global.finish(fes, site)
return site

View File

@@ -1,16 +1,9 @@
local fes = require("fes")
local std = fes.std
local u = fes.util
local site = fes.fes()
local title = "Free Software Distributions"
site.title = title .. " - Release"
site.copyright = u.copyright("https://git.vxserver.dev/fSD", "fSD")
site.favicon = "/static/favicon.ico"
site:banner(fes.app.header.render(std))
fes.app.global.start(fes, site, "Releases")
local pkgs = {
"yait",
@@ -27,6 +20,6 @@ end
site:p("This directory contains the tools which have been created or maintained by the Free Software Distributions Project.")
site:tl(directory_packages)
site:note(fes.app.footer.render(std))
fes.app.global.finish(fes, site)
return site

View File

@@ -4,11 +4,7 @@ local u = fes.util
local site = fes.fes()
site.title = "fes - Free Easy Site"
site.copyright = u.copyright("https://git.vxserver.dev/fSD", "fSD")
site.favicon = "/static/favicon.ico"
site:banner(fes.app.header.render(std))
fes.app.global.start(fes, site, "fes")
site:h2("Fes")
site:muted("fes is a lightweight, static, and optionated microframework.")
@@ -24,7 +20,7 @@ site:p("You can deploy websites using the " ..
std.external("https://git.vxserver.dev/fSD/-/packages/container/fes/latest", "docker") .. " image:")
site:code("docker pull git.vxserver.dev/fsd/fes:latest")
local tars = u.ls("archive")
local tars = u.ls("archive/fes")
local function parseVersion(pkg)
local version = pkg:match("-(.+)$")
@@ -72,6 +68,6 @@ site:ul {
}
site:note(fes.app.footer.render(std))
fes.app.global.finish(fes, site)
return site

View File

@@ -4,11 +4,7 @@ local u = fes.util
local site = fes.fes()
site.title = "yait - Yet Another Init Tool"
site.copyright = u.copyright("https://git.vxserver.dev/fSD", "fSD")
site.favicon = "/static/favicon.ico"
site:banner(fes.app.header.render(std))
fes.app.global.start(fes, site, "yait")
site:h2("Yait")
site:muted("Yait is a highly opinionated C and SH project generator.")
@@ -20,9 +16,9 @@ site:code("git clone https://git.vxserver.dev/fSD/yait")
site:h2("Download")
site:ul {
std.p(std.a("/archive/yait/yait-1.0.tar.gz", "yait-1.0") .. " (2025-31-12)"),
std.a("/archive/yait", "Looking for specific version?")
std.a("/archive/tools", "Looking for specific version?")
}
site:note(fes.app.footer.render(std))
fes.app.global.finish(fes, site)
return site