blog.notmyidea.org/pelican-a-simple-static-blog-generator-in-python.html

124 lines
No EOL
8.7 KiB
HTML

<!DOCTYPE html>
<html lang="fr">
<head>
<title>
Pelican, a simple static blog generator in&nbsp;python - Alexis Métaireau </title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet"
href="https://blog.notmyidea.org/theme/css/main.css?v2"
type="text/css" />
<link href="https://blog.notmyidea.org/feeds/all.atom.xml"
type="application/atom+xml"
rel="alternate"
title="Alexis Métaireau ATOM Feed" />
</head>
<body>
<div id="content">
<section id="links">
<ul>
<li>
<a class="main" href="/">Alexis Métaireau</a>
</li>
<li>
<a class=""
href="https://blog.notmyidea.org/journal/index.html">Journal</a>
</li>
<li>
<a class="selected"
href="https://blog.notmyidea.org/code/">Code, etc.</a>
</li>
<li>
<a class=""
href="https://blog.notmyidea.org/weeknotes/">Notes hebdo</a>
</li>
<li>
<a class=""
href="https://blog.notmyidea.org/lectures/">Lectures</a>
</li>
<li>
<a class=""
href="https://blog.notmyidea.org/projets.html">Projets</a>
</li>
</ul>
</section>
<header>
<h1 class="post-title">Pelican, a simple static blog generator in&nbsp;python</h1>
<time datetime="2010-10-06T00:00:00+02:00">06 octobre 2010</time>
</header>
<article>
<p>Those days, I&#8217;ve wrote a little python application to fit my blogging
needs. I&#8217;m an occasional blogger, a vim lover, I like restructured text
and DVCSes, so I&#8217;ve made a little tool that makes good use of all&nbsp;that.</p>
<p><a href="http://docs.getpelican.com">Pelican</a> (for calepin) is just a simple
tool to generate your blog as static files, letting you using your
editor of choice (vim!). It&#8217;s easy to extend, and has a template
support (via&nbsp;jinja2).</p>
<p>I&#8217;ve made it to fit <em>my</em> needs. I hope it will fit yours, but maybe it
wont, and it have not be designed to feet everyone&#8217;s&nbsp;needs.</p>
<p>Need an example ? You&#8217;re looking at it ! This weblog is using pelican
to be generated, also for the atom&nbsp;feeds.</p>
<p>I&#8217;ve released it under <span class="caps">AGPL</span>, since I want all the modifications to be
profitable to all the&nbsp;users.</p>
<p>You can find a repository to fork at
<a href="https://github.com/getpelican/pelican/">https://github.com/getpelican/pelican/</a>. feel free to hack it&nbsp;!</p>
<p>If you just want to get started, use your installer of choice (pip,
easy_install, …) And then have a look to the help (pelican&nbsp;&#8212;help)</p>
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>pip<span class="w"> </span>install<span class="w"> </span>pelican
</code></pre></div>
<h2 id="usage">Usage</h2>
<p>Here&#8217;s a sample usage of&nbsp;pelican</p>
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>pelican<span class="w"> </span>.
writing<span class="w"> </span>/home/alexis/projets/notmyidea.org/output/index.html
writing<span class="w"> </span>/home/alexis/projets/notmyidea.org/output/tags.html
writing<span class="w"> </span>/home/alexis/projets/notmyidea.org/output/categories.html
writing<span class="w"> </span>/home/alexis/projets/notmyidea.org/output/archives.html
writing<span class="w"> </span>/home/alexis/projets/notmyidea.org/output/category/python.html
writing
/home/alexis/projets/notmyidea.org/output/pelican-a-simple-static-blog-generator-in-python.html
Done<span class="w"> </span>!
</code></pre></div>
<p>You also can use the &#8212;help option for the command line to get more&nbsp;informations</p>
<div class="highlight"><pre><span></span><code><span class="nv">$pelican</span><span class="w"> </span>--help
usage:<span class="w"> </span>pelican<span class="w"> </span><span class="o">[</span>-h<span class="o">]</span><span class="w"> </span><span class="o">[</span>-t<span class="w"> </span>TEMPLATES<span class="o">]</span><span class="w"> </span><span class="o">[</span>-o<span class="w"> </span>OUTPUT<span class="o">]</span><span class="w"> </span><span class="o">[</span>-m<span class="w"> </span>MARKUP<span class="o">]</span><span class="w"> </span><span class="o">[</span>-s<span class="w"> </span>SETTINGS<span class="o">]</span><span class="w"> </span><span class="o">[</span>-b<span class="o">]</span>
<span class="w"> </span>path
A<span class="w"> </span>tool<span class="w"> </span>to<span class="w"> </span>generate<span class="w"> </span>a<span class="w"> </span>static<span class="w"> </span>blog,<span class="w"> </span>with<span class="w"> </span>restructured<span class="w"> </span>text<span class="w"> </span>input<span class="w"> </span>files.
positional<span class="w"> </span>arguments:
<span class="w"> </span>path<span class="w"> </span>Path<span class="w"> </span>where<span class="w"> </span>to<span class="w"> </span>find<span class="w"> </span>the<span class="w"> </span>content<span class="w"> </span>files<span class="w"> </span><span class="o">(</span>default<span class="w"> </span>is
<span class="w"> </span><span class="s2">&quot;content&quot;</span><span class="o">)</span>.
optional<span class="w"> </span>arguments:
<span class="w"> </span>-h,<span class="w"> </span>--help<span class="w"> </span>show<span class="w"> </span>this<span class="w"> </span><span class="nb">help</span><span class="w"> </span>message<span class="w"> </span>and<span class="w"> </span><span class="nb">exit</span>
<span class="w"> </span>-t<span class="w"> </span>TEMPLATES,<span class="w"> </span>--templates-path<span class="w"> </span>TEMPLATES
<span class="w"> </span>Path<span class="w"> </span>where<span class="w"> </span>to<span class="w"> </span>find<span class="w"> </span>the<span class="w"> </span>templates.<span class="w"> </span>If<span class="w"> </span>not<span class="w"> </span>specified,
<span class="w"> </span>will<span class="w"> </span>uses<span class="w"> </span>the<span class="w"> </span>ones<span class="w"> </span>included<span class="w"> </span>with<span class="w"> </span>pelican.
<span class="w"> </span>-o<span class="w"> </span>OUTPUT,<span class="w"> </span>--output<span class="w"> </span>OUTPUT
<span class="w"> </span>Where<span class="w"> </span>to<span class="w"> </span>output<span class="w"> </span>the<span class="w"> </span>generated<span class="w"> </span>files.<span class="w"> </span>If<span class="w"> </span>not<span class="w"> </span>specified,
<span class="w"> </span>a<span class="w"> </span>directory<span class="w"> </span>will<span class="w"> </span>be<span class="w"> </span>created,<span class="w"> </span>named<span class="w"> </span><span class="s2">&quot;output&quot;</span><span class="w"> </span><span class="k">in</span><span class="w"> </span>the
<span class="w"> </span>current<span class="w"> </span>path.
<span class="w"> </span>-m<span class="w"> </span>MARKUP,<span class="w"> </span>--markup<span class="w"> </span>MARKUP
<span class="w"> </span>the<span class="w"> </span>markup<span class="w"> </span>language<span class="w"> </span>to<span class="w"> </span>use.<span class="w"> </span>Currently<span class="w"> </span>only
<span class="w"> </span>ReSTreucturedtext<span class="w"> </span>is<span class="w"> </span>available.
<span class="w"> </span>-s<span class="w"> </span>SETTINGS,<span class="w"> </span>--settings<span class="w"> </span>SETTINGS
<span class="w"> </span>the<span class="w"> </span>settings<span class="w"> </span>of<span class="w"> </span>the<span class="w"> </span>application.<span class="w"> </span>Default<span class="w"> </span>to<span class="w"> </span>None.
<span class="w"> </span>-b,<span class="w"> </span>--debug
</code></pre></div>
<p>Enjoy&nbsp;:)</p>
</article>
<footer>
<a id="feed" href="/feeds/all.atom.xml">
<img alt="RSS Logo" src="/theme/rss.svg" />
</a>
</footer>
</div>
</body>
</html>