1 Commits

Author SHA1 Message Date
2ce3f4ff51 feat: CI/CD setup 2022-01-05 11:36:57 +01:00
34 changed files with 418 additions and 1029 deletions

View File

@ -1,2 +0,0 @@
/content/
/public/

View File

@ -2,29 +2,16 @@
kind: pipeline
name: continuous deployment
steps:
- name: push hugo image
- name: build image
image: plugins/docker
settings:
username:
from_secret: docker_reg_username
password:
from_secret: docker_reg_passwd
dockerfile: Dockerfile.hugo
repo: decentral1se/beta.lumbung.space
tags: latest
- name: push scripts image
image: plugins/docker
settings:
no_cache: true
username:
from_secret: docker_reg_username
password:
from_secret: docker_reg_passwd
dockerfile: Dockerfile.scripts
repo: decentral1se/beta.lumbung.space-scripts
tags: latest
- name: deploy stack
image: decentral1se/stack-ssh-deploy:latest
settings:
@ -32,9 +19,6 @@ steps:
host: lumbung.space
deploy_key:
from_secret: drone_ssh_lumbung.space
depends_on:
- push hugo image
- push scripts image
trigger:
branch:
- main

7
.gitignore vendored
View File

@ -1,10 +1,5 @@
*.lock
.env
.venv/
/content/calendar/
/content/pen/
/content/shouts/
/content/social/
/content/tv/
/content/
/public/
resources

View File

@ -1,11 +0,0 @@
FROM python:3.9.9-alpine
RUN apk add --no-cache git bash
WORKDIR /src/
RUN git clone https://git.autonomic.zone/ruangrupa/lumbunglib /src/
RUN pip install -U -I setuptools pip
RUN pip install -I .

View File

@ -1,47 +1,19 @@
# lumbung.space
# living room
[![Build Status](https://drone.autonomic.zone/api/badges/ruangrupa/lumbung.space/status.svg?ref=refs/heads/main)](https://drone.autonomic.zone/ruangrupa/lumbung.space)
[![Build Status](https://drone.autonomic.zone/api/badges/ruangrupa/living-room/status.svg?ref=refs/heads/main)](https://drone.autonomic.zone/ruangrupa/living-room)
> A new attempt to bring together the ideas of the "splash" page, "portal" page
> and a comfortable digital "living room" experience for lumbung[dot]space.
> This is a work in progress. The end goal of this is to have a new design and
> implementation for [`lumbung.space`](https://lumbung.space) for January 2022.
## FAQ
### How does the CI/CD work?
The [`.drone.yml`](./.drone.yml) triggers a build on [drone.autonomic.zone](https://drone.autonomic.zone/ruangrupa/lumbung.space) of the [`Dockerfile.hugo`](./Dockerfile.hugo) and the [`Dockerfile.scripts`](./Dockerfile.scripts) and then deploys the [`compose.yml`](./compose.yml) stack using `docker stack deploy`.
### How often is the content regenerated?
See the `sleep ...` statements in the [`compose.yml`](./compose.yml).
### How do I see if content generation is working?
(requires `lumbung.space` docker context)
- `docker service logs -f beta_lumbung_space_peertube`
- `docker service logs -f beta_lumbung_space_calendar`
- `docker service logs -f beta_lumbung_space_feed`
Where `beta_lumbung_space_<service-name>` and you see the service name in the [`compose.yml`](./compose.yml).
### How do I add a feed?
Add your RSS feed URL to [`feeds_list.txt`](./feeds_list.txt) and don't forget [this deploy step](https://git.autonomic.zone/ruangrupa/lumbung.space#deploy-a-new-feeds_list-txt).
### How do I wipe all the generated content?
(requires `lumbung.space` docker context)
`docker exec -it $(docker container ls -q -f name=beta_lumbung_space_app) bash -c "rm -rf /src/content/*"`
## Hacking
[Install Hugo](https://gohugo.io/getting-started/installing/).
### Generate the site
[Install Hugo](https://gohugo.io/getting-started/installing/) and `hugo serve --watch`
`hugo serve --watch`
### Generate `lumbung[dot]space` posts
@ -56,33 +28,8 @@ export CALENDAR_URL="https://cloud.lumbung.space/remote.php/dav/public-calendars
export OUTPUT_DIR=content/calendar
lumbunglib-cal
export OUTPUT_DIR=content/tv
export OUTPUT_DIR=content/video
lumbunglib-vid
export OUTPUT_DIR=content/shouts
lumbunglib-feed # reads ./feeds_list.txt
export OUTPUT_DIR=content/social
export MASTODON_AUTH_TOKEN=foobar
lumbunglib-hash
```
Afterwards, you can automatically run it with `make gen`.
After a `git pull`, you may need to run `pip install git+https://git.autonomic.zone/ruangrupa/lumbunglib` again.
### Manually deploying new images
- `docker login -u decentral1se -p $(logins/dockerhub/decentral1se)`
- `make push-hugo`
- `make push-scripts`
### Manually deploy the site
(requires `lumbung.space` docker context)
- `make deploy`
### Deploy a new `feeds_list.txt`
Increment the `_v<n>` (e.g. `v1` -> `v2`) in [`compose.yml`](./compose.yml) `configs` to avoid any deployment error.

View File

@ -33,117 +33,9 @@ services:
- "traefik.http.services.coop-cloud-site.loadbalancer.server.port=1313"
- "traefik.http.routers.coop-cloud-site.tls.certresolver=production"
tv:
image: decentral1se/beta.lumbung.space-scripts:latest
volumes:
- content:/src/content
environment:
OUTPUT_DIR: /src/content/tv
command: |
bash -c "
while true
do
echo 'generating tv posts...'
/usr/local/bin/lumbunglib-vid
echo 'going to sleep for 5 minutes...'
sleep 300
done
"
calendar:
image: decentral1se/beta.lumbung.space-scripts:latest
volumes:
- content:/src/content
environment:
OUTPUT_DIR: /src/content/calendar
CALENDAR_URL: "https://cloud.lumbung.space/remote.php/dav/public-calendars/WbnHM8YdCkKT6bcT?export"
command: |
bash -c "
while true
do
echo 'generating calendar posts...'
/usr/local/bin/lumbunglib-cal
echo 'going to sleep for 5 minutes...'
sleep 300
done
"
shouts:
image: decentral1se/beta.lumbung.space-scripts:latest
volumes:
- content:/src/content
configs:
- source: feeds_list
target: /src/feeds_list.txt
environment:
OUTPUT_DIR: /src/content/shouts
command: |
bash -c "
while true
do
echo 'generating shouts posts...'
/usr/local/bin/lumbunglib-feed
echo 'going to sleep for 5 minutes...'
sleep 300
done
"
pen:
image: decentral1se/beta.lumbung.space-scripts:latest
volumes:
- content:/src/content
configs:
- source: feeds_list_pen
target: /src/feeds_list.txt
environment:
OUTPUT_DIR: /src/content/pen
command: |
bash -c "
while true
do
echo 'generating pen posts...'
/usr/local/bin/lumbunglib-feed
echo 'going to sleep for 5 minutes...'
sleep 300
done
"
social:
image: decentral1se/beta.lumbung.space-scripts:latest
volumes:
- content:/src/content/
secrets:
- masto_key
environment:
OUTPUT_DIR: /src/content/social
command: |
bash -c "
export MASTODON_AUTH_TOKEN=`cat /run/secrets/masto_key`;
while true
do
echo 'generating social posts...'
/usr/local/bin/lumbunglib-hash
echo 'going to sleep for 5 minutes...'
sleep 300
done
"
volumes:
content:
networks:
proxy:
external: true
configs:
feeds_list:
name: beta_lumbung_space_feeds_list_v1
file: feeds_list.txt
feeds_list_pen:
name: beta_lumbung_space_feeds_list_pen_v1
file: feeds_list_pen.txt
secrets:
masto_key:
name: beta_lumbung_space_masto_key_v1
external: true

View File

@ -1,12 +1,4 @@
baseURL = "https://beta.lumbung.space"
languageCode = "en-gb"
title = "lumbung.space"
title = "beta.lumbung.space"
theme = "lumbung-theme"
pluralizeListTitles = "false"
[params]
logo = "/img/logo.svg"
favicon = "/img/favicon.ico"
[markup.goldmark.renderer]
unsafe = true

View File

@ -1,11 +0,0 @@
---
title: "About"
date: 2022-01-17T11:11:58+01:00
hidden: true
---
<img id="about-img" src="/img/ade.jpeg" />
lumbung.space is an experimental social and publishing platform by and for the lumbung artists and lumbung members. It is a (digital) living room for our collective lumbung building process that allows us to connect, support each other, and also share knowledge collectively. It is built on open platforms, cooperative governance, and as a community infrastructure meant for our practices to develop and thrive. As a project, lumbung.space is an experiment for artist-initiated digital platforms and part of the process towards documenta fifteen. After documenta—the strive is for lumbung.space to be sustained as a shared resources for the lumbung inter-lokal. 
lumbung.space is a space for learning: currently, the working group is trying to find out what a social platform for a lumbung practice looks like; as we recognize that we don't want our practices to be subject to, or dependent upon extractive, exploitative digital infrastructures. Making lumbung.space to be a platform that is owned and operated by the community of users themselves: which means us! (and not a service that is run by a corporation). We are working with [Autonomic Co-operative](https://autonomic.zone) who is part of the [Co-op Cloud](https://coopcloud.tech) initiative where our learnings feedback into, allowing other collectives to set up similar infrastructures.

View File

@ -1,12 +0,0 @@
http://artscollaboratory.org/feed/
http://www.festivalsegou.org/spip.php?page=backend&lang=fr
https://artivismo.org/feed/
https://brittoartstrust.org/feed/
https://documenta-fifteen.de/en/feed/
https://fafswag.wordpress.com/feed/
https://gudskul.art/feed/
https://inland.org/feed/
https://jatiwangiartfactory.tumblr.com/rss/
https://projectartworks.org/feed/
https://wajukuuarts.wordpress.com/feed/
https://www.masartemasaccion.org/feed/

View File

@ -1 +0,0 @@
https://pen.lumbung.space/feed/

View File

@ -7,18 +7,10 @@ gen:
@CALENDAR_URL="https://cloud.lumbung.space/remote.php/dav/public-calendars/WbnHM8YdCkKT6bcT?export"; \
OUTPUT_DIR=content/calendar; \
lumbunglib-cal && \
OUTPUT_DIR=content/tv lumbunglib-vid && \
OUTPUT_DIR=content/shouts lumbunglib-feed
OUTPUT_DIR=content/video lumbunglib-vid
push-hugo:
@docker build -t decentral1se/beta.lumbung.space -f Dockerfile.hugo . && \
docker push decentral1se/beta.lumbung.space
push-scripts:
@docker build --no-cache -t decentral1se/beta.lumbung.space-scripts -f Dockerfile.scripts . && \
docker push decentral1se/beta.lumbung.space-scripts
deploy:
@DOCKER_CONTEXT=lumbung.space docker stack deploy -c compose.yml beta_lumbung_space
.PHONY: serve gen push-hugo push-scripts deploy
.PHONY: serve gen push-hugo

View File

@ -2,14 +2,10 @@
<html lang="{{ .Site.LanguageCode | default "en" }}">
{{- partial "head.html" . -}}
<body>
{{- partial "news-ticker.html" . -}}
{{- partial "header.html" . -}}
<div id="content">
{{- block "main" . }}{{- end }}
{{- block "main" . }}{{- end }}
</div>
{{- partial "footer.html" . -}}
</body>
<script>

View File

@ -1,40 +1,36 @@
{{ define "main" }}
<main>
<section class='entries'>
<div class="h-feed">
{{ range where (.Paginator 13).Pages "Params.hidden" "ne" "true" }}
<section class='entries'>
<div class="h-feed">
{{ range (.Paginator 13).Pages }}
{{ if in .Params.categories "tv"}}
{{ if in .Params.categories "tv"}}
{{- partial "video_box.html" . -}}
{{- partial "video_box.html" . -}}
{{ else if in .Params.categories "calendar" }}
{{ else if in .Params.categories "calendar" }}
{{- partial "calendar_card.html" . -}}
{{- partial "calendar_card.html" . -}}
{{ else if in .Params.categories "network" }}
{{ else if in .Params.categories "network" }}
{{- partial "network_card.html" . -}}
{{- partial "network_card.html" . -}}
{{ else if in .Params.categories "shouts" }}
{{ else if in .Params.categories "shouts" }}
{{- partial "shout_card.html" . -}}
{{- partial "shout_card.html" . -}}
{{ else if in .Params.categories "page" }}
{{ else }}
{{- partial "blank.html" . -}}
{{- partial "card.html" . -}}
{{ else }}
{{ end }}
{{- partial "card.html" . -}}
{{ end }}
</div>
{{ end }}
<nav class="pagination">
{{ template "_internal/pagination.html" . }}
</nav>
{{ end }}
</div>
<nav class="pagination">
{{ template "_internal/pagination.html" . }}
</nav>
</main>
</main>
{{ end }}

View File

@ -1,37 +1,37 @@
{{ define "main" }}
<main>
<section class='entries'>
<div class="h-feed">
{{ range where (.Paginator 13).Pages "Params.hidden" "ne" "true" }}
<section class='entries'>
<div class="h-feed">
{{ range (.Paginator 13).Pages }}
{{ if in .Params.categories "tv"}}
{{ if in .Params.categories "tv"}}
{{- partial "video_box.html" . -}}
{{- partial "video_box.html" . -}}
{{ else if in .Params.categories "calendar" }}
{{ else if in .Params.categories "calendar" }}
{{- partial "calendar_card.html" . -}}
{{- partial "calendar_card.html" . -}}
{{ else if in .Params.categories "network" }}
{{ else if in .Params.categories "network" }}
{{- partial "network_card.html" . -}}
{{- partial "network_card.html" . -}}
{{ else if in .Params.categories "shouts" }}
{{ else if in .Params.categories "shouts" }}
{{- partial "shout_card.html" . -}}
{{- partial "shout_card.html" . -}}
{{ else }}
{{ else }}
{{- partial "card.html" . -}}
{{- partial "card.html" . -}}
{{ end }}
{{ end }}
{{ end }}
</div>
{{ end }}
</div>
<nav class="pagination">
{{ template "_internal/pagination.html" . }}
</nav>
</main>
<nav class="pagination">
{{ template "_internal/pagination.html" . }}
</nav>
</main>
{{ end }}

View File

@ -1,5 +1,5 @@
<footer>
<footer class="bar">
<div>
<a href="https://panduan.lumbung.space/share/684ea8a2-bc47-4111-acf2-f88a200b640f">Imprint</a> - <a href="https://panduan.lumbung.space/share/8a742222-2561-4d67-a9f1-6c7c4fe8bead">Privacy Policy</a> - <a href="https://panduan.lumbung.space/share/272026ff-57fd-4894-8d68-58606c77044c/doc/frequently-asked-questions-faq-pl8OTF58Od">FAQ</a> - <a href="https://panduan.lumbung.space/share/ece8e392-7b21-4379-bd82-a11e06ebf1fb">Community Guidelines</a> - <a href="https://panduan.lumbung.space/share/507566f6-6b7e-402e-bfd4-034feebdcba6">Glossary</a> - <a href="https://panduan.lumbung.space/share/ef6f6638-856d-4c9a-ab89-d82af567aba4">Terms of Use</a>
Imprint - Privacy Policy - Copyright
</div>
</footer>

View File

@ -2,7 +2,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ if .IsHome }} {{ .Site.Title | lower }} {{ else }} {{ .Title | lower }} | {{ .Site.Title | lower }} {{ end }}</title>
<title>{{ if .IsHome }} {{ .Site.Title }} {{ else }} {{ .Title }} | {{ .Site.Title }} {{ end }}</title>
{{- if or .Description .Site.Params.description }}
<meta name="description" content="{{ .Description | default .Site.Params.description }}">

View File

@ -1,104 +1,34 @@
<header id="top-menu">
<div class="mobile-menu">
<button class="hamburger" onclick="this.classList.toggle('opened'); document.querySelector('.drawer').classList.toggle('opened');">
<svg width="30" fill="#3C3D3D" viewBox="0 0 50 40">
<g>
<path class="top" d="M0 8h50v3H0z"/>
<path class="bottom" d="M0 28h50v3H0z"/>
<path class="middle" d="M0 18h50v3H0z"/>
</g>
</svg>
</button>
<a href="https://members.lumbung.space" id="login">login</a>
</div>
<a href="/" class="home-link">
<img class="logo" src="{{ .Site.Params.Logo }}" alt="{{ .Site.Title }}">
</a>
<nav class="menu">
<ul>
{{/* {{ $currentPage := . }}
{{ range .Site.Menus.main }}
{{ if .HasChildren }}
<details class="menu-dropdown">
<summary class="menu-nav-item {{ if $currentPage.HasMenuCurrent "main" . }}active{{ end }}">
<a href="#">
{{ .Pre }}
<span>{{ .Name }}</span>
</a>
</summary>
<ul class="sub-menu">
{{ range .Children }}
<li class="{{ if $currentPage.IsMenuCurrent "main" . }}active{{ end }}">
<a href="{{ .URL }}">{{ .Name }}</a>
</li>
{{ end }}
</ul>
</details>
{{ else }}
<li class="menu-nav-item">
<a href="{{ .URL }}">
{{ .Pre }}
<span>{{ .Name }}</span>
</a>
<header class="bar" id="top-menu">
<h1 class="logo"><a href="/"><img src="{{ .Site.Params.logo }}" alt="{{ .Site.Title }}"/></a></h1>
<nav class="menu">
<ul>
{{ $currentPage := . }}
{{ range .Site.Menus.main }}
{{ if .HasChildren }}
<details class="menu-dropdown">
<summary class="menu-nav-item {{ if $currentPage.HasMenuCurrent "main" . }}active{{ end }}">
<a href="#">
{{ .Pre }}
<span>{{ .Name }}</span>
</a>
</summary>
<ul class="sub-menu">
{{ range .Children }}
<li class="{{ if $currentPage.IsMenuCurrent "main" . }}active{{ end }}">
<a href="{{ .URL }}">{{ .Name }}</a>
</li>
{{ end }}
{{ end }} */}}
<li><a href="/">home</a></li>
<li><a href="/about/">about</a></li>
<li><a href="/calendar/">calendar</a></li>
<li><a href="/tv/">tv</a></li>
<li><a href="/social/">social</a></li>
<li><a href="/pen/">pen</a></li>
<li><a href="/shouts/">shouts</a></li>
</ul>
</nav>
<aside class="drawer">
<ul>
{{/* {{ $currentPage := . }}
{{ range .Site.Menus.main }}
{{ if .HasChildren }}
<details class="menu-dropdown">
<summary class="menu-nav-item {{ if $currentPage.HasMenuCurrent "main" . }}active{{ end }}">
<a href="#">
{{ .Pre }}
<span>{{ .Name }}</span>
</a>
</summary>
<ul class="sub-menu">
{{ range .Children }}
<li class="{{ if $currentPage.IsMenuCurrent "main" . }}active{{ end }}">
<a href="{{ .URL }}">{{ .Name }}</a>
</li>
{{ end }}
</ul>
</details>
{{ else }}
<li class="menu-nav-item">
<a href="{{ .URL }}">
{{ .Pre }}
<span>{{ .Name }}</span>
</a>
</li>
{{ end }}
{{ end }} */}}
<li><a href="/">home</a></li>
<li><a href="/about/">about</a></li>
<li><a href="/calendar/">calendar</a></li>
<li><a href="/tv/">tv</a></li>
<li><a href="/social/">social</a></li>
<li><a href="/pen/">pen</a></li>
<li><a href="/shouts/">shouts</a></li>
</ul>
</aside>
<div>
<div class="search">
<img src="{{ .Site.Params.baseURL }}/img/search.svg" alt="search">
<input type="search" name="" id="">
</div>
<a href="https://members.lumbung.space" id="login">login</a>
</div>
</ul>
</details>
{{ else }}
<li class="menu-nav-item">
<a href="{{ .URL }}">
{{ .Pre }}
<span>{{ .Name }}</span>
</a>
</li>
{{ end }}
{{ end }}
</ul>
</nav>
</header>

View File

@ -1 +0,0 @@
<iframe src="https://documenta-fifteen.de/en/external-ticker-lumbung/" sandbox="allow-same-origin allow-scripts allow-popups allow-popups-to-escape-sandbox" scrolling="no" style="overflow: hidden" width="100%" height="80px" frameborder="0"></iframe>

View File

@ -2,12 +2,7 @@
<article class="h-entry shout">
<header>
{{ $postPermalink := .Permalink}}
<h2 class="p-name"><a href="{{ .Permalink }}" class="u-url">
{{ range $i, $e := .Params.tags -}}
{{- if $i -}} {{ end -}}
<a href='{{ "/tags/" | relLangURL }}{{ . | urlize }}'>#{{ $e | humanize | lower }}</a>
{{- end -}}
</a></h2>
<h2 class="p-name"><a href="{{ .Permalink }}" class="u-url">{{ .Title }}</a></h2>
</header>
{{ with (index (.Resources.ByType "image") 0) }}

View File

@ -1,5 +1,4 @@
<div class='video-box'>
<div class='video channel'><a href='{{ .Params.channel_url }}'> {{ .Params.video_channel }}</a></div>
<div class='media' id='media-{{ .Params.uuid }}'>
<span class='video-thumbnail' id='thumb-{{ .Params.uuid }}'
href="https://tv.lumbung.space/videos/watch/{{ .Params.uuid }}"
@ -10,9 +9,9 @@
<img src="{{.Site.BaseURL}}{{ .File.Dir }}{{ .Params.preview_image }}">
{{ if .Params.is_live}}
<div class="video-thumbnail-duration-overlay">LIVE</div>
<div class="video-thumbnail-duration-overlay">LIVE</div>
{{ else }}
<div class="video-thumbnail-duration-overlay">{{.Params.video_duration}}</div>
<div class="video-thumbnail-duration-overlay">{{.Params.video_duration}}</div>
{{ end }}
<div class="play-overlay">
@ -22,13 +21,10 @@
</div>
<div class='video metadata'>
<div class='title'>{{ .Title }}</div>
<div class='video channel'><a href='{{ .Params.channel_url }}'> {{ .Params.video_channel }}</a></div>
<input class='descr_button' type='checkbox' id='toggle-{{ .Params.uuid }}'/>
<label class='video' for='toggle-{{ .Params.uuid }}'>
<svg class="dot" width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg">
<path d="M10.2172 3.892C9.86979 3.02585 9.33722 2.34509 8.61023 1.77874C8.23826 1.49028 7.72957 1.04191 7.21547 0.839212C7.21382 0.703503 7.14487 0.575079 6.97767 0.503871C5.42624 -0.162284 3.69503 0.311299 2.52647 1.51482C1.94635 2.11223 1.51951 2.8478 1.21108 3.62501C0.914861 4.3676 0.507572 5.32483 0.948415 6.07996C1.00646 6.17836 1.09356 6.24193 1.1908 6.27306C1.2735 7.35573 1.57765 8.46801 2.37847 9.21874C3.2325 10.0162 4.43613 10.3053 5.5673 10.1773C6.72371 10.0468 7.96432 9.57061 8.8816 8.82474C9.01086 8.71974 9.1274 8.60844 9.23337 8.49296C9.27968 8.4924 9.32805 8.4875 9.37839 8.4718C11.3643 7.82491 10.8101 5.37347 10.2172 3.892Z" />
</svg>
</label>
<div class='video date' style="display: none;"> <a href='https://tv.lumbung.space/videos/watch/{{ .Params.uuid }}'> {{ .Date.Format "Jan 02, 2006" }}</a></div>
<label class='video' for='toggle-{{ .Params.uuid }}'></label>
<div class='video date'> <a href='https://tv.lumbung.space/videos/watch/{{ .Params.uuid }}'> {{ .Date.Format "Jan 02, 2006" }}</a></div>
<div class="description video" id='vid-{{ .Params.uuid }}'> {{ .Content }}
<ul>
{{ range (.GetTerms "categories") }}

File diff suppressed because it is too large Load Diff

View File

@ -1,18 +1,14 @@
:root {
--tv-dark: #237D0F;
--tv-light: #E2FAD7;
--video-border-color: burlywood;
--video-background-color: antiquewhite;
}
.video-box {
border-top: 1px solid var(--tv-dark);
max-width: 560px;
margin: auto;
border:2px solid var(--video-border-color);
max-width:560px;
margin:auto;
box-shadow:1em 1em 0 #d2d1c8;
margin-bottom: 2em;
color: var(--tv-dark);
}
.video-box a {
color: var(--tv-dark);
color: chocolate;
}
.video-box:nth-child(even){
@ -41,7 +37,7 @@
}
.video {
background-color: var(--tv-light);
background-color: var(--video-background-color);
}
.video .metadata{
@ -52,30 +48,29 @@
.metadata .title{
margin-top:0;
border-top: 2px solid var(--tv-dark);
border-bottom: 2px solid var(--tv-dark);
border-top: 2px solid var(--video-border-color);
border-bottom: 2px solid var(--video-border-color);
padding:0.5em;
font-weight:700;
font-size:1.3rem;
flex-basis: 100%;
padding-bottom: 100px;
}
.video.channel{
border-right: 2px solid var(--tv-dark);
border-right: 2px solid var(--video-border-color);
padding: 0.5em 0.9em 0.5em 0.9em;
font-size: 0.8rem;
}
.video.date {
float:right;
border-left: 2px solid var(--tv-dark);
border-left: 2px solid var(--video-border-color);
padding: 0.5em 0.9em 0.5em 0.9em;
font-size: 0.8rem;
}
.video.description {
border-top: 2px solid var(--tv-dark);
border-top: 2px solid var(--video-border-color);
padding: 0.8em 0.8em 0.8em 0.8em;
}
@ -125,8 +120,8 @@ input:checked + label + .video.date +.description {
.video-thumbnail-duration-overlay {
display: inline-block;
background-color: var(--tv-dark);
color: white;
background-color: var(--video-background-color);
color: chocolate;
font-size: 14px;
line-height: 1.1;
z-index: 10;
@ -134,7 +129,7 @@ input:checked + label + .video.date +.description {
padding: 1px 3px 1px 3px;
right: 5px;
bottom: 5px;
border: 2px solid var(--tv-dark);
border: 2px solid var(--video-border-color);
}
.play-overlay {
@ -158,25 +153,3 @@ input:checked + label + .video.date +.description {
.video-thumbnail:hover .play-overlay .play-icon {
transform:translate(-50%,-50%) scale(1);
}
.video-box .dot {
fill: var(--tv-dark);
}
.video.channel a {
width: max-content;
background: var(--tv-dark);
padding: 0.5em;
position: relative;
bottom: 19px;
z-index: 1;
transform: rotate(2deg);
color: white;
}
.video.channel {
background: var(--tv-light);
display: flex;
justify-content: center;
border: none;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

View File

@ -1,3 +0,0 @@
<svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg">
<path d="M10.2172 3.892C9.86979 3.02585 9.33722 2.34509 8.61023 1.77874C8.23826 1.49028 7.72957 1.04191 7.21547 0.839212C7.21382 0.703503 7.14487 0.575079 6.97767 0.503871C5.42624 -0.162284 3.69503 0.311299 2.52647 1.51482C1.94635 2.11223 1.51951 2.8478 1.21108 3.62501C0.914861 4.3676 0.507572 5.32483 0.948415 6.07996C1.00646 6.17836 1.09356 6.24193 1.1908 6.27306C1.2735 7.35573 1.57765 8.46801 2.37847 9.21874C3.2325 10.0162 4.43613 10.3053 5.5673 10.1773C6.72371 10.0468 7.96432 9.57061 8.8816 8.82474C9.01086 8.71974 9.1274 8.60844 9.23337 8.49296C9.27968 8.4924 9.32805 8.4875 9.37839 8.4718C11.3643 7.82491 10.8101 5.37347 10.2172 3.892Z" />
</svg>

Before

Width:  |  Height:  |  Size: 745 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

View File

@ -1,18 +0,0 @@
<svg width="851" height="261" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#a)">
<path d="M161.7 3.75c-5.03 0-8.04 2.57-8.04 6.88v97.57c0 9.86-2.46 17.36-7.3 22.3-4.82 4.91-12.11 7.4-21.67 7.4-8.03 0-14.5-1.88-19.22-5.59-6.19-4.87-9.33-12.93-9.33-23.97V65.23c0-5.08-4.25-6.88-7.89-6.88-7.4 0-8.2 4.81-8.2 6.88v43.54c0 13.94 3.91 24.82 11.61 32.31 7.7 7.49 18.86 11.29 33.17 11.29 14.44 0 25.66-3.76 33.34-11.19 7.69-7.46 11.58-18.36 11.58-32.41V10.63c0-4.37-2.93-6.88-8.05-6.88Z" fill="#ED7641"/>
<path d="M848.17 32.16c-.32-.39-.69-.62-.99-.81-.16-.1-.32-.2-.39-.28-.06-.07-.19-.3-.27-.45-.2-.37-.42-.79-.8-1.11-.78-.68-1.94-1.35-3.06-2-.38-.22-.76-.44-1.12-.66-2.94-1.78-7.33-3.8-11.56-.86l-.2.14-.14.2c-1.53 2.22-1.71 5.22-1.91 8.4-.08 1.25-.15 2.54-.31 3.82-.14 1.15-.27 2.43-.41 3.79-.3 2.98-.64 6.37-1.17 8.17-.09.3-.62.74-1.05 1.1-.49.41-1 .83-1.4 1.39-.25.34-.42.71-.58 1.07-.12.27-.24.52-.36.7-.35.51-.75.9-1.17 1.31-.39.38-.79.78-1.13 1.25-.65.9-.89 1.95-1.1 2.87-.12.53-.24 1.04-.42 1.49-.25.64-.93 1.46-1.36 1.98-.42.51-.88 1.17-1.33 1.8-.39.56-.8 1.14-1.05 1.43-.18.21-.48.41-.79.63-.51.36-1.09.77-1.54 1.4-.3.42-.48.82-.62 1.14-.14.3-.22.48-.33.6-.34.34-.83.62-1.35.92-.51.29-1.04.59-1.53 1-.32.27-.55.56-.74.78-.13.16-.24.3-.33.37-.12.09-.31.17-.52.27-.3.14-.63.3-.99.54-.6.41-1.05.92-1.49 1.41-.26.3-.51.58-.77.8-.79.7-1.6 1.34-2.38 1.97-1.04.83-2.12 1.69-3.12 2.66-.82.38-1.73.51-2.77.66-.76.11-1.62.23-2.52.47-1.45.37-3.3 1.15-4.72 1.97-1.99 1.15-6.14 3.56-4.3 7.7 1.07 2.41 3.69 5.06 5.84 5.92.84.34 1.64.48 2.39.48 2.07 0 3.83-1.05 5.44-2 1.12-.66 2.18-1.29 3.26-1.55 2.73-.64 5.87-1.5 8.49-3.05l.19-.11.14-.17c1.88-2.17 4.04-4.08 6.13-5.92 3.05-2.68 6.2-5.46 8.71-9.22.48-.3.86-.68 1.19-1.03.37-.38.59-.59.8-.69.17.46-.04 1.15-.58 2.48-.37.91-.76 1.85-.85 2.85-.15 1.67.64 3.5 2.11 4.91 1.4 1.34 3.11 1.99 4.67 1.78l.17-.02.16-.06c3.35-1.35 3.53-5.55 3.68-9.26.08-1.98.17-4.03.71-5.38.95-1.12 1.6-2.56 2.23-3.95.7-1.54 1.42-3.14 2.43-3.88l.17-.13.12-.17c1.03-1.42 1.65-3.29 2.26-5.1.08-.24.16-.49.24-.73 1.49-1.4 2.42-3.4 3.32-5.33.51-1.08.98-2.1 1.51-2.91l.1-.15.06-.17c2.27-7.04 1.89-13.9-1-17.47ZM776.95 71.1c.16-.43.34-.91.48-1.45.47-1.81.6-3.7.72-5.53.1-1.51.19-2.93.47-4.2.23-1.03.57-2.08.93-3.19.75-2.3 1.6-4.9 1.64-8.13.61-1.12 1.12-2.36 1.62-3.55.51-1.21.99-2.37 1.55-3.38 1.69-1.17 3.02-2.68 4.31-4.14 2.39-2.73 4.47-5.09 8.4-4.93.43.02.9.06 1.35.11 1.78.18 3.99.39 4.98-1.35 1.25-2.22-.02-5.05-3.4-7.55-2.07-1.54-4.7-2.68-7.6-3.32-.54-.12-1.09-.25-1.65-.37-2.6-.6-5.29-1.22-7.84-1.13-1.46.06-2.91.72-4.31 1.37-.37.17-.74.34-1.12.5-.48.21-.97.4-1.45.58-1.26.49-2.45.95-3.26 1.6-1.05.84-2.03 2.42-2.9 3.82-.42.67-.81 1.31-1.12 1.7-1.43 1.84-1.74 4.03-2.06 6.35-.16 1.12-.32 2.29-.62 3.53-.19.79-.4 1.56-.6 2.3-.54 1.98-1.11 4.03-1.18 6.4-.04 1.27.03 2.54.1 3.78.1 1.74.19 3.38-.02 4.91-.06.48-.25 1.01-.44 1.57-.2.58-.42 1.23-.56 1.95-.31 1.62-.51 3.72-.63 5.15-.05.55-.12 1.13-.18 1.69-.13 1.1-.25 2.14-.23 2.98.04 1.67.7 3.1 1.28 4.36.23.49.44.95.59 1.37.34.95.64 1.87.94 2.77.99 2.97 1.92 5.77 3.49 8.21 1.37 2.14 4.1 6.4 8.91 6.4.44 0 .89-.03 1.36-.11l.37-.06.29-.24c3.65-3.07 1.86-7.05.42-10.25l-.23-.51c-.41-.91-.9-1.76-1.37-2.57-1.09-1.88-2.04-3.5-1.88-5.67.02-.6.22-1.15.45-1.77ZM835.68 103.43c.47-1.45 1.05-3.26.76-5.02-.1-.6-.82-2.52-1.46-3.42-.88-1.24-2.81-2.76-3.97-3.12-1.36-.42-2.81-.22-4.08.56-1.65 1.02-2.89 2.97-3.24 5.08-.1.59-.07 1.16-.05 1.71.01.34.03.67.01.96-.13 2.01-.44 4.14-.78 6.39-.43 2.86-.88 5.82-.89 8.56-.01 1.72.44 3.16.85 4.43.37 1.19.7 2.21.64 3.32-.04.93-.27 1.71-.51 2.52-.23.78-.46 1.59-.54 2.55-.14 1.62.34 3.14.8 4.61.33 1.07.65 2.08.73 3.1.09 1.09.11 2.38.07 3.93-.19 6.99-.97 12.4-2.03 14.13-1.36 2.22-2.17 3.82-3.02 5.97l-.22.19c-1.7 1.45-3.17 2.7-4.46 4.49-.99 1.37-1.31 2.69-1.64 4.08-.22.93-.45 1.9-.92 3-.24.56-.68.94-1.23 1.42-.33.28-.66.57-1 .93-1.35 1.46-3.27 3.69-4.6 6.53-1.29.84-2.13 2.07-2.94 3.27-.49.72-.95 1.39-1.48 1.94-1.03 1.06-3.12 2.02-4.8 2.78-.64.29-1.25.57-1.78.84-.15.08-.52.28-.74.47-3.1 2.71-3.37 8.07-1.55 11.06.78 1.27 1.9 2.12 2.99 2.94.62.47 1.21.92 1.73 1.42.06.07.17.31.24.47.16.35.34.76.65 1.11.34.39.66.65.92.86.21.17.33.27.39.36.17.27.3.59.33.85l.15 1.17 1.17.02c.62.01 1.45.24 2.34.48 1.16.31 2.42.65 3.66.65.63 0 1.25-.09 1.85-.31 1.04-.38 1.51-1.32 1.92-2.15.19-.39.39-.79.65-1.17.5-.73 1.23-1.5 1.93-2.24.66-.7 1.34-1.42 1.89-2.16.85-1.15 1.47-2.57 2.07-3.93.5-1.14.97-2.21 1.49-2.92.3-.41.88-.85 1.43-1.27.76-.58 1.54-1.17 2.02-1.96.4-.65.56-1.38.71-2.02.09-.41.18-.79.3-1.07.05-.11.23-.35.37-.53.21-.28.45-.59.64-.94.42-.76.82-1.67 1.21-2.54.52-1.17 1.06-2.38 1.56-3.07.28-.4.68-.79 1.09-1.21.81-.81 1.72-1.72 2.14-3.02.71-2.18.71-4.2.72-6.16.01-2.04.02-3.97.86-5.89.25-.57.67-1.08 1.11-1.61.49-.6 1-1.21 1.34-1.99.8-1.83 1.36-4.48 1.69-6.38.6-3.46.36-6.3.14-8.8-.16-1.87-.31-3.65-.12-5.52.1-.95.23-1.89.36-2.8.26-1.8.53-3.66.5-5.56-.03-2.05-.36-4-.68-5.89-.44-2.64-.86-5.13-.51-7.78l.02-.12-.01-.12c-.03-.59-.06-1.22-.1-1.89-.22-3.81-.51-9.02.52-13.26.09-.38.23-.83.39-1.31Z" fill="#DFA895"/>
<path d="M484.67 170.59c8.24 2.38 16.56 1.87 24.86.27 12.88-2.48 23.37-9.5 33.29-17.6.71-.58 1.22-1.6 2.42-1.42.51 1.28-.31 2.32-.63 3.4-.8 2.67-1.25 5.36-1.04 8.14.37 5.07 3.83 8.58 8.88 8.98 4.39.34 8.38-.82 12-3.29 5.48-3.74 8.41-9.25 10.41-15.34 9.97-30.44 19.9-60.89 29.86-91.34 1.17-3.58 2.08-7.18 1.69-10.99-.49-4.78-3.52-7.88-8.32-8.51-5.55-.72-10.51.73-14.98 4.04-5.68 4.2-8.36 10.24-10.52 16.68-6.09 18.16-11.35 36.61-18.29 54.48-2.7 6.94-6.02 13.49-11.81 18.44-7.6 6.5-16.01 11.15-26.35 10.94-9.09-.18-13.7-5.11-13.54-14.22.09-4.86.97-9.61 2.44-14.21 6.02-18.81 12.14-37.59 18.21-56.38 1.12-3.47 2.19-6.95 2.01-10.67-.23-4.78-3.11-8.15-7.77-9.09-5.64-1.14-10.73.21-15.37 3.46-5.73 4.01-8.38 10-10.46 16.35-5.5 16.81-11.06 33.6-16.44 50.45-3.23 10.09-7.01 20.03-8.19 30.71-1.42 12.83 5.18 23.11 17.64 26.72Z" fill="#467DBE"/>
<path d="M289.12 66.79c.02 3.18.67 6.35-.54 9.5-.65 31.87-1.24 63.74-2.05 95.6-.09 3.48.27 4.83 4.23 4.69 9.64-.33 19.31-.3 28.96-.01 3.65.11 4.25-1.14 4.14-4.41-.44-13.4-.82-26.8-.85-40.2-.08-38.11-.33-76.23.7-114.34.1-3.68-.84-4.68-4.56-4.6-12.27.25-24.55.16-36.82.04-2.47-.03-3.85.4-4.29 3.14-3.71 23.4-11.05 46.04-14.52 69.5-.94 6.37-2.06 12.72-3.12 19.2-1.42-.64-1.18-1.73-1.28-2.62-3.41-29.1-11.2-57.34-16.77-86.02-.39-2.01-.94-3.21-3.36-3.19-14.73.09-29.46.07-44.19.02-1.92-.01-2.33.57-2.26 2.56.3 8.82.46 17.65.44 26.48-.07 43.68-.16 87.37-.42 131.05-.02 2.64.37 3.36 2.96 3.33 8.84-.12 17.68-.17 26.51.02 2.96.06 3.6-1.06 3.42-3.7-.35-5.21-.58-10.44-.68-15.67-.5-25.34.13-50.71-1.3-76.03-1.05-4.86-.89-9.78-.76-15.67 1.38 2.04 2.21 3.24 1.68 4.96 5.48 35.03 15.14 69.13 23 103.64.46 2.01 1.58 2.75 3.47 2.39 4.6-.88 9.61 1.92 13.9-1.52.29-.23.19-.94.3-1.41 7.82-34.01 17.16-67.68 22.51-102.23-.27-1.66.17-3.15 1.55-4.5Z" fill="#9FD3F3"/>
<path d="M55.02 183.43 8.45 170.7c-3.4-.91-6.8-1.85-7.62-3.64-.99-2.1.26-5.67 1.12-8.81L44.55 2.27c.93-3.4 2.29-3.57 13.2-.58C70.13 5.07 71.5 5.71 70.44 9.61L34.26 142.06c-.86 3.14-2.23 7.2-.86 8.89 1.02 1.06 3.86 2.08 6.29 2.76l21.59 5.89c3.14.86 3.05 2.14.27 12.34-3.19 11.62-3.63 12.3-6.53 11.49Z" fill="#87C070"/>
<path d="M698.19 13.92c-18.23 0-37.08 7.6-46.49 24.32l-2.73-20.36h-31.91v158.04h37.99v-64.43c0-13.38-.3-29.79 5.17-42.25 5.17-11.54 13.98-20.06 27.35-20.06 20.06 0 26.14 11.25 26.14 29.78v96.96h37.99V70.45c-.02-32.82-19.77-56.53-53.51-56.53Z" fill="#009C9B"/>
<path d="M419.81 100.2c3.66.95 5.55 2.85 7.45 4.61 1.9 1.9 3.66 4.61 4.61 6.5.95 2.71.95 5.55.95 8.4 0 1.9 0 4.61-.95 7.45-.95 1.9-2.71 4.61-4.61 6.5-1.9 1.9-3.66 3.66-7.45 4.61-1.9.95-5.55 1.9-9.35 1.9h-41.73V98.44h41.73c3.8-.14 7.59-.14 9.35 1.76Zm-50.94-55.68h37.12c6.5 0 11.11.95 13.95 4.61 3.66 2.85 4.61 7.45 4.61 12.06s-.95 8.4-4.61 12.06c-2.71 3.66-7.45 4.61-13.95 4.61h-37.12V44.52Zm53.79-17.62c-4.61-1.9-11.11-2.85-17.61-2.85h-47.28c-3.66 0-5.55.95-8.4 2.85-1.9 1.9-2.71 4.61-2.71 8.4v114.07c0 2.85.95 5.55 2.71 7.45 2.85 2.71 4.61 3.66 8.4 3.66h51.08c6.5 0 13.01-.95 19.51-2.71 5.55-1.9 10.16-5.55 13.95-8.4 4.61-2.71 7.45-7.45 9.35-12.06 2.71-4.61 3.66-9.21 3.66-15.72 0-7.45-2.71-14.9-6.5-21.41-4.61-6.5-10.16-11.11-18.56-13.01 5.55-2.71 9.21-7.45 12.06-12.06 3.66-5.55 4.61-11.11 4.61-17.61 0-5.55-.95-9.35-2.71-13.01-1.9-4.61-4.61-8.4-8.4-11.11-3.95-2.82-7.61-5.53-13.16-6.48Z" fill="#DFA895"/>
<path d="M101.81 227.35c-1.45-1.99-3.73-3.23-6.79-2.85-1.38-.56-2.9-.68-4.4-.12-4.01 1.5-6.91 4.3-8.91 8.08-2.46 4.66-.82 12.31 4.33 14.6.06.03.13.04.19.07.44.29.92.53 1.42.74.66 1.05 1.6 1.9 2.95 2.41 3.35 1.27 7.37.13 9.93-2.25 1.63-1.01 2.89-2.58 3.58-4.42 1.76-1.69 2.95-4.05 3.2-6.24.49-4.04-1.4-8.58-5.5-10.02Z" fill="#333"/>
<path d="M746.23 261.48H63.25c-1.75 0-3.17-1.42-3.17-3.17v-44.4c0-1.75 1.42-3.17 3.17-3.17h682.98c1.75 0 3.17 1.42 3.17 3.17v44.4a3.158 3.158 0 0 1-3.17 3.17Zm-679.8-6.34h676.64v-38.06H66.43v38.06Z" fill="#333"/>
</g>
<defs>
<clipPath id="a">
<path fill="#fff" d="M0 0h851v261H0z"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 8.8 KiB

View File

@ -1,4 +0,0 @@
<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="6" cy="6" r="5" stroke="#333333" stroke-width="2"/>
<line x1="10.4142" y1="10" x2="14" y2="13.5858" stroke="#333333" stroke-width="2" stroke-linecap="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 274 B