uwu/niche-services #31

Merged
lexik merged 3 commits from uwu/niche-services into master 2023-05-06 15:42:09 +02:00
10 changed files with 139 additions and 70 deletions

View file

@ -2,7 +2,6 @@
title: "{{ replace .Name "-" " " | title }}"
description:
href:
image:
icon:
weight:
status: beta

View file

@ -713,6 +713,22 @@ video {
margin-bottom: 0.25rem;
}
.mb-12 {
margin-bottom: 3rem;
}
.mb-8 {
margin-bottom: 2rem;
}
.mb-9 {
margin-bottom: 2.25rem;
}
.mb-10 {
margin-bottom: 2.5rem;
}
.block {
display: block;
}
@ -753,14 +769,14 @@ video {
width: 0.75rem;
}
.w-4 {
width: 1rem;
}
.w-8 {
width: 2rem;
}
.w-4 {
width: 1rem;
}
.max-w-screen-lg {
max-width: 1024px;
}
@ -955,6 +971,11 @@ video {
font-family: Spline Sans, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
.text-2xl {
font-size: 1.5rem;
line-height: 2rem;
}
.text-\[18px\] {
font-size: 18px;
}
@ -974,6 +995,16 @@ video {
line-height: 1rem;
}
.text-4xl {
font-size: 2.25rem;
line-height: 2.5rem;
}
.text-3xl {
font-size: 1.875rem;
line-height: 2.25rem;
}
.font-bold {
font-weight: 700;
}

View file

@ -0,0 +1,9 @@
---
title: "Headliner"
description: Nástroj, který umožňuje sledovat, jak se v čase mění titulky článků u různých online médií.
href: https://headline.beta.nolog.cz/
category: secondary
icon: |
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 22H4C3.44772 22 3 21.5523 3 21V3C3 2.44772 3.44772 2 4 2H20C20.5523 2 21 2.44772 21 3V21C21 21.5523 20.5523 22 20 22ZM19 20V4H5V20H19ZM7 6H11V10H7V6ZM7 12H17V14H7V12ZM7 16H17V18H7V16ZM13 7H17V9H13V7Z"></path></svg>
status: beta
---

View file

@ -0,0 +1,9 @@
---
title: "hub.nolog.cz"
description: Instance sociální platformy HumHub, provozovaná ve spolupráci se sítí komunitního bydlení <a href="https://sdilenedomy.cz">Sdílené domy</a>. Slouží zejména pro komunikaci mezi jednotlivými družstvy a dalšími spřízněnými projekty.
href: https://hub.nolog.cz/
category: secondary
icon: |
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.93912 14.0327C6.7072 14.6562 6.51032 15.233 6.33421 15.8154C7.29345 15.1188 8.43544 14.6766 9.75193 14.512C12.2652 14.1979 14.4976 12.5384 15.6279 10.4535L14.1721 8.99878L15.5848 7.58407C15.9185 7.24993 16.2521 6.91603 16.5858 6.58237C17.0151 6.15301 17.5 5.35838 18.0129 4.21479C12.4197 5.08172 8.99484 8.50636 6.93912 14.0327ZM17 8.99728L18 9.99658C17 12.9966 14 15.9966 10 16.4966C7.33146 16.8301 5.66421 18.6635 4.99824 21.9966H3C4 15.9966 6 1.99658 21 1.99658C20.0009 4.99392 19.0018 6.99303 18.0027 7.99391C17.6662 8.33038 17.3331 8.66372 17 8.99728Z"></path></svg>
status: beta
---

View file

@ -117,3 +117,6 @@ other = "Služba je dostupná též přímo na síti Tor. Pro nejvyšší míru
[service_beta_tooltip]
other = "Službu zatím testujeme, očekávejte proto občasné výpadky a případně registraci pouze za vyžádání."
[services]
other = "Služby"

View file

@ -12,7 +12,11 @@
<section class="py-24 clip-wedge bg-red-800 text-white dark">
<div class="container mx-auto px-6">
{{ partial "services.html" }}
<h2 class="text-2xl font-bold mb-10">{{ i18n "services" }}</h2>
<div class="mb-12">
{{ partial "services.html" }}
</div>
<a class="link font-semibold" href="/services">Zobrazit všechny služby →</a>
</div>
</section>
</main>

View file

@ -0,0 +1,62 @@
<article>
<div class="flex flex-row items-center gap-2 mb-2 -ml-0.5">
{{ with .service.Params.icon }}
<span class="fill-current svg-w-8">{{ . | safeHTML }}</span>
{{ end }}
<h3 class="mr-1"><a href="{{ .service.Params.href }}" target="_blank" class="font-bold link">{{ .service.Title }}</a></h3>
</div>
<div class="prose text-sm mb-2">
{{ .service.Params.description | safeHTML }}
</div>
<ul class="flex flex-wrap gap-1">
{{ if (eq .service.Params.encrypted true) }}
<li class="inline-flex">
<button
class="inline-flex items-center gap-1 text-xs px-1.5 py-0.5 rounded bg-red-100 dark:bg-red-500/30"
data-tooltip="{{ i18n "service_encrypted_tooltip" }}"
>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="w-3"><path d="M19 10H20C20.5523 10 21 10.4477 21 11V21C21 21.5523 20.5523 22 20 22H4C3.44772 22 3 21.5523 3 21V11C3 10.4477 3.44772 10 4 10H5V9C5 5.13401 8.13401 2 12 2C15.866 2 19 5.13401 19 9V10ZM17 10V9C17 6.23858 14.7614 4 12 4C9.23858 4 7 6.23858 7 9V10H17ZM11 14V18H13V14H11Z" fill="currentColor"></path></svg>
<span>{{ i18n "service_encrypted" }}</span>
</button>
</li>
{{ else if (eq .service.Params.encrypted false) }}
<li class="inline-flex">
<button
class="inline-flex items-center gap-1 text-xs px-1.5 py-0.5 rounded bg-red-100 dark:bg-red-500/30"
data-tooltip="{{ i18n "service_unencrypted_tooltip" }}"
>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="w-3"><path d="M7 10H20C20.5523 10 21 10.4477 21 11V21C21 21.5523 20.5523 22 20 22H4C3.44772 22 3 21.5523 3 21V11C3 10.4477 3.44772 10 4 10H5V9C5 5.13401 8.13401 2 12 2C14.7405 2 17.1131 3.5748 18.2624 5.86882L16.4731 6.76344C15.6522 5.12486 13.9575 4 12 4C9.23858 4 7 6.23858 7 9V10ZM5 12V20H19V12H5ZM10 15H14V17H10V15Z" fill="currentColor"></path></svg>
<span>{{ i18n "service_unencrypted" }}</span>
</button>
</li>
{{ end }}
{{ with .service.Params.onion }}
<li class="inline-flex">
<a
href="{{ . }}"
class="inline-flex items-center gap-1 text-xs px-1.5 py-0.5 rounded bg-red-100 dark:bg-red-500/30"
data-tooltip="{{ i18n "service_onion_tooltip" }}"
>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 180 180" class="w-3">
<path d="M90.1846205,163.631147 L90.1846205,152.721073 C124.743583,152.621278 152.726063,124.581416 152.726063,89.9975051 C152.726063,55.4160892 124.743583,27.3762266 90.1846205,27.2764318 L90.1846205,16.366358 C130.768698,16.4686478 163.633642,49.3909741 163.633642,89.9975051 C163.633642,130.606531 130.768698,163.531352 90.1846205,163.631147 Z M90.1846205,125.444642 C109.677053,125.342352 125.454621,109.517381 125.454621,89.9975051 C125.454621,70.4801242 109.677053,54.6551533 90.1846205,54.5528636 L90.1846205,43.6452847 C115.704663,43.7450796 136.364695,64.4550091 136.364695,89.9975051 C136.364695,115.542496 115.704663,136.252426 90.1846205,136.35222 L90.1846205,125.444642 Z M90.1846205,70.9167267 C100.640628,71.0165216 109.090758,79.5165493 109.090758,89.9975051 C109.090758,100.480956 100.640628,108.980984 90.1846205,109.080778 L90.1846205,70.9167267 Z M0,89.9975051 C0,139.705328 40.2921772,180 90,180 C139.705328,180 180,139.705328 180,89.9975051 C180,40.2921772 139.705328,0 90,0 C40.2921772,0 0,40.2921772 0,89.9975051 Z" fill="currentColor"/>
</svg>
<span>.onion</span>
</a>
</li>
{{ end }}
{{ if (eq .service.Params.status "beta") }}
<li class="inline-flex">
<button
class="inline-flex items-center gap-1 text-xs px-1.5 py-0.5 rounded bg-red-100 dark:bg-red-500/30"
data-tooltip="{{ i18n "service_beta_tooltip" }}"
>
<span>β</span>
<span>Beta</span>
</button>
</li>
{{ end }}
</ul>
{{/* <p class="mt-2">
<a class="link text-default font-semibold" href="{{ .service.RelPermalink }}">Číst více →</a>
</p> */}}
</article>

View file

@ -1,69 +1,9 @@
<h2 class="sr-only">Služby</h2>
<ul class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-x-8 gap-y-12">
{{ range (where site.RegularPages.ByWeight "Type" "services") }}
{{ $services := where site.RegularPages.ByWeight "Type" "services" }}
{{ range (union (where $services "Params.category" "primary") (where $services "Params.category" nil)) }}
<li>
<article>
<div class="flex flex-row items-center gap-2 mb-2 -ml-0.5">
{{ with .Params.icon }}
<span class="fill-current svg-w-8">{{ . | safeHTML }}</span>
{{ end }}
<h3 class="mr-1"><a href="{{ .Params.href }}" class="font-bold link">{{ .Title }}</a></h3>
</div>
<div class="prose text-sm mb-2">
{{ .Params.description | safeHTML }}
</div>
<ul class="flex flex-wrap gap-1">
{{ if (eq .Params.encrypted true) }}
<li class="inline-flex">
<button
class="inline-flex items-center gap-1 text-xs px-1.5 py-0.5 rounded bg-red-100 dark:bg-red-500/30"
data-tooltip="{{ i18n "service_encrypted_tooltip" }}"
>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="w-3"><path d="M19 10H20C20.5523 10 21 10.4477 21 11V21C21 21.5523 20.5523 22 20 22H4C3.44772 22 3 21.5523 3 21V11C3 10.4477 3.44772 10 4 10H5V9C5 5.13401 8.13401 2 12 2C15.866 2 19 5.13401 19 9V10ZM17 10V9C17 6.23858 14.7614 4 12 4C9.23858 4 7 6.23858 7 9V10H17ZM11 14V18H13V14H11Z" fill="currentColor"></path></svg>
<span>{{ i18n "service_encrypted" }}</span>
</button>
</li>
{{ else if (eq .Params.encrypted false) }}
<li class="inline-flex">
<button
class="inline-flex items-center gap-1 text-xs px-1.5 py-0.5 rounded bg-red-100 dark:bg-red-500/30"
data-tooltip="{{ i18n "service_unencrypted_tooltip" }}"
>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="w-3"><path d="M7 10H20C20.5523 10 21 10.4477 21 11V21C21 21.5523 20.5523 22 20 22H4C3.44772 22 3 21.5523 3 21V11C3 10.4477 3.44772 10 4 10H5V9C5 5.13401 8.13401 2 12 2C14.7405 2 17.1131 3.5748 18.2624 5.86882L16.4731 6.76344C15.6522 5.12486 13.9575 4 12 4C9.23858 4 7 6.23858 7 9V10ZM5 12V20H19V12H5ZM10 15H14V17H10V15Z" fill="currentColor"></path></svg>
<span>{{ i18n "service_unencrypted" }}</span>
</button>
</li>
{{ end }}
{{ with .Params.onion }}
<li class="inline-flex">
<a
href="{{ . }}"
class="inline-flex items-center gap-1 text-xs px-1.5 py-0.5 rounded bg-red-100 dark:bg-red-500/30"
data-tooltip="{{ i18n "service_onion_tooltip" }}"
>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 180 180" class="w-3">
<path d="M90.1846205,163.631147 L90.1846205,152.721073 C124.743583,152.621278 152.726063,124.581416 152.726063,89.9975051 C152.726063,55.4160892 124.743583,27.3762266 90.1846205,27.2764318 L90.1846205,16.366358 C130.768698,16.4686478 163.633642,49.3909741 163.633642,89.9975051 C163.633642,130.606531 130.768698,163.531352 90.1846205,163.631147 Z M90.1846205,125.444642 C109.677053,125.342352 125.454621,109.517381 125.454621,89.9975051 C125.454621,70.4801242 109.677053,54.6551533 90.1846205,54.5528636 L90.1846205,43.6452847 C115.704663,43.7450796 136.364695,64.4550091 136.364695,89.9975051 C136.364695,115.542496 115.704663,136.252426 90.1846205,136.35222 L90.1846205,125.444642 Z M90.1846205,70.9167267 C100.640628,71.0165216 109.090758,79.5165493 109.090758,89.9975051 C109.090758,100.480956 100.640628,108.980984 90.1846205,109.080778 L90.1846205,70.9167267 Z M0,89.9975051 C0,139.705328 40.2921772,180 90,180 C139.705328,180 180,139.705328 180,89.9975051 C180,40.2921772 139.705328,0 90,0 C40.2921772,0 0,40.2921772 0,89.9975051 Z" fill="currentColor"/>
</svg>
<span>.onion</span>
</a>
</li>
{{ end }}
{{ if (eq .Params.status "beta") }}
<li class="inline-flex">
<button
class="inline-flex items-center gap-1 text-xs px-1.5 py-0.5 rounded bg-red-100 dark:bg-red-500/30"
data-tooltip="{{ i18n "service_beta_tooltip" }}"
>
<span>β</span>
<span>Beta</span>
</button>
</li>
{{ end }}
</ul>
{{/* <p class="mt-2">
<a class="link text-default font-semibold" href="{{ .RelPermalink }}">Číst více →</a>
</p> */}}
</article>
{{ partial "service-card.html" (dict "service" . ) }}
</li>
{{ end }}
</ul>

View file

@ -41,7 +41,7 @@
</template>
</ol>
{{ with site.Params.tickerClientURL }}
<a class="link text-sm font-bold" href="https://{{ . }}" target="_blank">Přečíst starší zprávy →</a>
<a class="link text-sm font-semibold" href="https://{{ . }}" target="_blank">Přečíst starší zprávy →</a>
{{ end }}
</div>
</template>

View file

@ -9,5 +9,17 @@
<section class="container mx-auto px-6 my-16">
{{ partial "services.html" }}
</section>
<section class="container mx-auto px-6 my-16">
<h2 class="subheading mb-8">Další služby</h2>
<ul class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-x-8 gap-y-12">
{{ $services := where site.RegularPages.ByWeight "Type" "services" }}
{{ range (where $services "Params.category" "secondary") }}
<li>
{{ partial "service-card" (dict "service" . ) }}
</li>
{{ end }}
</ul>
</section>
</main>
{{ end }}