instiki 0.9.2 → 0.10.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +165 -0
- data/README +68 -172
- data/app/controllers/admin_controller.rb +94 -0
- data/app/controllers/application.rb +131 -0
- data/app/controllers/file_controller.rb +129 -0
- data/app/controllers/wiki_controller.rb +354 -0
- data/{libraries/view_helper.rb → app/helpers/application_helper.rb} +68 -33
- data/app/models/author.rb +3 -3
- data/app/models/chunks/category.rb +33 -31
- data/app/models/chunks/chunk.rb +86 -20
- data/app/models/chunks/engines.rb +54 -38
- data/app/models/chunks/include.rb +41 -29
- data/app/models/chunks/literal.rb +31 -19
- data/app/models/chunks/nowiki.rb +28 -31
- data/app/models/chunks/test.rb +18 -18
- data/app/models/chunks/uri.rb +182 -97
- data/app/models/chunks/wiki.rb +141 -82
- data/app/models/file_yard.rb +58 -0
- data/app/models/page.rb +112 -86
- data/app/models/page_lock.rb +22 -23
- data/app/models/page_set.rb +89 -64
- data/app/models/revision.rb +123 -90
- data/app/models/web.rb +176 -89
- data/app/models/wiki_content.rb +207 -105
- data/app/models/wiki_service.rb +233 -83
- data/app/models/wiki_words.rb +23 -25
- data/app/views/{wiki/new_system.rhtml → admin/create_system.rhtml} +83 -78
- data/app/views/{wiki/new_web.rhtml → admin/create_web.rhtml} +69 -64
- data/app/views/admin/edit_web.rhtml +136 -0
- data/app/views/file/file.rhtml +19 -0
- data/app/views/file/import.rhtml +23 -0
- data/app/views/layouts/default.rhtml +85 -0
- data/app/views/markdown_help.rhtml +12 -16
- data/app/views/mixed_help.rhtml +7 -0
- data/app/views/navigation.rhtml +30 -19
- data/app/views/rdoc_help.rhtml +12 -16
- data/app/views/textile_help.rhtml +24 -28
- data/app/views/wiki/authors.rhtml +11 -13
- data/app/views/wiki/edit.rhtml +39 -31
- data/app/views/wiki/export.rhtml +12 -14
- data/app/views/wiki/feeds.rhtml +14 -10
- data/app/views/wiki/list.rhtml +64 -57
- data/app/views/wiki/locked.rhtml +23 -14
- data/app/views/wiki/login.rhtml +14 -11
- data/app/views/wiki/new.rhtml +31 -27
- data/app/views/wiki/page.rhtml +115 -81
- data/app/views/wiki/print.rhtml +14 -16
- data/app/views/wiki/published.rhtml +9 -10
- data/app/views/wiki/recently_revised.rhtml +27 -30
- data/app/views/wiki/revision.rhtml +103 -81
- data/app/views/wiki/rollback.rhtml +14 -9
- data/app/views/wiki/rss_feed.rhtml +22 -22
- data/app/views/wiki/search.rhtml +38 -15
- data/app/views/wiki/tex.rhtml +22 -22
- data/app/views/wiki/tex_web.rhtml +34 -34
- data/app/views/wiki/web_list.rhtml +18 -13
- data/app/views/wiki_words_help.rhtml +9 -8
- data/config/environment.rb +82 -0
- data/config/environments/development.rb +5 -0
- data/config/environments/production.rb +4 -0
- data/config/environments/test.rb +17 -0
- data/config/routes.rb +18 -0
- data/instiki +6 -67
- data/instiki.rb +3 -0
- data/lib/active_record_stub.rb +31 -0
- data/{libraries/diff → lib}/diff.rb +444 -475
- data/lib/instiki_errors.rb +15 -0
- data/{libraries → lib}/rdocsupport.rb +151 -155
- data/lib/redcloth_for_tex.rb +736 -0
- data/natives/osx/desktop_launcher/AppDelegate.h +18 -0
- data/natives/osx/desktop_launcher/AppDelegate.mm +109 -0
- data/natives/osx/desktop_launcher/Credits.html +16 -0
- data/natives/osx/desktop_launcher/English.lproj/InfoPlist.strings +0 -0
- data/natives/osx/desktop_launcher/English.lproj/MainMenu.nib/classes.nib +13 -0
- data/natives/osx/desktop_launcher/English.lproj/MainMenu.nib/info.nib +24 -0
- data/natives/osx/desktop_launcher/English.lproj/MainMenu.nib/objects.nib +0 -0
- data/natives/osx/desktop_launcher/Info.plist +13 -0
- data/natives/osx/desktop_launcher/Instiki.xcode/project.pbxproj +592 -0
- data/natives/osx/desktop_launcher/Instiki_Prefix.pch +7 -0
- data/natives/osx/desktop_launcher/MakeDMG.sh +9 -0
- data/natives/osx/desktop_launcher/main.mm +14 -0
- data/natives/osx/desktop_launcher/version.plist +16 -0
- data/public/404.html +6 -0
- data/public/500.html +6 -0
- data/public/dispatch.rb +10 -0
- data/public/favicon.ico +0 -0
- data/public/javascripts/edit_web.js +52 -0
- data/public/javascripts/prototype.js +336 -0
- data/{app/views/static_style_sheet.rhtml → public/stylesheets/instiki.css} +221 -198
- data/script/breakpointer +4 -0
- data/script/server +93 -0
- metadata +59 -32
- data/app/controllers/wiki.rb +0 -389
- data/app/models/chunks/match.rb +0 -19
- data/app/views/bottom.rhtml +0 -4
- data/app/views/top.rhtml +0 -49
- data/app/views/wiki/edit_web.rhtml +0 -138
- data/libraries/action_controller_servlet.rb +0 -177
- data/libraries/erb.rb +0 -490
- data/libraries/madeleine_service.rb +0 -68
- data/libraries/redcloth_for_tex.rb +0 -869
- data/libraries/web_controller_server.rb +0 -81
data/CHANGELOG
ADDED
@@ -0,0 +1,165 @@
|
|
1
|
+
* 0.10.0:
|
2
|
+
Ported to ActionPack
|
3
|
+
RedCloth 3.0.3
|
4
|
+
BlueCloth is phased out, Markdown is rendered by RedCloth
|
5
|
+
Mix markup option understands both Textile and Markdown on the same page
|
6
|
+
Instiki can serve static content (such as HTML or plain-text files) from ./public
|
7
|
+
directory
|
8
|
+
Much friendlier admin interface
|
9
|
+
Wiki link syntax doesn't conflict with Textile hyperlink syntax. Therefore
|
10
|
+
"textile link":LinkToSomePlace will not look insane.
|
11
|
+
RSS feeds accept query parameters, sush as
|
12
|
+
http://localhost:2500/wiki/rss_with_headlines?start=2005-02-18&end=2005-02-19&limit=10
|
13
|
+
RSS feed with page contents for a password-protected web behaves as follows:
|
14
|
+
if the web is published, RSS feed links to the published version of the web
|
15
|
+
otherwise, the feed is not available
|
16
|
+
Madeleine will check every hour if there are new commands in the log or 24 hours have
|
17
|
+
passed since last snapshot, and take snapshot if either of these conditions is true
|
18
|
+
Madeleine will also not log read-only operations, resulting in a better performance
|
19
|
+
Wiki extracts (to HTML and plain text) will leave only the last extract file in ./storage
|
20
|
+
Wiki search handles multibyte (UTF-8) characters correctly
|
21
|
+
Local hyperlinks in published pages point to published pages [Michael DeHaan]
|
22
|
+
Fixed a bug that sometimes caused all past revisions of a page to be "forgotten" on
|
23
|
+
restart
|
24
|
+
Fixed parsing of URIs with a port number (http://someplace.org:8080)
|
25
|
+
Instiki will not fork itself on a *nix, unless explicitly asked to
|
26
|
+
Instiki can bind to IPs other than 127.0.0.1 (command-line option)
|
27
|
+
Revisions that do not change anything on the page are rejected
|
28
|
+
Automated tests for all controller actions
|
29
|
+
category: lines are presented as links to "All Pages" for relevant categories
|
30
|
+
Search looks at page titles, as well as content
|
31
|
+
Multiple other usability enhancements and bug fixes
|
32
|
+
|
33
|
+
* 0.9.2:
|
34
|
+
Rollback takes the user to an edit form. The form has to be submitted for the change to
|
35
|
+
take place.
|
36
|
+
Changed to use inline style on published pages
|
37
|
+
Fixed "forward in time" on the last revision before current page
|
38
|
+
Instiki won't log bogus error messages when creating a new Wiki
|
39
|
+
Fixed deprecation warning for Object.id (introduced in Ruby 1.8.2)
|
40
|
+
Madeleine upgraded to 0.7.1
|
41
|
+
Madeleine snapshots are compressed
|
42
|
+
Packaged as a gem
|
43
|
+
|
44
|
+
* 0.9.1:
|
45
|
+
Added performance improvements for updating existing pages
|
46
|
+
Fixed IP logging and RSS feeds behind proxies [With help from Guan Yang]
|
47
|
+
Fixed default storage directory (borked running on Windows) [Spotted by Curt Hibbs]
|
48
|
+
|
49
|
+
* 0.9.0:
|
50
|
+
Added aliased links such as [[HomePage|that nice home page]] [Mark Reid]
|
51
|
+
Added include other page content with [[!include TableOfContents]] [Mark Reid]
|
52
|
+
Added delete orphan pages from the Edit Web screen [by inspiration from Simon Arnaud]
|
53
|
+
Added logging of IP address for authors (who's behind the rollback wars)
|
54
|
+
Added Categories pages through backlinks (use "categories: news, instiki" on start of line) [Mark Reid]
|
55
|
+
Added option to use bracket-style wiki links only (and hence ban WikiWords)
|
56
|
+
Added command-line option to specify different storage path
|
57
|
+
Added print view without navigation
|
58
|
+
Added character and page (2275 characters including spaces) counter (important for student papers)
|
59
|
+
Off by default, activate it on the Edit Web screen
|
60
|
+
Added LaTeX/PDF integration on Textile installations with pdflatex installed on system (EXPERIMENTAL)
|
61
|
+
Use the home page as a table of contents with a unordered list to control sections
|
62
|
+
Added limit of 15 to the number of pages included in RSS feed
|
63
|
+
Moved static parts of stylesheet to separate file [Lau T�rnskov]
|
64
|
+
Fixed better semantics for revision movement [Ryan Singer]
|
65
|
+
Fixed color diffs to work much better [Xen/Mertz/Atkins]
|
66
|
+
Fixed performance problems for All Pages list [Dennis Mertz]
|
67
|
+
Fixed lots of rendering bugs [Mark Reid]
|
68
|
+
Upgraded to RedCloth 2.0.11 [integrating the fine work of Dennis Mertz]
|
69
|
+
|
70
|
+
* 0.8.9:
|
71
|
+
Added color diffs to see changes between revisions [Bill Atkins]
|
72
|
+
They're aren't quite perfect yet as new paragraphs split the <ins> tags (hence 0.8.9, not 0.9.0)
|
73
|
+
Added redirect to edit if content of page generates an error
|
74
|
+
(so the page doesn't become unusable on bugs in the markup engines)
|
75
|
+
Fixed update Web with different address bug [Denis Metz]
|
76
|
+
Fixed a bunch of wiki word rendering issues by doing wiki word detection and replacment at once
|
77
|
+
Upgraded to BlueCloth 0.0.3b (should fix loads of problems on Markdown wikis)
|
78
|
+
|
79
|
+
* 0.8.5:
|
80
|
+
Instiki can now serve as a CMS by running a password-protected web with a published front
|
81
|
+
Added version check at startup (Instiki needs Ruby 1.8.1)
|
82
|
+
|
83
|
+
* 0.8.1:
|
84
|
+
Actually included RedCloth 2.0.7 in the release
|
85
|
+
|
86
|
+
* 0.8.0:
|
87
|
+
NOTE: Single-web wikis created in versions prior to 0.8.0 have "instiki" as their system password
|
88
|
+
Accepts wiki words in bracket style. Ex: [[wiki word]], [[c]], [[We could'nt have done it!]]
|
89
|
+
Accepts camel-case wiki words in all latin, greek, cyrillian, and armenian unicode characters
|
90
|
+
Many thanks to Guan Yang for building the higher- and lower-case lookup tables
|
91
|
+
And thanks to Simon Arnaud for the initial patch that got the work started
|
92
|
+
Changed charset to UTF-8
|
93
|
+
Cut down on command-line options and replaced them with an per-web config screen
|
94
|
+
Added option to extend the stylesheet on a per-web basis to tweak the look in details
|
95
|
+
Added simple color options for variety
|
96
|
+
Added option to add/remove password protection on each web
|
97
|
+
Added the wiki name of the author locking a given page (instead of just "someone")
|
98
|
+
Removed single/multi-web distinction -- all Instikis are now multi-web
|
99
|
+
Load libraries from an unshifted load path, so that old installed libraries doesn't clash [Emiel van de Laar]
|
100
|
+
Keeps the author cookie forever, so you don't have to enter your name again and again
|
101
|
+
Fixed XHTML so it validates [Bruce D'Arcus]
|
102
|
+
Authors are no longer listed under orphan pages
|
103
|
+
Added export to markup (great for backups, potentially for switching wiki engine)
|
104
|
+
Don't link wiki words that proceeds from either /, = or ?
|
105
|
+
(http://c2.com/cgi/wiki?WikiWikiClones, /show/HomePage, cgi.pl?show=WikiWord without escaping)
|
106
|
+
Accessing an unexisting page redirects to a different url (/new/PageName)
|
107
|
+
Increased snapshot time to just once a day (cuts down on disk storage requirements)
|
108
|
+
Made RDoc support work better with 1.8.1 [Mauricio Fern�ndez]
|
109
|
+
Added convinient redirect from /wiki/ to /wiki/show/HomePage
|
110
|
+
Fixed BlueCloth bug with backticks at start of line
|
111
|
+
Updated to RedCloth 2.0.7 (and linked to the new Textile reference)
|
112
|
+
|
113
|
+
* 0.7.0:
|
114
|
+
Added Markdown (BlueCloth) and RDoc [Mauricio Fern�ndez] as command-line markup choices
|
115
|
+
Added wanted and orphan page lists to All pages (only show up if there's actually orphan or wanted pages)
|
116
|
+
Added ISO-8859-1 as XML encoding in RSS feeds (makes FeedReader among others happy for special entities)
|
117
|
+
Added proper links in the RSS feed (but the body links are still relative, which NNW and others doesn't grok)
|
118
|
+
Added access keys: E => Edit, H => HomePage, A => All Pages, U => Recently Revised, X => Export
|
119
|
+
Added password-login through URL (so you can subscribe to feed on a protected web)
|
120
|
+
Added web passwords to the feed links for protected webs, so they work without manual login
|
121
|
+
Added the web name in small letters above all pages within a web
|
122
|
+
Polished authors and recently revised
|
123
|
+
Updated to RedCloth 2.0.6
|
124
|
+
Changed content type for RSS feeds to text/xml (makes Mozilla Aggreg8 happy)
|
125
|
+
Changed searching to be case insensitive
|
126
|
+
Changed HomePage to display the name of the web instead
|
127
|
+
Changed exported HTML pages to be valid XHTML (which can be preprocessed by XSLT)
|
128
|
+
Fixed broken recently revised
|
129
|
+
|
130
|
+
* 0.6.0:
|
131
|
+
Fixed Windows compatibility [Florian]
|
132
|
+
Fixed bug that would prevent Madeleine from taking snapshots in Daemon mode
|
133
|
+
Added export entire web as HTML in a zip file
|
134
|
+
Added RSS feeds
|
135
|
+
Added proper getops support for the growing number of options [Florian]
|
136
|
+
Added safe mode that forbids style options in RedCloth [Florian]
|
137
|
+
Updated RedCloth to 2.0.5
|
138
|
+
|
139
|
+
* 0.5.0:
|
140
|
+
NOTE: 0.5.0 is NOT compatible with databases from earlier versions
|
141
|
+
Added revisions
|
142
|
+
Added multiple webs
|
143
|
+
Added password protection for webs on multi-web setups
|
144
|
+
Added the notion of authors (that are saved in a cookie)
|
145
|
+
Added command-line option for not running as a Daemon on Unix
|
146
|
+
|
147
|
+
* 0.3.1:
|
148
|
+
Added option to escape wiki words with \
|
149
|
+
|
150
|
+
* 0.3.0:
|
151
|
+
Brought all files into common style (including Textile help on the edit page)
|
152
|
+
Added page locking (if someone already is editing a page there's a warning)
|
153
|
+
Added daemon abilities on Unix (keep Instiki running after you close the terminal)
|
154
|
+
Made port 2500 the default port, so Instiki can be launched by dobbelt-click
|
155
|
+
Added Textile cache to speed-up rendering of large pages
|
156
|
+
Made WikiWords look like "Wiki Words"
|
157
|
+
Updated RedCloth to 2.0.4
|
158
|
+
|
159
|
+
* 0.2.5:
|
160
|
+
Upgraded to RedCloth 2.0.2 and Madeleine 0.6.1, which means the
|
161
|
+
Windows problems are gone. Also fixed a problem with wikiwords
|
162
|
+
that used part of other wikiwords.
|
163
|
+
|
164
|
+
* 0.2.0:
|
165
|
+
First public release
|
data/README
CHANGED
@@ -1,172 +1,68 @@
|
|
1
|
-
===What is Instiki?
|
2
|
-
|
3
|
-
Admitted, it's YetAnotherWikiClone[http://c2.com/cgi/wiki?WikiWikiClones], but with a strong focus
|
4
|
-
on simplicity of installation and running:
|
5
|
-
|
6
|
-
Step 1. Download
|
7
|
-
|
8
|
-
Step 2. Run "instiki"
|
9
|
-
|
10
|
-
Step 3. Chuckle... "There's no step three!" (TM)
|
11
|
-
|
12
|
-
You're now running a perfectly suitable wiki on port 2500
|
13
|
-
that'll present you with one-step setup, followed by a textarea for the home page
|
14
|
-
on http://localhost:2500.
|
15
|
-
|
16
|
-
Instiki lowers the barriers of interest for when you might consider
|
17
|
-
using a wiki. It's so simple to get running that you'll find yourself
|
18
|
-
using it for anything -- taking notes, brainstorming, organizing a
|
19
|
-
gathering.
|
20
|
-
|
21
|
-
===Features:
|
22
|
-
* Regular expression search: Find deep stuff really fast
|
23
|
-
* Revisions: Follow the changes on every page from birth. Rollback to an earlier rev
|
24
|
-
* Export to HTML or markup in a zip: Take the entire wiki with you home or for reference
|
25
|
-
* RSS feeds to track recently revised pages
|
26
|
-
* Multiple webs: Create separate wikis with their own namespace
|
27
|
-
* Password-protected webs: Keep it private
|
28
|
-
* Authors: Each revision is associated with an author, so you can see who changed what
|
29
|
-
* Reference tracker: Which other pages are pointing to the current?
|
30
|
-
* Speed: Using Madelein[http://madeleine.sourceforge.net] for persistence (all pages are in memory)
|
31
|
-
* Three markup choices: Textile[http://www.textism.com/tools/textile]
|
32
|
-
(default / RedCloth[http://www.whytheluckystiff.net/ruby/redcloth]),
|
33
|
-
Markdown (BlueCloth[http://bluecloth.rubyforge.org]), and RDoc[http://rdoc.sourceforge.net/doc]
|
34
|
-
* Embedded webserver: Through WEBrick[http://www.webrick.org]
|
35
|
-
* Internationalization: Wiki words in any latin, greek, cyrillian, or armenian characters
|
36
|
-
* Color diffs: Track changes through revisions
|
37
|
-
|
38
|
-
===Missing:
|
39
|
-
* File attachments
|
40
|
-
|
41
|
-
===Install from gem:
|
42
|
-
* Install rubygems
|
43
|
-
* Run "gem install instiki"
|
44
|
-
* Change to a directory where you want Instiki to keep its data files (for example, ~/instiki/)
|
45
|
-
* Run "instiki" - this will create a "storage" directory (for example, ~/instiki/storage), and start a new Wiki service
|
46
|
-
|
47
|
-
Make sure that you always launch Instiki from the same working directory, or specify the storage directory in runtime parameters, such as:
|
48
|
-
instiki --storage ~/instiki/storage
|
49
|
-
|
50
|
-
===Command-line options:
|
51
|
-
* Run "instiki --help"
|
52
|
-
|
53
|
-
===History:
|
54
|
-
*
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
Added Categories pages through backlinks (use "categories: news, instiki" on start of line) [Mark Reid]
|
70
|
-
Added option to use bracket-style wiki links only (and hence ban WikiWords)
|
71
|
-
Added command-line option to specify different storage path
|
72
|
-
Added print view without navigation
|
73
|
-
Added character and page (2275 characters including spaces) counter (important for student papers)
|
74
|
-
Off by default, activate it on the Edit Web screen
|
75
|
-
Added LaTeX/PDF integration on Textile installations with pdflatex installed on system (EXPERIMENTAL)
|
76
|
-
Use the home page as a table of contents with a unordered list to control sections
|
77
|
-
Added limit of 15 to the number of pages included in RSS feed
|
78
|
-
Moved static parts of stylesheet to separate file [Lau T�rnskov]
|
79
|
-
Fixed better semantics for revision movement [Ryan Singer]
|
80
|
-
Fixed color diffs to work much better [Xen/Mertz/Atkins]
|
81
|
-
Fixed performance problems for All Pages list [Dennis Mertz]
|
82
|
-
Fixed lots of rendering bugs [Mark Reid]
|
83
|
-
Upgraded to RedCloth 2.0.11 [integrating the fine work of Dennis Mertz]
|
84
|
-
* 0.8.9: Added color diffs to see changes between revisions [Bill Atkins]
|
85
|
-
They're aren't quite perfect yet as new paragraphs split the <ins> tags (hence 0.8.9, not 0.9.0)
|
86
|
-
Added redirect to edit if content of page generates an error
|
87
|
-
(so the page doesn't become unusable on bugs in the markup engines)
|
88
|
-
Fixed update Web with different address bug [Denis Metz]
|
89
|
-
Fixed a bunch of wiki word rendering issues by doing wiki word detection and replacment at once
|
90
|
-
Upgraded to BlueCloth 0.0.3b (should fix loads of problems on Markdown wikis)
|
91
|
-
* 0.8.5: Instiki can now serve as a CMS by running a password-protected web with a published front
|
92
|
-
Added version check at startup (Instiki needs Ruby 1.8.1)
|
93
|
-
* 0.8.1: Actually included RedCloth 2.0.7 in the release
|
94
|
-
* 0.8.0: NOTE: Single-web wikis created in versions prior to 0.8.0 have "instiki" as their system password
|
95
|
-
Accepts wiki words in bracket style. Ex: [[wiki word]], [[c]], [[We could'nt have done it!]]
|
96
|
-
Accepts camel-case wiki words in all latin, greek, cyrillian, and armenian unicode characters
|
97
|
-
Many thanks to Guan Yang for building the higher- and lower-case lookup tables
|
98
|
-
And thanks to Simon Arnaud for the initial patch that got the work started
|
99
|
-
Changed charset to UTF-8
|
100
|
-
Cut down on command-line options and replaced them with an per-web config screen
|
101
|
-
Added option to extend the stylesheet on a per-web basis to tweak the look in details
|
102
|
-
Added simple color options for variety
|
103
|
-
Added option to add/remove password protection on each web
|
104
|
-
Added the wiki name of the author locking a given page (instead of just "someone")
|
105
|
-
Removed single/multi-web distinction -- all Instikis are now multi-web
|
106
|
-
Load libraries from an unshifted load path, so that old installed libraries doesn't clash [Emiel van de Laar]
|
107
|
-
Keeps the author cookie forever, so you don't have to enter your name again and again
|
108
|
-
Fixed XHTML so it validates [Bruce D'Arcus]
|
109
|
-
Authors are no longer listed under orphan pages
|
110
|
-
Added export to markup (great for backups, potentially for switching wiki engine)
|
111
|
-
Don't link wiki words that proceeds from either /, = or ?
|
112
|
-
(http://c2.com/cgi/wiki?WikiWikiClones, /show/HomePage, cgi.pl?show=WikiWord without escaping)
|
113
|
-
Accessing an unexisting page redirects to a different url (/new/PageName)
|
114
|
-
Increased snapshot time to just once a day (cuts down on disk storage requirements)
|
115
|
-
Made RDoc support work better with 1.8.1 [Mauricio Fern�ndez]
|
116
|
-
Added convinient redirect from /wiki/ to /wiki/show/HomePage
|
117
|
-
Fixed BlueCloth bug with backticks at start of line
|
118
|
-
Updated to RedCloth 2.0.7 (and linked to the new Textile reference)
|
119
|
-
* 0.7.0: Added Markdown (BlueCloth) and RDoc [Mauricio Fern�ndez] as command-line markup choices
|
120
|
-
Added wanted and orphan page lists to All pages (only show up if there's actually orphan or wanted pages)
|
121
|
-
Added ISO-8859-1 as XML encoding in RSS feeds (makes FeedReader among others happy for special entities)
|
122
|
-
Added proper links in the RSS feed (but the body links are still relative, which NNW and others doesn't grok)
|
123
|
-
Added access keys: E => Edit, H => HomePage, A => All Pages, U => Recently Revised, X => Export
|
124
|
-
Added password-login through URL (so you can subscribe to feed on a protected web)
|
125
|
-
Added web passwords to the feed links for protected webs, so they work without manual login
|
126
|
-
Added the web name in small letters above all pages within a web
|
127
|
-
Polished authors and recently revised
|
128
|
-
Updated to RedCloth 2.0.6
|
129
|
-
Changed content type for RSS feeds to text/xml (makes Mozilla Aggreg8 happy)
|
130
|
-
Changed searching to be case insensitive
|
131
|
-
Changed HomePage to display the name of the web instead
|
132
|
-
Changed exported HTML pages to be valid XHTML (which can be preprocessed by XSLT)
|
133
|
-
Fixed broken recently revised
|
134
|
-
* 0.6.0: Fixed Windows compatibility [Florian]
|
135
|
-
Fixed bug that would prevent Madeleine from taking snapshots in Daemon mode
|
136
|
-
Added export entire web as HTML in a zip file
|
137
|
-
Added RSS feeds
|
138
|
-
Added proper getops support for the growing number of options [Florian]
|
139
|
-
Added safe mode that forbids style options in RedCloth [Florian]
|
140
|
-
Updated RedCloth to 2.0.5
|
141
|
-
* 0.5.0: NOTE: 0.5.0 is NOT compatible with databases from earlier versions
|
142
|
-
Added revisions
|
143
|
-
Added multiple webs
|
144
|
-
Added password protection for webs on multi-web setups
|
145
|
-
Added the notion of authors (that are saved in a cookie)
|
146
|
-
Added command-line option for not running as a Daemon on Unix
|
147
|
-
* 0.3.1: Added option to escape wiki words with \
|
148
|
-
* 0.3.0: Brought all files into common style (including Textile help on the edit page)
|
149
|
-
Added page locking (if someone already is editing a page there's a warning)
|
150
|
-
Added daemon abilities on Unix (keep Instiki running after you close the terminal)
|
151
|
-
Made port 2500 the default port, so Instiki can be launched by dobbelt-click
|
152
|
-
Added Textile cache to speed-up rendering of large pages
|
153
|
-
Made WikiWords look like "Wiki Words"
|
154
|
-
Updated RedCloth to 2.0.4
|
155
|
-
* 0.2.5: Upgraded to RedCloth 2.0.2 and Madeleine 0.6.1, which means the
|
156
|
-
Windows problems are gone. Also fixed a problem with wikiwords
|
157
|
-
that used part of other wikiwords.
|
158
|
-
* 0.2.0: First public release
|
159
|
-
|
160
|
-
===Download latest from:
|
161
|
-
* http://rubyforge.org/project/showfiles.php?group_id=186
|
162
|
-
|
163
|
-
===Visit the official Instiki wiki:
|
164
|
-
* http://www.instiki.org
|
165
|
-
|
166
|
-
===License:
|
167
|
-
* same as Ruby's
|
168
|
-
|
169
|
-
---
|
170
|
-
Author:: David Heinemeier Hansson
|
171
|
-
Email:: david@loudthinking.com
|
172
|
-
Weblog:: http://www.loudthinking.com
|
1
|
+
===What is Instiki?
|
2
|
+
|
3
|
+
Admitted, it's YetAnotherWikiClone[http://c2.com/cgi/wiki?WikiWikiClones], but with a strong focus
|
4
|
+
on simplicity of installation and running:
|
5
|
+
|
6
|
+
Step 1. Download
|
7
|
+
|
8
|
+
Step 2. Run "instiki"
|
9
|
+
|
10
|
+
Step 3. Chuckle... "There's no step three!" (TM)
|
11
|
+
|
12
|
+
You're now running a perfectly suitable wiki on port 2500
|
13
|
+
that'll present you with one-step setup, followed by a textarea for the home page
|
14
|
+
on http://localhost:2500.
|
15
|
+
|
16
|
+
Instiki lowers the barriers of interest for when you might consider
|
17
|
+
using a wiki. It's so simple to get running that you'll find yourself
|
18
|
+
using it for anything -- taking notes, brainstorming, organizing a
|
19
|
+
gathering.
|
20
|
+
|
21
|
+
===Features:
|
22
|
+
* Regular expression search: Find deep stuff really fast
|
23
|
+
* Revisions: Follow the changes on every page from birth. Rollback to an earlier rev
|
24
|
+
* Export to HTML or markup in a zip: Take the entire wiki with you home or for reference
|
25
|
+
* RSS feeds to track recently revised pages
|
26
|
+
* Multiple webs: Create separate wikis with their own namespace
|
27
|
+
* Password-protected webs: Keep it private
|
28
|
+
* Authors: Each revision is associated with an author, so you can see who changed what
|
29
|
+
* Reference tracker: Which other pages are pointing to the current?
|
30
|
+
* Speed: Using Madelein[http://madeleine.sourceforge.net] for persistence (all pages are in memory)
|
31
|
+
* Three markup choices: Textile[http://www.textism.com/tools/textile]
|
32
|
+
(default / RedCloth[http://www.whytheluckystiff.net/ruby/redcloth]),
|
33
|
+
Markdown (BlueCloth[http://bluecloth.rubyforge.org]), and RDoc[http://rdoc.sourceforge.net/doc]
|
34
|
+
* Embedded webserver: Through WEBrick[http://www.webrick.org]
|
35
|
+
* Internationalization: Wiki words in any latin, greek, cyrillian, or armenian characters
|
36
|
+
* Color diffs: Track changes through revisions
|
37
|
+
|
38
|
+
===Missing:
|
39
|
+
* File attachments
|
40
|
+
|
41
|
+
===Install from gem:
|
42
|
+
* Install rubygems
|
43
|
+
* Run "gem install instiki"
|
44
|
+
* Change to a directory where you want Instiki to keep its data files (for example, ~/instiki/)
|
45
|
+
* Run "instiki" - this will create a "storage" directory (for example, ~/instiki/storage), and start a new Wiki service
|
46
|
+
|
47
|
+
Make sure that you always launch Instiki from the same working directory, or specify the storage directory in runtime parameters, such as:
|
48
|
+
instiki --storage ~/instiki/storage
|
49
|
+
|
50
|
+
===Command-line options:
|
51
|
+
* Run "instiki --help"
|
52
|
+
|
53
|
+
===History:
|
54
|
+
* See CHANGELOG
|
55
|
+
|
56
|
+
===Download latest from:
|
57
|
+
* http://rubyforge.org/project/showfiles.php?group_id=186
|
58
|
+
|
59
|
+
===Visit the official Instiki wiki:
|
60
|
+
* http://www.instiki.org
|
61
|
+
|
62
|
+
===License:
|
63
|
+
* same as Ruby's
|
64
|
+
|
65
|
+
---
|
66
|
+
Author:: David Heinemeier Hansson
|
67
|
+
Email:: david@loudthinking.com
|
68
|
+
Weblog:: http://www.loudthinking.com
|
@@ -0,0 +1,94 @@
|
|
1
|
+
require 'application'
|
2
|
+
|
3
|
+
class AdminController < ApplicationController
|
4
|
+
|
5
|
+
layout 'default'
|
6
|
+
|
7
|
+
def create_system
|
8
|
+
if @wiki.setup?
|
9
|
+
flash[:error] = <<-EOL
|
10
|
+
Wiki has already been created in '#{@wiki.storage_path}'. Shut down Instiki and delete
|
11
|
+
this directory if you want to recreate it from scratch.<br/><br/>
|
12
|
+
(WARNING: this will destroy content of your current wiki).
|
13
|
+
EOL
|
14
|
+
redirect_show('HomePage', @wiki.webs.keys.first)
|
15
|
+
elsif @params['web_name']
|
16
|
+
# form submitted -> create a wiki
|
17
|
+
@wiki.setup(@params['password'], @params['web_name'], @params['web_address'])
|
18
|
+
flash[:info] = <<-EOL
|
19
|
+
Your new wiki '#{@params['web_name']}' is created!<br/>
|
20
|
+
Please edit its home page and press Submit when finished.
|
21
|
+
EOL
|
22
|
+
redirect_to :web => @params['web_address'], :controller => 'wiki', :action => 'new',
|
23
|
+
:id => 'HomePage'
|
24
|
+
else
|
25
|
+
# no form submitted -> go to template
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def create_web
|
30
|
+
if @params['address']
|
31
|
+
# form submitted
|
32
|
+
if @wiki.authenticate(@params['system_password'])
|
33
|
+
begin
|
34
|
+
@wiki.create_web(@params['name'], @params['address'])
|
35
|
+
flash[:info] = "New web '#{@params['name']}' successfully created."
|
36
|
+
redirect_to :web => @params['address'], :controller => 'wiki', :action => 'new',
|
37
|
+
:id => 'HomePage'
|
38
|
+
rescue Instiki::ValidationError => e
|
39
|
+
flash[:error] = e.message
|
40
|
+
# and re-render the form again
|
41
|
+
end
|
42
|
+
else
|
43
|
+
redirect_to :controller => 'wiki', :action => 'index'
|
44
|
+
end
|
45
|
+
else
|
46
|
+
# no form submitted -> render template
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def edit_web
|
51
|
+
system_password = @params['system_password']
|
52
|
+
if system_password
|
53
|
+
# form submitted
|
54
|
+
if wiki.authenticate(system_password)
|
55
|
+
begin
|
56
|
+
wiki.edit_web(
|
57
|
+
@web.address, @params['address'], @params['name'],
|
58
|
+
@params['markup'].intern,
|
59
|
+
@params['color'], @params['additional_style'],
|
60
|
+
@params['safe_mode'] ? true : false,
|
61
|
+
@params['password'].empty? ? nil : @params['password'],
|
62
|
+
@params['published'] ? true : false,
|
63
|
+
@params['brackets_only'] ? true : false,
|
64
|
+
@params['count_pages'] ? true : false,
|
65
|
+
@params['allow_uploads'] ? true : false,
|
66
|
+
@params['max_upload_size']
|
67
|
+
)
|
68
|
+
flash[:info] = "Web '#{@params['address']}' was successfully updated"
|
69
|
+
redirect_show('HomePage', @params['address'])
|
70
|
+
rescue Instiki::ValidationError => e
|
71
|
+
flash[:error] = e.message
|
72
|
+
# and re-render the same template again
|
73
|
+
end
|
74
|
+
else
|
75
|
+
flash[:error] = password_error(system_password)
|
76
|
+
# and re-render the same template again
|
77
|
+
end
|
78
|
+
else
|
79
|
+
# no form submitted - go to template
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
def remove_orphaned_pages
|
84
|
+
if wiki.authenticate(@params['system_password_orphaned'])
|
85
|
+
wiki.remove_orphaned_pages(@web_name)
|
86
|
+
flash[:info] = 'Orphaned pages removed'
|
87
|
+
redirect_to :controller => 'wiki', :web => @web_name, :action => 'list'
|
88
|
+
else
|
89
|
+
flash[:error] = password_error(@params['system_password'])
|
90
|
+
return_to_last_remembered
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
end
|