Skip to content

Commit

Permalink
added structured data
Browse files Browse the repository at this point in the history
  • Loading branch information
kevinpapst committed Feb 6, 2025
1 parent 8260180 commit e49e4d9
Show file tree
Hide file tree
Showing 3 changed files with 93 additions and 64 deletions.
25 changes: 25 additions & 0 deletions _includes/shopping/kimai.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{%- assign rating = 0 %}
{%- for testimonial in site.data.testimonials %}
{% assign rating = rating | plus: testimonial.rating %}
{% endfor %}
{%- assign amount = site.data.testimonials | size %}
{%- assign amountFloat = amount | times: 1.0 %}
{%- assign value = rating | divided_by: amountFloat -%}
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebApplication",
"name": "Kimai",
"applicationCategory": "BusinessApplication",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": {{ value | round: 2 }},
"ratingCount": {{ amount }}
},
"offers": {
"@type": "Offer",
"price": 0,
"priceCurrency": "EUR"
}
}
</script>
131 changes: 67 additions & 64 deletions _layouts/base.html
Original file line number Diff line number Diff line change
@@ -1,70 +1,73 @@
<!doctype html>
<html lang="{{ page.lang }}" dir="{% if site.rtl contains page.lang %}rtl{% else %}ltr{% endif %}">
<head>
{% assign DOMAIN = site.language_base[page.lang] -%}
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="msapplication-TileColor" content="#2d89ef">
<meta name="theme-color" content="#4188c9">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/>
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="{{ page.robots | default: 'index,follow' }}">
<link rel="apple-touch-icon" sizes="180x180" href="{{ DOMAIN }}/images/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="{{ DOMAIN }}/images/icon_32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="{{ DOMAIN }}/images/icon_16x16.png">
<title>
{%- assign page_title = page.title %}
{%- assign prefix = ' – Kimai' %}
{%- if site.data[page.lang].translation[page.slug].title != nil -%}
{% assign page_title = site.data[page.lang].translation[page.slug].title %}
{%- assign prefix = '' %}
{%- elsif site.data[page.lang].translation[page.slug].name != nil -%}
{% assign page_title = site.data[page.lang].translation[page.slug].name %}
{%- elsif site.data[page.lang].store.items[page.slug].title != nil -%}
{% assign page_title = site.data[page.lang].store.items[page.slug].title %}
{%- endif -%}
{{- page_title }}{% unless page_title contains 'Kimai'%}{{ prefix -}}{% endunless -%}
</title>
{%- assign page_description = '' -%}
{%- if site.data[page.lang].translation[page.slug].description != nil -%}
{% assign page_description = site.data[page.lang].translation[page.slug].description %}
{%- elsif site.data[page.lang].translation[page.slug].intro != nil -%}
{% assign page_description = site.data[page.lang].translation[page.slug].intro %}
{%- elsif page.description != nil -%}
{% assign page_description = page.description %}
{%- elsif page.intro != nil -%}
{% assign page_description = page.intro %}
{%- endif %}
{%- if page_description != nil and page_description != '' %}
{%- assign page_description = page_description | strip_html | strip_newlines | strip | replace: " ", " " | replace: " ", " " | strip | truncate: 156 %}
<meta name="description" content="{{ page_description }}">
<meta property="og:description" content="{{ page_description }}">
<meta name="twitter:description" content="{{ page_description }}">
{%- endif %}
{% unless site.custom_domain[page.lang] -%}
<link type="application/atom+xml" rel="alternate" href="{{ '/feed.xml' | full_url: 'en' }}" title="Kimai Time-Tracking" />
{%- endunless %}
<meta property="og:locale" content="{{ page.lang }}">
<meta property="og:type" content="website">
<meta property="og:title" content="Kimai Time-Tracking">
<meta property="og:image" content="{{ DOMAIN }}/images/social-preview.webp">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Kimai Time-Tracking">
<meta name="twitter:site" content="@kimai_org">
<meta name="twitter:image" content="{{ DOMAIN }}/images/social-preview.webp">
{%- if page.canonical != nil %}
<link rel="canonical" href="{{ DOMAIN }}{{ page.canonical }}" />
{%- endif %}
{%- if page.lang != nil %}
{%- assign langPages = site[page.collection] | where: "slug", page.slug -%}
{%- if langPages and langPages.size > 1 %}
{%- for langPage in langPages %}
<link rel="alternate" hreflang="{{ langPage.lang | replace: '_', '-' | downcase }}" href="{% include link-language-domain.html language=langPage.lang url=langPage.url %}">
{%- endfor %}
{%- endif %}
{%- endif %}
<link href="/assets/build/main{% if site.rtl contains page.lang %}.rtl{% endif %}.css?v6" rel="stylesheet" />
{% assign DOMAIN = site.language_base[page.lang] -%}
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="msapplication-TileColor" content="#2d89ef">
<meta name="theme-color" content="#4188c9">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/>
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="{{ page.robots | default: 'index,follow' }}">
<link rel="apple-touch-icon" sizes="180x180" href="{{ DOMAIN }}/images/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="{{ DOMAIN }}/images/icon_32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="{{ DOMAIN }}/images/icon_16x16.png">
<title>
{%- assign page_title = page.title %}
{%- assign prefix = ' – Kimai' %}
{%- if site.data[page.lang].translation[page.slug].title != nil -%}
{% assign page_title = site.data[page.lang].translation[page.slug].title %}
{%- assign prefix = '' %}
{%- elsif site.data[page.lang].translation[page.slug].name != nil -%}
{% assign page_title = site.data[page.lang].translation[page.slug].name %}
{%- elsif site.data[page.lang].store.items[page.slug].title != nil -%}
{% assign page_title = site.data[page.lang].store.items[page.slug].title %}
{%- endif -%}
{{- page_title }}{% unless page_title contains 'Kimai'%}{{ prefix -}}{% endunless -%}
</title>
{%- assign page_description = '' -%}
{%- if site.data[page.lang].translation[page.slug].description != nil -%}
{% assign page_description = site.data[page.lang].translation[page.slug].description %}
{%- elsif site.data[page.lang].translation[page.slug].intro != nil -%}
{% assign page_description = site.data[page.lang].translation[page.slug].intro %}
{%- elsif page.description != nil -%}
{% assign page_description = page.description %}
{%- elsif page.intro != nil -%}
{% assign page_description = page.intro %}
{%- endif %}
{%- if page_description != nil and page_description != '' %}
{%- assign page_description = page_description | strip_html | strip_newlines | strip | replace: " ", " " | replace: " ", " " | strip | truncate: 156 %}
<meta name="description" content="{{ page_description }}">
<meta property="og:description" content="{{ page_description }}">
<meta name="twitter:description" content="{{ page_description }}">
{%- endif %}
{% unless site.custom_domain[page.lang] -%}
<link type="application/atom+xml" rel="alternate" href="{{ '/feed.xml' | full_url: 'en' }}" title="Kimai Time-Tracking" />
{%- endunless %}
<meta property="og:locale" content="{{ page.lang }}">
<meta property="og:type" content="website">
<meta property="og:title" content="Kimai Time-Tracking">
<meta property="og:image" content="{{ DOMAIN }}/images/social-preview.webp">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Kimai Time-Tracking">
<meta name="twitter:site" content="@kimai_org">
<meta name="twitter:image" content="{{ DOMAIN }}/images/social-preview.webp">
{%- if page.canonical != nil %}
<link rel="canonical" href="{{ DOMAIN }}{{ page.canonical }}" />
{%- endif %}
{%- if page.lang != nil %}
{%- assign langPages = site[page.collection] | where: "slug", page.slug -%}
{%- if langPages and langPages.size > 1 %}
{%- for langPage in langPages %}
<link rel="alternate" hreflang="{{ langPage.lang | replace: '_', '-' | downcase }}" href="{% include link-language-domain.html language=langPage.lang url=langPage.url %}">
{%- endfor %}
{%- endif %}
{%- endif %}
<link href="/assets/build/main{% if site.rtl contains page.lang %}.rtl{% endif %}.css?v6" rel="stylesheet" />
{% if layout.shopping != nil -%}
{% include shopping/{{ layout.shopping }}.html %}
{%- endif %}
</head>
<body class="{{ page.body-class }}">

Expand Down
1 change: 1 addition & 0 deletions _layouts/homepage.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
layout: base
shopping: kimai
---

<main class="page-wrapper">
Expand Down

0 comments on commit e49e4d9

Please sign in to comment.