eklausme/saaze-mobility

适用于 open-e-mobility.io 的博客主题

v1.5 2024-07-02 16:23 UTC

This package is auto-updated.

Last update: 2024-10-02 17:03:14 UTC


README

Latest Stable Version License

简化版 Saaze 是一个静态站点生成器,用于生成这个博客。到目前为止,有四个 简化版 Saaze 的示例主题。

  1. Saaze 示例:这个设计非常简洁。
  2. Saaze J-Pilot:这个设计包含带有子菜单的顶部菜单,英文和德文页面,一个博客,响应式元素。 演示
  3. Saaze Koehntopp:基于 Bootstrap CSS,模仿 Type on Strap演示
  4. Saaze NukeKlaus:基于 Twenty Sixteen/WordPress,多列布局,英雄图像,浅色/深色模式。 演示

这里还有一个名为 主题Mobility,模仿 SAP Labs 法国网站 open-e-mobility.io。该网站使用 Avada 网站构建器 构建。open-e-mobility.io 的某些特性

  1. 响应式设计,索引页面有三个、两个或只有一个列
  2. 带有每篇博客英雄图像的博客
  3. 多语言:英语、德语和法语
  4. 页面上有各种效果:水滴形图像、超链接按钮、带图标的编号列表、图像的悬停和透明度变化
  5. RSS 源
  6. 汉堡菜单可悬停菜单
  7. 返回顶部 按钮 ("chevronButton")

我的目标是看起来与原始网站大致相似,但删除了一些效果,删除了联系表单(因为已经提供了电子邮件),删除了 手风琴效果 用于常见问题解答页面(认为对于最终用户来说难以阅读)。

这个主题的源代码在这里: saaze-mobility。演示网站在这里: mobility

使用 简化版 Saaze 将进一步提供 MathJax、Twitter、CodePen、图片库、网站地图以及所有其他好东西。特别是,添加以下功能相当容易

  1. 搜索功能,如果您在 Web 服务器上拥有 PHP
  2. 浅色和深色模式

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 文件。您只需这样做一次。这些步骤在 安装 中进行了描述。

  1. 安装 php-yaml 扩展,请参阅 PECL 的 Yaml 比 Symfony 的 Yaml 快
  2. 编译 php_md4c_toHtml.c

安装完所有内容后,切换到目录并运行

php saaze -mor

运行时间应该是几秒钟的一小部分。使用的选项

  1. -m 用于生成 XML 网站地图
  2. -o 用于生成 HTML 网站地图,即概览
  3. -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.ymlauxil.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.phptop-layout.php 还包含所有 CSS。
  • bottom-layout.php 包含所有页面的底部公共部分。

在模板中已经注意保持所有内容相对,即,该网站可以在文件层次结构中向上或向下移动。这里的一个辅助工具是使用 $rbase(相对基础)变量。