This commit is contained in:
marc-kbpm
2022-12-02 19:28:05 +01:00
parent a4d6ab14ff
commit 4286641ec6
49 changed files with 2197 additions and 0 deletions

20
themes/main-theme/LICENSE Normal file
View File

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2022 YOUR_NAME_HERE
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,2 @@
+++
+++

View File

View File

@ -0,0 +1,15 @@
<!DOCTYPE html>
<html>
{{- partial "head.html" . -}}
<body class="bg-[#ffffff] flex flex-col min-h-screen">
{{- partial "header.html" . -}}
<main class="flex-1 flex flex-col py-6">
{{ block "main" . }}
{{ end }}
</main>
{{- partial "footer.html" . -}}
</body>
</html>

View File

@ -0,0 +1,74 @@
{{ define "main" }}
<div class="w-full">
<div class="container m-auto">
<div class="grid grid-cols-12 gap-14">
<div class="col-span-8 col- md:col-span-6">
<h1 class="text-5xl leading-10 font-normal text-forest mb-16">Towards a human-centric,<br />
next generation Internet.</h1>
<p class="w-64 h-8 text-2xl font-medium leading-loose text-salmon mb-4">Latest from the blog</p>
<div class="max-w-lg">
{{ range last 1 (where site.RegularPages "Type" "blog").ByDate }}
{{ partial "cards/blog-item" . }}
{{ end }}
</div>
</div>
<div class="col-span-4 md:col-span-6 max-w-xl">
<div class="inline-flex flex-col space-y-6">
<p class="w-64 h-8 text-2xl font-semibold leading-loose text-forest">What is Interpeer?</p>
<p class="text-lg leading-relaxed text-forest">The Interpeer
Projects objective is to empower a human centric internet. In practice, this currently takes
the
form of a technological initiative with the goal of providing a secure and efficient
peer-to-peer
networking stack, bypassing the protocols of the past. </p>
<h2 class="pt-8 font-normal text-5xl leading-10 text-forest">The future is fully distributed.</h2>
<p class="text-lg leading-relaxed text-forest">This initiative
is home to a growing number of projects, that can be explored in detail on this website. The
project's technical documentation is also available and regularly updated.
<br />
</p>
<div class="py-5 px-4 bg-forest w-full">
<div class="relative">
<p class="text-xl leading-7 text-white">Interested in supporting this
project? <a href="#"
class="text-xl font-medium leading-7 underline text-white uppercase">
donate</a></p>
</div>
</div>
</div>
</div>
</div>
<div class="py-12 lg:py-20 flex justify-center align-middle">
{{ partial "mail-subscription" . }}
</div>
</div>
</div>
<!-- Towards a human-centric, next generation Internet.
What is Interpeer?
The Interpeer Projects objective is to empower a human centric internet. In practice, this currently takes the
form of a technological initiative with the goal of providing a secure and efficient peer-to-peer networking
stack, bypassing the protocols of the past.
The future is fully distributed.
This initiative is home to a growing number of projects, that can be explored in detail on this website. The
project's technical documentation is also available and regularly updated.
Interested in supporting this project? -->
{{ end }}

View File

@ -0,0 +1,33 @@
{{ define "main" }}
<div class="container mx-auto">
<div class="inline-flex mb-8">
<a href="/blog/"
class="inline-flex items-center px-4 py-3 border border-forest text-forest hover:bg-forest hover:text-white">
<span class="flex-1 h-full text-xl font-medium leading-7 text-center">All</span>
</a>
{{$currentpage := .Page.Data.Term}}
{{ range .Site.Taxonomies.categories }}
{{ if eq $currentpage .Page.Title}}
<a href="{{ .Page.Permalink }}" class="inline-flex items-center px-4 py-3 border bg-forest border-forest">
<span class="h-full text-xl font-medium leading-7 text-center text-white">{{ .Page.Title }}</span>
</a>
{{ else }}
<a href="{{ .Page.Permalink }}"
class="inline-flex items-center px-4 py-3 border border-forest text-forest hover:bg-forest hover:text-white">
<span class="h-full text-xl font-medium leading-7 text-center">{{ .Page.Title }}</span>
</a>
{{ end }}
{{ end }}
</div>
{{ $paginator := .Paginate (where .Pages "Type" "blog") }}
<div class="grid grid-cols-2 gap-16">
{{ range $paginator.Pages }}
{{ partial "cards/blog-item" . }}
{{ end }}
</div>
{{ template "partials/pagination.html" . }}
</div>
{{ end }}

View File

@ -0,0 +1,28 @@
{{ define "main" }}
<div class="container mx-auto">
<div class="inline-flex mb-8">
<a href="/blog/" class="inline-flex items-center justify-center w-24 flex-1 pl-4 pr-5 py-3 bg-forest">
<span class="flex-1 h-full text-xl font-medium leading-7 text-center text-white">All</span>
</a>
{{ range .Site.Taxonomies.categories }}
<a href="{{ .Page.Permalink }}"
class="inline-flex items-center px-4 py-3 border border-forest text-forest hover:bg-forest hover:text-white">
<span class="h-full text-xl font-medium leading-7 text-center">{{ .Page.Title }}</span>
</a>
{{ end }}
</div>
{{ $paginator := .Paginate (where .Pages "Type" "blog") }}
<div class="grid grid-cols-2 gap-16">
{{ range $paginator.Pages }}
{{ partial "cards/blog-item" . }}
{{ end }}
</div>
{{ template "partials/pagination.html" . }}
</div>
{{ end }}

View File

@ -0,0 +1,21 @@
{{ define "main" }}
<div class="max-w-2xl mx-auto">
<h1 class="text-2xl font-medium leading-loose text-forest">{{ .Title }}</h1>
{{ with .Params.categories }}
<ul id="tags">
{{ range . }}
<li> <a class="underline text-salmon mr-1" href=" {{ " categories/" | absURL }}{{ . | urlize }}">{{ . }}</a>
</li>
{{ end }}
</ul>
{{ end }}
<section class="prose mt-5">
<article>
{{ .Content }}
</article>
</section>
<hr class="text-forest">
<p class="text-forest">Published on {{ .Date | time.Format ":date_short" }}</p>
</div>
{{ end }}

View File

@ -0,0 +1,86 @@
{{ define "main" }}
<div class="relative grid grid-cols-2 gap-16 pt-9 container mx-auto mb-12">
<div class="border border-salmon">
<div class="inline-flex items-center justify-start pl-8 pt-2.5 pb-2 left-0 top-0 bg-salmon w-full">
<p class="flex-1 h-full text-2xl font-medium leading-loose text-almost-white">Why Interpeer?</p>
</div>
<div class="prose pt-4 px-8">
<p class="text-base leading-snug text-forest">
The Interpeer Project was born out of a deeply
critical perspective of the contemporary state of human-computer interaction and the Internet.</p>
<p class="text-base leading-snug text-forest">
Computers have become ubiquitous. However, the most
popular protocol connecting users to remote machines, HTTP, follows an obsolete philosophy. User data
does
not
need to be arbitrated by and traverse third party machines.
<br />
</p>
<p class="text-base leading-snug text-forest">
We need an Internet that fits contemporary usage
patterns.</p>
<p class="text-base leading-snug text-forest">
The Interpeer Project was developed to address these
topics, with the goal of helping build a human-centric internet.
<br />
</p>
<p class="text-base leading-snug text-red-400 text-salmon">An Internet where people own
their data and can share it between devices and contacts without the need for intermediaries.
</p>
</div>
<div class="border-t border-salmon prose px-8 pt-4">
<p class="text-base leading-snug text-red-400 text-salmon">Where cryptography allows
users to securely delegate trust to any number of devices, even those they dont know directly.
</p>
</div>
<div class="border-t border-salmon prose px-8 pt-4">
<p class="text-base leading-snug text-red-400 text-salmon">A peer-to-peer networking
technology that enables trust delegated machines to share data directly and efficiently.
</p>
<p class="text-base leading-snug text-red-400">The Interpeer Project was developed to address these topics,
with the goal of helping build a human-centric internet.
</p>
</div>
</div>
<div>
<div class="border border-forest">
<div class="inline-flex items-center justify-start pl-8 pt-2.5 pb-2 left-0 top-0 bg-forest w-full">
<p class="flex-1 h-full text-2xl font-medium leading-loose text-almost-white">On “Human-centric”</p>
</div>
<div class="prose pt-4 px-8">
<p class="text-base leading-snug text-forest">
It's important to provide a clear definition of what "human-centric" means in the context of this
project.
</p>
<p class="text-base leading-snug text-forest">
For the purposes of this project, "Human" opposes the artificial, data-harvesting, centralised
market logic of the main communication platforms in contemporary society.
</p>
<p class="text-base leading-snug text-forest">
It also acknowledges the human experiences as a small part of what constitutes nature, and is in now
way superior or more important than any other life form or living consciousness.
</p>
</div>
</div>
<div class="border border-forest mt-10">
<div class="inline-flex items-center justify-start pl-8 pt-2.5 pb-2 left-0 top-0 bg-forest w-full">
<p class="flex-1 h-full text-2xl font-medium leading-loose text-almost-white">On “Human-centric”</p>
</div>
<div class="prose pt-4 px-8">
<p class="text-base leading-snug text-forest">
It's important to provide a clear definition of what "human-centric" means in the context of this
project.
</p>
<p class="text-base leading-snug text-forest">
For the purposes of this project, "Human" opposes the artificial, data-harvesting, centralised
market logic of the main communication platforms in contemporary society.
</p>
<p class="text-base leading-snug text-forest">
It also acknowledges the human experiences as a small part of what constitutes nature, and is in now
way superior or more important than any other life form or living consciousness.
</p>
</div>
</div>
</div>
</div>
{{ end }}

View File

@ -0,0 +1,10 @@
<div class="border border-forest">
<div class="inline-flex items-center justify-start pl-8 pr-72 pt-2.5 pb-2 left-0 top-0 bg-forest w-full">
<p class="flex-1 h-full text-2xl font-medium leading-loose text-almost-white">{{.cardTitle}}</p>
</div>
<div class="prose pt-4 px-8">
<p class="text-base leading-snug text-forest">
{{.cardSummary}}
</p>
</div>
</div>

View File

@ -0,0 +1,14 @@
<div class="border border-salmon">
<div class="inline-flex items-center justify-start px-8 pt-2.5 pb-2 bg-salmon w-full">
<p class="flex-1 w-full text-2xl font-medium leading-loose text-almost-white">{{.Title}}</p>
</div>
<div class="prose pt-4 px-8">
<p class="text-base leading-snug text-salmon">
{{.Summary}}
</p>
</div>
<div class="inline-flex items-center justify-start px-8 pt-2.5 pb-2 bg-salmon w-full">
{{ if .Title }} <a class="flex-1 w-full text-xl underline font-normal leading-loose text-almost-white"
href="{{ .Permalink }}">Read more</a> {{ end }}
</div>
</div>

View File

@ -0,0 +1,16 @@
<footer class="bg-grayish inline-grid grid-cols-3 pt-8 pb-9">
<div class="m-auto min-w-fit flex flex-col justify-center col-start-2">
<img src="/interpeer-logo-small.svg" class="h-6 mb-6 w-fit m-auto " alt="Logo Interpeer small">
<div class="relative flex w-fit">
<p class="w-28 h-5 text-base leading-tight underline text-center text-salmon">
Codeberg</p>
<p class="w-28 h-5 text-base leading-tight underline text-center text-salmon">
Mastodon</p>
</div>
</div>
<div class="items-end mt-auto">
<p class="w-72 h-9 text-base leading-tight text-right text-forest">The Interpeer Project was created and
maintained by <a href="#" class="text-salmon">Jens
Finkhauser.</a></p>
</div>
</footer>

View File

@ -0,0 +1,10 @@
<head>
<!-- <link rel='stylesheet' type='text/css' href='/style.css'> -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="index, follow">
<meta charset="utf-8">
<link rel="stylesheet" href="/styles.css">
{{ $css := resources.Get "css/compiled/output.css" }}
{{ $style := $css | resources.Minify }}
<link type="text/css" rel="stylesheet" href="{{ $style.RelPermalink }}" />
</head>

View File

@ -0,0 +1,8 @@
<header class="header-background">
<div class="h-28 w-full flex items-center justify-between container mx-auto">
<a href="/">
<img src="/logo.svg" class="h-9" alt="Logo Interpeer">
</a>
{{- partial "nav.html" . -}}
</div>
</header>

View File

@ -0,0 +1,12 @@
<div class="relative max-w-md border-[1px] border-forest">
<div class="inline-flex items-center justify-center px-4 py-3.5 bg-forest w-full">
<p class="flex-1 h-full text-xl font-medium leading-7 text-center text-white">Join the mailing list</p>
</div>
<form class="relative border border-forest flex flex-row py-4 px-4">
<input class="border-b text-base leading-tight border-forest text-gray-400 mr-4" type="text"
placeholder="Email address">
<input
class="text-xl border-b border-forest leading-7 text-forest cursor-pointer focus:outline-1 focus:outline focus:outline-offset-2"
type="submit" value="Subscribe">
</form>
</div>

View File

@ -0,0 +1,13 @@
<nav>
<ul class="flex">
{{ $currentPage := . }}
{{ range .Site.Menus.main }}
<li class="px-4">
<a href="{{ .URL }}" class="font-medium uppercase text-almost-white underline hover:text-salmon{{ if $currentPage.IsMenuCurrent "main" . }} !text-salmon{{ end }}">
{{ .Pre }}
<span>{{ .Name }}</span>
</a>
</li>
{{ end }}
</ul>
</nav>

View File

@ -0,0 +1,48 @@
{{ $pag := $.Paginator }}
{{ if gt $pag.TotalPages 1 }}
<nav class="pagination w-full flex justify-center py-10">
<ul class="flex w-max items-center space-x-2">
{{ with $pag.First }}
<li>
<a href="{{ .URL }}" class="pagination-link text-salmon" disabled aria-label="First">
<span aria-hidden="true">
<svg xmlns="http://www.w3.org/2000/svg" width="17" height="18"><g fill="none" fill-rule="evenodd" stroke="#FA765B" stroke-width="2"><path d="M16 17 8 9l8-8"/><path d="M10 17 2 9l8-8"/></g></svg>
</span>
</a>
</li>
{{ end }}
<li>
<a href="{{ if $pag.HasPrev }}{{ $pag.Prev.URL }}{{ end }}" class="pagination-link" {{ if not $pag.HasPrev }} disabled{{ end }} aria-label="Previous"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="18"><g fill="none" fill-rule="evenodd" stroke="#FA765B" stroke-width="2"><path d="M10 17 2 9l8-8"/></g></svg></a>
</li>
{{ $ellipsed := false }}
{{ $shouldEllipse := false }}
{{ range $pag.Pagers }}
{{ $right := sub .TotalPages .PageNumber }}
{{ $showNumber := or (le .PageNumber 3) (eq $right 0) }}
{{ $showNumber := or $showNumber (and (gt .PageNumber (sub $pag.PageNumber 2)) (lt .PageNumber (add $pag.PageNumber 2))) }}
{{ if $showNumber }}
{{ $ellipsed = false }}
{{ $shouldEllipse = false }}
{{ else }}
{{ $shouldEllipse = not $ellipsed }}
{{ $ellipsed = true }}
{{ end }}
{{ if $showNumber }}
<li><a class="pagination-link text-xl leading-normal {{ if eq . $pag }}text-salmon underline{{ end }}" href="{{ .URL }}">{{ .PageNumber }}</a></li>
{{ else if $shouldEllipse }}
<li class="pagination-link" disabled><span aria-hidden="true">&nbsp;&hellip;&nbsp;</span></li>
{{ end }}
{{ end }}
<li>
<a href="{{ if $pag.HasNext }}{{ $pag.Next.URL }}{{ end }}" class="pagination-link" {{ if not $pag.HasNext }}disabled{{ end }} aria-label="Next"><svg xmlns="http://www.w3.org/2000/svg" width="11" height="18" fill="none"><path stroke="#FA765B" stroke-width="2" d="m1 1 8 8-8 8"/></svg></a>
</li>
{{ with $pag.Last }}
<li>
<a class="flex" href="{{ .URL }}" class="pagination-link" {{ if not $pag.HasNext }}disabled{{ end }} aria-label="Last">
<svg xmlns="http://www.w3.org/2000/svg" width="17" height="18"><g fill="none" fill-rule="evenodd" stroke="#FA765B" stroke-width="2"><path d="m1 1 8 8-8 8"/><path d="m7 1 8 8-8 8"/></g></svg>
</a>
</li>
{{ end }}
</ul>
</nav>
{{ end }}

View File

@ -0,0 +1,12 @@
{{ define "main" }}
<div class="container mx-auto">
{{ $paginator := .Paginate (where .Pages "Type" "projects") }}
<div class="grid grid-cols-2 gap-16">
{{ range $paginator.Pages }}
{{ partial "cards/blog-item" . }}
{{ end }}
</div>
{{ template "partials/pagination.html" . }}
</div>
{{ end }}

View File

@ -0,0 +1,74 @@
{{ define "main" }}
<div class="container mx-auto">
<p class="text-2xl font-medium leading-loose text-forest mb-1">List of projects</p>
<div class="inline-flex mb-8">
{{$currentpage := .Page.Title}}
{{ $section := "projects" }}
{{ range (where .Site.RegularPages.ByTitle "Section" $section ) }}
{{ if eq $currentpage .Page.Title}}
<a href="{{ .Permalink }}" class="inline-flex items-center px-4 py-3 border bg-forest border-forest">
<span class="h-full text-xl font-medium leading-7 text-center text-white">{{ .Params.title | humanize |
title }}</span>
</a>
{{ else }}
<a href="{{ .Permalink }}"
class="inline-flex items-center px-4 py-3 border border-forest text-forest hover:bg-forest hover:text-white">
<span class="h-full text-xl font-medium leading-7 text-center">{{ .Params.title | humanize | title }}</span>
</a>
{{ end }}
{{ end }}
</div>
<div class="flex mt-9">
<aside>
<div class="underline text-xl leading-7 text-forest mt-7">
{{ .Page.TableOfContents }}
</div>
</aside>
<div class="max-w-2xl mx-auto">
<div class="inline-flex items-center justify-start px-8 py-4 mb-4 bg-salmon w-full">
<h1 class="flex-1 w-full text-2xl font-medium leading-loose text-almost-white">{{.Title}}</h1>
</div>
<section class="prose prose-lg">
<div>
<article>
{{ .Content }}
</article>
</div>
</section>
</div>
</div>
</div>
<aside id="meta">
<div>
<section>
<h4 id="date"> {{ .Date.Format "Mon Jan 2, 2006" }} </h4>
<h5 id="wordcount"> {{ .WordCount }} Words </h5>
</section>
{{ with .Params.topics }}
<ul id="topics">
{{ range . }}
<li><a href="{{ " topics" | absURL}}{{ . | urlize }}">{{ . }}</a> </li>
{{ end }}
</ul>
{{ end }}
{{ with .Params.tags }}
<ul id="tags">
{{ range . }}
<li> <a href="{{ " tags" | absURL }}{{ . | urlize }}">{{ . }}</a> </li>
{{ end }}
</ul>
{{ end }}
</div>
<div>
{{ with .PrevInSection }}
<a class="previous" href="{{.Permalink}}"> {{.Title}}</a>
{{ end }}
{{ with .NextInSection }}
<a class="next" href="{{.Permalink}}"> {{.Title}}</a>
{{ end }}
</div>
</aside>
{{ end }}

View File

@ -0,0 +1,21 @@
# theme.toml template for a Hugo theme
# See https://github.com/gohugoio/hugoThemes#themetoml for an example
name = "Main Theme"
license = "MIT"
licenselink = "https://github.com/yourname/yourtheme/blob/master/LICENSE"
description = ""
homepage = "http://example.com/"
tags = []
features = []
min_version = "0.41.0"
[author]
name = ""
homepage = ""
# If porting an existing theme
[original]
name = ""
homepage = ""
repo = ""