PHPackages                             iankov/control-panel-static - 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. [Admin Panels](/categories/admin)
4. /
5. iankov/control-panel-static

ActiveLibrary[Admin Panels](/categories/admin)

iankov/control-panel-static
===========================

Static pages module for iankov/control-panel

v1.0.2(7y ago)013PHP

Since Jan 11Pushed 7y ago1 watchersCompare

[ Source](https://github.com/iankov/control-panel-static)[ Packagist](https://packagist.org/packages/iankov/control-panel-static)[ RSS](/packages/iankov-control-panel-static/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (3)Dependencies (2)Versions (4)Used By (0)

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

[](#installation)

```
composer require iankov/control-panel-static
```

- Publish migrations

    ```
    php artisan vendor:publish --tag=icp_static_migrations
    ```
- Run migrations

    ```
    php artisan migrate
    ```
- Add item to `icp-menu.php` config file

    ```
    [
        'icon' => 'file-text',
        'title' => 'Static',
        'link' => icp_route('static')
    ]
    ```

Usage
-----

[](#usage)

Add new route in the end of your `routes/web.php` file. This will try to handle any request matching the regex by StaticPageController. If the requested route is equal to the one stored in database, you'll get the response you set by icp-static module.

```
Route::get('{route}', ['as' => 'any', 'uses' => '\Iankov\ControlPanelStatic\Controllers\StaticPageController@index'])->where('route', '[0-9a-zA-Z\-\_\.]+');
```

Example: add new static page, set route field to `custom_page.html`, set any content like `Hello World`, make it active and save. Now open your browser and try to request [http://your-website.com/\*\*custom\_page.html](http://your-website.com/**custom_page.html)\*\*. Your screen must display this:

**Hello** World

StaticPageController will try to figure out mime-type by a `route` field and return a content of the page with content-type included in header.
That means if you create route with the name `page.html`, you'll get html-type page by this route. ...`data.xml` will return content with `xml` content-type header.
If mime type can't be defined `text/html` is used.

Configuration
-------------

[](#configuration)

You can modify configuration options by adding them to `config/icp.php`
Package config located in `vendor/iankov/control-panel-static/src/config.php`
Don't change this file, just use it as an example of what options are configurable.

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity65

Established project with proven stability

 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

Every ~94 days

Total

3

Last Release

2857d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/cd80e3cd2297670bd011211d97964fb7224cd22ed4c50e754fd3012b3a23896b?d=identicon)[iankov](/maintainers/iankov)

---

Top Contributors

[![iankov](https://avatars.githubusercontent.com/u/3382329?v=4)](https://github.com/iankov "iankov (6 commits)")

### Embed Badge

![Health badge](/badges/iankov-control-panel-static/health.svg)

```
[![Health](https://phpackages.com/badges/iankov-control-panel-static/health.svg)](https://phpackages.com/packages/iankov-control-panel-static)
```

###  Alternatives

[dwij/laraadmin

LaraAdmin is a Open source Laravel Admin Panel / CMS which can be used as Admin Backend, Data Management Tool or CRM boilerplate for Laravel with features like CRUD Generation, Module Manager, Media, Menus, Backups and much more

1.6k68.7k](/packages/dwij-laraadmin)[filament/spatie-laravel-media-library-plugin

Filament support for `spatie/laravel-medialibrary`.

1764.8M125](/packages/filament-spatie-laravel-media-library-plugin)[egroupware/egroupware

EGroupware extends a classic groupware with an integrated CRM-system, a secure file-server and Collabora Online Office.

2891.6k](/packages/egroupware-egroupware)[filament/infolists

Easily add beautiful read-only infolists to any Livewire component.

1220.8M36](/packages/filament-infolists)[magefan/module-admin-user-guide

Admin panel user guides.

132.5M1](/packages/magefan-module-admin-user-guide)[php-heroku-client/php-heroku-client

A PHP client for the Heroku Platform API

24404.8k4](/packages/php-heroku-client-php-heroku-client)

PHPackages © 2026

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