source: spip-zone/_plugins_/precode/trunk/todo.txt

Last change on this file was 109757, checked in by tetue@…, 11 months ago

Màj TODO (broutilles)

File size: 4.2 KB
Line 
1= TODO
2= pour Pre & Code
3
4== WHY
5Ce plugin a pour vocation de rationaliser l’affichage du code sous SPIP, par l’usage des éléments HTML corrects <code> et <pre>, en préservant les chouettes avantages du traitement du code par SPIP.
6
7Constat / problèmes à résoudre :
8- SPIP génère du code tout pourri-old pour <cadre> et aussi <code> :
9il faudrait du <pre><code> (pour les 2)
10- L’intérêt de <cadre> est de faciliter le copier-coller :
11ce qui peut se faire via JS auj.
12- Nous avons 2 raccourcis pour 3 effets :
132 effets et 1 seul raccourci suffisent.
14
15
16==== ==== ==== ==== V1
17
18== Code généré - HTML — DOING by tetue
19Dans l’immédiat, ce plugin fait POC, en corrigeant le code généré de SPIP qui est simplifié (patch à supprimer ultérieurement) et n’a plus que deux formes principales, suffisantes et conformes aux standards W3C :
20
21exemple de <code>code</code> inline
22
23<pre><code>Exemple de
24code en bloc</code></code>
25
26x Fournir une page-skel de test exemplaire -> ../?page=demo/precode
27x Expliquer à quoi sert <pre> -> http://romy.tetue.net/a-quoi-sert-la-balise-pre
28
29
30== Copier facilement — JS — TODO
31L’intérêt de <cadre> était de présenter du code facile à copier. Cela peut se faire de façon automatisée via JS. Exemple sur les extraits de code de cette page :
32http://a11y-style-guide.com/style-guide/section-media.html
33
34x insérer auto un bouton « copier » à chaque bloc <pre><code>
35- et pourquoi pas plutôt à chaque bloc <pre> (qu’il contienne du code ou pas) finalement ?
36x qui a pour action de copier auto le code dans le presse-papier local
37x prévoir feedback confirmant la copie
38x détail luxueux : une seule class .copied à la fois dans la page (pour éviter le feedback multiple, qui ne correspond pas à la réalité de l’action)
39- avec les aria qui vont bien pour l’accessibilité
40= on verra ensuite comment looker toussa — DOING
41- pas d’autre gadget : on se contente de couvrir le périmètre fonctionnel existant
42- <cadre> est consécutivement déprécié.
43
44
45==== ==== ==== ==== V2 ?
46
47== Raccourcis — SPIP — TODO
48Puisque l’on peut faire la même chose qu’avant, mais avec un seul, il n’est plus nécessaire d’avoir 2 raccourcis différents.
49
50Améliorer le raccourci <code> pour qu’il génère :
51- du code en ligne balisé de <code>
52- du code en bloc balisé de <pre><code>
53
54= avec les attributs qui vont bien : dir='ltr'
55- faut-il maintenir la class='spip_code' ?
56- voir aussi : https://core.spip.net/issues/2504
57- préserver le SUPER-méga-top-génial traitement de SPIP qui encode automatiquement ce qui est dans <code>
58
59Rétro-compat : l’ancien raccourci <cadre> est déprécié (à ne plus utiliser) mais maintenu pour rétrocmpat :
60= <cadre> fait comme <code> en bloc
61- supprimer les cols='40' rows='7' résiduels
62
63<pre> n’est pas un raccourci SPIP, mais devrait pouvoir être utilisé sans dommage :
64- empêcher SPIP de traiter les balises et raccourcis contenus dans <pre> (comme pour <code>)
65- sinon, a minima, remplacer automatiquement le <pre> saisi par <html><pre> ?
66- pre respecte nativement les espaces, indentations, retours… => ne pas générer de <br> ni de <p> dans <pre> (ni dans <pre><code>)
67- voir : https://core.spip.net/issues/3990
68
69
70== Style — CSS — TODO by tetue
71- Supprimer les sélecteurs spip_code et spip_cadre
72x Prévoir feuille minimale, injectée auto, pour s’assurer d’un rendu correct.
73= Ne pas imposer de look particulier.
74x La coloration syntaxique relève toujours d’autres plugins.
75
76
77
78==== ==== ==== ==== V3++
79
80== Evol/idées — STANDBY (mais DOING quand même par Romy)
81
82Ce serait super pour les lecteurices, s’ils savaient à quel type de code ils ont affaire, histoire de savoir dans quel format de fichier l’utiliser :
83- Un raccourci abrégé, plus rapide à écrire : <c> ?
84- Pouvoir déclarer facilement la nature du code, par exemple : <c|html>, <c|spip>, <c|css>, <c|js>, <c|php>, etc.
85- Qui générerait respectivement <pre class="html" (ou <pre data-lang="HTML"><code> ; vérifier la pertinence de l’attribut data-lang), etc.
86x Afficher consécutivement « code html » en :before juste avant le bloc correspondant (sinon rien)
87x Avec le joli style qui va bien
88
89Proposer panneau de conf styles ?
90( ) wrap, no-wrap
91( ) dark, light
92
93/* end */
Note: See TracBrowser for help on using the repository browser.