grimmdude/jebson

一个基于静态文件的内容管理系统,旨在易于使用和快速加载。

dev-master 2023-02-16 19:07 UTC

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