这是一个用于构建文档、期刊、博客的工具包,比使用其他工具更灵活,因为它专注于主要需求,即展示存储的内容、自定义其视觉样式、在文件之间搜索。

0.1.0 2017-01-24 15:10 UTC

This package is not auto-updated.

Last update: 2024-09-23 15:20:40 UTC


README

Minimum PHP Version License

这是一个用于构建文档、期刊、博客的工具包,比使用其他工具更灵活,因为它专注于主要需求,即展示存储的内容、自定义其视觉样式、在文件之间搜索。

版本说明

Scroll 随附 Slim 3.x 引擎,可直接使用,但您可以扩展其功能以适应其他框架

它提供了什么?

通过配置

  • 定义可查看文件的默认目录
  • 自定义扩展名
  • 自定义文件名模式
  • 设置布局文件作为主页面,以接收渲染的内容
  • 在文件系统引擎和数据库引擎之间进行选择

通过引擎

  • 文件系统引擎允许您发布文件并按日期、语言和名称分割它们的名称进行组织
  • 数据库引擎允许您像文件系统一样做到这一点,但所有文件都将有一个记录它们的属性。这使得您可以给每个文件更多的属性,如标签。

安装

一个初始的 composer.json 可能看起来像这样

{
  "require": {
      "scroll": "1.*"
  }
}

用法

index.php

这里有两个可以自定义的地方。供应商目录和 GMT。

<?php
require "vendor/autoload.php";  

// Customize your GMT
date_default_timezone_set("America/Sao_Paulo");

$app = new \Slim\App([]);

$config = parse_ini_file("config.ini", true);
$test = new \Scroll\Slim\Core($config, $app);

$app->run();
?>

布局

要接收加载到布局中的内容,您只需在想要显示的地方添加以下代码

<?=$content?>

config.ini

;Config ini 可能包含以下设置。它们都不是必需的(它们有默认值)。
;- 不要忘记取消注释您将设置的行,通过在开头删除 ";"

;homePage = 'readme'
; File loaded for route "/" - homepage

;layout = "layout.php"
; 主页面 - 所有页面的布局(如果不需要,请留空)

;docsPath = "files/"
; 文件将位于的路径

;language = "en"
; 默认语言 - 如果您想用多种语言编写文档

;engine = "file"
; 可以设置为 "file" 或 "db"

; 如果将引擎设置为 "db",则以下设置是必需的。 点击此处了解 db 结构

;[db]
;name = "teste"
;host = "localhost"
;user = "root"
;pass = "12345678"

; 定义页面名称的部分。

;[docsNameMap]

; 例如,您可以使用日期和名称来组合文件名。它可能看起来像这样
;0 = date
;1 = name

; 或者您可以有日期、语言和名称
;0 = date
;1 = language
;2 = name

; 页面可能具有的扩展名。您可以使用 markdown(通过启用下面的 "md" 行)或仅使用 html/php。
;[docsExt]
;0 = md
;1 = php
;2 = html

config.ini 示例

路由

网络

  • "/" - 查看主页
  • "/view/pagename" - 通过其名称显示页面,如果应用程序基于数据库,则页面应在帖子表中引用
  • "/page/pagename" - 通过其名称显示页面

JSON Api

  • "/api/findByDate/yyyy/mm/dd", "/api/findByDate/yyyy/mm" 或 "/api/findByDate/yyyy" - 返回给定日期的结果集
  • "/api/findByName/name" - 返回给定名称的结果集
  • "/api/find/something" - "something" 可以是名称或日期(yyyy-mm-dd)的一部分