PHPackages                             weerd/apollo-pages - 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. weerd/apollo-pages

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

weerd/apollo-pages
==================

Laravel package to provide static page CMS.

v1.3.0(4y ago)4711[2 issues](https://github.com/weerd/apollo-pages/issues)MITPHPPHP ^7.2.5CI failing

Since Aug 8Pushed 4y ago2 watchersCompare

[ Source](https://github.com/weerd/apollo-pages)[ Packagist](https://packagist.org/packages/weerd/apollo-pages)[ Docs](https://github.com/weerd/apollo-pages)[ RSS](/packages/weerd-apollo-pages/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (5)Dependencies (9)Versions (9)Used By (0)

Laravel Apollo Pages
====================

[](#laravel-apollo-pages)

### Create &amp; Manage Simple Static Pages

[](#create--manage-simple-static-pages)

 [ ![Build Status](https://camo.githubusercontent.com/1543ed7a2bd479e7a8fe1483688292f289fd2be7668b44994a4a75beaf4a7dd9/68747470733a2f2f7472617669732d63692e6f72672f77656572642f61706f6c6c6f2d70616765732e7376673f6272616e63683d6d6173746572) ](https://travis-ci.org/weerd/apollo-pages) [ ![Latest Stable Version](https://camo.githubusercontent.com/bb2dc21a253d223d7f14e06d52a37a4d3c12f40051241ee0ae972ed70c2f58a1/68747470733a2f2f706f7365722e707567782e6f72672f77656572642f61706f6c6c6f2d70616765732f762f737461626c652e7376673f666f726d61743d666c6174) ](https://packagist.org/packages/weerd/apollo-pages) [ ![License](https://camo.githubusercontent.com/d98c26d9b09e6f27472d43d949359b2d7aeb3e139954d371cb53c79e35dcf3d3/68747470733a2f2f706f7365722e707567782e6f72672f77656572642f61706f6c6c6f2d70616765732f6c6963656e73652e7376673f666f726d61743d666c6174) ](https://packagist.org/packages/weerd/apollo-pages)

Introduction
------------

[](#introduction)

**Apollo Pages** is a package for [Laravel](https://laravel.com/) that provides scaffolding and functionality for generating and presenting static pages in a plug-and-play, CMS-like fashion.

The package sets up a very bare-bones administrative interface that is specifically designed to help with creating and managing simple static-content pages and subpages, written in markdown without the need to define any custom routes.

The administrative interface is entirely just HTML so it can be customized to your liking. Developers can publish the package views to their project and fully customize them as needed.

It all works fine out of the box, it just needs a fresh coat of paint. I highly recommend using something like [Tailwind CSS](https://tailwindcss.com/), [Bootstrap](https://getbootstrap.com/), rolling your own or integrating it into your existing administration interface styles.

Installation
------------

[](#installation)

### Step 1: Composer

[](#step-1-composer)

From the command line, run:

```
$ composer require weerd/apollo-pages
```

### Step 2: Service Provider

[](#step-2-service-provider)

Within your Laravel project, open `config/app.php` and, at the end of the `providers` array, include the `ApolloPagesServiceProvider`.

For example:

```
'providers' => [
    // ...

    /*
     * Application Service Providers...
     */
    // ...

    /*
     * Post-Application Package Service Providers...
     */
    Weerd\ApolloPages\ApolloPagesServiceProvider::class,
],
```

**Important note**: this will bootstrap the package into Laravel. To have `ApolloPages` work correctly and behave as a catch all for routes specifiying custom pages, the routes for the package need to be considered *after* the main application routes defined in `/routes/web.php`. For this behavior, the `ApolloPagesServiceProvider` needs to be defined at the very end of the `providers` array.

### Step 3: Migrate

[](#step-3-migrate)

Next, run the migration to add the `pages` table to your database:

```
$ php artisan migrate
```

### Step 4: Confirmation

[](#step-4-confirmation)

This step is optional, but if you would like to confirm that the installation is working and the package routes are registering as expected, load up your project in a browser and head to `yourproject.test/status/apollo` (replace `yourproject.test` with the URL for your project).

You should see this JSON response confirming all is well:

```
{
    "status": "Apollo Pages routes are working!"
}
```

Customization
-------------

[](#customization)

### Publish Vendor Files

[](#publish-vendor-files)

The `ApolloPages` package makes use of the `artisan publish` command to allow user's to publish some of this package's files to their project so that they can easily be overridden and customized by the package user.

You can publish all available publishable package files to your project by running:

```
$ php artisan vendor:publish --provider="Weerd\ApolloPages\ApolloPagesServiceProvider"
```

Alternatively, you can publish just the view files to your project by running:

```
$ php artisan vendor:publish --tag="apollo-pages-views"
```

For a third option, as of Laravel 5.5 you can use the provider prompt to select which provider or tag's files to publish by running:

```
$ php artisan vendor:publish
```

And then follow the prompt.

Usage
-----

[](#usage)

Once everything is setup, authenticate as an admin into your application and then head to `yourproject.test/admin/pages` to create and manage your static pages.

The default `ApolloPages\Http\Controllers\Admin\PageController.php` which controls the administration of pages utilizes the `auth` middleware, so you will need to have an authentication system setup to use it.

You can easily do this by running `php artisan make:auth` on a fresh Laravel application. However, you can also override this behavior by just creating your own administrative page controller and extending `ApolloPages\Http\Controllers\Admin\PageController.php` to modify or extend its functionality.

Anyhoo, the world is your oyster, so go wild!

### Creating Pages

[](#creating-pages)

On the "pages" index at `yourproject.test/admin/pages`, click on the "Add new page" link to head to the `admin/pages/create` view which has the following fields:

- **Title**: enter a title for the page.
- **Slug**: enter a slug for the page URL (the value entered will be converted to kebab case).
- **Parent page**: define if this page is a subpage (child) of a previously created page; if no other pages exist, dropdown is empty.
- **Body**: the body content of the page as markdown.

Fill out the fields and submit the form to create the new page. You can then click to view this newly created page from the `/admin/pages` index list of pages.

You can create as many top level pages or subpages as you desire.

Enjoy!

Credits
-------

[](#credits)

- [Diego Lorenzo](https://github.com/weerd)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance10

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity63

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 ~248 days

Recently: every ~372 days

Total

7

Last Release

1715d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0c65d90f6bd5fab62b83391cd589b9e88eea9ef07dfbcef63198721d03626566?d=identicon)[weerd](/maintainers/weerd)

---

Top Contributors

[![weerd](https://avatars.githubusercontent.com/u/105849?v=4)](https://github.com/weerd "weerd (93 commits)")

---

Tags

laravellaravelcmspagesweerd

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/weerd-apollo-pages/health.svg)

```
[![Health](https://phpackages.com/badges/weerd-apollo-pages/health.svg)](https://phpackages.com/packages/weerd-apollo-pages)
```

###  Alternatives

[barryvdh/laravel-ide-helper

Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.

14.9k123.0M687](/packages/barryvdh-laravel-ide-helper)[spatie/laravel-enum

Laravel Enum support

3655.4M31](/packages/spatie-laravel-enum)[psalm/plugin-laravel

Psalm plugin for Laravel

3274.9M308](/packages/psalm-plugin-laravel)[zonneplan/laravel-module-loader

Module loader for Laravel

24118.4k](/packages/zonneplan-laravel-module-loader)[tehwave/laravel-achievements

Simple, elegant Achievements the Laravel way

7012.8k](/packages/tehwave-laravel-achievements)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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