PHPackages                             leandro-grg/list-maker - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. leandro-grg/list-maker

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

leandro-grg/list-maker
======================

A template &amp; db based list generator

v0.0.1(7y ago)020[1 issues](https://github.com/leandro-grg/list-maker/issues)MITPHP

Since Sep 4Pushed 7y agoCompare

[ Source](https://github.com/leandro-grg/list-maker)[ Packagist](https://packagist.org/packages/leandro-grg/list-maker)[ RSS](/packages/leandro-grg-list-maker/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

ListMaker
=========

[](#listmaker)

Installation
============

[](#installation)

### Require the package with composer

[](#require-the-package-with-composer)

```
composer require leandro-grg/list-maker

```

### Publish the vendor assets

[](#publish-the-vendor-assets)

```
php artisan vendor:publish --provider='LeandroGRG\ListMaker\Providers\ListMakerServiceProvider'
```

### Add the provider to your application providers

[](#add-the-provider-to-your-application-providers)

```
return [
    //...
    'providers' => [
        //...
        LeandroGRG\ListMaker\Providers\ListMakerServiceProvider::class
    ]
    //...
];
```

### Run the package migrations

[](#run-the-package-migrations)

```
php artisan migrate
```

### (optional) Alias

[](#optional-alias)

You can alias the class by adding the next code snippet to your `config/app.php`

```
return [
    //...
    'aliases' => [
        //...
        'ListMaker' => LeandroGRG\ListMaker\ListGen::class
        //...
    ]
    //...
];
```

Usage
=====

[](#usage)

To use a list generator, you only need to write this in your view:

```
{{ ListMaker::make('list-name') }}
```

Also, you can use the package's custom blade directive:

```
@list('list-name')
```

If you won't to use it on a `.blade.php` file, you can use plain php

```

```

### Creating lists

[](#creating-lists)

In order to create lists, just execute the command `php artisan list:create-list`, and follow the steps in the interactive cli tool. This will create an entry in the `lists` table, and the required folders: `app/Helpers/ListTemplates` directory.

### Creating items

[](#creating-items)

Run the command `php artisan list:create-list-item`. The command will prompt you for the the main list to add the new item. Once you select the list, it will prompt you for all the properties required for creating the item:

- **Type** `string` `required`: The item type (`item` or `divider`)
- **Route** `string` `nullable`: The item route.
- **Icon** `string` `nullable`: The item icon
- **Display** `string` `required`: The item display text
- **Order** `integer` `required`: The order of the item

Templates
=========

[](#templates)

All the templates are located in the `app/Helpers/ListTemplates` directory. For each list, a directory is created in `app/Helpers/ListTemplates/{StudlyCaseListName}`.

### Lists

[](#lists)

Inside the `app/Helpers/ListTemplates/{StudlyCaseListName}` directory, you will find two relevant files for the lists:

- **Parser**It's a generated class called `{StudlyCaseListName}Parser.php` with only one method, the `parse` method. It receives the `$list (Illuminate\Database\Eloquent\Model)`parameter, useful for replacing the strings in the template. The `parse` method returns an array to be used in the `strtr` php function.
- **Template**Inside the folder, you can find a file called `ListTemplate.html`. That's the list template, you can modify it as you like.

### List items

[](#list-items)

Basically, it works like the list parser, with a little difference:

- **Parser**In this case, the parser will have a method for each type of item, following the pattern `parse{Type}Type`. For example, this will be the method for a divider type item:

```
static function parseDividerType ($item)
{
    return [];
}
```

- **Template**And you can find the template for each type of item, in the *list* folder, following the next name pattern `{ItemType}Template.html`.

Adding custom item types
========================

[](#adding-custom-item-types)

We're working on this. At the moment, you can use the `item` and `divider` item types.

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2804d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5733d241d58453b4d995b75b8f99e29223dbfa8db1561d273b807806f9f187d7?d=identicon)[leandrogrg](/maintainers/leandrogrg)

---

Top Contributors

[![cabutia](https://avatars.githubusercontent.com/u/20747464?v=4)](https://github.com/cabutia "cabutia (1 commits)")

### Embed Badge

![Health badge](/badges/leandro-grg-list-maker/health.svg)

```
[![Health](https://phpackages.com/badges/leandro-grg-list-maker/health.svg)](https://phpackages.com/packages/leandro-grg-list-maker)
```

###  Alternatives

[symfony/polyfill-uuid

Symfony polyfill for uuid functions

688335.4M63](/packages/symfony-polyfill-uuid)[spatie/error-solutions

This is my package error-solutions

6853.2M11](/packages/spatie-error-solutions)[phpflo/phpflo

Flow-based programming for PHP

2173.3k4](/packages/phpflo-phpflo)[eftec/autoloadone

AutoloadOne is a program that generates an autoload class for PHP.

403.4k](/packages/eftec-autoloadone)[ys-tools/default-theme-configuration-bundle

OroCommerce Default Theme Configuration Bundle

124.2k](/packages/ys-tools-default-theme-configuration-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
