staticka/expresso

一个简单的平面文件和静态博客平台。

dev-master / 1.0.x-dev 2020-08-12 15:49 UTC

This package is auto-updated.

Last update: 2024-09-16 00:48:00 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

Expresso是建立在Staticka之上的一个简单平面文件和静态博客平台。它创建Markdown文件作为内容,并使用ParsedownTwig模板系统生成静态页面。

安装

通过Composer安装Expresso

$ composer require staticka/expresso

基本用法

运行网络应用程序

在终端或命令行中输入以下命令以运行其内置网络应用程序

$ php -S 0.0.0.0:8006 -t vendor/staticka/expresso/app

执行命令后,请在网络浏览器中打开https://:8006

注意:如果端口(例如8006)已被其他应用程序使用,请更改端口。

添加新的布局

在创建新帖子之前需要先创建布局,因为它是基本页面的基础。其他人也可以称之为“主题”。要创建一个示例布局,创建一个扩展名为.twig的文件以便Expresso识别。对于初学者,以下是一个示例布局的复制,仅供参考

<!DOCTYPE html>
<html lang="en">
<head>
  <title>{{ title }}</title>
</head>
<body>
  <div>
    {{ content | raw }}
  </div>
</body>
</html>

注意:由于Twig的安全原因,content变量(负责显示整个内容输出)必须在raw过滤器中,因为在输出中它不会被转义。

创建第一篇帖子

点击屏幕右上角的“新建页面”链接以打开创建博客帖子的表单。创建博客帖子时,只有名称标题是必填字段。

构建静态页面

点击屏幕右上角的“构建”链接以将Markdown内容转换为静态页面。最近生成的静态文件的输出位于build目录。

添加附加数据

可以向Expresso添加附加数据或配置。为了方便,请在composer.json中添加一个名为expresso的新属性,它将在网络应用程序中使用。

{
    "expresso":
    {
        "filters":
        [
            "Staticka\\Filter\\StyleMinifier",
            "Staticka\\Filter\\HtmlMinifier",
            "Staticka\\Filter\\ScriptMinifier"
        ],
        "variables":
        {
            "base_url": "https://staticka.github.io/",
            "github": "https://github.com/staticka",
            "website": "Staticka"
        },
        "website":
        {
            "name": "Staticka",
            "version": "v0.2.0"
        }
    },
    "require":
    {
        "staticka/expresso": "~0.1"
    }
}

过滤器

过滤器是很有用的实用工具,可以在生成后更改输出。一些值得注意的例子是HtmlMinifierStyleMinifierScriptMinifier,它们可以最小化静态页面中指定的元素。

变量

本节包含可以传递给每个生成博客帖子的变量。当需要传递全局变量(如基本URL、站点名称或必须在所有页面中可用的文本)时,这可能很有用。

网站

本节中的变量仅用于更新内置网络应用程序中的某些数据。检查当前管理的站点及其当前版本很有用。目前,在网络应用程序中使用的属性仅为nameversion

变更日志

有关最近更改的更多信息,请参阅CHANGELOG

测试

$ composer test

安全

如果您发现任何安全问题,请通过电子邮件rougingutib@gmail.com报告,而不是使用问题跟踪器。

鸣谢

许可

麻省理工学院许可证(MIT)。请参阅许可证获取更多信息。