Commit graph

323 commits

Author SHA1 Message Date
Jacques Distler
e07960a897 Efficiency improvements to itex endpoint
Benchmarks at up to twice as fast.
2010-03-01 21:10:13 -06:00
Jacques Distler
a6bceb2a8e Ensure that itex endpoint returns well-formed XML
Since itex's \begin{svg}...\end{svg} syntax allows
the client to pass arbitrary junk through the document,
we need to check that the result is well-formed.

Use a pluggable XML parser: nokogiri, if installed,
REXML otherwise.
2010-03-01 12:27:04 -06:00
Jacques Distler
7b22daa784 Fix Revision 601
With tests, this time.
2010-02-28 23:51:33 -06:00
Jacques Distler
519f81ab20 Try to make Jeff happy
Make use of a nonce for setting SVG-Edit IDs
option. By default, SVG-Edit behaves as before.
Calling svgCanvas.randomizeIds(true) gives our
behaviour, instead.

Also, sync with latest SVG-Edit (but disable,
for now, manual editing of IDs).
2010-02-27 09:49:02 -06:00
Jacques Distler
47524a7104 Small tweak to itex metal 2010-02-22 19:13:46 -06:00
Jacques Distler
3fbff19997 itex Endpoint Should Handle Blank TeX
Reported by Andrew Stacey
2010-02-22 08:52:52 -06:00
Jacques Distler
702b450fd9 itex Endpoint
Add a Rack Metal itex endpoint.
Add an itex tool to SVG-Edit.
Disable the foreignObject tool
(at least, for now) as it doesn't
currently play nice with the itex tool.
2010-02-22 00:05:52 -06:00
Jacques Distler
c3ed5b461b Preliminary SVG-edit Support
WYSIWYG SVG editing.

Still no support for mixed
SVG/MathML content, yet.
2010-02-05 21:36:35 -06:00
Jacques Distler
954bcb52c2 The Rails Way
The previous implementation, in Revision
541, was ugly. This is better.
2010-01-29 11:13:16 -06:00
Jacques Distler
5506f87f17 One-Click S5 Template
Make it yet-easier to create
S5 slideshows.
2010-01-28 23:37:10 -06:00
Jacques Distler
bafa7743f1 Allow Periods in Page Names
Thanks to Jeff Zellman.
2010-01-26 00:18:30 -06:00
Jacques Distler
d3db9d1229 Export Zipballs Include BlahTeX PNGs
It's as simple as recursing through the
files/ directory, when adding to the zipball.
2010-01-24 22:54:35 -06:00
Jacques Distler
aea2c5099f More Ruby 1.9 Encoding Fun
Under Ruby 1.9, could not delete orphan
pages with utf-8 names. They would be
listed as orphan, but "Delete Orphan Pages"
would silently not delete them.

Fixed.
2010-01-24 12:23:47 -06:00
Jacques Distler
b9db67073d Ruby 1.9 fix
Make the previous fixes work under Ruby 1.9
as well.
2010-01-23 18:30:17 -06:00
Jacques Distler
09e885d299 Small Cleanup
Small cleanup to the zip export.
2010-01-23 18:24:14 -06:00
Jacques Distler
8ed5a88db0 Fix Zip Export and Print View
Fix http://bug.to/issues/show/335
and
http://bug.to/issues/show/334

We now bundle the uploaded files directory
(and the public/ directory for the (X)HTML
export) in the Zipball when exporting a Web.

Also, correct the Print View to produce proper links
uploaded files.
2010-01-23 18:01:02 -06:00
Jacques Distler
ad2fab42bd Whoops!
Move darken() helper method from
wiki_helper.rb to application_helper.rb.
2010-01-23 09:07:57 -06:00
Jacques Distler
979ea7eca0 CSS Improvements
Fixed a few aesthetic matters.
2010-01-23 00:21:14 -06:00
Jacques Distler
d67ce28855 Prevent Renaming to a Null Page Name
Fix http://rubyforge.org/tracker/index.php?func=detail&aid=27649&group_id=186&atid=783
2010-01-07 08:12:22 -06:00
Jacques Distler
c8ef0a3dd4 Release Instki 0.18.1
Seems warranted, in light of the
Ruby 1.9 encoding issues.
2010-01-07 00:07:10 -06:00
Jacques Distler
0c2bc65e7a All I want for Christmas ...
... is to settle these encoding issues 
once and for all.

Let's override the accessor methods, which 
seems to offer a simpler solution.

Now with tests (for whatever that helps)...
2010-01-06 08:15:34 -06:00
Jacques Distler
6e6bf1a446 Yikes! Yet more Ruby 1.9 Encoding Issues
We're getting there. Thanks to Andrew Stacey.
2010-01-05 09:35:14 -06:00
Jacques Distler
6cf1463525 Revert Revision 520; This is more thorough
This ensures that @page.name has the right (utf8)
encoding.
2010-01-04 18:43:27 -06:00
Jacques Distler
d786e95a77 Ruby 1.9 + MySQL Hack
The default encoding in MySQL is latin1. Ruby 1.9
is a stickler about the encoding of a sequence of bytes.
In this case, a utf8 page name stored in the database comes
back as "ASCII-8BIT" (ie, binary). Coerce that back to utf8.

This doesn't affect SQLite3, and it doesn't affect Ruby 1.8.
It doesn't even affect MySQL databases with "utf8" encoding
(though that has other issues, since MySQL's utf8 support is
broken).
There are probably other, similar problems lurking.
2010-01-04 06:41:04 -06:00
Jacques Distler
f66fc4de4d Fenced Code Blocks, Fortran Syntax Colouring
Support Marhdown Extra's fenced code blocks. [From Jason Blevins]
Fortran syntax colouring. [From Jason Blevins]
Turn on Syntax colouring, by default.
Point to Michel Fortin's Markdown Extra page.
2009-12-31 15:54:01 -06:00
Jacques Distler
2780344a1b Version 0.18 2009-12-27 00:55:48 -06:00
Jacques Distler
b75aa4b8d6 Fix a broken test 2009-12-27 00:41:04 -06:00
Jacques Distler
601331b508 Move Files When Renaming Web
Renaming a web should move the
corresponding subdirectory of webs/ .
Otherwise, links to uploaded files break.
2009-12-26 23:43:18 -06:00
Jacques Distler
a705709f9a Vendor Rack 1.1
Also clean up some View stuff.
2009-12-26 14:00:18 -06:00
Jacques Distler
af0f607e75 Syntax Colouring
New syntax colouring modes.
In addition to the existing
  html, xml, ruby
we now support
  yaml, ansic, javascript, sqlite, css
2009-12-24 00:45:45 -06:00
Jacques Distler
a166fb9608 Add Link to BlahTeX Manual 2009-12-17 22:50:10 -06:00
Jacques Distler
a1420aa5c7 Revamp Markup Cheat Sheets
They still suck, but less-so.
2009-12-17 10:29:51 -06:00
Jacques Distler
fe877a10b4 Make html_ext Available as a Helper
... and protected.
2009-12-16 00:59:33 -06:00
Jacques Distler
f3b69bc57b Make xhtml_enabled? a Protected Method
... as it should be. Remarkably, it's
still possible to use it in views, if
you declare it a helper method.
2009-12-14 22:34:31 -06:00
Jacques Distler
d3e79ea84a Make truncate() Unicode-aware 2009-12-14 17:41:28 -06:00
Jacques Distler
2c5e5a0015 Refactoring
Move the truncate() method into ApplicationHelper.
Move another method around, for no particularly
good reason. Controllers really shouldn't have
public methods that don't correspond to actions.
2009-12-14 02:01:50 -06:00
Jacques Distler
dc3d202665 Cache Source View
Also, fix a cache-sweeping bug reported,
long ago, by Toby Bartels.
2009-12-13 21:09:12 -06:00
Jacques Distler
1613973929 Array#collect is faster than Array#inject
Also add some more tests.
2009-12-13 20:00:18 -06:00
Jacques Distler
282515d907 Source View
Add a Source view. [Based on a suggestion by Andrew Stacey]
Fix a well-formedness bug in the list action, due to
boneheaded truncation algorithm. [Reported by Roby Bartels]
2009-12-13 19:25:14 -06:00
Jacques Distler
2c5c6dc78a S5 Fix
Omit a (seemingly superfluous)
javascript hack which causes
Gecko-based browsers to request
   /my_wiki/s5/null
when they load an s5 slideshow.

Also a stylistic cleanup in
the wiki_controller.
2009-12-07 15:27:40 -06:00
Jacques Distler
f7044ecbb4 Ruby 1.9.1 Fixes
Some more fixes to deal with Ruby 1.9.1.
2009-12-02 12:46:15 -06:00
Jacques Distler
34b63a8375 Fix a Ruby 1.9 Character Encoding Bug
Wow, this stuff is complicated!
Some things really want to be UTF-8;
others really want to be byte strings.
2009-12-01 12:03:15 -06:00
Jacques Distler
79c8572053 Use Rails.root
A little cleanup.
2009-11-22 01:32:58 -06:00
Jacques Distler
045dcbf1f5 Media Type
The default stylesheet should be media='all',
rather than media='screen'.
Damned Rails defaults!
2009-11-22 00:27:42 -06:00
Jacques Distler
e678b7e3a2 Spacing Tweak 2009-11-09 18:17:57 -06:00
Jacques Distler
2b213d95de Accessiblity: Skip Navigation Link
Thanks to John Gardner for the suggestion.
2009-11-09 11:58:57 -06:00
Jacques Distler
2e52ce48df Update LaTeX Output for Revision 464 2009-11-06 21:23:18 -06:00
Jacques Distler
977da29f68 Support for \tooltip{}{} and \statusline{}{}
itex2MML 1.3.16 add a \tooltip{}{} command which,
like \statusline{}{}, produces an <maction> element.

Neither of these is natively supported by Mozilla/Firefox.
Add some Javascript to work around that weakness.
2009-11-06 14:32:45 -06:00
Jacques Distler
883d82992c Version 0.17.3 2009-10-23 11:13:26 -05:00
Jacques Distler
5df1504255 Tests for Revision 456
Functional tests for Revision 456.
Also, fix a buglet in handling rescues
for new pages.
2009-10-19 22:57:11 -05:00
Jacques Distler
20c99df440 Work around Rails flash bug
When redirected to another page, flash 
messages will not display if the query
string is longer than 10192 bytes. In
Instiki, certain rescue operations 
involve redirection, with the updated
content of the page passed as a query
parameter. Fall back to using the stored
content (ie, don't pass a query parameter)
if the content is too long.
2009-10-19 18:19:31 -05:00
Jacques Distler
cae4b5c539 Enable X-Sendfile support under Passenger
Passenger doesn't behave like a proxy server.
But it does support X-Sendfile. So let's make
use of that.
2009-10-11 14:00:16 -05:00
Jacques Distler
23e9c6beb2 Use AssetTagHelpers in S5 Template
Otherwise S5  breaks when Instiki is
deployed to a non-root URL (e.g., by
setting RailsBaseURI in Passenger).

Also a stylistic tweak in lib/node.rb
2009-10-11 09:49:01 -05:00
Jacques Distler
aef669a923 Change some CRs to LFs 2009-10-06 11:31:15 -05:00
Jacques Distler
d89769fe81 Update for itex2MML 1.3.13
Implements \mathrlap{}, \mathllap{}, and \mathclap{}.
Deprecates the use of \rlap{} (use \mathrlap{}, instead:
the latter works in math-mode in the LaTeX export, whereas
TeX's \rlap{} did not).
2009-10-05 02:36:00 -05:00
Jacques Distler
41274d64d0 Support itex2MML 1.3.12 2009-10-04 03:46:06 -05:00
Jacques Distler
affc47fc22 Fix TeX Rendering Bug
Make sure we

  require 'maruku/ext/math'

before calling the Maruku#to_latex method.

Also, update test for itex2MML 1.3.11 .
2009-09-13 11:23:57 -05:00
Jacques Distler
d51b04d3db Update Location of Textile Help
_why_the_lucky_stiff disappeared . Use a
mirror site instead. (Reported by villem)
2009-09-08 22:20:18 -05:00
Jacques Distler
c79fef9c01 Clean, rather than Complain
Previously, if the user tried to submit content which was
malformed utf-8, Instiki would complain loudly to him.

A slightly more user-friendly approach was suggested by
the latest Rails 2.3.4, and a conversation with Sam Ruby
(who suggested some improvements).

Now, instead of complaining, we remove the offending bytes,
leaving a well-formed utf-8 string, which we pretend is what
the user meant to submit.
2009-09-07 16:02:36 -05:00
Jacques Distler
f029aae60e Refactoring the Web Model (From James Herdman)
A bit of refactoring, via 

  http://github.com/jherdman/instiki/tree/master
2009-09-05 23:02:52 -05:00
Jacques Distler
4bdf703ab2 Instiki 0.17.2: Security Release
This release upgrades Instiki to Rails 2.3.4, which
patches two security holes in Rails. See

  http://weblog.rubyonrails.org/2009/9/4/ruby-on-rails-2-3-4

There are also some new features, and the usual boatload
of bugfixes. See the CHANGELOG for details.
2009-09-05 02:01:46 -05:00
Jacques Distler
34c4306867 More ActiveRecord Association .length -> .size Optimizations 2009-09-04 00:09:39 -05:00
Jacques Distler
342298ed0e Wikilinks to Published Webs
Should be to the published action. This
didn't work right for inter-web links.
(Reported by Mike Shulman)

Also, change some .length's to .size's
(for Andrew Stacey)
2009-09-03 23:09:10 -05:00
Jacques Distler
336e57d6b4 Pathname Objects
Web#files_path and Web#blatex_pngs_path now return Pathname objects.
Based on JHerdman's
5d1e8f420b
but requires several other changes to the code (which assumed a string).

Also, test for itex2MML 1.3.10 (you should update that too).
2009-08-28 11:10:34 -05:00
Jacques Distler
28cf501166 Correctly Set noindex,nofollow On /diff Pages
None of them should be indexed.
Make sure that happens.
2009-08-24 17:42:34 -05:00
Jacques Distler
8cf26c9249 Add a "Create New Page" Link to the Search Page
Based on an idea by nowa:

   bcac6c9f94
2009-08-12 12:19:23 -05:00
Jacques Distler
329fafafce Fix Two bugs from Toby Bartels
1. Ensure that "rollback" respects locked pages.
2. Expire revisions of an edited page. Use a before_save
   hook to deal with the situation where a page's name
   has been changed.
2009-08-04 00:02:04 -05:00
Jacques Distler
0e0f666fb4 Rollbacks and Relative URLs
Ensure "rollback" locks page for editing. (reported by Toby Bartels)
Generate relative URLs, when possible. (Patch by Dennis Knauf)
2009-07-27 22:49:12 -05:00
Jacques Distler
51280b758d Redirected Pages are not Wanted Pages
Correct list of Wanted Pages. Should not
include redirected pages.
(Reported by Toby Bartels)
2009-07-13 12:59:42 -05:00
Jacques Distler
a0b965c9f5 Tweak CSS for S5 Themes
So that syntax-colouring will be passably OK there.
2009-07-07 00:13:48 -05:00
Jacques Distler
7f2e883e12 Slashes in Page Names
Make it possible to change the name of a page, whose currrent name
contains a forward slash.
(Reported boy Toby Bartels)
2009-07-02 11:02:05 -05:00
Jacques Distler
a049d27222 Escape Page name
Use escape_javascript() in page name-changing javascript.
2009-06-21 00:39:24 -05:00
Jacques Distler
2ffa1ea007 Cleanup
And a fix from Ari Stern.
2009-06-17 21:12:58 -05:00
Jacques Distler
73120cdc1c Rollback one change from previous commit
S5 should not be visible on unpublished, password-protected webs.
2009-06-17 12:45:53 -05:00
Jacques Distler
155dc88891 Uploaded files in published webs should be accessible
File retrieval (but not file uploads) should be allowed on
a published web (this includes BlahTeX/PNG support).
(Reported by Ari Stern).
2009-06-17 11:17:25 -05:00
Jacques Distler
d135ac3982 Flash[:info] messages use Web's colour scheme 2009-06-14 23:14:24 -05:00
Jacques Distler
7448b7981b Minor fixes
1) WEBrick should respond to TERM signals
(needed by MacOSX and, perhaps, others).
2) HTTP redirects for redirected pages should be 301's.
3) Add a flash message for redirection to "new" page
when the target of "show" action is not found.
2009-06-14 22:55:41 -05:00
Jacques Distler
d50d6fac17 Get Ready for 0.17 Release 2009-06-14 16:52:59 -05:00
Jacques Distler
48ee59e393 Fix a WikiReference Bug
Wikilinks to redirected pages are valid links.
2009-06-10 20:49:48 -05:00
Jacques Distler
305b37b401 Another Bug-fix and some tests
Man, but this needs more tests ... !
2009-06-06 21:08:08 -05:00
Jacques Distler
12207bc01c Redirect Targets are not Orphaned
A pages that is linked-to, via a redirect, is not orphaned.
2009-06-06 12:37:00 -05:00
Jacques Distler
63fde3165e Redirected Pages are not Wanted Pages
... and should not be listed as such on the "list" pages.
2009-06-05 22:48:32 -05:00
Jacques Distler
e341d62809 Close another hole
I believe this addresses Jason's issue.
2009-06-05 22:26:25 -05:00
Jacques Distler
07da370d41 Battle-hardening
Fix some bugs in the new redirect/change-name implementation.
Not completely bullet-proof, yet (need to deal with
Jason's issue), but getting there.
2009-06-05 17:45:57 -05:00
Jacques Distler
a2b1c7e66c HTTP Redirects for Redirected Pages
If a page isn't found, but there is a page that redirects for it,
don't show a 404!
2009-06-05 09:02:05 -05:00
Jacques Distler
0943b7e510 Expire Caches for Redirected Links
[[!redirect foo]] should expire all pages which reference "foo".
Sounds simple, but this was a really gnarly bug to fix.
2009-06-05 00:39:12 -05:00
Jacques Distler
ea6b04271b Whoops!
Ruby syntax can be tricky.
2009-06-02 23:36:39 -05:00
Jacques Distler
d7832ba262 Wiki Redirects and Page Renaming
Added the ability to rename existing pages.
[[!redirects Some Page Name]] redirects Wikilinks [[Some Page Name]] to
  the current page (assuming "Some Page Name" does not exist).
  Real pages trump redirects (though this may change, depending on 
  user feedback).
2009-06-02 22:17:15 -05:00
Jacques Distler
ec7141942b Instiki 0.16.6
Fix an incompatiblity between form_spam_protect and IE7.
(Thanks to Jason Blevins)
Roll a new version.
2009-05-08 16:13:25 -05:00
Jacques Distler
f062dfe15a Remove some obsolete code from ApplicationController::rescue_action_in_public
Prompted by
http://rubyforge.org/pipermail/instiki-users/2009-April/001215.html
2009-04-13 19:06:40 -05:00
Jacques Distler
28a0043957 Tweaks to Default Layout 2009-04-05 11:04:44 -05:00
Jacques Distler
888ebe4b58 Appearance Tweak
A couple of tweaks to the appearance of the new history feature.
2009-04-01 09:20:58 -05:00
Jacques Distler
98918954e0 Cache Sweeping
Expire cached revisions of deleted pages.
Tweak the appearance of "history" page a bit.
2009-03-31 23:37:21 -05:00
Jacques Distler
69bfc1028b Cache Revisions
Fix config/routes.rb to make revisions cacheable.
Cache revisions.
Modify the history page so that it links to the current page (and diff).
2009-03-31 15:54:41 -05:00
Jacques Distler
73a7ceef03 Cache History Pages
Implement caching for the "history" pages
introduced in Revision 377.
2009-03-31 08:52:46 -05:00
Jacques Distler
d5a65e6ac8 History Pages
From Jason Blevins:
  Create a "History" page for each wiki page.
  Link to it, and to the "Diff" page from "Recently Revised".
Also, correct a bug in listing/deleting links to uploaded
video and audio files.
2009-03-30 23:50:06 -05:00
Jacques Distler
7c0874bf4c Colour Schemes
From Jason Blevins:
Added blue, brown, scarlet red, and plum color options.
2009-03-29 21:24:27 -05:00
Jacques Distler
c85ce458ce Update for itex2MML 1.38
Add support, in the LaTeX export, for blackboard bold
digits and lowercase latin letters. If these are
present, LaTeX will
   \usepackage{mathbbol}
N.B.: this uses the stmaryrd font for blackboard bold
letters, instead of the msbm font.
Tests included. (Yes, you need to update itex2MML as well.)
2009-03-24 22:37:58 -05:00
Jacques Distler
e2ccdfd812 Instiki 0.16.5
Update to Rails 2.3.2 (the stable Rails 2.3 release).
Add audio/speex support
Update CHANGELOG
Bump version number
2009-03-16 09:55:30 -05:00
Jacques Distler
9f2cb8bbe5 Update LaTeX output for itex2MML 1.3.7 2009-03-07 20:49:14 -06:00