Commit 9eaef1df authored by Nina's avatar Nina
Browse files

Merge branch 'nina/redesign' into 'master'

Redesign Website

Closes #48

See merge request !78
parents e16e9195 a2223b0c
Pipeline #33470 passed with stages
in 48 seconds
......@@ -84,7 +84,7 @@ linkcheck:
script:
# Run linkchecker against the pushed (and deployed) branch. Exclude mailto: links, as the ones
# which we commonly use miss a MX record.
- linkchecker --check-extern --ignore-url=mailto https://schleuder.org/$DEPLOY_SLUG
- linkchecker --check-extern --ignore-url=mailto --ignore-url=woff https://schleuder.org/$DEPLOY_SLUG
only:
# This job relies on secret env vars, which are only available in our repo.
- branches@schleuder/schleuder-website
......
---
layout: page
title: Schleuder ★ Code of Conduct
title: Code of Conduct
subtitle: A gpg-enabled mailinglist with remailing-capabilities.
---
......@@ -20,7 +20,7 @@ Maintainers, including the development team, are also subject to the anti-harass
If anyone engages in abusive, harassing, or otherwise unacceptable behavior, including maintainers, we will take appropriate action, up to and including warning the offender, deletion of comments, removal from the project’s codebase and communication systems.
If you are being harassed, notice that someone else is being harassed, or have any other concerns, please [contact the development team](https://schleuder.org/contact.html) immediately.
If you are being harassed, notice that someone else is being harassed, or have any other concerns, please [contact the development team]({{ "contact.html" | absolute_url }}) immediately.
We expect everyone to follow these rules anywhere in the Schleuder project’s codebases, issue trackers, IRC channel, group chat, mailing lists, meetups, and any other events.
......
---
layout: page
title: Schleuder ★ Mission statement
title: Mission statement
subtitle: A gpg-enabled mailinglist with remailing-capabilities.
---
......
{: .note}
This document refers to **Schleuder version {{ include.version }}** To read about older versions of Schleuder please see the [older docs]({{ "schleuder/docs/older/" | absolute_url }}).
This document refers to **Schleuder version {{ include.version }}**. To read about older versions of Schleuder please see the [older docs]({{ "schleuder/docs/older/" | absolute_url }}).
* toc
{:toc}
......
......@@ -2,6 +2,3 @@
Changes to the previous version of Schleuder are summarized in [changes](changes.html).
{% include feedback.md %}
{::options parse_block_html="true" /}
<div class='footer'>
[](#top "Go to top of page")
{: .linktotop}
{: .feedback }
To suggest changes to these documents, or if you found any errors in them, please [let us know]({{ "contact.html" | absolute_url }}).
You can also [see their history](https://0xacab.org/schleuder/schleuder-website/commits/master).
</div>
<footer class="footer">
<div class="content has-text-centered">
<p>
<a href="https://lists.nadir.org/mailman/listinfo/schleuder-announce">Subscribe to our Mailinglist</a>
</p>
<p class="margin-top">
To suggest changes to these documents, or if you found any errors in them, please <a href="/contact.html">please let us know</a>.
You can also <a href="https://0xacab.org/schleuder/schleuder-website/commits/master">see their history</a>.
</p>
</div>
</footer>
\ No newline at end of file
<div class="tile is-ancestor">
<div class="tile is-parent">
<article class="tile is-child">
<p class="console">{{ page.title }}: {{ page.subtitle }}</p>
</article>
</div>
<div class="tile is-parent">
<article class="tile is-child">
<figure class="image has-ratio has-padding">
<img src='{{ "/assets/images/schleuder_logo.svg" | absolute_url }}'>
</figure>
</article>
</div>
</div>
<div class="tile is-ancestor">
<div class="tile is-parent">
<article class="tile is-child">
<p class="title">How it works</p>
<div class="content">
<p>Schleuder is a group's email-gateway: subscribers can exchange encrypted emails among themselves, receive emails from non-subscribers and send emails to non-subscribers via the list.</p>
<a href='{{ "schleuder/docs/concept.html" | absolute_url }}'>More</a>
</div>
</article>
</div>
<div class="tile is-parent">
<article class="tile is-child">
<p class="title">Mission Statement</p>
<div class="content">
<p>We give our time and knowledge to build and maintain this project in order to help people with their daily private communication and in the struggle for their personal emancipation, social and economic justice and political freedom.</p>
<a href='{{ "MISSION_STATEMENT.html" | absolute_url }}'>More</a>
</div>
</article>
</div>
<div class="tile is-parent">
<article class="tile is-child">
<p class="title">Documentation</p>
<div class="content">
<p>Are you a subscriber, a list admin or a server admin? Find the docs for your use case.</p>
<a href='{{ "schleuder/docs/index.html" | absolute_url }}'>More</a>
</div>
</article>
</div>
</div>
\ No newline at end of file
<nav class="breadcrumbs hidden-sm-down">
<ol class="breadcrumb list-unstyled" vocab="http://schema.org/" typeof="BreadcrumbList">
{% for crumb in breadcrumbs %}
{% if forloop.first %}
<li class="breadcrumb-item breadcrumb-item-icon" property="itemListElement" typeof="ListItem">
<a property="item" typeof="WebPage" href="{{ site.url }}{{ site.baseurl }}{{ crumb.url }}">
<img src='{{ "images/schleuder.png" | absolute_url }}' title='Home' alt='Logo: a slingshot' />
<meta property="position" content="{{ crumb.position }}" />
</a>
</li>
{% continue %}
{% endif %}
{% unless forloop.last %}
<li class="breadcrumb-item" property="itemListElement" typeof="ListItem">
<div class="separator">/</div>
<a property="item" typeof="WebPage" href="{{ site.url }}{{ site.baseurl }}{{ crumb.url }}">
<span property="name">{{ crumb.title }}</span>
<meta property="position" content="{{ crumb.position }}" />
</a>
</li>
{% endunless %}
{% endfor %}
</ol>
</nav>
<nav class="navbar is-fixed-top is-spaced" role="navigation" aria-label="main navigation">
<input type="checkbox" id="toggler" role="button" class="toggler" aria-label="menu" aria-expanded="false"
data-target="navbarMain" />
<div class="navbar-brand">
<a class="navbar-item" href='{{ "/" | absolute_url }}'>
<img src='{{ "/assets/images/schleuder_logo_small.svg" | absolute_url }}' alt="schleuder">
</a>
<label for="toggler" class="navbar-burger burger" >
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
</label>
</div>
<div id="navbarMain" class="navbar-menu">
<div class="navbar-end">
<a class="navbar-item" href='{{ "news.html" | absolute_url }}'>
News
</a>
<a class="navbar-item" href='{{ "schleuder/docs/concept.html" | absolute_url }}'>
Concept
</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href='{{ "schleuder/docs/index.html" | absolute_url }}'>
Docs
</a>
<div class="navbar-dropdown">
<a class="navbar-item" href='{{ "schleuder/docs/subscribers.html" | absolute_url }}'>
For Subscribers
</a>
<a class="navbar-item" href='{{ "schleuder/docs/list-admins.html" | absolute_url }}'>
For List-Admins
</a>
<a class="navbar-item" href='{{ "schleuder/docs/server-admins.html" | absolute_url }}'>
For Server-Admins
</a>
<a class="navbar-item" href='{{ "schleuder/docs/projects-and-plugins.html" | absolute_url }}'>
Projects & Plugins
</a>
</div>
</div>
<a class="navbar-item" href='{{ "MISSION_STATEMENT.html" | absolute_url }}'>
Mission Statement
</a>
<a class="navbar-item" href='{{ "CODE_OF_CONDUCT.html" | absolute_url }}'>
Code of Conduct
</a>
<a class="navbar-item" href='{{ "contact.html" | absolute_url }}'>
Contact
</a>
</div>
</div>
</nav>
\ No newline at end of file
### Links
{::options parse_block_html="true" /}
To **participate** in the development use the [issue tracker](https://0xacab.org/schleuder/{{ include.project }}/issues). Please take note of our [Code of Conduct]({{ "CODE_OF_CONDUCT.html" | absolute_url }}).
To **contact** us read [contact]({{ "contact.html" | absolute_url }}).
<div class="participate">
To **be notified** of news about Schleuder subscribe to [schleuder-announce](https://lists.nadir.org/mailman/listinfo/schleuder-announce).
To **participate** in the development use the [issue tracker](https://0xacab.org/schleuder/{{ include.project }}/issues). Please take note of our [Code of Conduct]({{ "CODE_OF_CONDUCT.html" | absolute_url }}).
{% include feedback.md %}
</div>
<!DOCTYPE html>
<html lang='en'>
<head>
<link href='{{ "favicon.ico" | absolute_url }}' rel='shortcut icon' type='image/x-icon'>
<link href='{{ "favicon.ico" | absolute_url }}' rel='icon' type='image/x-icon'>
<meta charset='UTF-8'>
<meta content='width=device-width, initial-scale=1' name='viewport'>
<title>{% if page.title %} {{ page.title }} {% else %} {{ site.title }} {% endif %}</title>
<meta content='{% if page.excerpt %} {{ page.excerpt | strip_html | strip_newlines | truncate: 160 }} {% else %} {{ site.description }} {% endif %}' name='description'>
<link href='{{ "styles.css" | absolute_url }}' rel='stylesheet' media='all'>
</head>
<body id="top" class='layout-{{ page.layout }}'>
<a href='{{ "" }}'><img id='logo' src='{{ "images/schleuder.png" | absolute_url }}' alt="Logo of schleuder"></a>
{{ content }}
</body>
</html>
<html lang='en' class="has-navbar-fixed-top">
<head>
<link href='{{ "favicon.ico" | absolute_url }}' rel='shortcut icon' type='image/x-icon'>
<link href='{{ "favicon.ico" | absolute_url }}' rel='icon' type='image/x-icon'>
<meta charset='UTF-8'>
<meta content='width=device-width, initial-scale=1' name='viewport'>
<title>{% if page.title %} {{ page.title }} {% else %} {{ site.title }} {% endif %}</title>
<meta
content='{% if page.excerpt %} {{ page.excerpt | strip_html | strip_newlines | truncate: 160 }} {% else %} {{ site.description }} {% endif %}'
name='description'>
<link href='{{ "assets/css/styles.css" | absolute_url }}' rel='stylesheet' media='all'>
</head>
<body>
{% include navbar.html %}
<main class="main-content">
<div class="columns">
<div class="column is-offset-2-desktop is-two-thirds-desktop is-offset-1-mobile is-four-fifths-mobile">
{{ content }}
</div>
</div>
</main>
{% include footer.html %}
</body>
</html>
\ No newline at end of file
......@@ -3,9 +3,5 @@ layout: default
---
<div class='page'>
<header>
<h1>{{ page.title }}</h1>
<div id='subtitle'>{{ page.subtitle }}</div>
</header>
<article>{{ content }}</article>
</div>
<article class="content">{{ content }}</article>
</div>
\ No newline at end of file
---
layout: default
---
<div class='news'>
<h1 class="title">{{ page.title }}</h1>
<div class="content">
{{ content }}
</div>
</div>
......@@ -4,8 +4,7 @@ layout: default
<div class='docs'>
<header>
{% include nav-breadcrumbs.html %}
<h1>{{ page.title }}</h1>
</header>
<article>{{ content }}</article>
<article class="content">{{ content }}</article>
</div>
---
layout: default
---
<div class='post'>
<h1 class="title">{{ page.title }}</h1>
<h3>{{ page.date | date_to_string: "ordinal", "US"}}</h3>
<article class="content">{{ content }}</article>
</div>
\ No newline at end of file
require_relative 'drops/breadcrumb_item.rb'
module Jekyll
module Breadcrumbs
@@config = {}
@@siteAddress = ""
@@sideAddresses = {}
def self.clearAddressCache
@@sideAddresses = {}
end
def self.loadAddressCache(site)
clearAddressCache
site.documents.each { |page| addAddressItem(page.url, page['crumbtitle'] || page['title'] || '') } # collection files including posts
site.pages.each { |page| addAddressItem(page.url, page['crumbtitle'] || page['title'] || '') } # pages
site.posts.docs.each { |page| addAddressItem(page.url, page['crumbtitle'] || page['title'] || '') } # posts
end
def self.addAddressItem(url, title)
key = createAddressCacheKey(url)
@@sideAddresses[key] = {:url => url, :title => title}
end
def self.findAddressItem(path)
key = createAddressCacheKey(path)
@@sideAddresses[key] if key
end
def self.createAddressCacheKey(path)
path.chomp("/").empty? ? "/" : path.chomp("/")
end
def self.buildSideBreadcrumbs(side, payload)
payload["breadcrumbs"] = []
return if side.url == @@siteAddress && root_hide === true
drop = Jekyll::Drops::BreadcrumbItem
position = 0
path = side.url.chomp("/").split(/(?=\/)/)
(-1..(path.size - 1)).each do |int|
joined_path = int == -1 ? "" : path[0..int].join
item = findAddressItem(joined_path)
if item
position += 1
item[:position] = position
item[:root_image] = root_image
payload["breadcrumbs"] << drop.new(item)
end
end
end
# Config
def self.loadConfig(site)
config = site.config["breadcrumbs"] || {"root" => {"hide" => false, "image" => false}}
root = config["root"]
@@config[:root_hide] = root["hide"] || false
@@config[:root_image] = root["image"] || false
@@siteAddress = site.config["baseurl"] || "/"
@@siteAddress = "/" if @@siteAddress.empty?
end
def self.root_hide
@@config[:root_hide]
end
def self.root_image
@@config[:root_image]
end
end
end
Jekyll::Hooks.register :site, :pre_render do |site, payload|
Jekyll::Breadcrumbs::loadConfig(site)
Jekyll::Breadcrumbs::loadAddressCache(site)
end
Jekyll::Hooks.register [:pages, :documents], :pre_render do |side, payload|
Jekyll::Breadcrumbs::buildSideBreadcrumbs(side, payload)
end
module Jekyll
module Drops
class BreadcrumbItem < Liquid::Drop
extend Forwardable
def initialize(side)
@side = side
end
def position
@side[:position]
end
def title
@side[:title]
end
def url
@side[:url]
end
def rootimage
@side[:root_image]
end
end
end
end
\ No newline at end of file
---
layout: post
title: "Schleuder 3.3.0 released!"
date: "2018-09-04"
---
This release contains a few bug fixes and improvements: Missing arguments to keywords are now properly handled, and also more helpful error messages are provided; "Protected Headers" now are handled in a way that Thunderbird/Enigmail recognize; we also introduced a new keyword to remove a fingerprint from a subscription, and protected X-SET-FINGERPRINT better against accidental mis-use.
Additionally the pseudoheaders now fully depend on the 'headers_to_meta' configuration-option, including 'sig' and 'enc'; in effect you can now also have a fully empty pseudoheaders-block, which might come in handy for newsletters. Thanks to all contributors! Packages for Debian and CentOS will be released soon. For all details please see the [changelog](https://0xacab.org/schleuder/schleuder/blob/master/CHANGELOG.md#330-2018-09-04).
\ No newline at end of file
---
layout: post
title: "Meet Schleuder devs in Hamburg"
date: "2018-10-22"
---
For everyone located in or near Hamburg, Germany (or willing to travel): Next Friday evening the Schleuder development team will meet in a bar in Hamburg, and would be pleased to have a chat with you! There is no program, just time to sit around, discuss ideas, ask questions, and have some drinks or food. Friday, 2018-10-26, from 7pm (UTC+2), at Feldstern (Sternstrasse 2, Hamburg, Germany).
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment