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等。