mirror of
https://codeberg.org/fediverse/fediparty.git
synced 2024-11-25 01:51:28 +00:00
Add Tools page, remove tools from Misc
This commit is contained in:
parent
badf76840e
commit
6b92afc826
|
@ -27,9 +27,10 @@ Please, choose no more than **2 categories** (array of strings) for the software
|
|||
* `Links` (link sharing)
|
||||
* `Ev-Meet` (events, meetups, calendars)
|
||||
* `Files` (file hosting software)
|
||||
* `Coop` (cooperatives, shared management)
|
||||
* `Econ` (economic activities)
|
||||
* `DataForge` (dataset / corpora exchange)
|
||||
* `Reviews` (networks whose main purpose is reviewing stuff)
|
||||
* `Games` (gaming servers and apps)
|
||||
|
||||
A project may have a logo / image (45x45px), placed in `./source/img/misc` folder.
|
||||
|
||||
|
@ -37,10 +38,15 @@ A project may have a logo / image (45x45px), placed in `./source/img/misc` folde
|
|||
Fork this repository. Add your project data to `./source/_data/tools.json` file.
|
||||
|
||||
#### Tools categories (WIP, may change in the future)
|
||||
* `DevTools` (developer tools: libraries and such)
|
||||
* `Plugins` (plugins)
|
||||
* `Libs` (frameworks, libraries, reference implementations in particular code language)
|
||||
* `Specs` (Fediverse protocol specifications)
|
||||
* `Tools` (for developer and geeky tools, like pastebins, git systems, pads, etc)
|
||||
* `Utils` (daemons, bots, resharers, and other such services for Fediverse)
|
||||
* `Relays` (Fediverse relays)
|
||||
* `DataForge` (dataset / corpora exchange)
|
||||
* `Bridges` (bridging other stuff to fediverse networks)
|
||||
* `Tests` (any kind of test tools)
|
||||
* `Plugins` (CMS plugins, apps to be installed inside other systems connecting to Fediverse)
|
||||
* `Other` (everything that doesn't quite fit into the above categories)
|
||||
|
||||
### [Submitting news](#submitting-news)
|
||||
|
||||
|
|
|
@ -37,24 +37,6 @@
|
|||
"OStatusClass": false,
|
||||
"categories": ["Blog-Pub"]
|
||||
},
|
||||
{
|
||||
"title": "Guppe",
|
||||
"source": "https://github.com/wmurphyrd/guppe",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "https://gup.pe",
|
||||
"logo": "/img/misc/guppe.png",
|
||||
"servers": "",
|
||||
"description": "Social groups for Mastodon and other ActivityPub networks.",
|
||||
"codeLanguage": "Javascript",
|
||||
"techStack": "Node.js, Express, Vue",
|
||||
"license": "AGPL-3.0",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["SN-ma"]
|
||||
},
|
||||
{
|
||||
"title": "dolphin",
|
||||
"source": "https://github.com/syuilo/dolphin",
|
||||
|
@ -233,25 +215,7 @@
|
|||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Coop"]
|
||||
},
|
||||
{
|
||||
"title": "Nextcloud-Social",
|
||||
"source": "https://github.com/nextcloud/social",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "https://apps.nextcloud.com/apps/social",
|
||||
"logo": "/img/misc/nextcloud.png",
|
||||
"servers": "",
|
||||
"description": "Social networking app for NextCloud users.",
|
||||
"codeLanguage": "PHP",
|
||||
"techStack": "Node.js, Vue, SCSS",
|
||||
"license": "AGPL-3.0",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Files"]
|
||||
"categories": ["SN-mi", "SN-ma"]
|
||||
},
|
||||
{
|
||||
"title": "Lemmy",
|
||||
|
@ -539,7 +503,7 @@
|
|||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["DevTools", "SN-mi"]
|
||||
"categories": ["SN-mi"]
|
||||
},
|
||||
{
|
||||
"title": "MoonTree",
|
||||
|
@ -665,7 +629,7 @@
|
|||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Blog-Pub"]
|
||||
"categories": ["Reviews"]
|
||||
},
|
||||
{
|
||||
"title": "SkoHub",
|
||||
|
@ -737,493 +701,7 @@
|
|||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["SN-mi"]
|
||||
},
|
||||
{
|
||||
"title": "Vervis",
|
||||
"source": "https://dev.angeley.es/s/fr33domlover/r/vervis/s",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "A project hosting and management application. Reference implementation of ForgeFed.",
|
||||
"codeLanguage": "Haskell",
|
||||
"techStack": "",
|
||||
"license": "AGPL-3.0 / CC0",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["DevTools"]
|
||||
},
|
||||
{
|
||||
"title": "ForgeFed",
|
||||
"source": "https://notabug.org/peers/forgefed",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "https://forgefed.peers.community",
|
||||
"logo": "/img/misc/forgefed.svg",
|
||||
"servers": "",
|
||||
"description": "Upcoming federation protocol for enabling interoperability between version control services.",
|
||||
"codeLanguage": "",
|
||||
"techStack": "",
|
||||
"license": "CC-1.0",
|
||||
"FediAccount": "https://floss.social/@forgefed",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["DevTools"]
|
||||
},
|
||||
{
|
||||
"title": "Nautilus",
|
||||
"source": "https://github.com/aaronpk/Nautilus",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "A standalone service to deliver posts from your own website to ActivityPub followers.",
|
||||
"codeLanguage": "PHP",
|
||||
"techStack": "Laravel, Vue",
|
||||
"license": "Apache-2.0",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["DevTools"]
|
||||
},
|
||||
{
|
||||
"title": "Pherephone",
|
||||
"source": "https://github.com/writeas/pherephone",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "An ActivityPub server that reblogs all the statuses of certain actors. You set it up to follow a few accounts and it Announces everything they post.",
|
||||
"codeLanguage": "Go",
|
||||
"techStack": "",
|
||||
"license": "AGPL-3.0",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["DevTools"]
|
||||
},
|
||||
{
|
||||
"title": "Go-Fed Activity",
|
||||
"source": "https://github.com/go-fed/activity",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "ActivityStreams & ActivityPub in golang.",
|
||||
"codeLanguage": "Go",
|
||||
"techStack": "",
|
||||
"license": "BSD-3-clause",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["DevTools"]
|
||||
},
|
||||
{
|
||||
"title": "BridgyFed",
|
||||
"source": "https://github.com/snarfed/bridgy-fed",
|
||||
"protocols": "ActivityPub, OStatus",
|
||||
"site": "https://fed.brid.gy",
|
||||
"description": "Bridges the IndieWeb to federated social networks: ActivityPub, OStatus, etc.",
|
||||
"codeLanguage": "Python",
|
||||
"techStack": "",
|
||||
"license": "CC-0",
|
||||
"FediAccount": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": true,
|
||||
"categories": ["DevTools"]
|
||||
},
|
||||
{
|
||||
"title": "Federation",
|
||||
"source": "https://git.feneas.org/jaywink/federation",
|
||||
"protocols": "ActivityPub, diaspora",
|
||||
"site": "https://federation.readthedocs.io",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "Python library to abstract social web federation protocols like ActivityPub and diaspora.",
|
||||
"codeLanguage": "Python",
|
||||
"techStack": "Django",
|
||||
"license": "BSD-3-clause",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": true,
|
||||
"OStatusClass": false,
|
||||
"categories": ["DevTools"]
|
||||
},
|
||||
{
|
||||
"title": "Little Boxes",
|
||||
"source": "https://github.com/tsileo/little-boxes",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "https://little-boxes.readthedocs.io",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "Tiny ActivityPub framework written in Python, both database and server agnostic.",
|
||||
"codeLanguage": "Python",
|
||||
"techStack": "",
|
||||
"license": "ISC",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["DevTools"]
|
||||
},
|
||||
{
|
||||
"title": "Python ActivityPub",
|
||||
"source": "https://github.com/dsblank/activitypub",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "A general Python ActivityPub library.",
|
||||
"codeLanguage": "Python",
|
||||
"techStack": "",
|
||||
"license": "MPL-2.0",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["DevTools"]
|
||||
},
|
||||
{
|
||||
"title": "ActivityPub PHP",
|
||||
"source": "https://github.com/pterotype-project/activitypub-php",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "A PHP implementation of the ActivityPub protocol.",
|
||||
"codeLanguage": "PHP",
|
||||
"techStack": "",
|
||||
"license": "MIT",
|
||||
"FediAccount": "https://mastodon.technology/@jdormit",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["DevTools"]
|
||||
},
|
||||
{
|
||||
"title": "Express ActivityPub",
|
||||
"source": "https://github.com/dariusk/express-activitypub",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "A simple reference implementation of an ActivityPub server using Express.js.",
|
||||
"codeLanguage": "Javascript",
|
||||
"techStack": "Express",
|
||||
"license": "MIT",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["DevTools"]
|
||||
},
|
||||
{
|
||||
"title": "ActivityPub Express",
|
||||
"source": "https://github.com/wmurphyrd/activitypub-express",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "Modular ActivityPub implementation as Express.js middleware to easily add decentralization and federation to Node apps.",
|
||||
"codeLanguage": "Javascript",
|
||||
"techStack": "Express",
|
||||
"license": "-",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["DevTools"]
|
||||
},
|
||||
{
|
||||
"title": "distbin",
|
||||
"source": "https://github.com/gobengo/distbin",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "https://distbin.com",
|
||||
"description": "Post bin with distributed social features.",
|
||||
"codeLanguage": "Typescript",
|
||||
"techStack": "",
|
||||
"license": "Apache-2.0",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["DevTools"]
|
||||
},
|
||||
{
|
||||
"title": "WordPress-ActivityPub",
|
||||
"source": "https://github.com/pfefferle/wordpress-activitypub",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "https://wordpress.org/plugins/activitypub",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "ActivityPub for WordPress.",
|
||||
"codeLanguage": "PHP",
|
||||
"techStack": "",
|
||||
"license": "MIT",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Plugins"]
|
||||
},
|
||||
{
|
||||
"title": "WordPress-OStatus",
|
||||
"source": "https://github.com/pfefferle/wordpress-ostatus",
|
||||
"protocols": "OStatus",
|
||||
"site": "https://wordpress.org/plugins/ostatus-for-wordpress",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "An OStatus plugin for WordPress.",
|
||||
"codeLanguage": "PHP",
|
||||
"techStack": "",
|
||||
"license": "MIT",
|
||||
"FediAccount": "",
|
||||
"apClass": false,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": true,
|
||||
"categories": ["Plugins"]
|
||||
},
|
||||
{
|
||||
"title": "LitePub",
|
||||
"source": "https://github.com/litepub/litepub",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "https://litepub.social/litepub",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "Litepub protocol specification.",
|
||||
"codeLanguage": "",
|
||||
"techStack": "",
|
||||
"license": "-",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["DevTools"]
|
||||
},
|
||||
{
|
||||
"title": "p3k",
|
||||
"source": "https://github.com/aaronpk/p3k",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "https://indieweb.org/p3k",
|
||||
"logo": "",
|
||||
"servers": "https://the-federation.info/p3k",
|
||||
"description": "Components of the sites aaronparecki.com and indiewebcat.com.",
|
||||
"codeLanguage": "PHP",
|
||||
"techStack": "",
|
||||
"license": "MIT",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["DevTools"]
|
||||
},
|
||||
{
|
||||
"title": "Activity relay",
|
||||
"source": "https://git.pleroma.social/pleroma/relay",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "https://fediverse.network/activityrelay",
|
||||
"description": "Generic LitePub relay, works with all LitePub consumers and with Mastodon.",
|
||||
"codeLanguage": "Python",
|
||||
"techStack": "",
|
||||
"license": "AGPL-3.0",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Relays"]
|
||||
},
|
||||
{
|
||||
"title": "Pub relay",
|
||||
"source": "https://source.joinmastodon.org/mastodon/pub-relay",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "A service-type ActivityPub actor that will re-broadcast anything sent to it to anyone who subscribes to it.",
|
||||
"codeLanguage": "Crystal",
|
||||
"techStack": "",
|
||||
"license": "AGPL-3.0",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Relays"]
|
||||
},
|
||||
{
|
||||
"title": "Social relay",
|
||||
"source": "https://github.com/jaywink/social-relay",
|
||||
"protocols": "diaspora",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "https://the-federation.info/social-relay",
|
||||
"description": "Public post relay for the diaspora* federated social network protocol.",
|
||||
"codeLanguage": "Python",
|
||||
"techStack": "",
|
||||
"license": "AGPL-3.0",
|
||||
"FediAccount": "",
|
||||
"apClass": false,
|
||||
"zotClass": false,
|
||||
"diasporaClass": true,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Relays"]
|
||||
},
|
||||
{
|
||||
"title": "Seattle relay",
|
||||
"source": "https://gitlab.com/jankysolutions/social.seattle.wa.us/relay",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "https://fediverse.network/social.seattle.wa.us-relay",
|
||||
"description": "Something like the Pleroma relay but with crazy things like workers.",
|
||||
"codeLanguage": "Python",
|
||||
"techStack": "",
|
||||
"license": "-",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Relays"]
|
||||
},
|
||||
{
|
||||
"title": "Pterotype",
|
||||
"source": "https://github.com/pterotype-project/pterotype",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "/img/misc/pterotype.png",
|
||||
"servers": "",
|
||||
"description": "WordPress plugin. Pterotype connects your blog to the Fediverse by giving it an ActivityPub feed.",
|
||||
"codeLanguage": "PHP",
|
||||
"techStack": "",
|
||||
"license": "MIT",
|
||||
"FediAccount": "https://mastodon.technology/@jdormit",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Plugins"]
|
||||
},
|
||||
{
|
||||
"title": "feed2toot",
|
||||
"source": "https://gitlab.com/chaica/feed2toot",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "Feed2toot automatically parses RSS feeds, identifies new posts and posts them on the Mastodon social network.",
|
||||
"codeLanguage": "Python",
|
||||
"techStack": "",
|
||||
"license": "MIT",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["DevTools"]
|
||||
},
|
||||
{
|
||||
"title": "RSS-to-ActivityPub",
|
||||
"source": "https://github.com/dariusk/rss-to-activitypub",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "RSS to ActivityPub converter.",
|
||||
"codeLanguage": "Javascript",
|
||||
"techStack": "Node.js",
|
||||
"license": "MIT",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["DevTools"]
|
||||
},
|
||||
{
|
||||
"title": "Activity-PHP",
|
||||
"source": "https://github.com/landrok/activitypub",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "https://landrok.github.io/activitypub",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "PHP implementation of ActivityPub protocol based on the ActivityStreams 2.0 data format.",
|
||||
"codeLanguage": "PHP",
|
||||
"techStack": "",
|
||||
"license": "MIT",
|
||||
"FediAccount": "https://cybre.space/@landrok",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["DevTools"]
|
||||
},
|
||||
{
|
||||
"title": "Astreams",
|
||||
"source": "https://github.com/MatejLach/astreams",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "A hand-crafted implementation of the Activity Streams 2.0 specification in Go.",
|
||||
"codeLanguage": "Go",
|
||||
"techStack": "",
|
||||
"license": "AGPL-3.0",
|
||||
"FediAccount": "https://social.matej-lach.me/@MatejLach",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["DevTools"]
|
||||
},
|
||||
{
|
||||
"title": "ActivityPub-mock",
|
||||
"source": "https://gitlab.com/evanp/activitypub-mock",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "A mock ActivityPub server to use in testing code.",
|
||||
"codeLanguage": "Javascript",
|
||||
"techStack": "",
|
||||
"license": "Apache-2.0",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["DevTools"]
|
||||
"categories": ["Games"]
|
||||
},
|
||||
{
|
||||
"title": "diaspora*",
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"type": "microblogging",
|
||||
"logoClr": "fb4e4e",
|
||||
"created": "2014",
|
||||
"official": "https://joinmisskey.github.io",
|
||||
"official": "https://join.misskey.page/en",
|
||||
"license": "AGPL-3.0",
|
||||
"repo": "https://github.com/syuilo/misskey",
|
||||
"language": "(Node)JS",
|
||||
|
@ -17,10 +17,10 @@
|
|||
"wiki": "",
|
||||
"servers":
|
||||
[
|
||||
{"num": "1", "url": "https://joinmisskey.github.io/en/wiki/instances"},
|
||||
{"num": "1", "url": "https://join.misskey.page/en/wiki/instances"},
|
||||
{"num": "2", "url": "https://fediverse.network/misskey"}
|
||||
],
|
||||
"mobile": "https://joinmisskey.github.io/en/wiki/apps",
|
||||
"mobile": "https://join.misskey.page/en/wiki/apps/clients",
|
||||
"devTutorial": "https://github.com/syuilo/misskey/blob/master/docs/setup.en.md",
|
||||
"mascot": [{"item": "藍 (Ai)", "imgNum": "1"}],
|
||||
"dwellers": "Miskist",
|
||||
|
|
527
source/_data/tools.json
Normal file
527
source/_data/tools.json
Normal file
|
@ -0,0 +1,527 @@
|
|||
{
|
||||
"apps":
|
||||
[
|
||||
{
|
||||
"title": "Guppe",
|
||||
"source": "https://github.com/wmurphyrd/guppe",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "https://gup.pe",
|
||||
"logo": "/img/misc/guppe.png",
|
||||
"servers": "",
|
||||
"description": "Social groups for Mastodon and other ActivityPub networks.",
|
||||
"codeLanguage": "Javascript",
|
||||
"techStack": "Node.js, Express, Vue",
|
||||
"license": "AGPL-3.0",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Utils"]
|
||||
},
|
||||
{
|
||||
"title": "Nextcloud-Social",
|
||||
"source": "https://github.com/nextcloud/social",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "https://apps.nextcloud.com/apps/social",
|
||||
"logo": "/img/misc/nextcloud.png",
|
||||
"servers": "",
|
||||
"description": "Social networking app for NextCloud users.",
|
||||
"codeLanguage": "PHP",
|
||||
"techStack": "Node.js, Vue, SCSS",
|
||||
"license": "AGPL-3.0",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Plugins"]
|
||||
},
|
||||
{
|
||||
"title": "Vervis",
|
||||
"source": "https://dev.angeley.es/s/fr33domlover/r/vervis/s",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "A project hosting and management application. Implementation of ForgeFed.",
|
||||
"codeLanguage": "Haskell",
|
||||
"techStack": "",
|
||||
"license": "AGPL-3.0 / CC0",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Tools"]
|
||||
},
|
||||
{
|
||||
"title": "ForgeFed",
|
||||
"source": "https://notabug.org/peers/forgefed",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "https://forgefed.peers.community",
|
||||
"logo": "/img/misc/forgefed.svg",
|
||||
"servers": "",
|
||||
"description": "Upcoming federation protocol for enabling interoperability between version control services.",
|
||||
"codeLanguage": "",
|
||||
"techStack": "",
|
||||
"license": "CC-1.0",
|
||||
"FediAccount": "https://floss.social/@forgefed",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Specs"]
|
||||
},
|
||||
{
|
||||
"title": "Nautilus",
|
||||
"source": "https://github.com/aaronpk/Nautilus",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "A standalone service to deliver posts from your own website to ActivityPub followers.",
|
||||
"codeLanguage": "PHP",
|
||||
"techStack": "Laravel, Vue",
|
||||
"license": "Apache-2.0",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Utils"]
|
||||
},
|
||||
{
|
||||
"title": "Pherephone",
|
||||
"source": "https://github.com/writeas/pherephone",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "An ActivityPub server that reblogs all the statuses of certain actors. You set it up to follow a few accounts and it Announces everything they post.",
|
||||
"codeLanguage": "Go",
|
||||
"techStack": "",
|
||||
"license": "AGPL-3.0",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Utils"]
|
||||
},
|
||||
{
|
||||
"title": "Go-Fed Activity",
|
||||
"source": "https://github.com/go-fed/activity",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "ActivityStreams & ActivityPub in golang.",
|
||||
"codeLanguage": "Go",
|
||||
"techStack": "",
|
||||
"license": "BSD-3-clause",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Libs"]
|
||||
},
|
||||
{
|
||||
"title": "BridgyFed",
|
||||
"source": "https://github.com/snarfed/bridgy-fed",
|
||||
"protocols": "ActivityPub, OStatus",
|
||||
"site": "https://fed.brid.gy",
|
||||
"description": "Bridges the IndieWeb to federated social networks: ActivityPub, OStatus, etc.",
|
||||
"codeLanguage": "Python",
|
||||
"techStack": "",
|
||||
"license": "CC-0",
|
||||
"FediAccount": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": true,
|
||||
"categories": ["Bridges"]
|
||||
},
|
||||
{
|
||||
"title": "Federation",
|
||||
"source": "https://git.feneas.org/jaywink/federation",
|
||||
"protocols": "ActivityPub, diaspora",
|
||||
"site": "https://federation.readthedocs.io",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "Python library to abstract social web federation protocols like ActivityPub and diaspora.",
|
||||
"codeLanguage": "Python",
|
||||
"techStack": "Django",
|
||||
"license": "BSD-3-clause",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": true,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Libs"]
|
||||
},
|
||||
{
|
||||
"title": "Little Boxes",
|
||||
"source": "https://github.com/tsileo/little-boxes",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "https://little-boxes.readthedocs.io",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "Tiny ActivityPub framework written in Python, both database and server agnostic.",
|
||||
"codeLanguage": "Python",
|
||||
"techStack": "",
|
||||
"license": "ISC",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Libs"]
|
||||
},
|
||||
{
|
||||
"title": "Python ActivityPub",
|
||||
"source": "https://github.com/dsblank/activitypub",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "A general Python ActivityPub library.",
|
||||
"codeLanguage": "Python",
|
||||
"techStack": "",
|
||||
"license": "MPL-2.0",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Libs"]
|
||||
},
|
||||
{
|
||||
"title": "ActivityPub PHP",
|
||||
"source": "https://github.com/pterotype-project/activitypub-php",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "A PHP implementation of the ActivityPub protocol.",
|
||||
"codeLanguage": "PHP",
|
||||
"techStack": "",
|
||||
"license": "MIT",
|
||||
"FediAccount": "https://mastodon.technology/@jdormit",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Libs"]
|
||||
},
|
||||
{
|
||||
"title": "Express ActivityPub",
|
||||
"source": "https://github.com/dariusk/express-activitypub",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "A simple reference implementation of an ActivityPub server using Express.js.",
|
||||
"codeLanguage": "Javascript",
|
||||
"techStack": "Express",
|
||||
"license": "MIT",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Libs"]
|
||||
},
|
||||
{
|
||||
"title": "ActivityPub Express",
|
||||
"source": "https://github.com/wmurphyrd/activitypub-express",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "Modular ActivityPub implementation as Express.js middleware to easily add decentralization and federation to Node apps.",
|
||||
"codeLanguage": "Javascript",
|
||||
"techStack": "Express",
|
||||
"license": "-",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Libs"]
|
||||
},
|
||||
{
|
||||
"title": "distbin",
|
||||
"source": "https://github.com/gobengo/distbin",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "https://distbin.com",
|
||||
"description": "Post bin with distributed social features.",
|
||||
"codeLanguage": "Typescript",
|
||||
"techStack": "",
|
||||
"license": "Apache-2.0",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Tools"]
|
||||
},
|
||||
{
|
||||
"title": "WordPress-ActivityPub",
|
||||
"source": "https://github.com/pfefferle/wordpress-activitypub",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "https://wordpress.org/plugins/activitypub",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "ActivityPub for WordPress.",
|
||||
"codeLanguage": "PHP",
|
||||
"techStack": "",
|
||||
"license": "MIT",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Plugins"]
|
||||
},
|
||||
{
|
||||
"title": "WordPress-OStatus",
|
||||
"source": "https://github.com/pfefferle/wordpress-ostatus",
|
||||
"protocols": "OStatus",
|
||||
"site": "https://wordpress.org/plugins/ostatus-for-wordpress",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "An OStatus plugin for WordPress.",
|
||||
"codeLanguage": "PHP",
|
||||
"techStack": "",
|
||||
"license": "MIT",
|
||||
"FediAccount": "",
|
||||
"apClass": false,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": true,
|
||||
"categories": ["Plugins"]
|
||||
},
|
||||
{
|
||||
"title": "LitePub",
|
||||
"source": "https://github.com/litepub/litepub",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "https://litepub.social/litepub",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "Litepub protocol specification.",
|
||||
"codeLanguage": "",
|
||||
"techStack": "",
|
||||
"license": "-",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Specs"]
|
||||
},
|
||||
{
|
||||
"title": "p3k",
|
||||
"source": "https://github.com/aaronpk/p3k",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "https://indieweb.org/p3k",
|
||||
"logo": "",
|
||||
"servers": "https://the-federation.info/p3k",
|
||||
"description": "Components of the sites aaronparecki.com and indiewebcat.com.",
|
||||
"codeLanguage": "PHP",
|
||||
"techStack": "",
|
||||
"license": "MIT",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Other"]
|
||||
},
|
||||
{
|
||||
"title": "Activity relay",
|
||||
"source": "https://git.pleroma.social/pleroma/relay",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "https://fediverse.network/activityrelay",
|
||||
"description": "Generic LitePub relay, works with all LitePub consumers and with Mastodon.",
|
||||
"codeLanguage": "Python",
|
||||
"techStack": "",
|
||||
"license": "AGPL-3.0",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Relays"]
|
||||
},
|
||||
{
|
||||
"title": "Pub relay",
|
||||
"source": "https://source.joinmastodon.org/mastodon/pub-relay",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "A service-type ActivityPub actor that will re-broadcast anything sent to it to anyone who subscribes to it.",
|
||||
"codeLanguage": "Crystal",
|
||||
"techStack": "",
|
||||
"license": "AGPL-3.0",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Relays"]
|
||||
},
|
||||
{
|
||||
"title": "Social relay",
|
||||
"source": "https://github.com/jaywink/social-relay",
|
||||
"protocols": "diaspora",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "https://the-federation.info/social-relay",
|
||||
"description": "Public post relay for the diaspora* federated social network protocol.",
|
||||
"codeLanguage": "Python",
|
||||
"techStack": "",
|
||||
"license": "AGPL-3.0",
|
||||
"FediAccount": "",
|
||||
"apClass": false,
|
||||
"zotClass": false,
|
||||
"diasporaClass": true,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Relays"]
|
||||
},
|
||||
{
|
||||
"title": "Seattle relay",
|
||||
"source": "https://gitlab.com/jankysolutions/social.seattle.wa.us/relay",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "https://fediverse.network/social.seattle.wa.us-relay",
|
||||
"description": "Something like the Pleroma relay but with crazy things like workers.",
|
||||
"codeLanguage": "Python",
|
||||
"techStack": "",
|
||||
"license": "-",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Relays"]
|
||||
},
|
||||
{
|
||||
"title": "Pterotype",
|
||||
"source": "https://github.com/pterotype-project/pterotype",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "/img/misc/pterotype.png",
|
||||
"servers": "",
|
||||
"description": "WordPress plugin. Pterotype connects your blog to the Fediverse by giving it an ActivityPub feed.",
|
||||
"codeLanguage": "PHP",
|
||||
"techStack": "",
|
||||
"license": "MIT",
|
||||
"FediAccount": "https://mastodon.technology/@jdormit",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Plugins"]
|
||||
},
|
||||
{
|
||||
"title": "feed2toot",
|
||||
"source": "https://gitlab.com/chaica/feed2toot",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "Feed2toot automatically parses RSS feeds, identifies new posts and posts them on the Mastodon social network.",
|
||||
"codeLanguage": "Python",
|
||||
"techStack": "",
|
||||
"license": "MIT",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Utils"]
|
||||
},
|
||||
{
|
||||
"title": "RSS-to-ActivityPub",
|
||||
"source": "https://github.com/dariusk/rss-to-activitypub",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "RSS to ActivityPub converter.",
|
||||
"codeLanguage": "Javascript",
|
||||
"techStack": "Node.js",
|
||||
"license": "MIT",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Utils"]
|
||||
},
|
||||
{
|
||||
"title": "Activity-PHP",
|
||||
"source": "https://github.com/landrok/activitypub",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "https://landrok.github.io/activitypub",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "PHP implementation of ActivityPub protocol based on the ActivityStreams 2.0 data format.",
|
||||
"codeLanguage": "PHP",
|
||||
"techStack": "",
|
||||
"license": "MIT",
|
||||
"FediAccount": "https://cybre.space/@landrok",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Libs"]
|
||||
},
|
||||
{
|
||||
"title": "Astreams",
|
||||
"source": "https://github.com/MatejLach/astreams",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "A hand-crafted implementation of the Activity Streams 2.0 specification in Go.",
|
||||
"codeLanguage": "Go",
|
||||
"techStack": "",
|
||||
"license": "AGPL-3.0",
|
||||
"FediAccount": "https://social.matej-lach.me/@MatejLach",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Libs"]
|
||||
},
|
||||
{
|
||||
"title": "ActivityPub-mock",
|
||||
"source": "https://gitlab.com/evanp/activitypub-mock",
|
||||
"protocols": "ActivityPub",
|
||||
"site": "",
|
||||
"logo": "",
|
||||
"servers": "",
|
||||
"description": "A mock ActivityPub server to use in testing code.",
|
||||
"codeLanguage": "Javascript",
|
||||
"techStack": "",
|
||||
"license": "Apache-2.0",
|
||||
"FediAccount": "",
|
||||
"apClass": true,
|
||||
"zotClass": false,
|
||||
"diasporaClass": false,
|
||||
"OStatusClass": false,
|
||||
"categories": ["Libs"]
|
||||
}
|
||||
]
|
||||
}
|
7
source/en/tools/index.md
Normal file
7
source/en/tools/index.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
|
||||
---
|
||||
layout: "tools"
|
||||
title: ""
|
||||
banner: "/img/misc-bg.png"
|
||||
percent: "45% 100%"
|
||||
---
|
|
@ -13,7 +13,7 @@
|
|||
if (page.layout == 'crystalball') {
|
||||
ball = true;
|
||||
}
|
||||
if (page.layout == 'miscellaneous') {
|
||||
if (page.layout == 'miscellaneous' || page.layout == 'tools') {
|
||||
misc = "miscellaneous";
|
||||
}
|
||||
if (page.layout == 'post') {
|
||||
|
|
|
@ -23,32 +23,25 @@ layout: layout
|
|||
|
||||
const apps = site.data.miscellaneous.apps;
|
||||
const langList = langCount(apps).sort((a,b) => b.count - a.count);
|
||||
const byCategory = [['snMacro', 'Social network (macro)'], ['snMicro', 'Social network (micro)'], ['blogPub', 'Blog and Publishing'], ['media', 'Media sharing'], ['links', 'Link sharing'], ['evMeet', 'Events and Meetups'], ['files', 'File hosting'], ['data', 'Dataset exchange'], ['reviews', 'Reviewing'], ['games', 'Gaming']];
|
||||
const byProtocol = [['sortDiaspora', 'diaspora'], ['sortZot', 'Zot'], ['sortAP', 'ActivityPub'], ['sortOstatus', 'OStatus']];
|
||||
%>
|
||||
|
||||
<%- partial('_partial/heroheader') %>
|
||||
|
||||
<article class="contents misc">
|
||||
<h2>EXPLORE FEDIVERSE SOFTWARE</h2>
|
||||
<a class="dark-ui u-block u-center" href="/en/tools" style="border: 0; color: #fb4e4e;">→ Check out other Fediverse Tools ←</a></h5>
|
||||
|
||||
<h4>Sort by category:</h4>
|
||||
<label class="option" for="snMacro">Social network (macro)</label><input id="snMacro" type="checkbox">
|
||||
<label class="option" for="snMicro">Social network (micro)</label><input id="snMicro" type="checkbox">
|
||||
<label class="option" for="blogPub">Blog & Publishing</label><input id="blogPub" type="checkbox">
|
||||
<label class="option" for="media">Media sharing</label><input id="media" type="checkbox">
|
||||
<label class="option" for="links">Link sharing</label><input id="links" type="checkbox">
|
||||
<label class="option" for="evMeet">Events & meetups</label><input id="evMeet" type="checkbox">
|
||||
<label class="option" for="files">File hosting</label> <input id="files" type="checkbox">
|
||||
<label class="option" for="data">Dataset exchange</label><input id="data" type="checkbox">
|
||||
<label class="option" for="coop">Cooperatives</label><input id="coop" type="checkbox">
|
||||
<label class="option" for="dev">Developer Tools</label><input id="dev" type="checkbox">
|
||||
<label class="option" for="plugins">Plugins</label><input id="plugins" type="checkbox">
|
||||
<label class="option" for="relays">Relays</label><input id="relays" type="checkbox">
|
||||
<% for (item in byCategory) { %>
|
||||
<label class="option" for="<%= byCategory[item][0] %>"><%= byCategory[item][1] %></label><input id="<%= byCategory[item][0] %>" type="checkbox">
|
||||
<% } %>
|
||||
|
||||
<h4>Sort by protocol:</h4>
|
||||
<label class="option" for="sortDiaspora">diaspora</label> <input id="sortDiaspora" type="checkbox">
|
||||
<label class="option" for="sortZot">Zot</label> <input id="sortZot" type="checkbox">
|
||||
<label class="option" for="sortAP">ActivityPub</label> <input id="sortAP" type="checkbox">
|
||||
<label class="option" for="sortOstatus">OStatus</label> <input id="sortOstatus" type="checkbox">
|
||||
<% for (item in byProtocol) { %>
|
||||
<label class="option" for="<%= byProtocol[item][0] %>"><%= byProtocol[item][1] %></label><input id="<%= byProtocol[item][0] %>" type="checkbox">
|
||||
<% } %>
|
||||
|
||||
<h4>Sort by code language:</h4>
|
||||
<label class="option" for="all">All</label><input id="all" type="radio" name="radio">
|
||||
|
|
112
themes/starter/layout/tools.ejs
Normal file
112
themes/starter/layout/tools.ejs
Normal file
|
@ -0,0 +1,112 @@
|
|||
---
|
||||
layout: layout
|
||||
---
|
||||
|
||||
<%
|
||||
function langCount(arr) {
|
||||
let langs = [];
|
||||
arr.forEach(function(item) {
|
||||
let lang = item.codeLanguage;
|
||||
if (!lang) {return};
|
||||
let check = langs.findIndex(function(x) {return x.language === lang});
|
||||
if (check>=0) {
|
||||
langs[check].count +=1;
|
||||
} else {
|
||||
let newLang = {};
|
||||
newLang.language = lang;
|
||||
newLang.count = 1;
|
||||
langs.push(newLang);
|
||||
}
|
||||
});
|
||||
return langs;
|
||||
}
|
||||
|
||||
const apps = site.data.tools.apps;
|
||||
const langList = langCount(apps).sort((a,b) => b.count - a.count);
|
||||
const byCategory = [['libs', 'Libraries'], ['specs', 'Specifications'], ['dev', 'Tools (stuff for developers and geeks)'], ['utils', 'Utilities (bots, daemons, federators)'], ['relays', 'Relays'], ['bridges', 'Bridges'], ['plugins', 'Plugins (addon apps)'], ['other', 'Other']];
|
||||
const byProtocol = [['sortDiaspora', 'diaspora'], ['sortAP', 'ActivityPub'], ['sortOstatus', 'OStatus'], ['sortZot', 'Zot']];
|
||||
%>
|
||||
|
||||
<%- partial('_partial/heroheader') %>
|
||||
|
||||
<article class="contents misc">
|
||||
<h2>EXPLORE FEDIVERSE TOOLS</h2>
|
||||
|
||||
<h4>Sort by category:</h4>
|
||||
<% for (item in byCategory) { %>
|
||||
<label class="option" for="<%= byCategory[item][0] %>"><%= byCategory[item][1] %></label><input id="<%= byCategory[item][0] %>" type="checkbox">
|
||||
<% } %>
|
||||
|
||||
<h4>Sort by protocol:</h4>
|
||||
<% for (item in byProtocol) { %>
|
||||
<label class="option" for="<%= byProtocol[item][0] %>"><%= byProtocol[item][1] %></label><input id="<%= byProtocol[item][0] %>" type="checkbox">
|
||||
<% } %>
|
||||
|
||||
<h4>Sort by code language:</h4>
|
||||
<label class="option" for="all">All</label><input id="all" type="radio" name="radio">
|
||||
<% for (i in langList) { %>
|
||||
<label class="option" for="<%= langList[i].language.toLowerCase() %>"><%= langList[i].language %> <span>(<%= langList[i].count %>)</span></label><input id="<%= langList[i].language.toLowerCase() %>" type="radio" name="radio">
|
||||
<% } %>
|
||||
|
||||
<section class="grid misc__grid cards">
|
||||
<% for (item in apps) { %>
|
||||
<% let type = apps[item].categories %>
|
||||
<% let lang = apps[item].codeLanguage.toLowerCase() %>
|
||||
|
||||
<button class="card <%= lang %> <% if (apps[item].apClass) { %>ap<% } %> <% if (apps[item].zotClass) { %>zot<% } %> <% if (apps[item].diasporaClass) { %>dia<% } %> <% if (apps[item].OStatusClass) { %>os<% } %> <% for (t in type) { %> <%=type[t]%> <% } %>">
|
||||
|
||||
<div class="card__content">
|
||||
<div class="card__title">
|
||||
<% if (apps[item].logo) { %><img src="<%= apps[item].logo %>" alt="logo"><% } %>
|
||||
<p class="title u-emphasize"><%= apps[item].title %></p>
|
||||
</div>
|
||||
<div class="card__body">
|
||||
<% if (apps[item].site) { %>
|
||||
<h4 class="card__subtitle">Website</h4>
|
||||
<% let path = apps[item].site.split('://') %>
|
||||
<p><a href="<%= apps[item].site %>"><%= path[1] %></a>
|
||||
<svg role="img"><title>remote link</title><use xlink:href="#icon-link"></use></svg></p>
|
||||
<% } %>
|
||||
<h4 class="card__subtitle">Source code</h4>
|
||||
<p><a href="<%= apps[item].source %>">repository</a> <svg role="img"><title>remote link</title><use xlink:href="#icon-link"></use></svg></p>
|
||||
<% if (apps[item].servers) { %>
|
||||
<h4 class="card__subtitle">Servers</h4>
|
||||
<p><a href="<%= apps[item].servers %>">list</a> <svg role="img"><title>remote link</title><use xlink:href="#icon-link"></use></svg></p>
|
||||
<% } %>
|
||||
<% if (apps[item].FediAccount) { %>
|
||||
<h4 class="card__subtitle">Contact</h4>
|
||||
<p><a href="<%= apps[item].FediAccount %>">account</a> <svg role="img"><title>remote link</title><use xlink:href="#icon-link"></use></svg></p>
|
||||
<% } %>
|
||||
<span class="card__more u-emphasize">more info<i>▶</i</span>
|
||||
</div>
|
||||
<div class='card__extra'>
|
||||
<% if (apps[item].codeLanguage) { %>
|
||||
<h4 class="card__subtitle">Code language</h4>
|
||||
<p><%= apps[item].codeLanguage %></p>
|
||||
<% } %>
|
||||
<% if (apps[item].techStack) { %>
|
||||
<h4 class="card__subtitle">Tech stack</h4>
|
||||
<p><%= apps[item].techStack %></p>
|
||||
<% } %>
|
||||
<h4 class="card__subtitle">Protocols</h4>
|
||||
<p><%= apps[item].protocols %></p>
|
||||
<% if (apps[item].description) { %>
|
||||
<h4 class="card__subtitle">About</h4>
|
||||
<p class="card__about">
|
||||
<%- truncate( (apps[item].description), {length: 250, omission: '...'}) %>
|
||||
</p>
|
||||
<% } %>
|
||||
</div>
|
||||
</div>
|
||||
</button>
|
||||
<% } %>
|
||||
</section>
|
||||
|
||||
<footer>
|
||||
<p>Something's missing? <a class="dark-ui" href="https://git.feneas.org/feneas/fediverse/blob/master/CONTRIBUTING.md#submitting-software">Add</a> it.</p>
|
||||
<p>Software no longer maintained, renamed, broken link? Please, <a class="dark-ui" href="https://git.feneas.org/feneas/fediverse/issues">let us know</a>.</p>
|
||||
<p>Special thanks to <a class="dark-ui" href="https://mastodon.nzoss.nz/@strypey">@strypey</a> - for curating this <a class="dark-ui" href="https://git.feneas.org/feneas/fediverse/wikis/watchlist-for-activitypub-apps">list</a>.</p>
|
||||
<p>Other sources: implementation report on <a class="dark-ui" href="http://activitypub.rocks/implementation-report">activitypub.rocks</a> website.</p>
|
||||
</footer>
|
||||
|
||||
</article>
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
.misc h2 {
|
||||
text-align: center;
|
||||
margin-bottom: 1em;
|
||||
margin-bottom: .5em;
|
||||
}
|
||||
|
||||
.misc > h4 {
|
||||
|
@ -248,11 +248,18 @@
|
|||
#links:checked ~ .misc__grid .card:not(.Links),
|
||||
#evMeet:checked ~ .misc__grid .card:not(.Ev-Meet),
|
||||
#files:checked ~ .misc__grid .card:not(.Files),
|
||||
#dev:checked ~ .misc__grid .card:not(.DevTools),
|
||||
#data:checked ~ .misc__grid .card:not(.DataForge),
|
||||
#coop:checked ~ .misc__grid .card:not(.Coop),
|
||||
#plugins:checked ~ .misc__grid .card:not(.Plugins),
|
||||
#reviews:checked ~ .misc__grid .card:not(.Reviews),
|
||||
#games:checked ~ .misc__grid .card:not(.Games),
|
||||
#libs:checked ~ .misc__grid .card:not(.Libs),
|
||||
#specs:checked ~ .misc__grid .card:not(.Specs),
|
||||
#dev:checked ~ .misc__grid .card:not(.Tools),
|
||||
#utils:checked ~ .misc__grid .card:not(.Utils),
|
||||
#tests:checked ~ .misc__grid .card:not(.Tests),
|
||||
#relays:checked ~ .misc__grid .card:not(.Relays),
|
||||
#bridges:checked ~ .misc__grid .card:not(.Bridges),
|
||||
#plugins:checked ~ .misc__grid .card:not(.Plugins),
|
||||
#other:checked ~ .misc__grid .card:not(.Other),
|
||||
#python:checked ~ .misc__grid .card:not(.python),
|
||||
#php:checked ~ .misc__grid .card:not(.php),
|
||||
#javascript:checked ~ .misc__grid .card:not(.javascript),
|
||||
|
|
Loading…
Reference in a new issue