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

Overview

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!

You might also like...
Crater is an open-source web & mobile app that helps you track expenses, payments & create professional invoices & estimates.
Crater is an open-source web & mobile app that helps you track expenses, payments & create professional invoices & estimates.

Introduction Crater is an open-source web & mobile app that helps you track expenses, payments & create professional invoices & estimates. Web Applica

A complete open source hotel management system built with Laravel Framework.
A complete open source hotel management system built with Laravel Framework.

Hotelio : Hotel Management System Hotelio is a open source hotel management system that manages your hotel operations, smoothly, effortless. Hotelio i

This is a simple blog system, you can sign up and create post.

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

A simple blog project I built when learning Laravel 8
A simple blog project I built when learning Laravel 8

Harmonify Blog Disclaimer: All users data previewed on the image are fake data generated with FakerPHP. Introduction Harmonify Blog is a simple blog p

This Laracast Blog is built with Laravel 8.x taught by Jeffery Way on Laracasts

This Laracast Blog is built with Laravel 8.x taught by Jeffery Way on Laracasts. I followed his tutorial videos and added new features as he mentioned on his Github.

A very simple Blog with Admin Panel built using Laravel5.7 && VueJs2.5 - Quasar0.17
A very simple Blog with Admin Panel built using Laravel5.7 && VueJs2.5 - Quasar0.17

Q-Blog - A very simple Blog with Admin Panel built using [Laravel5.7, VueJs2.5, Quasar0.17]. - This is kind of implementation on different concepts in

Laravel Angular Time Tracker is a simple time tracking application built on Laravel 5.2, Angular 2, and Bootstrap 3.

Laravel 5.2, Angular 2, and Bootstrap 3.3.* Time Tracker Laravel Angular Time Tracker is a simple time tracking application built on Laravel 5.2, Angu

Multilingual PHP CMS built with Laravel  and bootstrap
Multilingual PHP CMS built with Laravel and bootstrap

Lavalite This is an open source of Content Management System developed with Laravel framework. Documentation Visit Documentation section in the websit

A simple todo app, built with bootstrap, php native, mysql
A simple todo app, built with bootstrap, php native, mysql

A simple todo app, built with bootstrap, php native, mysql

Comments
  • ErrorException htmlspecialchars() expects parameter 1 to be string

    ErrorException htmlspecialchars() expects parameter 1 to be string

    From the project root folder I run php artisan serve, so I go to the Chrome browser and open the default URL (http://127.0.0.1:8000/) and got the following exception: e1 e2

    opened by robinmatus 1
  • does not comply with psr-4 autoloading standard

    does not comply with psr-4 autoloading standard

    PHP 7.4.22 Windows 10

    Steps to reproduce error:

    git clone https://github.com/jeremykenedy/larablog.git larablog && cd larablog copy .env.example .env composer install

    85 package suggestions were added by new dependencies, use `composer suggest` to see details.
    Package fzaninotto/faker is abandoned, you should avoid using it. No replacement was suggested.
    Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.
    Generating optimized autoload files
    Class jeremykenedy\LaravelLogger\App\Http\Controllers\LaravelLoggerController located in D:/xampp/htdocs/laravel/larablog/vendor/jeremykenedy/laravel-logger/src\app\Http\Controllers\LaravelLoggerController.php does not comply with psr-4 autoloading standard. Skipping.
    Class jeremykenedy\LaravelLogger\App\Http\Middleware\LogActivity located in D:/xampp/htdocs/laravel/larablog/vendor/jeremykenedy/laravel-logger/src\app\Http\Middleware\LogActivity.php does not comply with psr-4 autoloading standard. Skipping.
    Class jeremykenedy\LaravelLogger\App\Http\Traits\ActivityLogger located in D:/xampp/htdocs/laravel/larablog/vendor/jeremykenedy/laravel-logger/src\app\Http\Traits\ActivityLogger.php does not comply with psr-4 autoloading standard. Skipping.
    Class jeremykenedy\LaravelLogger\App\Http\Traits\IpAddressDetails located in D:/xampp/htdocs/laravel/larablog/vendor/jeremykenedy/laravel-logger/src\app\Http\Traits\IpAddressDetails.php does not comply with psr-4 autoloading standard. Skipping.
    Class jeremykenedy\LaravelLogger\App\Http\Traits\UserAgentDetails located in D:/xampp/htdocs/laravel/larablog/vendor/jeremykenedy/laravel-logger/src\app\Http\Traits\UserAgentDetails.php does not comply with psr-4 autoloading standard. Skipping.
    Class jeremykenedy\LaravelLogger\App\Listeners\LogAuthenticated located in D:/xampp/htdocs/laravel/larablog/vendor/jeremykenedy/laravel-logger/src\app\Listeners\LogAuthenticated.php does not comply with psr-4 autoloading standard. Skipping.
    Class jeremykenedy\LaravelLogger\App\Listeners\LogAuthenticationAttempt located in D:/xampp/htdocs/laravel/larablog/vendor/jeremykenedy/laravel-logger/src\app\Listeners\LogAuthenticationAttempt.php does not comply with psr-4 autoloading standard. Skipping.
    Class jeremykenedy\LaravelLogger\App\Listeners\LogFailedLogin located in D:/xampp/htdocs/laravel/larablog/vendor/jeremykenedy/laravel-logger/src\app\Listeners\LogFailedLogin.php does not comply with psr-4 autoloading standard. Skipping.
    Class jeremykenedy\LaravelLogger\App\Listeners\LogLockout located in D:/xampp/htdocs/laravel/larablog/vendor/jeremykenedy/laravel-logger/src\app\Listeners\LogLockout.php does not comply with psr-4 autoloading standard. Skipping.
    Class jeremykenedy\LaravelLogger\App\Listeners\LogPasswordReset located in D:/xampp/htdocs/laravel/larablog/vendor/jeremykenedy/laravel-logger/src\app\Listeners\LogPasswordReset.php does not comply with psr-4 autoloading standard. Skipping.
    Class jeremykenedy\LaravelLogger\App\Listeners\LogSuccessfulLogin located in D:/xampp/htdocs/laravel/larablog/vendor/jeremykenedy/laravel-logger/src\app\Listeners\LogSuccessfulLogin.php does not comply with psr-4 autoloading standard. Skipping.
    Class jeremykenedy\LaravelLogger\App\Listeners\LogSuccessfulLogout located in D:/xampp/htdocs/laravel/larablog/vendor/jeremykenedy/laravel-logger/src\app\Listeners\LogSuccessfulLogout.php does not comply with psr-4 autoloading standard. Skipping.
    Class jeremykenedy\LaravelLogger\App\Models\Activity located in D:/xampp/htdocs/laravel/larablog/vendor/jeremykenedy/laravel-logger/src\app\Models\Activity.php does not comply with psr-4 autoloading standard. Skipping.
    
    opened by gaurangkumar 0
Releases(v1.2.0)
Owner
Jeremy Kenedy
Love programming everyday. Practice compassion and kindness to all. Striving to be a better person and father. Love giving back and helping others.
Jeremy Kenedy
Desarrollo de una aplicación muy sencilla, desarrollada con HTML - Bootstrap - PHP - (PDO)- Mysql. (Login - Registro - Create Read Update Delete)

php-mysql-aplicacion-web Desarrollo de una aplicación muy sencilla, desarrollada con HTML - Bootstrap - PHP - (PDO)- Mysql. (Login - Registro - Create

Ángel Daniel Fuentes Segura 4 Sep 18, 2022
Open source ERP software. Built on modern PHP and bootstrap 4. Easy and powerful.

FacturaScripts Open source ERP software. Built on modern PHP and bootstrap 4. Easy and powerful. Install Clone and deploy with composer and npm (compo

Carlos Garcia 313 Jan 4, 2023
A blog website where you can create/edit/delete blogs.

A blog website where you can create/edit/delete blogs. All the data will be caught from the DB, but here's the catch: I'm doing this project in Laravel 8.

null 1 Dec 8, 2021
Laravel-Blog is a blog application written in Laravel 4.2.

创造不息,交付不止 Introduction Laravel-Blog is a blog project written in Laravel 4.2. Screenshots Article List Page Article composing page Single post page Ad

Summer 192 Dec 15, 2022
Powerful, yet easy to use, open-source online ordering, table reservation and management system for restaurants

TastyIgniter provides a professional and reliable platform for restaurants wanting to offer online food ordering and table reservation to their custom

TastyIgniter 2.4k Dec 27, 2022
Cachet is a beautiful and powerful open source status page system.

Cachet is a beautiful and powerful open source status page system. Overview List your service components Report incidents Customise the look of your s

Cachet 12.5k Dec 5, 2021
Project of Simple Blog using: HTML, CSS, PHP, MYSQL, and BOOTSTRAP

Project-Stormwind Project of Simple Blog using: HTML, CSS, PHP, MYSQL, and BOOTSTRAP Functions : A personal blog about Blizzard and their work Main Th

Jan Andrzejewski 2 Aug 24, 2022
A powerful and responsive blog system powered by laravel 5.5.

Powerful and responsive blog system powered by laravel 5.5. Click https://lufficc.com/blog to view live demo. Xblog 中文 README | Docs This blog is for

Congcong Li 924 Nov 18, 2022
Simple Laravel Invoice Generator Sling — open-source web application that helps you create invoices and track income.

Simple Laravel Invoice Generator Sling — open-source web application that helps you create invoices and track income. Table of Contents About

Ray Icemont 4 Nov 22, 2022
Create Your Own Broadcast Network With AVideo Platform Open-Source. OAVP OVP

Audio Video Platform AVideo is a term that means absolutely nothing, or anything video. Since it doesn't mean anything the brand simply is identifiabl

World Wide Broadcast Network 1.7k Jan 8, 2023