update vxserver.dev to fsdproject.org
This commit is contained in:
5
fsdproject.org/Fes.toml
Normal file
5
fsdproject.org/Fes.toml
Normal file
@@ -0,0 +1,5 @@
|
||||
[app]
|
||||
|
||||
name = "fsdproject.org"
|
||||
version = "1.0.0"
|
||||
authors = ["vx-clutch"]
|
||||
BIN
fsdproject.org/archive/fes/fes-0.1.0.tar.gz
Normal file
BIN
fsdproject.org/archive/fes/fes-0.1.0.tar.gz
Normal file
Binary file not shown.
BIN
fsdproject.org/archive/fes/fes-0.2.0.tar.gz
Normal file
BIN
fsdproject.org/archive/fes/fes-0.2.0.tar.gz
Normal file
Binary file not shown.
BIN
fsdproject.org/archive/tools/yait-0.3.tar.gz
Normal file
BIN
fsdproject.org/archive/tools/yait-0.3.tar.gz
Normal file
Binary file not shown.
13
fsdproject.org/include/footer.lua
Normal file
13
fsdproject.org/include/footer.lua
Normal file
@@ -0,0 +1,13 @@
|
||||
local footer = {}
|
||||
|
||||
footer.render = function(std)
|
||||
return table.concat({
|
||||
std.h2("Other resources"),
|
||||
std.tl({
|
||||
std.external("https://git.vxserver.dev/fSD", "Git Trees"),
|
||||
std.external("https://docs.vxserver.dev", "Documentation"),
|
||||
}),
|
||||
})
|
||||
end
|
||||
|
||||
return footer
|
||||
34
fsdproject.org/include/global.lua
Normal file
34
fsdproject.org/include/global.lua
Normal file
@@ -0,0 +1,34 @@
|
||||
local global = {}
|
||||
|
||||
global.start = function(fes, site, title)
|
||||
if title and title ~= "" then
|
||||
title = title .. " - "
|
||||
else
|
||||
title = ""
|
||||
end
|
||||
site.title = title .. "Free Software Distributions "
|
||||
site.copyright = fes.util.copyright("https://fsdproject.org", "fSD")
|
||||
site.favicon = "/static/favicon.ico"
|
||||
site:banner(fes.util.cc {
|
||||
fes.std.center(fes.std.ha("/", fes.std.h1("Free Software Distributions"))),
|
||||
fes.std.center(fes.util.cc {
|
||||
fes.std.nav("/about", "About"),
|
||||
fes.std.nav("/community", "Community"),
|
||||
fes.std.nav("/releases", "Releases"),
|
||||
fes.std.nav("/hacking", "Hacking"),
|
||||
})
|
||||
})
|
||||
end
|
||||
|
||||
global.finish = function(fes, site)
|
||||
site:note(fes.util.cc {
|
||||
fes.std.h2("Other resources"),
|
||||
fes.std.tl({
|
||||
fes.std.external("https://git.fsdproject.org/", "Git Trees"),
|
||||
fes.std.external("https://docs.fsdproject.org", "Documentation"),
|
||||
}),
|
||||
|
||||
})
|
||||
end
|
||||
|
||||
return global
|
||||
BIN
fsdproject.org/static/favicon.ico
Normal file
BIN
fsdproject.org/static/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 70 KiB |
49
fsdproject.org/www/about.lua
Normal file
49
fsdproject.org/www/about.lua
Normal file
@@ -0,0 +1,49 @@
|
||||
local fes = require("fes")
|
||||
local std = fes.std
|
||||
local u = fes.util
|
||||
|
||||
local site = fes.fes()
|
||||
|
||||
fes.app.global.start(fes, site, "About")
|
||||
|
||||
site:note(u.cc({
|
||||
std.h2("Free Software Distributions"),
|
||||
std.p([[
|
||||
The Free Software Distributions, stylized as fSD, Project is a collection of
|
||||
free, minimal, and hackable packages for the similar developer: a person who
|
||||
desires freedom in their tooling and a the ability to easily continue their
|
||||
industry. Packages from fSD are built with a philosphy driven devlopment as
|
||||
their core, this process of a strong idealical foundtion makes for consistant,
|
||||
good, and dogmatic software.
|
||||
]]),
|
||||
std.p([[
|
||||
Our philosphy has three core points: freedom, minimalism, and hackabliting:
|
||||
]]),
|
||||
std.ul({
|
||||
std.p(std.highlight("freedom: ") .. "the ability to see, touch, and smell our source code."),
|
||||
std.p(std.highlight("minimalism: ") .. "minimal interface and computing."),
|
||||
std.p(std.highlight("hackability: ") .. "packages should be easy to modify beyond their open-sourceness."),
|
||||
}),
|
||||
std.p([[
|
||||
These core points help derive awesome software ( at least I think so ) and keep a unified focus from other developers whilst they contribute.
|
||||
]]),
|
||||
std.br(),
|
||||
std.blockquote([[
|
||||
Most of the good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program. - Linus Torvalds
|
||||
]]),
|
||||
std.br(),
|
||||
std.p([[
|
||||
We hope that you enjoy our software and gain somethin from our time here.
|
||||
]]),
|
||||
}))
|
||||
|
||||
|
||||
|
||||
site:note(u.cc({
|
||||
std.h2("Copyright and License"),
|
||||
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"))
|
||||
}))
|
||||
|
||||
fes.app.global.finish(fes, site)
|
||||
|
||||
return site
|
||||
21
fsdproject.org/www/community.lua
Normal file
21
fsdproject.org/www/community.lua
Normal 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
|
||||
45
fsdproject.org/www/hacking.lua
Normal file
45
fsdproject.org/www/hacking.lua
Normal 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
|
||||
17
fsdproject.org/www/index.lua
Normal file
17
fsdproject.org/www/index.lua
Normal file
@@ -0,0 +1,17 @@
|
||||
local fes = require("fes")
|
||||
|
||||
local std = fes.std
|
||||
local u = fes.util
|
||||
|
||||
local site = fes.fes()
|
||||
|
||||
fes.app.global.start(fes, site)
|
||||
|
||||
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."),
|
||||
})
|
||||
|
||||
fes.app.global.finish(fes, site)
|
||||
|
||||
return site
|
||||
25
fsdproject.org/www/releases.lua
Normal file
25
fsdproject.org/www/releases.lua
Normal file
@@ -0,0 +1,25 @@
|
||||
local fes = require("fes")
|
||||
local std = fes.std
|
||||
|
||||
local site = fes.fes()
|
||||
|
||||
fes.app.global.start(fes, site, "Releases")
|
||||
|
||||
local pkgs = {
|
||||
"yait",
|
||||
"fes",
|
||||
}
|
||||
|
||||
table.sort(pkgs)
|
||||
|
||||
local directory_packages = {}
|
||||
for _, v in ipairs(pkgs) do
|
||||
table.insert(directory_packages, std.a("/releases/" .. v, v .. "/"))
|
||||
end
|
||||
|
||||
site:p("This directory contains the tools which have been created or maintained by the Free Software Distributions Project.")
|
||||
site:tl(directory_packages)
|
||||
|
||||
fes.app.global.finish(fes, site)
|
||||
|
||||
return site
|
||||
73
fsdproject.org/www/releases/fes.lua
Normal file
73
fsdproject.org/www/releases/fes.lua
Normal file
@@ -0,0 +1,73 @@
|
||||
local fes = require("fes")
|
||||
local std = fes.std
|
||||
local u = fes.util
|
||||
|
||||
local site = fes.fes()
|
||||
|
||||
fes.app.global.start(fes, site, "fes")
|
||||
|
||||
site:h2("Fes")
|
||||
site:muted("fes is a lightweight, static, and optionated microframework.")
|
||||
|
||||
site:h2("Development")
|
||||
site:p("You can " ..
|
||||
std.external("https://git.vxserver.dev/fSD/fes", "browse") ..
|
||||
" its source code or get a copy using the following command:")
|
||||
site:code("git clone https://git.vxserver.dev/fSD/fes")
|
||||
|
||||
site:h2("Docker")
|
||||
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/fes")
|
||||
|
||||
local function parseVersion(pkg)
|
||||
local version = pkg:match("-(.+)$")
|
||||
local parts = {}
|
||||
for n in version:gmatch("%d+") do
|
||||
parts[#parts + 1] = tonumber(n)
|
||||
end
|
||||
return parts
|
||||
end
|
||||
|
||||
local function isNewer(a, b)
|
||||
local va, vb = parseVersion(a), parseVersion(b)
|
||||
local len = math.max(#va, #vb)
|
||||
|
||||
for i = 1, len do
|
||||
local na, nb = va[i] or 0, vb[i] or 0
|
||||
if na ~= nb then
|
||||
return na > nb
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
local function latestRelease(packages, name)
|
||||
local latest = nil
|
||||
local prefix = "^" .. name .. "%-"
|
||||
|
||||
for _, pkg in ipairs(packages) do
|
||||
if pkg:match(prefix) then
|
||||
if not latest or isNewer(pkg, latest) then
|
||||
latest = pkg
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return latest
|
||||
end
|
||||
|
||||
local latest = latestRelease(tars, "fes")
|
||||
|
||||
site:h2("Download")
|
||||
site:ul {
|
||||
std.p(std.a("/archive/" .. latest, latest) .. " (2026-04-1)"),
|
||||
std.a("/archive/fes", "Looking for specific version?")
|
||||
}
|
||||
|
||||
|
||||
fes.app.global.finish(fes, site)
|
||||
|
||||
return site
|
||||
24
fsdproject.org/www/releases/yait.lua
Normal file
24
fsdproject.org/www/releases/yait.lua
Normal file
@@ -0,0 +1,24 @@
|
||||
local fes = require("fes")
|
||||
local std = fes.std
|
||||
local u = fes.util
|
||||
|
||||
local site = fes.fes()
|
||||
|
||||
fes.app.global.start(fes, site, "yait")
|
||||
|
||||
site:h2("Yait")
|
||||
site:muted("Yait is a highly opinionated C and SH project generator.")
|
||||
|
||||
site:h2("Development")
|
||||
site:p("You can " .. std.external("https://git.vxserver.dev/fSD/yait", "browse") .. " its source code or get a copy using the following command:")
|
||||
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/tools", "Looking for specific version?")
|
||||
}
|
||||
|
||||
fes.app.global.finish(fes, site)
|
||||
|
||||
return site
|
||||
Reference in New Issue
Block a user