Commit b707a033 authored by Denis Salem's avatar Denis Salem
Browse files

Add CodeHighlightInclude to keep_appart_from_markup

parent 6ddcf213
......@@ -21,8 +21,13 @@ Il est aussi possible d'utiliser ceux là dans des templates. Pour en savoir plu
Il est possible de définir ses propres variable dans les métadonnées de la publication ou du template.
Pour accéder à l'une de ces variables on utilise la motif suivant:
Par exemple, si on définie la variable suivante:
> .:Escape:: .:GetEntryMetadata::nom-de-la-variable:. ::EndEscape:.
> free_hardware : Arduino Mega
Si la variable appelé référencé n'existe pas
Pour accéder à celle-ci on utilisera le motif GetEntryMetadata de la façon suivante:
> .:Escape:: .:GetEntryMetadata::free_hardware:. ::EndEscape:.
Si la variable ainsi référencée n'existe pas VenC générera une
erreur et vous indiquera où en est l'origine.
......@@ -6,18 +6,37 @@ title: Accesseurs globaux
---VENC-BEGIN-PREVIEW---
---VENC-END-PREVIEW---
Ces motifs sont généralement disponibles quelque soit le contexte et
Ces motifs sont disponibles quelque soit le contexte et
sont définis dans blog_configuration.yaml.
- __.:Escape:: .:GetAuthorName:. ::EndEscape:.__ : Retourne le nom de l'auteur du blog.
- __.:Escape:: .:GetBlogName:. ::EndEscape:.__ : Retourne le titre du blog.
- __.:Escape:: .:GetBlogDescription:. ::EndEscape:.__ : Retourne la description du blog.
- __.:Escape:: .:GetBlogKeywords:. ::EndEscape:.__ : Retourne les mots clefs décrivant le blog.
- __.:Escape:: .:GetAuthorDescription:. ::EndEscape:.__ : Retourne la description de l'auteur du blog.
- __.:Escape:: .:GetBlogLicense:. ::EndEscape:.__ : Retourne la licence appliquée au contenu du blog.
- __.:Escape:: .:GetBlogURL:. ::EndEscape:.__ : Retourne l'URL du blog.
- __.:Escape:: .:GetBlogLanguage:. ::EndEscape:.__ : Retourne le language du blog.
- __.:Escape:: .:GetAuthorEmail:. ::EndEscape:.__ : Retourne l'adresse email de l'auteur du blog.
## .:Escape:: .:GetAuthorName:. ::EndEscape:.
Retourne le nom de l'auteur du blog.
## .:Escape:: .:GetBlogName:. ::EndEscape:.
Retourne le titre du blog.
## .:Escape:: .:GetBlogDescription:. ::EndEscape:.
Retourne la description du blog.
## .:Escape:: .:GetBlogKeywords:. ::EndEscape:.
Retourne les mots clefs décrivant le blog.
## .:Escape:: .:GetAuthorDescription:. ::EndEscape:.
Retourne la description de l'auteur du blog.
## .:Escape:: .:GetBlogLicense:. ::EndEscape:.
Retourne la licence appliquée au contenu du blog.
## .:Escape:: .:GetBlogURL:. ::EndEscape:.
Retourne l'URL du blog.
## .:Escape:: .:GetBlogLanguage:. ::EndEscape:.
Retourne le language du blog.
## .:Escape:: .:GetAuthorEmail:. ::EndEscape:.
Retourne l'adresse email de l'auteur du blog.
## .:Escape:: .:GetBlogMetadata::variable_name:. ::EndEscape:.
Vous pouvez également définir vos propres variables en rajoutant des
champs au fichier de configuration blog_configuration.yaml. Par exemple
......@@ -27,4 +46,17 @@ en rajoutant la ligne
dans le fichier de configuration, vous pourrez ensuite récupérer la valeurs de Banner avec
> .:Escape:: .:Get::Banner:. ::EndEscape:.
> .:Escape:: .:GetBlogMetadata::Banner:. ::EndEscape:.
Comme pour __GetEntryMetadata__, si la variable référencée n'existe pas,
VenC générera une erreur et vous en indiquera l'origine.
## .:Escape:: .:GetBlogMetadataIfExists::variable_name[::string]:. ::EndEscape:.
De façon similaire, il est possible d'essayer d'accéder à une variable,
sans garantie que celle-ci existe. Si la variable existe, il est possible
alors de formater du texte pour y inclure notre variable.
Un cas d'usage typique serait d'ajouter un bouton de réseau social:
.:CodeHighlightInclude::C++::True::GetBlogMetadataIfExists_example:.
......@@ -37,8 +37,8 @@ aside ul
blockquote,
.venc_source_Yaml,
.venc_source_Text
.venc_source_Text,
.venc_source_html,
{background-color: rgba(0,0,0,0.5);
color: #FFF;
font-size: 0.8em;
......@@ -54,14 +54,15 @@ blockquote p
{padding-right: 15px;}
.venc_source_Yaml,
.venc_source_Text
.venc_source_Text,
.venc_source_html
{font-size: 1em;
margin-left: 15px;
margin-right: 15px;}
.venc_source_Yaml pre,
.venc_source_Text pre
.venc_source_Text pre,
.venc_source_html pre
{overflow: hidden;
margin-top: 0px;
margin-left: 15px;
......
......@@ -506,6 +506,7 @@ class DataStore:
def get_blog_metadata_if_exists(self, argv):
try:
value = self.blog_configuration[argv[0]]
except KeyError:
return str()
......
......@@ -62,6 +62,7 @@ class CodeHighlight:
code = "::".join(argv[2:])
else:
code = argv[2]
result = "<div class=\"__VENC_PYGMENTIZE_WRAPPER__\">"+pygments.highlight(code.replace("\:",":"), lexer, formatter).replace(".:","&period;:").replace(":.",":&period;")+"</div>"
css = formatter.get_style_defs()
......
......@@ -116,6 +116,7 @@ class PatternsMap():
self.keep_appart_from_markup = [
"CodeHighlight",
"CodeHighlightInclude",
"Latex2MathML",
"IncludeFile",
"SetStyle",
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment