maddy83/stagger

该软件包已被放弃,不再维护。作者建议使用peklaiho/stagger软件包。

Stagger是一个极简静态网站生成器。

安装: 7

依赖者: 0

建议者: 0

安全: 0

类型:项目

v1.0.1 2024-05-18 07:02 UTC

This package is auto-updated.

Last update: 2024-05-18 07:03:08 UTC


README

Stagger是一个用PHP编写的极简静态网站生成器。

它使用Markdown作为内容,YAML作为配置,以及Twig作为HTML模板。

此软件包已从maddy83/stagger重命名为peklaiho/stagger,并从Bitbucket迁移到Github。请过渡到使用其他软件包而不是此软件包。

原因

市面上有很多静态网站生成器,但许多流行的生成器在创建简单网站或博客时过于复杂。它们功能过多,包含数百页的文档。这意味着你需要花很多时间去学习如何使用这个工具,而不是仅仅使用工具,并将这些时间花在创建网站内容上。

与此相反,Stagger旨在保持极简,具有最少的功能集和此README文件作为唯一的文档。目标是让你能够立即开始编写内容,并在配置或阅读文档上花费最少的时间。

示例网站

Stagger包含一个位于sites/example的示例网站,它展示了具有一些示例页面和博客文章的网站结构。只有一个配置文件,即位于根目录中的site.yml文件。页面位于pages目录中,每个页面都有自己的子目录。如果子目录包含blog.mdpage.mdpost.md,它将被识别为博客索引、普通页面或博客文章。

示例网站使用Spectre.css。它为CSS样式提供了一些合理的默认值,是一个很好的起点。你可以选择使用或不使用它。

要求

要使用Stagger创建网站,你需要了解HTML、CSS和Markdown。除非你想修改工具的内部结构,否则不需要PHP知识。

你需要命令行界面来使用Stagger。最好是Linux或Mac中的Bash之类的shell。

首先,请确保在命令行上安装了PHP

$ php --version
PHP 8.0.8 (cli) (built: Jun 29 2021 16:09:21) ( NTS )

其次,请确保你已经安装了Composer。如果没有,请按照说明进行操作。

$ composer --version
Composer version 2.1.3 2021-06-09 16:31:20

基本使用

要开始,请使用Composer创建一个新项目

$ composer create-project maddy83/stagger mysite
Creating a "maddy83/stagger" project at "./mysite"
$ cd mysite

你可以这样生成示例网站

$ bin/stagger example
...
Generated site in /home/pekka/mysite/bin/../output/example.

完成的网站位于output/example。你可以使用PHP内置的Web服务器来查看它

$ php -S 127.0.0.1:8000 -t output/example/
[Sun Jul 25 12:20:26 2021] PHP 8.0.8 Development Server (http://127.0.0.1:8000) started

在您的网络浏览器中导航到http://127.0.0.1:8000

这就是全部内容!将sites/example中的文件与output/example中的文件进行比较,以了解工具的工作方式。大部分内容应该是相当明显的。

你可以复制示例网站来获得构建自己网站的起点

$ cd sites
$ cp -r example mysite

高级使用

使用 highlight.php 在服务器端实现代码的语法高亮,因此无需JavaScript。从 vendor/scrivo/highlight.php/styles 目录中选择一个CSS文件并将其包含在您的网站中。

如果您需要Markdown的附加功能,请查看可启用的 CommonMark 扩展

代码

代码行数低于1000行(包括注释和空行),并将保持在这个限制之下。

它包含5个类,用于表示处理过程中网站的数据

  • Site - 网站的总体
  • Page - 普通页面
  • Blog - 博客文章的索引页面
  • Post - 博客文章
  • File - 普通文件(CSS、JS、图片等)

其他类包含主要功能。它们大致按以下顺序使用

  • Parser - 读取网站并解析site.yml文件
  • Reader - 读取文件并处理Markdown内容
  • Validator - 检查网站不包含错误
  • Generator - 将网站写入磁盘
  • Processor - 在写入之前操作HTML代码

限制

目前Stagger仅支持位于域名根目录的网站。为了正确生成链接和URL,支持子目录中的网站需要进行一些小的修改。

在Windows上的功能尚未经过测试,可能需要一些小的修改来处理不同的目录分隔符。

许可证

MIT

如果您使用此工具创建网站,如果您能在此repo中添加提及(例如“使用Stagger制作”或类似),将不胜感激。谢谢!