Commit graph

183 commits

Author SHA1 Message Date
Jacques Distler dcfe870a02 Fix foreignObject
Fix SVG-Edit Issue 503.
Selecting a foreignObject was
mistakenly setting the stroke to 'none'.
2010-02-27 16:39:57 -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 8a851eeab2 Sync with latest SVG-Edit
Fixes Issue 502 (Connector
lines are not re-editable).
2010-02-26 14:51:27 -06:00
Jacques Distler f7f1668e31 Fix killer bug when attempting to edit SVGs from prior SVG-Edit versions
D'Oh!
2010-02-25 10:56:18 -06:00
Jacques Distler aa0a151ba4 Uniquify IDs in SVG-Edit
Since we can have several SVG-Edit graphics
on a page, SVG-Edit should assign unique IDs
to elements, and do so in a fashion that survives
re-editing.

To do this, we use a nonce, and record its value in
a custom se:nonce attribute on the <svg> element.
(Is there a better way?). 

Also, preserve the custom se:connector attribute for
later editing purposes.
2010-02-25 02:25:16 -06:00
Jacques Distler 4cd626ef49 Cleanup itex extension
Most of the DOM manipulations can be done
before doing the AJAX call. This leaves
just the insertion of the MathML nodes in the
mrow for the AJAX callback function.

Also, make the stroke-width for the connector tool 
default to 2.
2010-02-23 17:24:23 -06:00
Jacques Distler d201f79766 No Need to Double-Escape
Apparently, JQuery takes care of all of the
escaping we need. So ditch our own escaping
(which effectively double-escaped everything).
2010-02-23 10:16:14 -06:00
Jacques Distler 42d92a0b37 More ext-itex.js Fixes
Ajax is asynchronous. Need to 
sanitize in the callback function,
NOT when adding <math> to the DOM.

Need to unescape text for itex editor
window (since JQuery seems to take care
an 'extra' round of escaping).
2010-02-22 23:20:57 -06:00
Jacques Distler 85e0a2cb10 More tweaks
Make the AJAX endpoint configurable (this could still be
done better).
Use POST, rather than GET for the AJAX request, so that
we don't have to worry about overly-long equations.
2010-02-22 21:50:38 -06:00
Jacques Distler cb1fe51e84 Don't need an xmlns:xlink on the math element
itex2MML puts one on the mrows that are hyperlinks.
2010-02-22 21:35:29 -06:00
Jacques Distler a1654f1e99 Sync with latest SVG-Edit 2010-02-22 18:53:15 -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 956d523a4a Change default line thickness
The default stroke-width on various SVG
elements is now 2 (rather than 5).

Also, sync with latest SVG-Edit.
2010-02-20 23:54:20 -06:00
Jacques Distler c16c67928e Another tweak to the close_path icons 2010-02-20 10:40:40 -06:00
Jacques Distler f471ba7d59 Close_path Icons, Mark II 2010-02-19 17:06:54 -06:00
Jacques Distler f84b4370fa Make Closepath Icons Work 2010-02-19 16:37:20 -06:00
Jacques Distler dab8e5daa1 And your little dog, too ... 2010-02-18 21:02:11 -06:00
Jacques Distler 06262ce257 Aother SVG-Edit fix that got lost in the Great Migration 2010-02-18 20:43:57 -06:00
Jacques Distler 9eb0573eca Fix SVG-Edit Issue #489 2010-02-18 11:04:00 -06:00
Jacques Distler 2dfb852727 Fix connectors to work with foreignObject
Alexis got this working on SVG-Edit trunk.
2010-02-18 10:12:44 -06:00
Jacques Distler 08cd194330 Restore line-height fix for foreignObjects
Line-height is inherited, and the setting in SVG-Edit
ever-so-slightly screws up foreignObject (the bounding box
is not where it should be. This can be fixed in the CSS
(and was, till the great migration to the extensions folder).
2010-02-17 15:44:53 -06:00
Jacques Distler b302bf36c5 Fixes to foreignObject Extension
(From Alex)
2010-02-17 14:48:49 -06:00
Jacques Distler ea581a50ae setCustomhandlers
Further whittling away at differences between
Instiki's and the main branch of SVG-Edit.
Now, the saveHandler is set from within the calling
page.

If the editor was opened from Instiki, choosing "Save Image"
now closes the editor window. To leave it open was kinda confusing.

Also sync with latest SVG-Edit changes.
2010-02-17 14:28:00 -06:00
Jacques Distler 4475f02586 Fix SVG-Edit Regression
"text" and "foreignObject" tools should not
disable "line" and "freehand" tools.
2010-02-17 08:26:05 -06:00
Jacques Distler db5b418659 Andrew Stacey says I can't count ... 2010-02-17 07:29:15 -06:00
Jacques Distler ce47d49e69 SVG-Edit foreignObject tool refactored as an extension
Thanks to Alexis Deveria. (Though I did fix one small bug.)
My patch-file is now down to a mere 178 lines (a big
chunk of which is Revision 569).
Also, the font-size for foreignObjects defaults to 16pt,
which will be more useful in Instiki.
2010-02-16 23:14:04 -06:00
Jacques Distler 63f1d34d74 Fix a bug in cloning MathML nodes in Firefox
Gecko-based broswers append some weird-shit
attributes. Filter them
2010-02-16 13:55:36 -06:00
Jacques Distler 5094a7339b Make SVG-Edit Clone-Element Work with foreignObject
Fixes SVG-Edit Issue #485.
2010-02-16 11:17:45 -06:00
Jacques Distler d6e749cf6a Make the SVG-Edit sanitizeSVG() Namespace-Aware 2010-02-15 13:53:07 -06:00
Jacques Distler 10c0e709f6 Fix SVG-Edit Issue #484
Incorrect namespace handling broke Text tool.
2010-02-14 22:07:45 -06:00
Jacques Distler ee5d03dca6 One more attempt at namespace sanity 2010-02-14 16:36:26 -06:00
Jacques Distler 2151c8d86b More Namespace fun
I don't know why they want to mess
with this, but it's clearly way more
complicated than any benefit I can see
it yielding.
2010-02-14 03:16:54 -06:00
Jacques Distler 2e16458c44 Namespace Handling in SVG-Edit becomes a little saner. 2010-02-14 01:20:59 -06:00
Jacques Distler 612fbf2920 Fix SVG-Edit Issue 483
Fix http://code.google.com/p/svg-edit/issues/detail?id=483
2010-02-13 23:22:36 -06:00
Jacques Distler afcdc932ff Two SVG-Editor buglets
Should not be able to convert a foreignObject
to a path.
#foreignObject_panel should always be initially
invisible.
2010-02-13 22:19:14 -06:00
Jacques Distler c608cedab9 Make foreignObject editing work in Safari
"Apply Changes" no longer generates an error in Safari.
2010-02-13 14:44:56 -06:00
Jacques Distler 620bb2a1f7 Fix Safari
Revision 1380 of SVG-Edit broke Safari.
Revert the problematic change.
2010-02-13 14:15:55 -06:00
Jacques Distler d503100fe9 Mostly cosmetic
Sync with latest SVG-Edit.
Tweak an icon.
2010-02-13 00:11:13 -06:00
Jacques Distler db7bbca920 Minor tweaks to SVG-Edit
1) Tweak the edit_foreign icon
2) Make the query parameter matching a little
less dumb (but still very dumb).
2010-02-12 17:38:17 -06:00
Jacques Distler 52d85c6d01 Don't use a data-url
Pass the SVG to the editor, using
  editor.svgCanvas.setSvgString(selected);
instead. (Suggested by Jeff Schiller)
Fix a bug with line and freehand tools caused
by activating foreignObject tool. (Again, fix
due to Jeff)
Sync with SVG-Edit.
2010-02-12 12:34:56 -06:00
Jacques Distler e744a697c2 Update edit-foreign icon
Also, a tweak to the loading code.
(Needs to be completely rewritten.)
2010-02-12 09:12:01 -06:00
Jacques Distler 0b459d0a47 Whoops! Missed another piece of XML Namespace Bogosity
Also forgot to add the new PNGs.
2010-02-12 00:16:13 -06:00
Jacques Distler 502d4f20bb foreignObject Support in SVG-Edit
Added support so that you can
create new foreignObjects, manipulate
existing ones, and edit their content.

No itex support. You need to use MathML
in there. But it's a start ...
2010-02-12 00:01:27 -06:00
Jacques Distler 9047e5d460 Fix SVG-Edit code for rotating objects
A little math goes a long way ...

Also pick up some updates from SVG-Edit trunk.
2010-02-10 15:41:47 -06:00
Jacques Distler 1d8318cfd2 foreignObject are now selectable, etc
They are now selectable, draggable, resizable
and rotatable.

The MathML content behave strangely when you
resize, but snaps back to its correct size when
you let go of the mouse.

(Resizing the MathML involves changing the font-size
on the containing foreignObject. No interface for
that, yet.)
2010-02-10 11:37:26 -06:00
Jacques Distler d362b886c2 Make Embedded MathML Visible
Thanks to Jeff Schiller for tracking
down the problem (and committing 
preliminary MathML support to SVG-Edit).
2010-02-10 00:11:14 -06:00
Jacques Distler 7114e46817 Sync with SVG-Edit 2010-02-09 11:44:43 -06:00
Jacques Distler 65b00d8551 A fist stab at foreignObject support
Ability to resize (etc) the still-invisible
element.
Also, some improvements from SVG-Edit trunk.
2010-02-08 21:39:35 -06:00
Jacques Distler f98802336f Minor tweaks
Allow 'markdown' attribute on <svg> and
on <foreignObject> in SVG-edit whitelist.
Specify SVG-edit Window properties.
2010-02-08 01:26:41 -06:00
Jacques Distler c32e5b7178 Sync with SVG-Edit 2010-02-06 16:55:49 -06:00
Jacques Distler c5e5f1ef2c Yet Another "Focus" Tweak
I'm not that happy with passing
the SVG as a Base64-encoded
query-parameter.

Will have to fix that, too...
2010-02-06 01:44:41 -06:00
Jacques Distler b5a7f7ac05 Add MathML Support to SVG-edit
Doesn't actually render anything,
but doesn't strip out all the 
MAthML tags, either.
2010-02-06 01:14:42 -06:00
Jacques Distler bad5beec29 Sync with SVG-edit 2010-02-05 23:17:34 -06:00
Jacques Distler de3008d3e4 Some SVG-edit tweaks
Remove the XML prolog.
Fix focus on save.
2010-02-05 22:55:54 -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 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 979ea7eca0 CSS Improvements
Fixed a few aesthetic matters.
2010-01-23 00:21:14 -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 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 ea431ad373 Stylesheet tweak
Don't put boxes around links on the web_list page.
2010-01-04 23:00:36 -06:00
Jacques Distler e3aa626489 Better Display of Interweb Wikilinks
Perhaps not the most creative use of CSS. But,
at least, this will read better.
2010-01-03 13:19:47 -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 a705709f9a Vendor Rack 1.1
Also clean up some View stuff.
2009-12-26 14:00:18 -06:00
Jacques Distler fcef0fd031 Stylesheet tweak 2009-12-25 04:26:07 -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 a1420aa5c7 Revamp Markup Cheat Sheets
They still suck, but less-so.
2009-12-17 10:29:51 -06:00
Jacques Distler c88a1d43dc Another Textarea Resizing Tweak
Handle the 'Change page name'
part of the form more intelligently.
2009-12-12 22:37:38 -06:00
Jacques Distler a58bee7437 Another Textarea Tweak and a Ruby 1.9 Fix 2009-12-12 15:28:05 -06:00
Jacques Distler 60a233a917 More Robust
Browsers have a bewildering array of
default behaviours for <textarea>s.

This will work a little more uniformly
across brosswers.
2009-12-12 01:12:52 -06:00
Jacques Distler 561a007682 Auto-resizing Textarea
Resize textarea to fit viewing area.
Also update Prototype to 1.6.1.
2009-12-10 16:57:05 -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 2b213d95de Accessiblity: Skip Navigation Link
Thanks to John Gardner for the suggestion.
2009-11-09 11:58:57 -06:00
Jacques Distler 6be9c5ca6a More Robust mactionWorkarounds
The previous version was OK with itex2MML
output. But this one will not get tripped up
by extraneous text nodes.
2009-11-08 02:27:38 -06:00
Jacques Distler f9bd8f081f Change body Font Back to Verdana
Some CSS experiments crept into Revision 464.
Revert them.
2009-11-07 21:11:32 -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 2240206554 Ack!
Do that right.
2009-10-11 10:29:15 -05:00
Jacques Distler a483b4e71e Also fix S5 slides.js
It needs to use relative URLs, too.
2009-10-11 10:20:43 -05:00
Jacques Distler 93ea19f567 Workaround for Mozilla Bug 449396
Andrew Stacey reminded me that this bug
   https://bugzilla.mozilla.org/show_bug.cgi?id=449396
is still unfixed.
But it's easy to work around...
2009-08-27 15:28:16 -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 ef5878cf11 Put class name on <pre>, rather than <code>
Better CSS styling options ensue, if we put
the class='lang' on the <pre> element.

(Suggested by Casper Gripenberg)
2009-07-06 15:30:35 -05:00
Jacques Distler 573af987bc Syntax Colouring
Add some default CSS support for syntax colouring of code blocks.

Try:

	require 'chunks/chunk'
{:lang=ruby html_use_syntax=true}

or

        <div xhtml:class='foo' width='4'>bar<!-- fubar --></div>
{:lang=html html_use_syntax=true}

(Suggested by Casper Gripenberg)
2009-07-06 11:07:57 -05:00
Jacques Distler d135ac3982 Flash[:info] messages use Web's colour scheme 2009-06-14 23:14:24 -05:00
Jacques Distler c98d44606a Wikilinks with '." in the Page Name
Rails won't let you put "." in the page name.
This prevents creating new-page Wikilinks with
such names.
2009-06-11 13:16:10 -05:00
Jacques Distler 7f2b16e78d File Upload Fixes
Dunno why this was buggered again. ":back" doesn't seem to function as it used to.
Also, when uploading a file from page "foo", it's important to return to "foo" after
a successful upload, rather than redirecting to the HomePage.

Finally, a favicon tweak.
2009-02-18 01:40:11 -06:00
Jacques Distler d7c445178b Favicon
Add a favicon for Instiki.
Also, add an id for the svg path (which makes it reusable).
2009-02-13 17:22:58 -06:00
Jacques Distler 1ad8885974 Optimize SVG
Thanks to Sam Ruby, SVG logo is half the size it was before.
Also, use the "wrapper div" trick to make the logo work in
older browsers.
2009-02-08 10:27:08 -06:00
Jacques Distler 6b49228aad Logo for Instiki
Added an SVG logo for Instiki.
2009-02-08 03:17:20 -06:00
Jacques Distler 788d1eb075 Stylesheet Tweak
Make the "Delete File" link more visually distinct.
2008-12-30 10:20:43 -06:00
Jacques Distler 5700d4513f Preliminary (?) Interface for Deleting Uploaded Files.
The simplest thing which could possibly work ...
2008-12-30 03:03:02 -06:00
Jacques Distler 2ab04421a3 BlahTeX/PNG Support (from Ari Stern) 2008-12-17 23:42:28 -06:00
Jacques Distler b209ad2397 Tiny Stylesheet Tweak 2008-11-28 02:05:33 -06:00
Jacques Distler 2e81ca2d30 Rails 2.2.2
Updated to Rails 2.2.2.
Added a couple more Ruby 1.9 fixes, but that's pretty much at a standstill,
until one gets Maruku and HTML5lib working right under Ruby 1.9.
2008-11-24 15:53:39 -06: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 35d34f36d5 Better Hiding of SVG in S5 .incremental Slides
A tweak to the S5 CSS stylesheets. Hiding SVG is a little tricky...
2008-08-24 01:33:59 -05:00
Jacques Distler a37b06b801 Scripts and Javascripts
Add these ancilliary files that came with Rails 2.1.0 RC1.
2008-05-18 00:25:51 -05:00
Jacques Distler 4144aa2c98 Can't. Stop. Tweaking. Themes. 2007-09-15 11:40:48 -05:00
Jacques Distler 2c4473a0e9 S5 Slide notes
Slide notes are now served correctly (as application/xhtml+xml) to compatible
browsers. So you can put math in your notes, and the MathML will render.

We don't do real content-negotioation. IE gets text/html; everyone else gets application/xhtml+xml.
2007-09-15 00:29:20 -05:00