grimmdude / jebson
一个基于静态文件的内容管理系统,旨在易于使用和快速加载。
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-24 03:04:35 UTC
README
到目前为止,我一直使用Wordpress来管理我的网站;主要是因为它易于使用,并且这是我学过的。在这方面它很棒,但最近我意识到它有多慢。我意识到我甚至不需要媒体库、特殊的SEO插件、动态导航菜单和小工具。然后我意识到,我甚至不需要数据库。我想要一个快速加载的系统,添加内容或修改模板文件简单。基本上,我想要一个静态网站,但我不想学习大量新的终端命令,并且每次写新帖子时都要重新构建。
等等,所以我写了自己的CMS。虽然它仍然从技术上讲是动态构建每个页面的,但它加载速度快,没有数据库要麻烦。我称它为 Jebson,以纪念我的其中一只小狗。Jebson是一个非常轻量级的无数据库CMS,注重简洁和快速加载时间。请注意,我目前正在编写此文档,以便我有一些自己的文档,因此可能并不完整。你会注意到我借鉴了一些流行的静态网站生成器的功能,这就是我的风格。
设置
Jebson是用PHP编写的,并设置为使用Apache。要安装,将Jebson的所有文件放入您的webroot。现在说“是的,我已经做到了!”。
目录结构
.
.htaccess
assets/
cache/
content/
2013-08-22-sample-post.php
sample-page.php
config.php
index.php
lib/
views/
404.php
body.php
excerpt.php
footer.php
header.php
post.php
Jebson的所有设置都可以在Config类中找到(config.php)。
视图
这些是每个页面都会加载的常用文件,如页眉、页脚等...所有视图都是.php文件,位于/views目录中。以下是在视图中输出内容和可用数据所需打印的变量。
视图变量
要定义视图的加载顺序,请使用配置数组 Config::$viewLoadOrder
视图方法
编写内容
所有内容都保存在/content目录中的.php文件中,并且标记是标准的HTML。命名约定如下
帖子
对于按日期排序的帖子
2013-08-22-url-of-the-post.php
这将导致帖子URL如下
website.com/2013/08/22/url-of-the-post
页面
对于页面,即不是按日期排序的内容
title-of-my-page.php
这将导致这个URL
website.com/title-of-my-page
每个文件开始时都有一系列基本属性来定义一些内容
<?php
self::$pageData['title'] = 'Title of the post or page.';
self::$pageData['keywords'] = 'Comma separated keywords.';
self::$pageData['description'] = 'Description';
?>
这些变量在视图中可用,可以根据需要使用。显然,我会用这些基本定义来为页面元数据,但您也可以添加自己的自定义定义来触发如评论、布局、脚本、CSS等。