linaphp / lina
静态博客生成器
v0.6.1
2024-05-12 18:11 UTC
Requires
- php: ^8.3
- ext-pcntl: *
- cboden/ratchet: ^0.4.4
- erusev/parsedown: ^v1.7.2
- erusev/parsedown-extra: ^0.8.1
- illuminate/view: ^v10.0
- keinos/parsedown-toc: ^1.1
- laravel-zero/framework: ^v10.3
- linaphp/resource-watcher: ^0.1.1
- symfony/http-foundation: ^6.0
- symfony/yaml: ^6.0
- tempest/highlight: 1.*
Requires (Dev)
- mockery/mockery: ^1.4.2
- pestphp/pest: ^v2.34
- dev-main
- v0.6.1
- v0.5.5
- v0.5.4
- v0.5.3
- v0.5.2
- v0.5.1
- v0.5.0
- v0.4.11
- v0.4.10
- v0.4.9
- v0.4.8
- v0.4.7
- v0.4.6
- v0.4.4
- v0.4.3
- v0.4.2
- v0.4.1
- v0.4.0
- v0.3.10
- v0.3.9
- v0.3.8
- v0.3.7
- v0.3.6
- v0.3.5
- v0.3.4
- v0.3.3
- v0.3.2
- v0.3.1
- v0.3
- v0.2.9
- v0.2.8
- v0.2.7
- v0.2.6
- v0.2.5
- v0.2.4
- 0.2.3
- 0.2.2
- 0.2.1
- 0.2.0
- v0.1.5
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1-alpha
- v0.1.0-alpha
- dev-feat/hot-reloading
- dev-dev
- dev-serve-command
This package is auto-updated.
Last update: 2024-09-12 18:53:20 UTC
README
Lina PHP - 轻量级且速度极快的静态博客生成器
Lina 是一个具有偏见的平面文件 CMS,适用于希望拥有简单快速博客的用户。Lina 使用 Blade 模板引擎,因此您可以使用所有 Blade 功能。
特性
- 速度极快:Lina 是一个轻量级且超级快速的静态博客生成器。
- 用 PHP 编写:如果您讨厌 JavaScript,Lina 就是您的选择。
- Blade 模板引擎:您可以使用所有 Blade 功能。
- 极简主义:Lina 是一个静态博客生成器。它不是一个完整的 CMS。
- 部署到任何地方!您知道的,只是 html 文件 🤣
要求
- PHP 8.3
入门
有一些方法可以安装 Lina
将 Lina 作为依赖项,使用此选项,您可以轻松保持 lina 更新。
mkdir my-blog && cd my-blog && composer init --name=linaphp/blog --no-interaction --require=bangnokia/lina:^0.5 && composer install ./vendor/bin/lina new . # scaffolding a new blog skeleton in the current directory ./vendor/bin/lina serve # start a development server and happy writing
或作为全局 composer 包安装 Lina
composer global require linaphp/lina lina new my-blog lina serve
或者您可以使用 phar
文件
curl -LO https://github.com/linaphp/lina/releases/latest/download/lina.phar && chmod +x lina.phar
文件夹结构
如果您想从其他博客平台迁移,您可以查看 Lina 的基本结构
content/
posts/
2020-11-01-hello.md
index.md
resources/
views/
index.blade.php
post.blade.php
public/
images/
style.css
content
目录是您存储 markdown 内容文件的地方。resources/views
目录是您存储 blade 模板的地方。public
目录是您存储资产如图像、css...的地方。此文件夹也是所有生成的文件存储的地方。因此,如果您想将自定义文件存储在git
中,请务必将其添加到.gitignore
。
我们强烈建议您使用日期作为内容文件的名称前缀,这样就可以轻松排序和查找内容。Lina 会自动从 slug 中删除日期,因此您不必担心 URL。
辅助函数
有一些函数可以用来以编程方式访问您的内容。
获取目录中的所有内容
获取目录中的所有内容。内容将按文件名中的日期排序。
foreach (lina()->index('post') as $post) { echo $post->title; }
获取单个内容
$post = lina()->get('posts/2020-11-01-hello.md');
部署
Lina 可以部署到任何静态托管提供商。以下是一些示例:Github pages、Netlify、Vercel、Cloudflare pages...
部署在 Github pages 上
因此,请修改 .github/workflows/deploy.yml
文件以匹配您的需求。
部署在 Cloudflare pages 上
我们还提供了 Cloudflare pages 的配置文件。您可以在 cloudflare-page.sh
中找到它。您可以修改它以匹配您的需求。此外,您还需要更改 构建配置
如此。
用 Lina 构建
所以,你知道,至少那是我。
待办事项
- 添加
lina serve
命令以供开发使用 - 添加代码高亮支持
- 支持实时重新加载
- Cloudflare pages 支持