2017 © Pedro Peláez
 

library laravel-shortcodes

Wordpress like shortcodes for Laravel 5.x

image

webwizo/laravel-shortcodes

Wordpress like shortcodes for Laravel 5.x

  • Thursday, June 7, 2018
  • by webwizo
  • Repository
  • 5 Watchers
  • 45 Stars
  • 15,060 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 19 Forks
  • 6 Open issues
  • 13 Versions
  • 15 % Grown

The README.md

Laravel-Shortcodes

Latest Version on Packagist ![Software License][ico-license] Build Status ![Coverage Status][ico-scrutinizer] Quality Score ![Total Downloads][ico-downloads] StyleCI, (*1)

WordPress like shortcodes for Laravel 5.x, (*2)

[b class="bold"]Bold text[/b]

[tabs]
  [tab]Tab 1[/tab]
  [tab]Tab 2[/tab]
[/tabs]

[user id="1" display="name"]

If you are looking for Laravel 4.2, see: https://github.com/patrickbrouwers/Laravel-Shortcodes, (*3)

Install

Via Composer, (*4)

``` bash $ composer require "webwizo/laravel-shortcodes:1.0.*", (*5)


After updating composer, add the ServiceProvider to the providers array in `config/app.php` ## Usage ```php Webwizo\Shortcodes\ShortcodesServiceProvider::class,

You can use the facade for shorter code. Add this to your aliases:, (*6)

'Shortcode' => Webwizo\Shortcodes\Facades\Shortcode::class,

The class is bound to the ioC as shortcode, (*7)

$shortcode = app('shortcode');

Usage

withShortcodes()

To enable the view compiling features:, (*8)

return view('view')->withShortcodes();

This will enable shortcode rendering for that view only., (*9)

Enable through class

Shortcode::enable();

Disable through class

Shortcode::disable();

Disabling some views from shortcode compiling

With the config set to true, you can disable the compiling per view., (*10)

return view('view')->withoutShortcodes();

Default compiling

To use default compiling:, (*11)

Shortcode::compile($contents);

Strip shortcodes from rendered view.

return view('view')->withStripShortcodes();

Strip shortcode through class

Shortcode::strip($contents);

Registering new shortcodes

Create a new ServiceProvider where you can register all the shortcodes., (*12)

``` bash php artisan make:provider ShortcodesServiceProvider, (*13)


After defining shortcodes, add the ServiceProvider to the providers array in `config/app.php` ## Usage ```php App\Providers\ShortcodesServiceProvider::class,

Callback

Shortcodes can be registered within ShortcodesServiceProvider with a callback:, (*14)

php artisan make:provider ShortcodesServiceProvider

ShortcodesServiceProvider.php Class File, (*15)

<?php namespace App\Providers;

use App\Shortcodes\BoldShortcode;
use Illuminate\Support\ServiceProvider;
use Shortcode;

class ShortcodesServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap the application services.
     *
     * @return void
     */
    public function boot()
    {
        //
    }

    /**
     * Register the application services.
     *
     * @return void
     */
    public function register()
    {
        Shortcode::register('b', BoldShortcode::class);
        Shortcode::register('i', 'App\Shortcodes\ItalicShortcode@custom');
    }
}

Default class for BoldShortcode

You can store each shortcode within their class app/Shortcodes/BoldShortcode.php, (*16)

namespace App\Shortcodes;

class BoldShortcode {

  public function register($shortcode, $content, $compiler, $name, $viewData)
  {
    return sprintf('<strong class="%s">%s</strong>', $shortcode->class, $content);
  }

}

Class with custom method

You can store each shortcode within their class app/Shortcodes/ItalicShortcode.php, (*17)

namespace App\Shortcodes;

class ItalicShortcode {

  public function custom($shortcode, $content, $compiler, $name, $viewData)
  {
    return sprintf('<i class="%s">%s</i>', $shortcode->class, $content);
  }

}

Register helpers

If you only want to show the html attribute when the attribute is provided in the shortcode, you can use $shortcode->get($attributeKey, $fallbackValue = null), (*18)

class BoldShortcode {

  public function register($shortcode, $content, $compiler, $name, $viewData)
  {
    return '<strong '. $shortcode->get('class', 'default') .'>' . $content . '</strong>';
  }

}

Change log

Please see CHANGELOG for more information what has changed recently., (*19)

Contributing

Please see CONTRIBUTING and CONDUCT for details., (*20)

Security

If you discover any security related issues, please email webwizo@gmail.com instead of using the issue tracker., (*21)

Credits

Support me

Buy Me A Coffee, (*22)

License

The MIT License (MIT). Please see License File for more information., (*23)

The Versions

25/08 2016

dev-analysis-8Qlm33

dev-analysis-8Qlm33 https://github.com/webwizo/laravel-shortcodes

Wordpress like shortcodes for Laravel 5.3

  Sources   Download

MIT

The Requires

 

The Development Requires

wordpress laravel shortcodes