此包已被弃用,不再维护。未建议替代包。

静态PHP网站构建工具

安装: 24

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 2

类型:vendor

0.5 2017-07-20 01:48 UTC

This package is not auto-updated.

Last update: 2023-04-29 09:13:53 UTC


README

Build Status

构建

一个小型的静态网站生成器,专门用于构建包含博客文章的小型网站。

安装

composer require jeremyharris/build

特性

  • 简单易用的设置(无配置文件)
  • 合并资源文件
  • 仅构建修改过的文件
  • 一些基本博客功能工具
  • 较为灵活

使用

$build = new \JeremyHarris\Build\Build('/path/to/site_target', 'path/to/build_target');
$build->build();

只有自上次构建以来修改过的文件才会被构建。您可以可选地传递truebuild()来强制构建所有文件。然后您可以获取新构建文件的完整路径

$newlyBuiltFiles = $build->getBuiltFiles();
// now deploy them!

如果您想手动添加不属于预期结构的构建文件,可以这样做

// add a file to the build root
$build->addFileToBuild('/full/path/to/file.html');
// add a file to a new directory within the build
$build->addFileToBuild('/full/path/to/file.html', 'some/directory');
// render a file as a view (wrap it in the layout)
$build->addFileToBuild('/path/to/my.php', 'some/directory', true);
$build->addFileToBuild('/path/to/my.md', '/', true);

博客

\JeremyHarris\Build\Blog类中提供了一些博客功能。它假设YYYY/MM结构。Blog类对于构建存档页面或获取最新帖子很有帮助。返回的项是包含一些有用方法的\JeremyHarris\Build\Blog\Post对象。

$Blog = new Blog('/path/to/site_target');
$latest = $Blog->getLatest();
$allPosts = $Blog->getPosts();

$linkToLatest = $latest->link();
$latestTitle = $latest->title();

RSS

要创建RSS源,您必须告诉构建器您需要它,并传递源生成所需的一些设置

$build = new \JeremyHarris\Build\Build('/path/to/site_target', 'path/to/build_target');
$build->addRss('My Blog', 'https://example.com', 'Description of site');
$build->build();

然后生成器将自动为您创建一个基本的RSS源。文件将位于构建网站的根目录中。仅包括最后20篇博客文章。

网站目标结构

网站目标应具有以下布局。/webroot中的任何内容都将直接复制到webroot中,允许在不使用视图的情况下具有灵活性。/views中的内容将被包装在layout.php中,并将其放置在其所在的目录中。视图可以是php或markdown。

标题假设来自文件名缩写,因此interesting-article-about-things.md的标题为“有趣的文章关于事物”。

site
|_ views
|  |
|  |_ about.php
|  |_ contact.md
|     |_ sub
|        |_ article.php
|_ assets
| |_ css
| |  |_ css1.css
| |  |_ css2.css
| |
| |_ js
|    |_ script1.js
|    |_ script2.js
|
|_ webroot
|  |_ robots.txt
|  |_ fonts
|     |_ font1.otf
|
|_ layout.php

然后构建成如下网站

build
|_ fonts
|  |_ font1.otf
|
|_ sub
|  |_ article.html
|
|_ styles.css
|_ scripts.js
|- rss.xml
|_ about.html
|_ contact.html
|_ robots.txt

注意,如果构建前添加了RSS源,则将仅存在rss.xml

示例网站