meta: mars.toml for planet.squat.net and squat theme

This commit is contained in:
selfhoster selfhoster 2025-04-15 20:41:36 +02:00
parent 73ecda59d4
commit dd0b08594c
12 changed files with 3551 additions and 0 deletions

170
mars.toml Normal file
View File

@ -0,0 +1,170 @@
bot_name = "planet-mars"
feed_dir = "feeds"
from = "contact@squat.net"
out_dir = "out"
templates_dir = "templates"
max_entries = 50
refresh = 1
theme = "squat"
[[lang]]
code = "ar"
name = "عربي"
link = "https://ar.squat.net/"
[[lang]]
code = "ca"
name = "Català"
link = "https://ca.squat.net/"
[[lang]]
code = "cz"
name = "Česky"
link = "https://praha.squat.net/"
[[lang]]
code = "de"
name = "Deutsch"
link = "https://de.squat.net/"
[[lang]]
code = "en"
name = "English"
link = "https://en.squat.net/"
[[lang]]
code = "es"
name = "Español"
link = "https://es.squat.net/"
[[lang]]
code = "eus"
name = "Euskara"
link = "https://eus.squat.net/"
[[lang]]
code = "fr"
name = "Français"
link = "https://fr.squat.net/"
[[lang]]
code = "gr"
name = "Ελληνικά"
link = "https://squat.gr/"
[[lang]]
code = "it"
name = "Italiano"
link = "https://it.squat.net/"
[[lang]]
code = "nl"
name = "Nederlands"
link = "https://nl.squat.net/"
[[lang]]
code = "no"
name = "Norsk"
link = "https://old.squat.net/no"
[[lang]]
code = "pl"
name = "Polski"
link = "https://pl.squat.net/"
[[lang]]
code = "pt"
name = "Português"
link = "https://pt.squat.net/"
[[lang]]
code = "ru"
name = "Pусский"
link = "https://ru.squat.net/"
[[lang]]
code = "tr"
name = "Türkçe"
link = "https://tr.squat.net/"
# Squat!net in different languages
[[feeds]]
name = "ar.squat.net"
homepage = "https://ar.squat.net/"
url = "https://ar.squat.net/feed/"
[[feeds]]
name = "ca.squat.net"
homepage = "https://ca.squat.net/"
url = "https://ca.squat.net/feed/"
[[feeds]]
name = "praha.squat.net"
homepage = "https://ca.squat.net/"
url = "https://praha.squat.net/feed/"
[[feeds]]
name = "de.squat.net"
homepage = "https://de.squat.net/"
url = "https://de.squat.net/feed/"
[[feeds]]
name = "en.squat.net"
homepage = "https://en.squat.net/"
url = "https://en.squat.net/feed/"
[[feeds]]
name = "es.squat.net"
homepage = "https://es.squat.net/"
url = "https://es.squat.net/feed/"
[[feeds]]
name = "eus.squat.net"
homepage = "https://eus.squat.net/"
url = "https://eus.squat.net/feed/"
[[feeds]]
name = "fr.squat.net"
homepage = "https://fr.squat.net/"
url = "https://fr.squat.net/feed/"
[[feeds]]
name = "squat.gr"
homepage = "https://squat.gr/"
url = "https://squat.gr/feed/"
[[feeds]]
name = "it.squat.net"
homepage = "https://it.squat.net/"
url = "https://it.squat.net/feed/"
[[feeds]]
name = "nl.squat.net"
homepage = "https://nl.squat.net/"
url = "https://nl.squat.net/feed/"
[[feeds]]
name = "pl.squat.net"
homepage = "https://pl.squat.net/"
url = "https://pl.squat.net/feed/"
[[feeds]]
name = "pt.squat.net"
homepage = "https://pt.squat.net/"
url = "https://pt.squat.net/feed/"
[[feeds]]
name = "ru.squat.net"
homepage = "https://ru.squat.net/"
url = "https://ru.squat.net/indexd784.html?feed=rss2"
[[feeds]]
name = "tr.squat.net"
homepage = "https://tr.squat.net/"
url = "https://tr.squat.net/feed/"
# Other sites hosted on squat!net
[[feeds]]
name = "Rigaer94 (Berlin, DE)"
homepage = "https://rigaer94.squat.net"
url = "https://rigaer94.squat.net/feed/"
[[feeds]]
name = "Black Athena (GR)"
homepage = "https://blackathena.squat.net/"
url = "https://blackathena.squat.net/feed/"
[[feeds]]
name = "Joe's Garage (Amsterdam, NL)"
homepage = "https://joesgarage.nl/"
url = "https://joesgarage.nl/feed"
[[feeds]]
name = "Resiste!"
homepage = "https://resiste.squat.net/"
url = "https://resiste.squat.net/?feed=rss2"
[[feeds]]
name = "CREA (Toulouse, FR)"
homepage = "https://creatoulouse.squat.net/"
url = "https://creatoulouse.squat.net/feed/"
[[feeds]]
name = "Squatting Europe"
homepage = "https://sqek.squat.net/"
url = "https://sqek.squat.net/feed/"
[[feeds]]
name = "Kraken Gent (Gent, BE)"
homepage = "https://krakengent.squat.net/"
url = "https://krakengent.squat.net/?feed=rss2"
[[feeds]]
name = "videos.squat.net"
homepage = "https://videos.squat.net/"
url = "https://videos.squat.net/feeds/videos.xml"

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 547 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 12.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 51448) -->
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.1" id="Laag_1" width="266.467" height="266.455" viewBox="0 0 266.467 266.455" overflow="visible" enable-background="new 0 0 266.467 266.455" xml:space="preserve" inkscape:version="0.48.2 r9819" sodipodi:docname="CircleN.svg"><metadata id="metadata3017"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><defs id="defs3015"/><sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="1280" inkscape:window-height="778" id="namedview3013" showgrid="false" inkscape:zoom="1.7714061" inkscape:cx="174.41386" inkscape:cy="132.32087" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:window-maximized="1" inkscape:current-layer="Laag_1"/>
<g id="g3042"><path transform="translate(-1.1963194e-5,0)" id="path3007" d="M 133.25 47.46875 C 85.891002 47.46875 47.5 85.845752 47.5 133.21875 C 47.5 180.56575 85.890002 218.96875 133.25 218.96875 C 180.595 218.96875 218.96875 180.56575 218.96875 133.21875 C 218.96875 85.845752 180.596 47.46875 133.25 47.46875 z M 133.25 63.0625 C 171.989 63.0625 203.375 94.466752 203.375 133.21875 C 203.375 171.94375 171.988 203.375 133.25 203.375 C 94.497002 203.375 63.09375 171.94375 63.09375 133.21875 C 63.09375 94.465752 94.498002 63.0625 133.25 63.0625 z " style="stroke:#000000;stroke-width:0.99999994"/><polygon stroke-miterlimit="500" points="242.367,78.658 257.958,78.658 257.958,8.485 190.605,28.143 194.967,43.102 229.892,32.923 145.083,146.012 127.627,86.124 8.511,244.947 18.259,257.945 121.384,120.445 138.853,180.306 242.367,42.269 " id="polygon3011" style="stroke:#000000;stroke-width:0.7087;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:500"/></g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

52
templates/squat/atom.xml Normal file
View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Planet TVL</title>
<link href="https://planet.tvl.fyi"/>
<updated>{{now()|date(format="%Y-%m-%dT%H:%M:%SZ")}}</updated>
<id>https::/planet.tvl.fyi</id>
<generator uri="{{ PKG_HOMEPAGE|escape }}" version="{{ PKG_VERSION|escape }}">
{{ PKG_NAME|escape }} by {{ PKG_AUTHORS|escape }}
</generator>
<icon>https://planet.tvl.fyi/logo.svg</icon>
{% for entry in entries %}
<entry>
<id>{{ entry.id }}/planet.tvl.fyi</id>
{% if entry.title -%}
<title>{{ entry.title.content }}</title>
{% endif -%}
{% for link in entry.links %}
<link href="{{ link.href }}" {% if link.rel %}rel="{{ link.rel }}"{% endif %}/>
{% endfor %}
{% if entry.updated %}
<updated>{{ entry.updated }}</updated>
{% endif %}
{% if entry.published %}
<published>{{ entry.published }}</published>
{% endif %}
{% if entry.summary -%}
<summary>
{{ entry.summary.content|escape }}
</summary>
{% endif -%}
{% for author in entry.authors %}
<author>
{% if author.name -%}
<name>{{ author.name }}</name>
{% endif -%}
{% if author.email -%}
<email>{{ author.email }}</email>
{% endif -%}
</author>
{% if author.email -%}
<uri>{{ author.uri }}</uri>
{% endif -%}
{% endfor %}
{% if entry.content -%}
<content {% if entry.content.type %}type="{{ entry.content.type }}"{% endif %} {% if entry.content.src %}type="{{ entry.content.src }}"{% endif %}>
{{ entry.content.body|escape }}
</content>
{% endif -%}
</entry>
{% endfor %}
</feed>

View File

@ -0,0 +1,77 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>. .. &#8230; + * + ::: Okupa! ::: &amp; ::: Squat! ::: &#8211; * &#8211;</title>
<link rel="stylesheet" href="/css/bulma.min.css">
<link rel="stylesheet" href="/css/fork-awesome.min.css">
</head>
<body>
<header class="section is-centered p-3">
<div class="container is-flex is-justify-content-center is-small">
<a href="/">
<img class="image" src="img/squatnet.png">
</a>
</div>
<nav class="navbar is-justify-content-center" role="navigation" aria-label="main navigation">
<div class="navbar-brand mr-3">
<a role="button" class="navbar" aria-label="menu" aria-expanded="false" data-target="navbar-menu">
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
</a>
</div>
<div id="navbar-menu" class="navbar-menu is-flex-grow-0">
<div class="buttons">
<a class="button is-light is-size-4" href="https://en.squat.net/about/">
<span class="icon"><img class="image is-square" src="/img/squat.svg"></span><strong>About</strong>
</a>
<a class="button is-light is-size-4" href="https://radar.squat.net">
<i class="fa fa-calendar mr-3" aria-hidden="true"></i><strong>Agenda</strong>
</a>
<a class="button is-light is-size-4" href="https://en.squat.net/contact/">
<i class="fa fa-envelope mr-3" aria-hidden="true"></i><strong>Contact</strong>
</a>
</div>
</div>
</nav>
</header>
<div class="columns is-desktop">
<main class="column is-two-thirds container mx-6">
{% set_global previous_source = false %}
{% for entry in entries %}
{% if entry.mars_source != previous_source %}
{% if previous_source != false %}<hr>{% endif %}
{% set_global previous_source = entry.mars_source %}
<div class="is-centered has-text-centered">
<h3 class="is-size-3 has-text-weight-bold">{{ get_feed_config(feed = entry.mars_source) | get(key="name") }}</h3>
</div>
{% endif %}
<article class="pl-6">
<h4 class="is-size-4">{{ entry.mars_date | date(format="%Y/%m/%d") }}: <a href="{{ entry.mars_url }}">{{ entry.title.content }}</a></h4>
</article>
{% endfor %}
</main>
<aside class="column is-one-third">
<details>
<summary class="is-size-3 has-text-weight-bold"><i class="fa fa-language mr-3" aria-hidden="true"></i>{{ lang|length }} languages</summary>
<ul>
{% for entry in lang %}
<li><a href="{{entry.link}}">{{entry.name}}</a></li>
{% endfor %}
</ul>
</details>
<details>
<summary class="is-size-3 has-text-weight-bold"><i class="fa fa-rss-square mr-3" aria-hidden="true"></i>{{ config.feeds|length }} news sources</summary>
<ul>
{% for entry in config.feeds %}
<li><a href="{{ entry.homepage }}">{{entry.name}}</a></li>
{% endfor %}
</ul>
</details>
</aside>
</div>
</body>
</html>