Skip to content

Zavy86/WikiDocs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wiki|Docs

Just a databaseless markdown flat-file wiki engine.

Project homepage: https://www.wikidocs.it

Please consider supporting this project by making a donation via PayPal

Wiki|Docs presentation and contributors recruitment on YouTube

Features

  • Open source
  • Plain text files
  • No database required
  • Markdown syntax
  • Editor full WYSIWYG
  • Support for math KaTeX
  • Unlimited page revisions
  • Uploading and downloading Attachments
  • Uploading images (also from clipboard)
  • Content can be categorized in namespaces
  • Automatic generated index and sitemap
  • Public and private browsing
  • Syntax highlighting
  • Multi language
  • Dark mode
  • Sitemap
  • and many more...

Demo

Try the demo playground at: http://demo.wikidocs.it

Authentication code is: demo

Setup

Manual

Download the lastest release or clone the repository with git clone https://github.com/Zavy86/wikidocs.git

Docker

There is a Docker image that sets up Wiki|Docs with Apache2 and PHP automatically.

Quick run

docker run -d -p 80:80 zavy86/wikidocs

Additional settings

docker run --name wikidocs -d -p 80:80 -v /path/to/local/wikidocs/datasets/or/volume:/datasets -e PUID=1000 -e PGID=1000 zavy86/wikidocs

With Docker Compose

version: '3'

services:
  wikidocs:
    image: zavy86/wikidocs
    environment:
      - PUID=1000
      - PGID=1000
    ports:
      - 80:80
    volumes:
      - /path/to/local/wikidocs/datasets/or/volume:/datasets

Apache Configuration

Automatic

  • The setup.php script will automatically create both datasets/config.inc.php and .htaccess files

Manual

  • Copy the configuration sample file cp config.sample.inc.php datasets/config.inc.php
  • Edit the configuration file nano datasets/config.inc.php
  • Create the .htaccess file like this:
<IfModule mod_rewrite.c>
	RewriteEngine On
	RewriteBase /
	RewriteCond %{REQUEST_URI} \.md$ [NC]
	RewriteRule ^.*$ / [R=301,L]
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteRule ^(.*)$ index.php?doc=$1 [NC,L,QSA]
</IfModule>
  • Make sure that RewriteBase is the same as the PATH in the configuration file included trailing slashes

Nginx Configuration

Manual

  • Use this as Nginx configuration for WikiDocs:
location ~* \.(css|js|jpg|jpeg|png|gif|ico|svg)$ {
  try_files $uri =404;
  add_header Cache-Control "public, max-age=3600";
}
location ~* \.md$ {
  return 301 /;
}
location / {
  if (!-e $request_filename){
    rewrite ^/(.*)$ /index.php?doc=$1 last;
  }
  try_files $uri $uri/ =404;
}
  • Copy the configuration sample file cp config.sample.inc.php datasets/config.inc.php
  • Edit the configuration file nano datasets/config.inc.php

Customization

You can customize the default template by creating the file styles/styles-custom.css.

Developers

Creator

Manuel Zavatta

Contributors

License

Code released under the MIT License