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

Last change on this file since 106881 was 106881, checked in by p@…, 2 years ago

TODO

File size: 4.1 KB
Line 
1= TODO
2= pour Simple C
3
4https://mensuel.framapad.org/p/simplec
5
6== WHY
7Ce 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.
8
9Constat / problèmes à résoudre :
10- SPIP génère du code tout pourri-old pour <cadre> et aussi <code> :
11il faudrait du <pre><code> (pour les 2)
12- L’intérêt de <cadre> est de faciliter le copier-coller :
13ce qui peut se faire via JS auj.
14- Nous avons 2 raccourcis pour 3 effets :
152 effets et 1 seul raccourci suffisent.
16
17
18
19==== ==== ==== ==== V1
20
21== Code généré - HTML — DOING by tetue
22Dans 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 :
23
24exemple de <code>code</code> inline
25
26<pre><code>Exemple de
27code en bloc</code></code>
28
29- Fournir une page/skel de test/exemplaire
30- Expliquer à quoi sert <pre> - DOING : http://localhost:8888/romy/spip/?article1198
31
32
33== Copier facilement — JS — TODO
34L’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 :
35http://a11y-style-guide.com/style-guide/section-media.html
36
37- insérer auto un bouton « copier » à chaque bloc <pre><code>
38- qui a pour action de copier auto le code dans le presse-papier local
39- prévoir feedback confirmant la copie
40- avec les aria qui vont bien pour l’accessibilité
41- on verra ensuite comment looker toussa
42- pas d’autre gadget : on se contente de couvrir le périmètre fonctionnel existant
43- <cadre> est consécutivement déprécié.
44
45
46== Partager
47Pour partager dans SPIP, il faut un fichu nom à ce plugin :
48- j’aime bien « code » tout simplement (mais peut-être problématique comme prefix ?)
49- « Simple C » = dans l’idée d’un raccourci simplet unique <c>…
50- What’s else ?
51
52
53
54==== ==== ==== ==== V2 ?
55
56== Raccourcis — SPIP — TODO
57Puisque 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.
58
59Améliorer le raccourci <code> pour qu’il génère :
60- du code en ligne balisé de <code>
61- du code en bloc balisé de <pre><code>
62
63- avec les attributs qui vont bien : dir='ltr'
64- faut-il maintenir la class='spip_code' ?
65- voir aussi : https://core.spip.net/issues/2504
66- préserver le SUPER-méga-top-génial traitement de SPIP qui encode automatiquement ce qui est dans <c> (anciennement <code>)
67
68Rétro-compat : l’ancien raccourci <cadre> est déprécié (à ne plus utiliser) mais maintenu pour rétrocmpat :
69- <cadre> fait comme <code> en bloc
70
71<pre> n’est pas un raccourci SPIP, mais devrait pouvoir être utilisé sans dommage :
72- empêcher SPIP de traiter les balises et raccourcis contenus dans <pre> (comme pour <code>)
73- sinon, a minima, remplacer automatiquement le <pre> saisi par <html><pre>
74- pre respecte les espaces, indentations, retours… => ne pas générer de <br> dans <pre><code>
75
76
77== Style — CSS — TODO by tetue
78- Supprimer les sélecteurs spip_code et spip_cadre
79- Prévoir feuille minimale, injectée auto, pour s’assurer d’un rendu correct.
80- Ne pas imposer de look particulier.
81- La coloration syntaxique relève toujours d’autres plugins.
82
83
84
85==== ==== ==== ==== V3++
86
87== Evol/idées (pour une V2) — STANDBY (mais DOING quand même par Romy)
88
89Ce 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 :
90- Un raccourci abrégé, plus rapide à écrire : <c> ?
91- Pouvoir déclarer facilement la nature du code, par exemple : <c|html>, <c|spip>, <c|css>, <c|js>, <c|php>, etc.
92- Qui générerait respectivement <pre class="html" (ou <pre data-lang="HTML"><code> ; vérifier la pertinence de l’attribut data-lang), etc.
93- Afficher consécutivement « code html » en :before juste avant le bloc correspondant (sinon rien)
94
95Proposer panneau de conf styles ?
96( ) wrap, no-wrap
97( ) dark, light
98
99/* end */
Note: See TracBrowser for help on using the repository browser.