diff --git a/content/ecosystem/bridges/X/bridges.toml b/content/ecosystem/bridges/X/bridges.toml index 20b9acc499..5f7ea92aab 100644 --- a/content/ecosystem/bridges/X/bridges.toml +++ b/content/ecosystem/bridges/X/bridges.toml @@ -16,7 +16,7 @@ featured = true privilege.platform = "User" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true message_media = true redactions = true reactions = true diff --git a/content/ecosystem/bridges/discord/bridges.toml b/content/ecosystem/bridges/discord/bridges.toml index 1d98ae6061..75c2468858 100644 --- a/content/ecosystem/bridges/discord/bridges.toml +++ b/content/ecosystem/bridges/discord/bridges.toml @@ -12,7 +12,7 @@ featured = true privilege.platform = "Admin" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = false +direct_messages = false channels = true formatted_text = true message_media = true @@ -39,7 +39,7 @@ featured = true privilege.platform = "User" privilege.matrix = "Homeserver Admin" [bridges.supports] -dm = true +direct_messages = true channels = true formatted_text = true message_media = true @@ -77,7 +77,7 @@ featured = false privilege.platform = "Admin" privilege.matrix = "Homeserver Admin" [bridges.supports] -dm = true +direct_messages = true channels = true formatted_text = true message_media = true @@ -104,7 +104,7 @@ featured = false privilege.platform = "Manage Server role" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = false +direct_messages = false channels = true formatted_text = true message_media = true diff --git a/content/ecosystem/bridges/facebook_messenger/bridges.toml b/content/ecosystem/bridges/facebook_messenger/bridges.toml index 8ead493adc..63ad7f38f7 100644 --- a/content/ecosystem/bridges/facebook_messenger/bridges.toml +++ b/content/ecosystem/bridges/facebook_messenger/bridges.toml @@ -14,7 +14,7 @@ featured = true privilege.platform = "User" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true formatted_text = false message_media = true replies = true @@ -45,7 +45,7 @@ featured = false privilege.platform = "User" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true formatted_text = true message_media = true replies = true diff --git a/content/ecosystem/bridges/google_chat/bridges.toml b/content/ecosystem/bridges/google_chat/bridges.toml index 7e15038a02..e1718aa222 100644 --- a/content/ecosystem/bridges/google_chat/bridges.toml +++ b/content/ecosystem/bridges/google_chat/bridges.toml @@ -12,7 +12,7 @@ featured = true privilege.platform = "User" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true channels = true formatted_text = true message_media = true diff --git a/content/ecosystem/bridges/groupme/bridges.toml b/content/ecosystem/bridges/groupme/bridges.toml index ad89bf67d9..872591cf06 100644 --- a/content/ecosystem/bridges/groupme/bridges.toml +++ b/content/ecosystem/bridges/groupme/bridges.toml @@ -13,7 +13,7 @@ featured = false privilege.platform = "User" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true channels = true formatted_text = true message_media = true diff --git a/content/ecosystem/bridges/imessage/bridges.toml b/content/ecosystem/bridges/imessage/bridges.toml index d739069c80..b4a7d1445a 100644 --- a/content/ecosystem/bridges/imessage/bridges.toml +++ b/content/ecosystem/bridges/imessage/bridges.toml @@ -14,7 +14,7 @@ featured = true privilege.platform = "User" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true message_media = true replies = true mentions = false diff --git a/content/ecosystem/bridges/instagram/bridges.toml b/content/ecosystem/bridges/instagram/bridges.toml index a42fdd8b16..eb2a60dd54 100644 --- a/content/ecosystem/bridges/instagram/bridges.toml +++ b/content/ecosystem/bridges/instagram/bridges.toml @@ -14,7 +14,7 @@ featured = true privilege.platform = "User" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true message_media = true redactions = true reactions = true @@ -41,7 +41,7 @@ featured = false privilege.platform = "User" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true message_media = true redactions = true reactions = true diff --git a/content/ecosystem/bridges/irc/bridges.toml b/content/ecosystem/bridges/irc/bridges.toml index 2569d5a41f..56f406f8c4 100644 --- a/content/ecosystem/bridges/irc/bridges.toml +++ b/content/ecosystem/bridges/irc/bridges.toml @@ -19,7 +19,7 @@ featured = true privilege.platform = "User" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true replies = true mentions = true @@ -39,6 +39,6 @@ featured = false privilege.platform = "User" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true replies = true mentions = true diff --git a/content/ecosystem/bridges/kakaotalk/bridges.toml b/content/ecosystem/bridges/kakaotalk/bridges.toml index 193ba65283..4be831dba5 100644 --- a/content/ecosystem/bridges/kakaotalk/bridges.toml +++ b/content/ecosystem/bridges/kakaotalk/bridges.toml @@ -15,7 +15,7 @@ featured = false privilege.platform = "User" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true formatted_text = true message_media = true replies = true diff --git a/content/ecosystem/bridges/line/bridges.toml b/content/ecosystem/bridges/line/bridges.toml index 9964d9c4a7..92a29043bb 100644 --- a/content/ecosystem/bridges/line/bridges.toml +++ b/content/ecosystem/bridges/line/bridges.toml @@ -16,7 +16,7 @@ featured = false privilege.platform = "User" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true group_chats = true formatted_text = false message_media = false diff --git a/content/ecosystem/bridges/linkedin/bridges.toml b/content/ecosystem/bridges/linkedin/bridges.toml index 7982907cc9..88db1a4dba 100644 --- a/content/ecosystem/bridges/linkedin/bridges.toml +++ b/content/ecosystem/bridges/linkedin/bridges.toml @@ -12,7 +12,7 @@ featured = true privilege.platform = "User" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true message_media = true redactions = true reactions = true diff --git a/content/ecosystem/bridges/mattermost/bridges.toml b/content/ecosystem/bridges/mattermost/bridges.toml index 73fed924a0..9c614dadc3 100644 --- a/content/ecosystem/bridges/mattermost/bridges.toml +++ b/content/ecosystem/bridges/mattermost/bridges.toml @@ -11,7 +11,7 @@ featured = false privilege.platform = "Admin" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = false +direct_messages = false channels = true formatted_text = true message_media = true @@ -37,7 +37,7 @@ featured = false privilege.platform = "Admin" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true channels = true formatted_text = true message_media = true diff --git a/content/ecosystem/bridges/mumble/bridges.toml b/content/ecosystem/bridges/mumble/bridges.toml index dcf315c3c0..cf3f9ab678 100644 --- a/content/ecosystem/bridges/mumble/bridges.toml +++ b/content/ecosystem/bridges/mumble/bridges.toml @@ -16,7 +16,7 @@ featured = false privilege.platform = "Admin" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true channels = true formatted_text = true message_media = true diff --git a/content/ecosystem/bridges/signal/bridges.toml b/content/ecosystem/bridges/signal/bridges.toml index 142f482c15..0f0c25abab 100644 --- a/content/ecosystem/bridges/signal/bridges.toml +++ b/content/ecosystem/bridges/signal/bridges.toml @@ -14,7 +14,7 @@ featured = true privilege.platform = "User" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true groups = true message_media = true mentions = true diff --git a/content/ecosystem/bridges/skype/bridges.toml b/content/ecosystem/bridges/skype/bridges.toml index 426230545e..2ece9bb04e 100644 --- a/content/ecosystem/bridges/skype/bridges.toml +++ b/content/ecosystem/bridges/skype/bridges.toml @@ -14,7 +14,7 @@ featured = true privilege.platform = "User" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true message_media = true presence = false mentions = true diff --git a/content/ecosystem/bridges/slack/bridges.toml b/content/ecosystem/bridges/slack/bridges.toml index 5296e23bea..1e9cfea8b1 100644 --- a/content/ecosystem/bridges/slack/bridges.toml +++ b/content/ecosystem/bridges/slack/bridges.toml @@ -15,7 +15,7 @@ featured = true privilege.platform = "User" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true channels = true formatted_text = true message_media = true @@ -47,7 +47,7 @@ featured = false privilege.platform = "Admin" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true channels = true formatted_text = true message_media = true @@ -80,7 +80,7 @@ featured = false privilege.platform = "Admin" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true channels = true formatted_text = true message_media = true @@ -114,7 +114,7 @@ featured = false privilege.platform = "Admin" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true channels = true formatted_text = true message_media = true diff --git a/content/ecosystem/bridges/stoat/bridges.toml b/content/ecosystem/bridges/stoat/bridges.toml index e4a29264df..dcdba3841a 100644 --- a/content/ecosystem/bridges/stoat/bridges.toml +++ b/content/ecosystem/bridges/stoat/bridges.toml @@ -12,7 +12,7 @@ featured = false privilege.platform = "Admin" privilege.matrix = "Homeserver Admin" [bridges.supports] -dm = false +direct_messages = false channels = true formatted_text = true message_media = true diff --git a/content/ecosystem/bridges/telegram/bridges.toml b/content/ecosystem/bridges/telegram/bridges.toml index 0e02e04cdb..a9aae8f8ae 100644 --- a/content/ecosystem/bridges/telegram/bridges.toml +++ b/content/ecosystem/bridges/telegram/bridges.toml @@ -14,7 +14,7 @@ featured = true privilege.platform = "User" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true groups = true channels = true message_media = true diff --git a/content/ecosystem/bridges/tencent_qq/bridges.toml b/content/ecosystem/bridges/tencent_qq/bridges.toml index cc2318e13a..23433c6378 100644 --- a/content/ecosystem/bridges/tencent_qq/bridges.toml +++ b/content/ecosystem/bridges/tencent_qq/bridges.toml @@ -13,7 +13,7 @@ featured = false privilege.platform = "User" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true group_chat = true message_media = true replies = true diff --git a/content/ecosystem/bridges/wechat/bridges.toml b/content/ecosystem/bridges/wechat/bridges.toml index 9495b7b2cc..d354a0495f 100644 --- a/content/ecosystem/bridges/wechat/bridges.toml +++ b/content/ecosystem/bridges/wechat/bridges.toml @@ -10,7 +10,7 @@ featured = false privilege.platform = "User" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true group_chat = true message_media = true replies = true @@ -28,7 +28,7 @@ featured = false privilege.platform = "User" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true group_chat = true message_media = true replies = true diff --git a/content/ecosystem/bridges/whatsapp/bridges.toml b/content/ecosystem/bridges/whatsapp/bridges.toml index ec36e9b876..00693860ce 100644 --- a/content/ecosystem/bridges/whatsapp/bridges.toml +++ b/content/ecosystem/bridges/whatsapp/bridges.toml @@ -14,7 +14,7 @@ featured = true privilege.platform = "User" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true groups = true communities = true message_media = true diff --git a/content/ecosystem/bridges/xmpp/bridges.toml b/content/ecosystem/bridges/xmpp/bridges.toml index 8a6702561e..9d89d264a7 100644 --- a/content/ecosystem/bridges/xmpp/bridges.toml +++ b/content/ecosystem/bridges/xmpp/bridges.toml @@ -13,7 +13,7 @@ featured = false privilege.platform = "Admin" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = true +direct_messages = true channel = true message_media = true replies = true @@ -34,7 +34,7 @@ featured = false privilege.platform = "JCP Access" privilege.matrix = "Homeserver Admin" [bridges.supports] -dm = true +direct_messages = true channel = true message_media = true replies = true diff --git a/content/ecosystem/bridges/zulip/bridges.toml b/content/ecosystem/bridges/zulip/bridges.toml index 153573db44..6502820cd6 100644 --- a/content/ecosystem/bridges/zulip/bridges.toml +++ b/content/ecosystem/bridges/zulip/bridges.toml @@ -11,7 +11,7 @@ featured = false privilege.platform = "" # Free text privilege.matrix = "Homeserver Admin" # Any of Homeserver Admin, Room Admin, None [bridges.supports] -dm = false +direct_messages = false channels = true formatted_text = true message_media = false diff --git a/sass/_bridges.scss b/sass/_bridges.scss index 3141a3b5ab..942f97f64d 100644 --- a/sass/_bridges.scss +++ b/sass/_bridges.scss @@ -5,7 +5,7 @@ .platforms-grid { display: grid; grid-template-columns: repeat(auto-fill, 17.6rem); - row-gap: .8rem; + gap: .8rem; margin-block: 2rem 3rem; margin-inline: auto; @@ -16,11 +16,14 @@ align-items: center; padding-block: .5rem; padding-inline: .5rem 1rem; - max-width: fit-content; cursor: pointer; color: var(--color-text); + border: 1px solid #d2d2d2; + border-radius: 12px; + transition: border-color 0.3s ease, background-color 0.3s ease; + img { width: 64px; height: 64px; @@ -49,7 +52,7 @@ &:hover { background-color: #e9e9e9; - border-radius: 12px; + border-color: #000; } } } @@ -81,12 +84,16 @@ } .title-row { + display: flex; + flex-direction: row; align-items: center; justify-content: flex-start; gap: .5rem; + width: auto; h3 { - margin-block: 1rem; + margin-block: .5rem; + text-align: left; } } diff --git a/sass/_clients.scss b/sass/_clients.scss index 5fc5d806bc..6518c4ef9f 100644 --- a/sass/_clients.scss +++ b/sass/_clients.scss @@ -12,7 +12,7 @@ body:has(.projects-card-deck > div > .client-checkbox:checked) { margin-bottom: 1rem; } - p { + >p { text-align: center; font-weight: 400; font-size: 1.125rem; @@ -29,6 +29,10 @@ body:has(.projects-card-deck > div > .client-checkbox:checked) { .project-card.client { color: var(--color-text); cursor: pointer; + + img { + margin: 0 auto; + } } .platform-links { @@ -67,6 +71,7 @@ body:has(.projects-card-deck > div > .client-checkbox:checked) { display: flex; flex-direction: column; justify-content: center; + gap: 1rem; .app-logo { width: 8rem; @@ -84,6 +89,10 @@ body:has(.projects-card-deck > div > .client-checkbox:checked) { font-weight: 700; font-size: 2rem; + @media (max-width: 767px) { + flex-direction: column; + } + .maturity { padding-block: .3rem; } @@ -138,6 +147,10 @@ body:has(.projects-card-deck > div > .client-checkbox:checked) { flex-wrap: wrap; margin-block: 2rem; + @media (max-width: 767px) { + gap: .3rem; + } + a img { height: 54px; display: block; diff --git a/sass/_hosting.scss b/sass/_hosting.scss index c653dd3a2a..d5b4d37594 100644 --- a/sass/_hosting.scss +++ b/sass/_hosting.scss @@ -1,6 +1,6 @@ .hosting_page { margin: 0 auto; - padding: 5.625rem 0 2rem 0; + padding-block: 5.625rem 2rem; @media (max-width: 767px) { padding: 5.625rem 32px 2rem 32px; } @@ -13,28 +13,23 @@ } .hosting_providers { - display: flex; - flex-direction: row; - justify-content: center; - flex-wrap: wrap; + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 3.125rem; + justify-content: center; + align-items: stretch; + width: 100%; .provider_card { display: flex; flex-direction: column; justify-content: space-between; - padding: 24px; - - flex: 1 0 400px; - max-width: 400px; - @media (max-width: 767px) { - flex: 1 0 300px; - max-width: 300px; - } - + padding: 32px; + width: 100%; + margin: 0 auto; - border: 1px solid #D2D2D2; + border: 1px solid #d2d2d2; border-radius: 16px; .details { @@ -57,16 +52,15 @@ .operating_since { height: 1.5rem; - font-size: .9rem; + font-size: 0.9rem; } - } .call-to-action { background-color: #000; color: #fff; border-radius: 1000px; - padding: .4rem 2rem; + padding: 0.4rem 2rem; align-self: center; } } diff --git a/sass/_projects.scss b/sass/_projects.scss index 9b95e19188..a9b3c7a5c3 100644 --- a/sass/_projects.scss +++ b/sass/_projects.scss @@ -1,12 +1,8 @@ .projects-card-deck { display: grid; - grid-template-columns: repeat(auto-fill, 17.6rem); + grid-template-columns: repeat(auto-fill, minmax(17.6rem, 1fr)); justify-content: center; - @media (max-width: 767px) { - max-width: 17.6rem; - } - gap: 1rem; margin-inline: auto; } @@ -19,15 +15,19 @@ .project-card { display: flex; flex-direction: column; - justify-content: center; + justify-content: flex-start; align-items: center; padding: 24px; - gap: 1rem; - + gap: .75rem; min-height: 100%; border: 1px solid #D2D2D2; border-radius: 16px; + transition: border-color 0.3s ease; + + &:hover { + border-color: #000; + } img { margin: 0; @@ -37,37 +37,85 @@ } h3 { - margin: 0 .2rem 0 0; - + margin: 0; font-style: normal; font-weight: 700; - font-size: 1.8rem; - line-height: 1; + font-size: 1.6rem; + line-height: 1.15; text-align: center; + overflow-wrap: break-word; + word-break: break-word; + hyphens: auto; } - a, - .open-project { - margin-block: auto 0; + a { color: var(--color-text-light); text-decoration: none; } + .open-project { + margin: 0; + color: var(--color-text-light); + } + p { line-height: 1; + margin: 0; + + &:empty { + display: none; + } } + .metadata-pills, .licence-language { display: flex; flex-direction: row; - gap: .2rem; + flex-wrap: wrap; + justify-content: center; + gap: .3rem; } .pill { background-color: #e9e9e9; - border-radius: 9999px; - padding-inline: .5rem; + border-radius: 16px; + padding: .2rem .5rem; color: var(--color-text); + font-size: .85rem; + line-height: 1.2; + text-align: center; + + &.licence { + background-color: transparent; + border: 1px solid #888; + color: #555; + } + } + + .subtitle { + font-size: .9rem; + color: var(--color-text-light); + text-align: center; + } + + .description { + font-size: .9rem; + line-height: 1.4; + text-align: center; + margin: 0; + display: -webkit-box; + -webkit-line-clamp: 4; + -webkit-box-orient: vertical; + overflow: hidden; + + * { + margin: 0; + padding: 0; + } + + &:empty { + display: none; + } } } @@ -223,10 +271,22 @@ width: 100%; max-width: 100%; display: flex; - justify-content: space-between; - gap: .2rem; - align-items: start; + flex-direction: column; + align-items: center; + gap: .3rem; + + h3 { + text-align: center; + } +} + +.card-links { + margin-top: auto; + display: flex; + flex-direction: row; flex-wrap: wrap; + justify-content: center; + gap: .5rem; } #filters-overlay { @@ -261,13 +321,17 @@ border-radius: 9999px; padding: .1rem .4rem; + transition: background-color 0.3s ease; + .fillme { fill: var(--color-text); stroke: var(--color-text); + transition: fill 0.3s ease, stroke 0.3s ease; } .fillme-inverse { stroke: #fff; + transition: stroke 0.3s ease; } &:hover { diff --git a/sass/_servers.scss b/sass/_servers.scss index 3d86054759..849744f854 100644 --- a/sass/_servers.scss +++ b/sass/_servers.scss @@ -27,16 +27,20 @@ font-size: .8rem; + transition: background-color 0.3s ease; + svg { width: 1.2em; height: 1.2em; * { fill: #777; + transition: fill 0.3s ease; } line { stroke: #777; + transition: stroke 0.3s ease; } } } diff --git a/templates/ecosystem/bridge_implementations.html b/templates/ecosystem/bridge_implementations.html index f7b3f08818..0b99c36a55 100644 --- a/templates/ecosystem/bridge_implementations.html +++ b/templates/ecosystem/bridge_implementations.html @@ -18,7 +18,7 @@

{{ section.title }}

{{ bridge.name }}

{{ bridge.maturity | title }}
-

{{ bridge.summary | markdown | safe }}

+

{{ bridge.summary | markdown(inline=true) | safe }}