From eff657224a9d1b0babd52b1448c512c6e890cbc1 Mon Sep 17 00:00:00 2001 From: drupaltr Date: Tue, 12 Mar 2019 22:53:06 +0100 Subject: [PATCH 1/5] Update readme.md Typo error --- readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index c7044b3..61b33a2 100644 --- a/readme.md +++ b/readme.md @@ -32,7 +32,7 @@ Install the application dependencies ``` composer install -npm instal +npm install ``` Create the environment configuration file and edit it with your favorite IDE @@ -92,4 +92,4 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file ## Premium Support -Want help with implementation or new features? Start a conversation with me: kutalo84@gmail.com \ No newline at end of file +Want help with implementation or new features? Start a conversation with me: kutalo84@gmail.com From 33e5be6788b9797255dc1c9387c372acaaf82ae5 Mon Sep 17 00:00:00 2001 From: Kutalo Alexey Date: Thu, 21 Mar 2019 00:26:57 -0700 Subject: [PATCH 2/5] Update laravel and laravel-mix versions to avoid warnings and vulnerabilities --- composer.json | 4 ++-- package.json | 9 ++++++--- readme.md | 8 ++++++-- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/composer.json b/composer.json index 3c63c93..96e4d51 100644 --- a/composer.json +++ b/composer.json @@ -17,13 +17,13 @@ "require": { "php": "^7.1.3", "barryvdh/laravel-ide-helper": "^2.4", - "bepsvpt/secure-headers": "^4.1", + "bepsvpt/secure-headers": "^5.3", "doctrine/dbal": "~2.3", "fideloper/proxy": "^4.0", "guzzlehttp/guzzle": "^6.3", "intervention/image": "^2.4", "jaybizzle/laravel-crawler-detect": "1.*", - "laravel/framework": "5.6.*", + "laravel/framework": "5.8.*", "laravel/tinker": "^1.0", "mews/purifier": "^2.0", "nutsweb/laravel-prerender": "^2.0", diff --git a/package.json b/package.json index 7fb3171..d850226 100755 --- a/package.json +++ b/package.json @@ -5,7 +5,10 @@ "license": "MIT", "description": "A modern lightweight CMS for Laravel and Vue developers", "keywords": [ - "spala", "cms" ,"vue", "laravel" + "spala", + "cms", + "vue", + "laravel" ], "repository": { "type": "git", @@ -23,9 +26,9 @@ "devDependencies": { "axios": "^0.18", "browser-sync": "^2.18.13", - "browser-sync-webpack-plugin": "^1.2.0", + "browser-sync-webpack-plugin": "^2.2.2", "cross-env": "^5.1", - "laravel-mix": "^2.0", + "laravel-mix": "^4.0.7", "normalize-scss": "^7.0.0", "webpack-bundle-analyzer": "^2.9.0", "codemirror": "^5.30.0", diff --git a/readme.md b/readme.md index 61b33a2..991f1f1 100644 --- a/readme.md +++ b/readme.md @@ -5,7 +5,7 @@ License

-SPA Content Management System based on [Laravel 5.6](https://laravel.com), [Vue 2.5](https://vuejs.org), [Bootstrap 4](https://getbootstrap.com/) and [Monster Admin Template](https://wrappixel.com/demos/admin-templates/monster-admin/Documentation/document.html) +SPA Content Management System based on [Laravel 5.8](https://laravel.com), [Vue 2.5](https://vuejs.org), [Bootstrap 4](https://getbootstrap.com/) and [Monster Admin Template](https://wrappixel.com/demos/admin-templates/monster-admin/Documentation/document.html) ![Screen](https://user-images.githubusercontent.com/17153568/53791966-80bcd980-3edf-11e9-9425-12fd7a789ad7.png "Dashboard") @@ -78,9 +78,13 @@ Install the application (create default roles, permissions, etc.) php artisan install ``` +By default server-side rendering is used for the SEO purposes but if you need your own prerender server you can use [prerender.io](https://prerender.io/) + +## First steps + Go to the page `/register`. The first registered user will get the admin role -By default server-side rendering is used for the SEO purposes but if you need your own prerender server you can use [prerender.io](https://prerender.io/) +If you need enable login and give other permissions to user role on the page `/configuration/permission/assign` ## Contributing From b849a1cc360ebcd34ba788e832b90fcd8045df10 Mon Sep 17 00:00:00 2001 From: Kutalo Alexey Date: Thu, 21 Mar 2019 00:42:58 -0700 Subject: [PATCH 3/5] Install additional packages --- package.json | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index d850226..0d5f597 100755 --- a/package.json +++ b/package.json @@ -27,13 +27,17 @@ "axios": "^0.18", "browser-sync": "^2.18.13", "browser-sync-webpack-plugin": "^2.2.2", + "codemirror": "^5.30.0", + "compression-webpack-plugin": "^1.0.1", "cross-env": "^5.1", "laravel-mix": "^4.0.7", + "lodash": "^4.17.4", "normalize-scss": "^7.0.0", - "webpack-bundle-analyzer": "^2.9.0", - "codemirror": "^5.30.0", - "compression-webpack-plugin": "^1.0.1", - "lodash": "^4.17.4" + "resolve-url-loader": "^2.3.1", + "sass": "^1.17.3", + "sass-loader": "^7.1.0", + "vue-template-compiler": "^2.6.10", + "webpack-bundle-analyzer": "^2.9.0" }, "dependencies": { "js-cookie": "^2.1.4", From 20ebad41ac6b5f8b6a773e09b16e690a2216488e Mon Sep 17 00:00:00 2001 From: Kutalo Alexey Date: Thu, 21 Mar 2019 03:04:06 -0700 Subject: [PATCH 4/5] Append .default to CommonJS syntax since new laravel-mix uses vue-loader 15 --- package.json | 1 + resources/assets/js/routes.js | 102 +++++++++++++++++----------------- 2 files changed, 52 insertions(+), 51 deletions(-) diff --git a/package.json b/package.json index 0d5f597..f3389f2 100755 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" }, "devDependencies": { + "acorn": "^6.0.0", "axios": "^0.18", "browser-sync": "^2.18.13", "browser-sync-webpack-plugin": "^2.2.2", diff --git a/resources/assets/js/routes.js b/resources/assets/js/routes.js index 63d55ef..417e4dc 100755 --- a/resources/assets/js/routes.js +++ b/resources/assets/js/routes.js @@ -7,17 +7,17 @@ let appName = helper.getConfig('company_name'); let routes = [ { path: '/', - component: require('./layouts/GuestPage.vue'), + component: require('./layouts/GuestPage.vue').default, children: [ { path: '/', - component: require('./views/pages/Main.vue'), + component: require('./views/pages/Main.vue').default, name: 'main', meta: {title: appName} }, { path: '/search', - component: require('./views/post/Search.vue'), + component: require('./views/post/Search.vue').default, name: 'search', meta: {title: i18n.general.search_for + ' | ' + appName} } @@ -25,250 +25,250 @@ let routes = [ }, { path: '/', - component: require('./layouts/GuestPage.vue'), + component: require('./layouts/GuestPage.vue').default, meta: {validate: ['guest']}, children: [ { path: '/login', - component: require('./views/auth/Login.vue'), + component: require('./views/auth/Login.vue').default, name: 'login', meta: {title: i18n.auth.login + ' | ' + appName} }, { path: '/password', - component: require('./views/auth/Password.vue'), + component: require('./views/auth/Password.vue').default, meta: {title: i18n.user.reset_password + ' | ' + appName} }, { path: '/register', - component: require('./views/auth/Register.vue'), + component: require('./views/auth/Register.vue').default, meta: {title: i18n.auth.register + ' | ' + appName} }, { path: '/auth/:token/activate', - component: require('./views/auth/Activate.vue'), + component: require('./views/auth/Activate.vue').default, meta: {title: i18n.auth.two_factor_code + ' | ' + appName} }, { path: '/password/reset/:token', - component: require('./views/auth/Reset.vue'), + component: require('./views/auth/Reset.vue').default, meta: {title: i18n.passwords.reset_password + ' | ' + appName} } ] }, { path: '/', - component: require('./layouts/GuestPage.vue'), + component: require('./layouts/GuestPage.vue').default, meta: {validate: ['auth']}, children: [ { path: '/auth/security', - component: require('./views/auth/Security.vue'), + component: require('./views/auth/Security.vue').default, meta: {title: i18n.auth.two_factor_code + ' | ' + appName} }, { path: '/auth/lock', - component: require('./views/auth/Lock.vue'), + component: require('./views/auth/Lock.vue').default, meta: {title: i18n.auth.lock_screen + ' | ' + appName} }, ] }, { path: '/', - component: require('./layouts/DefaultPage.vue'), + component: require('./layouts/DefaultPage.vue').default, meta: {validate: ['auth', 'two_factor', 'lock_screen']}, children: [ { path: '/', - component: require('./views/pages/Home.vue'), + component: require('./views/pages/Home.vue').default, meta: {title: i18n.general.home + ' | ' + appName} }, { path: '/home', - component: require('./views/pages/Home.vue'), + component: require('./views/pages/Home.vue').default, meta: {title: i18n.general.home + ' | ' + appName} }, { path: '/profile', - component: require('./views/pages/Profile.vue'), + component: require('./views/pages/Profile.vue').default, meta: {title: i18n.user.profile + ' | ' + appName} }, { path: '/change-password', - component: require('./views/pages/ChangePassword.vue'), + component: require('./views/pages/ChangePassword.vue').default, meta: {title: i18n.auth.change_password + ' | ' + appName} }, { path: '/configuration', - component: require('./views/configuration/system/System.vue'), + component: require('./views/configuration/system/System.vue').default, meta: {title: i18n.configuration.system + ' | ' + appName} }, { path: '/configuration/image', - component: require('./views/configuration/image/Image.vue'), + component: require('./views/configuration/image/Image.vue').default, meta: {title: i18n.configuration.configuration + ' - ' + appName} }, { path: '/configuration/system', - component: require('./views/configuration/system/System.vue'), + component: require('./views/configuration/system/System.vue').default, meta: {title: i18n.configuration.system + ' | ' + appName} }, { path: '/configuration/role', - component: require('./views/configuration/role/Role.vue'), + component: require('./views/configuration/role/Role.vue').default, meta: {title: i18n.configuration.configuration + ' - ' + i18n.role.role + ' | ' + appName} }, { path: '/configuration/authentication', - component: require('./views/configuration/authentication/Auth.vue'), + component: require('./views/configuration/authentication/Auth.vue').default, meta: {title: i18n.configuration.configuration + ' - ' + i18n.auth.authentication + ' | ' + appName} }, { path: '/configuration/permission', - component: require('./views/configuration/permission/Permission.vue'), + component: require('./views/configuration/permission/Permission.vue').default, meta: {title: i18n.configuration.configuration + ' - ' + i18n.permission.permission + ' | ' + appName} }, { path: '/configuration/permission/assign', - component: require('./views/configuration/permission/Assign.vue'), + component: require('./views/configuration/permission/Assign.vue').default, meta: {title: i18n.configuration.configuration + ' - ' + i18n.permission.assign_permission + ' | ' + appName} }, { path: '/configuration/locale', - component: require('./views/configuration/locale/Locale.vue'), + component: require('./views/configuration/locale/Locale.vue').default, meta: {title: i18n.configuration.configuration + ' - ' + i18n.locale.locale + ' | ' + appName} }, { path: '/configuration/locale/:id/edit', - component: require('./views/configuration/locale/Edit.vue'), + component: require('./views/configuration/locale/Edit.vue').default, meta: {title: i18n.configuration.configuration + ' - ' + i18n.locale.edit_locale + ' | ' + appName} }, { path: '/activity-log', - component: require('./views/activity-log/ActivityLog.vue'), + component: require('./views/activity-log/ActivityLog.vue').default, meta: {title: i18n.activity.activity_log + ' | ' + appName} }, { path: '/user', - component: require('./views/user/User.vue'), + component: require('./views/user/User.vue').default, meta: {title: i18n.user.users + ' | ' + appName} }, { path: '/user/:id', - component: require('./views/user/Basic.vue'), + component: require('./views/user/Basic.vue').default, meta: {title: i18n.user.users + ' - ' + i18n.general.basic + ' | ' + appName} }, { path: '/user/:id/basic', - component: require('./views/user/Basic.vue'), + component: require('./views/user/Basic.vue').default, meta: {title: i18n.user.users + ' - ' + i18n.general.basic + ' | ' + appName} }, { path: '/user/:id/contact', - component: require('./views/user/Contact.vue'), + component: require('./views/user/Contact.vue').default, meta: {title: i18n.user.users + ' - ' + i18n.user.contact + ' | ' + appName} }, { path: '/user/:id/avatar', - component: require('./views/user/Avatar.vue'), + component: require('./views/user/Avatar.vue').default, meta: {title: i18n.user.users + ' - ' + i18n.user.avatar + ' | ' + appName} }, { path: '/user/:id/password', - component: require('./views/user/Password.vue'), + component: require('./views/user/Password.vue').default, meta: {title: i18n.user.users + ' - ' + i18n.user.password + ' | ' + appName} }, { path: '/post', - component: require('./views/post/Index.vue'), + component: require('./views/post/Index.vue').default, meta: {title: i18n.post.new + ' | ' + appName} }, { path: '/post/new', - component: require('./views/post/Index.vue'), + component: require('./views/post/Index.vue').default, meta: {title: i18n.post.new + ' | ' + appName} }, { path: '/post/published', - component: require('./views/post/Published.vue'), + component: require('./views/post/Published.vue').default, meta: {title: i18n.post.published_box + ' | ' + appName} }, { path: '/post/draft', - component: require('./views/post/Draft.vue'), + component: require('./views/post/Draft.vue').default, meta: {title: i18n.post.drafts + ' | ' + appName} }, { path: '/post/:slug/edit', - component: require('./views/post/Edit'), + component: require('./views/post/Edit').default, meta: {title: i18n.post.edit + ' | ' + appName} }, { path: '/post/:slug/cover', - component: require('./views/post/Cover'), + component: require('./views/post/Cover').default, meta: {title: i18n.post.cover + ' | ' + appName} }, { path: '/category', - component: require('./views/category/Category'), + component: require('./views/category/Category').default, meta: {title: i18n.category.categories + ' | ' + appName} }, { path: '/page', - component: require('./views/page/Index.vue'), + component: require('./views/page/Index.vue').default, meta: {title: i18n.page.new + ' | ' + appName} }, { path: '/page/new', - component: require('./views/page/Index.vue'), + component: require('./views/page/Index.vue').default, meta: {title: i18n.page.new + ' | ' + appName} }, { path: '/page/published', - component: require('./views/page/Published.vue'), + component: require('./views/page/Published.vue').default, meta: {title: i18n.page.published_box + ' | ' + appName} }, { path: '/page/:slug/edit', - component: require('./views/page/Edit'), + component: require('./views/page/Edit').default, meta: {title: i18n.page.edit + ' | ' + appName} } ] }, { path: '/', - component: require('./layouts/ErrorPage.vue'), + component: require('./layouts/ErrorPage.vue').default, children: [ { path: '/maintenance', - component: require('./views/errors/Maintenance.vue'), + component: require('./views/errors/Maintenance.vue').default, meta: {title: i18n.general.permission_denied + ' | ' + appName} } ] }, { path: '/', - component: require('./layouts/GuestPage.vue'), + component: require('./layouts/GuestPage.vue').default, children: [ { path: '/:category/:slug', - component: require('./views/post/View.vue'), + component: require('./views/post/View.vue').default, meta: {title: appName} }, { path: '/:slug', - component: require('./views/page/View.vue'), + component: require('./views/page/View.vue').default, meta: {title: appName} } ] }, { path: '*', - component: require('./layouts/ErrorPage.vue'), + component: require('./layouts/ErrorPage.vue').default, children: [ { path: '*', - component: require('./views/errors/PageNotFound.vue'), + component: require('./views/errors/PageNotFound.vue').default, meta: {title: i18n.general.page_not_found_heading + ' | ' + appName} } ] From 632401801fbcaa524fee76cb6dfec8c40d36a485 Mon Sep 17 00:00:00 2001 From: Kutalo Alexey Date: Thu, 21 Mar 2019 03:26:46 -0700 Subject: [PATCH 5/5] Increase version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f3389f2..5cfd526 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "spala", - "version": "1.0.1", + "version": "1.0.2", "author": "Alexey Kutalo ", "license": "MIT", "description": "A modern lightweight CMS for Laravel and Vue developers",