Wik Wiki

last modified: May 10, 2011

Inspired by ShortestWikiContest, I've created WikWiki from scratch. It's 1287 characters long (17 lines) and written in PHP. WikiPrinciples are obeyed.

A new version of WikWiki with advanced features is available on GitHub: http://github.com/smasty/WikWiki


Features


Installation

No special installation is required, just copy the source.


Short source code version

<?php function p($c){$r=preg_replace(array("~^ +([^\n]+)~m",'~^-\s+(.*)$~m',
"~-{4,},\r?\n~",'~(http(?:s)?)://([^\s]+)~i','~\n~'),array('<code>$1</code>','<li>$1',
'<hr>','<a href=$1://$2>$2</a>','<br>'),$c);preg_match_all('~([A-Z]\w+){2,},~',$r,
$x);foreach(array_unique($x[0])as$m){$r=str_replace($m,x($m)? "<a href=?$m>$m</a>":
"$m<a href=?e=$m>?</a>",$r);},return$r;},function f($f){@mkdir('wik');return
@file_get_contents("wik/$f.w");},function b($b){echo"<h1><a href=?$b>Backlinks $b"
."</a></h1><div id=c>";foreach(glob('wik/*.w')as$f){$f=substr($f,4,-2);if(strpos(
f($f),$b)!==false)echo"<a href=?$f>$f</a><br>";},echo"</div>";},function x($f){
return file_exists("wik/$f.w");},function e($p){$p=$p?$p:$_GET['e'];echo"<h1>Edit"
." $p</h1><form action='?$p' method=post><textarea name=c cols=50 rows=10>".f($p)
."</textarea><br><input type=submit value=Save>";},$p=preg_replace('~(e|b)=(.*)~'
,'',$_SERVER[QUERY_STRING]);$c=$_POST[c];$e=$_GET[e];$b=$_GET[b];if(!$p&&!$e)$p=
'MainPage';if($c){@file_put_contents("wik/$p.w",htmlspecialchars($c));header(
"Location: ?$p");},echo"<title>Wik Wiki</title>";if(!$e){if(!$b){echo x($p)?
"<h1><a href=?b=$p>$p</a></h1><div id=c>".p(f($p))."</div><hr><a href=?e=$p>"
."Edit</a> | <small>Modified: ".date('d.m.Y @ H:i:s', @filemtime("wik/$p.w"))
:e($p);},else b($b);},else e($e);

License

WikWiki is licensed under the terms and conditions of the MIT License - http://opensource.org/licenses/mit-license

An author of the original WikWiki code is Martin Srank (http://smasty.net)


CategoryWikiImplementation


Loading...