diff --git a/source/_data/miscellaneous.json b/source/_data/miscellaneous.json index 135bb19..7a1f196 100644 --- a/source/_data/miscellaneous.json +++ b/source/_data/miscellaneous.json @@ -8,6 +8,11 @@ "site": "https://writefreely.org", "logo": "/img/misc/writefreely.svg", "servers": "https://the-federation.info/writefreely", + "description": "Minimalist blog software providing focused writing and publishing experience. Easy on resources.", + "codeLanguage": "Go", + "techStack": "Node.js, LESS", + "license": "AGPL-3.0", + "FediAccount": "https://writing.exchange/@write_as", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -21,6 +26,11 @@ "site": "https://joinplu.me", "logo": "/img/misc/plume.svg", "servers": "https://the-federation.info/plume", + "description": "Blogging application suitable for collaborative writing.", + "codeLanguage": "Rust", + "techStack": "Rocket, Diesel, Ructe templates, WASM, SCSS", + "license": "AGPL-3.0", + "FediAccount": "https://fediverse.blog/~/PlumeDev", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -34,6 +44,11 @@ "site": "https://aardwolf.social", "logo": "/img/misc/aardwolf.png", "servers": "", + "description": "Facebook-like social network connecting communities across the web", + "codeLanguage": "Rust", + "techStack": "Rocket, Bulma CSS", + "license": "AGPL-3.0", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -44,9 +59,14 @@ "title": "CommonsPub", "source": "https://gitlab.com/OpenCoop/CommonsPub", "protocols": "ActivityPub", - "site": "https://commonspub.org", + "site": "http://commonspub.org", "logo": "/img/misc/commonspub.png", "servers": "", + "description": "An experiment to facilitate the creation of multi-functional complex federating networks.", + "codeLanguage": "Elixir", + "techStack": "Phoenix, React, GraphQL", + "license": "AGPL-3.0", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -59,7 +79,12 @@ "protocols": "ActivityPub", "site": "", "logo": "/img/misc/prismo.png", - "servers": "", + "servers": "https://the-federation.info/prismo", + "description": "Federated link aggregation service, without downvotes.", + "codeLanguage": "Ruby", + "techStack": "Node.js", + "license": "AGPL-3.0", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -73,6 +98,11 @@ "site": "https://read.as", "logo": "/img/misc/readas.svg", "servers": "https://the-federation.info/read.as", + "description": "Long-form reader. It helps you gather and curate things to read in a peaceful space.", + "codeLanguage": "Go", + "techStack": "Node.js", + "license": "AGPL-3.0", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -86,6 +116,11 @@ "site": "https://dokie.li", "logo": "/img/misc/dokieli.png", "servers": "", + "description": "In-browser article authoring and formatting, RDFa annotations, and social interactions tool.", + "codeLanguage": "Javascript", + "techStack": "Node.js", + "license": "Apache-2.0", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -99,6 +134,11 @@ "site": "https://fedi.blog", "logo": "/img/misc/fediblog.svg", "servers": "", + "description": "Fully customisable blog engine for web devs and others.", + "codeLanguage": "PHP", + "techStack": "", + "license": "GPL-3.0", + "FediAccount": "https://mastodon.xyz/@David", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -112,6 +152,11 @@ "site": "https://anfora.app", "logo": "/img/misc/anfora.svg", "servers": "", + "description": "Self-hosted photo gallery social network.", + "codeLanguage": "Python", + "techStack": "Tornado, peewee", + "license": "AGPL-3.0", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -125,6 +170,11 @@ "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, @@ -138,6 +188,11 @@ "site": "", "logo": "/img/misc/lemmy.svg", "servers": "", + "description": "Link aggregator, a federated alternative to Reddit / Lobste.rs / Raddle / Hacker News.", + "codeLanguage": "Rust", + "techStack": "Actix, Diesel, Inferno, Typescript", + "license": "AGPL-3.0", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -145,17 +200,22 @@ "categories": ["Links"] }, { - "title": "Pterotype", - "source": "https://github.com/pterotype-project/pterotype", + "title": "Guppe", + "source": "https://github.com/wmurphyrd/guppe", "protocols": "ActivityPub", - "site": "", - "logo": "/img/misc/pterotype.png", + "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": ["Plugins"] + "categories": ["SN-ma"] }, { "title": "Rustodon", @@ -164,6 +224,11 @@ "site": "", "logo": "", "servers": "https://fediverse.network/rustodon", + "description": "Mastodon-compatible social microblogging server.", + "codeLanguage": "Rust", + "techStack": "Diesel, SASS", + "license": "AGPL-3.0", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -174,9 +239,14 @@ "title": "microblog.pub", "source": "https://github.com/tsileo/microblog.pub", "protocols": "ActivityPub", - "site": "", + "site": "http://microblog.pub", "logo": "", "servers": "https://fediverse.network/microblogpub", + "description": "Self-hosted, single-user, ActivityPub powered microblog.", + "codeLanguage": "Python", + "techStack": "Flask, Tornado, SASS", + "license": "AGPL-3.0", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -190,6 +260,11 @@ "site": "", "logo": "", "servers": "", + "description": "Lightweight Mastodon and GNU social-compatible server implementation.", + "codeLanguage": "Rust", + "techStack": "", + "license": "ISC", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -203,6 +278,11 @@ "site": "https://joinmobilizon.org/en", "logo": "", "servers": "https://the-federation.info/mobilizon", + "description": "Organization and mobilization platform. Gather people with a convivial, ethical, and emancipating tool.", + "codeLanguage": "Elixir", + "techStack": "Vue, Typescript", + "license": "AGPL-3.0", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -216,6 +296,11 @@ "site": "", "logo": "/img/misc/dolphin.svg", "servers": "", + "description": "Lightweight ActivityPub Server optimized for single-user use. A fork of Misskey and its sister project.", + "codeLanguage": "Javascript", + "techStack": "Node.js, Vue, Typescript", + "license": "AGPL-3.0", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -228,7 +313,12 @@ "protocols": "ActivityPub", "site": "https://epicyon.net", "logo": "/img/misc/epicyon.png", - "servers": "", + "servers": "https://the-federation.info/epicyon", + "description": "ActivityPub server implementing S2S and C2S protocols, sutable for installation on single board computers. Includes features such as moderation tools, post expiry, content warnings, image descriptions and perimeter defense against adversaries.", + "codeLanguage": "Python", + "techStack": "", + "license": "AGPL-3.0", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -242,6 +332,11 @@ "site": "", "logo": "", "servers": "https://the-federation.info/kibou", + "description": "Lightweight federated social networking server.", + "codeLanguage": "Rust", + "techStack": "Rocket, Diesel", + "license": "AGPL-3.0", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -255,6 +350,11 @@ "site": "https://reel2bits.org", "logo": "", "servers": "https://fediverse.network/reel2bits", + "description": "Self-hosted soundtracks and podcasts sharing.", + "codeLanguage": "Python", + "techStack": "Flask, Vue, Bootstrap", + "license": "AGPL-3.0", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -262,12 +362,17 @@ "categories": ["Media"] }, { - "title": "Littr.go", + "title": "Littr.me", "source": "https://github.com/mariusor/littr.go", "protocols": "ActivityPub", "site": "", "logo": "", "servers": "https://the-federation.info/littr", + "description": "Link aggregator inspired by Reddit.", + "codeLanguage": "Go", + "techStack": "", + "license": "MIT", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -276,11 +381,16 @@ }, { "title": "ForgeFed", - "source": "https://github.com/forgefed/forgefed", + "source": "https://notabug.org/peers/forgefed", "protocols": "ActivityPub", - "site": "", + "site": "https://forgefed.peers.community", "logo": "", "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, @@ -294,6 +404,11 @@ "site": "", "logo": "", "servers": "", + "description": "ActivityStreams & ActivityPub in golang.", + "codeLanguage": "Go", + "techStack": "", + "license": "BSD-3-clause", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -305,6 +420,11 @@ "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, @@ -320,6 +440,11 @@ "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, @@ -333,6 +458,11 @@ "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, @@ -346,6 +476,11 @@ "site": "", "logo": "", "servers": "", + "description": "A general Python ActivityPub library.", + "codeLanguage": "Python", + "techStack": "", + "license": "MPL-2.0", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -359,6 +494,11 @@ "site": "", "logo": "", "servers": "", + "description": "A PHP implementation of the ActivityPub protocol.", + "codeLanguage": "PHP", + "techStack": "", + "license": "MIT", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -372,6 +512,11 @@ "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, @@ -385,6 +530,11 @@ "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, @@ -397,7 +547,12 @@ "protocols": "ActivityPub", "site": "", "logo": "", - "servers": "", + "servers": "https://the-federation.info/pubgate", + "description": "Lightweight ActivityPub federator based on little-boxes. Implements both client-to-server (C2S) API and federated server-to-server(S2S) API.", + "codeLanguage": "Python", + "techStack": "", + "license": "BSD-3-clause", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -411,6 +566,11 @@ "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, @@ -424,6 +584,11 @@ "site": "https://wordpress.org/plugins/activitypub", "logo": "", "servers": "", + "description": "ActivityPub for WordPress.", + "codeLanguage": "PHP", + "techStack": "", + "license": "MIT", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -437,6 +602,11 @@ "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, @@ -449,7 +619,12 @@ "protocols": "Zot, ActivityPub", "site": "https://zotlabs.com/zap", "logo": "/img/misc/zap.png", - "servers": "", + "servers": "https://the-federation.info/zap", + "description": "A webserver app which implements a decentralised social network with more privacy and less drama.", + "codeLanguage": "PHP", + "techStack": "", + "license": "MIT", + "FediAccount": "", "apClass": true, "zotClass": true, "diasporaClass": false, @@ -462,7 +637,12 @@ "protocols": "ActivityPub", "site": "https://distbin.com", "logo": "", - "servers": "", + "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, @@ -476,6 +656,11 @@ "site": "https://litepub.social/litepub", "logo": "", "servers": "", + "description": "Litepub protocol specification.", + "codeLanguage": "", + "techStack": "", + "license": "-", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -484,11 +669,16 @@ }, { "title": "p3k", - "source": "https://indieweb.org/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, @@ -502,6 +692,11 @@ "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, @@ -515,6 +710,11 @@ "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, @@ -528,6 +728,11 @@ "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, @@ -541,6 +746,11 @@ "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, @@ -554,6 +764,11 @@ "site": "", "logo": "", "servers": "", + "description": "Link aggregator like Reddit / Hackernews, but open source and self-hosted.", + "codeLanguage": "Typescript", + "techStack": "Node.js", + "license": "MIT", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -567,6 +782,11 @@ "site": "https://pubcast.pub", "logo": "", "servers": "", + "description": "Experimental ActivityPub based podcasting platform.", + "codeLanguage": "Go", + "techStack": "", + "license": "MPL-2.0", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -580,6 +800,11 @@ "site": "https://gancio.org", "logo": "", "servers": "https://the-federation.info/gancio", + "description": "A shared agenda for local communities. Decentralized events.", + "codeLanguage": "Javascript", + "techStack": "Vue, Node.js", + "license": "AGPL-3.0", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -593,6 +818,11 @@ "site": "https://puckipedia.com/kroeg", "logo": "", "servers": "https://fediverse.network/kroeg", + "description": "Generic ActivityPub server, with a focus on microblogging style activities.", + "codeLanguage": "Rust", + "techStack": "", + "license": "-", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -606,6 +836,11 @@ "site": "", "logo": "", "servers": "https://the-federation.info/groundpolis", + "description": "A microblogging service forked from Misskey.", + "codeLanguage": "Typescript", + "techStack": "Vue, Node.js", + "license": "AGPL-3.0", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -616,9 +851,14 @@ "title": "Honk", "source": "https://humungus.tedunangst.com/r/honk/f", "protocols": "ActivityPub", - "site": "", + "site": "https://humungus.tedunangst.com/r/honk", "logo": "", "servers": "", + "description": "ActivityPub server with minimal setup and support costs.", + "codeLanguage": "Go", + "techStack": "", + "license": "ISC", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -626,17 +866,22 @@ "categories": ["SN-mi"] }, { - "title": "Guppe", - "source": "https://github.com/wmurphyrd/guppe", + "title": "Pterotype", + "source": "https://github.com/pterotype-project/pterotype", "protocols": "ActivityPub", - "site": "https://gup.pe", - "logo": "/img/misc/guppe.png", + "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": "", "apClass": true, "zotClass": false, "diasporaClass": false, "OStatusClass": false, - "categories": ["SN-ma"] + "categories": ["Plugins"] }, { "title": "feed2toot", @@ -645,6 +890,11 @@ "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, @@ -658,6 +908,11 @@ "site": "", "logo": "", "servers": "", + "description": "RSS to ActivityPub converter.", + "codeLanguage": "Javascript", + "techStack": "Node.js", + "license": "MIT", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -671,6 +926,11 @@ "site": "http://smithereen.software", "logo": "", "servers": "https://the-federation.info/smithereen", + "description": "Federated, ActivityPub-compatible social network with friends, walls, and groups.", + "codeLanguage": "Java", + "techStack": "", + "license": "Unlicense (public domain)", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -684,6 +944,11 @@ "site": "", "logo": "", "servers": "", + "description": "A Mastodon-compatible, ActivityPub-speaking server in OCaml.", + "codeLanguage": "OCaml", + "techStack": "", + "license": "AGPL-3.0", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -697,19 +962,11 @@ "site": "", "logo": "", "servers": "", - "apClass": true, - "zotClass": false, - "diasporaClass": false, - "OStatusClass": false, - "categories": ["SN-mi"] - }, - { - "title": "Parastat", - "source": "https://parast.at", - "protocols": "ActivityPub", - "site": "https://parast.at", - "logo": "/img/misc/parastat.png", - "servers": "", + "description": "Microblogging server written in C#.", + "codeLanguage": "C#", + "techStack": "Typescript", + "license": "AGPL-3.0", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, @@ -723,12 +980,35 @@ "site": "", "logo": "", "servers": "https://events.friend.camp", + "description": "Self-destructing, shareable, no-registration event pages.", + "codeLanguage": "Javascript", + "techStack": "", + "license": "GPL-3.0", + "FediAccount": "", "apClass": true, "zotClass": false, "diasporaClass": false, "OStatusClass": false, "categories": ["Ev-Meet"] }, + { + "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 upon the ActivityStreams 2.0 data format.", + "codeLanguage": "PHP", + "techStack": "", + "license": "MIT", + "FediAccount": "", + "apClass": true, + "zotClass": false, + "diasporaClass": false, + "OStatusClass": false, + "categories": ["DevTools"] + }, { "title": "ActivityPub-mock", "source": "https://gitlab.com/evanp/activitypub-mock", @@ -736,6 +1016,11 @@ "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, @@ -743,17 +1028,22 @@ "categories": ["DevTools"] }, { - "title": "Activity-PHP", - "source": "https://landrok.github.io/activitypub", + "title": "Parastat", + "source": "https://parast.at", "protocols": "ActivityPub", - "site": "", - "logo": "", + "site": "https://parast.at", + "logo": "/img/misc/parastat.png", "servers": "", + "description": "-", + "codeLanguage": "C", + "techStack": "Elm", + "license": "CNPL", + "FediAccount": "https://octodon.social/@parastat", "apClass": true, "zotClass": false, "diasporaClass": false, "OStatusClass": false, - "categories": ["DevTools"] + "categories": ["SN-mi"] } ] } diff --git a/themes/starter/layout/miscellaneous.ejs b/themes/starter/layout/miscellaneous.ejs index df37259..8ec5721 100644 --- a/themes/starter/layout/miscellaneous.ejs +++ b/themes/starter/layout/miscellaneous.ejs @@ -24,43 +24,67 @@ layout: layout

Link sharing

Events & meetups

File hosting

-

Economic activities

Cooperatives & shared

Developer Tools

Plugins

Relays

-
+
<% for (item in apps) { %> - <% let type = apps[item].categories %> -
-
- <% if (apps[item].logo) { %>logo<% } %> -

<%= apps[item].title %>

+
+ <% } %>
+

Something's missing? Add it.

Software no longer maintained, renamed, broken link? Please, let us know.

Special thanks to @strypey - for curating this list.

-

Other sources: spreadsheet by @mayel, implementation report on activitypub.rocks website.

+

Other sources: implementation report on activitypub.rocks website.

+ diff --git a/themes/starter/source/assets/scss/modules/_misc.scss b/themes/starter/source/assets/scss/modules/_misc.scss index f3857f1..aba46b0 100644 --- a/themes/starter/source/assets/scss/modules/_misc.scss +++ b/themes/starter/source/assets/scss/modules/_misc.scss @@ -1,5 +1,4 @@ - .miscellaneous .hero-header { max-height: 350px; box-shadow: 1px 1px 4px 2px $black; @@ -9,6 +8,7 @@ background: $asphalt; color: $white; min-height: 90%; + padding: 2em 13% 3em; } .misc svg { @@ -37,27 +37,32 @@ margin: 0 1em 0 .2em; } -.misc p:nth-of-type(n+5):nth-of-type(-n+16) { +.misc p:nth-of-type(n+5):nth-of-type(-n+15) { color: $white; } .misc__grid { display: flex; flex-wrap: wrap; - justify-content: space-between; - margin: 1.2em 0; + margin: 3em 0 0; } .misc__grid a { border: 0; } -.misc__grid .card { - background-color: $white; +.card { + background-color: transparent; color: $black; border-radius: 8px; - flex: 30% 0 0; - margin-bottom: 2em; + border-color: transparent; + flex: 33% 0 0; + margin-bottom: 3em; + font-size: inherit; + text-align: left; + transition: .2s ease; + cursor: pointer; + z-index: 1; } .card p { @@ -67,14 +72,10 @@ } .card__title { - margin-top: 1.2em; + padding-top: 1.2em; height: 45px; } -.card__title p { - color: $black; -} - .misc .title { float: right; width: 65%; @@ -85,7 +86,7 @@ } .card__body { - padding: 1em 2em 2em; + padding: 2em; } .card__subtitle { @@ -99,6 +100,131 @@ width: 45px; } +.card__about, +.card__more { + line-height: 1.1; +} + +.card__more { + position: absolute; + right: 20px; + bottom: 20px; + margin-top: .8em; + font-size: .95rem; +} + +.card__more i { + display: inline-block; + vertical-align: middle; + height: 13px; + margin-left: 2px; + font-size: .7rem; +} + +.card:focus .card__more { + display: none; +} + +.card__content { + position: relative; + background: $white; + border-radius: inherit; + width: 270px; + height: 360px; + transition: .3s cubic-bezier(.175, .885, .32, 1.275); +} + +.card__extra { + position: absolute; + width: 350px; + height: 360px; + left: 0; + top: 0; + border-radius: 0 8px 8px 0; + transition: .15s cubic-bezier(.175, .885, .32, 1); + transform: translateX(70%) rotateX(90deg); + opacity: 0; + transform-origin: top; + overflow: hidden; + padding: 1.5em; +} + +.card__extra p { + transition: opacity .3s ease; + transition-delay: .2s; + opacity: 0; +} + +.card__content:before, +.card__content:after { + content: ""; + position: absolute; + opacity: 0; + cursor: pointer; + transition: .1s ease; + pointer-events: none; +} + +.card__content:after { + width: 25px; + height: 25px; + border-radius: 20%; + background: linear-gradient(45deg, rgba(255, 255, 255, 1.0e-05) calc(50% - 2px), #fff calc(50% - 2px), #fff calc(50% + 2px), rgba(255, 255, 255, 1.0e-05) calc(50% + 2px)), linear-gradient(-45deg, rgba(255, 255, 255, 1.0e-05) calc(50% - 2px), #fff calc(50% - 2px), #fff calc(50% + 2px), rgba(255, 255, 255, 1.0e-05) calc(50% + 2px)), $golden; + top: -30px; + right: -360px; + box-shadow: inset 0 0 0 5px $golden; + z-index: $zIndex--5; +} + +.card__content:before { + width: 660px; + height: 30px; + top: -35px; + left: -20px; + background: rgba(0, 0, 0, .9); + border-radius: 16px 16px 0 0; + z-index: $zIndex--5; +} + +.card:focus { + outline: none; + transform: translateY(-10px) translateX(-80px); + z-index: $zIndex--4; +} + +.card:focus > .card__content:before, +.card:focus > .card__content:after { + opacity: 1; +} + +.card:focus:before { + content: ""; + position: absolute; + min-width: 660px; + min-height: 395px; + top: -15px; + left: -100px; + background-color: rgba(0, 0, 0, .9); + border-radius: 0 0 16px 16px; +} + +.card:focus .card__content { + transform: translateY(-10px) translateX(-80px); + border-radius: 8px 0 0 8px; +} + +.card:focus .card__extra { + background: inherit; + transition: opacity 0s ease-in, transform .2s ease-in; + transition-delay: .1s; + transform: translateX(77%) rotateX(0deg); + opacity: 1; +} + +.card:focus .card__extra p { + opacity: 1; +} + .option { display: inline-block; } @@ -115,7 +241,6 @@ .option + #evMeet:checked ~ .misc__grid .card:not(.Ev-Meet), .option + #files:checked ~ .misc__grid .card:not(.Files), .option + #dev:checked ~ .misc__grid .card:not(.DevTools), -.option + #econ:checked ~ .misc__grid .card:not(.Econ), .option + #coop:checked ~ .misc__grid .card:not(.Coop), .option + #plugins:checked ~ .misc__grid .card:not(.Plugins), .option + #relays:checked ~ .misc__grid .card:not(.Relays) { @@ -123,25 +248,92 @@ } @media screen and (max-width: $mq-large) { - .misc__grid .card { - flex: 32% 0 0; + .misc__grid { + justify-content: flex-end; } -} -@media screen and (max-width: $mq-medium) { - .misc__grid .card { + .card { flex: 45% 0 0; } } +@media screen and (max-width: $mq-medium) { + .misc__grid { + justify-content: flex-start; + } + + .card { + flex: 95% 0 0; + outline: none; + cursor: default; + pointer-events: none; + } + + .card__content { + display: flex; + flex-wrap: wrap; + height: auto; + width: 100%; + border-radius: 8px; + } + + .card__title { + flex: 100% 0 0; + padding-top: .5em; + } + + .card__body { + flex: 40% 0 0; + } + + .card__extra { + position: static; + flex: 60% 0 0; + background: inherit; + transition: opacity 0s ease-in, transform .2s ease-in; + transition-delay: .1s; + transform: translateX(77%) rotateX(0deg); + opacity: 1; + width: inherit; + height: inherit; + transform: none; + } + + .card__extra p { + opacity: 1; + } + + .card__more { + display: none; + } + + .misc .title { + width: 45%; + } +} + @media screen and (max-width: $mq-small) { - .misc__grid .card { - flex: 49% 0 0; + .card { + flex: 100% 0 0; + } + + .card__body, + .card__extra { + padding: 1.3em; } } @media screen and (max-width: $mq-xsmall) { - .misc__grid .card { + .card__body, + .card__extra { flex: 100% 0 0; } + + .card__body { + padding-bottom: 0; + } + + .card__extra { + padding-top: 0; + } } diff --git a/themes/starter/source/assets/scss/modules/_navbar.scss b/themes/starter/source/assets/scss/modules/_navbar.scss index b28e901..7250600 100644 --- a/themes/starter/source/assets/scss/modules/_navbar.scss +++ b/themes/starter/source/assets/scss/modules/_navbar.scss @@ -226,7 +226,7 @@ .revealer__toggle:focus ~ .u-hidden { opacity: 1; - visibility:visible; + visibility: visible; transform: matrix(1, 0, 0, 1, 0, -35); } diff --git a/themes/starter/source/assets/scss/partials/_colors.scss b/themes/starter/source/assets/scss/partials/_colors.scss index 69923b7..80c4796 100644 --- a/themes/starter/source/assets/scss/partials/_colors.scss +++ b/themes/starter/source/assets/scss/partials/_colors.scss @@ -3,7 +3,6 @@ $white: #ffffff; $golden: #fecb52; $coral: #e93a32; - $black: #0e0a0c; $asphalt: #171014; $grey: #b9b9b9; diff --git a/themes/starter/source/assets/scss/partials/_variables.scss b/themes/starter/source/assets/scss/partials/_variables.scss index 8648d14..dbb1cfb 100644 --- a/themes/starter/source/assets/scss/partials/_variables.scss +++ b/themes/starter/source/assets/scss/partials/_variables.scss @@ -1,3 +1,4 @@ + $mq-xsmall: 33.9em; // max-width 542px, xxSmall devices (portrait phones) $mq-small: 51em; // max-width 816px, small devices (landscape phones) $mq-medium: 64em; // max-width 1024px, medium devices (tablets) diff --git a/themes/starter/source/assets/scss/partials/_z-index.scss b/themes/starter/source/assets/scss/partials/_z-index.scss index 72a1656..d25fe46 100644 --- a/themes/starter/source/assets/scss/partials/_z-index.scss +++ b/themes/starter/source/assets/scss/partials/_z-index.scss @@ -1,7 +1,8 @@ // $zIndex-1: -1; -$zIndex--1: 1; // footer +$zIndex--1: 1; // footer, .card $zIndex--2: 2; // .main__container:after $zIndex--3: 3; // .grid, no-js -$zIndex--4: 4; // navbar, trigger, aside +$zIndex--4: 4; // navbar, trigger, aside, .card:focus +$zIndex--5: 5; // .card__content:before, .card__content:after