eklausme / saaze-mobility
适用于 open-e-mobility.io 的博客主题
Requires
- eklausme/saaze: >=1.22
README
简化版 Saaze 是一个静态站点生成器,用于生成这个博客。到目前为止,有四个 简化版 Saaze 的示例主题。
- Saaze 示例:这个设计非常简洁。
- Saaze J-Pilot:这个设计包含带有子菜单的顶部菜单,英文和德文页面,一个博客,响应式元素。 演示。
- Saaze Koehntopp:基于 Bootstrap CSS,模仿 Type on Strap。 演示。
- Saaze NukeKlaus:基于 Twenty Sixteen/WordPress,多列布局,英雄图像,浅色/深色模式。 演示。
这里还有一个名为 主题 的 Mobility,模仿 SAP Labs 法国网站 open-e-mobility.io。该网站使用 Avada 网站构建器 构建。open-e-mobility.io 的某些特性
- 响应式设计,索引页面有三个、两个或只有一个列
- 带有每篇博客英雄图像的博客
- 多语言:英语、德语和法语
- 页面上有各种效果:水滴形图像、超链接按钮、带图标的编号列表、图像的悬停和透明度变化
- RSS 源
- 汉堡菜单,可悬停菜单
- 返回顶部 按钮 ("chevronButton")
我的目标是看起来与原始网站大致相似,但删除了一些效果,删除了联系表单(因为已经提供了电子邮件),删除了 手风琴效果 用于常见问题解答页面(认为对于最终用户来说难以阅读)。
这个主题的源代码在这里: saaze-mobility。演示网站在这里: mobility。
使用 简化版 Saaze 将进一步提供 MathJax、Twitter、CodePen、图片库、网站地图以及所有其他好东西。特别是,添加以下功能相当容易
- 搜索功能,如果您在 Web 服务器上拥有 PHP
- 浅色和深色模式
1. 比较。 在《网站性能分析 #2》中,我测量了原始的 open-e-mobility.io 网站的性能。测量是通过使用 pingdom 进行的。原始网站的性能还不错,但并不快。从法兰克福访问主页大约需要两秒钟。新网站的时间是这个的十分之一。
关于博客索引的另一个比较:Open E-Mobility 博客 与 简化版 Saaze。
目标是明确追求速度。
2. 安装。 运行
composer create-project eklausme/saaze-mobility
这将复制此 Git 仓库的文件,它还会安装 简化版 Saaze。要运行 简化版 Saaze,您仍然需要编译一个 C 程序,安装一个 PECL(PHP 扩展),并配置一个 PHP 文件。您只需这样做一次。这些步骤在 安装 中进行了描述。
- 安装 php-yaml 扩展,请参阅 PECL 的 Yaml 比 Symfony 的 Yaml 快
- 编译
php_md4c_toHtml.c
安装完所有内容后,切换到目录并运行
php saaze -mor
运行时间应该是几秒钟的一小部分。使用的选项
-m
用于生成 XML 网站地图-o
用于生成 HTML 网站地图,即概览-r
生成 RSS XML 源
假设您已将所有内容安装在 ~/saaze-mobility
中,那么在本地 Web 服务器上部署时,我会使用以下命令行
( rm -rf /srv/http/mobility; cd /srv/http; mv ~/saaze-mobility/build ./mobility ; cd mobility; ln -s ~/saaze-mobility/public/img )
文章 在 Windows 10 上安装 Simplified Saaze #2 中包含有关如何安装 简化版 Saaze 的说明。
3. 转换。 对于将 open-e-mobility.io 转换为 Markdown,我简单地从浏览器页面直接复制粘贴。这种方法在这里是可行的,因为原始网站只有很少的页面,每个页面包含很少的文字。我只转换了 31 页。
4. 模板和配置。 有两个所谓的集合,blog.yml
和 auxil.yml
。两者都设置了 rss: true
,并将 entry_route: /{slug}
。因此,博客文章和辅助页面在顶级目录中“混合”。
许多 Markdown 文件在前置部分包含三个额外的条目来管理多语言。例如
lang: "en" de: "de/de-home" fr: "fr/accueil"
条目 lang
设置了条目显示的语言。在上面的例子中,语言是英语。德语翻译可在 de/de-home
中找到。法语翻译可在 fr/accueil
中找到。如果没有可用的翻译,则将条目删除在 yaml 文件中。
博客条目还包含一个用于 英雄图片 的另一个 yaml 条目。例如
heroimg: "microphone_01-1-400x267.jpg"
这表示可以在哪里找到英雄图片。条目模板会检查是否有英雄图片存在。
模板相当标准
- 有一个
entry.php
用于所有条目,除了博客索引。 index.php
用于博客索引。error.php
用于任何系统错误消息。top-layout.php
用于顶部公共部分,这进一步分为一个单独的header.php
。top-layout.php
还包含所有 CSS。bottom-layout.php
包含所有页面的底部公共部分。
在模板中已经注意保持所有内容相对,即,该网站可以在文件层次结构中向上或向下移动。这里的一个辅助工具是使用 $rbase
(相对基础)变量。