├── database
├── .gitignore
├── seeds
│ └── DatabaseSeeder.php
├── factories
│ └── UserFactory.php
└── migrations
│ ├── 2014_10_12_100000_create_password_resets_table.php
│ └── 2014_10_12_000000_create_users_table.php
├── bootstrap
├── cache
│ └── .gitignore
└── app.php
├── public
├── robots.txt
├── img
│ ├── controls.png
│ ├── favicon.png
│ └── logo-prismic.svg
├── mix-manifest.json
├── .htaccess
└── index.php
├── storage
├── app
│ ├── public
│ │ └── .gitignore
│ └── .gitignore
└── framework
│ ├── cache
│ └── .gitignore
│ ├── testing
│ └── .gitignore
│ ├── views
│ └── .gitignore
│ ├── sessions
│ └── .gitignore
│ └── .gitignore
├── resources
├── assets
│ ├── sass
│ │ ├── partials
│ │ │ ├── slices
│ │ │ │ ├── _image-gallery.scss
│ │ │ │ ├── _video.scss
│ │ │ │ ├── _gallery.scss
│ │ │ │ ├── _banner.scss
│ │ │ │ ├── _highlight-section.scss
│ │ │ │ ├── _text-section.scss
│ │ │ │ └── _quote-banner.scss
│ │ │ ├── _module.scss
│ │ │ ├── _footer.scss
│ │ │ └── _header.scss
│ │ ├── layouts
│ │ │ ├── _module.scss
│ │ │ └── _general.scss
│ │ ├── vendor
│ │ │ ├── _module.scss
│ │ │ └── _lightslider.css
│ │ ├── views
│ │ │ ├── _module.scss
│ │ │ └── _homepage.scss
│ │ ├── utils
│ │ │ ├── _breakpoints.scss
│ │ │ ├── _module.scss
│ │ │ └── _mixins.scss
│ │ ├── base
│ │ │ ├── _module.scss
│ │ │ ├── _reset.css
│ │ │ └── _base.scss
│ │ ├── components
│ │ │ ├── _module.scss
│ │ │ ├── _language-selector.scss
│ │ │ └── _wio-link.scss
│ │ └── app.scss
│ └── js
│ │ ├── components
│ │ └── ExampleComponent.vue
│ │ ├── app.js
│ │ └── bootstrap.js
├── views
│ ├── partials
│ │ ├── slices
│ │ │ ├── video.blade.php
│ │ │ ├── image-slider.blade.php
│ │ │ ├── text-section.blade.php
│ │ │ ├── quote-banner.blade.php
│ │ │ ├── gallery.blade.php
│ │ │ ├── highlight-section.blade.php
│ │ │ └── banner.blade.php
│ │ ├── footer.blade.php
│ │ └── header.blade.php
│ ├── 404.blade.php
│ ├── page.blade.php
│ ├── layouts
│ │ └── app.blade.php
│ └── homepage.blade.php
└── lang
│ └── en
│ ├── pagination.php
│ ├── auth.php
│ ├── passwords.php
│ └── validation.php
├── .gitattributes
├── tests
├── TestCase.php
├── Unit
│ └── ExampleTest.php
├── Feature
│ └── ExampleTest.php
└── CreatesApplication.php
├── .editorconfig
├── custom_types
├── index.json
├── menu.json
├── page.json
└── homepage.json
├── app
├── Http
│ ├── Middleware
│ │ ├── EncryptCookies.php
│ │ ├── VerifyCsrfToken.php
│ │ ├── TrimStrings.php
│ │ ├── TrustProxies.php
│ │ ├── RedirectIfAuthenticated.php
│ │ └── ConnectToPrismic.php
│ ├── Controllers
│ │ ├── Controller.php
│ │ └── Auth
│ │ │ ├── ForgotPasswordController.php
│ │ │ ├── LoginController.php
│ │ │ ├── ResetPasswordController.php
│ │ │ └── RegisterController.php
│ ├── ViewComposers
│ │ └── PrismicComposer.php
│ └── Kernel.php
├── Providers
│ ├── PrismicServiceProvider.php
│ ├── BroadcastServiceProvider.php
│ ├── AppServiceProvider.php
│ ├── AuthServiceProvider.php
│ ├── EventServiceProvider.php
│ └── RouteServiceProvider.php
├── User.php
├── Console
│ └── Kernel.php
├── LinkResolver.php
└── Exceptions
│ └── Handler.php
├── routes
├── channels.php
├── api.php
├── console.php
└── web.php
├── config
├── hashing.php
├── i18n.php
├── prismic.php
├── view.php
├── services.php
├── broadcasting.php
├── logging.php
├── filesystems.php
├── queue.php
├── cache.php
├── auth.php
├── database.php
├── mail.php
├── session.php
└── app.php
├── webpack.mix.js
├── server.php
├── .env.example
├── phpunit.xml
├── package.json
├── README.md
├── composer.json
├── artisan
└── .gitignore
/database/.gitignore:
--------------------------------------------------------------------------------
1 | *.sqlite
2 |
--------------------------------------------------------------------------------
/bootstrap/cache/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Disallow:
3 |
--------------------------------------------------------------------------------
/storage/app/public/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/resources/assets/sass/partials/slices/_image-gallery.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/storage/app/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !public/
3 | !.gitignore
4 |
--------------------------------------------------------------------------------
/storage/framework/cache/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/testing/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/views/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/storage/framework/sessions/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/resources/assets/sass/layouts/_module.scss:
--------------------------------------------------------------------------------
1 | @import "general";
2 |
--------------------------------------------------------------------------------
/resources/assets/sass/vendor/_module.scss:
--------------------------------------------------------------------------------
1 | @import "lightslider";
2 |
--------------------------------------------------------------------------------
/resources/assets/sass/views/_module.scss:
--------------------------------------------------------------------------------
1 | @import "homepage";
2 |
--------------------------------------------------------------------------------
/resources/assets/sass/utils/_breakpoints.scss:
--------------------------------------------------------------------------------
1 | $break-small: 767px;
2 |
--------------------------------------------------------------------------------
/resources/assets/sass/base/_module.scss:
--------------------------------------------------------------------------------
1 | @import "reset";
2 | @import "base";
3 |
--------------------------------------------------------------------------------
/resources/assets/sass/utils/_module.scss:
--------------------------------------------------------------------------------
1 | @import "breakpoints";
2 | @import "mixins";
3 |
--------------------------------------------------------------------------------
/resources/assets/sass/components/_module.scss:
--------------------------------------------------------------------------------
1 | @import "language-selector";
2 | @import "wio-link";
3 |
--------------------------------------------------------------------------------
/public/img/controls.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/prismicio/php-laravel-sample/master/public/img/controls.png
--------------------------------------------------------------------------------
/public/img/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/prismicio/php-laravel-sample/master/public/img/favicon.png
--------------------------------------------------------------------------------
/public/mix-manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "/js/app.js": "/js/app.js",
3 | "/css/app.css": "/css/app.css"
4 | }
5 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
2 | *.css linguist-vendored
3 | *.scss linguist-vendored
4 | *.js linguist-vendored
5 | CHANGELOG.md export-ignore
6 |
--------------------------------------------------------------------------------
/storage/framework/.gitignore:
--------------------------------------------------------------------------------
1 | config.php
2 | routes.php
3 | schedule-*
4 | compiled.php
5 | services.json
6 | events.scanned.php
7 | routes.scanned.php
8 | down
9 |
--------------------------------------------------------------------------------
/tests/TestCase.php:
--------------------------------------------------------------------------------
1 | primary->embed->html))
2 |
3 | {!! $slice->primary->embed->html !!}
4 |
5 | @endif
6 |
--------------------------------------------------------------------------------
/resources/assets/sass/partials/slices/_video.scss:
--------------------------------------------------------------------------------
1 | .video {
2 | position: relative;
3 | height: 500px;
4 | iframe {
5 | position: absolute;
6 | top: 0;
7 | left: 0;
8 | width: 100%;
9 | height: 100%;
10 | }
11 | }
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | end_of_line = lf
6 | indent_size = 4
7 | indent_style = space
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.md]
12 | trim_trailing_whitespace = false
13 |
--------------------------------------------------------------------------------
/resources/assets/sass/layouts/_general.scss:
--------------------------------------------------------------------------------
1 | .l-grid-container {
2 | max-width: 980px;
3 | margin: auto;
4 | }
5 |
6 | .l-content-section {
7 | margin-bottom: 3.75rem;
8 |
9 | @media (max-width: $break-small) {
10 | margin-bottom: 2rem;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/resources/assets/sass/partials/_module.scss:
--------------------------------------------------------------------------------
1 | @import "header";
2 | @import "footer";
3 |
4 | @import "slices/banner";
5 | @import "slices/gallery";
6 | @import "slices/highlight-section";
7 | @import "slices/image-gallery";
8 | @import "slices/quote-banner";
9 | @import "slices/text-section";
10 | @import "slices/video";
11 |
--------------------------------------------------------------------------------
/resources/views/404.blade.php:
--------------------------------------------------------------------------------
1 | @extends('layouts.app')
2 |
3 | @section('content')
4 |
5 |
6 |
Page not found
7 |
Sorry we were unable to find the page you are looking for.
8 |
Return to home
9 |
10 |
11 | @stop
12 |
--------------------------------------------------------------------------------
/database/seeds/DatabaseSeeder.php:
--------------------------------------------------------------------------------
1 | call(UsersTableSeeder::class);
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/custom_types/index.json:
--------------------------------------------------------------------------------
1 | [{
2 | "id": "homepage",
3 | "name": "Homepage",
4 | "repeatable": false,
5 | "value": "homepage.json"
6 | }, {
7 | "id": "menu",
8 | "name": "Menu",
9 | "repeatable": false,
10 | "value": "menu.json"
11 | }, {
12 | "id": "page",
13 | "name": "Page",
14 | "repeatable": true,
15 | "value": "page.json"
16 | }]
17 |
--------------------------------------------------------------------------------
/app/Http/Middleware/EncryptCookies.php:
--------------------------------------------------------------------------------
1 | assertTrue(true);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/app/Http/Middleware/VerifyCsrfToken.php:
--------------------------------------------------------------------------------
1 |
2 |
7 | @foreach ($slice->items as $item)
8 | @php
9 | $linkUrl = Link::asUrl($item->link, $linkResolver);
10 | $linkText = $item->link_text;
11 | @endphp
12 |
13 | @if (isset($item->image->url))
14 |

15 | @endif
16 | {!! RichText::asHtml($item->description, $linkResolver) !!}
17 | @if ($linkUrl && $linkText)
18 |
19 |
20 | {{ $linkText }}
21 |
22 |
23 | @endif
24 |
25 | @endforeach
26 |
27 |
--------------------------------------------------------------------------------
/config/prismic.php:
--------------------------------------------------------------------------------
1 | 'https://laravel-sample.prismic.io/api/v2',
16 |
17 | /*
18 | |--------------------------------------------------------------------------
19 | | prismic.io API Access Token
20 | |--------------------------------------------------------------------------
21 | |
22 | | Here you can specify your API Access Token if you are using a private API.
23 | | If you are not using a private API, then leave this configuration set to
24 | | the default value of null.
25 | |
26 | */
27 |
28 | 'token' => null,
29 |
30 | ];
31 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Auth/ForgotPasswordController.php:
--------------------------------------------------------------------------------
1 | middleware('guest');
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/app/Console/Kernel.php:
--------------------------------------------------------------------------------
1 | command('inspire')
28 | // ->hourly();
29 | }
30 |
31 | /**
32 | * Register the commands for the application.
33 | *
34 | * @return void
35 | */
36 | protected function commands()
37 | {
38 | $this->load(__DIR__.'/Commands');
39 |
40 | require base_path('routes/console.php');
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Auth/LoginController.php:
--------------------------------------------------------------------------------
1 | middleware('guest')->except('logout');
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/config/view.php:
--------------------------------------------------------------------------------
1 | [
17 | resource_path('views'),
18 | ],
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Compiled View Path
23 | |--------------------------------------------------------------------------
24 | |
25 | | This option determines where all the compiled Blade templates will be
26 | | stored for your application. Typically, this is within the storage
27 | | directory. However, as usual, you are free to change this value.
28 | |
29 | */
30 |
31 | 'compiled' => realpath(storage_path('framework/views')),
32 |
33 | ];
34 |
--------------------------------------------------------------------------------
/config/services.php:
--------------------------------------------------------------------------------
1 | [
18 | 'domain' => env('MAILGUN_DOMAIN'),
19 | 'secret' => env('MAILGUN_SECRET'),
20 | ],
21 |
22 | 'ses' => [
23 | 'key' => env('SES_KEY'),
24 | 'secret' => env('SES_SECRET'),
25 | 'region' => 'us-east-1',
26 | ],
27 |
28 | 'sparkpost' => [
29 | 'secret' => env('SPARKPOST_SECRET'),
30 | ],
31 |
32 | 'stripe' => [
33 | 'model' => App\User::class,
34 | 'key' => env('STRIPE_KEY'),
35 | 'secret' => env('STRIPE_SECRET'),
36 | ],
37 |
38 | ];
39 |
--------------------------------------------------------------------------------
/app/Http/Controllers/Auth/ResetPasswordController.php:
--------------------------------------------------------------------------------
1 | middleware('guest');
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/phpunit.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | @foreach ($document->data->body as $slice)
8 | @switch ($slice->slice_type)
9 | @case ('highlight_section')
10 | @include('partials.slices.highlight-section', ['slice' => $slice])
11 | @break
12 | @case ('banner')
13 | @include('partials.slices.banner', ['slice' => $slice])
14 | @break
15 | @case ('quote_banner')
16 | @include('partials.slices.quote-banner', ['slice' => $slice])
17 | @break
18 | @case ('text_section')
19 | @include('partials.slices.text-section', ['slice' => $slice])
20 | @break
21 | @case ('image_slider')
22 | @include('partials.slices.image-slider', ['slice' => $slice])
23 | @break
24 | @case ('gallery')
25 | @include('partials.slices.gallery', ['slice' => $slice])
26 | @break
27 | @case ('video')
28 | @include('partials.slices.video', ['slice' => $slice])
29 | @break
30 | @endswitch
31 | @endforeach
32 |
33 |
34 |
35 | @stop
36 |
--------------------------------------------------------------------------------
/resources/assets/sass/utils/_mixins.scss:
--------------------------------------------------------------------------------
1 | @mixin quotes($color) {
2 | display: block;
3 | font-size: 36px;
4 | font-style: italic;
5 | font-weight: normal;
6 | color: $color;
7 | letter-spacing : 1.14;
8 | line-height: 1.5em;
9 | quotes: "\201C""\201D""\2018""\2019";
10 | text-align: center;
11 |
12 | &:before, &:after {
13 | color: $color;
14 | content: open-quote;
15 | font-size: 2.5em;
16 | font-weight: 900;
17 | line-height: 0.1em;
18 | margin-left: 10px;
19 | margin-right: 10px;
20 | vertical-align: -0.3em;
21 | }
22 |
23 | &:after {
24 | content: close-quote;
25 | position: relative;
26 | top: 0.3em;
27 | }
28 | }
29 |
30 | @mixin button($primary, $secondary: transparent, $border: $primary, $primaryHover: $primary, $secondaryHover: $secondary, $borderHover: $primaryHover) {
31 | border: 2px solid $border;
32 | display: inline-block;
33 | padding: 7px 30px;
34 | font-size: 16px;
35 | font-weight: 700;
36 | text-transform: uppercase;
37 | color: $primary;
38 | background: $secondary;
39 | border-radius: 4px;
40 |
41 | a {
42 | color: $primary;
43 | }
44 |
45 | &:hover {
46 | color: $primaryHover;
47 | background-color: $secondaryHover;
48 | border-color: $borderHover;
49 |
50 | a {
51 | color: $primaryHover;
52 | }
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Laravel Sample
2 |
3 | > Laravel sample website with content retrieving from [prismic.io](https://prismic.io)
4 |
5 | This project runs with Laravel version 5.5.
6 |
7 | ## Getting started
8 |
9 | Assuming you've already installed on your machine: PHP (>= 7.0.0), [Laravel](https://laravel.com), [Composer](https://getcomposer.org) and [Node.js](https://nodejs.org).
10 |
11 | ``` bash
12 | # install dependencies
13 | composer install
14 | npm install
15 |
16 | # create .env file and generate the application key
17 | cp .env.example .env
18 | php artisan key:generate
19 |
20 | # build CSS and JS assets
21 | npm run dev
22 | # or, if you prefer minified files
23 | npm run prod
24 | ```
25 |
26 | Then launch the server:
27 |
28 | ``` bash
29 | php artisan serve
30 | ```
31 |
32 | The Laravel sample project is now up and running! Access it at http://localhost:8000.
33 |
34 | ## Licence
35 |
36 | This software is licensed under the Apache 2 license, quoted below.
37 |
38 | Copyright 2018 Prismic.io (https://prismic.io).
39 |
40 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this project except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
41 |
42 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
43 |
--------------------------------------------------------------------------------
/resources/assets/js/app.js:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * First we will load all of this project's JavaScript dependencies which
4 | * includes Vue and other libraries. It is a great starting point when
5 | * building robust, powerful web applications using Vue and Laravel.
6 | */
7 |
8 | // require('./bootstrap');
9 |
10 | // window.Vue = require('vue');
11 |
12 | /**
13 | * Next, we will create a fresh Vue application instance and attach it to
14 | * the page. Then, you may begin adding components to this application
15 | * or customize the JavaScript scaffolding to fit your unique needs.
16 | */
17 |
18 | // Vue.component('example-component', require('./components/ExampleComponent.vue'));
19 |
20 | // const app = new Vue({
21 | // el: '#app'
22 | // });
23 |
24 |
25 |
26 | window.$ = window.jQuery = require('jquery');
27 | require('./vendor/lightslider');
28 |
29 | $(document).ready(function () {
30 |
31 | /**
32 | * Using lightslider (jQuery plugin) for image-slider slice
33 | */
34 |
35 | $('.js-image-slider').lightSlider({
36 | gallery: false,
37 | auto: true,
38 | item: 1,
39 | loop: true,
40 | slideMargin: 0,
41 | controls: false,
42 | enableDrag: false,
43 | currentPagerPosition: 'left',
44 | pauseOnHover: true,
45 | pause: 6000,
46 | });
47 |
48 | /**
49 | * Handling language change
50 | */
51 |
52 | let $languageSelect = $('#language-select');
53 |
54 | $languageSelect.on('change', function () {
55 | window.location.href = $languageSelect.find('option:selected').attr('href');
56 | });
57 |
58 | });
59 |
--------------------------------------------------------------------------------
/resources/assets/sass/base/_base.scss:
--------------------------------------------------------------------------------
1 | ::selection {
2 | background: #FFF7C7; /* WebKit/Blink Browsers */
3 | }
4 |
5 | ::-moz-selection {
6 | background: #FFF7C7; /* Gecko Browsers */
7 | }
8 |
9 | html {
10 | -webkit-font-smoothing: antialiased;
11 | -moz-osx-font-smoothing: grayscale;
12 | }
13 |
14 | body {
15 | color: #72767b;
16 | font-family: Lato, sans-serif;
17 | font-size: 16px;
18 | font-weight: 400;
19 | line-height: 28px;
20 | }
21 |
22 | a {
23 | color: #72767B;
24 | font-size: 14px;
25 | font-weight: 400;
26 | line-height: 28px;
27 | text-decoration: none;
28 | }
29 |
30 | p a {
31 | text-decoration: underline;
32 | }
33 |
34 | h1 {
35 | font-size: 46px;
36 | line-height: 50px;
37 | font-weight: normal;
38 | color: #484D52;
39 | margin-bottom: 1rem;
40 |
41 | @media (max-width: $break-small) {
42 | font-size: 32px;
43 | line-height: 40px;
44 | }
45 | }
46 |
47 | h2, h2 a {
48 | margin-bottom: 1rem;
49 | color: #484d52;
50 | font-size: 32px;
51 | font-weight: 700;
52 | line-height: 42px;
53 |
54 | @media (max-width: $break-small) {
55 | font-size: 26px;
56 | }
57 | }
58 |
59 | h3, h3 a {
60 | margin-bottom: 1rem;
61 | color: #484d52;
62 | font-size: 24px;
63 | font-weight: 400;
64 | line-height: 34px;
65 |
66 | @media (max-width: $break-small) {
67 | font-size: 18px;
68 | }
69 | }
70 |
71 | p {
72 | margin-bottom: 2rem;
73 | font-size: 16px;
74 | line-height: 1.5;
75 | }
76 |
77 | pre, ul {
78 | margin-bottom: 20px;
79 | }
80 |
81 | img {
82 | max-width: 100%;
83 | }
84 |
85 | strong {
86 | font-weight: bold;
87 | }
88 |
89 | em {
90 | font-style: italic;
91 | }
92 |
--------------------------------------------------------------------------------
/config/broadcasting.php:
--------------------------------------------------------------------------------
1 | env('BROADCAST_DRIVER', 'null'),
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Broadcast Connections
23 | |--------------------------------------------------------------------------
24 | |
25 | | Here you may define all of the broadcast connections that will be used
26 | | to broadcast events to other systems or over websockets. Samples of
27 | | each available type of connection are provided inside this array.
28 | |
29 | */
30 |
31 | 'connections' => [
32 |
33 | 'pusher' => [
34 | 'driver' => 'pusher',
35 | 'key' => env('PUSHER_APP_KEY'),
36 | 'secret' => env('PUSHER_APP_SECRET'),
37 | 'app_id' => env('PUSHER_APP_ID'),
38 | 'options' => [
39 | //
40 | ],
41 | ],
42 |
43 | 'redis' => [
44 | 'driver' => 'redis',
45 | 'connection' => 'default',
46 | ],
47 |
48 | 'log' => [
49 | 'driver' => 'log',
50 | ],
51 |
52 | 'null' => [
53 | 'driver' => 'null',
54 | ],
55 |
56 | ],
57 |
58 | ];
59 |
--------------------------------------------------------------------------------
/resources/views/layouts/app.blade.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{-- Meta --}}
5 |
15 |
16 |
17 |
18 |
{{ RichText::asText($document->data->title) }}
19 | {!! RichText::asHtml($document->data->tagline, $linkResolver) !!}
20 | @if ($buttonUrl && $buttonText)
21 |
25 | {{ $buttonText }}
26 |
27 | @endif
28 |
29 |
30 |
31 | @foreach ($document->data->body as $slice)
32 | @switch ($slice->slice_type)
33 | @case ('highlight_section')
34 | @include('partials.slices.highlight-section', ['slice' => $slice])
35 | @break
36 | @case ('banner')
37 | @include('partials.slices.banner', ['slice' => $slice])
38 | @break
39 | @case ('quote_banner')
40 | @include('partials.slices.quote-banner', ['slice' => $slice])
41 | @break
42 | @case ('text_section')
43 | @include('partials.slices.text-section', ['slice' => $slice])
44 | @break
45 | @case ('image_slider')
46 | @include('partials.slices.image-slider', ['slice' => $slice])
47 | @break
48 | @case ('gallery')
49 | @include('partials.slices.gallery', ['slice' => $slice])
50 | @break
51 | @case ('video')
52 | @include('partials.slices.video', ['slice' => $slice])
53 | @break
54 | @endswitch
55 | @endforeach
56 |
57 |
58 |
59 | @stop
60 |
--------------------------------------------------------------------------------
/resources/assets/sass/partials/slices/_quote-banner.scss:
--------------------------------------------------------------------------------
1 | .quote-banner {
2 | position: relative;
3 | background-size: cover;
4 | background-position: center;
5 | height: 500px;
6 | display: flex;
7 | justify-content: center;
8 | align-items: center;
9 | flex-direction: column;
10 | margin-bottom: 110px;
11 |
12 | .container-text{
13 | position: absolute;
14 | top: 0;
15 | padding: 110px;
16 | bottom: 0;
17 | width: 60%;
18 | text-transform: uppercase;
19 | right: 0;
20 |
21 | box-sizing: border-box;
22 | vertical-align: middle;
23 | background: rgba(51, 51, 51, 0.95);
24 |
25 | .quote-container{
26 | position: absolute;
27 | left: 15%;
28 | top: 50%;
29 | transform: translateY(-50%);
30 | right: 15%;
31 | }
32 | }
33 |
34 | &.dark {
35 | .quote {
36 | @include quotes(#484d52);
37 | }
38 | }
39 |
40 | &.light {
41 | .container-text{
42 | background: rgba(255, 255, 255, 0.95);
43 | }
44 | .author, h3 {
45 | display: inline-block;
46 | font-weight: 900;
47 | font-size: 35px;
48 | line-height: 50px;
49 | font-style: initial;
50 | color: #aaa;
51 | }
52 | .quote {
53 | @include quotes(#eee);
54 | h3{
55 | color: #333;
56 | }
57 | }
58 | }
59 |
60 |
61 |
62 | .limit-container {
63 | width: 100%;
64 | display: flex;
65 | flex-direction: column;
66 | position: relative;
67 | height: 100%;
68 | justify-content: center;
69 | }
70 |
71 | .author {
72 | font-size: 14px;
73 | font-style: italic;
74 | color: #ccc;
75 | p{
76 | margin-bottom: 0;
77 | }
78 | }
79 |
80 | .quote {
81 | &:before, &:after {
82 | font-size: 60px;
83 | }
84 | h3 {
85 | display: inline-block;
86 | font-weight: 900;
87 | font-size: 28px;
88 | line-height: 40px;
89 | font-style: initial;
90 | color: #fff;
91 | }
92 |
93 | }
94 | &.left{
95 | .container-text{
96 | left: 0;
97 | right: auto;
98 | }
99 | }
100 | }
101 |
102 | @media (max-width: $break-small) {
103 | .quote-banner{
104 | height: auto;
105 | margin-bottom: 0;
106 |
107 | .container-text{
108 | width: 100%;
109 | position: static;
110 | .quote-container{
111 |
112 | position: static;
113 | transform: initial;
114 | }
115 | }
116 | }
117 | .quote{
118 | font-size: 20px;
119 | }
120 | }
121 |
--------------------------------------------------------------------------------
/config/queue.php:
--------------------------------------------------------------------------------
1 | env('QUEUE_DRIVER', 'sync'),
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Queue Connections
23 | |--------------------------------------------------------------------------
24 | |
25 | | Here you may configure the connection information for each server that
26 | | is used by your application. A default configuration has been added
27 | | for each back-end shipped with Laravel. You are free to add more.
28 | |
29 | */
30 |
31 | 'connections' => [
32 |
33 | 'sync' => [
34 | 'driver' => 'sync',
35 | ],
36 |
37 | 'database' => [
38 | 'driver' => 'database',
39 | 'table' => 'jobs',
40 | 'queue' => 'default',
41 | 'retry_after' => 90,
42 | ],
43 |
44 | 'beanstalkd' => [
45 | 'driver' => 'beanstalkd',
46 | 'host' => 'localhost',
47 | 'queue' => 'default',
48 | 'retry_after' => 90,
49 | ],
50 |
51 | 'sqs' => [
52 | 'driver' => 'sqs',
53 | 'key' => 'your-public-key',
54 | 'secret' => 'your-secret-key',
55 | 'prefix' => 'https://sqs.us-east-1.amazonaws.com/your-account-id',
56 | 'queue' => 'your-queue-name',
57 | 'region' => 'us-east-1',
58 | ],
59 |
60 | 'redis' => [
61 | 'driver' => 'redis',
62 | 'connection' => 'default',
63 | 'queue' => 'default',
64 | 'retry_after' => 90,
65 | 'block_for' => null,
66 | ],
67 |
68 | ],
69 |
70 | /*
71 | |--------------------------------------------------------------------------
72 | | Failed Queue Jobs
73 | |--------------------------------------------------------------------------
74 | |
75 | | These options configure the behavior of failed queue job logging so you
76 | | can control which database and table are used to store the jobs that
77 | | have failed. You may change them to any database / table you wish.
78 | |
79 | */
80 |
81 | 'failed' => [
82 | 'database' => env('DB_CONNECTION', 'mysql'),
83 | 'table' => 'failed_jobs',
84 | ],
85 |
86 | ];
87 |
--------------------------------------------------------------------------------
/config/cache.php:
--------------------------------------------------------------------------------
1 | env('CACHE_DRIVER', 'file'),
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Cache Stores
23 | |--------------------------------------------------------------------------
24 | |
25 | | Here you may define all of the cache "stores" for your application as
26 | | well as their drivers. You may even define multiple stores for the
27 | | same cache driver to group types of items stored in your caches.
28 | |
29 | */
30 |
31 | 'stores' => [
32 |
33 | 'apc' => [
34 | 'driver' => 'apc',
35 | ],
36 |
37 | 'array' => [
38 | 'driver' => 'array',
39 | ],
40 |
41 | 'database' => [
42 | 'driver' => 'database',
43 | 'table' => 'cache',
44 | 'connection' => null,
45 | ],
46 |
47 | 'file' => [
48 | 'driver' => 'file',
49 | 'path' => storage_path('framework/cache/data'),
50 | ],
51 |
52 | 'memcached' => [
53 | 'driver' => 'memcached',
54 | 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
55 | 'sasl' => [
56 | env('MEMCACHED_USERNAME'),
57 | env('MEMCACHED_PASSWORD'),
58 | ],
59 | 'options' => [
60 | // Memcached::OPT_CONNECT_TIMEOUT => 2000,
61 | ],
62 | 'servers' => [
63 | [
64 | 'host' => env('MEMCACHED_HOST', '127.0.0.1'),
65 | 'port' => env('MEMCACHED_PORT', 11211),
66 | 'weight' => 100,
67 | ],
68 | ],
69 | ],
70 |
71 | 'redis' => [
72 | 'driver' => 'redis',
73 | 'connection' => 'default',
74 | ],
75 |
76 | ],
77 |
78 | /*
79 | |--------------------------------------------------------------------------
80 | | Cache Key Prefix
81 | |--------------------------------------------------------------------------
82 | |
83 | | When utilizing a RAM based store such as APC or Memcached, there might
84 | | be other applications utilizing the same cache. So, we'll specify a
85 | | value to get prefixed to all our keys so we can avoid collisions.
86 | |
87 | */
88 |
89 | 'prefix' => env(
90 | 'CACHE_PREFIX',
91 | str_slug(env('APP_NAME', 'laravel'), '_').'_cache'
92 | ),
93 |
94 | ];
95 |
--------------------------------------------------------------------------------
/config/auth.php:
--------------------------------------------------------------------------------
1 | [
17 | 'guard' => 'web',
18 | 'passwords' => 'users',
19 | ],
20 |
21 | /*
22 | |--------------------------------------------------------------------------
23 | | Authentication Guards
24 | |--------------------------------------------------------------------------
25 | |
26 | | Next, you may define every authentication guard for your application.
27 | | Of course, a great default configuration has been defined for you
28 | | here which uses session storage and the Eloquent user provider.
29 | |
30 | | All authentication drivers have a user provider. This defines how the
31 | | users are actually retrieved out of your database or other storage
32 | | mechanisms used by this application to persist your user's data.
33 | |
34 | | Supported: "session", "token"
35 | |
36 | */
37 |
38 | 'guards' => [
39 | 'web' => [
40 | 'driver' => 'session',
41 | 'provider' => 'users',
42 | ],
43 |
44 | 'api' => [
45 | 'driver' => 'token',
46 | 'provider' => 'users',
47 | ],
48 | ],
49 |
50 | /*
51 | |--------------------------------------------------------------------------
52 | | User Providers
53 | |--------------------------------------------------------------------------
54 | |
55 | | All authentication drivers have a user provider. This defines how the
56 | | users are actually retrieved out of your database or other storage
57 | | mechanisms used by this application to persist your user's data.
58 | |
59 | | If you have multiple user tables or models you may configure multiple
60 | | sources which represent each model / table. These sources may then
61 | | be assigned to any extra authentication guards you have defined.
62 | |
63 | | Supported: "database", "eloquent"
64 | |
65 | */
66 |
67 | 'providers' => [
68 | 'users' => [
69 | 'driver' => 'eloquent',
70 | 'model' => App\User::class,
71 | ],
72 |
73 | // 'users' => [
74 | // 'driver' => 'database',
75 | // 'table' => 'users',
76 | // ],
77 | ],
78 |
79 | /*
80 | |--------------------------------------------------------------------------
81 | | Resetting Passwords
82 | |--------------------------------------------------------------------------
83 | |
84 | | You may specify multiple password reset configurations if you have more
85 | | than one user table or model in the application and you want to have
86 | | separate password reset settings based on the specific user types.
87 | |
88 | | The expire time is the number of minutes that the reset token should be
89 | | considered valid. This security feature keeps tokens short-lived so
90 | | they have less time to be guessed. You may change this as needed.
91 | |
92 | */
93 |
94 | 'passwords' => [
95 | 'users' => [
96 | 'provider' => 'users',
97 | 'table' => 'password_resets',
98 | 'expire' => 60,
99 | ],
100 | ],
101 |
102 | ];
103 |
--------------------------------------------------------------------------------
/public/img/logo-prismic.svg:
--------------------------------------------------------------------------------
1 |
2 |