ikiwiki/ soc/ ideas

This list includes pages, such as todo items, tagged soc. If you have a great idea for an ikiwiki project not on this list, please file it as a todo item, and ask us if it might work as a Summer of Code project, but please don't add the soc tag yourself.

latex

How about a plugin adding a preprocessor directive to render some given LaTeX and include it in the page? This could either render the LaTeX as a PNG via dvipng and include the resulting image in the page, or perhaps render via HeVeA, TeX2page, or similar. Useful for mathematics, as well as for stuff like the LaTeX version of the ikiwiki logo.


ikiwiki could also support LaTeX as a document type, again rendering to HTML.


Conversely, how about adding a plugin to support exporting to LaTeX?

I did some tests with using Markdown and a customized HTML::Latex and html2latex and it appears it will work for me now. (I hope to use ikiwiki for many to collaborate on a printed book that will be generated at least once per day in PDF format.)

--JeremyReed

Have a look at pandoc. It can make PDFs via pdflatex. --roktas


here is a first stab at a latex plugin. Examples here. Currently without image support for hevea. And the latex2html output has the wrong charset and no command line switch to change that. Dreamland.

Posted Mon May 21 19:29:03 2007 Tags: soc
Account moderation

The account creation process in the default passwordauth plugin could support account moderation by an administrator. New account signups would go into a queue for approval by an administrator.

(Random, potentially infeasible idea: save their edits and apply them if the account gets approved.)

--JoshTriplett

Posted Wed May 9 20:01:25 2007 Tags: soc
fileupload

(I've written a proposal for this feature --Ben).

Support for uploading files is useful for many circumstances:

ikiwiki should have an easy to use interface for this, but the real meat of the work is in securing it. Several classes of controls seem appropriate:

It seems that for max flexability, rules should be configurable by the admin to combine these limits in different ways. If we again extend the pagespec for this, as was done for conditional text based on ikiwiki features, the rules might look something like this:

( maxsize(30kb) and type(webimage) ) or
( user(joey) and maxsize(1mb) and (type(webimage) or *.mp3) ) or
( user(joey) and maxsize(200mb) and (*.mov or *.avi) and videos/*)

With a small extension, this could even be used to limit the max sizes of normal wiki pages, which could be useful if someone was abusing an open wiki as a wikifs. Maybe.

( type(page) and maxsize(32k) )

And if that's done, it can also be used to lock users from editing a pages or the whole wiki:

!(( user(spammer) and * ) or
 ( user(42.12.*) and * ) or
 ( user(http://evilopenidserver/*) and * ) or
 ( user(annoying) and index) or
 ( immutable_page ))

That would obsolete the current simple admin prefs for banned users and locked pages. Suddenly all the access controls live in one place. Wonderbar!

(Note that pagespec_match will now return an object that stringifies to a message indicating why the pagespec matched, or failed to match, so if a pagespec lock like the above prevents an edit or upload from happening, ikiwiki could display a reasonable message to the user, indicating what they've done wrong.)

Posted Fri Apr 27 08:44:24 2007 Tags: soc
Support XML-RPC-based blogging

Perhaps ikiwiki should support XML-RPC-based blogging, using the standard MetaWeblog protocol. This would allow the use of applets like gnome-blog to post to an ikiwiki blog. The protocol supports multiple blog names, so one standard URL with page names as blog names would work. --JoshTriplett

This would be a great thing to add a plugin for. (Probably using the cgi hook to let ikiwiki act as an RPC server. --Joey

I'd love to see support for this and would be happy to contribute towards a bounty (say US$100) :-). PmWiki has a plugin which implements this in a way which seems fairly sensible as an end user. --AdamShand

Posted Sat Apr 14 20:11:05 2007 Tags: soc
Gallery

creating a gallery of a bunch of images:

It should be possible to disable every feature for every directory.


This could be split into two distinct projects. One would be to modify the img plugin to support some of these ideas for extracting and using information such as exif out of images. The other project would be to design something that handles setting up a gallery, which could be just some regular wiki pages using the img plugin, and perhaps some other custom plugins for things like ratings and javascript), and adding new images to a gallery as they are added to the wiki.

That's one way to do it, and it has some nice benefits, like being able to edit the gallery pages like any wiki page, to add comments about images, links, etc. An example of ikiwiki being used like that: http://kitenet.net/~family/pics/guaimaca.html (still room for improvement, clearly).

--Joey

Posted Fri Mar 16 19:19:01 2007 Tags: soc
BTS integration

Given network access when building the wiki, ikiwiki could retrieve information from bug-tracking systems and apply that information to BTS links. For instance, consider how links from one bugzilla bug to another use strikeout formatting for links to fixed bugs, and use the status and summary of the bug to the link as a title.

This seems somewhat difficult, as ikiwiki would need to maintain a cache of the remote BTS information, and know how to talk to various types of BTS. CPAN modules exist to solve this problem for some types of BTS.

--JoshTriplett

scmbug might help here. --JoshTriplett

Posted Wed Feb 21 01:03:25 2007 Tags: soc
BibTeX

I would love to see a plugin that lets you create one or more BibTeX-formatted bibliography pages and add citations to other pages. The plugin could also render the bibliographies themselves using a chosen BibTeX style and an HTML formatter for LaTeX (such as HeVeA).

--JoshTriplett

Posted Tue Feb 20 00:27:48 2007 Tags: soc
wikiwyg

Wikiwyg is a WYSIWYG editor written in javascript for wikis. It allows editing in a gui or in wikitext and converts edits back to wiki format to be saved to the wiki.

It would be awesome to use this in ikiwiki, but to take full advantage of it with ikiwiki, it would need to know about MarkDown. Wikiwyg does allow defining the text that is stuck on each side of a given html element to make it wikified, for example, it can add "# " for a h1, "[[" and "]]" for a link, etc. This seems easily doable.

The other thing that would need doing is a saveChanges function would need to be implemented that saves the text back to ikiwiki. http://svn.wikiwyg.net/code/trunk/wikiwyg/share/Kwiki/lib/Wikiwyg/Kwiki.js seems like a good starting point for building a submit form on the fly.

One other problem: Wikiwyg works by parsing html from a div, turning it back into the wiki markup, and editing/saving that. That seems to assume that there's a way of parsing a page's html and getting back to the underlying wiki markup, which is not always the case in ikiwiki. Unless there's some other way to feed it the actual source for a page, this seems like a problem. According to the developers, it is possible to do that, and start off in WikiText mode.

Posted Tue Feb 20 00:27:48 2007 Tags: soc