Skip to content
Snippets Groups Projects
Unverified Commit fca1bd67 authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Add (mostly Schema.org) RDFa microdata

parent 15d0a821
No related branches found
No related tags found
No related merge requests found
Pipeline #192605 passed
......@@ -56,9 +56,14 @@ tree = "https://edugit.org/Teckids/team-pr/teckids.org/-/tree/master/content"
issues = "https://edugit.org/Teckids/team-pr/teckids.org/-/issues"
[extra.footer]
address = "Kennedyallee 18<br/>53175 Bonn"
address.street = "Kennedyallee 18"
address.postal_code = "53175"
address.city = "Bonn"
bank = "<b>IBAN:</b> DE31 3705 0198 1933 0485 46<br/><b>BIC:</b> COLSDE33XXX<br/>Sparkasse KoelnBonn"
license = "CC-BY-SA"
[extra.footer.license]
name = "CC-BY-SA"
url = "https://creativecommons.org/licenses/by-sa/4.0/"
[[extra.footer.menu]]
label = "Kleingedrucktes"
......
......@@ -2,6 +2,9 @@
title = "Teckids bei den Grazer Linux-Tagen 2024"
authors = ["krfl9500", "codecraft"]
[extra.microdata]
about = ["https://ticdesk.teckids.org/app/paweljong/event/froglabs-2024-glt"]
[extra.depiction]
image = "collage.jpg"
alt = "Collage mit einem Blick vom Schlossberg auf den Uhrturm und die Stadt im Hintergrund; im Vordergrund ein Foto von Kindern, die ein Breadboard bestücken und eines von Kindern, die an einem Laptop ein Spiel ausprobieren"
......
......@@ -8,6 +8,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta property="schema:publisher" href="https://teckids.org/" />
{% block meta %}
<meta name="description" content="{{ thing.description | default(value=config.description) }}" />
......
<div class="media author-section is-flex">
<div class="media author-section is-flex" resource="{{ post.permalink }}" typeof="schema:BlogPosting">
<div class="media-left author-images is-align-self-center">
{% set authors_data = load_data(path="authors.json") -%}
{% for author in post.authors -%}
<figure class="image is-48x48 is-inline-block">
<figure class="image is-48x48 is-inline-block" property="schema:contributor" resource="https://teckids.org/authors/{{ author }}/" typeof="schema:Person">
{% set meta = get_image_metadata(path="authors/" ~ author ~ ".jpg", allow_missing=true) -%}
{% if meta -%}
{% set image = resize_image(path="authors/" ~ author ~ ".jpg", width=48, height=48) -%}
<img class="is-rounded" src="{{ image.url }}" alt="Benutzerbild von {{ authors_data[post.authors.0].display_name }}" />
<img property="schema:image" class="is-rounded" src="{{ image.url }}" alt="Benutzerbild von {{ authors_data[post.authors.0].display_name }}" />
{% else -%}
<div class="is-flex is-fullheight">
<span class="fa-stack fa-lg is-block is-align-self-center">
......@@ -21,7 +21,7 @@
<ul class="media-content is-align-self-center">
<div class="title is-5">
{% for author in post.authors -%}
<span class="is-text-nowrap">{{ authors_data[author].display_name }}</span>{% if not loop.last %}, {% endif %}
<span resource="https://teckids.org/authors/{{ author }}/" typeof="schema:Person" class="is-text-nowrap"><span property="schema:name">{{ authors_data[author].display_name }}</span></span>{% if not loop.last %}, {% endif %}
{% endfor %}
</div>
</ul>
......
<div class="card is-flex is-flex-direction-column is-fullheight is-justify-content-space-between">
<div class="card is-flex is-flex-direction-column is-fullheight is-justify-content-space-between" typeof="schema:BlogPosting" resource="{{ post.permalink }}" property="schema:blogPosting">
{% if post.extra.microdata.about %}
{% for about in post.extra.microdata.about %}
<meta property="schema:about" href="{{ about }}" />
{% endfor %}
{% endif %}
<div class="card-image">
<a href="{{ post.permalink }}">
<figure class="image is-4by3">
......@@ -11,10 +16,10 @@
</a>
</div>
<div class="card-content is-fullheight">
<a href="{{ post.permalink }}"><h3 class="title is-4">{{ post.title }}</h3></a>
<a href="{{ post.permalink }}"><h3 class="title is-4" property="schema:headline">{{ post.title }}</h3></a>
<div class="content">
{% include "blog/meta_line.html" -%}
{{ post.summary | safe }}
<span propery="schema:abstract">{{ post.summary | safe }}</span>
</div>
</div>
<div class="card-footer">
......
<p class="subtitle is-7 py-2">
<span title="Veröffentlicht am"><i class="fa-solid fa-calendar-days"></i> {{ post.date }}</span> ·
<span title="Veröffentlicht am"><i class="fa-solid fa-calendar-days"></i> <time datetime="{{ post.date }}" property="schema:datePublished">{{ post.date }}</time></span> ·
<span title="Lesezeit"><i class="fa-solid fa-hourglass-start"></i> {{ post.reading_time }} min</span>
</p>
{% extends "page.html" %}
{% block content %}
{% set blog_section = get_section(path="blog/_index.md") %}
{% set post = page -%}
<div class="columns mt-4">
<div class="columns mt-4" typeof="schema:BlogPosting">
<meta property="schema:isPartOf" href="{{ blog_section.permalink }}" />
{% if post.extra.microdata.about %}
{% for about in post.extra.microdata.about %}
<meta property="schema:about" href="{{ about }}" />
{% endfor %}
{% endif %}
<div class="column is-three-quarters">
<div class="content">
<div class="content" property="schema:articleBody">
{{ page.content | safe }}
</div>
</div>
......
<div class="columns is-multiline">
<div class="columns is-multiline" resource="https://teckids.org/" typeof="schema:Organization">
<div class="column is-one-fourth">
<p class="title is-5">Teckids e.V.</p>
<address>
{{config.extra.footer.address|safe}}
<p class="title is-5" property="schema:name">Teckids e.V.</p>
<address property="schema:address" typeof="schema:PostalAddress">
<span property="schema:streetAddress">{{config.extra.footer.address.street|safe}}</span><br/>
<span property="schema:postalCode">{{config.extra.footer.address.postal_code|safe}}</span>&nbsp;
<span property="schema:addressLocality">{{config.extra.footer.address.city|safe}}</span>
</address>
<aside class="mt-5">
<p class="title is-6">Spendenkonto</p>
......@@ -13,9 +15,10 @@
<p class="title is-5">Unterstützer und Partner*innen</p>
<div class="columns is-centered is-vcentered is-multiline">
{% for sponsor in config.extra.footer.sponsor %}
<div class="column is-one-quarter">
<div class="column is-one-quarter" property="schema:sponsor" typeof="schema:Organization">
<figure class="image">
<a href="{{sponsor.link}}">
<meta property="schema:name" content="{{sponsor.alt}}" />
<a property="schema:url" href="{{sponsor.link}}">
<img src="/images/sponsoren/{{sponsor.logo}}" alt="{{sponsor.alt}}" />
</a>
</figure>
......@@ -48,7 +51,7 @@
</div>
</div>
<aside class="section has-text-centered is-size-7">
© {{ config.author }} · Lizenziert unter {{ config.extra.footer.license }} (sofern nicht anders angegeben)<br/>
© {{ config.author }} · Lizenziert unter <a property="schema:license" href="{{ config.extra.footer.license.url }}">{{ config.extra.footer.license.name }}</a><br/>
Erstellt mit <a href="https://www.getzola.org/">Zola</a> und <a href="https://bulma.io/">Bulma</a><br/>
{% if thing.path %}Diese Seite kann <a href="{{ config.extra.repo.web.tree }}/{{ thing.relative_path }}">auf EduGit editiert werden</a> oder <a href="{{ config.extra.repo.web.issues }}">eine Verbesserung vorgeschlagen werden</a>.<br/>{% endif %}
</aside>
{% set blog_section = get_section(path="blog/_index.md") %}
<section class="section">
<section class="section" resource="{{ blog_section.permalink }}" typeof="schema:Blog">
<meta property="schema:publisher" href="https://teckids.org/" />
<div class="container">
<h2 class="title is-2">{{ title | default(value="Aus dem Teckids-Blog") }}</h2>
<div class="columns is-multiline is-same-height mt-4">
{% for post in blog_section.pages | slice(end=6) %}
{% for post in blog_section.pages | slice(end=9) %}
<div class="column is-one-third">
{% include "blog/card.html" %}
</div>
......
<section
class="hero is-fullheight-with-navbar has-teckids-orange-light-bg"
id="frontpage-claim-block"
resource="https://teckids.org/"
>
<div class="hero-body">
<div class="container">
<p class="title is-1 has-text-centered">{{ config.description }}</p>
<p class="title is-1 has-text-centered" property="schema:slogan">{{ config.description }}</p>
<div class="columns is-same-height mt-4">
{% for claim in section.extra.claims %}
<div class="column is-one-third">
......
{% set projects_section = get_section(path="projekte/_index.md") %}
<section class="section">
<section class="section" resource="https://teckids.org/">
<div class="container">
<h2 class="title is-2">Unsere Projekte</h2>
<div class="columns is-same-height mt-4">
{% for project_section_path in projects_section.subsections %}
{% set project_section = get_section(path=project_section_path) %}
<div class="column is-one-third">
<div class="column is-one-third" property="schema:brand" resource="{{ project_section.permalink }}" typeof="schema:Brand">
<div class="card is-shadowless">
<div class="card-image">
<figure class="image is-70p">
......@@ -14,9 +14,9 @@
</figure>
</div>
<div class="card-content">
<a href="{{ project_section.permalink }}"><h3 class="title is-3">{{ project_section.title }}</h3></a>
<a href="{{ project_section.permalink }}"><h3 class="title is-3" property="schema:name">{{ project_section.title }}</h3></a>
<div class="content">
{{ project_section.description }}
<span property="schema:description">{{ project_section.description }}</span>
<ul>
{% for thesis in project_section.extra.theses %}
<li>{{ thesis }}</li>
......
......@@ -14,10 +14,10 @@
{% block main %}
<section class="hero hero-main is-fullheight-with-navbar project-background-{{ section.extra.project_slug }} roboto-black">
<div class="hero-body">
<div class="hero-body" typeof="schema:Brand">
<div class="container">
<div class="columns is-centered project-title-{{ section.extra.project_slug }}">
<h1 class="title is-1">{{ section.title }}</h1>
<div class="columns is-centered project-title-{{ section.extra.project_slug }}">i
<h1 class="title is-1" property="schema:name">{{ section.title }}</h1>
</div>
<div class="container">
<div class="columns is-vcentered">
......
{% set events_data = load_data(path="events.json") -%}
{% set event = events_data[slug] -%}
{% if not no_title %}<h2 class="title is-2">{{ title | default(value="Informationen und Anmeldung") }}</h2>{% endif %}
<section class="section event-section">
<section class="section event-section" resource="https://ticdesk.teckids.org/app/paweljong/event/{{ slug }}" vocab="http://schema.org/" typeof="Event">
<meta property="organizer" href="https://teckids.org/"/>
<div class="card event-card">
<div class="card-content">
<div class="columns is-vcentered">
<div class="column is-two-thirds event-info">
<h3 class="title is-5">{{ event.display_name }}</h3>
<p class="subtitle is-6">{{ event.description }}</p>
<h3 class="title is-5" property="name">{{ event.display_name }}</h3>
<p class="subtitle is-6" property="description">{{ event.description }}</p>
<div class="notification is-primary is-light mt-4 mb-4">
<div class="columns">
<div class="column is-one-third">
<h4 class="title ">Wo?</h4>
<i class="fa-regular fa-location-dot mr-3"></i>
<address class="is-inline-block">
{{ event.location }}
</address>
<address class="is-inline-block" property="location">{{ event.location }}</address>
</div>
<div class="column is-one-third">
<h4 class="title">Wann?</h4>
<i class="fa-regular fa-calendar-days mr-3"></i>
<time datetime="{{ event.date }}">
{{ event.date | date }}
</time>
<time datetime="{{ event.date }}" property="startDate">{{ event.date | date }}</time>
</div>
<div class="column is-one-third">
<h4 class="title">Preis?</h4>
......@@ -40,6 +37,7 @@
</div>
</div>
{% if event.fully_booked %}
<meta property="remainingAttendeeCapacity" content="0"/>
<div class="message is-danger">
<div class="message-body">
Die Veranstaltung ist ausgebucht. Für weitere Anmeldungen oder Plätze auf der
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment