instiki 0.9.2 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. data/CHANGELOG +165 -0
  2. data/README +68 -172
  3. data/app/controllers/admin_controller.rb +94 -0
  4. data/app/controllers/application.rb +131 -0
  5. data/app/controllers/file_controller.rb +129 -0
  6. data/app/controllers/wiki_controller.rb +354 -0
  7. data/{libraries/view_helper.rb → app/helpers/application_helper.rb} +68 -33
  8. data/app/models/author.rb +3 -3
  9. data/app/models/chunks/category.rb +33 -31
  10. data/app/models/chunks/chunk.rb +86 -20
  11. data/app/models/chunks/engines.rb +54 -38
  12. data/app/models/chunks/include.rb +41 -29
  13. data/app/models/chunks/literal.rb +31 -19
  14. data/app/models/chunks/nowiki.rb +28 -31
  15. data/app/models/chunks/test.rb +18 -18
  16. data/app/models/chunks/uri.rb +182 -97
  17. data/app/models/chunks/wiki.rb +141 -82
  18. data/app/models/file_yard.rb +58 -0
  19. data/app/models/page.rb +112 -86
  20. data/app/models/page_lock.rb +22 -23
  21. data/app/models/page_set.rb +89 -64
  22. data/app/models/revision.rb +123 -90
  23. data/app/models/web.rb +176 -89
  24. data/app/models/wiki_content.rb +207 -105
  25. data/app/models/wiki_service.rb +233 -83
  26. data/app/models/wiki_words.rb +23 -25
  27. data/app/views/{wiki/new_system.rhtml → admin/create_system.rhtml} +83 -78
  28. data/app/views/{wiki/new_web.rhtml → admin/create_web.rhtml} +69 -64
  29. data/app/views/admin/edit_web.rhtml +136 -0
  30. data/app/views/file/file.rhtml +19 -0
  31. data/app/views/file/import.rhtml +23 -0
  32. data/app/views/layouts/default.rhtml +85 -0
  33. data/app/views/markdown_help.rhtml +12 -16
  34. data/app/views/mixed_help.rhtml +7 -0
  35. data/app/views/navigation.rhtml +30 -19
  36. data/app/views/rdoc_help.rhtml +12 -16
  37. data/app/views/textile_help.rhtml +24 -28
  38. data/app/views/wiki/authors.rhtml +11 -13
  39. data/app/views/wiki/edit.rhtml +39 -31
  40. data/app/views/wiki/export.rhtml +12 -14
  41. data/app/views/wiki/feeds.rhtml +14 -10
  42. data/app/views/wiki/list.rhtml +64 -57
  43. data/app/views/wiki/locked.rhtml +23 -14
  44. data/app/views/wiki/login.rhtml +14 -11
  45. data/app/views/wiki/new.rhtml +31 -27
  46. data/app/views/wiki/page.rhtml +115 -81
  47. data/app/views/wiki/print.rhtml +14 -16
  48. data/app/views/wiki/published.rhtml +9 -10
  49. data/app/views/wiki/recently_revised.rhtml +27 -30
  50. data/app/views/wiki/revision.rhtml +103 -81
  51. data/app/views/wiki/rollback.rhtml +14 -9
  52. data/app/views/wiki/rss_feed.rhtml +22 -22
  53. data/app/views/wiki/search.rhtml +38 -15
  54. data/app/views/wiki/tex.rhtml +22 -22
  55. data/app/views/wiki/tex_web.rhtml +34 -34
  56. data/app/views/wiki/web_list.rhtml +18 -13
  57. data/app/views/wiki_words_help.rhtml +9 -8
  58. data/config/environment.rb +82 -0
  59. data/config/environments/development.rb +5 -0
  60. data/config/environments/production.rb +4 -0
  61. data/config/environments/test.rb +17 -0
  62. data/config/routes.rb +18 -0
  63. data/instiki +6 -67
  64. data/instiki.rb +3 -0
  65. data/lib/active_record_stub.rb +31 -0
  66. data/{libraries/diff → lib}/diff.rb +444 -475
  67. data/lib/instiki_errors.rb +15 -0
  68. data/{libraries → lib}/rdocsupport.rb +151 -155
  69. data/lib/redcloth_for_tex.rb +736 -0
  70. data/natives/osx/desktop_launcher/AppDelegate.h +18 -0
  71. data/natives/osx/desktop_launcher/AppDelegate.mm +109 -0
  72. data/natives/osx/desktop_launcher/Credits.html +16 -0
  73. data/natives/osx/desktop_launcher/English.lproj/InfoPlist.strings +0 -0
  74. data/natives/osx/desktop_launcher/English.lproj/MainMenu.nib/classes.nib +13 -0
  75. data/natives/osx/desktop_launcher/English.lproj/MainMenu.nib/info.nib +24 -0
  76. data/natives/osx/desktop_launcher/English.lproj/MainMenu.nib/objects.nib +0 -0
  77. data/natives/osx/desktop_launcher/Info.plist +13 -0
  78. data/natives/osx/desktop_launcher/Instiki.xcode/project.pbxproj +592 -0
  79. data/natives/osx/desktop_launcher/Instiki_Prefix.pch +7 -0
  80. data/natives/osx/desktop_launcher/MakeDMG.sh +9 -0
  81. data/natives/osx/desktop_launcher/main.mm +14 -0
  82. data/natives/osx/desktop_launcher/version.plist +16 -0
  83. data/public/404.html +6 -0
  84. data/public/500.html +6 -0
  85. data/public/dispatch.rb +10 -0
  86. data/public/favicon.ico +0 -0
  87. data/public/javascripts/edit_web.js +52 -0
  88. data/public/javascripts/prototype.js +336 -0
  89. data/{app/views/static_style_sheet.rhtml → public/stylesheets/instiki.css} +221 -198
  90. data/script/breakpointer +4 -0
  91. data/script/server +93 -0
  92. metadata +59 -32
  93. data/app/controllers/wiki.rb +0 -389
  94. data/app/models/chunks/match.rb +0 -19
  95. data/app/views/bottom.rhtml +0 -4
  96. data/app/views/top.rhtml +0 -49
  97. data/app/views/wiki/edit_web.rhtml +0 -138
  98. data/libraries/action_controller_servlet.rb +0 -177
  99. data/libraries/erb.rb +0 -490
  100. data/libraries/madeleine_service.rb +0 -68
  101. data/libraries/redcloth_for_tex.rb +0 -869
  102. data/libraries/web_controller_server.rb +0 -81
@@ -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
- * 0.9.2: Rollback takes the user to an edit form. The form has to be submitted for the change to take place.
55
- Changed to use inline style on published pages
56
- Fixed "forward in time" on the last revision before current page
57
- Instiki won't log bogus error messages when creating a new Wiki.
58
- Fixed deprecation warning for Object.id (introduced in Ruby 1.8.2)
59
- Madeleine upgraded to 0.7.1
60
- Madeleine snapshots are compressed
61
- Packaged as a gem
62
- * 0.9.1: Added performance improvements for updating existing pages
63
- Fixed IP logging and RSS feeds behind proxies [With help from Guan Yang]
64
- Fixed default storage directory (borked running on Windows) [Spotted by Curt Hibbs]
65
- * 0.9.0: Added aliased links such as [[HomePage|that nice home page]] [Mark Reid]
66
- Added include other page content with [[!include TableOfContents]] [Mark Reid]
67
- Added delete orphan pages from the Edit Web screen [by inspiration from Simon Arnaud]
68
- Added logging of IP address for authors (who's behind the rollback wars)
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