-
nicod a rédigé
On ne se base plus sur le constructeur de formulaires et un objet éditorial `blocktype`, mais sur des fichiers de config en .yaml, à l'instar des modèles gérés par inserer_modeles Cela implique donc de la suppression de code et de fichiers (toute la gestion des objets `blocktype`) et de nouvelles fonctions pour gérer proprement des fichiers de config. La fonction principale `blocktypes_lister_types` met tout ça en cache pour le hit (en static), et des fonctions utilitaires viennent taper dans ce cache. Il y a une procédure de migration (cf README.md), qui sera peut être déportée dans un deuxième plugin à part dans lequel je mettrai aussi des démos de blocks de base, pour alléger le code et les fichiers de celui ci. Restent à traiter les notions de block conteneur, et les contraintes parent/enfant, ne peut contenir que / être contenu que dans. Et une todo list qui s'allonge...
nicod a rédigéOn ne se base plus sur le constructeur de formulaires et un objet éditorial `blocktype`, mais sur des fichiers de config en .yaml, à l'instar des modèles gérés par inserer_modeles Cela implique donc de la suppression de code et de fichiers (toute la gestion des objets `blocktype`) et de nouvelles fonctions pour gérer proprement des fichiers de config. La fonction principale `blocktypes_lister_types` met tout ça en cache pour le hit (en static), et des fonctions utilitaires viennent taper dans ce cache. Il y a une procédure de migration (cf README.md), qui sera peut être déportée dans un deuxième plugin à part dans lequel je mettrai aussi des démos de blocks de base, pour alléger le code et les fichiers de celui ci. Restent à traiter les notions de block conteneur, et les contraintes parent/enfant, ne peut contenir que / être contenu que dans. Et une todo list qui s'allonge...
blocks_prive.css 3,39 Kio
.sp-icone-block {
background-color: white;
border-radius: 50%;
display: inline-flex;
justify-content: center;
align-items: center;
width: 1.5rem;
height: 1.5rem;
}
.boutons-flex {
display: flex;
justify-content: space-between;
align-items: center;
}
.objet_blocks {
position: relative;
}
.objetblock__blocks {
margin: var(--spip-box-spacing-x-normal);
}
.objetblock {
position: relative;
overflow: hidden;
border: 1px solid var(--spip-color-gray-light);
border-radius: 5px;
margin-bottom: calc(var(--spip-box-spacing-y-normal) * 2);
padding: 0;
container-type: inline-size;
}
.objetblock .objetblock {
margin-bottom: 0;
}
.objet_blocks .item:hover {
background-color: transparent;
}
.objetblock__header {
background-color: white;
padding-inline-start: var(--spip-box-spacing-x-mini);
min-height: 2.25rem;
border-bottom: 1px solid var(--spip-color-gray-light);
@container(width > 340px) {
display: flex;
justify-content: space-between;
align-items: center;
}
}
.objetblock__header.collapsed {
border-bottom: none;
}
.objetblock[data-id="new"] .objetblock__header {
padding-inline: var(--spip-box-spacing-x-mini);
}
.objetblock__header button,
#wysiwyg .objetblock__titre {
margin: 0;
}
.objetblock__titre,
#wysiwyg .objetblock__content .objetblock__titre {
position: relative;
display: flex;
align-items: center;
padding: 0;
font-weight: bold;
text-align: start;
}
.box .formulaire_editer_block,
.formulaire_editer_block {
border: none;
box-shadow: none !important;
margin-top: 0;
margin-bottom: 0;
padding-inline: 0;
}
.formulaire_editer_block .editer-groupe {
margin-inline: 0;
padding-inline: var(--spip-box-spacing-x-mini);
}
.objetblock__titre .block__icone {
margin-inline-end: 0.25em;
}
.objetblock__header > * {
margin: 0;
}
.objet_blocks .actions {
display: flex;
justify-content: flex-end;
margin: 0;
z-index: 1;
}
.objet_blocks .actions button,
.objet_blocks .actions .btn {
flex-shrink: 0;
cursor: pointer;
background-color: var(--spip-color-gray-lightest);
border: none;
padding: calc(var(--spip-btn-padding-y) / 2) calc(var(--spip-btn-padding-x) / 2);
@container(width > 400px) {
padding: var(--spip-btn-padding-y) var(--spip-btn-padding-x);
}
}
.objet_blocks .actions button:hover,
.objet_blocks .actions .btn:hover {
background-color: var(--spip-color-gray-lighter);
}
.objet_blocks .actions .puce_objet_popup {
display: flex;
}
.objet_blocks .actions .move {
cursor: move;
}
.item.deplacer-block-placeholder {
background-color: var(--spip-color-theme-lighter);
}
.objetblock__content {
padding: 0 calc(var(--spip-list-spacing-x) / 2);
}
.objetblock__content--edit {
background-color: var(--spip-color-gray-lightest);
}
.formulaire_spip .editer_blocktype .choix {
display: flex;
justify-content: flex-start;
align-items: baseline;
padding-bottom: 0.5rem;
}
.formulaire_spip .editer_blocktype.obligatoire label {
font-weight: normal;
}
.formulaire_spip .editer_blocktype .choix p:last-child,
#wysiwyg .editer_blocktype .choix p:last-child {
margin-bottom: 0;
}
#wysiwyg .formulaire_spip .editer .explication {
margin-bottom: 0;
}
.block__accordion_trigger[aria-expanded="true"] .block__icone--deplier {
transform: rotate(90deg);
}