From f38b4fc39fe9109e4a9760dee0466c09db9cd45f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Bedna=C5=99=C3=ADk?= <jan.bednarik@gmail.com>
Date: Tue, 26 May 2020 11:16:43 +0200
Subject: [PATCH] shared: Add shared app for shared stuff

---
 README.md                                     |   4 +-
 majak/settings/base.py                        |   1 +
 .../templates/senat_campaign/base.html        |  41 ++++++------------
 shared/__init__.py                            |   0
 shared/apps.py                                |   5 +++
 .../static/shared}/favicon/favicon-128.png    | Bin
 .../static/shared}/favicon/favicon-16.png     | Bin
 .../static/shared}/favicon/favicon-196.png    | Bin
 .../static/shared}/favicon/favicon-32.png     | Bin
 .../static/shared}/favicon/favicon-96.png     | Bin
 shared/static/shared/img/og_image.jpg         | Bin 0 -> 1111 bytes
 .../bootstrap-4.4.1/css/bootstrap.min.css     |   0
 .../bootstrap-4.4.1/js/bootstrap.min.js       |   0
 .../vendor/fancybox/jquery.fancybox.min.css   |   0
 .../vendor/fancybox/jquery.fancybox.min.js    |   0
 .../shared}/vendor/jquery/jquery-3.4.1.min.js |   0
 .../shared}/vendor/lazysizes/lazysizes.min.js |   0
 shared/templates/shared/matomo_snippet.html   |  16 +++++++
 18 files changed, 37 insertions(+), 30 deletions(-)
 create mode 100644 shared/__init__.py
 create mode 100644 shared/apps.py
 rename {senat_campaign/static/senat_campaign => shared/static/shared}/favicon/favicon-128.png (100%)
 rename {senat_campaign/static/senat_campaign => shared/static/shared}/favicon/favicon-16.png (100%)
 rename {senat_campaign/static/senat_campaign => shared/static/shared}/favicon/favicon-196.png (100%)
 rename {senat_campaign/static/senat_campaign => shared/static/shared}/favicon/favicon-32.png (100%)
 rename {senat_campaign/static/senat_campaign => shared/static/shared}/favicon/favicon-96.png (100%)
 create mode 100644 shared/static/shared/img/og_image.jpg
 rename {senat_campaign/static/senat_campaign => shared/static/shared}/vendor/bootstrap-4.4.1/css/bootstrap.min.css (100%)
 rename {senat_campaign/static/senat_campaign => shared/static/shared}/vendor/bootstrap-4.4.1/js/bootstrap.min.js (100%)
 rename {senat_campaign/static/senat_campaign => shared/static/shared}/vendor/fancybox/jquery.fancybox.min.css (100%)
 rename {senat_campaign/static/senat_campaign => shared/static/shared}/vendor/fancybox/jquery.fancybox.min.js (100%)
 rename {senat_campaign/static/senat_campaign => shared/static/shared}/vendor/jquery/jquery-3.4.1.min.js (100%)
 rename {senat_campaign/static/senat_campaign => shared/static/shared}/vendor/lazysizes/lazysizes.min.js (100%)
 create mode 100644 shared/templates/shared/matomo_snippet.html

diff --git a/README.md b/README.md
index f12ebec2..d522cdfd 100644
--- a/README.md
+++ b/README.md
@@ -29,13 +29,11 @@ jako přehled pluginů a rozšíření pro Wagtail.
     ├── senat_campaign  = app na weby kandidátů na senátory
     ...
     ├── majak           = Django projekt s konfigurací Majáku
+    ├── shared          = app se sdílenými static soubory a templaty
     ├── calendar_utils  = app s modelem a utilitami na iCal kalendáře
     ├── search          = app pro fulltext search (default, asi se k ničemu nepoužívá)
     └── users           = app s custom user modelem a SSO, apod.
 
-Appky v sobě mají modely pro stránky a statické soubory a templaty. Momentálně se
-mezi weby nic z toho nesdílí.
-
 ### Kalendáře
 
 Pro práci s kalendáři v iCal formátu je připravena appka `calendar_utils`.
diff --git a/majak/settings/base.py b/majak/settings/base.py
index 078e4044..1c6d2a45 100644
--- a/majak/settings/base.py
+++ b/majak/settings/base.py
@@ -33,6 +33,7 @@ DATABASES["default"]["ATOMIC_REQUESTS"] = True
 INSTALLED_APPS = [
     "senat_campaign",
     "home",
+    "shared",
     "calendar_utils",
     "users",
     "pirates",
diff --git a/senat_campaign/templates/senat_campaign/base.html b/senat_campaign/templates/senat_campaign/base.html
index 1b5c91ae..091d15a0 100644
--- a/senat_campaign/templates/senat_campaign/base.html
+++ b/senat_campaign/templates/senat_campaign/base.html
@@ -35,39 +35,26 @@
   <meta property="og:locale" content="cs_CZ" />
   <meta property="og:url" content="{{ page.full_url }}" />
   {# TODO #}
-  <meta property="og:image" content="https://danielhlavacek.cz/pirati/img/og_image.jpg" />
+  <meta property="og:image" content="{% static "shared/img/og_image.jpg" %}" />
   <meta property="og:description" content="{% firstof page.search_description page.perex %}" />
 
   <!-- Favicon -->
-  <link rel="icon" type="image/png" href="{% static "senat_campaign/favicon/favicon-196.png" %}" sizes="196x196">
-  <link rel="icon" type="image/png" href="{% static "senat_campaign/favicon/favicon-128.png" %}" sizes="128x128">
-  <link rel="icon" type="image/png" href="{% static "senat_campaign/favicon/favicon-96.png" %}" sizes="96x96">
-  <link rel="icon" type="image/png" href="{% static "senat_campaign/favicon/favicon-32.png" %}" sizes="32x32">
-  <link rel="icon" type="image/png" href="{% static "senat_campaign/favicon/favicon-16.png" %}" sizes="16x16">
+  <link rel="icon" type="image/png" href="{% static "shared/favicon/favicon-196.png" %}" sizes="196x196">
+  <link rel="icon" type="image/png" href="{% static "shared/favicon/favicon-128.png" %}" sizes="128x128">
+  <link rel="icon" type="image/png" href="{% static "shared/favicon/favicon-96.png" %}" sizes="96x96">
+  <link rel="icon" type="image/png" href="{% static "shared/favicon/favicon-32.png" %}" sizes="32x32">
+  <link rel="icon" type="image/png" href="{% static "shared/favicon/favicon-16.png" %}" sizes="16x16">
 
   <!-- Bootstrap CSS -->
-  <link rel="stylesheet" href="{% static "senat_campaign/vendor/bootstrap-4.4.1/css/bootstrap.min.css" %}">
-  <link rel="stylesheet" href="{% static "senat_campaign/vendor/fancybox/jquery.fancybox.min.css" %}">
+  <link rel="stylesheet" href="{% static "shared/vendor/bootstrap-4.4.1/css/bootstrap.min.css" %}">
+  <link rel="stylesheet" href="{% static "shared/vendor/fancybox/jquery.fancybox.min.css" %}">
 
   <!-- Styles -->
   <link href="{% static "senat_campaign/assets/css/style.css" %}" rel="stylesheet">
   <link href="{% static "senat_campaign/assets/css/icons.css" %}" rel="stylesheet">
 
-  {% if not request.is_preview and page.root_page.matomo_id %}
-  <!-- Matomo -->
-  <script type="text/javascript">
-    var _paq = window._paq || [];
-    _paq.push(['trackPageView']);
-    _paq.push(['enableLinkTracking']);
-    (function() {
-      var u="//matomo.pirati.cz/";
-      _paq.push(['setTrackerUrl', u+'matomo.php']);
-      _paq.push(['setSiteId', '{{ page.root_page.matomo_id }}']);
-      var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
-      g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
-    })();
-  </script>
-  <!-- End Matomo Code -->
+  {% if page.root_page.matomo_id %}
+    {% include "shared/matomo_snippet.html" with matomo_id=page.root_page.matomo_id %}
   {% endif %}
 </head>
 
@@ -245,10 +232,10 @@
   <!-- /FOOTER -->
 
   <!-- JavaScript libraries -->
-  <script src="{% static "senat_campaign/vendor/jquery/jquery-3.4.1.min.js" %}"></script>
-  <script src="{% static "senat_campaign/vendor/bootstrap-4.4.1/js/bootstrap.min.js" %}"></script>
-  <script src="{% static "senat_campaign/vendor/lazysizes/lazysizes.min.js" %}"></script>
-  <script src="{% static "senat_campaign/vendor/fancybox/jquery.fancybox.min.js" %}"></script>
+  <script src="{% static "shared/vendor/jquery/jquery-3.4.1.min.js" %}"></script>
+  <script src="{% static "shared/vendor/bootstrap-4.4.1/js/bootstrap.min.js" %}"></script>
+  <script src="{% static "shared/vendor/lazysizes/lazysizes.min.js" %}"></script>
+  <script src="{% static "shared/vendor/fancybox/jquery.fancybox.min.js" %}"></script>
   <script src="{% static "senat_campaign/assets/js/scripts.js" %}"></script>
 
 </body>
diff --git a/shared/__init__.py b/shared/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/shared/apps.py b/shared/apps.py
new file mode 100644
index 00000000..d4818e15
--- /dev/null
+++ b/shared/apps.py
@@ -0,0 +1,5 @@
+from django.apps import AppConfig
+
+
+class SharedConfig(AppConfig):
+    name = "shared"
diff --git a/senat_campaign/static/senat_campaign/favicon/favicon-128.png b/shared/static/shared/favicon/favicon-128.png
similarity index 100%
rename from senat_campaign/static/senat_campaign/favicon/favicon-128.png
rename to shared/static/shared/favicon/favicon-128.png
diff --git a/senat_campaign/static/senat_campaign/favicon/favicon-16.png b/shared/static/shared/favicon/favicon-16.png
similarity index 100%
rename from senat_campaign/static/senat_campaign/favicon/favicon-16.png
rename to shared/static/shared/favicon/favicon-16.png
diff --git a/senat_campaign/static/senat_campaign/favicon/favicon-196.png b/shared/static/shared/favicon/favicon-196.png
similarity index 100%
rename from senat_campaign/static/senat_campaign/favicon/favicon-196.png
rename to shared/static/shared/favicon/favicon-196.png
diff --git a/senat_campaign/static/senat_campaign/favicon/favicon-32.png b/shared/static/shared/favicon/favicon-32.png
similarity index 100%
rename from senat_campaign/static/senat_campaign/favicon/favicon-32.png
rename to shared/static/shared/favicon/favicon-32.png
diff --git a/senat_campaign/static/senat_campaign/favicon/favicon-96.png b/shared/static/shared/favicon/favicon-96.png
similarity index 100%
rename from senat_campaign/static/senat_campaign/favicon/favicon-96.png
rename to shared/static/shared/favicon/favicon-96.png
diff --git a/shared/static/shared/img/og_image.jpg b/shared/static/shared/img/og_image.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..aa779c1f54819e830a2d681b4dcb47560d15dc3a
GIT binary patch
literal 1111
zcmex=<NpH&0WUXCHwH#VMur521O|rxw;7xnm>3yBhzSCiS(!nAjfI7om7R^99fUbJ
zxj8vFxH#C^xp=v_xOsSZc-T4l_<4EwKx~j9j7&^S%*@Pe%*<>&9PAt*6{O++2N(o7
z7?v<BVP;ffU=n0x7G(T?gh8HxfsvIF3>ct*k%^gwm5rT)lZ*TR5r(Y-3`~s7%uFoI
ztgI|73=E95j7-c7EP|{;iiVDC!hwnGN`)dujT0AgC_8ODC>nI}gNkudQ4=SZn7D+b
zl&YG#hNhN@shPQjrIoXbtDC!rr&n-DXjpheWK?oWYFc_mW>#@YX<2ziWmR)aYg>Cq
zXV;|3Q>IRvK4a#rMT?g#UABD1%2k^-Z`rzS`;MKv4jn#n^w{weCr@3veC6u3>o;!R
zdidz^lc&#~zj*oT<EPJGzJB}u<L57szZe;q!M*|!5RakxOOSzyk%@(cnS~wXFGi+v
z21X`kK^9g;LpCADK=#B!VI`wR4iTq`3pXC*R5lL!AevNkkxNX)<e}<Ekk`OIBhF(@
nWcdv4F@(QvG4L=mGB61;3o_U<{Qa}2OM_t)59=^s{(lnyq%C3u

literal 0
HcmV?d00001

diff --git a/senat_campaign/static/senat_campaign/vendor/bootstrap-4.4.1/css/bootstrap.min.css b/shared/static/shared/vendor/bootstrap-4.4.1/css/bootstrap.min.css
similarity index 100%
rename from senat_campaign/static/senat_campaign/vendor/bootstrap-4.4.1/css/bootstrap.min.css
rename to shared/static/shared/vendor/bootstrap-4.4.1/css/bootstrap.min.css
diff --git a/senat_campaign/static/senat_campaign/vendor/bootstrap-4.4.1/js/bootstrap.min.js b/shared/static/shared/vendor/bootstrap-4.4.1/js/bootstrap.min.js
similarity index 100%
rename from senat_campaign/static/senat_campaign/vendor/bootstrap-4.4.1/js/bootstrap.min.js
rename to shared/static/shared/vendor/bootstrap-4.4.1/js/bootstrap.min.js
diff --git a/senat_campaign/static/senat_campaign/vendor/fancybox/jquery.fancybox.min.css b/shared/static/shared/vendor/fancybox/jquery.fancybox.min.css
similarity index 100%
rename from senat_campaign/static/senat_campaign/vendor/fancybox/jquery.fancybox.min.css
rename to shared/static/shared/vendor/fancybox/jquery.fancybox.min.css
diff --git a/senat_campaign/static/senat_campaign/vendor/fancybox/jquery.fancybox.min.js b/shared/static/shared/vendor/fancybox/jquery.fancybox.min.js
similarity index 100%
rename from senat_campaign/static/senat_campaign/vendor/fancybox/jquery.fancybox.min.js
rename to shared/static/shared/vendor/fancybox/jquery.fancybox.min.js
diff --git a/senat_campaign/static/senat_campaign/vendor/jquery/jquery-3.4.1.min.js b/shared/static/shared/vendor/jquery/jquery-3.4.1.min.js
similarity index 100%
rename from senat_campaign/static/senat_campaign/vendor/jquery/jquery-3.4.1.min.js
rename to shared/static/shared/vendor/jquery/jquery-3.4.1.min.js
diff --git a/senat_campaign/static/senat_campaign/vendor/lazysizes/lazysizes.min.js b/shared/static/shared/vendor/lazysizes/lazysizes.min.js
similarity index 100%
rename from senat_campaign/static/senat_campaign/vendor/lazysizes/lazysizes.min.js
rename to shared/static/shared/vendor/lazysizes/lazysizes.min.js
diff --git a/shared/templates/shared/matomo_snippet.html b/shared/templates/shared/matomo_snippet.html
new file mode 100644
index 00000000..9e99cc45
--- /dev/null
+++ b/shared/templates/shared/matomo_snippet.html
@@ -0,0 +1,16 @@
+{% if not request.is_preview %}
+<!-- Matomo -->
+<script type="text/javascript">
+  var _paq = window._paq || [];
+  _paq.push(['trackPageView']);
+  _paq.push(['enableLinkTracking']);
+  (function() {
+    var u="//matomo.pirati.cz/";
+    _paq.push(['setTrackerUrl', u+'matomo.php']);
+    _paq.push(['setSiteId', '{{ matomo_id }}']);
+    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+  })();
+</script>
+<!-- End Matomo Code -->
+{% endif %}
-- 
GitLab