inuitviking / imms
全自动的SSG。将其托管到某处,忘记它,静态内容始终保持最新。
2024.05.07.24
2024-08-28 10:46 UTC
Requires
- php: ^8.3
- ext-curl: *
- ext-dom: *
- composer/composer: @dev
- czproject/git-php: ^4.2
- elgigi/commonmark-emoji: ^2.0
- inuitviking/imms-dark: ^1.1.0
- jnjxp/commonmark-wikilinks: ^0.1.2
- league/commonmark: ^2.2
- league/container: ^4.2
- league/flysystem: ^3.0
- league/plates: ^3.5
- monolog/monolog: ^2.9.3
- n0sz/commonmark-marker-extension: ^1.0
- psr/log: 2.0.0
- scssphp/scssphp: ^1.10
- simonvomeyser/commonmark-ext-lazy-image: ^2.0
- sven/commonmark-image-media-queries: ^1.0
- thadbryson/flysystem-sync: ^3.0
- ueberdosis/commonmark-hint-extension: ^0.1.0
- zoon/commonmark-ext-youtube-iframe: ^2.0
- dev-master
- 2024.05.07.24
- 2024.05.07.23
- 2024.05.07.22
- 2024.05.07.21
- 2024.05.07.20
- 2024.05.07.19
- 2024.05.07.18
- 2024.05.07.17
- 2024.05.07.16
- 2024.05.07.15
- 2024.05.07.14
- 2024.05.07.13
- 2024.05.07.12
- 2024.05.07.11
- 2024.05.07.10
- 2024.05.07.9
- 2024.05.07.8
- 2024.05.07.7
- 2024.05.07.6
- 2024.05.07.5
- 2024.05.07.04
- 2024.05.07.3
- 2024.05.07.2
- 2024.05.07.1
- 2024.05.07
- 2024.03.22.3
- 2024.03.22.2
- 2024.03.22.1
- 2024.03.22.0
- 2024.02.26.6
- 2024.02.26.0
- 2024.02.14.8-rc5
- 2024.02.14.8-rc4
- 2024.02.14.8-rc3
- 2024.02.14.8-rc2
- 2024.02.14.8-rc1
- 2024.02.14.7
- 2024.02.14.6
- 2024.02.14.5
- 2024.02.14.4
- 2024.02.14.3
- 2024.02.14.2
- 2024.02.14.1
- v2024.02.14.0
- v2023.01.14.0
- 2022.04.12.6
- 2022.04.12.5
- 2022.04.12.4
- 2022.04.12.3
- 2022.04.12.2
- 2022.04.12.1
- 2022.04.12
- dev-dev
This package is auto-updated.
Last update: 2024-09-28 08:57:11 UTC
README
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 依赖
- league/commonmark
- league/plates
- scssphp/scssphp
- ueberdosis/commonmark-hint-extension
- zoon/commonmark-ext-youtube-iframe
- elgigi/commonmark-emoji
- n0sz/commonmark-marker-extension
- sven/commonmark-image-media-queries
- jnjxp/commonmark-wikilinks
- simonvomeyser/commonmark-ext-lazy-image
- league/plates
- czproject/git-php
- league/flysystem
- thadbryson/flysystem-sync
PHP 依赖
- PHP8.3 或更高版本
- ext-dom
服务器依赖