Ne redoutant pas la canicule, le sympathique outil de gestion de contenu de sites web (CMS) à l’écureuil, SPIP, vient de sortir en version 4.3. Au menu, entre autres : des améliorations de l’interface privée, de la conformité HTML5 et des performances des filtres pour les images.
- on déclare le routeur de modèle medias_modeles_styliser qui redirige les raccourcis img, doc et emb selon la règle suivante
- le nouveau modèle correspond au champ media du document : image, audio, video, file
- si une declinaison correspondant au raccourci initial (_img, _doc ou _emb) existe on la prend
-> un modèle file_emb.html reprend le mécanisme d'embed generique selon extension+mime-type de l'ancien modèle emb.html
- les 4 modèles de base image, audio, video, file et les déclinaisons file_emb sont toutes en <figure></figure>
- les styles en dur float sont supprimés, on ne garde qu'un width:{largeur}px sur l'élément <figure> qui permet d'avoir un conteneur ajuste
- il se contourne facilement par un min-width:100%; ou un width:auto !important;
- spip_doc_titre, spip_doc_descriptif et spip_doc_credits sont regroupés dans le figcaption.spip_doc_legende
- les modèles historiques doc, img et emb disparaissent. Les éventuels modèles surcharges dans squelettes/ sont ignorés
- les 3 modèles image, audio et video ajoutent des conditions sur leur boucle, pour être sûr qu'on a bien affaire avec le bon type de média, et sinon renvoient vers le modèle file
- le mode du document n'est plus considéré dans aucun modèle dans le format de l'affichage qui n'en dépend donc plus du tout
En pratique donc <emb>, <img> et <doc> sont équivalents pour les médias audio, video, image (et consistent à afficher/embed le média par defaut)
Pour les autres types de média <doc> affiche le lien vers le document avec une vignette + legende, et <emb> affiche un traitement différencié en fonction du mime type
On peut utiliser le raccourci <fileXX> pour n'importe quel média
Si on utilise <imageXX> ou <audioXX> ou <videoXX> sur un média inapproprié, ça affichera le contenu de <fileXX>
wp_export.py
Le script se connecte à la base de données MySQL de WordPress, récupère tous les billets et crée une hiérarchie dans MARKDOWN_DIR. Les tags et catégories se retrouvent en pied de page (et sont directement actifs sous Obsidian). Les fichiers sont organisés par année et mois. Les images sont copiées depuis OLD_IMG_DIR dans IMG_SUB_DIR de chacun des mois. Tous les liens internes commes les liens images sont relatifs (et actifs).
Pas bêtes cette idée d'une page pour lister quelques liens en rapport avec son activité.
Une idée à reprendre dans SoyezCréateurs ?
Un outil permettant de récupérer le contour cartographique d'une commune.
Exporter au format KML pour import dans GIS géométrie de SPIP.
Un moyen d'avoir des aides sur la syntaxe sans avoir chargé le code source complet.
Un dépôt Git du DSFR pour SPIP (une des versions existantes)
Je propose pour continuer dans les nettoyages de SPIP 4.0 de supprimer tous les ecrire/maj/ qui concernent des versions de SPIP antérieures à SPIP 3.0 (voire SPIP 3.1 ?)
La suggestion est de dire : pour mettre à jour votre SPIP,
passez d'abord en 3.2 (LTS) s'il n'y est pas. (Du coup on peut mettre un PHP récent)
puis migrez en 4.0
Ça veut dire qu'on pourra théoriquement migrer une BDD issue de SPIP 2.0 dans un site SPIP 4.0. (Ça reste théorique cependant).
Si vous avez fork un dépôt github ou gitlab pour proposer des pull/merge requests, vous devrez peut-être travailler sur la dernière version à jour du dépôt original. Les interfaces graphiques ne vous permettent pas de rester à jour avec exactement les mêmes commits. Si vous avez déjà essayé graphiquement, vous avez probablement dû inclure différents merge commit.
De fait, pour pouvoir continuer à participer au développement, ou garder à jour votre propre fork avec les dernières modifications du dépôt d’origine, vous devrez le gérer localement avec quelques lignes de commande. Toutes les lignes de commande ci-dessous doivent être exécutées dans un Terminal. Souvenez-vous que vous avez une interface “Terminal” dans votre IDE Rstudio pour gérer votre système en lignes de commande.
Avec :
- phpcbf
- rector
- phpstan
Gatsby est bien tentant pour pouvoir profiter de l’architecture headless et produire des pages Web en Javascript capables de Progressive Web App.
Utiliser SPIP comme backend pour fournir des données structurées à Gatsby, c’est toujours possible et souvent souhaitable.
Plugin SPIP pour ajouter la navigation offline sur un site existant
macro apache <Macro spip> pour intégrer les règles de réécriture de SPIP dans un vhost apache à la place du .htaccess à la racine du SPIP
Une autre lib PHP pour extraire la couleur dominante et moyenne d'une image
Une lib PHP pour extraire la couleur dominante d'une image et la palette de cette même image.
À intégrer au plugin de SPIP de gestion des couleurs.
reset.css
A style reset that embraces modern CSS features to give you a better base to start off with.
Features
Designed for cascade layers while still using :where to keep a low specificity for unlayered setups.
Auto dark mode using color-scheme.
system-ui font pre-applied.
Accessible, consistent focus outlines.
.visually-hidden class baked in.
Couleur is a modern PHP 8.1+ color library, intended to be compatible with CSS Color Module Level 4.
Il s’agit d’une approche globale, qui privilégie le chargement d’un seul fichier, quelque soit la page du site.
La première partie du fichier détaille les fonctions.
La seconde partie (L63) les rassemble en séquence d’exécution.
App.init() : rassemble les fonctions à lancer au chargement de la page
App.reboot() : rassemble les fonctions à relancer à la suite d’un rechargement ajax de SPIP
App.resize() : rassemble les fonctions à exécuter lorsque la fenêtre du navigateur change de taille, (avec un timer pour essayer de ne pas altérer les performances)
App.scroll() : idem concernant l’événement défilement (« scroll ») de la fenêtre.
(à vous de compléter selon vos besoins...)
feat: critère {having}
Parcourir la source
Utilisation comparable au critère {where}, avec les mêmes limitations.
{having?}{having <condition>}{having [#BALISE](https://veille.pyrat.net/./add-tag/BALISE)}