LaravelPackages.net
Acme Inc.
Toggle sidebar
lithiumdev/laravel-tagcloud

A Laravel package for generating tag clouds.

27.416
7
v1.1.0
About lithiumdev/laravel-tagcloud

lithiumdev/laravel-tagcloud is a Laravel package for a laravel package for generating tag clouds.. It currently has 7 GitHub stars and 27.416 downloads on Packagist (latest version v1.1.0). Install it with composer require lithiumdev/laravel-tagcloud. Discover more Laravel packages by lithiumdev or browse all Laravel packages to compare alternatives.

Last updated

Laravel 5+ Tag Cloud Generator

from Lithium Hosting
We're always open to pull requests, feel free to make this your own or help us make it better.

(c) Lithium Hosting, llc

License

This library is licensed under the GNU GPL license; you can find a full copy of the license itself in the file /LICENSE

Requirements

  • Laravel 5.2+
  • php 5.5.9+
  • Knowledge of Laravel and php

Description

A Laravel package that aids in generation of tag clouds


Installation

Install this package through Composer. To your composer.json file, add:

    "lithiumdev/laravel-tagcloud": "~1.0"

Next, run the Composer update comand

$ composer update

Add the service provider to app/config/app.php, within the providers array.

    'providers' => array(
        // ...
        LithiumDev\TagCloud\ServiceProvider::class,
    ),

Usage

use LithiumDev\TagCloud\TagCloud;

$cloud = new TagCloud();
$cloud->addTag("tag-cloud");
$cloud->addTag("programming");

echo $cloud->render();

Or:

// Assumes use of Facade "TagCloud"
$cloud = \TagCloud::addTags(['tag_1', 'tag_2', 'tag_3']);

echo $cloud->render();

Convert a string

$cloud->addString("This is a tag-cloud script!");

Adding multiple tags

$cloud->addTags(array('laravel', 'laravel-tagcloud','php','github'));

Removing a tag

$cloud->setRemoveTag('github');

Removing multiple tags

$cloud->setRemoveTags(array('tag','cloud'));

More complex adding

$cloud->addTag(array('tag' => 'php', 'url' => 'http://www.php.net', 'colour' => 1));
$cloud->addTag(array('tag' => 'ajax', 'url' => 'http://www.php.net', 'colour' => 2));
$cloud->addTag(array('tag' => 'css', 'url' => 'http://www.php.net', 'colour' => 3));

Set the minimum length required

$cloud->setMinLength(3);

Limiting the output

$cloud->setLimit(10);

Set the order

$cloud->setOrder('colour','DESC');

Set a custom HTML output

$cloud->setHtmlizeTagFunction(function($tag, $size) use ($baseUrl) {
  $link = '<a href="'.$baseUrl.'/'.$tag['url'].'">'.$tag['tag'].'</a>';
  return "<span class='tag size{$size} colour-{$tag['colour']}'>{$link}</span> ";
});

Outputting the cloud (shown above)

echo $cloud->render();

Transliteration

By default, all accented characters will be converted into their non-accented equivalent, this is to circumvent duplicate similar tags in the same cloud, to disable this functionality and display the UTF-8 characters you can do the following:

$tagCloud->setOption('transliterate', false);
Comments