search engine optimization

dev
gravel 8 months ago
parent a9a40f04e1
commit 3085b78ad3
Signed by: gravel
GPG Key ID: C0538F3C906B308F

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

@ -54,6 +54,16 @@ body {
height: 100%; height: 100%;
} }
.h2-like {
display: block;
font-size: 1.5em;
margin-top: 0.83em;
margin-bottom: 0.83em;
margin-left: 0;
margin-right: 0;
font-weight: bold;
}
#toggle-theme-switch { #toggle-theme-switch {
display: none; display: none;
} }
@ -304,6 +314,12 @@ header {
--row-color: var(--secondary-color-shaded); --row-color: var(--secondary-color-shaded);
} }
#tbl_communities h2 {
font-size: inherit;
margin: inherit;
font-weight: inherit;
display: inherit;
}
/* Particular columns */ /* Particular columns */
.td_identifier { .td_identifier {

@ -0,0 +1,7 @@
User-agent: *
Allow: /
Allow: /about.html
Allow: /donate.html
Allow: /index.html
Allow: /instructions.html
Allow: /privacy.html

@ -55,6 +55,8 @@
exit(255); exit(255);
} }
$output = preg_replace("/\\t+/", "\t", $output);
file_put_contents($docpath, join("\n", $output)); file_put_contents($docpath, join("\n", $output));
} }

@ -1,4 +1,5 @@
<?php <?php
require_once '+getenv.php';
require_once 'php/assets/room-icons.php'; require_once 'php/assets/room-icons.php';
/** /**
@ -6,18 +7,18 @@
*/ */
$json_ld_data = array( $json_ld_data = array(
'@context' => 'https://www.w3.org/ns/activitystreams', '@context' => 'https://schema.org/',
'summary' => 'Active Session Communities', 'summary' => 'Active Session Communities',
'type' => 'Collection', '@type' => 'Collection',
'totalItems' => count($rooms), 'totalItems' => count($rooms),
'items' => array_map(function(CommunityRoom $room) { 'items' => array_map(function(CommunityRoom $room) {
$values = array( $values = array(
'type' => 'Group', '@type' => 'Group',
'name' => $room->name, 'name' => $room->name,
'summary' => $room->description, 'summary' => $room->description,
'startTime' => $room->created ? date('Y-m-d\TH:i:s', intval($room->created)) : null, 'startTime' => $room->created ? date('Y-m-d\TH:i:s', intval($room->created)) : null,
'url' => $room->get_preview_url(), 'url' => $room->get_preview_url(),
'icon' => room_icon($room, '64x64') 'icon' => $SITE_CANONICAL_URL . '/' . room_icon($room, '64x64')
); );
return array_filter($values, function ($value) { return array_filter($values, function ($value) {
return $value != null; return $value != null;
@ -27,6 +28,6 @@
?> ?>
<script type="application/ld+json"> <script type="application/ld+json">
<?=json_encode($json_ld_data)?> <?=preg_replace("\\/", "/", json_encode($json_ld_data))?>
</script> </script>

@ -11,3 +11,5 @@
form-action 'none'; base-uri 'self'; form-action 'none'; base-uri 'self';
" "
> >
<link rel="apple-touch-icon" href="./apple-touch-icon.png">
<meta name="robots" content="index, follow">

@ -23,12 +23,14 @@
width="64" width="64"
height="64" height="64"
data-hydrate-with="icon:src;icon_safety:data-icon-safety" data-hydrate-with="icon:src;icon_safety:data-icon-safety"
/></div><h1><a alt="Community icon"
/></div><a
id="details-modal-community-name" id="details-modal-community-name"
class="h2-like"
data-hydrate-with="name;preview_link:href" data-hydrate-with="name;preview_link:href"
title="Open preview in new tab" title="Open preview in new tab"
href="#" href="#"
></a></h1> ></a>
</div> </div>
<p id="details-modal-description"> <p id="details-modal-description">
<span id="details-modal-description-inner" data-hydrate-with="description"></span> <span id="details-modal-description-inner" data-hydrate-with="description"></span>
@ -72,6 +74,7 @@
title="Community join link encoded as QR code" title="Community join link encoded as QR code"
width="512" width="512"
height="512" height="512"
alt="Community join link encoded as QR code"
> >
<div id="details-modal-qr-code-label"> <div id="details-modal-qr-code-label">
Scan QR code in Session to join Scan QR code in Session to join

@ -96,11 +96,11 @@
class="td_name-inner" class="td_name-inner"
target="_blank" target="_blank"
title="Click here to preview '<?=$name?>'" title="Click here to preview '<?=$name?>'"
rel="noopener noreferrer" rel="noopener noreferrer external nofollow"
itemprop="name" itemprop="name"
><?= ><h2><?=
$name $name
?></a> ?></h2></a>
<span class="room-labels-container"> <span class="room-labels-container">
<?php foreach ($room->get_room_tags() as $tag): if (CommunityTag::is_showcased_tag($tag->text)): ?> <?php foreach ($room->get_room_tags() as $tag): if (CommunityTag::is_showcased_tag($tag->text)): ?>
<span <span
@ -128,7 +128,7 @@
href="<?=$preview_link?>" href="<?=$preview_link?>"
title="Click here to preview '<?=$name?>'" title="Click here to preview '<?=$name?>'"
target="_blank" target="_blank"
rel="noopener noreferrer nofollow" rel="noopener noreferrer external nofollow"
> >
<span class="protocol-indicator"></span> <span class="protocol-indicator"></span>
</a> </a>
@ -144,7 +144,7 @@
width="36" width="36"
height="41" height="41"
src="qrcode-solid.svg" src="qrcode-solid.svg"
alt="Pictogram of a QR code" alt="QR code pictogram linking to '<?=$name?>' Community QR code"
title="Click here to view the details for '<?=$name?>'" title="Click here to view the details for '<?=$name?>'"
> >
</a> </a>
@ -171,7 +171,7 @@
title="Right click and copy this link to join '<?=$name?>'." title="Right click and copy this link to join '<?=$name?>'."
href="<?=$join_link?>" href="<?=$join_link?>"
rel="external nofollow" rel="external nofollow"
>Copy this</a> >Copy this<span class="hidden">link to join '<?=$name?>'.</span></a>
</div> </div>
</td> </td>
</tr> </tr>

@ -9,7 +9,14 @@
<link rel="canonical" href="<?=$SITE_CANONICAL_URL?>/about.html"> <link rel="canonical" href="<?=$SITE_CANONICAL_URL?>/about.html">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/common-dark.css"> <link rel="stylesheet" href="css/common-dark.css">
<meta name="description" content="Learn more about sessioncommunities.online, the online self-updating list of Session Communities.">
<title>About — sessioncommunities.online</title> <title>About — sessioncommunities.online</title>
<meta property="og:title" content="About — sessioncommunities.online">
<meta property="og:description" content="Session Communities are public chatrooms accessible from within Session Messenger. <?php
?>This web project crawls known sources of Session Communities, and <?php
?>displays information about them as a static HTML page.">
<meta property="og:type" content="article">
<meta property="og:url" content="<?=$SITE_CANONICAL_URL?>/about.html">
</head> </head>
<body> <body>
<h1 id="self-updating-list-of-session-communities"><a href="./">Self-updating list of Session Communities</a></h1> <h1 id="self-updating-list-of-session-communities"><a href="./">Self-updating list of Session Communities</a></h1>

@ -17,6 +17,15 @@
<link rel="canonical" href="<?=$SITE_CANONICAL_URL?>/donate.html"> <link rel="canonical" href="<?=$SITE_CANONICAL_URL?>/donate.html">
<link rel="stylesheet" href="css/common-dark.css"> <link rel="stylesheet" href="css/common-dark.css">
<meta name="description" content="<?php
?>Support sessioncommunities.online development with donations if you have disposable income. <?php
?>We develop sessioncommunities.online to support the privacy mission.">
<meta property="og:title" content="Donate — sessioncommunities.online">
<meta property="og:description" content="<?php
?>sessioncommunities.online relies on donations for development and server costs. <?php
?>Help us redefine what it means to be sustainable and support our mission of improving the Session ecosystem!">
<meta property="og:type" content="article">
<meta property="og:url" content="<?=$SITE_CANONICAL_URL?>/donate.html">
<title>Donate — sessioncommunities.online</title> <title>Donate — sessioncommunities.online</title>
<style> <style>
h1 { h1 {

@ -39,12 +39,11 @@
<script type="module" src="./main.js"></script> <script type="module" src="./main.js"></script>
<link rel="modulepreload" href="js/util.js"> <link rel="modulepreload" href="js/util.js">
<link rel="help" href="./instructions.html"> <link rel="help" href="./instructions.html">
<title>Self-updating list of active Session communities</title> <title>List of active Session Communities</title>
<meta name="description" content=" <meta name="description" content="
Directory of Session Open Groups — public chatrooms within Session Messenger. Directory of Session Communities: public groups in Session Messenger. <?php
Copy these Communities into the Session app ?>Join these Communities in the Session app <?php
and talk anonymously about Privacy, Security, or Cryptocurrency. ?>to talk anonymously about Privacy, Security, or Cryptocurrency.">
">
<meta name="modified" content="<?=date("Y-m-d H:i:s", $timestamp)?>"> <meta name="modified" content="<?=date("Y-m-d H:i:s", $timestamp)?>">
<meta property="og:title" content="Click here for Session Communities"> <meta property="og:title" content="Click here for Session Communities">
<meta <meta
@ -102,7 +101,7 @@
>Instructions</a> >Instructions</a>
</div> </div>
</header> </header>
<h1 id="headline">Session Communities</h1> <h1 id="headline">List of Session Communities</h1>
<?php include "+components/issue-banner.php" ?> <?php include "+components/issue-banner.php" ?>
@ -129,20 +128,20 @@
</span>. </span>.
</p> </p>
<p id="disclaimer"> <p id="disclaimer">
Communities shown are fetched automatically from Session Communities shown on this list are fetched automatically from
<a <a
href="<?=$REPOSITORY_CANONICAL_URL?>#which-sources-are-crawled" href="<?=$REPOSITORY_CANONICAL_URL?>#which-sources-are-crawled"
target="_blank" target="_blank"
>various sources</a>. >various sources</a>.
<br> <br>
<span class="js-only"> <span class="js-only">
We make an attempt to hide communities containing We make an attempt to hide Communities containing
objectionable or illegal content, but objectionable or illegal content, but
you should still proceed with caution. you should still proceed with caution.
</span> </span>
<span class="noscript"> <span class="noscript">
Proceed with caution when joining unofficial communities. Proceed with caution when joining unofficial communities.
As JavaScript is disabled, no communities are filtered from the list. As JavaScript is disabled, no Communities are filtered from the list.
</span> </span>
</p> </p>
<p class="noscript"> <p class="noscript">

@ -3,6 +3,9 @@
$instruction_files = glob("+instructions/*.txt"); $instruction_files = glob("+instructions/*.txt");
function file_language($file) { return pathinfo($file)['filename']; } function file_language($file) { return pathinfo($file)['filename']; }
$languages = array_map('file_language', array_slice($instruction_files, 0, 10));
$language_enumeration = join(", ", $languages);
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
@ -21,16 +24,13 @@
<?php endforeach; ?> <?php endforeach; ?>
</style> </style>
<meta name="description" content=" <meta name="description" content="
Discover how to use the sessioncommunities.online website Issues joining Session Communities?<?php
to help you join Session Open Groups; available in <?php ?>Read guides by sessioncommunities.online contributors, available in <?=
// Print languages instructions are available in. $language_enumeration
$languages = array_map('file_language', array_slice($instruction_files, 0, 10)); ?>">
echo(join(", ", $languages)); <meta property="og:title" content="How to — sessioncommunities.online">
?>. In short: Use the Copy button or scan the QR code! <meta property="og:description" content="Learn how to use sessioncommunities.online to join Communities in Session Messenger.">
"> <meta property="og:url" content="<?=$SITE_CANONICAL_URL?>/instructions.html">
<meta property="og:title" content="How to join Session Communities">
<meta property="og:description" content="Learn how to use sessioncommunities.online to join">
<meta property="og:url" content="<?=$SITE_CANONICAL_URL?>/instructions.php">
<meta property="og:type" content="article"> <meta property="og:type" content="article">
<title>Instructions — sessioncommunities.online</title> <title>Instructions — sessioncommunities.online</title>
</head> </head>

@ -14,8 +14,13 @@
<link rel="canonical" href="<?=$SITE_CANONICAL_URL?>/privacy.html"> <link rel="canonical" href="<?=$SITE_CANONICAL_URL?>/privacy.html">
<title>Privacy — sessioncommunities.online</title> <title>Privacy — sessioncommunities.online</title>
<meta name="description" content="Read what data sessioncommunities.online collects"> <meta name="description" content="<?php
<meta property="og:title" content="sessioncommunities.online — Privacy"> ?>This page covers the Privacy Policy of sessioncommunities.online <?php
?>and the data sessioncommunities.online collects when you browse the site. It's not a lot!">
<meta property="og:title" content="Privacy — sessioncommunities.online">
<meta property="og:description" content="Read our transparent account of what data sessioncommunities.online collects when you browse the site.">
<meta property="og:type" content="article">
<meta property="og:url" content="<?=$SITE_CANONICAL_URL?>/privacy.html">
<link rel="stylesheet" href="css/common-dark.css"> <link rel="stylesheet" href="css/common-dark.css">
<style> <style>
label, label a { text-decoration: underline dotted white 1px; text-underline-offset: 0.2em; } label, label a { text-decoration: underline dotted white 1px; text-underline-offset: 0.2em; }

Loading…
Cancel
Save