Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • master
1 result

Target

Select target project
  • pi/pi-cms
  • mail1/pi-cms
2 results
Select Git revision
  • jw
  • master
2 results
Show changes
Commits on Source (22)
Showing
with 427 additions and 39 deletions
from wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_register
from .models import Tag
class TagAdmin(ModelAdmin):
model = Tag
menu_label = "Štítky"
menu_icon = "tag"
menu_order = 290
add_to_settings_menu = False
exclude_from_explorer = False
modeladmin_register(TagAdmin)
...@@ -4,11 +4,9 @@ from django.db import migrations ...@@ -4,11 +4,9 @@ from django.db import migrations
class Migration(migrations.Migration): class Migration(migrations.Migration):
dependencies = [ dependencies = [
('home', '0024_alter_homepage_academic_council_description_and_more'), ("home", "0024_alter_homepage_academic_council_description_and_more"),
('home', '0032_alter_homevideopage_content'), ("home", "0032_alter_homevideopage_content"),
] ]
operations = [ operations = []
]
# Generated by Django 4.2.4 on 2023-08-21 18:21
import django.db.models.deletion
import modelcluster.contrib.taggit
import modelcluster.fields
import wagtail_color_panel.fields
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("contenttypes", "0002_remove_content_type_name"),
("home", "0033_merge_20230820_1844"),
]
operations = [
migrations.CreateModel(
name="Tag",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"name",
models.CharField(max_length=100, unique=True, verbose_name="name"),
),
(
"slug",
models.SlugField(
allow_unicode=True,
max_length=100,
unique=True,
verbose_name="slug",
),
),
(
"bg_color",
wagtail_color_panel.fields.ColorField(
blank=True, max_length=7, null=True, verbose_name="Barva pozadí"
),
),
(
"fg_color",
wagtail_color_panel.fields.ColorField(
blank=True, max_length=7, null=True, verbose_name="Barva textu"
),
),
],
options={
"abstract": False,
},
),
migrations.CreateModel(
name="TaggedArticle",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"object_id",
models.IntegerField(db_index=True, verbose_name="object ID"),
),
(
"content_object",
modelcluster.fields.ParentalKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="tagged_items",
to="home.homearticlepage",
),
),
(
"content_type",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="%(app_label)s_%(class)s_tagged_items",
to="contenttypes.contenttype",
verbose_name="content type",
),
),
(
"tag",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="%(app_label)s_%(class)s_items",
to="home.tag",
),
),
],
options={
"abstract": False,
},
),
migrations.DeleteModel(
name="ArticleTag",
),
migrations.AlterField(
model_name="homearticlepage",
name="tags",
field=modelcluster.contrib.taggit.ClusterTaggableManager(
blank=True,
help_text="A comma-separated list of tags.",
through="home.TaggedArticle",
to="home.Tag",
verbose_name="Štítky",
),
),
]
# Generated by Django 4.2.4 on 2023-08-21 18:26
import wagtail_color_panel.fields
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("home", "0034_tag_taggedarticle_delete_articletag_and_more"),
]
operations = [
migrations.AlterField(
model_name="tag",
name="bg_color",
field=wagtail_color_panel.fields.ColorField(
default="#fafafa", max_length=7, verbose_name="Barva pozadí"
),
),
migrations.AlterField(
model_name="tag",
name="fg_color",
field=wagtail_color_panel.fields.ColorField(
default="#000000", max_length=7, verbose_name="Barva textu"
),
),
]
# Generated by Django 4.2.4 on 2023-08-21 18:44
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("home", "0035_alter_tag_bg_color_alter_tag_fg_color"),
]
operations = [
migrations.AlterField(
model_name="taggedarticle",
name="tag",
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="article_tags",
to="home.tag",
),
),
]
# Generated by Django 4.2.4 on 2023-08-21 19:06
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("home", "0036_alter_taggedarticle_tag"),
]
operations = [
migrations.RemoveField(
model_name="homearticlepage",
name="tags",
),
]
# Generated by Django 4.2.4 on 2023-08-21 19:06
import modelcluster.contrib.taggit
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("home", "0037_remove_homearticlepage_tags"),
]
operations = [
migrations.AddField(
model_name="homearticlepage",
name="tags",
field=modelcluster.contrib.taggit.ClusterTaggableManager(
blank=True,
help_text="A comma-separated list of tags.",
through="home.TaggedArticle",
to="home.Tag",
verbose_name="Štítky",
),
),
]
# Generated by Django 4.2.4 on 2023-08-21 19:09
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("home", "0038_homearticlepage_tags"),
]
operations = [
migrations.RemoveField(
model_name="taggedarticle",
name="content_type",
),
migrations.RemoveField(
model_name="taggedarticle",
name="object_id",
),
]
...@@ -2,9 +2,10 @@ from django.db import models ...@@ -2,9 +2,10 @@ from django.db import models
from django.utils import timezone from django.utils import timezone
from modelcluster.contrib.taggit import ClusterTaggableManager from modelcluster.contrib.taggit import ClusterTaggableManager
from modelcluster.fields import ParentalKey from modelcluster.fields import ParentalKey
from taggit.models import TaggedItemBase from taggit.models import ItemBase, TagBase
from wagtail.admin.panels import ( from wagtail.admin.panels import (
FieldPanel, FieldPanel,
InlinePanel,
MultiFieldPanel, MultiFieldPanel,
ObjectList, ObjectList,
TabbedInterface, TabbedInterface,
...@@ -15,17 +16,33 @@ from wagtail.contrib.settings.models import BaseSiteSetting, register_setting ...@@ -15,17 +16,33 @@ from wagtail.contrib.settings.models import BaseSiteSetting, register_setting
from wagtail.documents import get_document_model from wagtail.documents import get_document_model
from wagtail.fields import RichTextField, StreamField from wagtail.fields import RichTextField, StreamField
from wagtail.models import Page from wagtail.models import Page
from wagtail_color_panel.edit_handlers import NativeColorPanel
from wagtail_color_panel.fields import ColorField
from .blocks import PersonBlock from .blocks import PersonBlock
# --- BEGIN Tags --- # --- BEGIN Tags ---
class ArticleTag(TaggedItemBase): class Tag(TagBase):
bg_color = ColorField(verbose_name="Barva pozadí", default="#fafafa")
fg_color = ColorField(verbose_name="Barva textu", default="#000000")
panels = [
FieldPanel("name"),
FieldPanel("slug"),
NativeColorPanel("bg_color"),
NativeColorPanel("fg_color"),
]
class TaggedArticle(ItemBase):
content_object = ParentalKey( content_object = ParentalKey(
"home.HomeArticlePage", on_delete=models.CASCADE, related_name="tagged_items" "home.HomeArticlePage", on_delete=models.CASCADE, related_name="tagged_items"
) )
tag = models.ForeignKey(Tag, on_delete=models.CASCADE, related_name="article_tags")
# --- END Tags --- # --- END Tags ---
...@@ -261,7 +278,7 @@ class HomePage(RoutablePageMixin, Page): ...@@ -261,7 +278,7 @@ class HomePage(RoutablePageMixin, Page):
# --- BEGIN Articles, events, videos and documents --- # --- BEGIN Articles, events, videos and documents ---
class HomeArticlesPage(RoutablePageMixin, Page): class HomeArticlesPage(Page):
content = RichTextField(verbose_name="Obsah", blank=True, null=True) content = RichTextField(verbose_name="Obsah", blank=True, null=True)
parent_page_type = ["home.HomePage"] parent_page_type = ["home.HomePage"]
...@@ -293,7 +310,7 @@ class HomeArticlesPage(RoutablePageMixin, Page): ...@@ -293,7 +310,7 @@ class HomeArticlesPage(RoutablePageMixin, Page):
verbose_name = "Rozcestník článků" verbose_name = "Rozcestník článků"
class HomeEventsPage(RoutablePageMixin, Page): class HomeEventsPage(Page):
content = RichTextField(verbose_name="Obsah", blank=True, null=True) content = RichTextField(verbose_name="Obsah", blank=True, null=True)
parent_page_type = ["home.HomePage"] parent_page_type = ["home.HomePage"]
...@@ -311,7 +328,7 @@ class HomeEventsPage(RoutablePageMixin, Page): ...@@ -311,7 +328,7 @@ class HomeEventsPage(RoutablePageMixin, Page):
verbose_name = "Rozcestník akcí" verbose_name = "Rozcestník akcí"
class HomeDocumentsPage(RoutablePageMixin, Page): class HomeDocumentsPage(Page):
content = RichTextField(verbose_name="Obsah", blank=True, null=True) content = RichTextField(verbose_name="Obsah", blank=True, null=True)
parent_page_type = ["home.HomePage"] parent_page_type = ["home.HomePage"]
...@@ -323,13 +340,21 @@ class HomeDocumentsPage(RoutablePageMixin, Page): ...@@ -323,13 +340,21 @@ class HomeDocumentsPage(RoutablePageMixin, Page):
@property @property
def documents(self): def documents(self):
return HomeDocumentPage.objects.child_of(self).live().order_by("-date").all() documents = list(
HomeDocumentPage.objects.child_of(self).order_by("-date").live().all()
)
document_directories = list(
HomeDocumentsPage.objects.child_of(self).live().all()
)
return documents + document_directories
class Meta: class Meta:
verbose_name = "Rozcestník dokumentů" verbose_name = "Rozcestník dokumentů"
class HomeVideosPage(RoutablePageMixin, Page): class HomeVideosPage(Page):
content = RichTextField(verbose_name="Obsah", blank=True, null=True) content = RichTextField(verbose_name="Obsah", blank=True, null=True)
parent_page_type = ["home.HomePage"] parent_page_type = ["home.HomePage"]
...@@ -347,7 +372,7 @@ class HomeVideosPage(RoutablePageMixin, Page): ...@@ -347,7 +372,7 @@ class HomeVideosPage(RoutablePageMixin, Page):
verbose_name = "Rozcestník videí" verbose_name = "Rozcestník videí"
class HomeContentPageMixin(RoutablePageMixin, Page): class HomeContentPageMixin(Page):
author_page = models.ForeignKey( author_page = models.ForeignKey(
"home.HomePersonPage", "home.HomePersonPage",
on_delete=models.SET_NULL, on_delete=models.SET_NULL,
...@@ -403,12 +428,33 @@ class HomeArticlePage(HomeContentPageMixin): ...@@ -403,12 +428,33 @@ class HomeArticlePage(HomeContentPageMixin):
verbose_name="Obrázek", verbose_name="Obrázek",
) )
content = RichTextField(
verbose_name="Obsah",
features=[
"h2",
"h3",
"h4",
"bold",
"italic",
"ol",
"ul",
"hr",
"link",
"document-link",
"image",
"embed",
"footnotes",
],
)
show_image_on_homepage = models.BooleanField( show_image_on_homepage = models.BooleanField(
verbose_name="Zobrazovat obrázek na homepage", verbose_name="Zobrazovat obrázek na homepage",
default=False, default=False,
) )
tags = ClusterTaggableManager(through=ArticleTag, blank=True, verbose_name="Štítky") tags = ClusterTaggableManager(
through=TaggedArticle, blank=True, verbose_name="Štítky"
)
perex = models.TextField(verbose_name="Perex") perex = models.TextField(verbose_name="Perex")
...@@ -431,6 +477,7 @@ class HomeArticlePage(HomeContentPageMixin): ...@@ -431,6 +477,7 @@ class HomeArticlePage(HomeContentPageMixin):
FieldPanel("perex", icon="pilcrow"), FieldPanel("perex", icon="pilcrow"),
FieldPanel("tags", icon="tag"), FieldPanel("tags", icon="tag"),
FieldPanel("content", icon="pilcrow"), FieldPanel("content", icon="pilcrow"),
InlinePanel("footnotes", label="Footnotes", icon="pilcrow"),
] ]
class Meta: class Meta:
...@@ -527,7 +574,7 @@ class HomeVideoPage(HomeContentPageMixin): ...@@ -527,7 +574,7 @@ class HomeVideoPage(HomeContentPageMixin):
# --- BEGIN People --- # --- BEGIN People ---
class HomePeoplePage(RoutablePageMixin, Page): class HomePeoplePage(Page):
content = RichTextField(verbose_name="Obsah", blank=True, null=True) content = RichTextField(verbose_name="Obsah", blank=True, null=True)
parent_page_type = ["home.HomePage"] parent_page_type = ["home.HomePage"]
...@@ -545,7 +592,7 @@ class HomePeoplePage(RoutablePageMixin, Page): ...@@ -545,7 +592,7 @@ class HomePeoplePage(RoutablePageMixin, Page):
verbose_name = "Rozcestník osob" verbose_name = "Rozcestník osob"
class HomePersonPage(RoutablePageMixin, Page): class HomePersonPage(Page):
image = models.ForeignKey( image = models.ForeignKey(
"wagtailimages.Image", "wagtailimages.Image",
null=True, null=True,
......
{% extends "base.html" %} {% extends "base.html" %}
{% load static wagtailcore_tags wagtailimages_tags %} {% load static wagtailcore_tags wagtailimages_tags footnotes %}
{% block content %} {% block content %}
<main class="flex flex-col items-center gap-10 pt-14"> <main class="flex flex-col items-center gap-10 pt-14">
...@@ -8,7 +8,11 @@ ...@@ -8,7 +8,11 @@
<small class="text-pii-cyan uppercase font-bold"> <small class="text-pii-cyan uppercase font-bold">
{% for tag in page.tags.all %} {% for tag in page.tags.all %}
<a href="/clanky?tag={{ tag.name }}">{{ tag.name }}</a>&nbsp; <a
href="/clanky?tag={{ tag.name }}"
class="px-2 py-0.5 rounded-sm"
style="background-color:{{ tag.bg_color }};color:{{ tag.fg_color }}"
>{{ tag.name }}</a>&nbsp;
{% endfor %} {% endfor %}
</small> </small>
...@@ -42,7 +46,9 @@ ...@@ -42,7 +46,9 @@
<p class="mb-3">{{ page.perex }}</p> <p class="mb-3">{{ page.perex }}</p>
{{ page.content|richtext }} {% richtext_footnotes page.content|richtext %}
{% include "home/includes/footnotes.html" %}
</div> </div>
</div> </div>
</main> </main>
......
...@@ -39,7 +39,10 @@ ...@@ -39,7 +39,10 @@
<div class="p-7 flex flex-col gap-2 h-full"> <div class="p-7 flex flex-col gap-2 h-full">
<small class="text-white uppercase font-bold"> <small class="text-white uppercase font-bold">
{% for tag in article.tags.all %} {% for tag in article.tags.all %}
{{ tag.name }}&nbsp; <span
class="px-2 py-0.5 rounded-sm"
style="background-color:{{ tag.bg_color }};color:{{ tag.fg_color }}"
>{{ tag.name }}</span>&nbsp;
{% endfor %} {% endfor %}
</small> </small>
<h3 class="font-serif text-xl leading-6 font-bold">{{ article.title }}</h3> <h3 class="font-serif text-xl leading-6 font-bold">{{ article.title }}</h3>
......
...@@ -16,13 +16,13 @@ ...@@ -16,13 +16,13 @@
{% for event in page.events %} {% for event in page.events %}
<li class="text-gray-500"> <li class="text-gray-500">
<a <a
class="flex gap-2 flex-wrap" class="flex flex-col flex-wrap"
href="{{ event.url }}" href="{{ event.url }}"
> >
<div class="underline text-black">{{ event.title }}</div> <div class="underline text-black">{{ event.title }}</div>
<div> <div>
({{ event.date }}{% if event.location %}, {{ event.date }}{% if event.location %},
{{ event.location }}{% endif %}) {{ event.location }}{% endif %}
</div> </div>
</a> </a>
</li> </li>
......
...@@ -40,7 +40,10 @@ ...@@ -40,7 +40,10 @@
<div class="p-7 flex flex-col gap-2 h-full"> <div class="p-7 flex flex-col gap-2 h-full">
<small class="text-pii-cyan uppercase font-bold"> <small class="text-pii-cyan uppercase font-bold">
{% for tag in article.tags.all %} {% for tag in article.tags.all %}
{{ tag.name }}&nbsp; <span
class="px-2 py-0.5 rounded-sm"
style="background-color:{{ tag.bg_color }};color:{{ tag.fg_color }}"
>{{ tag.name }}</span>&nbsp;
{% endfor %} {% endfor %}
</small> </small>
<h3 class="font-serif text-xl leading-6 font-bold">{{ article.title }}</h3> <h3 class="font-serif text-xl leading-6 font-bold">{{ article.title }}</h3>
...@@ -175,9 +178,9 @@ ...@@ -175,9 +178,9 @@
</section> </section>
<section class="container flex flex-col gap-3"> <section class="container flex flex-col gap-3">
<span class="invisible relative top-[-8rem]" id="dary"></span> <span class="invisible relative top-[-8rem]" id="finance"></span>
<h2 class="font-bebas text-3xl uppercase leading-7">Dary</h2> <h2 class="font-bebas text-3xl uppercase leading-7">Finance</h2>
<div> <div>
<h3 class="font-serif text-2xl font-bold">Podpořte institut π</h3> <h3 class="font-serif text-2xl font-bold">Podpořte institut π</h3>
......
...@@ -15,10 +15,16 @@ ...@@ -15,10 +15,16 @@
<ul class="flex flex-col gap-2 list-disc ml-3 font-serif"> <ul class="flex flex-col gap-2 list-disc ml-3 font-serif">
{% for person in page.people %} {% for person in page.people %}
<li> <li>
<div class="flex flex-col">
<a <a
class="underline" class="underline"
href="{{ person.url }}" href="{{ person.url }}"
>{{ person.full_name }}</a>{% if person.position %}<span class="text-gray-500">, {{ person.inline_position }}{% endif %} >{{ person.full_name }}</a>
{% if person.position %}
<span class="text-gray-500">{{ person.inline_position }}</span>
{% endif %}
</div>
</li> </li>
{% endfor %} {% endfor %}
</ul> </ul>
......
{% load wagtailcore_tags %}
{% if page.footnotes_list %}
<div class="footnotes" id="footnotes">
<hr class="my-8">
<ol>
{% for footnote in page.footnotes_list %}
<li id="footnote-{{ forloop.counter }}">
<div class="[&>p]:inline">
{{ footnote.text|richtext }}
&nbsp;<a
href="#footnote-source-{{ forloop.counter }}"
aria-label="Přeskočit na obsah"
></a>
</div>
</li>
{% endfor %}
</ol>
</div>
{% endif %}
import re
from django.template import Library
from django.utils.safestring import mark_safe
from wagtail.models import Page
register = Library()
@register.simple_tag(takes_context=True)
def richtext_footnotes(context, html):
"""
example: {% richtext_footnotes page.body|richtext %}
html: already processed richtext field html
Assumes "page" in context.
"""
FIND_FOOTNOTE_TAG = re.compile(r'<footnote id="(.*?)">.*?</footnote>')
if not isinstance(context.get("page"), Page):
return html
page = context["page"]
if not hasattr(page, "footnotes_list"):
page.footnotes_list = []
footnotes = {str(footnote.uuid): footnote for footnote in page.footnotes.all()}
def replace_tag(match):
try:
index = process_footnote(match.group(1), page)
except (KeyError, ValidationError):
return ""
else:
return f'<a href="#footnote-{index}" id="footnote-source-{index}"><sup>[{index}]</sup></a>'
def process_footnote(footnote_id, page):
footnote = footnotes[footnote_id]
if footnote not in page.footnotes_list:
page.footnotes_list.append(footnote)
# Add 1 to the index as footnotes are indexed starting at 1 not 0.
return page.footnotes_list.index(footnote) + 1
return mark_safe(FIND_FOOTNOTE_TAG.sub(replace_tag, html))
...@@ -40,6 +40,7 @@ INSTALLED_APPS = [ ...@@ -40,6 +40,7 @@ INSTALLED_APPS = [
"wagtail.contrib.redirects", "wagtail.contrib.redirects",
"wagtail.contrib.routable_page", "wagtail.contrib.routable_page",
"wagtail.contrib.settings", "wagtail.contrib.settings",
"wagtail.contrib.modeladmin",
"wagtail.embeds", "wagtail.embeds",
"wagtail.sites", "wagtail.sites",
"wagtail.users", "wagtail.users",
...@@ -48,9 +49,11 @@ INSTALLED_APPS = [ ...@@ -48,9 +49,11 @@ INSTALLED_APPS = [
"wagtail.images", "wagtail.images",
"wagtail.search", "wagtail.search",
"wagtail.admin", "wagtail.admin",
"wagtail_footnotes",
"wagtail", "wagtail",
"modelcluster", "modelcluster",
"taggit", "taggit",
"wagtail_color_panel",
"django.contrib.admin", "django.contrib.admin",
"django.contrib.auth", "django.contrib.auth",
"django.contrib.contenttypes", "django.contrib.contenttypes",
...@@ -176,6 +179,3 @@ WAGTAILSEARCH_BACKENDS = { ...@@ -176,6 +179,3 @@ WAGTAILSEARCH_BACKENDS = {
# Base URL to use when referring to full URLs within the Wagtail admin backend - # Base URL to use when referring to full URLs within the Wagtail admin backend -
# e.g. in notification emails. Don't include '/admin' or a trailing slash # e.g. in notification emails. Don't include '/admin' or a trailing slash
WAGTAILADMIN_BASE_URL = "http://example.com" WAGTAILADMIN_BASE_URL = "http://example.com"
WAGTAIL_APPEND_SLASH = True
APPEND_SLASH = True
...@@ -6,9 +6,10 @@ ...@@ -6,9 +6,10 @@
<div class="container"> <div class="container">
<h1 class="font-bebas text-4xl">Stránka nenalezena</h1> <h1 class="font-bebas text-4xl">Stránka nenalezena</h1>
<p class="prose"> <p class="prose font-serif">
Stránka byla smazána, nebo se nacházela na staré verzi webu. Stránka byla smazána, nebo se nacházela na staré verzi webu.<br>
Nové články můžeš nalézt <a href="/clanky">zde</a>. Nové články můžeš nalézt <a href="/clanky">zde</a>.
</p> </p>
</div> </div>
</main> </main>
{% endblock %}
...@@ -6,8 +6,9 @@ ...@@ -6,8 +6,9 @@
<div class="container"> <div class="container">
<h1 class="font-bebas text-4xl">Chyba serveru</h1> <h1 class="font-bebas text-4xl">Chyba serveru</h1>
<p class="prose"> <p class="prose font-serif">
Nastala chyba z naší strany. Pokud přetrvá, kontaktuj prosím správce webu. Nastala chyba z naší strany. Pokud přetrvá, kontaktuj prosím správce webu.
</p> </p>
</div> </div>
</main> </main>
{% endblock %}
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
<body> <body>
{% wagtailuserbar %} {% wagtailuserbar %}
<nav class="sticky top-0 drop-shadow-lg bg-grey-800 py-8 flex justify-center"> <nav class="sticky top-0 drop-shadow-lg bg-grey-800 py-8 flex justify-center z-50">
<div class="flex justify-between container"> <div class="flex justify-between container">
<div class="flex gap-7 text-white items-center"> <div class="flex gap-7 text-white items-center">
<a <a
...@@ -64,11 +64,12 @@ ...@@ -64,11 +64,12 @@
<div class="gap-4 hidden md:flex"> <div class="gap-4 hidden md:flex">
<a class="nav__item" href="/clanky">Články</a> <a class="nav__item" href="/clanky">Články</a>
<a class="nav__item" href="/analyzy">Analýzy</a>
<a class="nav__item" href="/akce">Akce</a> <a class="nav__item" href="/akce">Akce</a>
<a class="nav__item" href="/dokumenty">Dokumenty</a> <a class="nav__item" href="/dokumenty">Dokumenty</a>
<a class="nav__item" href="/lide">Lidé</a> <a class="nav__item" href="/lide">Lidé</a>
<a class="nav__item" href="/videa">Videa</a> <a class="nav__item" href="/videa">Videa</a>
<a class="nav__item" href="/#dary">Dary</a> <a class="nav__item" href="/#finance">Finance</a>
</div> </div>
</div> </div>
...@@ -152,11 +153,27 @@ ...@@ -152,11 +153,27 @@
<a class="nav__item" href="/dokumenty">Dokumenty</a> <a class="nav__item" href="/dokumenty">Dokumenty</a>
<a class="nav__item" href="/lide">Lidé</a> <a class="nav__item" href="/lide">Lidé</a>
<a class="nav__item" href="/videa">Videa</a> <a class="nav__item" href="/videa">Videa</a>
<a class="nav__item" href="/#dary">Dary</a> <a class="nav__item" href="/#finance">Finance</a>
</div> </div>
</div> </div>
</div> </div>
{% block extra_js %}{% endblock %} {% block extra_js %}{% endblock %}
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//matomo.pii.cz/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
</body> </body>
</html> </html>