Wikit and Tclkit were designed to run out-of-the-box, with no installation or configuration whatsoever. This goes beyond what you are probably used to with software applications as elaborate as Wikit.
Enough said, let's get you started:
LV As of 2007-12-12, a weekly snapshot of wikit.gz is available via https://sourceforge.net/project/showfiles.php?group_id=211498 .
LV Quick note - Daniel's latest wishkit at the above URL appears to be Tcl 8.4.10 . Is there some newer location for this item?
Welcome to Wikit!
You can put "tclkit" anywhere on your $PATH; it's just a runtime. The file "wikit" is an executable starkit containing all the scripts - typing just "wikit" (or "./wikit") should also work. Note that wikit expects a wikit.tkd file in the current directory (else it will create a fresh one).
This means that if you wish for people to share wikit data locally, you need to write a wrapper that cd's to a common, writable directory, before invoking the wikit.kit file. That is the only way that all the users - or even you yourself - will see an accumulation of data. It is an unfortunate consequence of the new design.
For example, such a sample script might look like:
#! /bin/ksh cd /usr/local/wikit/shareddata/ wikit wikit.tkd
You can specify the name of the datafile on the command line. To open the wiki in read-only mode, add "-readonly" as command-line arg.
Wikit does not require Tcl/Tk or Metakit to be installed separately on your system - nor does it care if they are (or will be, one day). Everything is wrapped up inside the Tclkit standalone excutable. To uninstall Wikit: delete these files again. To use this on another machine: move them. If it's a different platform: switch to the proper Tclkit runtime and move only the wikit and wikit.tkd files.
That's all there is to it.
LV Someone want to document the benefits of running wikit as a desktop app instead of as a CGI application?
aa How about listing some of the drawbacks of a Wikit in local mode?
VVF - I have a problem by using copy/paste (Ctrl^C Ctrl^V) How to fix this? (problema - ne rabotayut funkcii Ctrl^C Ctrl^V, a `eto dovol'no neudobno)
01dec06 NPS: External links work with the current wikit on Windows. On OSX, apply the following patch to gui.tcl:
@@ -61,7 +61,11 @@ $D tag configure $tag -font wikit_underline $D tag bind $tag <ButtonPress-1> \ "eval exec [auto_execok start] $c &" - } + } elseif { $tcl_platform(os) == "Darwin" } { + $D tag configure $tag -font wikit_underline + $D tag bind $tag <ButtonPress-1> \ + "exec open $c" + } } if {$a == "g"} {
LV: Note however that all 3 of these are things that could be addressed, if someone wanted them badly enough to work on the code.
17feb04 jcw - Note also that there's the option to run "wikit.kit -httpd 12345" and then point your browser at http://localhost:12345 ...
[L3 ] 2004-04-20 Lawrence: Hello! The standalone wikit allow hyperlink to files. Say "file://c:\a.jpg " can link to a.jpg in c:\ However I can't figure out how to specify URLs using relative paths.
November 26, 2002 - wikit has the ability to fetch newer versions of the data file itself - just do this:
tclkit wikit.kit /path/to/wikit.tkd -update http://mini.net/tclhist
Note that the versions fetched are the daily commits, not the very last-minute pages.
Also, note that the fetched information overwrites the previous info - any changes made locally are NOT synchronized or kept.
LV Anyone remember which page documents the whole Tcler's Wiki CVS page commit'' information? If so, replace this line with a page reference. Otherwise, I suppose this would be as good a place as any to document it.
Basically, the idea is that each time a page is modified, the new page , along with the date and IP address, are saved. Then at the end of the day, these changes are comitted to a CVS repository. There is an interface to that repository so that previous revisions of a page can be seen.
LV 2007 Oct 31 - the previous method of tracking updates via CVS has now been replaced. At the bottom of each wiki page is a link to the various revisions of the current page. Also, if you check the Recent Changes page, the link at the end of the lines take you to a diff of the latest two versions of the page.
What are some of the differences between the Wikit in local mode and the wikit in CGI mode?
Lars H, 16 Feb 2004: What is supposed to happen when one starts wikit in local mode? When I try the above instructions (in Mac OS X) the tclkit command takes a second or two to complete, but there is no visible result: No window that opens, no error message, nothing! It just returns.
jcw - Don't know why it doesn't report errors, but you need to have X11 running on OSX to use Tclkit in GUI mode. Or get Daniel Steffens latest "Wishkit" [L4 ] - which is already set up to run .kit files simply by double-clicking on it, anti-aliased and all:
Lars H: OK, with wishkit it works fine, and looks quite cool (as your image shows). However, I find it really strange that tclkit should require X11 on Mac OS X; I suppose the combination is technically possible, but from a novice usability standpoint it could be a nightmare. Sort of spoils the "trivial installation" idea. Therefore I modified the instructions above, to include at the wishkit alternative.
Some other points:
On the whole, though, it is a major improvement to have access to wisdom of The Tcler's Wiki even when I'm off-line.
Some information which used to be on the About this site page:
Running your own local copy of the Tcl Wiki
Here's my cookbook approach to acquiring the necessary files to run your own copy of the Tcl Wiki on your own server. This was last updated on 15 July 2003.
Assumptions:
Download these files:
In your htdocs directory, create the tcl/wiki directory:
Copy the 3 downloaded files to /usr/local/apache/www/tcl/wiki and uncompress as necessary.
Rename wikit to wikit.tkd
In the tcl/wiki directory, create a shell script called 'wiki'
#!/bin/sh WIKIT_BASE=http://www.foobar.com/tcl/wiki export WIKIT_BASE exec /usr/local/apache/www/tcl/wiki/tclkit wikit.kit wikit.tkd
Set permissions for wikit.tkd to 0777, and wiki to 0555.
Add this entry in your httpd.conf and restart Apache:
<Directory "/usr/local/apache/www/tcl/wiki"> options ExecCGI SetHandler cgi-script Allow from all </Directory>
That's it. Enter http://www.foobar.com/tcl/wiki in your favorite browser and surf away.
Marty Backe - 14 Jul 2002
TS 18 Nov 2004 - It seems impossible to use directly http://www.foobar.com/wiki without the additional tcl subdirectory. Renaming tcl to wiki results in wrong edit/reference and so on URLS.
jcw - Try adding a slash at the end (this is probably a long-standing bug).
TR 13 Jan 2003 - I found the above description of setting up the wiki was not working for me. The WIKIT_BASE had to be set up as
WIKIT_BASE=http://www.foobar.com/tcl/wiki/ export WIKIT_BASE
Note the slash at the end, which was needed, otherwise it wouldn't work.
(Yes, in the wikit code ::env(WIKIT_BASE)edit is used, so separator is strictly required)
LV 2006-Feb-06 Today I tried starting up a local version of the wikit. And I failed miserably. Alas, I've no idea where along the line things went wrong. However, right now, when I use a tclkit downloaded today, as well as a wikit.kit and wikit.gz downloaded, renamed, and permission suitably set, the result I get is a termination of the tclkit, without comment, and a return code of 1. No desktop wikit is displayed.
LV In October, 2008, on comp.lang.tcl, RF wrote:
On 27 Okt., 18:59, Mel <[email protected]> wrote: > is there anyway to get rid of unused pages in wikit ? I notice that > everytime I change the text for a link, my old page is no longer > accessible. how is it possbile to rename an old page ? > thanks in advance I used this some time ago
proc titlerename {oldtitle newtitle} { set id [Wikit::LookupPage $oldtitle] set newid [Wikit::LookupPage $newtitle] set old_date [mk::get wdb.pages!$id date] set page [mk::get wdb.pages!$id page] # save under new title Wikit::SavePage $newid $page local $newtitle $old_date # rename old page Wikit::SavePage $id {} local $oldtitle # rename this, leading double dagger Wikit::SavePage $id { } local \u2021$id #eventually delete #mk::row delete wdb.pages!$id }