QwikPost 1.2.2

QwikPost makes the default text formatter media savvy, by autolinking just the way you like it!

You can easily edit or add more media/types using the simple to use json based tree view config in settings.

You can also choose to make the magic happen on the sever side, client side or either (as appropriate.

It is influenced by Make It Simple and JQMedia, but has a number of special features I think you will like.

FEATURES
  1. As autolinking can go out of date very 'Quik' you can can easily update or add new media and types. As it happens the existing plugins are already out of date on some things. You don't have to rely on me to provide it, and you can do exactly the way you want it to look that is the whole point!
  2. It comes with a great interface in settings, based on Thomas Frank's JSON editor (thomasfrank.se), but made to work specifically for this. I do not recommend editing the JSON directly not only is it strict JSON, but there are additional rules that you don't need to know about.
  3. It doesn't need a framework like JQuery to work. As much as they are good, sometimes you don't want it. But if you do have them it is not a problem, because QwikPost has a small footprint.
  4. You can choose to make the autolinking magic work on:
    • Server Side
    • Client Side (Javascript)
    • Either (as appropriate)
    [interject]... "Wait hold on a sec!!! What do I mean? You can't possibly do both. How do you know which is appropriate?" you ask.

    Well it is actually not that difficult. When the session begins the first response is sent out and everything was handled on the server side. If the client has javascript it simply pings the server to let it know, and for the remainder of the session the client is lumped with it! Comprende?[/interject]

  5. It is designed to work with (and only with) the default text filter ATM, just like Make It Simple. That means if you wanted it to be labelled other than 'Text', by all means change to language files to say 'QwikPost', or 'Qwick Post' or whatever you wish.
  6. It picks up words starting with 'http://' and from then on it follows your rules.
  7. The rules are cascading so if you have some link that is likely to match a couple of thing you give a higher priory to the ones you want to take precedent. For your convenience the plain old hyperlink will always be placed last, as I figured this would be a right pain in the arse otherwise. But make no mistake it is not hard coded as media and type. What would be the point of creating the interface if I don't allow you to do what the heck you like with it?!?
  8. When I say you can do anything you like, I mean it. You don't have to be limited to 'media'. For instance maybe google maps, or google search results using the search API. 3-4 results would be kind of cool to wet the interst don't you think?
  9. There is a low profile mp3 player supplied that actually works!. Feel fee to add your own hosted media plugins/applets, etc.
  10. It is compatable with Text Only mode (it will obey and not do anything when 'ON').
  11. It is compatable with LowCalVanilla.
  12. It is compatable with Preview Post. It will render that on the server side.
  13. There are no silly style sheet sheet tit-bits, that is your job.
REQUIREMENTS
  1. PHP5
  2. Any browser that is not prehistoric should do for your users. I have tested it on various versions of Firefox/Gecko, IE, Opera, Webkit/KTML. I am antipating some qwirks with Safari, but I don't know. It will probably be alright for genral use.
  3. For settings/config you need a modern browser that can do standard AJAX. So if you have Opera 8 or something upgrade it.
  4. Only tested on the current version of Vanilla.
CONFIGURATION
  • I plan to provide a few helpful hints in config later, but maybe the best thing to do is to just play around tell be what you think.
  • YYou can access the QwikPost config in settings, there will be a link under "Extension Options" or sumat.
  • There are to main folders in the tree view; 'Media' and 'Type'.
  • Media is basically anything that you might want to link. You don't need to supply a whole url/domain/subdomin. The name is used in the straight text comparison, so whatever is characteristic of the type of link you want to link for that media and type. Generally you want to be specific as you can without limiting unduly. Very unspecific things need to go lower down or they will ruin everything! :cry:
  • Id is a property of the media and is where the pattern matching takes place. It is a regular expression. You can use any part of the expression to replace parts of some or all of your parameters (except type parameter). So for instance using '$0' in a parameter with replace with all of the match, and '$3' will match what is in the third parenthesis.
  • The other parameters are basically the attributes and properties or anything that need to be specified for the media, before being 'meshed' with the type.
  • The other parameters are basically the attributes and properties or anything that need to be specified for the media, before being 'meshed' with the type.
  • Q: What are Types and why do you need them? A: Types are about making things DRY. There is no need to repeat all the markup or text if you are going to use it again for another media. So for instance, just because you are using flash doesn't mean you have to have a flash only type. If you are using the embed tag that can support lots of types of media like DivX plugin, etc. Howver it is up to you. You might have enough characteristics between media that you may with to subdivide more to save you having to specify so many parameters. The point it either way you are still not having to repeat the same markup for every media.
SPECIAL
  • You have two special values that you can using in your parameters
    • #{vanilla} is the url to where your forum is.
    • #{qwikpost} is the url to the QwikPost extention.
  • There is no trailing slash for those.
  • I was very OTT about getting the linkage right so should you fuck around with your forum it should find its way, provided default.php is included.
HOW IT WORKS
  • Have a look at the code..
  • It looks for link words and matches them against your media
  • Parameters are updated with whatever part of the match that is needed
  • Then it is meshed with the type and spat out
  • I tried to get the best usability and speed where possible
OTHER
  • It will run slower on the client side with JQMedia, understandably
  • Why you would need both I'm not sure?
  • It will most likely load after JQMedia has finished, which is a while to wait
I did this for fun, but any donations would be wellcomed:




Questions