全自动的SSG。将其托管到某处,忘记它,静态内容始终保持最新。

安装: 17

依赖项: 6

建议者: 0

安全: 0

星级: 2

分支: 1

类型:项目


README

pipeline status latest release

Total Downloads PHP Version Require License

IMMS是一种SSG(静态网站生成器),但无需您自己构建,完全无需流水线。

它将Markdown转换为HTML并缓存文件,无需重新渲染即可提供服务。这使得IMMS在内容服务方面非常快速。

如果您有HTML文件而不是Markdown文件,它将简单地使用整体模板文件拼接HTML内容,并缓存最终结果。再次强调,这使得IMMS在内容服务方面非常快速。

如果您需要帮助或想了解更多信息,请查看wiki

预期用途

  • 用于托管包含Markdown或HTML文件的仓库(例如GitHub/GitLab wiki!)
  • 用作SFTP服务器,以便您的老朋友托管他们的静态HTML(Docker镜像支持此功能!)
  • 其他半静态到全静态内容

实际上没有任何麻烦(或者非常少)

  • 无数据库
  • 无需登录的用户
  • 无需手动处理缓存
  • 无内置编辑器

功能

  • GitHub Flavored Markdown
    • 这只是基础;它应该几乎完全支持Gitlab Flavored Markdown
  • 标题永久链接
  • 代码块语法高亮
  • 提示
  • 文本高亮(还记得那些黄色的荧光笔吗?)
  • YouTube iframes
  • 表情符号
  • 图像属性(随意调整大小!)
  • Wiki链接
  • 子页面
    • 创建与Markdown文件同名目录
    • 将Markdown文件添加到目录中
    • IMMS将自动将Markdown文件和目录链接在一起。
  • 支持Markdown文件名中的特殊字符
  • 目录(可配置!)
  • 自动缓存(和清除!)
  • (虽然相当简单)CLI工具
  • 懒加载图像
  • 集成git(此功能必须在配置中启用)
  • 您可以提供HTML或Markdown;没关系,它会处理。
  • 自定义模板(使用Plates!)
  • 自定义插件!

Docker中的附加功能

  • 使用PHP的opcache来提高性能
  • 使用Apache的内置缓存,以更快地提供服务

入门指南

Docker Compose

示例可能如下所示

services:
  imms:
    image: registry.gitlab.com/inuitviking/imms:latest
    ports:
      - 8080:80
      - 2222:2222
    #    expose:
    #      - 1234
    #      - 2222
    environment:
      - APACHE_PORT=1234
      - APACHE_CACHE_AGE=900
      - APACHE_CACHE_SIZE=5M
      - SSH_PORT=2222
      - SSH_USER=imms
      - SSH_PASS=imms
    volumes:
      - ./.docker/documents:/var/www/src/documents
      - ./.docker/config:/var/www/config
  • ./.docker/documents:您存储上传和Markdown文件的位置。
  • ./.docker/config:这是存储config.ini文件的位置

上述所有内容均以.docker中的示例形式提供。

您还可能在.docker中看到Apache配置和PHP配置;这用于构建Docker镜像,以配置opcache和Apache的内置缓存。

提供的Docker镜像使用opcache和Apache包含的缓存系统来提高响应时间。

如果您喜欢使用内置的git,可以省略“documents”卷,因为IMMS将内部处理拉取。

在传统的Web服务器上

composer create-project inuitviking/imms
cd imms

创建后,您可以将其配置为从远程仓库拉取HTML/Markdown文件,在config/config.ini中。

如果您不希望这样做,请确保创建必要的目录。

mkdir -p src/documents
touch src/documents/index.md

您可能想查看 config/config.ini 以进行相应的调整。

依赖项

Composer 依赖

PHP 依赖

  • PHP8.3 或更高版本
  • ext-dom

服务器依赖