|
|
(3 intermediate revisions by the same user not shown) |
Line 25: |
Line 25: |
| end | | end |
|
| |
|
| M.tildeverse = mw.text.jsonDecode[==[
| | local members = mw.loadData [[Module:Sandbox/data]] |
| {
| | members = mw.text.jsonDecode( |
| "members": [
| | (mw.ext.externaldata.getWebData({ |
| {
| | url = "https://tildeverse.org/members.json", |
| "description": "aussies.space is a tilde located in australia focused around australian tilde users.",
| | data = "data=data", |
| "link": "https://aussies.space",
| | regex = "/(?'data'[\\s\\S]*)/", |
| "gopher": "aussies.space",
| | format = 'text' |
| "name": "aussies.space",
| | }))[1]['data']).members |
| "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 function as_date(d) |
| | local year, month, day = string.match(d, |
| | [[(%d+)-(%d+)-(%d+)T]]) |
| | local t = os.time{ year = year, month = month, day = day} |
| | return os.date("%B %e, %Y", t) |
| | end |
|
| |
|
| for _, v in ipairs(M.tildeverse.members) do | | local function admins(a) |
| table.insert(tildes, v.name)
| | local t = {} |
| | for _, v in ipairs(a) do |
| | table.insert(t, '[' .. v[2] .. ' ' .. v[1] .. ']') |
| | end |
| | return table.concat(t, ', ') |
| end | | end |
|
| |
|
| M.list = function() | | M.list = function() |
| return '* [[' .. table.concat(tildes, "]]\n* [[") .. "]]\n"
| | local tbl = [=[ |
| | {|class="wikitable"| |
| | ! Name |
| | ! Description |
| | ! Created |
| | ! Sysadmins |
| | ! OS |
| | ! [[tilde.chat]] channel |
| | ! Link]=] |
| | for _, v in ipairs(members) do |
| | local s = "|-\n| " .. table.concat({ |
| | v.name, |
| | v.description, |
| | as_date(v.created), |
| | admins(v.sysadmins), |
| | v.os, |
| | v.channel, |
| | v.link |
| | }, "\n| ") |
| | tbl = tbl .. "\n" .. s |
| | end |
| | tbl = tbl .. "\n|}" |
| | return tbl |
| end | | end |
|
| |
|
| return M | | return M |