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

v0.2.0 2018-02-28 13:58 UTC

This package is auto-updated.

Last update: 2024-06-13 14:05:55 UTC


Latest Stable Version License Continuous Integration Coverage Maintainability Rating Reliability Rating Security Rating


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.


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


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.


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"

    # 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

        # When disabled all html content is escaped
        allow_html:           false

            # Show the table of contents
            enabled:              true

            # Max depth of the table of contents
            max_level:            3

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

    # Maps user roles to internal 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.

        # Defaults:
        - index.txt
        - README.txt

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

resource: "@DdrGitkiBundle/Resources/config/routing.yml"
prefix: /wiki


Run elasticsearch in docker locally:

docker run -p -p -e "discovery.type=single-node"