laraberg-vue

Editor-only part of Laraberg package for Vuejs
2,619 34
Install
npm install laraberg-vue
Latest Version:1.0.4
Vue:2
License:GPL-3.0-or-later
Last Updated:Sep 3, 2023
Links: GitHub  ·  npm
Maintainer: amirreza-nasiri

Laraberg Vue

Laraberg Vue

This package contains editor-only part of Laraberg that can be implemented in your Vue.js app. For the backend, using Laraberg is required.

Its API can handle cookie-based authentications nicely (for example, Laravel Sanctum). You can edit src/js/api/api-fetch.js in case you need to deal with API calls (such as token-based auths). Read development section below for more details in this case.

Installation

Simply run the following command:

npm install --save laraberg-vue

Usage

You can examine a working project in Laraberg Vue Example repository.

Import and use the plugin. You may need to consider your backend API endpoint URL for Laraberg in the prefix option:

import Vue from 'vue'
import LarabergVue from 'laraberg-vue';

Vue.use(LarabergVue, {
  // Base URL of your API endpoint and Laraberg controller prefix
  prefix: 'https://api.example.com/laraberg',
})

You can pass other Laraberg options too. It's also possible to easily register your custom blocks. See Laraberg Vue Example project for advanced usage.

Now, use it in your template:

<template>
  <laraberg-editor v-model="html"/>
</template>

<script>
  export default  {
    data: () => ({
      html: `
        <!-- wp:heading -->
        <h2>Welcome</h2>
        <!-- /wp:heading -->
      `
	}),
  }
</script>

Limitations

This package is based on Laraberg frontend sources and under the hood, these both use Wordpress Gutenberg editor. Only a single Gutenberg editor can present on the page at the time.

Development

Building the package from source directory needs some more steps and that's because of how Gutenberg should be built (>250MB). I'm taking instructions from here:

1- Clone this repository:

git clone git@github.com:evryn/laraberg-vue.git

2- Download Wordpress Gutenberg v8.1, extract it into a directory
3- In extracted directory, build Wordpress Gutenberg and link it to your global node_modules:

npm install
npm run build
sudo npm link

4- Go back to this project's cloned directory and link global gutenberg to local node_modules:

npm install
npm link gutenberg

⚠ NOTE: If you need other packages to install, it's good idea to remove gutenberg link from local node_modules and link it after installation. Or else, you may need to go through step 1 with those time consuming tasks.

Now you can do your changes. You may serve and preview it with:

npm run serve

At the end, build final assets into dist directory:

npm run build

Related Packages

cyp-editor

rich text editor by canvas/svg

2,569
@harshita_joshi/canvas-editor

rich text editor by canvas/svg. This is a fork of https://github.com/Hufe921/can...

318 20
vue-wysiwyg

A WYSIWYG HTML editor for Vue.js

564,994
vue-trumbowyg

Vue.js component for trumbowyg WYSIWYG editor

177,547 231
vue-html5-editor

A WYSIWYG text editor base on html5 and vue

39,520 948

Version History

Version Released Vue License
1.0.4 ^2 GPL-3.0-or-later
1.0.3 ^2 GPL-3.0-or-later
1.0.2 ^2 GPL-3.0-or-later
1.0.1 ^2 GPL-3.0-or-later
1.0.0 ^2 GPL-3.0-or-later