From 52e3f698bc8fafdab4d911d925d214981ebd8d25 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sat, 14 Aug 2010 20:17:12 -0400 Subject: respond, open wishlist todo item with design --- doc/todo/generic_insert_links | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 doc/todo/generic_insert_links (limited to 'doc/todo/generic_insert_links') diff --git a/doc/todo/generic_insert_links b/doc/todo/generic_insert_links new file mode 100644 index 000000000..050f32ee7 --- /dev/null +++ b/doc/todo/generic_insert_links @@ -0,0 +1,24 @@ +The attachment plugin's Insert Links button currently only knows +how to insert plain wikilinks and img directives (for images). + +[[wishlist]]: Generalize this, so a plugin can cause arbitrary text +to be inserted for a particular file. --[[Joey]] + +Design: + +Add an insertlinks hook. Each plugin using the hook would be called, +and passed the filename of the attachment. If it knows how to handle +the file type, it returns a the text that should be inserted on the page. +If not, it returns undef, and the next plugin is tried. + +This would mean writing plugins in order to handle links for +special kinds of attachments. To avoid that for simple stuff, +a fallback plugin could run last and look for a template +named like `templates/embed_$extension`, and insert a directive like: + + \[[!template id=embed_vp8 file=my_movie.vp8]] + +Then to handle a new file type, a user could just make a template +that expands to some relevant html. In the example above, +`templates/embed_vp8` could make a html5 video tag, possibly with some +flash fallback code even. -- cgit v1.2.3