Expand Miscellaneous cards, stage 1

This commit is contained in:
lostinlight 2020-02-23 17:59:22 +03:00
parent d363bda599
commit 861b45e6b3
7 changed files with 599 additions and 92 deletions

View file

@ -8,6 +8,11 @@
"site": "https://writefreely.org", "site": "https://writefreely.org",
"logo": "/img/misc/writefreely.svg", "logo": "/img/misc/writefreely.svg",
"servers": "https://the-federation.info/writefreely", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -21,6 +26,11 @@
"site": "https://joinplu.me", "site": "https://joinplu.me",
"logo": "/img/misc/plume.svg", "logo": "/img/misc/plume.svg",
"servers": "https://the-federation.info/plume", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -34,6 +44,11 @@
"site": "https://aardwolf.social", "site": "https://aardwolf.social",
"logo": "/img/misc/aardwolf.png", "logo": "/img/misc/aardwolf.png",
"servers": "", "servers": "",
"description": "Facebook-like social network connecting communities across the web",
"codeLanguage": "Rust",
"techStack": "Rocket, Bulma CSS",
"license": "AGPL-3.0",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -44,9 +59,14 @@
"title": "CommonsPub", "title": "CommonsPub",
"source": "https://gitlab.com/OpenCoop/CommonsPub", "source": "https://gitlab.com/OpenCoop/CommonsPub",
"protocols": "ActivityPub", "protocols": "ActivityPub",
"site": "https://commonspub.org", "site": "http://commonspub.org",
"logo": "/img/misc/commonspub.png", "logo": "/img/misc/commonspub.png",
"servers": "", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -59,7 +79,12 @@
"protocols": "ActivityPub", "protocols": "ActivityPub",
"site": "", "site": "",
"logo": "/img/misc/prismo.png", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -73,6 +98,11 @@
"site": "https://read.as", "site": "https://read.as",
"logo": "/img/misc/readas.svg", "logo": "/img/misc/readas.svg",
"servers": "https://the-federation.info/read.as", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -86,6 +116,11 @@
"site": "https://dokie.li", "site": "https://dokie.li",
"logo": "/img/misc/dokieli.png", "logo": "/img/misc/dokieli.png",
"servers": "", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -99,6 +134,11 @@
"site": "https://fedi.blog", "site": "https://fedi.blog",
"logo": "/img/misc/fediblog.svg", "logo": "/img/misc/fediblog.svg",
"servers": "", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -112,6 +152,11 @@
"site": "https://anfora.app", "site": "https://anfora.app",
"logo": "/img/misc/anfora.svg", "logo": "/img/misc/anfora.svg",
"servers": "", "servers": "",
"description": "Self-hosted photo gallery social network.",
"codeLanguage": "Python",
"techStack": "Tornado, peewee",
"license": "AGPL-3.0",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -125,6 +170,11 @@
"site": "https://apps.nextcloud.com/apps/social", "site": "https://apps.nextcloud.com/apps/social",
"logo": "/img/misc/nextcloud.png", "logo": "/img/misc/nextcloud.png",
"servers": "", "servers": "",
"description": "Social networking app for NextCloud users.",
"codeLanguage": "PHP",
"techStack": "Node.js, Vue, SCSS",
"license": "AGPL-3.0",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -138,6 +188,11 @@
"site": "", "site": "",
"logo": "/img/misc/lemmy.svg", "logo": "/img/misc/lemmy.svg",
"servers": "", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -145,17 +200,22 @@
"categories": ["Links"] "categories": ["Links"]
}, },
{ {
"title": "Pterotype", "title": "Guppe",
"source": "https://github.com/pterotype-project/pterotype", "source": "https://github.com/wmurphyrd/guppe",
"protocols": "ActivityPub", "protocols": "ActivityPub",
"site": "", "site": "https://gup.pe",
"logo": "/img/misc/pterotype.png", "logo": "/img/misc/guppe.png",
"servers": "", "servers": "",
"description": "Social groups for MAstodon and other ActivityPub networks.",
"codeLanguage": "Javascript",
"techStack": "Node.js, Express, Vue",
"license": "AGPL-3.0",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
"OStatusClass": false, "OStatusClass": false,
"categories": ["Plugins"] "categories": ["SN-ma"]
}, },
{ {
"title": "Rustodon", "title": "Rustodon",
@ -164,6 +224,11 @@
"site": "", "site": "",
"logo": "", "logo": "",
"servers": "https://fediverse.network/rustodon", "servers": "https://fediverse.network/rustodon",
"description": "Mastodon-compatible social microblogging server.",
"codeLanguage": "Rust",
"techStack": "Diesel, SASS",
"license": "AGPL-3.0",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -174,9 +239,14 @@
"title": "microblog.pub", "title": "microblog.pub",
"source": "https://github.com/tsileo/microblog.pub", "source": "https://github.com/tsileo/microblog.pub",
"protocols": "ActivityPub", "protocols": "ActivityPub",
"site": "", "site": "http://microblog.pub",
"logo": "", "logo": "",
"servers": "https://fediverse.network/microblogpub", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -190,6 +260,11 @@
"site": "", "site": "",
"logo": "", "logo": "",
"servers": "", "servers": "",
"description": "Lightweight Mastodon and GNU social-compatible server implementation.",
"codeLanguage": "Rust",
"techStack": "",
"license": "ISC",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -203,6 +278,11 @@
"site": "https://joinmobilizon.org/en", "site": "https://joinmobilizon.org/en",
"logo": "", "logo": "",
"servers": "https://the-federation.info/mobilizon", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -216,6 +296,11 @@
"site": "", "site": "",
"logo": "/img/misc/dolphin.svg", "logo": "/img/misc/dolphin.svg",
"servers": "", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -228,7 +313,12 @@
"protocols": "ActivityPub", "protocols": "ActivityPub",
"site": "https://epicyon.net", "site": "https://epicyon.net",
"logo": "/img/misc/epicyon.png", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -242,6 +332,11 @@
"site": "", "site": "",
"logo": "", "logo": "",
"servers": "https://the-federation.info/kibou", "servers": "https://the-federation.info/kibou",
"description": "Lightweight federated social networking server.",
"codeLanguage": "Rust",
"techStack": "Rocket, Diesel",
"license": "AGPL-3.0",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -255,6 +350,11 @@
"site": "https://reel2bits.org", "site": "https://reel2bits.org",
"logo": "", "logo": "",
"servers": "https://fediverse.network/reel2bits", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -262,12 +362,17 @@
"categories": ["Media"] "categories": ["Media"]
}, },
{ {
"title": "Littr.go", "title": "Littr.me",
"source": "https://github.com/mariusor/littr.go", "source": "https://github.com/mariusor/littr.go",
"protocols": "ActivityPub", "protocols": "ActivityPub",
"site": "", "site": "",
"logo": "", "logo": "",
"servers": "https://the-federation.info/littr", "servers": "https://the-federation.info/littr",
"description": "Link aggregator inspired by Reddit.",
"codeLanguage": "Go",
"techStack": "",
"license": "MIT",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -276,11 +381,16 @@
}, },
{ {
"title": "ForgeFed", "title": "ForgeFed",
"source": "https://github.com/forgefed/forgefed", "source": "https://notabug.org/peers/forgefed",
"protocols": "ActivityPub", "protocols": "ActivityPub",
"site": "", "site": "https://forgefed.peers.community",
"logo": "", "logo": "",
"servers": "", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -294,6 +404,11 @@
"site": "", "site": "",
"logo": "", "logo": "",
"servers": "", "servers": "",
"description": "ActivityStreams & ActivityPub in golang.",
"codeLanguage": "Go",
"techStack": "",
"license": "BSD-3-clause",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -305,6 +420,11 @@
"source": "https://github.com/snarfed/bridgy-fed", "source": "https://github.com/snarfed/bridgy-fed",
"protocols": "ActivityPub, OStatus", "protocols": "ActivityPub, OStatus",
"site": "https://fed.brid.gy", "site": "https://fed.brid.gy",
"description": "Bridges the IndieWeb to federated social networks: ActivityPub, OStatus, etc.",
"codeLanguage": "Python",
"techStack": "",
"license": "CC-0",
"FediAccount": "",
"logo": "", "logo": "",
"servers": "", "servers": "",
"apClass": true, "apClass": true,
@ -320,6 +440,11 @@
"site": "https://federation.readthedocs.io", "site": "https://federation.readthedocs.io",
"logo": "", "logo": "",
"servers": "", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": true, "diasporaClass": true,
@ -333,6 +458,11 @@
"site": "https://little-boxes.readthedocs.io", "site": "https://little-boxes.readthedocs.io",
"logo": "", "logo": "",
"servers": "", "servers": "",
"description": "Tiny ActivityPub framework written in Python, both database and server agnostic.",
"codeLanguage": "Python",
"techStack": "",
"license": "ISC",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -346,6 +476,11 @@
"site": "", "site": "",
"logo": "", "logo": "",
"servers": "", "servers": "",
"description": "A general Python ActivityPub library.",
"codeLanguage": "Python",
"techStack": "",
"license": "MPL-2.0",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -359,6 +494,11 @@
"site": "", "site": "",
"logo": "", "logo": "",
"servers": "", "servers": "",
"description": "A PHP implementation of the ActivityPub protocol.",
"codeLanguage": "PHP",
"techStack": "",
"license": "MIT",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -372,6 +512,11 @@
"site": "", "site": "",
"logo": "", "logo": "",
"servers": "", "servers": "",
"description": "A simple reference implementation of an ActivityPub server using Express.js.",
"codeLanguage": "Javascript",
"techStack": "Express",
"license": "MIT",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -385,6 +530,11 @@
"site": "", "site": "",
"logo": "", "logo": "",
"servers": "", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -397,7 +547,12 @@
"protocols": "ActivityPub", "protocols": "ActivityPub",
"site": "", "site": "",
"logo": "", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -411,6 +566,11 @@
"site": "", "site": "",
"logo": "", "logo": "",
"servers": "", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -424,6 +584,11 @@
"site": "https://wordpress.org/plugins/activitypub", "site": "https://wordpress.org/plugins/activitypub",
"logo": "", "logo": "",
"servers": "", "servers": "",
"description": "ActivityPub for WordPress.",
"codeLanguage": "PHP",
"techStack": "",
"license": "MIT",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -437,6 +602,11 @@
"site": "https://wordpress.org/plugins/ostatus-for-wordpress", "site": "https://wordpress.org/plugins/ostatus-for-wordpress",
"logo": "", "logo": "",
"servers": "", "servers": "",
"description": "An OStatus plugin for WordPress.",
"codeLanguage": "PHP",
"techStack": "",
"license": "MIT",
"FediAccount": "",
"apClass": false, "apClass": false,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -449,7 +619,12 @@
"protocols": "Zot, ActivityPub", "protocols": "Zot, ActivityPub",
"site": "https://zotlabs.com/zap", "site": "https://zotlabs.com/zap",
"logo": "/img/misc/zap.png", "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, "apClass": true,
"zotClass": true, "zotClass": true,
"diasporaClass": false, "diasporaClass": false,
@ -462,7 +637,12 @@
"protocols": "ActivityPub", "protocols": "ActivityPub",
"site": "https://distbin.com", "site": "https://distbin.com",
"logo": "", "logo": "",
"servers": "", "servers": "https://distbin.com",
"description": "Post bin with distributed social features.",
"codeLanguage": "Typescript",
"techStack": "",
"license": "Apache-2.0",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -476,6 +656,11 @@
"site": "https://litepub.social/litepub", "site": "https://litepub.social/litepub",
"logo": "", "logo": "",
"servers": "", "servers": "",
"description": "Litepub protocol specification.",
"codeLanguage": "",
"techStack": "",
"license": "-",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -484,11 +669,16 @@
}, },
{ {
"title": "p3k", "title": "p3k",
"source": "https://indieweb.org/p3k", "source": "https://github.com/aaronpk/p3k",
"protocols": "ActivityPub", "protocols": "ActivityPub",
"site": "https://indieweb.org/p3k", "site": "https://indieweb.org/p3k",
"logo": "", "logo": "",
"servers": "https://the-federation.info/p3k", "servers": "https://the-federation.info/p3k",
"description": "Components of the sites aaronparecki.com and indiewebcat.com.",
"codeLanguage": "PHP",
"techStack": "",
"license": "MIT",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -502,6 +692,11 @@
"site": "", "site": "",
"logo": "", "logo": "",
"servers": "https://fediverse.network/activityrelay", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -515,6 +710,11 @@
"site": "", "site": "",
"logo": "", "logo": "",
"servers": "", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -528,6 +728,11 @@
"site": "", "site": "",
"logo": "", "logo": "",
"servers": "https://the-federation.info/social-relay", "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, "apClass": false,
"zotClass": false, "zotClass": false,
"diasporaClass": true, "diasporaClass": true,
@ -541,6 +746,11 @@
"site": "", "site": "",
"logo": "", "logo": "",
"servers": "https://fediverse.network/social.seattle.wa.us-relay", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -554,6 +764,11 @@
"site": "", "site": "",
"logo": "", "logo": "",
"servers": "", "servers": "",
"description": "Link aggregator like Reddit / Hackernews, but open source and self-hosted.",
"codeLanguage": "Typescript",
"techStack": "Node.js",
"license": "MIT",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -567,6 +782,11 @@
"site": "https://pubcast.pub", "site": "https://pubcast.pub",
"logo": "", "logo": "",
"servers": "", "servers": "",
"description": "Experimental ActivityPub based podcasting platform.",
"codeLanguage": "Go",
"techStack": "",
"license": "MPL-2.0",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -580,6 +800,11 @@
"site": "https://gancio.org", "site": "https://gancio.org",
"logo": "", "logo": "",
"servers": "https://the-federation.info/gancio", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -593,6 +818,11 @@
"site": "https://puckipedia.com/kroeg", "site": "https://puckipedia.com/kroeg",
"logo": "", "logo": "",
"servers": "https://fediverse.network/kroeg", "servers": "https://fediverse.network/kroeg",
"description": "Generic ActivityPub server, with a focus on microblogging style activities.",
"codeLanguage": "Rust",
"techStack": "",
"license": "-",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -606,6 +836,11 @@
"site": "", "site": "",
"logo": "", "logo": "",
"servers": "https://the-federation.info/groundpolis", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -616,9 +851,14 @@
"title": "Honk", "title": "Honk",
"source": "https://humungus.tedunangst.com/r/honk/f", "source": "https://humungus.tedunangst.com/r/honk/f",
"protocols": "ActivityPub", "protocols": "ActivityPub",
"site": "", "site": "https://humungus.tedunangst.com/r/honk",
"logo": "", "logo": "",
"servers": "", "servers": "",
"description": "ActivityPub server with minimal setup and support costs.",
"codeLanguage": "Go",
"techStack": "",
"license": "ISC",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -626,17 +866,22 @@
"categories": ["SN-mi"] "categories": ["SN-mi"]
}, },
{ {
"title": "Guppe", "title": "Pterotype",
"source": "https://github.com/wmurphyrd/guppe", "source": "https://github.com/pterotype-project/pterotype",
"protocols": "ActivityPub", "protocols": "ActivityPub",
"site": "https://gup.pe", "site": "",
"logo": "/img/misc/guppe.png", "logo": "/img/misc/pterotype.png",
"servers": "", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
"OStatusClass": false, "OStatusClass": false,
"categories": ["SN-ma"] "categories": ["Plugins"]
}, },
{ {
"title": "feed2toot", "title": "feed2toot",
@ -645,6 +890,11 @@
"site": "", "site": "",
"logo": "", "logo": "",
"servers": "", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -658,6 +908,11 @@
"site": "", "site": "",
"logo": "", "logo": "",
"servers": "", "servers": "",
"description": "RSS to ActivityPub converter.",
"codeLanguage": "Javascript",
"techStack": "Node.js",
"license": "MIT",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -671,6 +926,11 @@
"site": "http://smithereen.software", "site": "http://smithereen.software",
"logo": "", "logo": "",
"servers": "https://the-federation.info/smithereen", "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, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -684,6 +944,11 @@
"site": "", "site": "",
"logo": "", "logo": "",
"servers": "", "servers": "",
"description": "A Mastodon-compatible, ActivityPub-speaking server in OCaml.",
"codeLanguage": "OCaml",
"techStack": "",
"license": "AGPL-3.0",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -697,19 +962,11 @@
"site": "", "site": "",
"logo": "", "logo": "",
"servers": "", "servers": "",
"apClass": true, "description": "Microblogging server written in C#.",
"zotClass": false, "codeLanguage": "C#",
"diasporaClass": false, "techStack": "Typescript",
"OStatusClass": false, "license": "AGPL-3.0",
"categories": ["SN-mi"] "FediAccount": "",
},
{
"title": "Parastat",
"source": "https://parast.at",
"protocols": "ActivityPub",
"site": "https://parast.at",
"logo": "/img/misc/parastat.png",
"servers": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -723,12 +980,35 @@
"site": "", "site": "",
"logo": "", "logo": "",
"servers": "https://events.friend.camp", "servers": "https://events.friend.camp",
"description": "Self-destructing, shareable, no-registration event pages.",
"codeLanguage": "Javascript",
"techStack": "",
"license": "GPL-3.0",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
"OStatusClass": false, "OStatusClass": false,
"categories": ["Ev-Meet"] "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", "title": "ActivityPub-mock",
"source": "https://gitlab.com/evanp/activitypub-mock", "source": "https://gitlab.com/evanp/activitypub-mock",
@ -736,6 +1016,11 @@
"site": "", "site": "",
"logo": "", "logo": "",
"servers": "", "servers": "",
"description": "A mock ActivityPub server to use in testing code.",
"codeLanguage": "Javascript",
"techStack": "",
"license": "Apache-2.0",
"FediAccount": "",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
@ -743,17 +1028,22 @@
"categories": ["DevTools"] "categories": ["DevTools"]
}, },
{ {
"title": "Activity-PHP", "title": "Parastat",
"source": "https://landrok.github.io/activitypub", "source": "https://parast.at",
"protocols": "ActivityPub", "protocols": "ActivityPub",
"site": "", "site": "https://parast.at",
"logo": "", "logo": "/img/misc/parastat.png",
"servers": "", "servers": "",
"description": "-",
"codeLanguage": "C",
"techStack": "Elm",
"license": "CNPL",
"FediAccount": "https://octodon.social/@parastat",
"apClass": true, "apClass": true,
"zotClass": false, "zotClass": false,
"diasporaClass": false, "diasporaClass": false,
"OStatusClass": false, "OStatusClass": false,
"categories": ["DevTools"] "categories": ["SN-mi"]
} }
] ]
} }

View file

@ -24,43 +24,67 @@ layout: layout
<p class="option">Link sharing</p><input id="links" type="checkbox"> <p class="option">Link sharing</p><input id="links" type="checkbox">
<p class="option">Events &#38; meetups</p><input id="evMeet" type="checkbox"> <p class="option">Events &#38; meetups</p><input id="evMeet" type="checkbox">
<p class="option">File hosting</p> <input id="files" type="checkbox"> <p class="option">File hosting</p> <input id="files" type="checkbox">
<p class="option">Economic activities</p><input id="econ" type="checkbox">
<p class="option">Cooperatives &#38; shared</p><input id="coop" type="checkbox"> <p class="option">Cooperatives &#38; shared</p><input id="coop" type="checkbox">
<p class="option">Developer Tools</p><input id="dev" type="checkbox"> <p class="option">Developer Tools</p><input id="dev" type="checkbox">
<p class="option">Plugins</p><input id="plugins" type="checkbox"> <p class="option">Plugins</p><input id="plugins" type="checkbox">
<p class="option">Relays</p><input id="relays" type="checkbox"> <p class="option">Relays</p><input id="relays" type="checkbox">
<section class="grid misc__grid"> <section class="grid misc__grid cards">
<% for (item in apps) { %> <% for (item in apps) { %>
<% let type = apps[item].categories %> <% let type = apps[item].categories %>
<div class="card <% 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__title"> <button class="card <% 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]%><% } %>">
<% if (apps[item].logo) { %><img src="<%= apps[item].logo %>" alt="logo"><% } %>
<p class="title u-emphasize"><%= apps[item].title %></p> <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].FediAccount) { %>
<h4 class="card__subtitle">About</h4>
<p class="card__about">
<%- truncate( (apps[item].description), {length: 250, omission: '...'}) %>
</p>
<% } %>
</div>
</div> </div>
<div class="card__body"> </button>
<% 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>
<% } %>
<h4 class="card__subtitle">Protocols</h4>
<p><%= apps[item].protocols %></p>
</div>
</div>
<% } %> <% } %>
</section> </section>
<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>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>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>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: <a class="dark-ui" href="https://ethercalc.org/fediverse-stacks">spreadsheet</a> by @mayel, implementation report on <a class="dark-ui" href="https://activitypub.rocks/implementation-report">activitypub.rocks</a> website.</p> <p>Other sources: implementation report on <a class="dark-ui" href="https://activitypub.rocks/implementation-report">activitypub.rocks</a> website.</p>
</article> </article>

View file

@ -1,5 +1,4 @@
.miscellaneous .hero-header { .miscellaneous .hero-header {
max-height: 350px; max-height: 350px;
box-shadow: 1px 1px 4px 2px $black; box-shadow: 1px 1px 4px 2px $black;
@ -9,6 +8,7 @@
background: $asphalt; background: $asphalt;
color: $white; color: $white;
min-height: 90%; min-height: 90%;
padding: 2em 13% 3em;
} }
.misc svg { .misc svg {
@ -37,27 +37,32 @@
margin: 0 1em 0 .2em; 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; color: $white;
} }
.misc__grid { .misc__grid {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; margin: 3em 0 0;
margin: 1.2em 0;
} }
.misc__grid a { .misc__grid a {
border: 0; border: 0;
} }
.misc__grid .card { .card {
background-color: $white; background-color: transparent;
color: $black; color: $black;
border-radius: 8px; border-radius: 8px;
flex: 30% 0 0; border-color: transparent;
margin-bottom: 2em; flex: 33% 0 0;
margin-bottom: 3em;
font-size: inherit;
text-align: left;
transition: .2s ease;
cursor: pointer;
z-index: 1;
} }
.card p { .card p {
@ -67,14 +72,10 @@
} }
.card__title { .card__title {
margin-top: 1.2em; padding-top: 1.2em;
height: 45px; height: 45px;
} }
.card__title p {
color: $black;
}
.misc .title { .misc .title {
float: right; float: right;
width: 65%; width: 65%;
@ -85,7 +86,7 @@
} }
.card__body { .card__body {
padding: 1em 2em 2em; padding: 2em;
} }
.card__subtitle { .card__subtitle {
@ -99,6 +100,131 @@
width: 45px; 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 { .option {
display: inline-block; display: inline-block;
} }
@ -115,7 +241,6 @@
.option + #evMeet:checked ~ .misc__grid .card:not(.Ev-Meet), .option + #evMeet:checked ~ .misc__grid .card:not(.Ev-Meet),
.option + #files:checked ~ .misc__grid .card:not(.Files), .option + #files:checked ~ .misc__grid .card:not(.Files),
.option + #dev:checked ~ .misc__grid .card:not(.DevTools), .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 + #coop:checked ~ .misc__grid .card:not(.Coop),
.option + #plugins:checked ~ .misc__grid .card:not(.Plugins), .option + #plugins:checked ~ .misc__grid .card:not(.Plugins),
.option + #relays:checked ~ .misc__grid .card:not(.Relays) { .option + #relays:checked ~ .misc__grid .card:not(.Relays) {
@ -123,25 +248,92 @@
} }
@media screen and (max-width: $mq-large) { @media screen and (max-width: $mq-large) {
.misc__grid .card { .misc__grid {
flex: 32% 0 0; justify-content: flex-end;
} }
}
@media screen and (max-width: $mq-medium) { .card {
.misc__grid .card {
flex: 45% 0 0; 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) { @media screen and (max-width: $mq-small) {
.misc__grid .card { .card {
flex: 49% 0 0; flex: 100% 0 0;
}
.card__body,
.card__extra {
padding: 1.3em;
} }
} }
@media screen and (max-width: $mq-xsmall) { @media screen and (max-width: $mq-xsmall) {
.misc__grid .card { .card__body,
.card__extra {
flex: 100% 0 0; flex: 100% 0 0;
} }
.card__body {
padding-bottom: 0;
}
.card__extra {
padding-top: 0;
}
} }

View file

@ -226,7 +226,7 @@
.revealer__toggle:focus ~ .u-hidden { .revealer__toggle:focus ~ .u-hidden {
opacity: 1; opacity: 1;
visibility:visible; visibility: visible;
transform: matrix(1, 0, 0, 1, 0, -35); transform: matrix(1, 0, 0, 1, 0, -35);
} }

View file

@ -3,7 +3,6 @@ $white: #ffffff;
$golden: #fecb52; $golden: #fecb52;
$coral: #e93a32; $coral: #e93a32;
$black: #0e0a0c; $black: #0e0a0c;
$asphalt: #171014; $asphalt: #171014;
$grey: #b9b9b9; $grey: #b9b9b9;

View file

@ -1,3 +1,4 @@
$mq-xsmall: 33.9em; // max-width 542px, xxSmall devices (portrait phones) $mq-xsmall: 33.9em; // max-width 542px, xxSmall devices (portrait phones)
$mq-small: 51em; // max-width 816px, small devices (landscape phones) $mq-small: 51em; // max-width 816px, small devices (landscape phones)
$mq-medium: 64em; // max-width 1024px, medium devices (tablets) $mq-medium: 64em; // max-width 1024px, medium devices (tablets)

View file

@ -1,7 +1,8 @@
// $zIndex-1: -1; // $zIndex-1: -1;
$zIndex--1: 1; // footer $zIndex--1: 1; // footer, .card
$zIndex--2: 2; // .main__container:after $zIndex--2: 2; // .main__container:after
$zIndex--3: 3; // .grid, no-js $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