Commit graph

418 commits

Author SHA1 Message Date
Jacques Distler daa12e575d Mo Better Exception Handling
A little more cleanup of Instiki's exception handling.
Add some tests.
2008-11-06 10:38:25 -06:00
Jacques Distler bceb1864df Fixes
Fix Session CookieOverflow bug when rescuing an InstikiValidation error.
Fix some random things which will cause problems with Ruby 1.9. (Plenty
more where those came from.)
2008-11-05 22:24:14 -06:00
Jacques Distler dfb0f5f347 Cheat Sheet
Add a link to info about the Theorem Environment to the cheat sheet.
2008-10-27 07:55:34 -05:00
Jacques Distler 7600aef48b Upgrade to Rails 2.2.0
As a side benefit, fix an (non-user-visible) bug in display_s5().
Also fixed a bug where removing orphaned pages did not expire cached summary pages.
2008-10-27 01:47:01 -05:00
Jacques Distler 2fb41f12ce Automatic Theorem Numbering
Can now refer to numbered theorems by \ref{...}, as in LaTeX
2008-10-20 00:24:22 -05:00
Jacques Distler 34082fbf94 Theorem Environments
Implement amsthm-like Theorem environments with Maruku.
Support is based on Maruku "div"s with special class-names.
Classes
    num_*
produce numbered environments, and

    un_*

produce un-numbered environments, where * is one of

   theorem     (for Theorem)
   lemma       (for Lemma)
   prop        (for Proposition)
   cor         (for Corollary)
   def         (for Definition)
   example     (for Example)
   remark      (for Remark)
   note        (for Note)

In addition, the class

   proof

produces a Proof environment.

The LaTeX export works as expected, and these also work in the S5 view.

Bumped version number.
2008-10-17 16:26:17 -05:00
Jacques Distler d2c4c8737c Match itex2MML 1.3.6
Add support for \sslash macro.
2008-09-05 16:45:07 -05:00
Jacques Distler e43c9429c0 Two Bugfixes
Make session secret persist across restarts. (Been meaning to do this for
a while: no more "stale cookie" warnings fter restarting the server.

Avoid cookie overflow in session store.
2008-09-01 15:35:34 -05:00
Jacques Distler 863d60c578 Fix IE7+MathPlayer Bug
IE7+MathPlayer do *not* like the charset parameter to be set in the
Content-Type header. Forcing Rails to omit that parameter is surprisingly
difficult.
2008-08-20 00:22:12 -05:00
Jacques Distler c427807274 Blahtex
Sync with latest Maruku.
Pave the way for Blahtex (PNG-based math) support (from Ari Stern).
   (no visible functionality, yet, but that will come)
2008-07-26 04:14:41 -05:00
Jacques Distler fd554cce90 Recently_revised and List views fixed
The upgrade to Rails 2.1 RC1 busted the /list/ and /rencently_revised/ views.
These are now fixed.
2008-05-23 11:04:00 -05:00
Jacques Distler 800880f382 Rough In New Sanitizer
Start work (which may not pan out) on a new sanitizer. Right now, it passes
all but 1 of the HTML5lib Sanitizer's unit tests. But it doesn't do much
of anything to ensure well-formedness. This is not an issue for Maruku-processed
content, but it is a concern for <nowiki> blocks.

(One solution would be to use the HTML5lib parser on <nowiki> blocks.)

In any case, this baby is 3 times as fast as the HTML5lib sanitizer.
2008-05-20 17:02:10 -05:00
Jacques Distler 5292899c9a Rails 2.1 RC1
Updated Instiki to Rails 2.1 RC1 (aka 2.0.991).
2008-05-17 23:22:34 -05:00
Jacques Distler 41346bf8bd Efficiency: Entity handling
Previously, used a regexp to find and convert named entities in the content.
Now use a more efficient algorithm.
Similar tweak for converting NCRs before checking whether text is valid utf-8.
2008-05-17 01:43:11 -05:00
Jacques Distler 6d46e16ee1 Release 0.14pre(MML+)
Rev Version Number.
2008-03-17 11:37:22 -05:00
Jacques Distler 35257b5fae IPv6-compatible fix for latest Philip Taylor Phun
This is better than Revision 228.
2008-03-14 17:25:02 -05:00
Jacques Distler d46798dd08 Security: Sanitize Remote IP address
Dunno quite how, but evidently, request.ip is manipulable. Make sure it consists of a dotted-quad.
Also, correct a typo from the previous revision.
2008-03-14 10:50:06 -05:00
Jacques Distler 827fb77ad3 Missed One
One more place where @page.name appears.
2008-03-14 00:18:11 -05:00
Jacques Distler 609c5541b9 Yet More Philip Taylor Phun
Escape page names.

Grrr.
2008-03-13 23:02:12 -05:00
Jacques Distler f739077976 Yet more well-formedness Phun
Error messages need to be escaped.
2008-03-13 18:06:16 -05:00
Jacques Distler 435bbfcd36 Further Tweaks
Follow up on revisions 221,222.
2008-02-29 09:46:21 -06:00
Jacques Distler ad620f63d3 Web Style Tweaks are CDATA
Make sure they're properly escaped.
2008-02-29 02:40:22 -06:00
Jacques Distler 9b7b6fb805 Latest Maruku and Tweak for itex2MML 1.3.4
Instiki's LaTeX output also supports \Perp.
2008-02-29 01:30:46 -06:00
Jacques Distler 9a633c0792 Another small tweak to atom template 2008-01-28 01:25:33 -06:00
Jacques Distler d0f7db4247 Fix atom:updated Times
Use page.revised_at instead of page.updated_at.
Thanks to Jason Blevins for pointing out the problem.
2008-01-28 01:13:28 -06:00
Jacques Distler 5a0a6b2ca1 More Philip Taylor Phun
More checks that page_names are valid utf_8.
2008-01-22 20:22:59 -06:00
Jacques Distler 51474e06c8 Styling Hook
Add a distinct class-name for the footer in the page view.
2008-01-19 15:06:17 -06:00
Jacques Distler 72b4f97382 Garbage Collection of :form_keys
In each session, keep only the 30 most recent :form_keys generated by form_spam_protection.
This should be more than enough for ordinary usage, but prevents the session data from
becoming inordinately large.

Also, burnt-orange rulz!
2008-01-17 03:20:19 -06:00
Jacques Distler ebc409e1a0 Ensure the_content REALLY is utf-8
Our check that the the_content was valid utf-8 was rather busted.
This one works right. In particular, we needed to expand NCRs before checking.
2008-01-03 15:27:03 -06:00
Jacques Distler 14e3728183 A Tweak to the Error-Page Layout 2007-12-30 20:34:08 -06:00
Jacques Distler 0c16ab4e6f Better Error for Stale Session
Rather than giving a generic 500 error, tell the user to reload the page.
2007-12-30 10:41:19 -06:00
Jacques Distler a2c7705de5 More of the Same. 2007-12-30 03:58:57 -06:00
Jacques Distler df28bd545a Well-Formed Error Pages
Apparently, my fans think returning raw text error messages are a bad thing.
Well-formed XHTML for them, I guess ...
2007-12-30 03:28:33 -06:00
Jacques Distler 6873fc8026 Upgrade to Rails 2.0.2
Upgraded to Rails 2.0.2, except that we maintain

   vendor/rails/actionpack/lib/action_controller/routing.rb

from Rail 1.2.6 (at least for now), so that Routes don't change. We still
get to enjoy Rails's many new features.

Also fixed a bug in Chunk-handling: disable WikiWord processing in tags (for real this time).
2007-12-21 01:48:59 -06:00
Jacques Distler 18da1a1d71 Accommodate \nequiv in LaTeX output 2007-11-02 10:15:17 -05:00
Jacques Distler a92b593949 SVG in Equations
Support the new "svg" environment from itex2MML 1.3.
2007-10-22 22:24:25 -05:00
Jacques Distler 207fb1f7f2 New Version
Sync with Latest Instiki Trunk.
Migrate to Rails 1.2.5.
Bump version number.
2007-10-15 12:16:54 -05:00
Jacques Distler 0eb1ab56b0 More LaTeX Macros
Put in dummy macros for \statusline and \toggle.
Added colour definitions for HTML named colours.

Remaining  unimplemented:

   \color{#HHH} and \color{#HHHHHH}
   \bgcolor
   \array
   \righttoleftarrow
   \lefttorightarrow
2007-10-11 11:30:17 -05:00
Jacques Distler 0eb723e125 Accessibility: Use Uploaded File Descriptions
The file upload dialog asks for a description of the image or file to be uploaded. Use this as the default alt-text for the image and as a title attribute for a file link.
2007-10-09 02:51:38 -05:00
Jacques Distler 179a0a9cb2 Might as well
Spammers aren't an issue here, but might as well enforce that these actions are POST-only, too.
2007-10-07 03:33:15 -05:00
Jacques Distler 2484542f12 Security: HTTP GET Bypassed Spam Protection
Apparently, the form_spam_protect plugin only works with HTTP POST, not GET.
Unsafe operations (save and file-upload) should be POSTs anyway.
Fixed.

Also, two broken tests fixed. Only two Unit Tests now fail: both are minor bugs in XHTMLDiff.
2007-10-07 01:59:50 -05:00
Jacques Distler f0090cf4ab Whoops!
Committed the wrong version of tex.rhtml. This is the right one.
2007-10-04 15:46:20 -05:00
Jacques Distler 4be4125861 Remaining LaTeX macros
Added the remaining LaTeX macros from our list.
What remains is to decide on how to resolve the conflicting definitions of

   \binom{}{}

and to supply suitable characters for

   \righttoleftarrow
   \lefttorightarrow

The plain TeX syntax {A \over B} is unsupported (passed through verbatim, and will cause a LaTeX error).
2007-10-04 13:43:57 -05:00
Jason Blevins bcfa5b1f31 First commit of new Latex macros. 2007-10-04 09:55:11 -04:00
Jacques Distler 986c21527a First Batch of LaTeX Macros
The first, uncontroversial, batch of LaTeX macros from Jason Blevins.
2007-10-04 03:16:45 -05:00
Jason Blevins 5b4936948b Merged Jacques Distler's latest changes. 2007-10-02 09:56:56 -04:00
Jacques Distler b0e316e37c Minor Fixes
Get rid of Redefined CONSTANT warning.
Make WEBrick respond to TERM signal. (Launchd, in particular, requires this.)
Rollback superfluous change to rails/actionpack/lib/action_controller/base.rb. Handled by the action_cache plugin.
2007-10-01 22:09:51 -05:00
Jacques Distler 3b6523b4f4 rel=nofollow
A little search engine optimization.
2007-09-27 20:04:27 -05:00
Jason Blevins 8d48dd88fe Sync with latest trunk 2007-09-19 13:53:22 -04:00
Jacques Distler c54a78c026 Links in Published Webs
Links in published Webs (in particular, the author-link) should be to the published version of the page.
2007-09-15 14:39:28 -05:00
Jason Blevins ee22cdf75e Use Standard PageRenderer for S5 Content 2007-09-14 13:10:12 -04:00
Jacques Distler 54aada824c Use Standard PageRenderer for S5 Content
From Jason Blevins: use the standard PageRenderer class to render S5 content. This way, WikiWords (etc) are processed in S5 slideshows.
2007-09-14 10:43:03 -05:00
Jason Blevins 61b7168d7a Fixed regular expression to pick up S5 theme. 2007-09-13 20:41:39 -04:00
Jason Blevins b8911bc388 Render S5 slideshows using Instiki's rendering engine framework so that WikiWord links are processed. 2007-09-13 20:25:20 -04:00
Jacques Distler 5b182bd228 HTML5lib Bug
Fixed a bug in the HTML5lib tokenizer (affects S5 slideshows).
Some miscellaneous code cleanup. In particular, don't bother with zapping control characters;
instead, rely on is_utf8? method to raise an exception (which we do anyway).
2007-09-06 10:40:48 -05:00
Jacques Distler f482036683 S5 Themes Support
Added support for S5 Themes. Themes are stored in the public/s5/themes/ directory.
6 themes are included: default, nautilus, blue, flower, i18n, pixel.
2007-09-05 08:38:54 -05:00
Jacques Distler 81d3cdc8e4 Minor S5 tweaks and Sync with Latest HTML5lib 2007-08-30 12:19:10 -05:00
Jacques Distler dbed460843 Fixed S5 output for Safari
Safari can now receive S5 slideshows as real XHTML.
2007-07-27 13:47:19 -05:00
Jacques Distler b42a4c5fec More TeX macros. 2007-07-10 21:32:00 -05:00
Jacques Distler bf572e295f A few TeX macros
Tiny steps towards usable LaTeX output.
2007-06-16 03:14:51 -05:00
Jacques Distler 3ca33e52b5 Cleanup
Got rid of redcloth_for_tex.
Fixed almost all the busted tests.
2007-06-13 01:56:44 -05:00
Jacques Distler 2da672ec5b Many Minor Fixes
Fixed a whole bunch of minor stuff.
Had a go at getting some of the plethora of broken tests to pass.
2007-06-12 17:37:55 -05:00
Jacques Distler 3df61e352d Fix for IE7+MathPlayer.
Based on

    http://lists.w3.org/Archives/Public/www-math/2007May/0044.html

I've altered the Content-Type header sent to IE+MathPlayer. Rationale is
explained in 

    http://lists.w3.org/Archives/Public/www-math/2007May/0045.html
2007-05-29 17:10:20 -05:00
Jacques Distler dc629f5c07 Do Content-negotiation for Cached Content
The action_cache plugin broke our content-negotiation.
Fixed.
2007-05-28 12:48:42 -05:00
Jacques Distler 6b21ac484f HTML5lib Sanitizer
Replaced native Sanitizer with HTML5lib version.
Synced with latest Maruku.
2007-05-25 20:52:27 -05:00
Jacques Distler e4e26400ef One more file...
This one was missed by Revision 519 in Instiki Trunk. Fixed in my branch.
2007-05-11 12:42:18 -05:00
Jacques Distler 342f10acf6 Corrected Typo
Fixed typo in one file from previous update.
2007-05-11 12:34:21 -05:00
Jacques Distler 3b6cd309ff Sync with Instiki Trunk
Sync with Revision 519 of Instiki trunk (2007/5/7).
2007-05-11 11:47:38 -05:00
Jacques Distler 493803cfd1 Atom Feeds (bis)
Remove some vestiges of RSS 2.0.
2007-04-13 17:20:14 -05:00
Jacques Distler 3a57d3aade Atom Feeds
Replaced Instiki's RSS 2.0 feeds with Atom 1.0 feeds.
2007-04-13 17:04:03 -05:00
Jacques Distler 19889c98d4 Safari's DOM support in XHTML is horribly broken. Send it S5 slideshows as text/html. (Sorry: no inline SVG for you!)
Turn on Maruku's Math support in S5 slideshows, only if corresponding Web is Math-enabled.
2007-03-30 12:25:59 -05:00
Jacques Distler 0db06a9fa3 To be really XML-safe, don't emit XHTML+MathML named entities. (Ported MathML::Entities to Ruby.) 2007-03-29 03:30:10 -05:00
Jacques Distler 9b9d134ad9 Fix upgrade to Rails 1.2.3.
Fix log-rotation (the previous attempt didn't quite work as advertised).
2007-03-21 15:37:29 -05:00
Jacques Distler ff3e03a45a Switched from XHTML+MathML to XHTML+MathML+SVG DOCTYPE. Silly, I know ... 2007-03-16 01:10:52 -05:00
Jacques Distler f92ed693c0 Log rotation. By default, we now use the standard Ruby Logger class to rotate the Instiki logfile.
This works fine with the default Webrick. But, if you're running under Mongrel (say), you probably
want to customize this in config/environments/production.rb .
2007-03-13 14:54:43 -05:00
Jacques Distler c704f899af File uploads now work. 2007-03-10 22:31:24 -06:00
Jason R. Blevins e2b93c9e29 Made S5 view publically viewable for published webs.
Added an S5 view link to the bottom of the published view page.
2007-03-10 18:03:40 -05:00
Jason R. Blevins 12743280fb All WikiReference methods now limit results to the current web.
Category lists are now restricted to the current web.
2007-03-10 16:09:20 -05:00
Jacques Distler 626c135d1e Security: ensure file upload directory is not world-writable.
(There still seem to be bugs in the file upload function.)
2007-03-10 11:26:30 -06:00
Jacques Distler 144540a761 Fixed caching bug with category 'list' and 'recently_revised' views.
Re-enabled filesystem caching.
2007-03-10 00:18:18 -06:00
Jacques Distler edf335060a Fix new.rhtml 2007-03-09 08:28:19 -06:00
Jacques Distler db76c79cfb Whoops! harmless typo. 2007-03-09 08:04:24 -06:00
Jacques Distler 46e78c2317 Sync with latest Instiki trunk (to the extent that the bizarre stuff being committed there makes any sense). 2007-03-08 22:35:49 -06:00
Jacques Distler a656772622 Deal with clients that don't send an HTTP_ACCEPT header.
Cache S5, TeX and Print views.
Temporary hack: don't cache list and recently_revised pages.
2007-03-08 21:57:21 -06:00
Jacques Distler d74116dc67 Ensure that input is bona fide utf-8. 2007-03-07 21:06:39 -06:00
Jacques Distler 7cfa9bf1ba Page footer now includes link to my branch of Instiki. 2007-03-05 09:32:53 -06:00
Jacques Distler cf525b8bb9 Zap gremlins in author names. 2007-03-04 22:56:52 -06:00
Jacques Distler 6f81cb1207 Fix well-formedness issue in rollback.rhtml and validity in that and edit.rhtml. 2007-03-02 18:46:40 -06:00
Jacques Distler 6ee59e7e49 More S5 tweaks. 2007-03-01 15:15:41 -06:00
Jacques Distler 6a7645c45c Fixed inline SVG in S5.
More S5 Stylesheet tweaks.
2007-03-01 10:50:06 -06:00
Jacques Distler 41ff4724b8 Converging on S5 support. 2007-03-01 03:05:35 -06:00
Jacques Distler 02c6ed2fa0 More progress on S5.
Forgot to add gremlin zapping in app/views/wiki/edit.rhtml.
2007-02-28 18:38:52 -06:00
Jacques Distler 8359047fd5 Start on adding S5 support to Instiki. 2007-02-28 13:31:34 -06:00
Jason R. Blevins b65a5b8e30 Bug fix. Previously, all categories were visible from all webs. Now category lists are restricted to the current web. 2007-02-27 22:27:20 -05:00
Jacques Distler 0aafedb2df More XSS fixes.
Started fixing file uploads.
2007-02-21 12:10:47 -06:00
Jacques Distler d04ed8001b Some more appearance tweaks. 2007-02-19 17:35:32 -06:00
Jacques Distler e3fafb6e6d Version strings. 2007-02-19 10:01:16 -06:00
Jacques Distler 09e8b609b6 Yuck. Yet more XHTML validity fixes. 2007-02-18 23:14:55 -06:00
Jacques Distler 21a403b04f More XHTML validity and CSS cleanup. 2007-02-18 17:27:36 -06:00
Jacques Distler f1cff1a798 Stylesheet tweaks. 2007-02-18 02:43:26 -06:00
Jacques Distler 666cb32cc3 A little separation of presentation from content. 2007-02-18 01:48:32 -06:00
Jacques Distler 3bbdf17f0b Whoops! Do that right. 2007-02-16 11:13:31 -06:00
Jacques Distler 373f25bcb7 Removed (temporarily, I hope) the "export web to TeX" and PDF-output features. They were slow and didn't work right. 2007-02-16 11:05:55 -06:00
Jacques Distler e636d6fa32 Valid XHTML? Couldn't hurt! 2007-02-15 08:26:47 -06:00
Jacques Distler ff63e894b2 Sync with latest Maruku.
Finally able to ditch BlueCloth completely.
2007-02-14 20:32:24 -06:00
Jacques Distler 0556f43180 XHTML-safe version of form_spam_protection. 2007-02-14 11:00:11 -06:00
Jacques Distler d291318f3e Sync with latest (2/13/2007) Instiki svn. 2007-02-13 09:55:26 -06:00
Jacques Distler f896f8fbdc Added support for @xml:lang and blockquote@cite to Maruku.
Added Javascript styling for blockquote@cite.
2007-02-13 03:25:05 -06:00
Jacques Distler 64037c67ac Fixed bug in pages_that_reference(page). 2007-02-09 17:44:36 -06:00
Jacques Distler 5536e6e79e Allow user to be logged-inot several password-protected webs simultaneously. 2007-02-09 13:19:03 -06:00
Jacques Distler c358389f25 TeX and CSS tweaks.
Sync with latest Instiki Trunk
(Updates Rails to 1.2.2)
2007-02-09 02:04:31 -06:00
Jacques Distler 87318e6e62 More display tweaks for redline diff pages. 2007-02-04 10:18:21 -06:00
Jacques Distler eeef7952c3 Fixed the Content-negotiation for sending XHTML.
Fixed a non-well-formed page.
Maruku's metadata processing seems to be busted. May have to revert.
2007-02-01 17:22:15 -06:00
Jacques Distler 9cf0b504f1 Stylesheet tweaks.
Edited Markdown+itex2MML Help
2007-02-01 03:39:21 -06:00
Jacques Distler 488dd334f7 Support for IE+MathPlayer.
Sync with latest Maruku.
2007-01-24 10:53:10 -06:00
Jacques Distler 29b4c4b837 Do content-negotiation to decide whether to send application/xhtml+xml or text/html.
Fixed the bozotic spam filter. Can you believe one can't use the word "texas" in Instiki?
2007-01-23 03:25:24 -06:00
Jacques Distler b19e1e4f47 Bring up to current. 2007-01-22 08:36:51 -06:00
Jacques Distler 69b62b6f33 Checkout of Instiki Trunk 1/21/2007. 2007-01-22 07:43:50 -06:00