Langue
🎨 Skin viewer
Galeries Photo

Galerie1_RETestPrev1

Index du forum »»  Divers »» [Résolu] - highlight code

[Résolu] - highlight code#904

1Contributeur(s)
jpb
2 Modérateur(s)
jpbnpdsutilisateur
jpb jpbicon_post
Colorisation syntaxique du code
Cela semble ENFIN fonctionner lors des différentes actions sur un post (edition, répondre, citation)
Solution retenue actuellement : highlight.js
Ce script détecte automatiquement le langage et applique les classes correspondantes.
Cependant il semble quand même que souvent il se mélange les pinceau et on a une colorisation un peu cahotique ...

Dans l'exemple ci dessous (CSS) il fonctionne parfaitement (détection et application des types de classe css)

@media (max-width: 767px) {
#container {margin-top:4rem;}
nav#uppernavbar.navbar.navbar-fixed-top.navbar-light.bg-faded {padding: 0.5rem 0.5rem;}
.navbar-divider {display:none;}
ul.nav.navbar-nav {
line-height: 1.5rem;
}
a.navbar-brand {
padding-top: 0.25rem;
padding-bottom: 0.25rem;
}
.navbar-nav .nav-item {
clear: left;
margin-left: 1rem;
}
nav#uppernavbar {padding-top:0.6rem;padding-bottom:0.6rem;}
.page-header {
margin: 1.5rem 0 20px;
padding:1rem;display:none;
}
}
L'eau goutte à  goutte finit toujours par percer la pierre...
Message édité par : jpb / 02-10-2017 09:53
Message édité par : jpb / 02-10-2017 10:09
 Message édité par : jpb / 02-10-2017 10:13
jpb jpbicon_post
Dans ce cas ci portion de HTML on voit le dysfonctionnement de la colorisation syntaxique. Car la détection renvoi !!!javascript!!! alors qu'elle devrait renvoyer html ou xml

<div class="row bg-light">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4 ml-auto">.col-md-4 .ml-auto</div>
</div>
<div class="row">
<div class="col-md-9 ml-md-auto">.col-md-3 .ml-md-auto</div>
</div>
<div class="row">
<div class="col-auto mr-auto">.col-auto .mr-auto</div>
<div class="col-auto">.col-auto</div>
</div>


Ci dessous un extrait d'un fichier PHP dans ce cas la détection est correcte et la classe principale attribué est hljs php

/*
le géoréférencement des anonymes est basé sur un décodage des adresse ip
le géoréférencement des membres sur une géolocalisation exacte réalisé par l'utilisateur
la geolocalisation instantanée est réalisé par les api html5 de géolocalisation (!! elle n'est disponible que pour un site en https)
*/
if (!stristr($_SERVER['PHP_SELF'],"modules.php"))
die();
if (strstr($ModPath,'..') || strstr($ModStart,'..') || stristr($ModPath, 'script') || stristr($ModPath, 'cookie') || stristr($ModPath, '!!iframe!!') || stristr($ModPath, 'applet') || stristr($ModPath, 'object') || stristr($ModPath, 'meta') || stristr($ModStart, 'script') || stristr($ModStart, 'cookie') || stristr($ModStart, '!!iframe!!') || stristr($ModStart, 'applet') || stristr($ModStart, 'object') || stristr($ModStart, 'meta'))
die();

global $pdst, $language, $title;

if (file_exists('modules/'.$ModPath.'/admin/pages.php'))
!!include!! ('modules/'.$ModPath.'/admin/pages.php');
!!include!! ('modules/'.$ModPath.'/geoloc_conf.php');
if (file_exists('modules/'.$ModPath.'/lang/geoloc.lang-'.$language.'.php'))
!!include!!_once('modules/'.$ModPath.'/lang/geoloc.lang-'.$language.'.php');
else
!!include!!_once('modules/'.$ModPath.'/lang/geoloc.lang-french.php');

$infooo='';


L'eau goutte à  goutte finit toujours par percer la pierre...
Message édité par : jpb / 02-10-2017 10:17
Message édité par : jpb / 02-10-2017 10:20
Message édité par : jpb / 02-10-2017 10:30
 Message édité par : jpb / 02-10-2017 10:33
jpb jpbicon_post
Du HTML
...
<span class="border">xxx</span>

<span class="border-0">xxx</span><br />
<span class="border border-top-0">xxx</span>
<span class="border border-right-0">xxx</span>
<span class="border border-bottom-0">xxx</span>
<span class="border border-left-0">xxx</span>


CSS

function preview_local_langue($local_user_language,$ibid) {

@media (max-width: 767px) {
#container {margin-top:4rem;}
nav#uppernavbar.navbar.navbar-fixed-top.navbar-light.bg-faded {padding: 0.5rem 0.5rem;}
.navbar-divider {display:none;}
ul.nav.navbar-nav {
line-height: 1.5rem;
}
a.navbar-brand {
padding-top: 0.25rem;
padding-bottom: 0.25rem;
}
.navbar-nav .nav-item {
clear: left;
margin-left: 1rem;
}
nav#uppernavbar {padding-top:0.6rem;padding-bottom:0.6rem;}
.page-header {
margin: 1.5rem 0 20px;
padding:1rem;display:none;
}
}
L'eau goutte à  goutte finit toujours par percer la pierre...