Skip to content
Symfony Bundle that allows you to easily integrate a git based wiki into your project.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Analyzer
Command
Controller
DependencyInjection
Event
Exception
Form/Type
Markdown/Renderer
Model
Repository
Resources
Service
Tests
Twig
.gitignore
.scrutinizer.yml
.travis.yml
DdrGitkiBundle.php
LICENSE
README.md
composer.json
phpunit.xml.dist

README.md

gitki-bundle

Build Status Code Coverage Scrutinizer Code Quality

About

Symfony Bundle that allows you to easily integrate a git based wiki into you project.

This project is currently in alpha state. It is working but changes happen frequently.

Features

  • Git based
  • Fully integrated markdown support (commonmark)
  • Optional elasticsearch integration
  • Minimal configuration
  • Easy to extend
  • Easy to integrate

Installation

Install via composer:

composer require dontdrinkandroot/gitki-bundle

Enable the bundle by adding the following line in the app/AppKernel.php file of your project:

// app/AppKernel.php
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...
            new Dontdrinkandroot\GitkiBundle\DdrGitkiBundle(),
        );

        // ...
    }
}

To use this bundle in your project the User class handed to the bundle must implement the Dontdrinkandroot\GitkiBundle\Model\GitUserInterface. Fortunately this is compatible with the FOSUserBundle.

Configuration

Configure the bundle in the app/config/config.yml. At least the repository path is required which must point to a git repository which is initialized and readable/writeable by the webserver.

# Default configuration for extension with alias: "ddr_gitki"
ddr_gitki:

    # The path to the git repository containing the wiki files. Must end with slash.
    repository_path:      ~ # Required

    # When enabled breadcrumbs are shown for easy navigation
    show_breadcrumbs:     true

    # When enabled the files and folders of the containing directory are shown while viewing a file
    show_directory_contents: true

    # Markdown specific configuration
    markdown:

        # When disabled all html content is escaped
        allow_html:           false
        toc:

            # Show the table of contents
            enabled:              true

            # Max depth of the table of contents
            max_level:            3

    # Configure elasticsearch integration
    elasticsearch:
        index_name:           ~ # Required
        host:                 localhost
        port:                 9200

    # Maps user roles to internal roles
    roles:

        # Is allowed to view content
        watcher:              IS_AUTHENTICATED_ANONYMOUSLY

        # Is allowed to edit content
        committer:            ROLE_USER
        admin:                ROLE_ADMIN

    # The file names that are used as a directory index. Searched in the order defined.
    index_files:

        # Defaults:
        - index.md
        - README.md
        - index.txt
        - README.txt

Add the routing to the app/config/routing.yml:

ddr_gitki_base:
resource: "@DdrGitkiBundle/Resources/config/routing.yml"
prefix: /wiki
You can’t perform that action at this time.