Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/davide-casiraghi/laravel-smart-blog

A smart blog multi language package for Laravel.
https://github.com/davide-casiraghi/laravel-smart-blog

blog larave laravel-5-package php

Last synced: 14 days ago
JSON representation

A smart blog multi language package for Laravel.

Awesome Lists containing this project

README

        

# Laravel Smart Blog

[![Latest Version on Packagist](https://img.shields.io/packagist/v/davide-casiraghi/laravel-smart-blog.svg?style=flat-square)](https://packagist.org/packages/davide-casiraghi/laravel-smart-blog)
[![Build Status](https://img.shields.io/travis/davide-casiraghi/laravel-smart-blog/master.svg?style=flat-square)](https://travis-ci.org/davide-casiraghi/laravel-smart-blog)
[![Quality Score](https://img.shields.io/scrutinizer/g/davide-casiraghi/laravel-smart-blog.svg?style=flat-square)](https://scrutinizer-ci.com/g/davide-casiraghi/laravel-smart-blog)
[![Coverage Status](https://scrutinizer-ci.com/g/davide-casiraghi/laravel-smart-blog/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/davide-casiraghi/laravel-smart-blog/)

[![GitHub last commit](https://img.shields.io/github/last-commit/davide-casiraghi/laravel-smart-blog.svg)](https://github.com/davide-casiraghi/laravel-smart-blog)

A multi language blog package for Laravel.

## Installation

You can install the package via composer:

```bash
composer require davide-casiraghi/laravel-smart-blog
```
Then install Bricklayer.js trough npm
```bash
npm install bricklayer
```
## Authorization
> To work the package aspect that in your user model and table you have a field called **group** that can have this possible values:
- null: Registered user
- 1: Super Admin
- 2: Admin

> Just the users that have **Admin** and **Super admin** privileges can access to the routes that allow to create, edit and delete the blogs, categories and posts. Otherwise you get redirected to the homepage.

## Load the CSS and JS files

### With Laravel

#### Publish the JS, CSS and IMAGES
It's possible to customize the scss and the js publishing them in your Laravel application.

```php artisan vendor:publish```

This command will publish in your application this folders:
- /resources/scss/vendor/laravel-smart-blog/
- /resources/js/vendor/laravel-smart-blog/

In this way it's possible for you to customize them.

#### Run the migration

```php artisan migrate ```

To create the gallery_images table in your database.

#### Load the JS file

Run in the command line:
```npm i prismjs```

In the **resources/js/app.js** file of your application require the **Bricklayer** and **bricklayerBlogLayout.js** files before the Vue object get instanciated:

```
require('./bootstrap');
window.Vue = require('vue');

window.Bricklayer = require('bricklayer');
require('./vendor/laravel-smart-blog/bricklayerBlogLayout');

window.myApp = new Vue({
el: '#app'
});

import 'prismjs';
```

In the **resources/sass/app.scss** file of your application import the scss
```
@import 'vendor/laravel-smart-blog/bricklayerBlogLayout';
```

Then you can run Laravel Mix
```
npm run dev
```

## Usage
After the package is published it adds three new routes:
- /blogs
- /categories
- /posts

Accessing to this routes you can create new blogs, categories and posts and access to them.

### Testing

You can run unit tests checking the code coverage using this command.

``` bash
./vendor/bin/phpunit --coverage-html=html
```

### Changelog

Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.

## Contributing

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

### Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

## Credits

- [Davide Casiraghi](https://github.com/davide-casiraghi)
- [All Contributors](../../contributors)

## License

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

## Laravel Package Boilerplate

This package was generated using the [Laravel Package Boilerplate](https://laravelpackageboilerplate.com).