19 Commits

Author SHA1 Message Date
2ce3f4ff51 feat: CI/CD setup 2022-01-05 11:36:57 +01:00
36d5d2c976 Merge branch 'main' of ssh://git.autonomic.zone:2222/ruangrupa/living-room into main 2022-01-05 10:30:06 +01:00
d2cb5780bf chore: ignore lock files, sort 2022-01-05 10:28:20 +01:00
10d06b0a10 minor formatting 2022-01-01 20:45:49 +05:00
3a64678ea0 minor formatting 2022-01-01 13:08:59 +05:00
c15948115a remove redundant css declaration 2022-01-01 13:06:02 +05:00
e93cc66f5a reindent lines 2022-01-01 13:04:10 +05:00
405d99cd3c revert previous commit 2022-01-01 12:45:39 +05:00
edaffea130 test commit to check auto-deployment 2022-01-01 12:23:59 +05:00
0daf963061 add .venv to gitignore 2021-12-17 14:25:01 +05:00
93b9bc28d6 formatting 2021-12-17 14:23:49 +05:00
37c0fbe94f formatting 2021-12-17 14:22:40 +05:00
aa49ddaa9e add watch flag 2021-12-15 13:22:30 +01:00
567d587b89 Add auto reload 2021-12-15 13:21:15 +01:00
a03cc072da drop old config 2021-12-15 12:51:13 +01:00
3c67d2c862 cleaning out cruft 2021-12-15 12:41:24 +01:00
3b34e0d0e0 convenient generation 2021-12-15 12:40:25 +01:00
4205d64ff6 more hacking docs 2021-12-15 12:37:21 +01:00
e9115e275d more docs 2021-12-15 12:35:29 +01:00
11 changed files with 313 additions and 303 deletions

View File

@ -1,17 +1,18 @@
---
kind: pipeline
name: deploy beta.lumbung.space
name: continuous deployment
steps:
- name: bundle static
- name: build image
image: plugins/docker
settings:
username: decentral1se
username:
from_secret: docker_reg_username
password:
from_secret: docker_reg_passwd
repo: decentral1se/beta.lumbung.space
tags: latest
- name: deployment
- name: deploy stack
image: decentral1se/stack-ssh-deploy:latest
settings:
stack: beta_lumbung_space
@ -21,3 +22,6 @@ steps:
trigger:
branch:
- main
event:
exclude:
- pull_request

4
.gitignore vendored
View File

@ -1,3 +1,5 @@
*.lock
.env
/public/
.venv/
/content/
/public/

View File

@ -1,11 +0,0 @@
FROM klakegg/hugo:alpine
RUN apk add --no-cache curl git
EXPOSE 1313
COPY . /src/
ENTRYPOINT ["/bin/bash"]
CMD ["-c", "hugo server --appendPort='false' --bind 0.0.0.0 --baseUrl='https://beta.lumbung.space' --port='1313' -F"]

7
Dockerfile.hugo Normal file
View File

@ -0,0 +1,7 @@
FROM klakegg/hugo:alpine
RUN apk add --no-cache curl git
EXPOSE 1313
COPY . /src/

View File

@ -1,5 +1,7 @@
# living room
[![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
@ -7,13 +9,27 @@
## Hacking
[Install Hugo](https://gohugo.io/getting-started/installing/).
### Generate the site
`hugo serve --watch`
### Generate `lumbung[dot]space` posts
Do this manually first:
```
$ python3 -m venv .venv && source .venv/bin/activate
$ pip install -e git+https://git.autonomic.zone/ruangrupa/lumbunglib
$ export OUTPUT_DIR=
$ export CALENDAR_URL="https://cloud.lumbung.space/remote.php/dav/public-calendars/WbnHM8YdCkKT6bcT?export"
$ lumbunglib-cal
$ lumbunglib-vid
mkdir -p content
python3 -m venv .venv && source .venv/bin/activate
pip install git+https://git.autonomic.zone/ruangrupa/lumbunglib
export CALENDAR_URL="https://cloud.lumbung.space/remote.php/dav/public-calendars/WbnHM8YdCkKT6bcT?export"
export OUTPUT_DIR=content/calendar
lumbunglib-cal
export OUTPUT_DIR=content/video
lumbunglib-vid
```
Afterwards, you can automatically run it with `make gen`.

View File

@ -14,6 +14,14 @@ services:
start_period: 15s
volumes:
- content:/src/content
command: |
server
--appendPort='false'
--bind 0.0.0.0
--baseUrl='https://beta.lumbung.space'
--port='1313'
--buildFuture
--watch
deploy:
update_config:
failure_action: rollback

View File

@ -1,6 +1,16 @@
DEFAULT: serve
serve:
@hugo serve
@hugo serve --watch
.PHONY: serve
gen:
@CALENDAR_URL="https://cloud.lumbung.space/remote.php/dav/public-calendars/WbnHM8YdCkKT6bcT?export"; \
OUTPUT_DIR=content/calendar; \
lumbunglib-cal && \
OUTPUT_DIR=content/video lumbunglib-vid
push-hugo:
@docker build -t decentral1se/beta.lumbung.space -f Dockerfile.hugo . && \
docker push decentral1se/beta.lumbung.space
.PHONY: serve gen push-hugo

View File

@ -1,18 +0,0 @@
# lumbung-theme
A Hugo theme for lumbung.space
### Installation
`cd /my/hugosite/themes`
`git clone https://git.vvvvvvaria.org/rra/lumbung-theme`
edit `/my/hugosite/config.toml`:
```
cat config.toml
baseURL = "http://localhost/"
languageCode = "en-us"
title = "lumbung.space"
theme = 'lumbung-theme'
```

View File

@ -42,9 +42,9 @@ body {
color: maroon;
}
a {
a {
color: #1B4C8A;
}
}
* {
box-sizing: border-box;
@ -54,10 +54,9 @@ body {
margin: 2em auto;
max-width: 80%;
margin-bottom: 0;
}
.card{
}
.card {
border: 2px solid var(--border-color);
box-shadow:1em 1em 0 #d2d1c8;
background-color: #fff09d;
@ -67,59 +66,59 @@ body {
margin: 0 3em 3em 0;
align-self: start;
}
}
.card{
.card {
background-color: peachpuff;
}
}
.side-bar {
.side-bar {
border: 2px solid var(--border-color);
max-width: 400px;
}
}
.card:nth-child(even){
.card:nth-child(even) {
transform: rotate(-1deg);
}
}
.card:nth-child(odd){
.card:nth-child(odd) {
transform: rotate(1deg);
}
}
.card:nth-child(5){
.card:nth-child(5) {
transform: rotate(2deg);
}
}
.video.box{
.video.box {
margin-top:3em;
}
}
.bar{
.bar {
border: 2px solid var(--border-color);
box-shadow: 0.6em 0.6em 0 #d2d1c8;
margin-bottom: 2em;
margin-top:3em;
display: inline-block;
background-color: #fff09d;
}
}
.h-feed{
.h-feed {
display: flex;
flex-flow: row wrap;
width: 100%;
}
.entries{
.entries {
padding-top: 10%;
}
/* base header & menu */
#top-menu{
#top-menu {
position: fixed;
left: 5%;
transform: translate(-50%);
@ -156,7 +155,7 @@ body {
}
.menu ul{
.menu ul {
list-style-type: none;
margin: 0;
padding: 0;
@ -176,7 +175,7 @@ body {
justify-content: space-between;
}
.h-entry header h2{
.h-entry header h2 {
padding: 0.2em;
margin: 0;
padding-right: 0.3em;
@ -185,7 +184,7 @@ body {
flex-grow: 1;
}
.h-entry header h2:hover{
.h-entry header h2:hover {
box-shadow: inset 4px 4px 0px tomato;
cursor: pointer;
}
@ -196,7 +195,7 @@ body {
}
.h-entry header .header-metadata{
.h-entry header .header-metadata {
margin: 0;
display: flex;
flex-flow: column wrap;
@ -232,7 +231,7 @@ body {
}
.summary-image > img {
/* height: 100%;
/* height: 100%;
object-fit: cover;
max-width: 100%;*/
@ -242,7 +241,7 @@ body {
display: flex;
}
.summary-image{
.summary-image {
border-right: 2px solid var(--border-color);
}
@ -255,6 +254,7 @@ footer.post-footer {
border-top: 2px solid var(--border-color);
flex-grow: 1;
}
.read-more {
border-top: 2px solid var(--border-color);
border-left: 2px solid var(--border-color);
@ -265,8 +265,7 @@ footer.post-footer {
/* network cards */
.card.network{
.card.network {
border: 2px solid darkcyan;
box-shadow:1em 1em 0 #d2d1c8;
background-color: lightgreen;
@ -276,7 +275,7 @@ footer.post-footer {
margin: 0 3em 3em 0;
align-self: start;
color: darkcyan;
}
}
.h-entry.network header {
display: flex;
@ -284,13 +283,13 @@ footer.post-footer {
flex-direction: row-reverse;
}
.h-entry.network header h2{
.h-entry.network header h2 {
padding: 0.2em 0.5em 0.2em 0.5em;
margin: 0;
border: none;
}
.h-entry.network header h2:hover{
.h-entry.network header h2:hover {
box-shadow: inset 4px 4px 0px darkcyan;
cursor: pointer;
}
@ -344,7 +343,7 @@ footer.post-footer {
font-size: 18px;
}
div.network-source{
div.network-source {
padding: 0.5em 1em 0.5em 1em;
border-bottom: 2px solid darkcyan;
font-size: 14px;
@ -357,12 +356,12 @@ div.network-source{
color: darkcyan;
}
.network .footer-filler{
.network .footer-filler {
border-left: 2px solid darkcyan;
border-top: none;
}
.network footer.post-footer{
.network footer.post-footer {
border-top: 2px solid darkcyan;
flex-flow: row;
font-size: 0.9rem;
@ -380,7 +379,7 @@ div.network-source{
/* shouts cards */
.card.shout{
.card.shout {
border-color: steelblue;
border: 2px solid;
box-shadow:1em 1em 0 #d2d1c8;
@ -391,7 +390,7 @@ div.network-source{
margin: 0 3em 3em 0;
align-self: start;
color: steelblue;
}
}
/* calendar cards */
@ -421,13 +420,13 @@ div.network-source{
border-bottom: 2px solid cornflowerblue;
}
.h-event.calendar header h2{
.h-event.calendar header h2 {
padding: 0.2em 0.5em 0.2em 0.5em;
margin: 0;
border-right: none;
}
.h-event.calendar header h2:hover{
.h-event.calendar header h2:hover {
box-shadow: inset 4px 4px 0px royalblue;
cursor: pointer;
}
@ -441,14 +440,14 @@ div.network-source{
min-width: 10%;
}
.calendar-location{
.calendar-location {
font-size: 0.8rem;
min-width: 20%;
padding: 0.5em 0.9em 0.5em 0.9em;
border-left: 2px solid cornflowerblue;
}
.calendar-duration{
.calendar-duration {
font-size: 0.8rem;
border-right: 2px solid cornflowerblue;
padding: 0.5em 0.9em 0.5em 0.9em;
@ -500,12 +499,12 @@ div.network-source{
input + label +.calendar-location+.description{
display: none;
}
}
input:checked + label +.calendar-location+.description {
display: block;
transition: ease .5s;
}
}
.metadata label {
text-align: center;
@ -521,7 +520,7 @@ label:hover {
box-shadow: inset 2px 2px 0px #95948c;
}
.description{
.description {
padding: 0.5em 0.7em 0.7em 0.5em;
overflow: hidden;
flex-basis: 100%;
@ -535,59 +534,58 @@ label:hover {
/* Paginator */
nav.pagination{
nav.pagination {
width: 60%;
margin: auto;
margin-top: 2em;
margin-bottom: 2em;
}
ul.pagination{
ul.pagination {
display: flex;
justify-content: space-evenly; /* align horizontal */
align-items: center; /* align vertical */
}
.page-item{
.page-item {
display: block;
text-align: center;
vertical-align: middle;
font-size: 38px;
border: 2px solid #1B4C8A;
box-shadow:0.4em 0.4em 0 #d2d1c8;
}
li.page-item{
li.page-item {
background-color: lightblue;
padding: 0.4em;
}
li.page-item.active{
li.page-item.active {
background-color: peachpuff;
border: 2px solid tomato;
padding: 0.4em;
}
li.page-item.disabled{
li.page-item.disabled {
display: none;
}
li.page-item:nth-child(even){
li.page-item:nth-child(even) {
transform: rotate(-1deg);
}
}
li.page-item:nth-child(odd){
li.page-item:nth-child(odd) {
transform: rotate(1deg);
}
}
li.page-item:nth-child(5){
li.page-item:nth-child(5) {
transform: rotate(2deg);
}
}
li.page-item:nth-child(8){
li.page-item:nth-child(8) {
transform: rotate(-3deg);
}
}

View File

@ -2,51 +2,51 @@
--video-border-color: burlywood;
--video-background-color: antiquewhite;
}
.video-box {
.video-box {
border:2px solid var(--video-border-color);
max-width:560px;
margin:auto;
box-shadow:1em 1em 0 #d2d1c8;
margin-bottom: 2em;
color: chocolate;
}
}
.video-box:nth-child(even){
.video-box:nth-child(even){
transform: rotate(-1deg);
}
}
.video-box:nth-child(odd){
.video-box:nth-child(odd){
transform: rotate(1deg);
}
}
.video-box:nth-child(5){
.video-box:nth-child(5){
transform: rotate(3deg);
}
}
.video-box img {
max-width: 100%;
}
.video-box iframe {
.video-box img {
max-width: 100%;
}
.video-box .media {
.video-box iframe {
max-width: 100%;
}
.video-box .media {
line-height: 0;
}
}
.video {
.video {
background-color: var(--video-background-color);
}
}
.video .metadata{
.video .metadata{
font-size:0.9rem;
justify-content: space-between;
flex-wrap: wrap;
}
}
.metadata .title{
.metadata .title{
margin-top:0;
border-top: 2px solid var(--video-border-color);
border-bottom: 2px solid var(--video-border-color);
@ -54,44 +54,44 @@
font-weight:700;
font-size:1.3rem;
flex-basis: 100%;
}
}
.video.channel{
.video.channel{
border-right: 2px solid var(--video-border-color);
padding: 0.5em 0.9em 0.5em 0.9em;
font-size: 0.8rem;
}
}
.video.date {
.video.date {
float:right;
border-left: 2px solid var(--video-border-color);
padding: 0.5em 0.9em 0.5em 0.9em;
font-size: 0.8rem;
}
}
.video.description {
.video.description {
border-top: 2px solid var(--video-border-color);
padding: 0.8em 0.8em 0.8em 0.8em;
}
.descr_button a {
}
.descr_button a {
color:inherit;
text-decoration: inherit;
}
}
input.descr_button {
input.descr_button {
display: none;
}
}
input + label + .video.date + .description{
input + label + .video.date + .description{
display: none;
}
}
input:checked + label + .video.date +.description {
input:checked + label + .video.date +.description {
display: block;
}
}
.play-icon {
.play-icon {
width: 0;
height: 0;
position: absolute;
@ -101,22 +101,22 @@
border-top: 13px solid transparent;
border-bottom: 13px solid transparent;
border-left: 18px solid hsla(0,0%,100%,.95);
}
}
.video-thumbnail {
.video-thumbnail {
position: absolute;
width: 100%;
height: 100%;
top: 0;
}
.video-thumbnail {
}
.video-thumbnail {
display: flex;
flex-direction: column;
position: relative;
overflow: hidden;
background-color: #ececec;
transition: filter .2s ease;
}
}
.video-thumbnail-duration-overlay {
display: inline-block;
@ -130,9 +130,9 @@
right: 5px;
bottom: 5px;
border: 2px solid var(--video-border-color);
}
}
.play-overlay {
.play-overlay {
transition: all .2s ease;
position: absolute;
right: 0;
@ -142,14 +142,14 @@
opacity: 0;
background-color: rgba(0,0,0,.3);
cursor: pointer;
}
}
.video-thumbnail:hover {
text-decoration:none!important
text-decoration:none !important;
}
.video-thumbnail:hover .play-overlay {
opacity:1
opacity: 1;
}
.video-thumbnail:hover .play-overlay .play-icon {
transform:translate(-50%,-50%) scale(1)
transform:translate(-50%,-50%) scale(1);
}

View File

@ -1,6 +1,3 @@
# theme.toml template for a Hugo theme
# See https://github.com/gohugoio/hugoThemes#themetoml for an example
name = "Lumbung"
license = "AGPL3"
licenselink = "https://github.com/yourname/yourtheme/blob/master/LICENSE"
@ -9,12 +6,9 @@ homepage = "http://example.com/"
tags = []
features = []
min_version = "0.41.0"
[author]
name = ""
homepage = ""
# If porting an existing theme
[original]
name = ""
homepage = ""