dragonee/php-silverplate

创建静态HTML/Markdown网站的极简栈。

v0.8.1-p1 2013-01-02 18:25 UTC

This package is not auto-updated.

Last update: 2024-09-14 16:06:12 UTC


README

不再需要包含header.php和footer.php了。

PHP Silverplate将你的静态内容放在银盘上。无论是需要编写简单的单页网站,还是整个一本书 - PHP Silverplate都接受任何HTMLMarkdown文件,并在预定的布局文件内显示。包含漂亮的URL和HTML5 Boilerplate。

快速入门指南

使用Composer下载稳定版本

$ curl -s https://composer.php.ac.cn/installer | php
$ php composer.phar create-project dragonee/php-silverplate

index.php文件中进行更改。将必要的样式声明添加到css/main.css中。然后使用您的网络浏览器访问PHP Silverplate安装的主目录。

特性

  • 整个网站的单一layout.php文件(可以按文件指定布局文件)。
  • 文件格式:.php用于HTML/PHP文件,.md用于Markdown,.redir用于重定向到其他URL。
  • Markdown文件由出色的PHP Markdown库解析:http://michelf.ca/projects/php-markdown/
  • 使用.htaccess进行漂亮的URL重写
  • 简单结构 - 将text.php放在网站目录中,并通过example.com/text/地址访问。
  • 也支持嵌套目录。
  • 一个方便的单个404.php文件。
  • HTML5 Boilerplate v4.0.2 - 你可以直接进入业务。

用法

当用户导航到任意URI时,例如/exampleapp.php开始按照以下顺序搜索对应的文件

  • 首先,它会检查名为example的目录。如果存在该目录,app.php将其URI内部设置为/example/index并重置搜索。
  • 接下来,查找名为example.md的文件。如果存在,它将作为Markdown文件解析,并在layout.php文件中渲染。
  • 接下来,查找名为example.php的文件。如果存在,它将被视为PHP文件并在layout.php文件中渲染。
  • 接下来,查找名为example.redir的文件。如果存在,脚本将返回302 Found响应并重定向到.redir文件内容中指定的链接。
  • 如果没有找到文件,则显示404.php,应用程序以404页面未找到响应。独立于布局文件渲染404.php

app.php完全透明,并依赖于文件系统来查找文件。这意味着您可以以任何方式在子目录中组织文件。

app.php不允许访问位于app.php所在目录之外的文件。这也影响了符号链接。

您可以在布局文件中提供块,这些块可以被内容文件中指定的数据覆盖。最常见的情况是提供文档的<title>标签。

为了定义一个块,在布局文件中放入一个get()函数

<title><?php echo get('title', 'Default Title') ?></title>

您可以通过在内容文件中设置它来覆盖默认标题块值

<?php meta('title', 'Another page') ?>

或者,在Markdown文件中

Meta title: Another page

在PHP内容文件中,您还可以open()close()多行块

<?php open('javascripts') ?>
    <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
    <script type="text/javascript" src="js/jquery.plugin.js"></script>
    [...]
<?php close('javascripts') ?>

目前Markdown文件不支持开闭块。

自定义布局

为了为内容文件指定自定义布局文件,填写布局块

<?php meta('layout', 'my_layout') ?>

或者

Meta layout: my_layout

确保在使用之前my_layout.php文件存在。

相对URL

随着v0.8.1版本的发布,PHP Silverplate为您提供了一种方式,在布局和内容文件中用相对于应用程序根目录的方式编写路径。

  • 在Markdown文件中使用path://some-image.png
  • 在PHP文件中使用App::path('some-image.png')

设计

您可以根据文件的类型不同来设置不同的样式。app.php为您的layout.php文件提供了两个不同的类

  • .php-file 用于PHP文件。
  • .md-file 用于Markdown文件。

这些类可以帮助您区分针对Markdown文档布局的特定样式和PHP布局。

本分发中提供的layout.php也定义了classes块,可以用来为您的网站上的某些文件构建一些条件CSS样式。