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.
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.
... 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)...
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.
Another minor database migration. The length of the
'referenced_name' field in the previous schema was
limited to 60 characters. Increase that to 255
characters (matching the length of then 'name' field
in 'pages', etc).
This has no effect in SQLite3 users (the default), since
SQLite3 does not enforce these length restrictions. But
MySQL users need this.
As always, run
rake upgrade_instiki
to seamlessly upgrade your database to the latest schema.
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.
Add a patch (from Passenger 2.2.8) to
vendored Rack, which works around a bug
in Ruby 1.9.1. This patch to Rack has been
floating around the intertubes for a while.
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.