Installation du CMS Pico

Voilà la procédure que j'ai suivie afin d'installer le CMS Pico comme moteur de blog (on peut trouver la documentation de Pico en français ici).

Image_Header

Installation du CMS

  1. Tout d'abord copier les sources sur le serveur.
  2. Modifier le fichier .htaccess afin de rajouter la ligne suivante (si l'on installe Pico dans le répertoire à la racine du site): Rewrite Base /blog.
  3. Modifier le fichier config.php pour y inclure les informations relatives au blog.
  4. Création d'un dossier images /content/images/ (les images situées dans ce dossier pourront être appelées avec ![mon image](./content/images/mon_image.jpg).

Configuration du CMS en mode blog

J'ai opté pour une modification minimale du thème de base. Quelques exemples de thèmes blog plus « poussés » ici.

  1. Dupliquer le répertoire/themes/default vers themes/blog (par exempe).
  2. Dans le fichier /lib/pico.php rajouter un champ status qui prendra la valeur draft ou published (en s'inspirant du champ author).
  3. Dans ce répertoire, remplacer le fichier index.html par le code suivant (inspiré de cette page et plus d'info sur la construction des fichiers index.html ).

    <!DOCTYPE html>
    <html lang="en" class="no-js">
    <head>
        <meta charset="utf-8" />
    
        <title>{% if meta.title %}{{ meta.title }} | {% endif %}{{ site_title }}</title>
    {% if meta.description %}
        <meta name="description" content="{{ meta.description }}"> 
    {% endif %}{% if meta.robots %}
        <meta name="robots" content="{{ meta.robots }}">
    {% endif %}
      <meta name="layout" content="{{ meta.layout }}">
    
        <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans:400,700" type="text/css" />
        <link rel="stylesheet" href="{{ theme_url }}/style.css" type="text/css" />
    
        <script src="{{ theme_url }}/scripts/modernizr-2.6.1.min.js"></script>
    </head>
    <body>
    
        <header id="header">
            <div class="inner clearfix">
                <h1><a href="{{ base_url }}">{{ site_title }}</a></h1>
    
                <ul class="nav">
                    {% for page in pages %}
                        {% if not page.date %}
                        <li><a href="{{ page.url }}">{{ page.title }}</a></li>
                        {% endif %} 
                    {% endfor %}
                </ul>
            </div>
        </header>
    
        <section id="content">
            <div class="inner">
        <!-- start blog changes -->
        {% if is_front_page %} <!-- Front page lists all blog posts -->
    
        <div id="posts">
        {% for page in pages %}
            {% if page.date %} <!-- Note we check for Date field (posts) here -->
            {% if page.status != 'draft' %} <!-- we check the the status field is not equal to draft -->
                <div class="post">
                <h3><a href="{{ page.url }}">{{ page.title }}</a></h3>
                    <!--    <h3><a href="#">{{ page.title }}</a></h3>-->
                <p class="meta">{{ page.date_formatted }}</p>
                <p class="excerpt">{{ page.excerpt }}</p>
                </div>
                {% endif %}
            {% endif %}
        {% endfor %}
        </div>
    
    {% else %} <!-- Single page shows individual blog post -->
    
        <div class="post">
            {% if meta.title %}<h2>{{ meta.title }}</h2>{% endif %}
            <!--    <p class="meta">{{ meta.date_formatted }}</p> -->
            {{ content }}
        </div>
    
    {% endif %}
             <!-- end blog changes -->
            </div>
        </section>
    
        <footer id="footer">
            <div class="inner">
                <a href="http://pico.dev7studios.com">Pico</a> was made by <a href="http://gilbert.pellegrom.me">Gilbert Pellegrom</a> 
                from <a href="http://dev7studios.com">Dev7studios</a>.
            </div>
        </footer>
    
    </body>
    </html>
    

Installation des plugins

Une liste des plugins disponible se trouve sur le site de Pico. Pour ma part les plugins suivants ont été installé:

  1. RSS feed
  2. Editor