ubiweb / template-contractor
为网站提供的新模板。包含丰富的灵活组件。
dev-master
2019-07-22 13:11 UTC
Requires
- npm-asset/animate-sass: dev-master
- npm-asset/animate.css: dev-master
- npm-asset/bootstrap: ^4.1.3
- npm-asset/ekko-lightbox: 5.3.0
- npm-asset/jquery: 3.2.1
- npm-asset/popper.js: ^1.13.0
- npm-asset/swiper: dev-master
- npm-asset/wow.js: ^1.2.2
This package is not auto-updated.
Last update: 2019-10-08 23:03:56 UTC
README
这是一个基本的 ubiweb 网站。现在它作为 composer 包自动包含在内。
开发设置
- 设置 PHP 开发环境。建议使用 Valet+ 或 Valet。
- 克隆域名框架:
git clone https://github.com/ubiweb-media/ubiweb-domain.git domain.com
- 将
.env.example
重命名为.env
:mv .env.example .env
- 运行
composer install
就这样!当然,你可能需要进一步配置以拥有一个可展示的网站。
设置
- 首先 选择一个基础模板。
- 使用
composer require ubiweb/{templateName}
在你的项目中要求它 - 更新你的
config.yml
以指定Template
- 创建你的样式表
样式
默认情况下,主样式表将指向 domain.com/assets/main.css
,因此你的样式必须在这里编译。在 content/styles/main.scss
下编辑你的样式表以导入模板,如下所示
@import "_variables.scss"; // optional customization @import "../../vendor/templateName/styles/main.scss"; // Your custom styles.
- 运行
sass -I ./vendor/npm-asset content/styles/main.scss:assets/main.css
或sass --watch -I ./vendor/npm-asset content/styles/main.scss:assets/main.css
以监视更改。
如果你在 Mac 上,sass 应该已经安装。
内容
网站的所有内容和配置都位于 ./content
。
config.yml
包含安装配置。对于模板等特殊名称有一些特殊名称,否则你可以在这里定义自己的任意全局变量。pages.yml
包含网站的页面,是你定义路由 URI 的位置。如果这里不存在,请求将抛出 404。你可以通过包含./app/routes.php
定义更复杂的 POST 或 DELETE 路由。translations.yml
是你可以提供路由和覆盖模板变量翻译的位置。主要内容通过其内容目录简单地通过eg) ./content/fr/about.html
进行翻译。en/*
页面内容必须始终位于其语言文件夹中。在配置中指定默认语言将删除 URI 中的语言。这些页面是 blade 模板,可以执行 PHP。
页面
页面使用 blade 模板 语言。这很有用,因为它为我们提供了很多便利,但也可以执行纯 PHP。
每个页面至少应包含一个声明的布局和一些主要内容
@extends "layout/main" @section('content') <p>Hello World</p> @endsection
你可以通过提供一些特殊部分轻松扩展布局的某些部分
@extends "layout/main" @section('title', 'Page Title') @section('head') <!-- Maybe some SEO tags --> <meta property=”og:type” content=”website” /> @endsection @section('styles') <!-- and some extra styles --> <link rel="stylesheet" href="/assets/styles/custom.css" /> @endsection @section('scripts') <!-- and some extra scripts --> <script> alert("Holy cow, it works!") </script> @endsection @section('content') <p>Hello World</p> @endsection
也许你的模板提供了不同的布局,按照如下方式更改它们并利用它们的额外部分
@extends "layout/interior-sidebar" @section('sidebar') <p>This layout has a sidebar.</p> <aside class="widget"> <h1>Let's put a widget here</h1> </aside> @endsection @section('content') <p>Hello World</p> @endsection
扩展功能
有时你可能想做得更多。我们迄今为止概述的是工作网站的基本内容,但你也可以扩展它以做更多。
扩展布局
您可以通过复制 vendor/templateName/layout.html
或任何其他模板文件,并将其放入 ./content/layouts
目录中来覆盖您的模板布局。此目录将覆盖与同一名称相同的任何模板或部分。
创建一个应用
您可以创建一个名为 ./app
的目录,用于在当前框架之上进行开发,并构建您自己的自定义应用程序。已经有一些函数和文件可供您方便使用。例如,您可能需要一个可以发送POST请求并登录某个用户的路由。尝试以下操作:
- 在
./app/routes.php
中创建一个POST路由,如下所示$app->post('login', 'AuthController@login')
- 创建一个相应的控制器
./app/controller/AuthController.php
,以便接收您的请求。 - 进行如下操作:
<?php class AuthController extends Controller { public function login() { setCookie('user', 'A user's authorization cookie'); } }