erickmerchant / wright
静态站点生成器
Requires
- php: >=5.5
- aura/cli: 2.*
- imagine/imagine: ~0.5
- jbroadway/urlify: ~1.0
- league/flysystem: ~0.2
- symfony/yaml: ~2.3
- twig/twig: ~1.14
Suggests
- erusev/parsedown: If you use Wright\Converter\ParsedownConverter
- michelf/php-markdown: If you use Wright\Converter\MarkdownConverter
- michelf/php-smartypants: If you use Wright\Converter\MarkdownConverter
README
用PHP编写的静态站点生成器。
此README仍在进行中,但应作为Wright的主要文档。
依赖
Wright需要PHP 5.5或更高版本,以及SQLite3,这应该在PHP中默认启用。
Wright允许数据之间的关系,因此在将所有内容写入SQLite后发布时,它可以保持性能。
入门
您应该查看 wright-skeleton 以获取如何设置站点的示例。
至少,您需要正确的目录结构、一个站点地图设置文件和一个模板才能开始。
命令行界面
请确保 ./vendor/bin/wright 是可执行的。您可以将它符号链接到 ./wright。然后运行 ./wright
以获取可用命令、它们的参数和选项的列表。运行 ./wright [命令名称] --help
以获取任何命令的帮助。
在需要目录(也称为集合)或路径的地方,总是包含从当前目录的完整路径。换句话说,使用 data/posts/
而不是 posts/
。这允许您使用Tab补全。
命令
./wright publish
发布您的站点。它查看settings/sitemap.yml,并基于它创建页面,将它们放入site/。
./wright make
用于向data/添加新文件。
./wright move
用于将文件从一个地方移动到data/中的另一个地方。想想将草稿从data/drafts/移动到data/posts/。
目录
base/
在发布时,base目录的内容将未经修改地复制到site/。
data/
数据目录是您内容的所在地。您可以使用 ./wright make
向此处添加文件,然后使用您选择的编辑器进行编辑。
settings/
默认值和您的站点地图的设置。(见设置以下内容)
templates/
您的模板。Wright使用Twig。查看 其文档 了解更多信息。
includes/
包含目录包含设置扩展、转换器、钩子和中间件的PHP文件。唯一需要的是转换器。
设置
sitemap.yml
站点地图设置文件告诉Wright在发布您的站点时创建哪些页面。它由映射组成。每个项都是一个带有一些设置的路线。
这是来自wright-skeleton的网站地图的一部分。
/posts/: data: posts template: posts /posts/:slug/: data: posts/* template: post
第一条路由非常直接。它告诉Wright从data/posts.md中获取数据,并将其提供给名为posts的模板。第二条路由稍微复杂一些。posts/*
告诉Wright为每个帖子、posts目录中的每个条目使用此路由。对于每个帖子,:slug
将被展开或替换为该帖子的缩略名。