bangnokia / 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-05-12 18:12:18 UTC
README
Lina PHP - 轻量级且极速的静态博客生成器
Lina 是一个针对希望拥有简单快速博客的用户定制的扁平文件内容管理系统。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
或者全局安装 Lina 作为 composer 包
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