Skip to content
Snippets Groups Projects
Select Git revision
  • 3ca570a543f2a45babff00ace1fb13b4d027bd6d
  • master default protected
  • 2.0.0-alpha-11
  • 2.0.0-alpha-10
  • 2.0.0-alpha-9
  • 2.0.0-alpha-8
  • 2.0.0-alpha-7
  • 2.0.0-alpha-6
  • 2.0.0-alpha-5
  • 2.0.0-alpha-4
  • 2.0.0-alpha-3
  • 2.0.0-alpha-2
  • 2.0.0-alpha-1
  • 1.8.0
  • 1.7.0
  • 1.6.4
  • 1.6.3
  • 1.6.2
  • 1.6.1
  • 1.6.0
  • 1.5.5
  • 1.5.4
22 results

Dockerfile

Blame
  • Forked from TO / Weby / ui-styleguide
    Source project has a limited visibility.
    README.md 13.88 KiB

    Maják

    Maják je CMS pro Pirátské weby. Postavený je na Wagtail.

    code style: Black powered by: Wagtail powered by: Django licence AGPLv3

    Pod pokličkou

    Wagtail a Django jsou poměrně vyspělé frameworky. Vždy mysli na to, že problém co řešíš, už pravděpodobně řešil někdo před tebou. A obvykle existuje elegantní řešení.

    Pár užitečných odkazů:

    A za zmínku stojí Awesome Wagtail jako přehled pluginů a rozšíření pro Wagtail.

    Rozšíření která používáme:

    • wagtail-metadata
      • upravený template shared/templates/wagtailmetadata/parts/tags.html

    Struktura projektu

    .
    ├── donate          = app na web dary.pirati.cz
    ├── elections2021   = app na količní web k volbám 2021
    ├── senate          = app na web senat.pirati.cz
    ├── senat_campaign  = app na weby kandidátů na senátory
    ├── districts       = app na web kraje.pirati.cz
    ├── district        = app na weby oblastních sdružení
    ├── uniweb          = app na univerzalni webove stranky
    ...
    ├── majak           = Django projekt s konfigurací Majáku
    ├── shared          = app se sdílenými static soubory a templaty pro weby
    ├── calendar_utils  = app s modelem a utilitami na iCal kalendáře
    ├── tuning          = app na tuning administračního rozhraní Majáku
    └── users           = app s custom user modelem a SSO, apod.

    Poznámky k uspořádání:

    • nesdílíme a nemícháme modely zděděné z Page mezi jednotlivými appkami a weby, abychom předešli rozbití cizího webu
    • části definice tříd stránek sdílíme jako mixin pattern (shared.models.ArticleMixin, share.models.SubpageMixin, apod.)
    • sdílet se mohou obyčejné Django modely z models.Model, ale umístěné v nějaké appce/knihovně určené pro sdílení (shared, calendar_utils, apod.), nikoliv mezi weby (mezi appkami na weby by nikdy neměly vzniknout závislosti)

    Konfigurace webu

    Konfigurace konkrétního webu (odkazy do patičky, Matomo ID, apod.) se definuje v kořenové xxxHomePage webu. Je to pro uživatele snažší na správu než Site Settings Wagtailu pro konfigurace webů. A pro vývojáře je to skoro jedno.

    Z různých podstránek webu se k té konfiguraci dostaneme přes property root_page kterou přidává shared.models.SubpageMixin. V xxxHomePage webu je třeba definovat root_page tak, aby vedla na self.

    Styleguide

    Některé weby využívají Pirátskou UI styleguide pro vzhled. Idea je, že se budou sdílet nejen statické assety (CSS, JS, ...), ale i univerzální kusy template, které se dají includovat v různých webech (patička webu, karta článku do přehledu, atp.).

    Sdílené části využívané na více webech se umísťují do: