Skip to content

A powerful open source Laravel Blog with WYSWYG and CRUD (Create Read Update Delete) built on Laravel 5.8 and Bootstrap 4

License

Notifications You must be signed in to change notification settings

jeremykenedy/larablog

Repository files navigation

Larablog

A powerful open source Laravel Blog with WYSWYG and CRUD (Create Read Update Delete) built on Laravel 5.8 and Bootstrap 4

Build Status StyleCI Scrutinizer Code Quality Code Intelligence Status License: MIT

Table of contents

Features

Larablog Features
Built on Laravel 5.8
Built on Bootstrap 4
Front End Built on Start Bootstrap - Clean Blog
Admin Built on Paper Dashboard 2
Uses MySQL Database (can be changed)
Uses Artisan to manage database migration, schema creations, and create/publish page controller templates
Dependencies are managed with COMPOSER
Laravel Scaffolding User and Administrator Authentication.
CRUD (Create, Read, Update, Delete) User Management with Laravel Users Package
CRUD (Create, Read, Update, Delete) Blog Posts
CRUD (Create, Read, Update, Delete) Tags
Built in CKEditor WYSWYG Editor
Google reCaptcha Protection with Google API
Robust File Manager using UniSharp Laravel File Manager Package
Makes us of Laravel Mix to compile assets
Makes use of Language Localization Files
Active Nav states using Laravel Requests
User Roles/ACL Implementation
Admin PHP Information UI using Laravel PHP Info Package
Activity Logging using Laravel-logger
Uses Laravel built in mail services
Automatic sitemap generation with Spatie Laravel Sitemap Package
Automatic RSS Feed generation with Spatie Laravel Feed Package
Uses Laravel Debugbar Package for local debugging
Generate sitemap through the admin panel or the CLI with Artisan.
Front-end bootstrap themes with admin management panel

Installation Instructions

  1. Run git clone https://github.com/jeremykenedy/larablog.git larablog
  2. Create a MySQL database for the project
    • mysql -u root -p, if using Vagrant: mysql -u homestead -psecret
    • create database larablog;
    • \q
  3. From the projects root run cp .env.example .env
  4. Configure your .env file
  5. Run composer install from the projects root folder
  6. From the projects root folder run:
php artisan vendor:publish --tag=laravelroles
  1. From the projects root folder run php artisan key:generate
  2. From the projects root folder run php artisan migrate
  3. From the projects root folder run composer dump-autoload
  4. From the projects root folder run php artisan db:seed
  5. Compile the front end assets with npm steps or yarn steps.

Build the Front End Assets with Mix

Using NPM:
  1. From the projects root folder run npm install
  2. From the projects root folder run npm run dev or npm run production
  • You can watch assets with npm run watch
Using Yarn:
  1. From the projects root folder run yarn install
  2. From the projects root folder run yarn run dev or yarn run production
  • You can watch assets with yarn run watch
And thats it with the caveat of setting up and configuring your development environment. I recommend Laravel Homestead

Seeds

Seeded Roles
Role Level
Unverified Level 0
User Level 1
Writer Level 2
Moderator Level 3
Admin Level 4
Super Admin Level 5
Seeded Permissions
  • view.users
  • create.users
  • edit.users
  • delete.users
  • perms.super-admin
  • perms.admin
  • perms.moderator
  • perms.writer
  • perms.user
Seeded Users
Email Password Access
[email protected] password Super Admin Access
  • Controlled by the .env file.
Themes Seed List

Commands

Generate Site Map

  • You can generate a XML sitemap which is located at /sitemap.xml with the following Artisan Command:

php artisan sitemap:generate or php artisan sitemap:generate {limit}

{limit} is the number of pages that the sitemap generator will limit to generating.

  • The sitemaps default number of pages is controlled by the .env variable BLOG_SITEMAP_LIMIT

Configs

Config File

Here is a list of the custom config files that have been added or modified to the project:

Env Variables

Here is a list of the additonal added .env variables:

INITIAL_SEEDED_SUPER_ADMIN_USERNAME='Admin'
INITIAL_SEEDED_SUPER_ADMIN_USEREMAIL='[email protected]'
INITIAL_SEEDED_SUPER_ADMIN_USERPASSWORD='password'

BLOG_APP_NAME="${APP_NAME}"
BLOG_DEFAULT_TITLE='Lara(b)log2'
BLOG_DEFAULT_SUBTITLE='An open source blog platform'
BLOG_DEFAULT_DESCRIPTION='Larablog 2 is an open source blog built on Laravel'
BLOG_DEFAULT_AUTHOR='Jeremy Kenedy'
BLOG_SITEMAP_LIMIT=100

BLOG_DEFAULT_IMAGE=
BLOG_HOME_IMAGE=
BLOG_AUTHORS_IMAGE=
BLOG_AUTHOR_IMAGE=
BLOG_CONTACT_IMAGE=

BLOG_SM_URL_TWITTER=
BLOG_SM_URL_FACEBOOK=
BLOG_SM_URL_LINKEDIN=
BLOG_SM_URL_GOOGLEPLUS=
BLOG_SM_URL_GITHUB=

BLOG_DISQUSSHORTNAME=null
BLOG_GOOGLEANALYTICSID=null

BLOG_RSS_FEED_URL='/blog.rss'
BLOG_RSS_FEED_TITLE='My Blog feed'

BLOG_DEFAULT_PAGES_PER_PAGE=10
BLOG_DEFAULT_REVERSE_PAGINATION_DIRECTION=false
BLOG_DEFAULT_CONTACT_EMAIL=null
BLOG_UPLOADS_ENVIRONMENT=null
BLOG_UPLOADS_WEBPATH=null

ADMIN_DEFAULT_PAGES_PER_PAGE=100

LARAVEL_LOGGER_ROLES_MIDDLWARE=permission:perms.super.admin
LARAVEL_LOGGER_MIDDLEWARE_ENABLED=true
LARAVEL_LOGGER_USER_MODEL=App\Models\User
LARAVEL_LOGGER_LAYOUT=layouts.admin

# https://www.google.com/recaptcha/admin#list
ENABLE_RECAPTCHA=false
RECAPTCHA_SITE=YOURGOOGLECAPTCHAsitekeyHERE
RECAPTCHA_SECRET=YOURGOOGLECAPTCHAsecretHERE
RECAPTCHA_CDN=https://www.google.com/recaptcha/api.js

Language Files

Routes

+--------+----------------------------------------+---------------------------------------------------+------------------------------+---------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
| Domain | Method                                 | URI                                               | Name                         | Action                                                                                            | Middleware                                                                                                               |
+--------+----------------------------------------+---------------------------------------------------+------------------------------+---------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
|        | GET|HEAD                               | /                                                 | home                         | App\Http\Controllers\BlogController@index                                                         | web,activity                                                                                                             |
|        | GET|HEAD                               | _debugbar/assets/javascript                       | debugbar.assets.js           | Barryvdh\Debugbar\Controllers\AssetController@js                                                  | Barryvdh\Debugbar\Middleware\DebugbarEnabled                                                                             |
|        | GET|HEAD                               | _debugbar/assets/stylesheets                      | debugbar.assets.css          | Barryvdh\Debugbar\Controllers\AssetController@css                                                 | Barryvdh\Debugbar\Middleware\DebugbarEnabled                                                                             |
|        | DELETE                                 | _debugbar/cache/{key}/{tags?}                     | debugbar.cache.delete        | Barryvdh\Debugbar\Controllers\CacheController@delete                                              | Barryvdh\Debugbar\Middleware\DebugbarEnabled                                                                             |
|        | GET|HEAD                               | _debugbar/clockwork/{id}                          | debugbar.clockwork           | Barryvdh\Debugbar\Controllers\OpenHandlerController@clockwork                                     | Barryvdh\Debugbar\Middleware\DebugbarEnabled                                                                             |
|        | GET|HEAD                               | _debugbar/open                                    | debugbar.openhandler         | Barryvdh\Debugbar\Controllers\OpenHandlerController@handle                                        | Barryvdh\Debugbar\Middleware\DebugbarEnabled                                                                             |
|        | GET|HEAD                               | activity                                          | activity                     | jeremykenedy\LaravelLogger\App\Http\Controllers\LaravelLoggerController@showAccessLog             | web,auth,activity                                                                                                        |
|        | DELETE                                 | activity/clear-activity                           | clear-activity               | jeremykenedy\LaravelLogger\App\Http\Controllers\LaravelLoggerController@clearActivityLog          | web,auth,activity                                                                                                        |
|        | GET|HEAD                               | activity/cleared                                  | cleared                      | jeremykenedy\LaravelLogger\App\Http\Controllers\LaravelLoggerController@showClearedActivityLog    | web,auth,activity                                                                                                        |
|        | GET|HEAD                               | activity/cleared/log/{id}                         |                              | jeremykenedy\LaravelLogger\App\Http\Controllers\LaravelLoggerController@showClearedAccessLogEntry | web,auth,activity                                                                                                        |
|        | DELETE                                 | activity/destroy-activity                         | destroy-activity             | jeremykenedy\LaravelLogger\App\Http\Controllers\LaravelLoggerController@destroyActivityLog        | web,auth,activity                                                                                                        |
|        | GET|HEAD                               | activity/log/{id}                                 |                              | jeremykenedy\LaravelLogger\App\Http\Controllers\LaravelLoggerController@showAccessLogEntry        | web,auth,activity                                                                                                        |
|        | POST                                   | activity/restore-log                              | restore-activity             | jeremykenedy\LaravelLogger\App\Http\Controllers\LaravelLoggerController@restoreClearedActivityLog | web,auth,activity                                                                                                        |
|        | GET|HEAD                               | admin                                             | admin                        | App\Http\Controllers\Admin\AdminController@index                                                  | web,auth,permission:perms.user,activity                                                                                  |
|        | GET|HEAD                               | admin/filemanager                                 | unisharp.lfm.show            | UniSharp\LaravelFilemanager\Controllers\LfmController@show                                        | web,auth,\UniSharp\LaravelFilemanager\Middlewares\MultiUser,\UniSharp\LaravelFilemanager\Middlewares\CreateDefaultFolder |
|        | GET|HEAD                               | admin/filemanager/crop                            | unisharp.lfm.getCrop         | UniSharp\LaravelFilemanager\Controllers\CropController@getCrop                                    | web,auth,\UniSharp\LaravelFilemanager\Middlewares\MultiUser,\UniSharp\LaravelFilemanager\Middlewares\CreateDefaultFolder |
|        | GET|HEAD                               | admin/filemanager/cropimage                       | unisharp.lfm.getCropimage    | UniSharp\LaravelFilemanager\Controllers\CropController@getCropimage                               | web,auth,\UniSharp\LaravelFilemanager\Middlewares\MultiUser,\UniSharp\LaravelFilemanager\Middlewares\CreateDefaultFolder |
|        | GET|HEAD                               | admin/filemanager/cropnewimage                    | unisharp.lfm.getCropimage    | UniSharp\LaravelFilemanager\Controllers\CropController@getNewCropimage                            | web,auth,\UniSharp\LaravelFilemanager\Middlewares\MultiUser,\UniSharp\LaravelFilemanager\Middlewares\CreateDefaultFolder |
|        | GET|HEAD                               | admin/filemanager/delete                          | unisharp.lfm.getDelete       | UniSharp\LaravelFilemanager\Controllers\DeleteController@getDelete                                | web,auth,\UniSharp\LaravelFilemanager\Middlewares\MultiUser,\UniSharp\LaravelFilemanager\Middlewares\CreateDefaultFolder |
|        | GET|HEAD                               | admin/filemanager/deletefolder                    | unisharp.lfm.getDeletefolder | UniSharp\LaravelFilemanager\Controllers\FolderController@getDeletefolder                          | web,auth,\UniSharp\LaravelFilemanager\Middlewares\MultiUser,\UniSharp\LaravelFilemanager\Middlewares\CreateDefaultFolder |
|        | GET|HEAD                               | admin/filemanager/doresize                        | unisharp.lfm.performResize   | UniSharp\LaravelFilemanager\Controllers\ResizeController@performResize                            | web,auth,\UniSharp\LaravelFilemanager\Middlewares\MultiUser,\UniSharp\LaravelFilemanager\Middlewares\CreateDefaultFolder |
|        | GET|HEAD                               | admin/filemanager/download                        | unisharp.lfm.getDownload     | UniSharp\LaravelFilemanager\Controllers\DownloadController@getDownload                            | web,auth,\UniSharp\LaravelFilemanager\Middlewares\MultiUser,\UniSharp\LaravelFilemanager\Middlewares\CreateDefaultFolder |
|        | GET|HEAD                               | admin/filemanager/errors                          | unisharp.lfm.getErrors       | UniSharp\LaravelFilemanager\Controllers\LfmController@getErrors                                   | web,auth,\UniSharp\LaravelFilemanager\Middlewares\MultiUser,\UniSharp\LaravelFilemanager\Middlewares\CreateDefaultFolder |
|        | GET|HEAD                               | admin/filemanager/files/{base_path}/{file_name}   | unisharp.lfm.                | UniSharp\LaravelFilemanager\Controllers\RedirectController@getFile                                |                                                                                                                          |
|        | GET|HEAD                               | admin/filemanager/folders                         | unisharp.lfm.getFolders      | UniSharp\LaravelFilemanager\Controllers\FolderController@getFolders                               | web,auth,\UniSharp\LaravelFilemanager\Middlewares\MultiUser,\UniSharp\LaravelFilemanager\Middlewares\CreateDefaultFolder |
|        | GET|HEAD                               | admin/filemanager/jsonitems                       | unisharp.lfm.getItems        | UniSharp\LaravelFilemanager\Controllers\ItemsController@getItems                                  | web,auth,\UniSharp\LaravelFilemanager\Middlewares\MultiUser,\UniSharp\LaravelFilemanager\Middlewares\CreateDefaultFolder |
|        | GET|HEAD                               | admin/filemanager/newfolder                       | unisharp.lfm.getAddfolder    | UniSharp\LaravelFilemanager\Controllers\FolderController@getAddfolder                             | web,auth,\UniSharp\LaravelFilemanager\Middlewares\MultiUser,\UniSharp\LaravelFilemanager\Middlewares\CreateDefaultFolder |
|        | GET|HEAD                               | admin/filemanager/photos/{base_path}/{image_name} | unisharp.lfm.                | UniSharp\LaravelFilemanager\Controllers\RedirectController@getImage                               |                                                                                                                          |
|        | GET|HEAD                               | admin/filemanager/rename                          | unisharp.lfm.getRename       | UniSharp\LaravelFilemanager\Controllers\RenameController@getRename                                | web,auth,\UniSharp\LaravelFilemanager\Middlewares\MultiUser,\UniSharp\LaravelFilemanager\Middlewares\CreateDefaultFolder |
|        | GET|HEAD                               | admin/filemanager/resize                          | unisharp.lfm.getResize       | UniSharp\LaravelFilemanager\Controllers\ResizeController@getResize                                | web,auth,\UniSharp\LaravelFilemanager\Middlewares\MultiUser,\UniSharp\LaravelFilemanager\Middlewares\CreateDefaultFolder |
|        | GET|HEAD|POST|PUT|PATCH|DELETE|OPTIONS | admin/filemanager/upload                          | unisharp.lfm.upload          | UniSharp\LaravelFilemanager\Controllers\UploadController@upload                                   | web,auth,\UniSharp\LaravelFilemanager\Middlewares\MultiUser,\UniSharp\LaravelFilemanager\Middlewares\CreateDefaultFolder |
|        | POST                                   | admin/generate-sitemap                            | generate-sitemap             | App\Http\Controllers\Admin\AdminController@generateSitemap                                        | web,auth,permission:perms.user,activity                                                                                  |
|        | GET|HEAD                               | admin/posts                                       | admin.posts                  | App\Http\Controllers\Admin\PostController@index                                                   | web,auth,permission:perms.writer,activity                                                                                |
|        | POST                                   | admin/posts                                       | storepost                    | App\Http\Controllers\Admin\PostController@store                                                   | web,auth,permission:perms.writer,activity                                                                                |
|        | GET|HEAD                               | admin/posts/create                                | posts.create                 | App\Http\Controllers\Admin\PostController@create                                                  | web,auth,permission:perms.writer,activity                                                                                |
|        | DELETE                                 | admin/posts/{post}                                | destroypost                  | App\Http\Controllers\Admin\PostController@destroy                                                 | web,auth,permission:perms.writer,activity                                                                                |
|        | PUT|PATCH                              | admin/posts/{post}                                | updatepost                   | App\Http\Controllers\Admin\PostController@update                                                  | web,auth,permission:perms.writer,activity                                                                                |
|        | GET|HEAD                               | admin/posts/{post}/edit                           | editpost                     | App\Http\Controllers\Admin\PostController@edit                                                    | web,auth,permission:perms.writer,activity                                                                                |
|        | GET|HEAD                               | admin/sitemap                                     | sitemap-admin                | App\Http\Controllers\Admin\AdminController@sitemap                                                | web,auth,permission:perms.user,activity                                                                                  |
|        | POST                                   | admin/tags                                        | storetag                     | App\Http\Controllers\Admin\TagController@store                                                    | web,auth,permission:perms.writer,activity                                                                                |
|        | GET|HEAD                               | admin/tags                                        | showtags                     | App\Http\Controllers\Admin\TagController@index                                                    | web,auth,permission:perms.writer,activity                                                                                |
|        | GET|HEAD                               | admin/tags/create                                 | createtag                    | App\Http\Controllers\Admin\TagController@create                                                   | web,auth,permission:perms.writer,activity                                                                                |
|        | PUT|PATCH                              | admin/tags/{tag}                                  | updatetag                    | App\Http\Controllers\Admin\TagController@update                                                   | web,auth,permission:perms.writer,activity                                                                                |
|        | DELETE                                 | admin/tags/{tag}                                  | destroytag                   | App\Http\Controllers\Admin\TagController@destroy                                                  | web,auth,permission:perms.writer,activity                                                                                |
|        | GET|HEAD                               | admin/tags/{tag}/edit                             | edittag                      | App\Http\Controllers\Admin\TagController@edit                                                     | web,auth,permission:perms.writer,activity                                                                                |
|        | GET|HEAD                               | admin/themes                                      | themes                       | App\Http\Controllers\Admin\ThemesManagementController@index                                       | web,auth,permission:perms.writer,activity                                                                                |
|        | POST                                   | admin/themes                                      | storetheme                   | App\Http\Controllers\Admin\ThemesManagementController@store                                       | web,auth,permission:perms.writer,activity                                                                                |
|        | GET|HEAD                               | admin/themes/create                               | createtheme                  | App\Http\Controllers\Admin\ThemesManagementController@create                                      | web,auth,permission:perms.writer,activity                                                                                |
|        | PUT|PATCH                              | admin/themes/{theme}                              | updatetheme                  | App\Http\Controllers\Admin\ThemesManagementController@update                                      | web,auth,permission:perms.writer,activity                                                                                |
|        | DELETE                                 | admin/themes/{theme}                              | destroytheme                 | App\Http\Controllers\Admin\ThemesManagementController@destroy                                     | web,auth,permission:perms.writer,activity                                                                                |
|        | GET|HEAD                               | admin/themes/{theme}                              | showtheme                    | App\Http\Controllers\Admin\ThemesManagementController@show                                        | web,auth,permission:perms.writer,activity                                                                                |
|        | GET|HEAD                               | admin/themes/{theme}/edit                         | edittheme                    | App\Http\Controllers\Admin\ThemesManagementController@edit                                        | web,auth,permission:perms.writer,activity                                                                                |
|        | POST                                   | admin/update-blog-theme                           | update-blog-theme            | App\Http\Controllers\Admin\ThemesManagementController@updateDefaultTheme                          | web,auth,permission:perms.writer,activity                                                                                |
|        | GET|HEAD                               | admin/uploads                                     | admin-uploads                | App\Http\Controllers\Admin\AdminController@uploads                                                | web,auth,permission:perms.writer,activity                                                                                |
|        | GET|HEAD                               | api                                               | api                          | App\Http\Controllers\Api\BlogController@index                                                     | api                                                                                                                      |
|        | GET|HEAD                               | api/posts                                         | api-posts                    | App\Http\Controllers\Api\BlogController@posts                                                     | api                                                                                                                      |
|        | GET|HEAD                               | api/posts/all                                     | api-all-posts                | App\Http\Controllers\Api\BlogController@allPosts                                                  | api                                                                                                                      |
|        | GET|HEAD                               | api/posts/author/{author}                         | api-posts-by-author          | App\Http\Controllers\Api\BlogController@getPostsByAuthor                                          | api                                                                                                                      |
|        | GET|HEAD                               | api/posts/authors                                 | api-posts-authors            | App\Http\Controllers\Api\BlogController@getPostsAuthors                                           | api                                                                                                                      |
|        | GET|HEAD                               | api/posts/latest                                  | api-latest-post              | App\Http\Controllers\Api\BlogController@latestPost                                                | api                                                                                                                      |
|        | GET|HEAD                               | author/{author}                                   | author                       | App\Http\Controllers\BlogController@author                                                        | web,activity                                                                                                             |
|        | GET|HEAD                               | authors                                           | authors                      | App\Http\Controllers\BlogController@authors                                                       | web,activity                                                                                                             |
|        | GET|HEAD                               | blog.rss                                          | feeds.blog                   | Spatie\Feed\Http\FeedController                                                                   | web,activity                                                                                                             |
|        | POST                                   | contact                                           | contactSend                  | App\Http\Controllers\ContactController@contactSend                                                | web,activity                                                                                                             |
|        | GET|HEAD                               | contact                                           | contact                      | App\Http\Controllers\ContactController@index                                                      | web,activity                                                                                                             |
|        | POST                                   | login                                             |                              | App\Http\Controllers\Auth\LoginController@login                                                   | web,activity,guest                                                                                                       |
|        | GET|HEAD                               | login                                             | login                        | App\Http\Controllers\Auth\LoginController@showLoginForm                                           | web,activity,guest                                                                                                       |
|        | POST                                   | logout                                            | logout                       | App\Http\Controllers\Auth\LoginController@logout                                                  | web,activity                                                                                                             |
|        | POST                                   | password/email                                    | password.email               | App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail                             | web,activity,guest                                                                                                       |
|        | POST                                   | password/reset                                    | password.update              | App\Http\Controllers\Auth\ResetPasswordController@reset                                           | web,activity,guest                                                                                                       |
|        | GET|HEAD                               | password/reset                                    | password.request             | App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm                            | web,activity,guest                                                                                                       |
|        | GET|HEAD                               | password/reset/{token}                            | password.reset               | App\Http\Controllers\Auth\ResetPasswordController@showResetForm                                   | web,activity,guest                                                                                                       |
|        | GET|HEAD                               | phpinfo                                           | laravelPhpInfo::phpinfo      | jeremykenedy\LaravelPhpInfo\App\Http\Controllers\LaravelPhpInfoController@phpinfo                 | web,auth,permission:perms.super.admin                                                                                    |
|        | GET|HEAD                               | register                                          | register                     | App\Http\Controllers\Auth\RegisterController@showRegistrationForm                                 | web,activity,guest                                                                                                       |
|        | POST                                   | register                                          |                              | App\Http\Controllers\Auth\RegisterController@register                                             | web,activity,guest                                                                                                       |
|        | POST                                   | search-users                                      | search-users                 | jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@search                   | web,auth,permission:perms.super.admin                                                                                    |
|        | POST                                   | users                                             | users.store                  | jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@store                    | web,auth,permission:perms.super.admin                                                                                    |
|        | GET|HEAD                               | users                                             | users                        | jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@index                    | web,auth,permission:perms.super.admin                                                                                    |
|        | GET|HEAD                               | users/create                                      | users.create                 | jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@create                   | web,auth,permission:perms.super.admin                                                                                    |
|        | DELETE                                 | users/{user}                                      | user.destroy                 | jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@destroy                  | web,auth,permission:perms.super.admin                                                                                    |
|        | PUT|PATCH                              | users/{user}                                      | users.update                 | jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@update                   | web,auth,permission:perms.super.admin                                                                                    |
|        | GET|HEAD                               | users/{user}                                      | users.show                   | jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@show                     | web,auth,permission:perms.super.admin                                                                                    |
|        | GET|HEAD                               | users/{user}/edit                                 | users.edit                   | jeremykenedy\laravelusers\app\Http\Controllers\UsersManagementController@edit                     | web,auth,permission:perms.super.admin                                                                                    |
|        | GET|HEAD                               | {slug}                                            |                              | App\Http\Controllers\BlogController@showPost                                                      | web,activity                                                                                                             |
+--------+----------------------------------------+---------------------------------------------------+------------------------------+---------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+

Screenshots

LaraBlog LaraBlog Post LaraBlog Post Comments LaraBlog Tags LaraBlog Author LaraBlog Authors LaraBlog Contact LaraBlog Admin Dashboard LaraBlog Admin Posts LaraBlog Admin Post Create LaraBlog Admin Post Edit LaraBlog Admin Tags LaraBlog Admin Tag Edit LaraBlog Admin Files LaraBlog Admin File Manager Pop Up LaraBlog Admin Upload LaraBlog Admin Users LaraBlog Admin User LaraBlog Admin User Edit LaraBlog Admin Sitemap LaraBlog Admin PHP Info LaraBlog Admin Activity LaraBlog Admin Themes LaraBlog Admin Theme Edit LaraBlog Admin Theme Add LaraBlog Admin Theme Example

File Tree

Larablog
├── .editorconfig
├── .env.example
├── .env.travis
├── .gitattributes
├── .gitignore
├── .travis.yml
├── LICENSE
├── README.md
├── app
│   ├── Console
│   │   ├── Commands
│   │   │   └── GenerateSitemap.php
│   │   └── Kernel.php
│   ├── Exceptions
│   │   └── Handler.php
│   ├── Handlers
│   │   └── LfmConfigHandler.php
│   ├── Http
│   │   ├── Controllers
│   │   │   ├── Admin
│   │   │   │   ├── AdminController.php
│   │   │   │   ├── PostController.php
│   │   │   │   ├── TagController.php
│   │   │   │   └── ThemesManagementController.php
│   │   │   ├── Api
│   │   │   │   └── BlogController.php
│   │   │   ├── Auth
│   │   │   │   ├── ForgotPasswordController.php
│   │   │   │   ├── LoginController.php
│   │   │   │   ├── RegisterController.php
│   │   │   │   ├── ResetPasswordController.php
│   │   │   │   └── VerificationController.php
│   │   │   ├── BlogController.php
│   │   │   ├── ContactController.php
│   │   │   ├── Controller.php
│   │   │   └── HomeController.php
│   │   ├── Kernel.php
│   │   ├── Middleware
│   │   │   ├── Authenticate.php
│   │   │   ├── CheckForMaintenanceMode.php
│   │   │   ├── EncryptCookies.php
│   │   │   ├── RedirectIfAuthenticated.php
│   │   │   ├── TrimStrings.php
│   │   │   ├── TrustProxies.php
│   │   │   └── VerifyCsrfToken.php
│   │   ├── Requests
│   │   │   ├── ContactRequest.php
│   │   │   ├── DeleteThemeRequest.php
│   │   │   ├── DestroyPostRequest.php
│   │   │   ├── DestroyTagRequest.php
│   │   │   ├── GenerateSitemapRequest.php
│   │   │   ├── StorePostRequest.php
│   │   │   ├── StoreTagRequest.php
│   │   │   ├── StoreThemeRequest.php
│   │   │   ├── ThemeRequest.php
│   │   │   ├── UpdatePostRequest.php
│   │   │   ├── UpdateTagRequest.php
│   │   │   └── UpdateThemeRequest.php
│   │   └── ViewComposers
│   │       └── BlogSettingsComposer.php
│   ├── Logic
│   │   └── helpers.php
│   ├── Mail
│   │   └── ContactMail.php
│   ├── Models
│   │   ├── BlogSetting.php
│   │   ├── Post.php
│   │   ├── Tag.php
│   │   ├── Theme.php
│   │   └── User.php
│   ├── Providers
│   │   ├── AppServiceProvider.php
│   │   ├── AuthServiceProvider.php
│   │   ├── BroadcastServiceProvider.php
│   │   ├── ComposerServiceProvider.php
│   │   ├── EventServiceProvider.php
│   │   └── RouteServiceProvider.php
│   ├── Services
│   │   ├── BlogThemeServices.php
│   │   ├── Markdowner.php
│   │   ├── PostAuthors.php
│   │   ├── PostFormFields.php
│   │   ├── PostProcesses.php
│   │   ├── PostTemplates.php
│   │   ├── SitemapCrawlProfile.php
│   │   └── TagFormFields.php
│   └── Traits
│       └── CaptchaTrait.php
├── artisan
├── bootstrap
│   ├── app.php
│   └── cache
│       ├── .gitignore
│       ├── packages.php
│       └── services.php
├── composer.json
├── composer.lock
├── config
│   ├── admin.php
│   ├── app.php
│   ├── auth.php
│   ├── blog.php
│   ├── broadcasting.php
│   ├── cache.php
│   ├── database.php
│   ├── debug-server.php
│   ├── debugbar.php
│   ├── feed.php
│   ├── filesystems.php
│   ├── hashing.php
│   ├── image.php
│   ├── laravel-logger.php
│   ├── laravelPhpInfo.php
│   ├── laravelusers.php
│   ├── lfm.php
│   ├── logging.php
│   ├── mail.php
│   ├── queue.php
│   ├── roles.php
│   ├── services.php
│   ├── session.php
│   ├── sitemap.php
│   ├── superadmin.php
│   ├── tinker.php
│   ├── trustedproxy.php
│   └── view.php
├── database
│   ├── .gitignore
│   ├── factories
│   │   ├── PostFactory.php
│   │   ├── TagFactory.php
│   │   └── UserFactory.php
│   ├── migrations
│   │   ├── 2014_10_12_000000_create_users_table.php
│   │   ├── 2014_10_12_100000_create_password_resets_table.php
│   │   ├── 2016_01_15_105324_create_roles_table.php
│   │   ├── 2016_01_15_114412_create_role_user_table.php
│   │   ├── 2016_01_26_115212_create_permissions_table.php
│   │   ├── 2016_01_26_115523_create_permission_role_table.php
│   │   ├── 2016_02_09_132439_create_permission_user_table.php
│   │   ├── 2018_10_10_070913_create_posts_table.php
│   │   ├── 2018_10_10_070928_create_tags_table.php
│   │   ├── 2018_10_10_070949_create_post_tag_pivot_table.php
│   │   ├── 2018_10_28_070857_create_themes_table.php
│   │   └── 2018_10_29_042545_create_blog_settings_table.php
│   └── seeds
│       ├── BlogSettingsTableSeeder.php
│       ├── ConnectRelationshipsSeeder.php
│       ├── DatabaseSeeder.php
│       ├── PermissionsTableSeeder.php
│       ├── PostTableSeeder.php
│       ├── RolesTableSeeder.php
│       ├── TagTableSeeder.php
│       ├── ThemesTableSeeder.php
│       └── UsersTableSeeder.php
├── package.json
├── phpunit.xml
├── public
│   ├── .htaccess
│   ├── css
│   │   ├── admin.css
│   │   ├── app.css
│   │   └── bs3-modals.css
│   ├── favicon.ico
│   ├── fonts
│   │   ├── font-awesome
│   │   │   ├── fa-brands-400.eot
│   │   │   ├── fa-brands-400.svg
│   │   │   ├── fa-brands-400.ttf
│   │   │   ├── fa-brands-400.woff
│   │   │   ├── fa-brands-400.woff2
│   │   │   ├── fa-regular-400.eot
│   │   │   ├── fa-regular-400.svg
│   │   │   ├── fa-regular-400.ttf
│   │   │   ├── fa-regular-400.woff
│   │   │   ├── fa-regular-400.woff2
│   │   │   ├── fa-solid-900.eot
│   │   │   ├── fa-solid-900.svg
│   │   │   ├── fa-solid-900.ttf
│   │   │   ├── fa-solid-900.woff
│   │   │   └── fa-solid-900.woff2
│   │   └── nucleo
│   │       ├── nucleo-icons.eot
│   │       ├── nucleo-icons.ttf
│   │       ├── nucleo-icons.woff
│   │       └── nucleo-icons.woff2
│   ├── images
│   ├── index.php
│   ├── js
│   │   ├── admin.js
│   │   ├── app.js
│   │   └── jquery.dataTables.min.js
│   ├── mix-manifest.json
│   ├── photos
│   │   ├── 1
│   │   └── shares
│   ├── robots.txt
│   ├── sitemap.xml
│   └── svg
│       ├── 403.svg
│       ├── 404.svg
│       ├── 500.svg
│       └── 503.svg
├── resources
│   ├── admin
│   │   ├── js
│   │   │   ├── admin.js
│   │   │   ├── bootstrap.js
│   │   │   ├── bs-tooltips.js
│   │   │   └── set-ckeditor.js
│   │   └── sass
│   │       ├── _dropzone.scss
│   │       ├── _fab.scss
│   │       ├── _forms.scss
│   │       ├── _mixins.scss
│   │       ├── _nucleo-icons.scss
│   │       ├── _tables.scss
│   │       ├── _variables.scss
│   │       └── admin.scss
│   ├── js
│   │   ├── app.js
│   │   ├── bootstrap.js
│   │   └── components
│   │       └── ExampleComponent.vue
│   ├── lang
│   │   └── en
│   │       ├── admin.php
│   │       ├── auth.php
│   │       ├── emails.php
│   │       ├── forms.php
│   │       ├── larablog.php
│   │       ├── messages.php
│   │       ├── modals.php
│   │       ├── pagination.php
│   │       ├── passwords.php
│   │       ├── themes.php
│   │       ├── tooltips.php
│   │       └── validation.php
│   ├── sass
│   │   ├── _variables.scss
│   │   ├── app.scss
│   │   └── partials
│   │       └── _bs-visibility-classes.scss
│   └── views
│       ├── admin
│       │   ├── forms
│       │   │   └── generate-sitemap.blade.php
│       │   ├── modals
│       │   │   ├── delete-modal.blade.php
│       │   │   ├── delete-post-modal-form.blade.php
│       │   │   ├── delete-tag-modal-form.blade.php
│       │   │   ├── save-modal.blade.php
│       │   │   ├── save-post-modal-form.blade.php
│       │   │   └── upload-modal.blade.php
│       │   ├── pages
│       │   │   ├── home.blade.php
│       │   │   ├── sitemap.blade.php
│       │   │   └── uploads.blade.php
│       │   ├── partials
│       │   │   ├── drawer-nav.blade.php
│       │   │   ├── footer.blade.php
│       │   │   ├── loading-file-1.blade.php
│       │   │   ├── loading-spinner-1.blade.php
│       │   │   ├── messages.blade.php
│       │   │   ├── navbar.blade.php
│       │   │   └── sidebar.blade.php
│       │   ├── post
│       │   │   ├── create.blade.php
│       │   │   ├── edit.blade.php
│       │   │   ├── index.blade.php
│       │   │   └── partials
│       │   │       └── post-form.blade.php
│       │   ├── scripts
│       │   │   ├── delete-modal-script.blade.php
│       │   │   ├── post-form-scripts.blade.php
│       │   │   ├── save-modal-script.blade.php
│       │   │   ├── save-post-modal.blade.php
│       │   │   └── toggle-status.blade.php
│       │   ├── tag
│       │   │   ├── create.blade.php
│       │   │   ├── edit.blade.php
│       │   │   ├── index.blade.php
│       │   │   └── partials
│       │   │       └── tag-form.blade.php
│       │   └── themesmanagement
│       │       ├── create-theme.blade.php
│       │       ├── edit-theme.blade.php
│       │       ├── index.blade.php
│       │       ├── partials
│       │       │   ├── default-theme-form.blade.php
│       │       │   └── theme-table-list.blade.php
│       │       └── show-theme.blade.php
│       ├── auth
│       │   ├── login.blade.php
│       │   ├── passwords
│       │   │   ├── email.blade.php
│       │   │   └── reset.blade.php
│       │   ├── register.blade.php
│       │   └── verify.blade.php
│       ├── blog
│       │   ├── forms
│       │   │   └── contact-form.blade.php
│       │   ├── pages
│       │   │   ├── author.blade.php
│       │   │   ├── authors.blade.php
│       │   │   └── contact.blade.php
│       │   ├── partials
│       │   │   ├── analytics.blade.php
│       │   │   ├── disqus.blade.php
│       │   │   ├── disqusjs.blade.php
│       │   │   ├── footer.blade.php
│       │   │   ├── header-post.blade.php
│       │   │   ├── header.blade.php
│       │   │   ├── messages.blade.php
│       │   │   ├── nav.blade.php
│       │   │   ├── posts-pager.blade.php
│       │   │   ├── posts-roll.blade.php
│       │   │   └── social-media.blade.php
│       │   ├── post-layouts
│       │   │   └── standard.blade.php
│       │   └── roll-layouts
│       │       └── home.blade.php
│       ├── layouts
│       │   ├── admin.blade.php
│       │   ├── app.blade.php
│       │   └── auth.blade.php
│       └── mail
│           └── contact.blade.php
├── routes
│   ├── api.php
│   ├── channels.php
│   ├── console.php
│   └── web.php
├── server.php
├── tests
│   ├── CreatesApplication.php
│   ├── Feature
│   │   ├── ExampleTest.php
│   │   ├── MarkdownerTest.php
│   │   └── PostsTest.php
│   ├── TestCase.php
│   └── Unit
│       └── ExampleTest.php
├── webpack.mix.js
├── yarn-error.log
└── yarn.lock

  • Tree command can be installed using brew: brew install tree
  • File tree generated using command tree -a -I '.git|node_modules|vendor|storage|ckeditor'

Opening an Issue

Before opening an issue there are a couple of considerations:

  • You are all awesome!
  • Read the instructions and make sure all steps were followed correctly.
  • Check that the issue is not specific to the development environment setup.
  • Provide duplication steps.
  • Attempt to look into the issue, and if you have a solution, make a pull request.
  • Show that you have made an attempt to look into the issue.
  • Check to see if the issue you are reporting is a duplicate of a previous reported issue.
  • Following these instructions show me that you have tried.
  • If you have a questions send me an email to [email protected]
  • Need some help, I can do my best on Slack: https://opensourcehelpgroup.slack.com
  • Please be considerate that this is an open source project that I provide to the community for FREE when opening an issue.

Open source projects are the community’s responsibility to use, contribute, and debug.

License

Larablog is licensed under the MIT license. Enjoy!

About

A powerful open source Laravel Blog with WYSWYG and CRUD (Create Read Update Delete) built on Laravel 5.8 and Bootstrap 4

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages