Skip to content
Snippets Groups Projects
Forked from TO / Maják
Loading
README.md 8.84 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

.
├── home            = app na web úvodní stránky Majáku
├── donate          = app na web dary.pirati.cz
├── senate          = app na web senat.pirati.cz
├── senat_campaign  = app na weby kandidátů na senátory
├── districts       = app na web kraje.pirati.cz
├── region          = app na weby krajskych sdruzeni
├── district        = app na weby mistnich sdruzeni
├── districts       = app na web kraje.pirati.cz
├── program2021     = app na prezentaci programu 2021
├── 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
├── search          = app pro fulltext search (default, asi se k ničemu nepoužívá)
├── tuning          = app na tuning administračního rozhraní Majáku
└── users           = app s custom user modelem a SSO, apod.

Kalendáře

Pro práci s kalendáři v iCal formátu je připravena appka calendar_utils.

Poskytuje CalendarMixin do modelu, který přidá fieldy calendar_url pro editaci a calendar pro vazbu na model Calendar (který se plní a automaticky spravuje na pozadí). Typicky se použije ve Wagtail settings pro web, kde stačí calendar_url zpřístupnit pro editaci.

Kalendář se stáhne při uložení modelu obsahujícího CalendarMixin.

Appka přidává management command update_callendars, který stahuje a updatuje kalendáře. Je třeba ho pravidelně volat na pozadí (přes CRON).

Jupyter notebooky

Appka Uniweb umí vložit do stránky Jupyter notebook a zobrazit jeho výstup.

Pokud některé buňky nechceš generovat do výstupní stránky, nastav u nich tag "exclude".