aschmelyun / taro
一个使用JSON内容文件和Laravel blade模板引擎的闪电般快速的静态网站生成器
Requires
- php: >=5.6.4
- philo/laravel-blade: ^3.1
- symfony/finder: ^4.2
This package is auto-updated.
Last update: 2024-09-06 16:53:26 UTC
README
🔥 一个使用JSON文件作为内容并利用Laravel Blade模板引擎的闪电般快速的静态网站生成器。
需求
- PHP 5.6.4或更高版本
安装
通过Composer开始一个Taro项目很简单
composer create-project aschmelyun/taro taro
Composer完成后,进入项目的根目录并安装node依赖
npm install
从那里你可以构建演示网站,它输出到项目根目录下的dist/
文件夹
npm run dev
添加页面
在content/
目录中,你可以找到一个hello-world.json文件,你可以直接引用或复制以创建你的新页面。
页面的构建需要设置两个必要的属性
-
view: 应将内容数据传递到的Laravel Blade文件。你可以在文件名中排除
.blade.php
,甚至可以用点(.)替换路径中的正斜杠(/)。所有模板文件都是相对于项目资源目录中的views文件夹,所以如果你有一个文件在resources/views/blog/page.blade.php
,你会在内容JSON文件中使用"view": "blog.page"。 -
slug: 这是相对于根域的URL路径,你希望页面发布的路径。例如,如果你想在
https://example.com/blog/this-cool-post
创建一个页面,你应该设置slug属性的值为"/blog/this-cool-post"。
JSON内容文件中的其余属性将直接作为变量传递到你的Blade文件中。如果你有一个像"foo": "bar"这样的属性,在Blade模板中调用{{ $foo }}
将输出"bar"。
你不仅限于key:value
字符串,你还可以添加数组对象,它们将直接转换为Blade模板中可用的变量。
修改你的资源
默认情况下,Taro使用SCSS文件,在构建过程中编译为CSS。在resources/assets/sass
目录中设置了一个基本的骨架结构,它使用bootstrap的网格和重置样式表,为你提供一个干净(且轻量级)的起点。
有一个引导的JavaScript文件,它通过npm导入lodash、jQuery和Vue依赖项,用于你的项目。你可以通过编辑resources/assets/js/app.js
文件来修改它。由于我们使用webpack编译资源,你可以自由地使用模块和单文件组件。
发布你的网站
准备好发布你的网站后,只需运行以下命令
npm run production
这将压缩你的资源并使用新版本文件重新构建网站。
然后你可以将整个项目发布到你的选择的主机,只要web根指向/dist
文件夹。此外,你还可以单独发布dist文件夹中的构建文件。
路线图
Taro仍然处于开发阶段,虽然它旨在尽可能简单,但仍有一些特性可以提升整体体验。以下是未来的计划:
- 在资源或内容文件更改后重新构建
- 在资源或内容文件更改后实时重新加载
- 在内容目录中使用文件夹
- 将内容结构转换为站点结构,因此缩略名将只是一个覆盖,不是必需的
- 能够在JSON内容文件中添加和使用HTML
- 如果出现问题,将提供更详细的构建错误信息
- 在站点构建期间提供更好的命令行界面和样式
联系方式
有问题?请在此提交!想要联系?欢迎在Twitter上联系我,有任何一般性的问题或评论都可以。
许可证
MIT许可证(MIT)。有关详细信息,请参阅LICENSE.md。