Skip to content

Commit 58f22a3

Browse files
committed
initial release
0 parents  commit 58f22a3

File tree

7 files changed

+295
-0
lines changed

7 files changed

+295
-0
lines changed

.gitignore

Whitespace-only changes.

LICENSE

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
The MIT License (MIT)
2+
3+
Copyright (c) 2015 skydiver
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.
22+

README.md

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
# laravel-materialize-css
2+
Materialize CSS Framework for Laravel 5 [http://materializecss.com/]
3+
4+
5+
6+
## Installation
7+
8+
* Require this package in your composer.json and run composer update.
9+
```
10+
"mskydiver/laravel-materialize-css": "dev-master"
11+
```
12+
13+
* After updating composer, add the ServiceProvider to the providers array in config/app.php
14+
```php
15+
'Skydiver\LaravelMaterializeCSS\MaterializeCSSServiceProvider',
16+
```
17+
18+
* Then publish the package's assets to public folder:
19+
```
20+
$ php artisan vendor:publish --tag=materializecss --force
21+
```
22+
23+
24+
25+
## Updates
26+
You can re-publish the assets automatically when composer updated the package:
27+
28+
* In your composer.json, go to **scripts** > **post-update-cmd** section, add the next line:
29+
```
30+
"php artisan vendor:publish --tag=materializecss --force"
31+
```
32+
33+
* The code will look similar to:
34+
```
35+
"post-update-cmd": [
36+
"php artisan optimize",
37+
"php artisan vendor:publish --tag=materializecss --force"
38+
],
39+
```
40+
41+
42+
43+
## Usage
44+
45+
There are differents methods to include Materialize CSS assets:
46+
47+
* **include_full()**
48+
```php
49+
{!! MaterializeCSS::include_full() !!}
50+
```
51+
```html
52+
<link rel="stylesheet" href="http://yourdomain.com/materialize-css/css/materialize.min.css">
53+
<script src="//code.jquery.com/jquery-2.1.1.min.js"></script>
54+
<script src="http://yourdomain.com/materialize-css/js/materialize.min.js"></script>
55+
```
56+
57+
* **include_all()**
58+
```php
59+
{!! MaterializeCSS::include_all() !!}
60+
```
61+
```html
62+
<link rel="stylesheet" href="http://yourdomain.com/materialize-css/css/materialize.min.css">
63+
<script src="http://yourdomain.com/materialize-css/js/materialize.min.js"></script>
64+
```
65+
66+
* **include_css()**
67+
```php
68+
{!! MaterializeCSS::include_css() !!}
69+
```
70+
```html
71+
<link rel="stylesheet" href="http://yourdomain.com/materialize-css/css/materialize.min.css">
72+
```
73+
74+
* **include_js()**
75+
```php
76+
{!! MaterializeCSS::include_js() !!}
77+
```
78+
```html
79+
<script src="http://yourdomain.com/materialize-css/js/materialize.min.js"></script>
80+
```
81+
82+
* **include_secure_css()**
83+
```php
84+
{!! MaterializeCSS::include_secure_css() !!}
85+
```
86+
```html
87+
<link rel="stylesheet" href="https://yourdomain.com/materialize-css/css/materialize.min.css">
88+
```
89+
90+
* **include_secure_js()**
91+
```php
92+
{!! MaterializeCSS::include_secure_js() !!}
93+
```
94+
```html
95+
<script src="https://yourdomain.com/materialize-css/js/materialize.min.js"></script>
96+
```
97+
98+
* **get_url_css($full=false, $secure=false)**
99+
```php
100+
{!! MaterializeCSS::get_url_css() !!}
101+
{!! MaterializeCSS::get_url_css(true, false) !!}
102+
{!! MaterializeCSS::get_url_css(false, true) !!}
103+
{!! MaterializeCSS::get_url_css(true, true) !!}
104+
```
105+
```html
106+
/materialize-css/css/materialize.min.css
107+
http://yourdomain.com/materialize-css/css/materialize.min.css
108+
/materialize-css/css/materialize.min.css
109+
https://yourdomain.com/materialize-css/css/materialize.min.css
110+
```
111+
112+
* **get_url_js($full=false, $secure=false)**
113+
```php
114+
{!! MaterializeCSS::get_url_js() !!}
115+
{!! MaterializeCSS::get_url_js(true, false) !!}
116+
{!! MaterializeCSS::get_url_js(false, true) !!}
117+
{!! MaterializeCSS::get_url_js(true, true) !!}
118+
```
119+
```html
120+
/materialize-css/js/materialize.min.js
121+
http://yourdomain.com/materialize-css/js/materialize.min.js
122+
/materialize-css/js/materialize.min.js
123+
https://yourdomain.com/materialize-css/js/materialize.min.js
124+
```

composer.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"name": "skydiver/laravel-materialize-css",
3+
"description": "Add Materialize CSS Framework to Laravel",
4+
"keywords": ["Materialize", "CSS", "Material Design", "laravel", "CSS Framework"],
5+
"license": "MIT",
6+
"require": {
7+
"php": ">=5.4.0",
8+
"illuminate/support": "5.*"
9+
},
10+
"authors": [
11+
{
12+
"name": "Martin",
13+
"email": "martin@flydev.com"
14+
}
15+
],
16+
"autoload": {
17+
"psr-4": {
18+
"Skydiver\\LaravelMaterializeCSS\\": "src/"
19+
}
20+
},
21+
"minimum-stability": "dev"
22+
}

src/MaterializeCSSBuilder.php

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
<?php
2+
3+
namespace Skydiver\LaravelMaterializeCSS;
4+
5+
class MaterializeCSSBuilder {
6+
7+
private static $file_css = '/materialize-css/css/materialize.css';
8+
private static $file_css_min = '/materialize-css/css/materialize.min.css';
9+
private static $file_js = '/materialize-css/js/materialize.js';
10+
private static $file_js_min = '/materialize-css/js/materialize.min.js';
11+
private static $file_jquery = 'jquery-2.1.1.min.js';
12+
13+
14+
public static function include_full() {
15+
$return = self::include_css();
16+
$return .= self::tag_js('//code.jquery.com/'.self::$file_jquery);
17+
$return .= self::include_js();
18+
return $return;
19+
}
20+
21+
public static function include_all() {
22+
$return = self::include_css();
23+
$return .= self::include_js();
24+
return $return;
25+
}
26+
27+
public static function include_css() {
28+
return self::tag_css(asset(self::$file_css_min));
29+
}
30+
31+
public static function include_js() {
32+
return self::tag_js(asset(self::$file_js_min));
33+
}
34+
35+
public static function include_secure_css() {
36+
return self::tag_css(secure_asset(self::$file_css_min));
37+
}
38+
39+
public static function include_secure_js() {
40+
return self::tag_js(secure_asset(self::$file_js_min));
41+
}
42+
43+
public static function get_url_css($full=false, $secure=false) {
44+
if($full == true && $secure == true) {
45+
return secure_asset(self::$file_css_min);
46+
}
47+
if($full == true && $secure == false) {
48+
return asset(self::$file_css_min);
49+
}
50+
return self::$file_css_min;
51+
}
52+
53+
public static function get_url_js($full=false, $secure=false) {
54+
if($full == true && $secure == true) {
55+
return secure_asset(self::$file_js_min);
56+
}
57+
if($full == true && $secure == false) {
58+
return asset(self::$file_js_min);
59+
}
60+
return self::$file_js_min;
61+
}
62+
63+
private static function tag_css($path) {
64+
return '<link rel="stylesheet" href="'.$path.'">';
65+
}
66+
67+
private static function tag_js($path) {
68+
return '<script src="'.$path.'"></script>';
69+
}
70+
71+
72+
73+
74+
75+
76+
77+
78+
79+
80+
81+
}
82+
83+
?>

src/MaterializeCSSFacade.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
namespace Skydiver\LaravelMaterializeCSS;
4+
5+
use Illuminate\Support\Facades\Facade;
6+
7+
class MaterializeCSSFacade extends Facade {
8+
9+
protected static function getFacadeAccessor() { return 'materialize-css'; }
10+
11+
}
12+
13+
?>

src/MaterializeCSSServiceProvider.php

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?php
2+
3+
namespace Skydiver\LaravelMaterializeCSS;
4+
5+
use Illuminate\Support\ServiceProvider;
6+
7+
class MaterializeCSSServiceProvider extends ServiceProvider {
8+
9+
protected $defer = true;
10+
11+
public function register() {
12+
$this->publishes([
13+
__DIR__.'/../assets' => public_path('materialize-css'),
14+
], 'materializecss');
15+
$this->registerMaterializeCSSBuilder();
16+
$this->app->alias('materialize-css', 'Skydiver\LaravelMaterializeCSS\MaterializeCSSBuilder');
17+
}
18+
19+
protected function registerMaterializeCSSBuilder() {
20+
$this->app->bindShared('materialize-css', function($app) {
21+
return new MaterializeCSSBuilder($app['url']);
22+
});
23+
}
24+
25+
public function provides() {
26+
return array('materialize-css');
27+
}
28+
29+
}
30+
31+
?>

0 commit comments

Comments
 (0)