kuleuven / laravel-template
为设置KU Leuven的Bootstrap 2016布局而设计的Laravel模板
Requires
- php: >=5.6.4
- davejamesmiller/laravel-breadcrumbs: ^3.0
- laravel/framework: 5.3.*
- laravelcollective/html: ^5.3
- lavary/laravel-menu: ^1.6
- mcamara/laravel-localization: ^1.1
- mews/purifier: ^2.0
- stevenmaguire/laravel-middleware-csp: ^0.1.1
README
提供现成模板文件的Laravel包,以模拟2016 KU Leuven网页布局。
应将此包视为模板。它旨在每个项目安装和配置一次。之后,更新将不会自动反映到您的模板文件中。
功能
- Gulp规则(Gulp 3)
- 从ICTS获取模板和其他资源文件的最新版本
- 将所有必需的资源下载到您的公共目录,使您的应用独立于外界
- 主布局文件,加载必要的连接和压缩资源文件
- 可以将TinyMCE和Select2应用到表单元素上。与Bootstrap 4兼容
- 一些可用性和无障碍性改进(打印CSS、AreYouSure、在新窗口中打开外部链接、第一个表单元素的自动聚焦)
- 支持诸如CSP Level 2之类的安全特性
- 可以显示以下用户界面元素,动态构建并与Bootstrap 4和Laravel系统兼容
- 显示动态菜单
- 面包屑导航
- 语言切换器
先决条件
- 支持unix命令的本地计算机
- 全新安装的Laravel 5.3
- npm命令
- Composer命令已安装
- Gulp命令已安装
- Bower命令已安装
- Compass命令已安装
在Laravel 5.3中安装
首先安装一个全新的Laravel
composer create-project laravel/laravel myapp 5.3; ; or: "laravel new --5.3", but as on day of writing, option for 5.3 is not yet supported
别忘了将www根目录指向myapp/public/目录。
安装包并将文件发布到您的资源中
composer require kuleuven/laravel-template;
将以下服务提供者添加到app.php
Screenager\KULeuvenBoilerplate\KULeuvenBoilerplateServiceProvider::class,
将以下行添加到根composer.json文件中的classmap
"app/Helpers"
然后运行
php artisan vendor:publish --provider="Screenager\KULeuvenBoilerplate\KULeuvenBoilerplateServiceProvider" --force; composer dump-autoload; npm install; bower install; gulp;
如果"npm install"不起作用,请尝试"sudo npm install"。
最后,将以下行添加到.env并填写正确的值
APP_URL=http://www.myapp.com
APP_NAME="My app"
SUB_LAYOUT=default # options : default, intranet, hosted-by, kulak, landingpage
GOOGLE_ANALYTICS_ENABLED=false
GOOGLE_ANALYTICS_TRACKING_ID=
现在您可以扩展发布的布局以满足您的需求了!
可选的Laravel包
该模板已优化,可与以下Laravel供应商一起使用。所有都是可选的。
laravel-menu
laravel-menu是一个强大的包,用于构建和显示菜单结构。
laravel-breadcrumbs
laravel-breadcrumbs已不再维护,但仍可以作为动态构建面包屑结构的工具使用。
为了支持KU Leuven布局,在安装后,将config/breadcrumbs.php文件中的'view'参数更改为
'view' => 'layouts.kul_2016.partials.breadcrumbs.bootstrap4',
stevenmaguire/laravel-middleware-csp
stevenmaguire/laravel-middleware-csp 允许您向浏览器提供策略文件(CSP),告知它们哪些前端资源可以在您的网页上安全加载。
mcamara/laravel-localization
mcamara/laravel-localization 是一个强大的 Laravel 多语言支持的扩展。
laravelcollective/html
Laravel Collective 提供了一种更简单的方式来构建表单。
mews/purifier
Purifier 提供了一个名为 "clean" 的方法,可以从字符串中选择性过滤 HTML。
应用更新
由于该包作为样板,获取更新不会影响您的布局,因为更改资源的唯一方法是重新发布这些包文件,这可能会覆盖您为应用程序所做的自定义。
然而,再次运行 "gulp" 将从 ICTS 获取模板的最新 HTML 和 CSS。这是有意为之,因为 ICTS 模板文件仍在开发中。此外,这种方式将使布局的页眉和页脚中的大学相关菜单项与其他 KU Leuven 网站保持最新版本。
您可能想将 gulp 命令分成更新 CSS/JS 的命令和获取最新 ICTS 资源的命令,但这完全取决于您。
注意事项
- 如果您只想通过大学的 CMS 制作页面,这没有用。
- 可以在 screenager/kuleuven-boilerplate 上找到更简化的独立于 Laravel 的样板。
保持更新
- https://admin.kuleuven.be/icts/services/wms/intranet/webdevnieuws
- https://www.kuleuven.be/stijlgids
- https://stijl.kuleuven.be/2016/techspecs
待办事项
此样板是为了支持大学的信息会议而制作的。它还需要一些清理,例如更干净的 gulpfile.js 和 Laravel 门面使用。
欢迎提供帮助!