slogsdon/flat-file

快速静态网站生成器 / 平面文件CMS

1.0.3 2018-12-30 15:24 UTC

This package is auto-updated.

Last update: 2024-09-09 21:05:14 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License Build Status Maintainability Test Coverage

快速静态网站生成器 / 平面文件CMS

查看一个示例项目。

特性

  • 无需配置
  • 使用Markdown、HTML或PHP
  • 基于文件系统的路由
  • 导出静态网站,或通过PHP支持的Web服务器运行
  • 包含开发环境

理由

PHP易于安装,如果您的计算机上尚未安装。PHP几乎可以在任何地方运行。PHP非常灵活。

这个项目也满足了我想要看看PHP在这个问题域中可以处理多少的能力的愿望。

要求

入门指南

{
    "name": "user/site",
    "description": "",
    "require": {
        "slogsdon/flat-file": "dev-master"
    },
    "scripts": {
        "build": "flat-file build",
        "start": "flat-file serve"
    },
    "config": {
      "process-timeout": 0
    }
}

《code》和《config》部分不是必需的,但它们确实有助于简化开发过程。如果使用《start》脚本,则《process-timeout》配置选项允许Composer运行脚本时间超过默认超时时间(300秒)。

如果不使用Composer脚本配置,您需要将《flat-file》脚本作为《vendor/bin/flat-file》引用,例如。

vendor/bin/flat-file build
vendor/bin/flat-file serve

在设置您的《composer.json》文件后,不要忘记拉取您的依赖项。

composer install

添加内容

接下来,您的单个页面需要包含在项目根目录下的《pages》目录中(即紧邻您的《composer.json》文件)。页面可以用Markdown(带有《.md》或《.markdown》文件扩展名)编写,纯HTML,或PHP(带有《.php》文件扩展名)。PHP文件可以选择将内容以正常方式输出(echo,print,在《

<?php /* pages/index.php */ ?>
<h1>Hello World</h1>

在《pages》下添加更多页面,例如。

<!-- pages/about.md -->
# About

运行开发服务器

准备好测试了吗?启动开发服务器

composer start

这将启动一个监听在《https://:3000》的PHP开发服务器。按下《Ctrl-C》将停止服务器,为将项目构建为纯HTML文件以供后续部署腾出空间。

构建静态文件

启动网站的构建

composer build

忽略Composer的《vendor》目录,一旦所有操作完成,您应该在项目根目录中看到类似以下的内容

.
├── composer.json
├── composer.lock
├── dist
│   ├── about.html
│   └── index.html
├── pages
└── vendor

使用自定义入口点

默认情况下,我们为Web服务器提供了一个用于处理请求的入口点。它对《public》目录中的文件进行了一些重写,要求Composer自动加载器,并启动应用程序。您可以选择包含自己的入口点,创建一个名为《index.php》的新入口点,并将其放在项目根目录的《public》目录中。以下是默认的参考

<?php declare(strict_types=1);

$uri = $_SERVER['REQUEST_URI'];

if ($uri !== '/' && file_exists(getcwd() . '/public' . $uri)) {
    return false;
}

require getcwd() . '/vendor/autoload.php';
new FlatFile\Application;

作为平面文件CMS运行

如果您希望使用PHP支持的Web服务器以平面文件CMS而不是静态网站运行您的项目,您需要

  1. 将Web根目录配置为《public》
  2. 使用自定义入口点或配置您的Web服务器以使《vendor/slogsdon/flat-file/src/router.php》服务于任何不存在的路径。

然后您的Web服务器将能够像通常一样从《public》提供静态资源,以及您创建的任何页面。

常见问题解答(F.A.Q.)

关于LiveReload之类的功能怎么办?
正在调查中,但暂时请使用《F5》/《Cmd-R》。

许可证

本项目采用MIT许可证。有关详细信息,请参阅《LICENSE》文件(《https://github.com/slogsdon/php-flat-file/blob/HEAD/LICENSE》)。