mirror of
https://github.com/offen/website.git
synced 2024-11-22 09:00:28 +01:00
commit
6c1f4d227e
@ -1,7 +1,7 @@
|
|||||||
Title: Laying the foundation for fair web analytics | Offen
|
title: Laying the foundation for fair web analytics | Offen
|
||||||
description: Our milestone 1 achievements include extensible architecture, a localization option and an improved server structure.
|
description: Our milestone 1 achievements include extensible architecture, a localization option and an improved server structure.
|
||||||
save_as: blog/laying-foundation-for-fair-web-analytics/index.html
|
date: 2019-12-12
|
||||||
href: /blog/laying-foundation-for-fair-web-analytics/
|
slug: laying-foundation-for-fair-web-analytics
|
||||||
sitemap_priority: 0.7
|
sitemap_priority: 0.7
|
||||||
sm_image_url: /theme/images/offen-blog-0010-milestone1.jpg
|
sm_image_url: /theme/images/offen-blog-0010-milestone1.jpg
|
||||||
|
|
@ -1,10 +1,8 @@
|
|||||||
Title: Page not found | Offen
|
title: Page not found | Offen
|
||||||
description: This link isn’t working.
|
description: This link isn’t working.
|
||||||
save_as: 404.html
|
save_as: 404.html
|
||||||
href: /404.html
|
|
||||||
no_stats: true
|
no_stats: true
|
||||||
exclude_from_sitemap: true
|
exclude_from_sitemap: true
|
||||||
sm_image_url: /theme/images/offen-logo-social-media.jpg
|
|
||||||
|
|
||||||
|
|
||||||
![Page not Found](/theme/images/content-404.webp){:class="image-text-600-338"}
|
![Page not Found](/theme/images/content-404.webp){:class="image-text-600-338"}
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
Title: About | Offen
|
title: About | Offen
|
||||||
description: Who we are, who supports us and how you can can get in touch.
|
description: Who we are, who supports us and how you can can get in touch.
|
||||||
save_as: about/index.html
|
slug: about
|
||||||
href: /about/
|
|
||||||
sm_image_url: /theme/images/offen-logo-social-media.jpg
|
|
||||||
|
|
||||||
## About
|
## About
|
||||||
|
|
||||||
|
@ -1,18 +0,0 @@
|
|||||||
Title: Fair analytics blog | Offen
|
|
||||||
description: Developing Offen. A free and open source analytics software for websites and web applications that allows respectful handling of data.
|
|
||||||
save_as: blog/index.html
|
|
||||||
href: /blog/
|
|
||||||
exclude_from_sitemap: true
|
|
||||||
sm_image_url: /theme/images/offen-logo-social-media.jpg
|
|
||||||
|
|
||||||
|
|
||||||
## Fair analytics blog
|
|
||||||
### Developing Offen. A free and open source analytics software for websites and web applications that allows respectful handling of data.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
12 Dec 2019
|
|
||||||
|
|
||||||
[![Milestone 1 - Laying the foundation for fair web analytics](/theme/images/offen-blog-0010-milestone1.jpg){:class="image-text-600-322"}](/blog/laying-foundation-for-fair-web-analytics/)
|
|
||||||
|
|
||||||
## [Episode One — Laying the foundation for fair web analytics](/blog/laying-foundation-for-fair-web-analytics/)
|
|
@ -1,9 +1,7 @@
|
|||||||
Title: Deep dive | Offen
|
title: Deep dive | Offen
|
||||||
description: What do users know about their data? How can they access it? Do operators benefit from a careful handling of user data? Does Offen work in accordance with GDPR?
|
description: What do users know about their data? How can they access it? Do operators benefit from a careful handling of user data? Does Offen work in accordance with GDPR?
|
||||||
save_as: deep-dive/index.html
|
slug: deep-dive
|
||||||
href: /deep-dive/
|
|
||||||
sitemap_priority: 0.7
|
sitemap_priority: 0.7
|
||||||
sm_image_url: /theme/images/offen-logo-social-media.jpg
|
|
||||||
|
|
||||||
## Deep dive
|
## Deep dive
|
||||||
|
|
||||||
|
@ -1,10 +1,8 @@
|
|||||||
Title: Transparent web analytics for everyone | Offen
|
title: Transparent web analytics for everyone | Offen
|
||||||
description: Offen is a free and open source analytics software for websites and web applications. Users can access their data while the operators treat it with respect.
|
description: Offen is a free and open source analytics software for websites and web applications. Users can access their data while the operators treat it with respect.
|
||||||
save_as: index.html
|
save_as: index.html
|
||||||
href: /
|
|
||||||
template: index
|
template: index
|
||||||
sitemap_priority: 1.0
|
sitemap_priority: 1.0
|
||||||
sm_image_url: /theme/images/offen-logo-social-media.jpg
|
|
||||||
|
|
||||||
## Summary
|
## Summary
|
||||||
|
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
Title: Legal Notice | Offen
|
title: Legal Notice | Offen
|
||||||
description: Information in accordance with Section 5 TMG
|
description: Information in accordance with Section 5 TMG
|
||||||
save_as: legal-notice/index.html
|
slug: legal-notice
|
||||||
href: /legal-notice/
|
|
||||||
exclude_from_sitemap: true
|
exclude_from_sitemap: true
|
||||||
sm_image_url: /theme/images/offen-logo-social-media.jpg
|
|
||||||
|
|
||||||
## Legal Notice
|
## Legal Notice
|
||||||
|
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
Title: Opt-out | Offen
|
|
||||||
description: Prevent Offen from aggregating the actions you have taken on participating websites.
|
|
||||||
save_as: opt-out/index.html
|
|
||||||
exclude_from_sitemap: true
|
|
||||||
sm_image_url: /theme/images/offen-logo-social-media.jpg
|
|
||||||
|
|
||||||
## You are opted out
|
|
||||||
|
|
||||||
This will prevent Offen from aggregating the actions you have taken on participating websites.
|
|
||||||
|
|
||||||
Operators now cannot draw any conclusions from your actions via Offen. At the same time, however, they *cannot create a better experience* for you and other users.
|
|
||||||
|
|
||||||
<script>
|
|
||||||
var vault = document.createElement('iframe')
|
|
||||||
vault.style.display = 'none'
|
|
||||||
vault.setAttribute('width', '0')
|
|
||||||
vault.setAttribute('height', '0')
|
|
||||||
vault.setAttribute('frameBorder', '0')
|
|
||||||
vault.setAttribute('scrolling', 'no')
|
|
||||||
vault.addEventListener('load', function (e) {
|
|
||||||
vault.contentWindow.postMessage({
|
|
||||||
type: 'OPTOUT',
|
|
||||||
payload: {
|
|
||||||
status: true
|
|
||||||
}
|
|
||||||
}, '*')
|
|
||||||
})
|
|
||||||
vault.src = 'https://vault-alpha.offen.dev'
|
|
||||||
document.body.append(vault)
|
|
||||||
</script>
|
|
@ -28,15 +28,20 @@ THEME = './theme'
|
|||||||
# Delete the output directory before generating new files.
|
# Delete the output directory before generating new files.
|
||||||
DELETE_OUTPUT_DIRECTORY = True
|
DELETE_OUTPUT_DIRECTORY = True
|
||||||
|
|
||||||
# dont create following standard pages
|
DIRECT_TEMPLATES = ['sitemap', 'archives']
|
||||||
AUTHORS_SAVE_AS = None
|
|
||||||
ARCHIVES_SAVE_AS = None
|
|
||||||
CATEGORIES_SAVE_AS = None
|
|
||||||
TAGS_SAVE_AS = None
|
|
||||||
|
|
||||||
# keep this for access to page variable
|
# dont create following standard pages
|
||||||
DIRECT_TEMPLATES = ['sitemap']
|
AUTHOR_SAVE_AS = ''
|
||||||
|
AUTHORS_SAVE_AS = ''
|
||||||
|
CATEGORY_SAVE_AS = ''
|
||||||
|
CATEGORIES_SAVE_AS = ''
|
||||||
|
TAG_SAVE_AS = ''
|
||||||
|
TAGS_SAVE_AS = ''
|
||||||
|
|
||||||
|
ARCHIVES_SAVE_AS = 'blog/index.html'
|
||||||
SITEMAP_SAVE_AS = 'sitemap.xml'
|
SITEMAP_SAVE_AS = 'sitemap.xml'
|
||||||
|
PAGE_SAVE_AS = '{slug}/index.html'
|
||||||
|
ARTICLE_SAVE_AS = 'blog/{slug}/index.html'
|
||||||
|
|
||||||
PLUGIN_PATHS = ['./plugins']
|
PLUGIN_PATHS = ['./plugins']
|
||||||
PLUGINS = ['decorate_content', 'assets']
|
PLUGINS = ['decorate_content', 'assets']
|
||||||
@ -54,5 +59,3 @@ LINKEDIN_URL = 'https://www.linkedin.com/company/hioffen'
|
|||||||
TWITTER_URL = 'https://twitter.com/hioffen'
|
TWITTER_URL = 'https://twitter.com/hioffen'
|
||||||
|
|
||||||
OFFEN_ACCOUNT_ID = '9b63c4d8-65c0-438c-9d30-cc4b01173393'
|
OFFEN_ACCOUNT_ID = '9b63c4d8-65c0-438c-9d30-cc4b01173393'
|
||||||
|
|
||||||
STATUS_URL = '/blog/laying-foundation-for-fair-web-analytics'
|
|
||||||
|
@ -11,7 +11,6 @@ SITEURL = os.environ.get('SITEURL', 'https://www.offen.dev')
|
|||||||
# RELATIVE_URLS = True
|
# RELATIVE_URLS = True
|
||||||
|
|
||||||
FEED_ALL_ATOM = 'feeds/all.atom.xml'
|
FEED_ALL_ATOM = 'feeds/all.atom.xml'
|
||||||
CATEGORY_FEED_ATOM = 'feeds/{slug}.atom.xml'
|
|
||||||
|
|
||||||
DELETE_OUTPUT_DIRECTORY = True
|
DELETE_OUTPUT_DIRECTORY = True
|
||||||
|
|
||||||
|
20
homepage/theme/templates/archives.html
Normal file
20
homepage/theme/templates/archives.html
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% set title = 'Feed' %}
|
||||||
|
{% set description = 'Description' %}
|
||||||
|
{% set href = 'blog/' %}
|
||||||
|
{% set no_stats = False %}
|
||||||
|
{% set template = 'archives' %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
{% for article in articles %}
|
||||||
|
{% if loop.index != 1 %}
|
||||||
|
<hr>
|
||||||
|
{% endif %}
|
||||||
|
<div class="content">
|
||||||
|
<div class="container-reader">
|
||||||
|
{{ article.content }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
{% endblock %}
|
9
homepage/theme/templates/article.html
Normal file
9
homepage/theme/templates/article.html
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% set title = article.title %}
|
||||||
|
{% set description = article.description %}
|
||||||
|
{% set href = article.save_as.replace('index.html', '') %}
|
||||||
|
{% set sm_image_url = article.sm_image_url %}
|
||||||
|
{% set no_stats = article.no_stats %}
|
||||||
|
{% set template = article.template %}
|
||||||
|
{% set content = article.content %}
|
@ -1,32 +1,34 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
|
{% block head %}
|
||||||
<head>
|
<head>
|
||||||
<title>
|
<title>
|
||||||
{% block title %}{{ page.title }}{% endblock %}
|
{% block title %}{{ title }}{% endblock %}
|
||||||
</title>
|
</title>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||||
<meta name="description" content="{{ page.description }}">
|
<meta name="description" content="{{ description }}">
|
||||||
<meta property="og:site_name" content="{{ SITENAME }}">
|
<meta property="og:site_name" content="{{ SITENAME }}">
|
||||||
<meta property="og:locale" content="{{ DEFAULT_LANG }}">
|
<meta property="og:locale" content="{{ DEFAULT_LANG }}">
|
||||||
<meta property="og:title" content="{{ page.title }}">
|
<meta property="og:title" content="{{ title }}">
|
||||||
<meta property="og:description" content="{{ page.description }}">
|
<meta property="og:description" content="{{ description }}">
|
||||||
<meta property="og:type" content="website">
|
<meta property="og:type" content="website">
|
||||||
<meta property="og:url" content="{{ SITEURL }}{{ page.href or page.url or page.save_as }}">
|
<meta property="og:url" content="{{ SITEURL }}/{{ href }}">
|
||||||
<meta property="og:image" content="{{ SITEURL }}{{ page.sm_image_url }}">
|
<meta property="og:image" content="{{ SITEURL }}{{ sm_image_url or '/theme/images/offen-logo-social-media.jpg' }}">
|
||||||
<meta name="twitter:image:alt" content="Offen logo">
|
<meta name="twitter:image:alt" content="Offen logo">
|
||||||
<meta name="twitter:card" content="summary_large_image">
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
<link rel="canonical" href="{{ SITEURL }}{{ page.href or page.url or page.save_as }}">
|
<link rel="canonical" href="{{ SITEURL }}/{{ href }}">
|
||||||
<link rel="shortcut icon" type="image/x-icon" href="/theme/images/favicon.ico">
|
<link rel="shortcut icon" type="image/x-icon" href="/theme/images/favicon.ico">
|
||||||
{% assets filters="libsass,postcss,cssmin", output="css/style.min.css", "css/normalize.css", "css/fonts.css", "css/style.scss" %}
|
{% assets filters="libsass,postcss,cssmin", output="css/style.min.css", "css/normalize.css", "css/fonts.css", "css/style.scss" %}
|
||||||
<link rel="stylesheet" href="/{{ ASSET_URL }}">
|
<link rel="stylesheet" href="/{{ ASSET_URL }}">
|
||||||
{% endassets %}
|
{% endassets %}
|
||||||
{% if OFFEN_ACCOUNT_ID and not page.no_stats %}
|
{% if OFFEN_ACCOUNT_ID and not no_stats %}
|
||||||
<script async src="/script.js" data-account-id="{{ OFFEN_ACCOUNT_ID }}"></script>
|
<script async src="/script.js" data-account-id="{{ OFFEN_ACCOUNT_ID }}"></script>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</head>
|
</head>
|
||||||
<body class="{{page.template}}">
|
{% endblock %}
|
||||||
|
<body class="{{ template }}">
|
||||||
<div class="menu">
|
<div class="menu">
|
||||||
<section class="nav-bar">
|
<section class="nav-bar">
|
||||||
<div class="nav-container">
|
<div class="nav-container">
|
||||||
@ -43,16 +45,16 @@
|
|||||||
<a href="/deep-dive/">Deep dive</a>
|
<a href="/deep-dive/">Deep dive</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ STATUS_URL }}">Status</a>
|
<a href="/blog/">Status</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="/about/">About</a>
|
<a href="/about/">About</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="{{GITHUB_ORG}}" rel="noopener" target="_blank">GitHub</a>
|
<a href="{{ GITHUB_ORG }}" rel="noopener" target="_blank">GitHub</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="{{PATREON_URL}}" rel="noopener" target="_blank">Patreon</a>
|
<a href="{{ PATREON_URL }}" rel="noopener" target="_blank">Patreon</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
@ -63,7 +65,7 @@
|
|||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="container-reader">
|
<div class="container-reader">
|
||||||
{{ page.content }}
|
{{ content }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
@ -92,7 +94,7 @@
|
|||||||
Offen is still in alpha. Discover what is already up and running and where we want to go in the coming months.
|
Offen is still in alpha. Discover what is already up and running and where we want to go in the coming months.
|
||||||
</p>
|
</p>
|
||||||
<div class="btn-wrapper">
|
<div class="btn-wrapper">
|
||||||
<a class="btn btn-color-black" href="{{ STATUS_URL }}">Project status</a>
|
<a class="btn btn-color-black" href="/blog/">Project status</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
@ -103,7 +105,7 @@
|
|||||||
We're working hard to ensure that Offen is independent, cutting-edge and can be sustained for years to come.
|
We're working hard to ensure that Offen is independent, cutting-edge and can be sustained for years to come.
|
||||||
</p>
|
</p>
|
||||||
<div class="btn-wrapper">
|
<div class="btn-wrapper">
|
||||||
<a class="btn btn-color-black" href="{{PATREON_URL}}" rel="noopener" target="_blank">Support us</a>
|
<a class="btn btn-color-black" href="{{ PATREON_URL }}" rel="noopener" target="_blank">Support us</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -121,22 +123,22 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="footer-card">
|
<div class="footer-card">
|
||||||
<p>
|
<p>
|
||||||
<a href="mailto:{{CONTACT_EMAIL}}">{{CONTACT_EMAIL}}</a>
|
<a href="mailto:{{ CONTACT_EMAIL }}">{{CONTACT_EMAIL}}</a>
|
||||||
<a target="_blank" href="/theme/{{GPG_KEY_FILE}}">[GPG Key]</a>
|
<a target="_blank" href="/theme/{{ GPG_KEY_FILE }}">[GPG Key]</a>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="{{GITHUB_ORG}}" rel="noopener" target="_blank">GitHub</a>
|
<a href="{{ GITHUB_ORG }}" rel="noopener" target="_blank">GitHub</a>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="{{PATREON_URL}}" rel="noopener" target="_blank">Patreon</a>
|
<a href="{{ PATREON_URL }}" rel="noopener" target="_blank">Patreon</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer-card">
|
<div class="footer-card">
|
||||||
<p>
|
<p>
|
||||||
<a href="{{LINKEDIN_URL}}" rel="noopener" target="_blank">LinkedIn</a>
|
<a href="{{ LINKEDIN_URL }}" rel="noopener" target="_blank">LinkedIn</a>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="{{TWITTER_URL}}" rel="noopener" target="_blank">Twitter</a>
|
<a href="{{ TWITTER_URL }}" rel="noopener" target="_blank">Twitter</a>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="/legal-notice/">Legal Notice</a>
|
<a href="/legal-notice/">Legal Notice</a>
|
||||||
|
@ -67,7 +67,7 @@
|
|||||||
Offen is still in alpha. Discover what is already up and running and where we want to go in the coming months.
|
Offen is still in alpha. Discover what is already up and running and where we want to go in the coming months.
|
||||||
</p>
|
</p>
|
||||||
<div class="btn-wrapper">
|
<div class="btn-wrapper">
|
||||||
<a class="btn btn-color-white" href="{{ STATUS_URL }}">Project status</a>
|
<a class="btn btn-color-white" href="/blog/">Project status</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1 +1,9 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% set title = page.title %}
|
||||||
|
{% set description = page.description %}
|
||||||
|
{% set href = page.save_as.replace('index.html', '') %}
|
||||||
|
{% set sm_image_url = page.sm_image_url %}
|
||||||
|
{% set no_stats = page.no_stats %}
|
||||||
|
{% set template = page.template %}
|
||||||
|
{% set content = page.content %}
|
||||||
|
@ -3,9 +3,17 @@
|
|||||||
{% for page in pages %}
|
{% for page in pages %}
|
||||||
{% if not page.exclude_from_sitemap %}
|
{% if not page.exclude_from_sitemap %}
|
||||||
<url>
|
<url>
|
||||||
<loc>{{ SITEURL }}{{ page.href }}</loc>
|
<loc>{{ SITEURL }}/{{ page.save_as | replace('index.html', '') }}</loc>
|
||||||
<priority>{{ page.sitemap_priority or 0.5 }}</priority>
|
<priority>{{ page.sitemap_priority or 0.5 }}</priority>
|
||||||
</url>
|
</url>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
{% for article in articles %}
|
||||||
|
{% if not article.exclude_from_sitemap %}
|
||||||
|
<url>
|
||||||
|
<loc>{{ SITEURL }}/{{ article.save_as | replace('index.html', '') }}</loc>
|
||||||
|
<priority>{{ article.sitemap_priority or 0.5 }}</priority>
|
||||||
|
</url>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
</urlset>
|
</urlset>
|
||||||
|
Loading…
Reference in New Issue
Block a user