msa/laravel-grapes

laravel grapes is a cms drag and drop page builder

Installs: 1 426

Dependents: 0

Suggesters: 0

Security: 0

Stars: 152

Watchers: 10

Forks: 33

Open Issues: 9

Language:CSS

v1.0.3 2024-03-19 21:40 UTC

This package is auto-updated.

Last update: 2024-04-19 21:50:50 UTC


README

laravel-grapes-logo.png

GitHub Total Download GitHub release (latest by date including pre-releases)

screenshot_01.png

Table of Contents
  1. About Laravel Grapes
  2. Diffrence Between Regular Version And Pro Version
  3. Installation Steps
  4. Usage
  5. Translations
  6. Author
  7. License

About Laravel Grapes

Laravel Grapes is a library for laravel framework, that offer cms drag and drop page builder for frontend which support all Laravel functionality and help user to change all frontend and content just in simple clicks.

Laravel Grapes Comes With A Pro Version Will Be Available On Code Canyon SOON !.

Diffrence Between Regular Version And Pro Version

Feature Regular Version Pro Version
Laravel CSRF yes yes
Laravel Auth User Condition yes yes
Laravel Auth Dynamic Guard yes yes
Multilingual yes yes
Dynamic Laravel Shortcode widgets 1 unlimted
Dynamic Routes /{id} No yes

Installation Steps

composer require msa/laravel-grapes
php artisan vendor:publish --provider="MSA\LaravelGrapes\LaravelGrapesServiceProvider" --tag="*"
php artisan migrate

Go to config/lg.php

    <?php

    return [
        // routes configurations
        'builder_prefix' => 'hello', // prefix for builder

        'middleware' => null, // middleware for builder

        'frontend_prefix' => '', // prefix for frontend

        /* Define additional translation languages. */
        'languages' => [
            'ar',
            'es',
        ],
    ];`
1) builder_prefix

The builder by default come with route route('website.builder') which consists of your-domain.com/hello/front-end-builder.
you can change the builder prefix to hi so now the builder load with route prefix hi instead of hello.

2) middleware

Assign any middleware you want to the builder for example auth:admin.

3) frontend_prefix

The frontend prefix by default it comes empty that mean that any generated front end page builder it load directly with your slug that created by you so if you need to set prefix for your generated frontend so change it to your prefix that you want.

Now laravel grapes is working.

Navigate to builder route your-domain.com/builder_prefix/front-end-builder.

screenshot_02.png

Usage

The Controll Panel Consists Of 3 Panels :-

1) Options Panel

2) Page Panel

3) View Panel

4) Customize Builder Style Sheet

1. Options Panel

options_panel_screenshot.png


The options panel consists of 11 buttons :-

View Components

The view component button show grid lines for all components droped in the canvas, this help to to select each component individual for example take a look on the screenshot below.

screenshot_04.png


Preview

The preview button help you to show page without pannels like screenshot below

screenshot_preview.png


Full Screen

The full screen mode button hide all browser utils and show only the builder.

View Code

The view code button show you the html and css code of the page like sceenshot below

screenshot_05.png


Create New Page

The create new page button at topbar when you press on it, the popup modal open with new page form, so fill page name and slug and if you need the page become a home page type slug / .

screenshot_03.png


After submit the form will receive toast notification that page has been created successfully, so select the new page throw select page input on the top bar to start modifying the page.

Don't forget to remove the default route in routes/web.php becaues it will conflict with home page, you don't need web.php for frontend routes because laravel grapes come with it own route file

<?php

use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

// Route::get('/', function () {
//     return view('welcome');
// });

Edit Code

The edit code button it will open a popup code editor modal that hold page code including html and css.

edit_code_screenshot.png


So you can edit the html and css code from the code editor popup, for editing syles you will find page style inside tag <style></style>.
Note: Html and css on the code editor merged in one page but after submit the code you can View Code, you will find styles and html each of them seperate and each generated page has it's own blade file and css file.

Component Manager

The Component Manager button will open a popup hold all custome components that has been saved to reused on another page to let you edit name of the component or delete it.

component_manager_screenshot.png


Page Manager

The page manager button will open a popup hold all pages and let you to edit page name and slug.

pages_manager_screenshot.png


Clear Canvas

The clear canvas button will remove all components from the canvas.

Save Component

Laravel Grapes let you to save any custome component for reuse it on other pages all you need to select the component and click on Save Component Button.

Save Changes

The save changes button update the page content and if you check the page slug you will find that page content has been changed.

2. Page Panel

The options panel consists of 2 select input :-

Select Page

The select page input let you to select page that you need to modify it.

Select Device

The select device input let you to modify page html and styles on different screens with the following sizes

  • Desktop
  • Extra Large
  • Large
  • Tablet
  • Medium
  • Mobile Landscape
  • Small
  • Extra Small
  • Mobile Portrait

3. View Panel

The View Panel consists of 4 buttons :-

Block Manager

The Block Manager Comes with Bootstrap Components :-

  • Layout which holds

    • Navbar
    • Section
    • Container
    • Row
    • Column
    • Column break
    • Media Object
  • Components which holds

    • Dropdown Menu
    • Menu
    • Menu Link
    • Alert
    • Link
    • Tabs
    • Tab
    • Badge
    • Card
    • Card Container
    • Collapse
    • Dropdown Item
    • Dropdown Button
  • Typography which holds

    • Header
    • Paragraph
    • Separator
  • Templates which holds

    • 5 prebuilt templates
  • Saved which holds

    • All your saved custom

Layer Manager

Another utility tool you might find useful when working with web elements is the layer manger. It's a tree overview of the structure nodes and enables you to manage it easier.

layer_manager_screenshot.png


Components Settings

Each component come with it's own settings you can modify it for example, if you select from the canvas link element and got to component settings you will find the following:

  • The attribute of href link
  • The attribute of target
  • The attribute of toggle
  • Show Laravel Auth User Email
  • Laravel Auth User option, for show element
  • Laravel Auth Guard option, for show element. (default is web)
  • The attribute of id
  • The attribute of title

component_settings_screenshot.png


Style Manager

The Style manager is composed by sectors, which group inside different types of CSS properties. So you can add, for instance, a Dimension sector for width and height, and another one as Typography for font-size and color and more. So it's up to you decide how organize sectors.

style_manager_screenshot.png


  • Classes

    • State (for styling the hover effect, and click, etc...)
    • Add class
    • remove class
  • General

    • Float Options
    • Display Options
    • Position Options
  • Flex Options

  • Dimension Options

  • Typography Options

  • Decorations Options

  • Extra

    • Tarnsitions
    • Prespective
    • Transform

4. Customize Builder Style Sheet

Go to public/css/laravel-grapes.css and start Customizing Laravel Grapes Builder style sheet As You Wish.

Translations

Each text component have translation input trait for your languages that you were defined in config/lg.php, In the example below you will find Ar Local and Es Local .

It supported rtl for arabic language (ar)

translation-screenshot.png


Author

Mohamed Allam

License

MIT © Mohamed Allam