Afficher le language des blocs de code
Pour faire suite à !5351 (merged), on pourrait (comme le fait le plugin precode) afficher le language
du bloc en haut à droite, exemple :
Avec le patch suivant pour le core :
diff --git a/ecrire/inc/texte_mini.php b/ecrire/inc/texte_mini.php
index 495e58b14b..db25374f85 100644
--- a/ecrire/inc/texte_mini.php
+++ b/ecrire/inc/texte_mini.php
@@ -69,12 +69,13 @@ function spip_balisage_code(string $corps, bool $bloc = false, string $attributs
$echap = spip_htmlspecialchars($corps); // il ne faut pas passer dans entites_html, ne pas transformer les &#xxx; du code !
$class = "spip_code " . ($bloc ? 'spip_code_block' : 'spip_code_inline');
- if ($langage) {
- $class .= " language-$langage";
- }
if ($attributs) {
$attributs = " " . trim($attributs);
}
+ if ($langage) {
+ $class .= " language-$langage";
+ $attributs .= ' data-language="'. $langage .'"';
+ }
if ($bloc) {
$html = "<div class=\"precode\">"
. "<pre class=\"$class\" dir=\"ltr\" style=\"text-align: left;\"$attributs>"
Et celui-ci pour la dist :
diff --git a/css/theme.css b/css/theme.css
index 31709a1..a101522 100644
--- a/css/theme.css
+++ b/css/theme.css
@@ -72,6 +72,21 @@ blockquote.spip_poesie {
padding: 0.75em;
width:100%;
}
+.spip_code.spip_code_block[data-language],
+.spip_cadre.spip_cadre_block[data-language] {
+ position:relative;
+}
+.spip_code.spip_code_block[data-language]::before,
+.spip_cadre.spip_cadre_block[data-language]::before {
+ position: absolute;
+ top: 5px;
+ right: 6px;
+ content: attr(data-language);
+ text-transform: lowercase;
+ font-family: monospace;
+ line-height: 1;
+ font-size: 0.8rem;
+}
/* ------------------------------------------
/* Habillage des elements du contenu