PHPackages                             stolz/wiki - 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. [Framework](/categories/framework)
4. /
5. stolz/wiki

ActiveProject[Framework](/categories/framework)

stolz/wiki
==========

Simple wiki engine built on Laravel.

771.2k17PHP

Since Apr 29Pushed 10y ago3 watchersCompare

[ Source](https://github.com/Stolz/Wiki)[ Packagist](https://packagist.org/packages/stolz/wiki)[ RSS](/packages/stolz-wiki/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

[Wiki](https://github.com/Stolz/Wiki)
=====================================

[](#wiki)

A simple PHP wiki engine.

Features
--------

[](#features)

- Backend based on [Laravel 5.1](http://laravel.com) PHP framework. The code has a minimal footprint which makes the application very easy to customize to your needs.
- Frontend based on [Zurb Foundation](http://foundation.zurb.com) CSS framework which gives a clean responsive layout and a mobile-friendly user experience.
- Pages are written in [Markdown](http://en.wikipedia.org/wiki/Markdown) with live preview of the final markup.
- User authentication/registration with one click via Oauth providers (Facebook, GitHub, Google and Twitter).
- Multilanguage support via Gettext.
- Included boilerplate to implement your own custom permissions system based on user roles.

Caveats
-------

[](#caveats)

This project is not intended to be a mass distributed real world application but rather to server as a proof-of-concept and showcase of different technologies and concepts I enjoy using ([RESTful architecture](http://en.wikipedia.org/wiki/Representational_state_transfer), [Dependency Injection](http://en.wikipedia.org/wiki/Dependency_injection), [Responsive design](http://en.wikipedia.org/wiki/Responsive_web_design), [SOLID principles](http://en.wikipedia.org/wiki/SOLID_%28object-oriented_design%29), ...). Nevertheless it's being implemented to be 100% usable in real scenarios.

Install
-------

[](#install)

Via git

```
git clone https://github.com/Stolz/Wiki.git --depth 1 wiki && cd wiki && composer install

```

Via composer

```
composer create-project stolz/wiki --prefer-dist --stability=dev --no-scripts && cd wiki

```

Once the project is installed configure it as [any other Laravel app](https://laravel.com/docs/5.1/installation#configuration)

```
$EDITOR .env
$EDITOR config/app.php
php artisan migrate --seed

```

Customizing permissions
-----------------------

[](#customizing-permissions)

Trying to perform an action (create, update, delete, ...) on any of the wiki resources (users, pages, categories, ...) will trigger the `can()` method on the `app/Role.php` file with the corresponding action and resouce parameters.

The default implementation of the function is very relaxed and allows all user roles to perform all action on all resources.

```
/**
 * Determine if $this role is authorized to execute $action on $resource.
 *
 * @param  string $action
 * @param  string $resource
 * @return bool
 */
public function can($action, $resource)
{
	return true;
}

```

To customize which actions can perform each user role you only need to add your logic to this method. A silly example could be:

```
// file: app/Role.php
public function can($action, $resource)
{
	$currentUserProfile = $this->name;

	// Admin role has no restrictions
	if ($currentUserProfile === 'admin')
		return true;

	// Relaxed read permissions for all roles
	if($action === 'index' or $action === 'show')
		return true;

	// Editor role can edit pages
	if ($currentUserProfile === 'editor' and $resouce === 'page' and $action === 'edit')
		return true;

	// Manager role has full access to categories
	if ($currentUserProfile === 'manager' and $resouce === 'category')
		return true;

	return false;
}

```

If you still want a more advanced permissions system feel free to fully replace the `Permissions` middleware located at `app/Http/Middleware/Permissions.php`.

License
-------

[](#license)

MIT license. Check the included [LICENSE.txt](https://github.com/Stolz/Wiki/blob/master/LICENSE.txt) file for details.

(c) [Stolz](https://github.com/Stolz).

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity30

Limited adoption so far

Community26

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 85.5% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/0471c7d87aae4a16a5cb6a04f44963ae1756b29bfa27c4fe7d2fdf479bdbbf6e?d=identicon)[Stolz](/maintainers/Stolz)

---

Top Contributors

[![taylorotwell](https://avatars.githubusercontent.com/u/463230?v=4)](https://github.com/taylorotwell "taylorotwell (3523 commits)")[![daylerees](https://avatars.githubusercontent.com/u/207870?v=4)](https://github.com/daylerees "daylerees (105 commits)")[![franzliedke](https://avatars.githubusercontent.com/u/249125?v=4)](https://github.com/franzliedke "franzliedke (92 commits)")[![Stolz](https://avatars.githubusercontent.com/u/291060?v=4)](https://github.com/Stolz "Stolz (49 commits)")[![jasonlewis](https://avatars.githubusercontent.com/u/829059?v=4)](https://github.com/jasonlewis "jasonlewis (48 commits)")[![sparksp](https://avatars.githubusercontent.com/u/243893?v=4)](https://github.com/sparksp "sparksp (37 commits)")[![cviebrock](https://avatars.githubusercontent.com/u/166810?v=4)](https://github.com/cviebrock "cviebrock (33 commits)")[![tobsn](https://avatars.githubusercontent.com/u/109529?v=4)](https://github.com/tobsn "tobsn (26 commits)")[![crynobone](https://avatars.githubusercontent.com/u/172966?v=4)](https://github.com/crynobone "crynobone (22 commits)")[![GrahamCampbell](https://avatars.githubusercontent.com/u/2829600?v=4)](https://github.com/GrahamCampbell "GrahamCampbell (21 commits)")[![bencorlett](https://avatars.githubusercontent.com/u/181919?v=4)](https://github.com/bencorlett "bencorlett (13 commits)")[![JeffreyWay](https://avatars.githubusercontent.com/u/183223?v=4)](https://github.com/JeffreyWay "JeffreyWay (12 commits)")[![ericlbarnes](https://avatars.githubusercontent.com/u/116662?v=4)](https://github.com/ericlbarnes "ericlbarnes (11 commits)")[![neoascetic](https://avatars.githubusercontent.com/u/725836?v=4)](https://github.com/neoascetic "neoascetic (11 commits)")[![jesseobrien](https://avatars.githubusercontent.com/u/865481?v=4)](https://github.com/jesseobrien "jesseobrien (10 commits)")[![Jakobud](https://avatars.githubusercontent.com/u/87356?v=4)](https://github.com/Jakobud "Jakobud (9 commits)")[![kapv89](https://avatars.githubusercontent.com/u/1023032?v=4)](https://github.com/kapv89 "kapv89 (9 commits)")[![codler](https://avatars.githubusercontent.com/u/102052?v=4)](https://github.com/codler "codler (9 commits)")[![mikelbring](https://avatars.githubusercontent.com/u/455383?v=4)](https://github.com/mikelbring "mikelbring (9 commits)")[![kbanman](https://avatars.githubusercontent.com/u/635006?v=4)](https://github.com/kbanman "kbanman (8 commits)")

### Embed Badge

![Health badge](/badges/stolz-wiki/health.svg)

```
[![Health](https://phpackages.com/badges/stolz-wiki/health.svg)](https://phpackages.com/packages/stolz-wiki)
```

###  Alternatives

[laravel/passport

Laravel Passport provides OAuth2 server support to Laravel.

3.4k85.0M532](/packages/laravel-passport)[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M259](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

712181.8M596](/packages/laravel-prompts)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M121](/packages/cakephp-chronos)[laravel/pail

Easily delve into your Laravel application's log files directly from the command line.

91545.3M590](/packages/laravel-pail)

PHPackages © 2026

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