diff --git a/source/_data/miscellaneous.json b/source/_data/miscellaneous.json index e022896..c94ecb6 100644 --- a/source/_data/miscellaneous.json +++ b/source/_data/miscellaneous.json @@ -75,7 +75,7 @@ }, { "title": "microblog.pub", - "source": "https://github.com/tsileo/microblog.pub", + "source": "https://git.sr.ht/~tsileo/microblog.pub", "protocols": "ActivityPub", "site": "", "logo": "", @@ -973,24 +973,6 @@ "OStatusClass": false, "categories": ["Other"] }, - { - "title": "Readlebee", - "source": "https://gitlab.com/Alamantus/Readlebee", - "protocols": "ActivityPub", - "site": "", - "logo": "", - "servers": "", - "description": "An attempt to create a viable Goodreads alternative. Book reading progress, lists, reviews, comments, and more.", - "codeLanguage": "JavaScript", - "techStack": "Node.js", - "license": "AGPL-3.0", - "FediAccount": "@Readlebee@floss.social", - "apClass": true, - "zotClass": false, - "diasporaClass": false, - "OStatusClass": false, - "categories": ["Reviews"] - }, { "title": "Lumen-AP-server", "source": "https://notabug.org/tinyrabbit/lumen-ap-server", @@ -1235,7 +1217,7 @@ "description": "A simple self-hosted workout / activity tracker.", "codeLanguage": "Python", "techStack": "", - "license": "GPL-3.0", + "license": "AGPL-3.0", "FediAccount": "@SamR1@mastodon.social", "apClass": true, "zotClass": false, diff --git a/source/_data/tools.json b/source/_data/tools.json index 1bec9df..7e7360a 100644 --- a/source/_data/tools.json +++ b/source/_data/tools.json @@ -17,7 +17,7 @@ "zotClass": false, "diasporaClass": false, "OStatusClass": false, - "categories": ["Specs"] + "categories": ["Forges"] }, { "title": "Nautilus", @@ -1709,6 +1709,186 @@ "zotClass": false, "diasporaClass": false, "OStatusClass": false, + "categories": ["Forges"] + }, + { + "title": "ActivityPub Rust", + "source": "https://github.com/LemmyNet/activitypub-federation-rust", + "protocols": "ActivityPub", + "site": "", + "logo": "", + "servers": "", + "description": "A high-level framework for ActivityPub federation in Rust, extracted from Lemmy.", + "codeLanguage": "Rust", + "techStack": "", + "license": "AGPL-3.0", + "FediAccount": "", + "apClass": true, + "zotClass": false, + "diasporaClass": false, + "OStatusClass": false, + "categories": ["Libs"] + }, + { + "title": "ForgeFlux StarChart", + "source": "https://github.com/forgeflux-org/starchart", + "protocols": "ActivityPub", + "site": "", + "logo": "", + "servers": "", + "description": "Software forge spider. Crawler that maps and advertises self-hosted code forge instances.", + "codeLanguage": "Rust", + "techStack": "", + "license": "AGPL-3.0", + "FediAccount": "", + "apClass": true, + "zotClass": false, + "diasporaClass": false, + "OStatusClass": false, + "categories": ["Forges", "Other"] + }, + { + "title": "Friendly Forge Format", + "source": "https://lab.forgefriends.org/friendlyforgeformat", + "protocols": "ActivityPub", + "site": "", + "logo": "", + "servers": "", + "description": "An Open File Format for storing the information from a forge.", + "codeLanguage": "", + "techStack": "", + "license": "-", + "FediAccount": "@dachary@mastodon.online", + "apClass": true, + "zotClass": false, + "diasporaClass": false, + "OStatusClass": false, + "categories": ["Forges"] + }, + { + "title": "gofff", + "source": "https://lab.forgefriends.org/friendlyforgeformat/gofff", + "protocols": "ActivityPub", + "site": "", + "logo": "", + "servers": "", + "description": "Reference implementation of Friendly Forge Format in Go.", + "codeLanguage": "Go", + "techStack": "", + "license": "AGPL-3.0", + "FediAccount": "@dachary@mastodon.online", + "apClass": true, + "zotClass": false, + "diasporaClass": false, + "OStatusClass": false, + "categories": ["Forges"] + }, + { + "title": "pyfff", + "source": "https://lab.forgefriends.org/friendlyforgeformat/pyfff", + "protocols": "ActivityPub", + "site": "", + "logo": "", + "servers": "", + "description": "Reference implementation of Friendly Forge Format in Python.", + "codeLanguage": "Python", + "techStack": "", + "license": "AGPL-3.0", + "FediAccount": "@dachary@mastodon.online", + "apClass": true, + "zotClass": false, + "diasporaClass": false, + "OStatusClass": false, + "categories": ["Forges"] + }, + { + "title": "MastoMods", + "source": "https://github.com/trwnh/mastomods", + "protocols": "ActivityPub", + "site": "", + "logo": "", + "servers": "", + "description": "CSS tweaks and custom themes for Mastodon.", + "codeLanguage": "", + "techStack": "", + "license": "Unlicense", + "FediAccount": "@trwnh@mastodon.social", + "apClass": true, + "zotClass": false, + "diasporaClass": false, + "OStatusClass": false, + "categories": ["Utils"] + }, + { + "title": "Pub-relay", + "source": "https://github.com/noellabo/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": "@noellabo@fedibird.com", + "apClass": true, + "zotClass": false, + "diasporaClass": false, + "OStatusClass": false, + "categories": ["Relays"] + }, + { + "title": "mastotuit", + "source": "https://git.mastodont.cat/spla/mastotuit", + "protocols": "ActivityPub", + "site": "", + "logo": "", + "servers": "", + "description": "Publishes to Twitter all your Mastodon public text only posts but also your posts with images, with videos and even polls.", + "codeLanguage": "Python", + "techStack": "", + "license": "GPL-3.0", + "FediAccount": "@spla@soc.catala.digital", + "apClass": true, + "zotClass": false, + "diasporaClass": false, + "OStatusClass": false, + "categories": ["Bridges"] + }, + { + "title": "rustypub", + "source": "https://github.com/hachyserve/rustypub", + "protocols": "ActivityPub", + "site": "https://hachyserve.github.io/rustypub", + "logo": "", + "servers": "", + "description": "Early beginnings of ActivityPub library in Rust.", + "codeLanguage": "Rust", + "techStack": "", + "license": "Apache-2.0", + "FediAccount": "@dma@hachyderm.io", + "apClass": true, + "zotClass": false, + "diasporaClass": false, + "OStatusClass": false, + "categories": ["Libs"] + }, + { + "title": "Masto Thread Renderer", + "source": "https://github.com/vrutkovs/masto-thread-renderer", + "protocols": "ActivityPub", + "site": "https://thread.vrutkovs.eu", + "logo": "", + "servers": "", + "description": "Display a Mastodon thread (only author toots, no replies) as a web page or Markdown for reading.", + "codeLanguage": "Rust", + "techStack": "", + "license": "Apache-2.0", + "FediAccount": "@vadim@social.vrutkovs.eu", + "apClass": true, + "zotClass": false, + "diasporaClass": false, + "OStatusClass": false, "categories": ["Utils"] } ] diff --git a/themes/starter/layout/tools.ejs b/themes/starter/layout/tools.ejs index 868c600..ab87386 100644 --- a/themes/starter/layout/tools.ejs +++ b/themes/starter/layout/tools.ejs @@ -23,7 +23,7 @@ layout: layout const apps = site.data.tools.apps; const langList = langCount(apps).sort((a,b) => b.count - a.count); - const byCategory = [['libs', 'Libraries'], ['specs', 'Specifications'], ['utils', 'Utilities (including bots, daemons)'], ['relays', 'Relays'], ['bridges', 'Bridges'], ['plugins', 'Plugins (addons)'], ['tests', 'Testing'], ['other', 'Other']]; + const byCategory = [['libs', 'Libraries'], ['specs', 'Specifications'], ['utils', 'Utilities (including bots, daemons)'], ['relays', 'Relays'], ['bridges', 'Bridges'], ['plugins', 'Plugins (addons)'], ['tests', 'Testing'], ['forges', 'Forges'], ['other', 'Other']]; const byProtocol = [['sortDiaspora', 'diaspora'], ['sortAP', 'ActivityPub'], ['sortOstatus', 'OStatus'], ['sortZot', 'Zot']]; %> diff --git a/themes/starter/source/assets/scss/modules/_misc.scss b/themes/starter/source/assets/scss/modules/_misc.scss index 05bb870..1ec9a1a 100644 --- a/themes/starter/source/assets/scss/modules/_misc.scss +++ b/themes/starter/source/assets/scss/modules/_misc.scss @@ -260,6 +260,7 @@ #relays:checked ~ .misc__grid .card:not(.Relays), #bridges:checked ~ .misc__grid .card:not(.Bridges), #plugins:checked ~ .misc__grid .card:not(.Plugins), +#forges:checked ~ .misc__grid .card:not(.Forges), #other:checked ~ .misc__grid .card:not(.Other), #forums:checked ~ .misc__grid .card:not(.Forums), #python:checked ~ .misc__grid .card:not(.python),