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
- 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...
Try the demo playground at: http://demo.wikidocs.it
Authentication code is: demo
Download the lastest release or clone the repository with git clone https://github.com/Zavy86/wikidocs.git
There is a Docker image that sets up Wiki|Docs with Apache2 and PHP automatically.
docker run -d -p 80:80 zavy86/wikidocs
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
version: '3'
services:
wikidocs:
image: zavy86/wikidocs
environment:
- PUID=1000
- PGID=1000
ports:
- 80:80
volumes:
- /path/to/local/wikidocs/datasets/or/volume:/datasets
- The
setup.php
script will automatically create bothdatasets/config.inc.php
and.htaccess
files
- 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
- 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
You can customize the default template by creating the file styles/styles-custom.css
.
Manuel Zavatta
- Amin Persia
- Alex Meyer
- Micha
- Bo Allen
- Jv3ga
- Sam
- kevwkev
- Сергей Ворон
- Nicolas Prenveille
- Antonio Rodrigues
- Miguel Renato
- Alain Martini
- Davide Visentin
- Christian Weber
- Petr Husák
Code released under the MIT License