Diazo (mjukvara)
Utvecklare | Paul Everitt, Laurence Rowe och Martin Aspeli |
---|---|
Stabil frisättning | 1.1.1 / 21 mars 2015
|
Förhandsgranska release | e917d54922 / 20 maj 2015
|
Operativ system | Cross-plattform |
Plattform | Pytonorm |
Licens | Ny BSD |
Hemsida |
Diazo , som tidigare hette xdv , är ett verktyg för allmänt bruk med öppen källkod för webbplatstema. Det är skrivet i Python och genererar XSLT . Diazo skapar en separation mellan temasidor (statisk HTML) och transformationsregler (Diazos eget domänspecifika språk baserat i XML ), vilket gör att webbdesigners kan arbeta med mallar i vanlig HTML, utan kunskap om XSLT eller speciella mallrelaterade koder.
Diazo skapar en webbplats med tema genom att använda användardefinierade regler för att kombinera vaniljinnehåll från en dynamisk webbplats tillsammans med ett statiskt HTML-tema. Regelfilen (vanligtvis kallad rules.xml
) har direktiv som till exempel kan ersätta innehållet i en HTML-nod i temat med innehållet i en i innehållet.
Stöd för webbserver
Diazo-kompilatorn genererar XSLT , som kan distribueras på vilken proxyserver som helst med en XSLT-processor som Apache (med mod_transform), Varnish eller WSGI .
WSGI har också mer direkt Diazo-stöd: DiazoMiddleware -filtret kommer att kompilera och cache Diazo-teman i farten.
Nginx har en XSLT-processor, men från och med mars 2012 kräver den att webbplatsen utan teman (innehållet) använder strikt XHTML. Det strikta kravet kan dock mildras om en patchad version av Nginx används.
Historia och namngivning
Diazo var ursprungligen en omimplementering av en tidigare programvara som heter Deliverance. Där Deliverance skulle hantera HTML-transformationen i Python, genererar Diazo XSLT som sedan kan användas för att skjuta upp själva transformationen till snabbare XSLT-motorer.
Namnbytet till Diazo (från xdv) tillkännagavs vid Plone-konferensen 2010. En viktig motivering för namnbytet var att minska oklarheten, eftersom XDV-namnet användes av både collective.xdv (ett Plone-specifikt temapaket
, nu kallat plone.app.theming
) och av de fristående XDV-verktygen (nu kallad Diazo). Även dv.xdvserver
bytte namn till DiazoMiddleware.
Diazo är baserad på DVNG , en prototypversion av xdv. Diazo implementerade ursprungligen bara en delmängd av funktionerna i Deliverance, men har nu liknande funktioner, även om deras konfigurationsspråk inte är helt kompatibelt. Diazo har blivit de facto-standarden för teman i Plone 4 och ingår i Plone 4.2 och senare.
direktiv
Diazos grundläggande direktiv inkluderar: ersätt
(ersätt en nod eller ett attribut i temat med det från innehållet), före
och efter
(infoga en nod före eller efter en annan), släpp
(ta bort en nod eller ett attribut), strippa
(ta bort en tagg men inte dess underordnade noder), sammanfoga
och kopiera
.
En nod, nodens underordnade eller attribut, kan väljas med antingen XPath-väljare eller CSS3-väljare. CSS-väljare ersätts av motsvarande XPath-väljare under kompilatorns förbearbetningssteg.
Avancerade funktioner inkluderar: villkor baserade på innehållsnoder eller sökvägar, med gruppering och kapsling; flera, villkorade teman; ändra temat eller innehållet i farten; inline XSL-direktiv; Doktypändringar; XInkludera protokoll.
- ^ "Diazo: Diazo implementerar ett Deliverance-liknande språk med hjälp av en ren XSLT-motor. Med Diazo "kompilerar" du ditt tema och regeluppsättning i ett steg och använder sedan en supersnabb/enkel transformering på varje begäran. Alternativt kompilerar du ditt tema under utvecklingen , kontrollera det i versionskontrollen och rör inte vid Diazo under driftsättningen" .
- ^ "Plone/Diazo" . GitHub . 12 november 2021.
- ^ http://wiki.nginx.org/HttpXsltModule
- ^ nginx-xslt-html-parser , Laurence Rowe
- ^ Nginx med HTML xslt-stöd ( html-xslt på Google-kod ), patchar Nginx 0.7.67 från 15 juni 2010
externa länkar
- Diazo.org - officiell hemsida