Hollands Spoor

Websites, themes, plugins and integrations

Tag: Wordpress

  • Accordeons

    Accordeons

    Voor de Vertalersvakschool in Amsterdam en Antwerpen maakten we een website met een eigengemaakte verticale Accordeon.

    Naast deze publieke website bouwden we ook een besloten studenten omgeving met behulp van Learndash. Terwijl docenten hiervoor online cursussen schreven bleek de behoefte te bestaan aan een generieke horizontale accordeon.

    Op dat moment bestond daarvoor nog niet een standaardblock in de Gurenberg core zodat cursus-makers hun toevlucht namen tot een accordeon-block uit een of andere omvangrijke block-bibliotheek. Wij gebruiken bij voorkeur zo min mogelijk van dit soort bibliotheken omdat ze de editor compliceren met grote hoeveelheden ongebruikte knoppen en mogelijkheden, omdat ze een nieuwe afhankelijkheid van 3rd party software introduceren en omdat ze vaak voor extra overhead in de website zorgen.

    Daarom bouwden we onze eigen standalone accordeon. Deze is verkrijgbaar via de WordPress plugin repository: https://wordpress.org/plugins/good-accordion/.

    Moet u deze plugin downloaden? Misschien niet want met de release van WordPress 6.9 is er een accordeon block toegevoegd aan de Gutenberg core-blocks. Die werkt tamelijk goed maar toch laten we onze accordeon voorloping in de plugin-repository staan omdat die van ons een paar belangrijke voordelen heeft:

    • Geanimeerd openen en sluiten van Accordeon tabs
    • Er zijn minder child-blocks nodig
    • Als een accordeon-tab sluit bij het openen van een andere accordeon-tab, dan kan de zojuist geopende tab geheel of gedeeltelijk uit beeld verdwijnen ( als de gesloten tab boven de geopende tab staat ). De scrollpositie van onze accordeon wordt aangepast als deze uit beeld dreigt te verdwijnen.
    • Betere semantiek in HTML: er is keuze tussen <div> tags of <details> en <summary> tags.

    Misschien toch maar downloaden?

    Hier is het beloofde voorbeeld:

    Description

    Features

    Installation

    Use

    Customize

  • Asanoha, seigaiha en meer.

    Asanoha, seigaiha en meer.

    Ik had achtergronden nodig met behangpatronen die je naadloos naast elkaar kunt plakken zoals bijvoorbeeld deze:

    Er genoeg voorbeelden te vinden als je zoekt op iets als ‘seamless pattern images’. Als de licentie het toestaat, kun je ze als achtergrond gebruiken van bijvoorbeeld een Gutenberg Groupblock of Coverblock. (In de instellingsdialogen voor de achtergrond van deze blokken kun je aangeven dat de afbeelding niet moet worden opgerekt maar als tegels vullend naast elkaar gelegd, resulterend in daartoe strekkende CSS background-size en background-repeat regels).

    Dit soort patronen wil je naar eigen smaak aanpassen: kleur, lijndikte, vorm, omvang van het herhaalde basiselement, etc. Je kunt natuurlijk ook zelf iets tekenen/maken in bijvoorbeeld Illustrator of Inkscape (die laatste heeft de voorkeur ivm de opvattingen over geestelijk eigendom die Adobe zijn gebruikers laat onderschrijven). Er zijn ook online generatoren te vinden die dit soort patronen voortbrengen (voeg de woorden ‘online generator’ toe bij het zoeken).

    Hoe dan ook zou het beter zijn als je deze functionaliteit binnen de WordPress blockeditor hebt. Dan hoef je niet steeds te schakelen tussen de generator en WordPress en je hoeft niet steeds patronen te down- en uploaden ( en daarbij eventueel nog exporteren naar een bruikbaar formaat). Hiermee zou je bovendien de gebruiker die dit allemaal te omslachtig vindt van dienst kunnen zijn als deze nieuwe of aangepaste patronen nodig heeft.

    Wat dus eigenlijk wenselijk is, is zo’n online svg-patroongenerator, maar dan als onderdeel van de Gutenberg editor.

    We bouwden zo een generator en om te beginnen volgen hier wat voorbeelden van wat het voort kan brengen:

    Patronen en voorinstellingen

    Asanoha

    Dark Night

    Black River

    Star Blazer

    Soup

    Beach

    Red

    Blue

    Gump

    Free

    Crates

    Metalic

    Anatomy

    Fragile

    Ant

    Diamond

    Cardinal

    Leaves

    Polka

    Candy

    Rings

    Elegant

    Horrible 70

    Awefull 80

    Store

    Seigaiha

    Pink

    Pink Gradiënt

    Lime

    Classic 2

    Geometrisch

    Nr.1

    Nr. 2

    Nr. 3

    Nr. 4

    Bouw van de generator

    Om dit te bereiken doorliep ik een aantal stappen waarbij ik om te beginnen uitging van onderstaand achtergrond-patroon:

    Met dit patroon in gedachten doorliep ik de volgende acht stappen:

    1. SVG Maken
    2. JSON maken
    3. JSON doorgeven aan Block Editor
    4. Extra functies toevoegen
    5. Inspector Controls toevoegen aan de block-editor
    6. Renderer maken met template, parameters en functie-resultaten
    7. Voorinstellingen
    8. SVG in de achtergrond van het blok plaatsen

    Ten slotte maakte ik wat extra patronen met verschillende voorinstellingen van de parameters. Aan het eind staat daarvan een overzicht.

    1. SVG Maken

    2. JSON aanmaken

    3. JSON doorgeven aan Block Editor

    4. Functies toevoegen om te rekenen met parameters

    5. Inspector Controls toevoegen aan de Block-editor

    6. Renderer maken voor template, parameters en functieresultaten

    7. Voorinstellingen

    8. SVG in een block plaatsen