Module:Sandbox: Difference between revisions

From Tildeverse Wiki
m (more or less magic)
(Replaced content with "local M = {} function M.hello(F) local whom = F.args[1] if whom == nil then return 'Hi!' end return Hello, .. whom .. '!' end function M:fizzbuzz() local r = ''...")
Tag: Replaced
Line 25: Line 25:
end
end


M.tildeverse = mw.text.jsonDecode[==[
local members = mw.loadData [[Module:Sandbox/data]]
{
    "members": [
        {
            "description": "aussies.space is a tilde located in australia focused around australian tilde users.",
            "link": "https://aussies.space",
            "gopher": "aussies.space",
            "name": "aussies.space",
            "created": "2019-02-19T19:44:58.0Z",
            "channel": "#aussie",
            "os": "ubuntu lts",
            "sysadmins": [
                [
                    "fosslinux",
                    "https://fosslinux.me"
                ]
            ]
        },
        {
            "description": "cosmic.voyage is a tilde community based around a collaborative science-fiction universe.",
            "link": "https://cosmic.voyage",
            "gopher": "cosmic.voyage",
            "name": "cosmic.voyage",
            "created": "2018-11-20T04:43:32Z",
            "channel": "#cosmic",
            "os": "ubuntu lts",
            "sysadmins": [
                [
                    "tomasino",
                    "https://tomasino.org"
                ],
                [
                    "fosslinux",
                    "https://fosslinux.me"
                ]
            ]
        },
        {
            "description": "Ctrl-C Club is a Linux server offering free SSH and web accounts to users who want to build webpages, chat online, learn Linux, play text console games, or fiddle around writing software.",
            "link": "http://ctrl-c.club",
            "gopher": "",
            "name": "ctrl-c.club",
            "created": "2014-12-06T06:13:44Z",
            "channel": "#ctrl-c",
            "os": "ubuntu lts",
            "sysadmins": [
                [
                    "calamitous",
                    "http://ctrl-c.club/~calamitous/"
                ]
            ]
        },
        {
            "description": "envs.net is a minimalist, non-commercial shared linux system and will always be free to use. - located in germany",
            "link": "https://envs.net",
            "gopher": "envs.net",
            "name": "envs",
            "created": "2018-08-11T22:21:07Z",
            "channel": "#envs",
            "os": "debian",
            "sysadmins": [
                [
                    "creme",
                    "https://envs.net/~creme/"
                ]
            ]
        },
        {
            "description": "RadioFreqs.space is a .space for RadioFreqs to share, learn and make!",
            "link": "https://radiofreqs.space",
            "gopher": "radiofreqs.space",
            "name": "radiofreqs.space",
            "created": "2019-04-11T04:34:08Z",
            "channel": "#radiofreqs, #hamradio",
            "os": "openbsd",
            "sysadmins": [
                [
                    "nonlinear",
                    "https://nonlinear.radiofreqs.space"
                ]
            ]
        },
        {
            "description": "An experimental software community with a 199X aesthetic.",
            "link": "http://rw.rs",
            "gopher": "",
            "name": "rw.rs",
            "created": "2019-04-13T07:53:39Z",
            "channel": "#rw.rs",
            "os": "debian",
            "sysadmins": [
                [
                    "adsr",
                    "http://rw.rs/~adsr/"
                ]
            ]
        },
        {
            "description": "Un tilde pero en castellano -- a small spanish-speaking tilde",
            "link": "https://texto-plano.xyz",
            "gopher": "texto-plano.xyz",
            "name": "texto-plano.xyz",
            "created": "2020-10-30T15:27:11.0Z",
            "channel": "#texto-plano",
            "os": "openbsd",
            "sysadmins": [
                [
                    "ffuentes",
                    "https://texto-plano.xyz/~ffuentes/"
                ]
            ]
        },
        {
            "description": "thunix offers Shell (SSH) accounts, Web Hosting, Email Accounts, and many other things to people free of charge.",
            "link": "https://www.thunix.net",
            "gopher": "thunix.net",
            "name": "thunix",
            "created": "2019-02-10T03:13:23Z",
            "channel": "#thunix",
            "os": "debian stable",
            "sysadmins": [
                [
                    "fosslinux",
                    "https://www.thunix.net/~fosslinux"
                ],
                [
                    "naglfar",
                    "https://www.thunix.net/~naglfar"
                ],
                [
                    "ubergeek",
                    "https://www.thunix.net/~ubergeek"
                ]
            ]
        },
        {
            "description": "tilde.club is not a social network it is one tiny totally standard unix computer that people respectfully use together in their shared quest to build awesome web pages",
            "link": "https://tilde.club",
            "gopher": "tilde.club",
            "name": "tilde.club",
            "created": "2014-09-30T02:42:24Z",
            "channel": "#club",
            "os": "fedora",
            "sysadmins": [
                [
                    "deepend",
                    "https://tilde.club/~deepend/"
                ],
                [
                    "ben",
                    "https://tilde.club/~ben/"
                ]
            ]
        },
        {
            "description": "A public-access UNIX system running OpenBSD",
            "link": "https://tilde.institute",
            "gopher": "tilde.institute",
            "name": "tilde.institute",
            "created": "2018-11-22T02:53:08Z",
            "channel": "#institute",
            "os": "openbsd",
            "sysadmins": [
                [
                    "gbmor",
                    "https://gbmor.dev"
                ],
                [
                    "kneezle",
                    "https://kneezle.tilde.institute/"
                ]
            ]
        },
        {
            "description": "tilde.pink is a gopher-only tilde running on NetBSD open to everyone",
            "link": "https://tilde.pink",
            "gopher": "tilde.pink",
            "name": "tilde.pink",
            "created": "2019-04-14T00:23:59Z",
            "channel": "#pink",
            "os": "netbsd",
            "sysadmins": [
                [
                    "tiwesdaeg",
                    "gopher://tilde.pink/1/~tiwesdaeg/"
                ]
            ]
        },
        {
            "description": "non-commercial space for teaching, learning, and enjoying the social medium of unix",
            "link": "https://tilde.team",
            "gopher": "tilde.team",
            "name": "tilde.team",
            "created": "2017-05-30T20:25:48Z",
            "channel": "#team",
            "os": "ubuntu lts and freebsd",
            "sysadmins": [
                [
                    "ben",
                    "https://ben.tilde.team/"
                ],
                [
                    "cmccabe",
                    "https://cmccabe.tilde.team/"
                ],
                [
                    "khuxkm",
                    "https://khuxkm.tilde.team/"
                ]
            ]
        },
        {
            "description": "intentional digital community for making art, socializing, and learning",
            "link": "https://tilde.town",
            "gopher": "tilde.town",
            "name": "tilde.town",
            "created": "2014-10-11T16:02:25Z",
            "channel": "#town",
            "os": "ubuntu lts",
            "sysadmins": [
                [
                    "vilmibm",
                    "https://tilde.town/~vilmibm/"
                ],
                [
                    "equa",
                    "https://tilde.town/~equa/"
                ],
                [
                    "archangelic",
                    "https://tilde.town/~archangelic/"
                ],
                [
                    "l0010o0001l",
                    "https://tilde.town/~l0010o0001l/"
                ]
            ]
        },
                {
            "description": "Social Community inside your Terminal with chat, email, games and more",
            "link": "https://yourtilde.com",
            "gopher": "yourtilde.com",
            "name": "YourTilde",
            "created": "2017-12-28T05:00:25Z",
            "channel": "#YourTilde",
            "os": "Fedora",
            "sysadmins": [
                [
                    "deepend",
                    "https://yourtilde.com/~deepend/"
                ]
            ]
        }
  ]
}
]==]


local tildes = {}
local tildes = {}


for _, v in ipairs(M.tildeverse.members) do
for _, v in ipairs(members) do
table.insert(tildes, v.name)
table.insert(tildes, '* [[' .. v.name .. ']]')
end
end


M.list = function()
M.list = function()
return '* [[' .. table.concat(tildes, "]]\n* [[") .. "]]\n"
return table.concat(tildes, "\n")
end
end


return M
return M

Revision as of 11:02, 6 June 2021

Documentation for this module may be created at Module:Sandbox/doc

local M = {}

function M.hello(F)
	local whom = F.args[1]
	if whom == nil then return 'Hi!' end
	return [[Hello, ]] .. whom .. '!'
end

function M:fizzbuzz()
	local r = ''
	for i = 1, 100 do
		local s = ''
		if i % 3 == 0 then
			s = s .. 'Fizz'
		end
		if i % 5 == 0 then
			s = s .. 'Buzz'
		end
		if s == '' then
			s = s .. i
		end
		r = r .. s .. "\n"
	end
	return r
end

local members = mw.loadData [[Module:Sandbox/data]]

local tildes = {}

for _, v in ipairs(members) do
	table.insert(tildes, '* [[' .. v.name .. ']]')
end

M.list = function()
	return table.concat(tildes, "\n")
end

return M