merge fixes from Cristoph, working filter, calendar view

filter
rra 4 months ago
parent ce945e77db
commit 0e2f6a71a1
  1. 5
      config.toml
  2. 4
      themes/lumbung-theme/layouts/_default/list.html
  3. 29
      themes/lumbung-theme/layouts/events/list.html
  4. 23
      themes/lumbung-theme/layouts/index.html
  5. 74
      themes/lumbung-theme/layouts/partials/book_card.html
  6. 2
      themes/lumbung-theme/layouts/partials/calendar_card.html
  7. 2
      themes/lumbung-theme/layouts/partials/card.html
  8. 1
      themes/lumbung-theme/layouts/partials/data/contributors.html
  9. 1
      themes/lumbung-theme/layouts/partials/data/sources.html
  10. 19
      themes/lumbung-theme/layouts/partials/event_list_item.html
  11. 16
      themes/lumbung-theme/layouts/partials/filter-nav.html
  12. 2
      themes/lumbung-theme/layouts/partials/footer.html
  13. 1
      themes/lumbung-theme/layouts/partials/head.html
  14. 11
      themes/lumbung-theme/layouts/partials/header.html
  15. 4
      themes/lumbung-theme/layouts/partials/pen_card.html
  16. 92
      themes/lumbung-theme/layouts/partials/shout_card.html
  17. 94
      themes/lumbung-theme/layouts/partials/social_card.html
  18. 2
      themes/lumbung-theme/layouts/partials/video_box.html
  19. 225
      themes/lumbung-theme/static/css/main.css

@ -14,10 +14,10 @@ paginate = 20
title = 'lumbung dot space'
bundleCss = "/bundle.css"
bundleJs = "/bundle.js"
mainSections = ['social', 'shouts', 'calendar', 'tv', 'pen']
mainSections = ['social', 'shouts', 'events', 'tv', 'pen', 'pages']
[markup.goldmark.renderer]
unsafe = true
unsafe = true
[taxonomies]
author = "authors"
@ -25,6 +25,7 @@ unsafe = true
tag = "tags"
source = "sources"
timeline = "timelines"
[permalinks]
timelines = "/timeline/:slug/"

@ -33,8 +33,8 @@
{{ end }}
</div>
<nav class="pagination">
<nav class="pagination-container">
{{ template "_internal/pagination.html" . }}
</nav>
</main>
{{ end }}
{{ end }}

@ -0,0 +1,29 @@
{{ define "main" }}
<main>
<section class='entries'>
{{ $now := (now.Format "060102" ) }}
<div class="upcoming event-list">
<div class='tape-label'><span>upcoming events</span></div>
{{ range .Pages }}
{{ $t := (substr .Params.event_end 2 8) }}
{{ $time := ( replace $t "-" "") }}
{{ if ge $time $now }}
{{- partial "event_list_item.html" . -}}
{{ end }}
{{ end }}
</div>
<div class="past event-list">
<div class='tape-label'><span>past events</span></div>
{{ range .Pages }}
{{ $t := (substr .Params.event_end 2 8) }}
{{ $time := ( replace $t "-" "") }}
{{ if gt $now $time }}
{{- partial "event_list_item.html" . -}}
{{ end }}
{{ end }}
</div>
</section>
</main>
{{ end }}

@ -2,7 +2,7 @@
<main>
<section class='entries'>
<div class="h-feed">
{{ $range := .Site.RegularPages }}
{{ $paginator := .Paginate $range }}
@ -10,8 +10,8 @@
{{ $totalPostsToShow := mul $paginator.PageNumber $pageSize }}
{{ range $index, $el := (first $totalPostsToShow .Site.RegularPages) }}
<div class="post" {{ if eq $index (sub $totalPostsToShow $pageSize) }}id="newpage"{{ end }}>
{{if eq .Section "tv"}}
<div class='post {{if eq .Section "tv"}}tv{{ end }}' {{ if eq $index (sub $totalPostsToShow $pageSize) }}id="newpage"{{ end }}>
{{if eq .Section "tv"}}
{{- partial "video_box.html" . -}}
{{ else if eq .Section "events" }}
@ -19,16 +19,16 @@
{{ else if eq .Section "shouts" }}
{{ if in .Params.sources "pen.lumbung.space" }}
{{- partial "pen_card.html" . -}}
{{- partial "partials/pen_card.html" . -}}
{{ else }}
{{- partial "shout_card.html" . -}}
{{- partial "partials/shout_card.html" . -}}
{{ end }}
{{ else if eq .Section "social" }}
{{- partial "social_card.html" . -}}
{{- partial "partials/social_card.html" . -}}
{{ else if eq .Section "publications"}}
{{- partial "book_card.html" . -}}
{{- partial "partials/book_card.html" . -}}
{{ else if eq .Section "sounds"}}
{{- partial "sounds_card.html" . -}}
@ -36,10 +36,10 @@
{{ else }}
{{- partial "card.html" . -}}
{{ end }}
</div>
</div>
{{ end }}
</div>
<div class="page-nav">
{{ if and (gt $paginator.TotalPages 1) ($paginator.HasNext) }}
<a class="nextpage" href="{{ $paginator.Next.URL }}#newpage">Next Page</a>
@ -54,7 +54,10 @@
<span>lumbung radio</span>
<img src="/img/lumbung-radio-logo.png" alt="" height="30">
</div>
</section>
</main>
{{ end }}

@ -1,39 +1,39 @@
<div class='book card'>
<article class="h-entry book">
<div class="tape-label book"><span><time class="dt-published" datetime="{{ .Date.Format `Jan 02 2006` }}">{{ .Date.Format "Jan 02, 2006" }}</time></span><div></div></div>
{{ $postPermalink := .Permalink}}
</header>
<div class='book card filter-item'>
<article class="h-entry book">
<div class="tape-label book"><span><time class="dt-published" datetime="{{ .Date.Format `Jan 02 2006` }}">{{ .Date.Format "Jan 02, 2006" }}</time></span><div></div></div>
{{ $postPermalink := .Permalink}}
</header>
{{ with (index (.Resources.ByType "image") 0) }}
{{ $height := add .Height 0.0}}
{{ $ratio := div $height .Width}}
{{ $thumb := .Fit "540x540 q80 webp"}}
<div class="p-summary{{if gt $ratio 1 }} portrait {{else}} landscape {{end}}">
<div class="summary-image {{if gt $ratio 1 }} portrait {{else}} landscape {{end}}">
<a href="{{ $postPermalink }}"><img src="{{ $thumb.Permalink }}" alt="{{ .Title }}"> </a>
</div>
{{ else }}
<div class="p-summary">
{{ end }}
<header>
<h2 class="p-name"><a href="{{ .Permalink }}" class="u-url">
{{.Title}}</a></h2>
</header>
<div class="summary-text">
{{ .Summary }}
</div>
</div>
<div class="shout-source"></div>
<footer class='post-footer'>
<div class='footer-metadata'>
<span class="from p-author">{{ if .Params.authors }}By {{range .Params.authors}}<b> <a href='{{ "/authors/" | relLangURL }}{{ . | urlize }}/'> {{ . }}</a> {{end}}</b> on{{ end }}</span>
{{ if .Truncated }}
<div class="footer-filler"></div>
<div class='read-more'><a href="{{ .RelPermalink }}">Read More…</a></div>
{{ end }}
</footer>
</article>
{{ with (index (.Resources.ByType "image") 0) }}
{{ $height := add .Height 0.0}}
{{ $ratio := div $height .Width}}
{{ $thumb := .Fit "540x540 q80 webp"}}
<div class="p-summary{{if gt $ratio 1 }} portrait {{else}} landscape {{end}}">
<div class="summary-image {{if gt $ratio 1 }} portrait {{else}} landscape {{end}}">
<a href="{{ $postPermalink }}"><img src="{{ $thumb.Permalink }}" alt="{{ .Title }}"> </a>
</div>
{{ else }}
<div class="p-summary">
{{ end }}
<header>
<h2 class="p-name"><a href="{{ .Permalink }}" class="u-url">
{{.Title}}</a></h2>
</header>
<div class="summary-text">
{{ .Summary }}
</div>
</div>
<div class="shout-source"></div>
<footer class='post-footer'>
<div class='footer-metadata'>
<span class="from p-author">{{ if .Params.authors }}By {{range .Params.authors}}<b> <a href='{{ "/authors/" | relLangURL }}{{ . | urlize }}/'> {{ . }}</a> {{end}}</b> on{{ end }}</span>
{{ if .Truncated }}
<div class="footer-filler"></div>
<div class='read-more'><a href="{{ .RelPermalink }}">Read More…</a></div>
{{ end }}
</footer>
</article>
</div>

@ -1,5 +1,5 @@
{{ $t := (time .Params.event_end) }}
<div class='card calendar {{ if $t.Before now }}past{{end}}'>
<div class='card calendar {{ if $t.Before now }}past{{end}} filter-item' data-section="{{ .Section }}" data-sources='{{- partial "data/sources.html" . -}}' data-contributors='{{- partial "data/contributors.html" . -}}' data-tags='{{- partial "data/tags.html" . -}}'>
<div class='date tape-label'><span> {{ substr .Params.date 0 11}}</span></div>
<article class="h-event calendar ">
<header>

@ -1,4 +1,4 @@
<div class='card filter-item' data-section="{{ .Section }}" data-cats='{{- partial "data/categories.html" . -}}' data-authors='{{- partial "data/authors.html" . -}}' data-tags='{{- partial "data/tags.html" . -}}'>
<div class='card filter-item' data-section="{{ .Section }}" data-sources='{{- partial "data/sources.html" . -}}' data-contributors='{{- partial "data/contributors.html" . -}}' data-tags='{{- partial "data/tags.html" . -}}'>
<article class="h-entry">
<header>
<h2 class="p-name"><a href="{{ .Permalink }}" class="u-url">{{ .Title }}</a></h2>

@ -0,0 +1 @@
{{ with .Params.contributors }}{{ if eq ( printf "%T" . ) "string" }}{{ . | replaceRE "[.]" "_" | urlize }}{{ else if eq ( printf "%T" . ) "[]string" }}{{ range . }}{{ . | replaceRE "[.]" "_" | urlize }} {{end}}{{end}}{{else}}no-contributor{{end}}

@ -0,0 +1 @@
{{ with .Params.sources }}{{ if eq ( printf "%T" . ) "string" }}{{ . | replaceRE "[.]" "_" | urlize }}{{ else if eq ( printf "%T" . ) "[]string" }}{{ range . }}{{ . | replaceRE "[.]" "_" | urlize }} {{end}}{{end}}{{else}}no-sources{{end}}

@ -0,0 +1,19 @@
{{ $t := (time .Params.event_end) }}
<div class='event-list-item'>
<div class='date-start'><span> {{ substr .Params.event_begin 0 11}}</span></div>
<div class='title'><h2 class="p-name"><a href="{{ .Permalink }}" class="u-url">{{ .Title }}</a></h2></div>
<div class='time'>
<div class='start-scroller'>
<marquee behavior="scroll" direction="left">
{{ .Params.localized_begin | markdownify }}
</marquee>
</div>
</div>
<div class='duration'>Duration: <b>{{ .Params.duration }}</b></div>
<div class='location'>{{ .Params.location | markdownify }}</div>
<input class='descr_button' type='checkbox' id='toggle-{{ .Params.uid }}'/>
<label class='calendar' for='toggle-{{ .Params.uid }}'></label>
<div class='calendar description p-description' id='event-{{ .Params.uid }}'>
{{.Content}}
</div>
</div>

@ -34,14 +34,14 @@
by contributors
</button>
<div class="filter-buttons-dropdown">
{{ range .Site.Taxonomies.authors }}
<button xx class="auth-button filter-button" id="auth-{{ .Page.Title | replaceRE "[.]" "_" | urlize }}" onclick="htf.checkFilter('{{ .Page.Title | replaceRE "[.]" "_" | urlize }}', 'auth-')"><svg enable-background="new 0 0 14.9 14.9" version="1.1" viewBox="-2 -2 18.9 18.9" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m11.8 1.9c-0.8-1.2-2.1-1.8-3.8-1.6-0.8-0.3-1.6-0.4-2.4-0.1-2.3 0.8-3.9 2.4-5 4.5-1.4 2.6-0.5 6.8 2.4 8.1h0.1c0.2 0.2 0.5 0.3 0.8 0.4 0.4 0.6 0.9 1.1 1.6 1.3 1.9 0.7 4.1 0.1 5.5-1.2 0.9-0.6 1.6-1.4 2-2.4 1-0.9 1.6-2.2 1.8-3.5 0.3-2.2-0.7-4.7-3-5.5z"/></svg> <span class="filter-title">{{ .Page.Title }}</span> <span id="sauth-{{ .Page.Title | replaceRE "[.]" "_" | urlize }}"></span>
{{ range .Site.Taxonomies.contributors }}
<button xx class="cont-button filter-button" id="cont-{{ .Page.Title | replaceRE "[.]" "_" | urlize }}" onclick="htf.checkFilter('{{ .Page.Title | replaceRE "[.]" "_" | urlize }}', 'cont-')"><svg enable-background="new 0 0 14.9 14.9" version="1.1" viewBox="-2 -2 18.9 18.9" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m11.8 1.9c-0.8-1.2-2.1-1.8-3.8-1.6-0.8-0.3-1.6-0.4-2.4-0.1-2.3 0.8-3.9 2.4-5 4.5-1.4 2.6-0.5 6.8 2.4 8.1h0.1c0.2 0.2 0.5 0.3 0.8 0.4 0.4 0.6 0.9 1.1 1.6 1.3 1.9 0.7 4.1 0.1 5.5-1.2 0.9-0.6 1.6-1.4 2-2.4 1-0.9 1.6-2.2 1.8-3.5 0.3-2.2-0.7-4.7-3-5.5z"/></svg> <span class="filter-title">{{ .Page.Title }}</span> <span id="scont-{{ .Page.Title | replaceRE "[.]" "_" | urlize }}"></span>
</button>
{{ end }}
<button xx class="auth-button filter-button" id="auth-no-author" onclick="htf.checkFilter('no-author', 'auth-')"><svg enable-background="new 0 0 14.9 14.9" version="1.1" viewBox="-2 -2 18.9 18.9" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m11.8 1.9c-0.8-1.2-2.1-1.8-3.8-1.6-0.8-0.3-1.6-0.4-2.4-0.1-2.3 0.8-3.9 2.4-5 4.5-1.4 2.6-0.5 6.8 2.4 8.1h0.1c0.2 0.2 0.5 0.3 0.8 0.4 0.4 0.6 0.9 1.1 1.6 1.3 1.9 0.7 4.1 0.1 5.5-1.2 0.9-0.6 1.6-1.4 2-2.4 1-0.9 1.6-2.2 1.8-3.5 0.3-2.2-0.7-4.7-3-5.5z"/></svg> <span class="filter-title">No contributors</span><span id="sauth-no-author"></span>
<button xx class="cont-button filter-button" id="cont-no-contributor" onclick="htf.checkFilter('no-contributor', 'cont-')"><svg enable-background="new 0 0 14.9 14.9" version="1.1" viewBox="-2 -2 18.9 18.9" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m11.8 1.9c-0.8-1.2-2.1-1.8-3.8-1.6-0.8-0.3-1.6-0.4-2.4-0.1-2.3 0.8-3.9 2.4-5 4.5-1.4 2.6-0.5 6.8 2.4 8.1h0.1c0.2 0.2 0.5 0.3 0.8 0.4 0.4 0.6 0.9 1.1 1.6 1.3 1.9 0.7 4.1 0.1 5.5-1.2 0.9-0.6 1.6-1.4 2-2.4 1-0.9 1.6-2.2 1.8-3.5 0.3-2.2-0.7-4.7-3-5.5z"/></svg> <span class="filter-title">No contributors</span><span id="scont-no-contributor"></span>
</button>
<button xx id="selectAllAuthors" class="filter-all" onclick="htf.showAll('authors')">
<button xx id="selectAllContributors" class="filter-all" onclick="htf.showAll('contributors')">
All contributors
</button>
</div>
@ -52,13 +52,13 @@
by sources
</button>
<div class="filter-buttons-dropdown">
{{ range .Site.Taxonomies.categories }}
<button xx class="cat-button filter-button" id="cat-{{ .Page.Title | replaceRE "[.]" "_" | urlize }}" onclick="htf.checkFilter('{{ .Page.Title | replaceRE "[.]" "_" | urlize }}', 'cat-')"><svg enable-background="new 0 0 14.9 14.9" version="1.1" viewBox="-2 -2 18.9 18.9" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m11.8 1.9c-0.8-1.2-2.1-1.8-3.8-1.6-0.8-0.3-1.6-0.4-2.4-0.1-2.3 0.8-3.9 2.4-5 4.5-1.4 2.6-0.5 6.8 2.4 8.1h0.1c0.2 0.2 0.5 0.3 0.8 0.4 0.4 0.6 0.9 1.1 1.6 1.3 1.9 0.7 4.1 0.1 5.5-1.2 0.9-0.6 1.6-1.4 2-2.4 1-0.9 1.6-2.2 1.8-3.5 0.3-2.2-0.7-4.7-3-5.5z"/></svg> <span class="filter-title">{{ .Page.Title }}</span> <span id="scat-{{ .Page.Title | replaceRE "[.]" "_" | urlize }}"></span>
{{ range .Site.Taxonomies.sources }}
<button xx class="src-button filter-button" id="src-{{ .Page.Title | replaceRE "[.]" "_" | urlize }}" onclick="htf.checkFilter('{{ .Page.Title | replaceRE "[.]" "_" | urlize }}', 'src-')"><svg enable-background="new 0 0 14.9 14.9" version="1.1" viewBox="-2 -2 18.9 18.9" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m11.8 1.9c-0.8-1.2-2.1-1.8-3.8-1.6-0.8-0.3-1.6-0.4-2.4-0.1-2.3 0.8-3.9 2.4-5 4.5-1.4 2.6-0.5 6.8 2.4 8.1h0.1c0.2 0.2 0.5 0.3 0.8 0.4 0.4 0.6 0.9 1.1 1.6 1.3 1.9 0.7 4.1 0.1 5.5-1.2 0.9-0.6 1.6-1.4 2-2.4 1-0.9 1.6-2.2 1.8-3.5 0.3-2.2-0.7-4.7-3-5.5z"/></svg> <span class="filter-title">{{ .Page.Title }}</span> <span id="ssrc-{{ .Page.Title | replaceRE "[.]" "_" | urlize }}"></span>
</button>
{{ end }}
<button xx class="cat-button filter-button" id="cat-no-cat" onclick="htf.checkFilter('no-cat', 'cat-')"><svg enable-background="new 0 0 14.9 14.9" version="1.1" viewBox="-2 -2 18.9 18.9" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m11.8 1.9c-0.8-1.2-2.1-1.8-3.8-1.6-0.8-0.3-1.6-0.4-2.4-0.1-2.3 0.8-3.9 2.4-5 4.5-1.4 2.6-0.5 6.8 2.4 8.1h0.1c0.2 0.2 0.5 0.3 0.8 0.4 0.4 0.6 0.9 1.1 1.6 1.3 1.9 0.7 4.1 0.1 5.5-1.2 0.9-0.6 1.6-1.4 2-2.4 1-0.9 1.6-2.2 1.8-3.5 0.3-2.2-0.7-4.7-3-5.5z"/></svg> <span class="filter-title">No sources</span> <span id="scat-no-cat"></span>
<button xx class="src-button filter-button" id="src-no-sources" onclick="htf.checkFilter('no-sources', 'src-')"><svg enable-background="new 0 0 14.9 14.9" version="1.1" viewBox="-2 -2 18.9 18.9" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m11.8 1.9c-0.8-1.2-2.1-1.8-3.8-1.6-0.8-0.3-1.6-0.4-2.4-0.1-2.3 0.8-3.9 2.4-5 4.5-1.4 2.6-0.5 6.8 2.4 8.1h0.1c0.2 0.2 0.5 0.3 0.8 0.4 0.4 0.6 0.9 1.1 1.6 1.3 1.9 0.7 4.1 0.1 5.5-1.2 0.9-0.6 1.6-1.4 2-2.4 1-0.9 1.6-2.2 1.8-3.5 0.3-2.2-0.7-4.7-3-5.5z"/></svg> <span class="filter-title">No sources</span> <span id="ssrc-no-sources"></span>
</button>
<button xx id="selectAllCats" class="filter-all" onclick="htf.showAll('cats')">
<button xx id="selectAllSources" class="filter-all" onclick="htf.showAll('sources')">
All sources
</button>
</div>

@ -22,5 +22,5 @@
<script src="{{ "js/hugotagsfilter-1.2.2.min.js" | relURL}}"></script>
<script>
document.getElementById("menu-button").onclick=function(){this.classList.toggle("active"),document.getElementById("menu").classList.toggle("active")},submenuLinks=document.querySelectorAll(".has-submenu"),[...submenuLinks].forEach((t=>{t.addEventListener("click",(function(){t.querySelector(".submenu").classList.toggle("active")}))})),filterButtons=document.querySelectorAll(".filter-buttons"),[...filterButtons].forEach((t=>{t.addEventListener("click",(function(){t.querySeltive"),t.querySelector(".filter-by").classList.toggle("active")}))})),document.getElementById("filter-link").onclick=function(){document.getElementById("filter").classList.toggle("active")};var htfConfig={filters:[{name:"tags",prefix:"tag-",buttonClass:"tag-button",allSelector:"#selectAllTags",attrName:"data-tags",selectedPrefix:"stags-"},{name:"sectiector(".filter-buttons-dropdown").classList.toggle("acon",prefix:"sect-",buttonClass:"sect-button",allSelector:"#selectAllSections",attrName:"data-section",selectedPrefix:"ssect-"},{name:"authors",prefix:"auth-",buttonClass:"auth-button",allSelector:"#selectAllAuthors",attrName:"data-authors",selectedPrefix:"sauth-"},{name:"cats",prefix:"cat-",buttonClass:"cat-button",allSelector:"#selectAllCats",attrName:"data-cats",selectedPrefix:"scat-"}],showItemClass:"show-item",filterItemClass:"filter-item",activeButtonClass:"active",counterSelector:"selectedItemCount",populateCount:!0,setDisabledButtonClass:"disable-button"},htf=new HugoTagsFilter(htfConfig);
document.getElementById("menu-button").onclick=function(){this.classList.toggle("active"),document.getElementById("menu").classList.toggle("active")},submenuLinks=document.querySelectorAll(".has-submenu"),[...submenuLinks].forEach((t=>{t.addEventListener("click",(function(){t.querySelector(".submenu").classList.toggle("active")}))})),filterButtons=document.querySelectorAll(".filter-buttons"),[...filterButtons].forEach((t=>{t.addEventListener("click",(function(){t.querySelector(".filter-buttons-dropdown").classList.toggle("active"),t.querySelector(".filter-by").classList.toggle("active")}))})),document.getElementById("filter-link").onclick=function(){document.getElementById("filter").classList.toggle("active")};var htfConfig={filters:[{name:"tags",prefix:"tag-",buttonClass:"tag-button",allSelector:"#selectAllTags",attrName:"data-tags",selectedPrefix:"stags-"},{name:"section",prefix:"sect-",buttonClass:"sect-button",allSelector:"#selectAllSections",attrName:"data-section",selectedPrefix:"ssect-"},{name:"contributors",prefix:"cont-",buttonClass:"cont-button",allSelector:"#selectAllContributors",attrName:"data-contributors",selectedPrefix:"scont-"},{name:"sources",prefix:"src-",buttonClass:"src-button",allSelector:"#selectAllSources",attrName:"data-sources",selectedPrefix:"ssrc-"}],showItemClass:"show-item",filterItemClass:"filter-item",activeButtonClass:"active",counterSelector:"selectedItemCount",populateCount:!0,setDisabledButtonClass:"disable-button"},htf=new HugoTagsFilter(htfConfig);
</script>

@ -25,4 +25,5 @@
{{ with .OutputFormats.Get "rss" -}}
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
{{ end -}}
</head>

@ -17,7 +17,7 @@
<li><a href="/ls-contributors/">contributors</a></li>
</ul>
</li>
<li><a href="/events/">calendar</a></li>
<li><a href="/events/">events</a></li>
<li><a href="/tv/">tv</a></li>
<li><a href="/social/">social</a></li>
<li><a href="/sources/pen.lumbung.space/">pen</a></li>
@ -31,17 +31,14 @@
<li><a href="https://books.lumbung.space">books</a></li>
</ul>
<div class="login-menu"><a href="https://members.lumbung.space">login</a></div>
</nav>
{{ if .Site.Params.mainSections }}
{{- partial "filter-nav.html" . -}}
{{ end }}
<div class="login"><a href="https://members.lumbung.space">login</a></div>
</div>
<div class="menu-button" id="menu-button">
<div class="menu-button--line"></div>
<div class="menu-button--line"></div>
<div class="menu-button--line"></div>
</div>
</div>

@ -1,7 +1,7 @@
<div class='pen card {{ .Params.feed_name }}' data-section="{{ .Section }}" data-cats='{{- partial "data/categories.html" . -}}' data-authors='{{- partial "data/authors.html" . -}}' data-tags='{{- partial "data/tags.html" . -}}'>
<div class='pen card {{ .Params.feed_name }} filter-item' data-section="{{ .Section }}" data-sources='{{- partial "data/sources.html" . -}}' data-contributors='{{- partial "data/contributors.html" . -}}' data-tags='{{- partial "data/tags.html" . -}}'>
<article class="h-entry pen">
<header>
<div class="pen-source"><span class="from p-author">From {{ if .Params.contributors }}<b>{{range .Params.contributors}} <a href='{{ "/contributors/" | relLangURL }}{{ . | urlize }}/'> {{ . }}</a> {{end}}</b> at {{ end }}<a href="{{ "/sources/" | relLangURL }}{{ .Params.feed_name | urlize }}">{{ .Params.feed_name }}</a></span></div>
<div class="pen-source"><span class="from p-author">From {{ if .Params.author }}<b>{{.Params.author}}</b> at {{ end }}<a href="{{ "/categories/" | relLangURL }}{{ .Params.feed_name | urlize }}">{{ .Params.feed_name }}</a></span></div>
{{ $postPermalink := .Permalink}}
<time class="dt-published" datetime="{{ .Date.Format `Jan 02 2006` }}">{{ .Date.Format "Jan 02, 2006" }}</time>

@ -1,48 +1,48 @@
<div class='shout card {{ .Params.feed_name }} filter-item' data-section="{{ .Section }}" data-cats='{{- partial "data/categories.html" . -}}' data-authors='{{- partial "data/authors.html" . -}}' data-tags='{{- partial "data/tags.html" . -}}'>
<article class="h-entry shout">
<header>
{{ $postPermalink := .Permalink}}
<time class="dt-published" datetime="{{ .Date.Format `Jan 02 2006` }}">{{ .Date.Format "Jan 02, 2006" }}</time>
<h2 class="p-name"><a href="{{ .Permalink }}" class="u-url">{{ .Title }}</a></h2>
</header>
<div class="shout-source"><span class="from p-author">From {{ if .Params.contributors }}<b>{{range .Params.contributors}} <a href='{{ "/contributors/" | relLangURL }}{{ . | urlize }}/'> {{ . }}</a> {{end}}</b> at {{ end }}<a href="{{ "/sources/" | relLangURL }}{{ .Params.feed_name | urlize }}">{{ .Params.feed_name }}</a></span></div>
<div class='shout card {{ .Params.feed_name }} filter-item' data-section="{{ .Section }}" data-sources='{{- partial "data/sources.html" . -}}' data-contributors='{{- partial "data/contributors.html" . -}}' data-tags='{{- partial "data/tags.html" . -}}'>
<article class="h-entry shout">
<header>
{{ $postPermalink := .Permalink}}
<time class="dt-published" datetime="{{ .Date.Format `Jan 02 2006` }}">{{ .Date.Format "Jan 02, 2006" }}</time>
<h2 class="p-name"><a href="{{ .Permalink }}" class="u-url">{{ .Title }}</a></h2>
</header>
<div class="shout-source"><span class="from p-author">From {{ if .Params.contributors }}<b>{{range .Params.contributors}} <a href='{{ "/contributors/" | relLangURL }}{{ . | urlize }}/'> {{ . }}</a> {{end}}</b> at {{ end }}<a href="{{ "/sources/" | relLangURL }}{{ .Params.feed_name | urlize }}">{{ .Params.feed_name }}</a></span></div>
{{ if .Params.featured_image }}
{{ with $img := .Resources.GetMatch .Params.featured_image }}
{{ $height := add $img.Height 0.0}}
{{ $ratio := div $height $img.Width}}
{{ $thumb := $img.Fit "540x540 q80 webp"}}
<div class="p-summary{{if gt $ratio 1 }} portrait {{else}} landscape {{end}}">
<div class="summary-image {{if gt $ratio 1 }} portrait {{else}} landscape {{end}}">
<a href="{{ $postPermalink }}"><img src="{{ $thumb.Permalink }}" alt="{{ .Title }}"> </a>
</div>
{{end}}
{{ else if (.Resources.ByType "image") }}
{{ with (index (.Resources.ByType "image") 0) }}
{{ $img := . }}
{{ $height := add .Height 0.0}}
{{ $ratio := div $height .Width}}
{{ $thumb := .Fit "540x540 q80 webp"}}
<div class="p-summary{{if gt $ratio 1 }} portrait {{else}} landscape {{end}}">
<div class="summary-image {{if gt $ratio 1 }} portrait {{else}} landscape {{end}}">
<a href="{{ $postPermalink }}"><img src="{{ $thumb.Permalink }}" alt="{{ .Title }}"> </a>
</div>
{{ end }}
{{ else }}
<div class="p-summary">
{{ end }}
<div class="summary-text">
{{ .Summary }}
</div>
</div>
<footer class='post-footer'>
<a href="{{ .RelPermalink }}">
<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>
</a>
</footer>
</article>
{{ if .Params.featured_image }}
{{ with $img := .Resources.GetMatch .Params.featured_image }}
{{ $height := add $img.Height 0.0}}
{{ $ratio := div $height $img.Width}}
{{ $thumb := $img.Fit "540x540 q80 webp"}}
<div class="p-summary{{if gt $ratio 1 }} portrait {{else}} landscape {{end}}">
<div class="summary-image {{if gt $ratio 1 }} portrait {{else}} landscape {{end}}">
<a href="{{ $postPermalink }}"><img src="{{ $thumb.Permalink }}" alt="{{ .Title }}"> </a>
</div>
{{end}}
{{ else if (.Resources.ByType "image") }}
{{ with (index (.Resources.ByType "image") 0) }}
{{ $img := . }}
{{ $height := add .Height 0.0}}
{{ $ratio := div $height .Width}}
{{ $thumb := .Fit "540x540 q80 webp"}}
<div class="p-summary{{if gt $ratio 1 }} portrait {{else}} landscape {{end}}">
<div class="summary-image {{if gt $ratio 1 }} portrait {{else}} landscape {{end}}">
<a href="{{ $postPermalink }}"><img src="{{ $thumb.Permalink }}" alt="{{ .Title }}"> </a>
</div>
{{ end }}
{{ else }}
<div class="p-summary">
{{ end }}
<div class="summary-text">
{{ .Summary }}
</div>
</div>
<footer class='post-footer'>
<a href="{{ .RelPermalink }}">
<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>
</a>
</footer>
</article>
</div>

@ -1,49 +1,49 @@
<div class='social card {{ range .Params.tags }}{{ if or (eq . "lumbungkios") (eq . "lumbunggallery")}}{{.}}{{ end }}{{ end }} filter-item' data-section="{{ .Section }}" data-cats='{{- partial "data/categories.html" . -}}' data-authors='{{- partial "data/authors.html" . -}}' data-tags='{{- partial "data/tags.html" . -}}'>
<article class="h-entry social">
<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>
</header>
<div class='social card {{ range .Params.tags }}{{ if or (eq . "lumbungkios") (eq . "lumbunggallery")}}{{.}}{{ end }}{{ end }} filter-item' data-section="{{ .Section }}" data-sources='{{- partial "data/sources.html" . -}}' data-contributors='{{- partial "data/contributors.html" . -}}' data-tags='{{- partial "data/tags.html" . -}}'>
<article class="h-entry social">
<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>
</header>
{{ with (index (.Resources.ByType "video") 0) }}
{{/* TODO this current logic does not suport video & image mixed */}}
<div class="p-summary">
<video controls width="540px" preload="none" poster="{{ $postPermalink }}/thumbnail.png">
<source src="{{.Permalink}}" type="video/mp4">
</video>
{{ else}}
{{ with (index (.Resources.ByType "image") 0) }}
{{ $height := add .Height 0.0}}
{{ $ratio := div $height .Width}}
{{ $thumb := .Fit "540x540 q80 webp"}}
<div class="p-summary{{if gt $ratio 1 }} portrait {{else}} landscape {{end}}">
<div class="summary-image {{if gt $ratio 1 }} portrait {{else}} landscape {{end}}">
<a href="{{ $postPermalink }}"><img src="{{ $thumb.Permalink }}" alt="{{ .Title }}"> </a>
</div>
{{ else }}
<div class="p-summary">
{{ end }}
{{ end }}
<div class="summary-text">
{{ .Summary }}
</div>
</div>
<div class="social-source"></div>
<footer class='post-footer'>
<div class='footer-metadata'>
<span class="from p-author">{{ if .Params.contributors }}From {{range .Params.contributors}}<b> <a href='{{ "/contributors/" | relLangURL }}{{ . | urlize }}/'> {{ . }}</a> {{end}}</b> on{{ end }}</span>
<time class="dt-published" datetime="{{ .Date.Format `Jan 02 2006` }}">{{ .Date.Format "Jan 02, 2006" }}</time>
</div>
{{ if .Truncated }}
<div class="footer-filler"></div>
<div class='read-more'><a href="{{ .RelPermalink }}">Read More…</a></div>
{{ end }}
</footer>
</article>
{{ with (index (.Resources.ByType "video") 0) }}
{{/* TODO this current logic does not suport video & image mixed */}}
<div class="p-summary">
<video controls width="540px" preload="none" poster="{{ $postPermalink }}/thumbnail.png">
<source src="{{.Permalink}}" type="video/mp4">
</video>
{{ else}}
{{ with (index (.Resources.ByType "image") 0) }}
{{ $height := add .Height 0.0}}
{{ $ratio := div $height .Width}}
{{ $thumb := .Fit "540x540 q80 webp"}}
<div class="p-summary{{if gt $ratio 1 }} portrait {{else}} landscape {{end}}">
<div class="summary-image {{if gt $ratio 1 }} portrait {{else}} landscape {{end}}">
<a href="{{ $postPermalink }}"><img src="{{ $thumb.Permalink }}" alt="{{ .Title }}"> </a>
</div>
{{ else }}
<div class="p-summary">
{{ end }}
{{ end }}
<div class="summary-text">
{{ .Summary }}
</div>
</div>
<div class="social-source"></div>
<footer class='post-footer'>
<div class='footer-metadata'>
<span class="from p-author">{{ if .Params.contributors }}From {{range .Params.contributors}}<b> <a href='{{ "/contributors/" | relLangURL }}{{ . | urlize }}/'> {{ . }}</a> {{end}}</b> on{{ end }}</span>
<time class="dt-published" datetime="{{ .Date.Format `Jan 02 2006` }}">{{ .Date.Format "Jan 02, 2006" }}</time>
</div>
{{ if .Truncated }}
<div class="footer-filler"></div>
<div class='read-more'><a href="{{ .RelPermalink }}">Read More…</a></div>
{{ end }}
</footer>
</article>
</div>

@ -1,4 +1,4 @@
<div class='video-box card filter-item' data-section="{{ .Section }}" data-cats='{{- partial "data/categories.html" . -}}' data-authors='{{- partial "data/authors.html" . -}}' data-tags='{{- partial "data/tags.html" . -}}'>
<div class='video-box filter-item' data-section="{{ .Section }}" data-sources='{{- partial "data/sources.html" . -}}' data-contributors='{{- partial "data/contributors.html" . -}}' data-tags='{{- partial "data/tags.html" . -}}'>
<div class='video channel tape-label'><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 }}'

@ -189,14 +189,14 @@ a {
background: #009d9b;
padding: 5px 30px;
color: #fff;
font-weight: 900;
font-weight: 900;
position: absolute;
right: 1.5rem;
right: 1.5rem;
}
.menu-row {
margin: 0 auto;
max-width: fit-content;
max-width: 80%;
width: 100%;
display: flex;
justify-content: center;
@ -204,6 +204,7 @@ a {
position: sticky;
top: 15px;
z-index: 99;
max-width: fit-content;
}
.menu-row .menu .filter-link {
@ -332,6 +333,7 @@ a {
align-items: center;
border: 2px solid #333;
padding: 0 1.5rem;
background: #fff;
}
.login a {
@ -791,7 +793,7 @@ div.pen-source {
/* gallery cards */
.card.social.lumbunggallery {
.card.social.lumbunggallery, .card.social.lumbunggallery .post-footer a {
border-color: var(--gallery-dark);
background-color: var(--gallery-light);
color: var(--gallery-dark);
@ -1096,6 +1098,8 @@ li.page-item:after {
z-index: -100;
}
/* Landingpage */
.welcome-text {
text-align: center;
@ -1115,6 +1119,7 @@ li.page-item:after {
text-align: center;
padding: 3.5%;
}
.app-column a {
text-decoration: none;
}
@ -1137,6 +1142,7 @@ li.page-item:after {
margin-bottom: 0.2em;
color: #333;
}
.app-description {
font-size: 14px;
display: block;
@ -1144,6 +1150,7 @@ li.page-item:after {
margin-right: auto;
}
/* FILTER */
.filter-item, .card, .video-box {
@ -1151,7 +1158,7 @@ li.page-item:after {
}
.show-item {
display: flex !important;
display: block !important;
}
.filter-container {
@ -1159,13 +1166,14 @@ li.page-item:after {
background: #fff;
padding: 1.5rem;
border: 2px solid #333;
position: absolute;
border-top: 0;
position: absolute;
left: 0;
z-index: 99;
width: 100%;
justify-content: space-between;
}
.filter-information {
width: 15%;
}
@ -1174,7 +1182,7 @@ li.page-item:after {
align-items: center;
display: flex;
width: calc(85% - 30px);
}
}
.filter-buttons-container-header {
display: flex;
@ -1194,6 +1202,7 @@ li.page-item:after {
.filter-link:hover + .filter-container {
display: flex;
}
.filter-container:hover {
display: flex;
}
@ -1201,7 +1210,7 @@ li.page-item:after {
.filter-buttons-dropdown {
position: absolute;
top: 41px;
width: calc(100% 2px);
width: calc(100% + 2px);
left: -1px;
background: #fff;
max-height: 35vh;
@ -1213,9 +1222,18 @@ li.page-item:after {
display: none;
}
.post.tv {
margin: auto;
}
@media all and (min-width: 980px) {
.filter-buttons:hover .filter-buttons-dropdown {
display: block;
display: block;
}
.filter-buttons:hover {
display: block;
}
}
.filter-buttons {
@ -1247,8 +1265,7 @@ li.page-item:after {
border-color: #333333 transparent transparent transparent;
position: absolute;
right: 0.5rem;
}
}
.filter-buttons button {
display: flex;
@ -1268,7 +1285,7 @@ li.page-item:after {
border-bottom: 1px solid;
}
.filter-buttons .filter-button{
.filter-buttons .filter-button {
padding: 0.6rem 0.6rem 0.6rem 1.6rem;
}
@ -1298,15 +1315,15 @@ li.page-item:after {
.filter-buttons-dropdown button:last-child {
border-bottom: 0;
}
}
.filter-buttons .filter-button.active {
background: #c2c2ff;
}
.disable-button {
.disable-button {
display: none !important;
}
}
.page-nav {
display: flex;
@ -1335,6 +1352,7 @@ li.page-item:after {
left: 0;
}
/* ### Timeline ### */
/* Timeline Tags */
@ -1486,11 +1504,6 @@ a.timeline-url {
text-decoration: underline;
}
.menu-row {
font-size: 1.78vw;
}
.link-svg {
height: 1.2vw;
width: 1.2vw;
@ -1668,6 +1681,119 @@ a.timeline-url {
}
/* EVENT LIST */
.event-list {
border: 2px solid var(--calendar-dark);
background-color: var(--calendar-light);
color: var(--calendar-dark);
margin: 1rem 0 4rem;
}
.event-list .tape-label span {
background-color: var(--calendar-dark);
}
.event-list-item {
border-top: 1px solid;
display: flex;
flex-wrap: wrap;
}
.event-list-item-head {
display: flex;
}
.event-list-item a {
color: var(--calendar-dark);
}
.event-list-item .date-start, .event-list-item .title, .event-list-item .time, .event-list-item .duration, .event-list-item .location {
display: flex;
align-items: center;
border-right: 1px solid var(--calendar-dark);
padding: 0.8rem 0;
overflow: hidden;
}
.event-list-item .date-start {
font-size: 1.2rem;
width: 110px;
padding-left: 0.4rem;
border-right: 0;
}
.event-list-item .title {
width: calc(45% - 110px);
padding-left: 0.4rem;
}
.event-list-item .p-name {
margin: 0;
font-size: 1.2rem;
padding: 0;
display: block;
width: 100%;
}
.event-list-item .p-name a {
color: var(--calendar-dark);
text-decoration: none;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
width: calc(100% - 20px);
display: block;
}
.event-list-item .time {
width: 20%;
}
.event-list-item .time .start-scroller {
border-bottom: 0px;
}
.event-list-item .duration {
width: 12.5%;
font-size: 0.8rem;
padding: 0.8rem 0.4rem;
}
.event-list-item .duration b {
margin-left: 3px;
}
.event-list-item .location {
min-width: unset;
width: 15%;
font-size: 0.8rem;
padding: 0.8rem 0.4rem;
}
.event-list-item .button {
width: 7.5%;
}
.event-list-item .calendar {
width: 7.5%;
display: flex;
align-items: center;
padding: 0.8rem 0.4rem;
cursor: pointer;
}
.event-list-item .description {
display: none;
border-top: 1px solid;
font-size: 1.2rem;
}
input:checked + label + .description {
display: block;
transition: ease .5s;
}
/* Page footer */
#footer {
@ -1827,6 +1953,10 @@ a.timeline-url {
font-size: 1.8vw;
vertical-align: top;
}
.menu-row {
font-size: 1.78vw;
}
}
@ -1841,14 +1971,12 @@ a.timeline-url {
width: 100%;
}
.menu,
#login {
.logo {
max-height: 50px;
}
/* menu styles */
.menu-row, #top-menu {
position: fixed !important;
z-index: 97;
@ -1891,7 +2019,7 @@ a.timeline-url {
left: 20px;
top: clamp(25px, 7vw, 35px);
}
.menu ul.submenu {
margin-left: 0;
margin-top: 4px;
@ -1941,6 +2069,7 @@ a.timeline-url {
-o-transform: rotate(45deg);
transform: rotate(45deg);
}
.menu-button.active .menu-button--line:nth-child(1) {
-webkit-transform: translateY(8px);
-ms-transform: translateY(8px);
@ -1964,6 +2093,13 @@ a.timeline-url {
-o-transition-delay: 0.3s;
transition-delay: 0.3s;
}
.filter {
position: fixed;
right: 20px;
top: clamp(25px, 7vw, 35px);
}
.filter-container {
flex-wrap: wrap;
border-top: 2px solid #333;
@ -1982,14 +2118,16 @@ a.timeline-url {
width: 100%;
margin-bottom: 15px;
}
.filter-buttons-container {
display: block;
width: 100%;
}
}
.filter-buttons-container.open {
display: block !important;
}
.filter-buttons-dropdown {
z-index: 99;
}
@ -2020,7 +2158,7 @@ a.timeline-url {
.filter-icon path {
fill: #333;
}
}
.filter-buttons-dropdown.active {
display: block;
@ -2030,7 +2168,6 @@ a.timeline-url {
transform: rotate(180deg);
}
#top-menu div.mobile-menu {
display: flex;
justify-content: space-between;
@ -2135,6 +2272,38 @@ a.timeline-url {
.f-main .logo {
max-width: unset;
}
/* EVENT LIST */
.event-list .event-list-item:nth-child(2n) {
background: #c8efff;
}
.event-list-item .date-start {
border-bottom: 1px solid;
}
.event-list-item .title {
width: calc(100% - 110px);
border-bottom: 1px solid;
border-right: 0;
}
.event-list-item .time {
width: 100%;
border-bottom: 1px solid;
border-right: 0;
padding: 0;
}
.event-list-item .duration, .event-list-item .location {
width: 42%;
}
.event-list-item .calendar {
width: 16%;
}
}
/* mobile styles */
@ -2143,7 +2312,7 @@ a.timeline-url {
/* card styles */
.card,
.card.shout {
.card.network {
max-width: 83vw;
}

Loading…
Cancel
Save