一个使用JSON内容文件和Laravel blade模板引擎的闪电般快速的静态网站生成器

0.2.0 2018-12-30 18:12 UTC

This package is auto-updated.

Last update: 2024-09-06 16:53:26 UTC


README

Current Version License Total Downloads

🔥 一个使用JSON文件作为内容并利用Laravel Blade模板引擎的闪电般快速的静态网站生成器。

Screenshot of Taro building a site

需求

  • 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