Need help with laravel-shortcodes?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

webwizo
143 Stars 44 Forks MIT License 74 Commits 15 Opened issues

Description

Wordpress like shortcodes for Laravel 4.2, 5.x, 6.x, 7.x and 8.x

Services available

!
?

Need anything else?

Contributors list

# 362,295
PHP
Laravel
shortco...
WordPre...
13 commits
# 12,163
PHP
Laravel
axios
CSS
3 commits
# 247,811
PHP
HTML
Laravel
shortco...
3 commits
# 261,655
Markdow...
Laravel
laravel...
php7
1 commit
# 291,554
Laravel
PHP
CSS
tenancy
1 commit
# 410,977
Laravel
PHP
C
Shell
1 commit
# 558,694
JavaScr...
PHP
WordPre...
Laravel
1 commit
# 471,710
TypeScr...
fastify
Node.js
PHP
1 commit
# 233,250
captcha
PHP
Laravel
shortco...
1 commit

Laravel-Shortcodes

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads StyleCI

WordPress like shortcodes for Laravel 5.x

[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

Install

Via Composer

$ composer require "webwizo/laravel-shortcodes:1.0.*"

After updating composer, add the ServiceProvider to the providers array in

config/app.php

Usage

Webwizo\Shortcodes\ShortcodesServiceProvider::class,

You can use the facade for shorter code. Add this to your aliases:

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

The class is bound to the ioC as

shortcode
$shortcode = app('shortcode');

Usage

withShortcodes()

To enable the view compiling features:

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

This will enable shortcode rendering for that view only.

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.

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

Default compiling

To use default compiling:

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.

php artisan make:provider ShortcodesServiceProvider

After defining shortcodes, add the ServiceProvider to the providers array in

config/app.php

Usage

App\Providers\ShortcodesServiceProvider::class,

Callback

Shortcodes can be registered within ShortcodesServiceProvider with a callback:

php artisan make:provider ShortcodesServiceProvider

ShortcodesServiceProvider.php Class File ```php <?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\[email protected]');
}

} ```

Default class for BoldShortcode

You can store each shortcode within their class

app/Shortcodes/BoldShortcode.php
```php namespace App\Shortcodes;

class BoldShortcode {

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

} ```

Class with custom method

You can store each shortcode within their class

app/Shortcodes/ItalicShortcode.php
```php namespace App\Shortcodes;

class ItalicShortcode {

public function custom($shortcode, $content, $compiler, $name, $viewData) { return sprintf('%s', $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)
class BoldShortcode {

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

}

Change log

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING and CONDUCT for details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

Support me

Buy Me A Coffee

License

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

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.