jeremyharris / build
此包已被弃用,不再维护。未建议替代包。
静态PHP网站构建工具
0.5
2017-07-20 01:48 UTC
Requires
- league/commonmark: ~0.6
Requires (Dev)
- phpunit/phpunit: ~4.4
This package is not auto-updated.
Last update: 2023-04-29 09:13:53 UTC
README
构建
一个小型的静态网站生成器,专门用于构建包含博客文章的小型网站。
安装
composer require jeremyharris/build
特性
- 简单易用的设置(无配置文件)
- 合并资源文件
- 仅构建修改过的文件
- 一些基本博客功能工具
- 较为灵活
使用
$build = new \JeremyHarris\Build\Build('/path/to/site_target', 'path/to/build_target'); $build->build();
只有自上次构建以来修改过的文件才会被构建。您可以可选地传递true
给build()
来强制构建所有文件。然后您可以获取新构建文件的完整路径
$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
。