• 无意间发现的,我很早之前使用Jekyll的时候就有这样一个想法,使用Markdown文件进行写作,然后再用一门动态语言去生成路由,不用构建,因为当时我发现Jekyll一旦生成的文章页面数过多的话就会很慢,而我又不喜欢把文章存在数据库里,更喜欢用文件的形式去写,没想到还真存在这么个东西。
    项目地址 GitHub – picocms/Pico: Pico is a stupidly simple, blazing fast, flat file CMS. ,效果预览

    使用方法非常简单,你可以使用 composer 进行安装:

    composer require picocms/pico
    

    或者直接下载构建好的版本,在 github 的 releases 页面
    你也可以下载源码自己构建

    git clone https://github.com/picocms/Pico.git .
    curl -sS https://getcomposer.org/installer | php
    php composer.phar install
    

    将下载好的版本/构建好的程序放在网站根目录即可直接访问,或者使用 php 开启一个http服务

    php -S 127.0.0.1:8080
    

    无需数据库,所有的文章以文件的形式放在 content 文件夹内。
    在每个页面要写入头部信息,和jekyll一样

    ---
    Title: Welcome
    Description: This description will go in the meta description tag
    Author: Joe Bloggs
    Date: 2013/01/01
    Robots: noindex,nofollow
    Template: index
    ---
    

    程序模板使用 twig 模板,即双大括号的写法,非常舒爽,轻松编写主题。

    博客功能

    默认是一个CMS系统,但可以用作博客。
    在content内新建一blog文件夹用来存放文章,文章的头信息中要包含 Date 和 Template,Template 指定模板文件,新建一个模板文件用作 博客文章 模板,模板名与 Template 指定的相同,使用如下代码进行循环文章:

    {% for page in pages|sort_by("time")|reverse %}
        {% if page.id starts with "blog/" %}
            <div class="post">
                <h3><a href="{{ page.url }}">{{ page.title }}</a></h3>
                <p class="date">{{ page.date_formatted }}</p>
                <p class="excerpt">{{ page.description }}</p>
            </div>
        {% endif %}
    {% endfor %}
    

    具体怎么用呢,你安装了就知道了,非常简单