terdelyi/phanstatic

一个简单、轻量级且基于命令行的PHP静态网站生成器

维护者

详细信息

github.com/terdelyi/phanstatic

源代码

安装: 8

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分叉: 0

类型:package

dev-main 2024-07-09 22:51 UTC

This package is auto-updated.

Last update: 2024-09-15 15:43:32 UTC


README

Phanstatic是一个简单、轻量级、基于命令行的PHP静态网站生成器。它不使用框架或模板引擎,只使用纯PHP代码和Markdown文件编写简单页面。在构建过程中,所有内容都将转换为静态HTML文件,准备部署。

安装

要创建一个新项目,只需运行

composer create-project terdelyi/phanstatic:dev-develop

构建

要从您的content目录构建静态文件到dist文件夹,请在您的根目录中运行以下命令

php ./vendor/bin/phanstatic build

预览

要在浏览器中预览您的构建

php ./vendor/bin/phanstatic preview

这将在localhost8000端口启动PHP的内置服务器,并将dist文件夹中的文件提供给浏览器。

如果需要,您可以覆盖默认的主机(--host)和端口(--port)设置。

配置

作为一个入门者,您只需要在项目的根目录中有一个content/pages目录,其中包含.php文件。

可选地,您也可以在content/config.php下放置一个配置文件,该文件必须返回一个Config对象,如下所示

use Terdelyi\Phanstatic\Config\ConfigBuilder;

return (new ConfigBuilder)
    ->setBaseUrl(getenv('BASE_URL'))
    ->setTitle('My super-fast static site')
    ->addCollection(
        key: 'posts',
        title: 'Posts',
        slug: 'posts',
        pageSize: 10
    )
    ->build();

示例内容结构

这些文件都不是必需的。Phanstatic及其构建器将寻找现有的文件夹和配置,并在它们可用的情况下使用它们。

├── content
│   ├── assets
│   │   ├── images
│   │   ├── css
│   │   ├── js
│   ├── collections
│   │   ├── posts
│   │   │   ├── my-first-blog-post.md
│   ├── pages
│   │   ├── about.php
│   │   ├── index.php
│   ├── config.php
├── composer.json
├── composer.lock

资产文件夹的内容将按原样复制到构建时的dist/assets文件夹中,并且可以从/assets的URL访问。

贡献

欢迎提交错误修复和功能请求,但此包处于早期阶段,我计划谨慎地添加任何新功能。