Commit 8f14d4b6 authored by Denis Salem's avatar Denis Salem
Browse files

WIP on french documentation, fixing bugs

parent 8ccec33d
author_description: I'm a artist and software engineer
author_email: denissalem 47 tuxfamily D07 org
author_name: Denis Salem
blog_description: A fancy static blog generator for everyone!
blog_keywords: blog static foss open-source denissalem free software generator web content python script linux
blog_language: fr
blog_name: VenC
blog_url: https://denissalem.tuxfamily.org/VenC
columns: 1
date_format: '%A %d. %B %Y'
entries_per_pages: 1
ftp_host: Nom d'hôte FTP
license: CC By-SA
code_highlight_css_override: true
markup_language: 'Markdown'
path:
category_directory_name: '{category}'
dates_directory_name: '%m-%Y'
entry_file_name: index.html
ftp: Chemin absolu de votre blog sur l'hôte FTP.
index_file_name: index{page_number}.html
rss_file_name: feed.xml
dates_sub_folders: ""
categories_sub_folders: ""
entries_sub_folders: "{entry_title}"
reverse_thread_order: false
rss_thread_lenght: 5
text_editor: gvim
disable_main_thread: True
disable_threads: ""
disable_archives: True
disable_categories: false
disable_single_entries: false
banner: 'https://download.tuxfamily.org/dsalem/img/2017_-_Denis_Salem_-_CC_By_SA_-_VenC-logo.svg'
path_encoding: 'utf-8'
authors: 'Denis Salem'
categories: '1. Présentation'
tags: ''
title: '1. Présentation'
---VENC-BEGIN-PREVIEW---
---VENC-END-PREVIEW---
VenC est une application python conçue pour linux et similaire à [Octopress](http://octopress.org)/[Jekyll](http://jekyllrb.com) ou [Pelican]() pour gérer et créer vos blogs statiques via la console. Avec VenC, tout est fichier texte, pas de base de données. La configuration de chaque blog repose sur un unique et petit fichier Yaml, les thèmes consistent en une poignée de templates HTML à modifier ou créer soi même, les publications quant à elles, se présentent sous la forme d'une partie [YAML]() et d'une autre [Markdown]() ou [reStructuredText]().
Les blogs statiques sont tout à fait adaptés aux réseaux type Deepweb ou ceux qui veulent un contrôle total sur leur site sans s'embarrasser de CMS lourds et potentiellement vulnérables en terme de sécurité. Par ailleurs, l'extrême simplicité de l'organisation des sources des blogs issues de VenC garantit une prise en main rapide et efficace.
En outre, voilà ce que VenC propose:
- Création de blog statique.
- Mise en page simple à personnaliser directement en HTML/CSS.
- Possibilité de créer un agencement en nombre arbitraire de colonne.
- Module de défilement infinie.
- Les publications peuvent être organisées par catégories et sous catégories.
- Les publications peuvent être organisées par période de dates.
- Possibilité de désactiver des fils de publications spécifique.
- Possibilité de définir des sous répertoires par type de fils de publications.
- Publication chronologique ascendante ou descendante.
- Flux ATOM et/ou RSS pour chaque fils de publications.
- Permaliens.
- La gestion et l'édition du blog peut-être faite entièrement en ligne de commande.
- Rédaction des publications en [Markdown](), [reStructuredText](), ou HTML.
- Exportation en ligne du blog via FTP.
- Coloration Syntaxique.
- Balises VenC permettant une mise en page et intégration de contenu avancés.
- Support du protocol oembed.
- Support de contenu audio et video.
- Installation via [pip]().
- VenC est conçu pour GNU/Linux spécifiquement.
- VenC est un logiciel libre sous licence [GNU/GPLv3].
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="444.76608"
height="190"
id="svg2"
version="1.1"
inkscape:version="0.48.5 r10040"
sodipodi:docname="Nouveau document 1">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="194.6463"
inkscape:cy="81.297173"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
fit-margin-left="5"
fit-margin-top="5"
fit-margin-bottom="5"
fit-margin-right="5"
inkscape:window-width="1366"
inkscape:window-height="749"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0">
<inkscape:grid
type="xygrid"
id="grid2985"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
originx="-34px"
originy="-494.98718px" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-34,-367.375)">
<path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 40,392.36218 40,140 40,-140"
id="path2989"
inkscape:connector-curvature="0" />
<path
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
d="m 146.96875,372.375 c -3.85821,0 -6.96875,3.07929 -6.96875,6.9375 l 0,166.09375 c 0,3.85821 3.11054,6.96875 6.96875,6.96875 l 226.0625,0 c 3.85821,0 6.96875,-3.11054 6.96875,-6.96875 l 0,-166.09375 c 0,-3.85821 -3.11054,-6.9375 -6.96875,-6.9375 l -226.0625,0 z m 53.03125,19 c 10.68196,0 21.23026,7.12952 29.15625,21 7.61466,13.32565 11.84375,31.28351 11.84375,50 l 0,1 -1,0 -1,0 -77.9375,0 c 0.13992,17.38897 3.95436,34.70582 11.46875,47.90625 l 0.0625,0.0937 c 7.69498,13.46622 17.61443,20 27.40625,20 9.79182,0 19.71127,-6.53378 27.40625,-20 l 0.5,-0.875 1.75,1 -0.5,0.84375 C 221.23026,526.21423 210.68196,533.375 200,533.375 c -10.68196,0 -21.23026,-7.16077 -29.15625,-21.03125 -15.84065,-27.72123 -15.84942,-72.1612 -0.0312,-99.90625 l 0.0312,-0.0625 c 7.92599,-13.87048 18.47429,-21 29.15625,-21 z m 79,0 1,0 40,0 c 20.33333,0 30.78699,10.29274 35.90625,20.53125 C 361.0255,422.14476 361,432.375 361,432.375 l 0,100 -2,0 0,-100 c 0,0 -0.0255,-9.80101 -4.90625,-19.5625 C 349.21301,403.05101 339.66667,393.375 320,393.375 l -39,0 0,139 -2,0 0,-140 0,-1 z m -79,2 c -9.79182,0 -19.71127,6.53378 -27.40625,20 -7.55004,13.21256 -11.38686,30.56919 -11.53125,48 l 77.90625,0 c -0.14985,-18.05062 -4.30861,-35.30569 -11.5625,-48 -7.69498,-13.46622 -17.61443,-20 -27.40625,-20 z"
id="path2991"
inkscape:connector-curvature="0" />
<path
sodipodi:type="arc"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:square;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path2997"
sodipodi:cx="440"
sodipodi:cy="462.36218"
sodipodi:rx="40"
sodipodi:ry="70"
d="m 468.28427,511.85966 c -15.62097,27.3367 -40.94757,27.3367 -56.56854,0 -15.62097,-27.3367 -15.62097,-71.65825 0,-98.99495 15.62097,-27.3367 40.94757,-27.3367 56.56854,0 1.64656,2.88147 3.14619,6.00906 4.48181,9.34712"
sodipodi:start="0.78539816"
sodipodi:end="5.6723201"
sodipodi:open="true" />
</g>
</svg>
body
{background-image: url('bg.png');
font-family: sans;
font-weight: lighter;
color: #AAA;
text-shadow: 0px 2px #000;
background-color: #080808;}
aside
{display: inline-block;
position: absolute;
top: 0px;
left: 0px;
width: 25%;
min-height: 100%;}
aside header
{text-align: center;}
aside header img
{width:90%;}
a
{color: #FFF;
text-decoration: none;}
aside ul
{list-style-type: none;}
#content
{display: block;
background-image: url('bg.png');
background-color: #000;
border-left: 1px solid #000;
box-shadow: 0px 0px 10px #000 inset;
position: absolute;
width: 74%;
top:0%;
left:25%;
min-height: 100%;}
#content h1,
#content h2,
#content h3,
#content p
{margin-left: 15px;
margin-right: 15px;}
#content p
{text-align: justify;}
#content ul
{list-style-type: square;}
<audio controls style="width: 100%">
{source}
Your browser does not support the audio element.
</audio>
<div id="entry-content">
<div class="entry" id="entry.:GetEntryID:." data-venc-keywords=".:ForEntryTags::{value}::,:." data-venc-authors=".:ForEntryAuthors::{author}::,:.">
<h2><a href=".:GetEntryURL:.">.:GetEntryTitle:.</a></h2>
.:GetEntryContent:.
</div>
</div>
</div>
<footer>
.:GetPreviousPage::<a href="{destination_page_url}">Précédent</a>:.
<ul>.:ForPages::5::<li><a href="{page_url}">{page_number}</a></li>:: :.</ul>
.:GetNextPage::<a href="{destination_page_url}">Suivant</a>:.
</footer>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta generator="VenC" />
<meta charset="utf-8" />
<meta keywords=".:GetBlogKeywords:." />
<meta description=".:GetBlogDescription:." />
<title>.:GetBlogName:.</title>
<link rel="stylesheet" href=".:GetRelativeOrigin:.style.css" type="text/css">
<link rel="alternate" type="application/rss+xml" title=".:GetBlogName:." href="./feed.xml" />
.:IfInThread::<link rel="stylesheet" href="./styleThread.css" type="text/css">:: :.
</head>
<body>
<aside>
<header>
<h1><a href=".:GetRootPage:."><img src=".:GetRelativeOrigin:.logo.png" alt=".:GetBlogName:." title=".:GetBlogName:." /></a></h1>
</header>
.:TreeForBlogCategories::<ul>::<li><a href="{path}#entry-content">{item}</a>::</li>::</ul>:.
</aside>
<div id="content">
<item>
<title>.:GetEntryTitle:.</title>
<link>.:GetBlogURL:./.:GetEntryURL:.</link>
<guid isPermaLink="true">.:GetBlogURL:./.:GetEntryURL:.</guid>
<description>.:GetEntryContent:.</description>
</item>
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<atom:link href=".:GetBlogURL:./feed.xml" rel="self" type="application/rss+xml" />
<title>.:GetBlogName:.</title>
<link>.:GetBlogURL:.</link>
<description>.:GetBlogDescription:.</description>
<video controls poster="{poster}" style="width: 100%;">
{source}
Your browser does not support the video tag.
</video>
......@@ -127,24 +127,27 @@
DONE | Allow disabling exportation of specific kind of thread.
DONE | Add categories tree in entry.
DONE | Remove illegal character from paths.
DONE | Add support for embed content (oEmbed)
WIP | Add custom subfolders
TODO | Client-side search engine.
TODO | Fix unit test.
DONE | Add support for embed content (oEmbed).
DONE | Add custom subfolders.
DONE | Add GetRootPage.
TODO | Support ForPage in entries thread.
TODO | Add support For Atom feed.
TODO | Serv page.
TODO | Open with navigator manual.
TODO | Client-side search engine.
TODO | Fix unit test.
TODO | Reorganize themes dependencies in setup (adding default templates, scripts, and pages to include).
TODO | Add relevant templates for themes.
TODO | Split install and blog creation chapter in tutorial.
TODO | fix FAQ https://stackoverflow.com/questions/14547631/python-locale-error-unsupported-locale-setting.
TODO | fix FAQ latex2mathml is incomplete.
TODO | fix FAQ categories separator is ' > ', not '>'
TODO | fix FAQ subfolders must not start with '/'
TODO | Change nomenclature: Most of the usual patterns are changed. Fix doc.
TODO | Add translation for Deutsch and Spanish.
WIP | Split install and blog creation chapter in tutorial.
WIP | fix FAQ https://stackoverflow.com/questions/14547631/python-locale-error-unsupported-locale-setting.
WIP | fix FAQ latex2mathml is incomplete.
WIP | fix FAQ categories separator is ' > ', not '>'
WIP | fix FAQ subfolders must not start with '/'
WIP | Change nomenclature: Most of the usual patterns are changed. Fix doc.
# version 2.x.x
TODO | Add translation for Deutsch and Spanish.
TODO | Add docutils reStructuredText parser settings override.
TODO | Decrease halt_level to render reStructuredText even if errors occurs.
TODO | Access {count} and {weight} from LeavesForEntrycategories.
......
<div class="entry" id="entry.:Get::EntryID:." data-venc-keywords=".:For::EntryTags::{0[tag]}::,:." data-venc-authors=".:For::EntryAuthors::{0[author]}::,:.">
<h3>#<a href=".:Get::EntryUrl:.">.:Get::EntryID:.</a> .:Get::EntryName:.</h3>
<h4>.:For::EntryAuthors::{0[author]}::, :. - <a href=".:Get::EntryDateUrl:.">.:Get::EntryDate:.</a></h4>
.:Get::EntryContent:.
<ul>.:For::EntryCategoriesLeaves::<li><a href="{0[relativeOrigin]}{0[categoryLeafPath]}">{0[categoryLeaf]}</a></li>:: :.</ul>
<div class="entry" id="entry.:GetEntryID:." data-venc-keywords=".:ForEntryTags::{0[tag]}::,:." data-venc-authors=".:ForEntryAuthors::{0[author]}::,:.">
<h3>#<a href=".:Get::EntryURL:.">.:GetEntryID:.</a> .:GetEntryTitle:.</h3>
<h4>.:ForEntryAuthors::{0[author]}::, :. - <a href=".:GetEntryDateUrl:.">.:GetEntryDate:.</a></h4>
.:GetEntryContent:.
<ul>.:ForEntryCategoriesLeaves::<li><a href="{0[relativeOrigin]}{0[categoryLeafPath]}">{0[categoryLeaf]}</a></li>:: :.</ul>
</div>
......@@ -3,22 +3,22 @@
<head>
<meta generator="VenC" />
<meta charset="utf-8" />
<meta keywords=".:Get::BlogKeywords:." />
<meta description=".:Get::BlogDescription:." />
<title>.:Get::BlogName:.</title>
<link rel="stylesheet" href=".:Get::RelativeOrigin:.style.css" type="text/css">
<link rel="alternate" type="application/rss+xml" title=".:Get::BlogName:." href="./feed.xml" />
<meta keywords=".:GetBlogKeywords:." />
<meta description=".:GetBlogDescription:." />
<title>.:GetBlogName:.</title>
<link rel="stylesheet" href=".:GetRelativeOrigin:.style.css" type="text/css">
<link rel="alternate" type="application/rss+xml" title=".:GetBlogName:." href="./feed.xml" />
.:IfInThread::<link rel="stylesheet" href="./styleThread.css" type="text/css">:: :.
</head>
<body>
<header>
<h1><a href=".:Get::RelativeOrigin:.">.:Get::BlogName:.</a></h1>
<h2>.:Get::License:. | .:Get::AuthorName:.</h2>
<h1><a href=".:GetRootPage:.">.:GetBlogName:.</a></h1>
<h2>.:GetBlogLicense:. | .:GetAuthorName:.</h2>
</header>
<aside>
<p>.:Get::BlogDescription:.</p>
<p>.:Get::AuthorDescription:.</p>
<p>.:Get::AuthorEmail:.</p>
.:RecursiveFor::BlogCategories::<ul>::<li><a href="{0[relativeOrigin]}{0[categoryPath]}">{0[item]}</a>::</li>::</ul>:.
<ul>.:For::BlogDates::<li><a href="{0[dateUrl]}">{0[date]}</a></li>:: :.</ul>
<p>.:GetBlogDescription:.</p>
<p>.:GetAuthorDescription:.</p>
<p>.:GetAuthorEmail:.</p>
.:TreeForBlogCategories::<ul>::<li><a href="{0[relativeOrigin]}{0[categoryPath]}">{0[item]}</a>::</li>::</ul>:.
<ul>.:ForBlogDates::<li><a href="{0[dateUrl]}">{0[date]}</a></li>:: :.</ul>
</aside>
......@@ -2,5 +2,5 @@
<title>.:Get::EntryName:.</title>
<link>.:Get::BlogUrl:./.:Get::EntryUrl:.</link>
<guid isPermaLink="true">.:Get::BlogUrl:./.:Get::EntryUrl:.</guid>
<description>.:Get::EntryContent:.</description>
<description>.:GetEntryContent:.</description>
</item>
......@@ -2,7 +2,7 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<atom:link href=".:Get::BlogUrl:./feed.xml" rel="self" type="application/rss+xml" />
<title>.:Get::BlogName:.</title>
<link>.:Get::BlogUrl:.</link>
<description>.:Get::BlogDescription:.</description>
<atom:link href=".:GetBlogURL:./feed.xml" rel="self" type="application/rss+xml" />
<title>.:GetBlogName:.</title>
<link>.:GetBlogURL:.</link>
<description>.:GetBlogDescription:.</description>
</div>
<footer id="__VENC_NAVIGATION__">
.:GetPreviousPage:: <a id="previous" href="{destination_page_url} "></a>:.
.:GetPreviousPage:: <a id="previous" href="{path}"></a>:.
<ul id="pagesList">.:ForPages::5::<li><a href="{page_url}">{page_number}</a></li>:: . :.</ul>
.:GetNextPage:: <a id="next" href="{destination_page_url} "></a>:.
.:GetNextPage:: <a id="next" href="{path}"></a>:.
</footer>
</body>
</html>
Supports Markdown
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