PHPackages                             fungku/kwiki - 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. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. fungku/kwiki

ActiveProject[Parsing &amp; Serialization](/categories/parsing)

fungku/kwiki
============

Quick wiki or blog with markdown files

v0.5.0(10y ago)7524111[1 issues](https://github.com/ryanwinchester/kwiki/issues)Apache-2.0PHPPHP &gt;=5.5.9

Since Apr 23Pushed 10y ago5 watchersCompare

[ Source](https://github.com/ryanwinchester/kwiki)[ Packagist](https://packagist.org/packages/fungku/kwiki)[ RSS](/packages/fungku-kwiki/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (6)Versions (13)Used By (0)

Kwiki
=====

[](#kwiki)

[![Version](https://camo.githubusercontent.com/a4043da024fcbae59d96e841d7af0ac87027574ebef35b706d7223909edf7735/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f66756e676b752f6b77696b692e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/fungku/kwiki)[![Total Downloads](https://camo.githubusercontent.com/e533e0f3ac1f0cde62dcedea2e540bb2d13faee2d308ef99461fcd1b649b262f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f66756e676b752f6b77696b692e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/fungku/kwiki)[![License](https://camo.githubusercontent.com/6e5bcec9ebfa65c52817cb4e7dbc6cd9f2babb0dc09ed937bb8bb448214e4ad3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f66756e676b752f6b77696b692e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/fungku/kwiki)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/9f019418ae95b589603a93c16bcc7bcb98f860b62f766d94305ce7e13b8fdc5d/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f66756e676b752f6b77696b692e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/fungku/kwiki/?branch=master)[![Build Status](https://camo.githubusercontent.com/73804e02cd19364e0370dc685f6c034e361f1ab92be24e4a48acabceb28f50c3/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f66756e676b752f6b77696b692e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/fungku/kwiki)

[![SensioLabsInsight](https://camo.githubusercontent.com/2385dc53aff9e17fc5d22edfc8ec619f58cf7d3ef300c6eddead806509c1fe9e/68747470733a2f2f696e73696768742e73656e73696f6c6162732e636f6d2f70726f6a656374732f37636362336233352d303531612d343032362d623631382d6432623864643164613634632f6269672e706e67)](https://insight.sensiolabs.com/projects/7ccb3b35-051a-4026-b618-d2b8dd1da64c)

markdown wiki/blog
------------------

[](#markdown-wikiblog)

Usage
-----

[](#usage)

Place your markdown files in the `/wiki` directory.

Categories are directories and subcategories are subdirectories.

If you place an `index.md` in a category or subcategory directory, it will be parsed and displayed after the list of subcategories and files.

The views are blade templates and located at `resources/views/wiki` and the master layout template is `resources/views/master.blade.php`

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

[](#installation)

Using composer:

```
$ composer create-project fungku/kwiki --prefer-dist

```

Setup
-----

[](#setup)

From the project root, rename `.env.example` to `.env`

```
$ mv .env.example .env

```

Edit `.env` for your environment. i.e. change from *local* to *production* on your production server, and change debug to false.

Using a different parser
------------------------

[](#using-a-different-parser)

By default the markdown parser used is [erusev/parsedown](https://github.com/erusev/parsedown). To use a different one, you need to make your own parser that implements the `Parseable` interface or create an adapter for a different library that implements `Parseable`. Then, you should change the binding in `app/Providers/AppServiceProvider.php` to your custom parser.

```
$this->app->bind(Parseable::class, MyCustomParser::class);
```

Understanding the data passed to your views
-------------------------------------------

[](#understanding-the-data-passed-to-your-views)

You will have four variables you can use in your wiki page view:

1. `$title` is the title of the post or category.
2. `$breadcrumbs` is an array of breadcrumbs with `href` and `name` indexes
3. `$index` is available if you have navigated to a directory, or an empty array otherwise
    - `$index['subcategories']` is an array of subdirectories in your current directory with `href` and `name` indexes
    - `$index['files']` is an array of files in your current directory with `href` and `name` indexes
4. `$post` is a string of your parsed markdown content

Changing default directories
----------------------------

[](#changing-default-directories)

Move or rename your wiki directory to wherever or whatever you want. Just update `app/Http/Controllers/WikiController.php`variable `$wikiPath`.

Move or rename your wiki view template to wherever or whatever you want. Just update `app/Http/Controllers/WikiController.php`variable `$wikiView`.

The default styling is very basic
---------------------------------

[](#the-default-styling-is-very-basic)

By default we include a bootswatch theme from a CDN and `public/css/app.css` for custom styles.

Navigating to a category example:

[![Very basic default styling](https://camo.githubusercontent.com/59549be39f701b372d02123d280c1bc3193fd99fbc505bf072deea9d4691c17e/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f66756e676b752f6b77696b692f66756e676b752d6b77696b692d63617465676f72792e706e67)](https://camo.githubusercontent.com/59549be39f701b372d02123d280c1bc3193fd99fbc505bf072deea9d4691c17e/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f66756e676b752f6b77696b692f66756e676b752d6b77696b692d63617465676f72792e706e67)

Plans
-----

[](#plans)

Plans for the near future might be a bit nicer default style. Otherwise, I'm completely open to criticisms and suggestions since it already fulfils my requirements.

I might extract a package out of it, but it will be laravel-specific, due to the routes, controllers, and service provider.

If you wanted something outside of the laravel universe you could roll your own and you might be interested in my pagemark package linked below.

Powered by
----------

[](#powered-by)

- [Lumen](https://github.com/laravel/lumen) - Laravel's official micro framework
- [Pagemark](https://github.com/ryanwinchester/pagemark) - A package I wrote that basically does all the work
- [Parsedown](https://github.com/erusev/parsedown) - A popular markdown parser, and this project's default

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity26

Limited adoption so far

Community23

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

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

Recently: every ~92 days

Total

12

Last Release

3671d ago

Major Versions

v0.2.1 → 5.1.x-dev2015-07-23

### Community

Maintainers

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

---

Top Contributors

[![ryanwinchester](https://avatars.githubusercontent.com/u/2897340?v=4)](https://github.com/ryanwinchester "ryanwinchester (38 commits)")[![taylorotwell](https://avatars.githubusercontent.com/u/463230?v=4)](https://github.com/taylorotwell "taylorotwell (36 commits)")[![GrahamCampbell](https://avatars.githubusercontent.com/u/2829600?v=4)](https://github.com/GrahamCampbell "GrahamCampbell (4 commits)")[![adamgoose](https://avatars.githubusercontent.com/u/611068?v=4)](https://github.com/adamgoose "adamgoose (3 commits)")[![jleft](https://avatars.githubusercontent.com/u/2017615?v=4)](https://github.com/jleft "jleft (1 commits)")[![joecohens](https://avatars.githubusercontent.com/u/1803556?v=4)](https://github.com/joecohens "joecohens (1 commits)")[![jrean](https://avatars.githubusercontent.com/u/5646128?v=4)](https://github.com/jrean "jrean (1 commits)")[![ksdev-pl](https://avatars.githubusercontent.com/u/4216259?v=4)](https://github.com/ksdev-pl "ksdev-pl (1 commits)")[![martinssipenko](https://avatars.githubusercontent.com/u/598744?v=4)](https://github.com/martinssipenko "martinssipenko (1 commits)")[![mdavis1982](https://avatars.githubusercontent.com/u/199807?v=4)](https://github.com/mdavis1982 "mdavis1982 (1 commits)")[![mhanson01](https://avatars.githubusercontent.com/u/1247572?v=4)](https://github.com/mhanson01 "mhanson01 (1 commits)")[![nemkstc](https://avatars.githubusercontent.com/u/1684463?v=4)](https://github.com/nemkstc "nemkstc (1 commits)")[![intuxicated](https://avatars.githubusercontent.com/u/1641461?v=4)](https://github.com/intuxicated "intuxicated (1 commits)")[![barryvdh](https://avatars.githubusercontent.com/u/973269?v=4)](https://github.com/barryvdh "barryvdh (1 commits)")

---

Tags

markdownblogwiki

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/fungku-kwiki/health.svg)

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

###  Alternatives

[texy/texy

Texy converts plain text in easy to read Texy syntax into structurally valid (X)HTML. It supports adding of images, links, nested lists, tables and has full support for CSS. Texy supports hyphenation of long words (which reflects language rules), clickable emails and URL (emails are obfuscated against spambots), national typographic single and double quotation marks, ellipses, em dashes, dimension sign, nonbreakable spaces (e.g. in phone numbers), acronyms, arrows and many others. Texy code can optionally contain HTML tags.

161838.9k15](/packages/texy-texy)

PHPackages © 2026

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