<?xml version="1.0" encoding="UTF-8" ?>
<feed xmlns="http://purl.org/atom/ns#" version="0.3"
	  xmlns:dc="http://purl.org/dc/elements/1.1/"
	  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	  xml:lang="fr">

  <title>jf-hovinne.blog</title>
  <link rel="alternate" type="text/html" href="http://www.hovinne.com/blog/index.php/"/>
  <tagline type="text/plain" mode="escaped">Debian,Dev,Web &amp; Co</tagline>
  
  <modified>2008-05-09T21:07:59+02:00</modified>
  <generator version="1.2.2" url="http://www.dotclear.net/">DotClear</generator>
  
  <sy:updatePeriod>daily</sy:updatePeriod>
  <sy:updateFrequency>1</sy:updateFrequency>
  <sy:updateBase>2008-05-09T21:07:59+02:00</sy:updateBase>
  
<entry xml:lang="en">
  <title>WYMeditor 0.5 alpha 1 released, Safari compatible</title>
  <link rel="alternate" type="text/html" href="http://www.hovinne.com/blog/index.php/2008/05/09/142-wymeditor-05-alpha-1-released-safari-compatible" />
  <issued>2008-05-09T21:07:59+02:00</issued>
  <modified>2008-05-09T21:07:59+02:00</modified>
  <id>http://www.hovinne.com/blog/index.php/2008/05/09/142-wymeditor-05-alpha-1-released-safari-compatible</id>
  <author><name>Jean-François</name></author>
  <dc:subject>WYMeditor</dc:subject>
  <summary>WYMeditor 0.5 alpha 1 has been released!


This new version brings major new features:


Safari compatibility
New skin system, easier to customize
WYMeditor namespace, no more global variables
Automatic loading of language and skin files


As always, any help and feedback is welcome at the Trac, the...</summary>
  <content type="text/html" mode="escaped"> &lt;p&gt;&lt;a href=&quot;http://www.wymeditor.org/&quot; hreflang=&quot;en&quot;&gt;WYMeditor&lt;/a&gt; 0.5 alpha 1 has been released!&lt;/p&gt;


&lt;p&gt;This new version brings major new features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Safari compatibility&lt;/li&gt;
&lt;li&gt;New skin system, easier to customize&lt;/li&gt;
&lt;li&gt;WYMeditor namespace, no more global variables&lt;/li&gt;
&lt;li&gt;Automatic loading of language and skin files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As always, any help and feedback is welcome at the &lt;a href=&quot;http://trac.wymeditor.org/&quot; hreflang=&quot;en&quot;&gt;Trac&lt;/a&gt;, the &lt;a href=&quot;http://lists.wymeditor.org/&quot; hreflang=&quot;en&quot;&gt;mailing-list&lt;/a&gt;, or by dropping me a line at jf.hovinne at wymeditor dotorg.&lt;/p&gt;


&lt;p&gt;Thanks to contributors, especially to &lt;a href=&quot;http://www.skybluecanvas.com/&quot; hreflang=&quot;en&quot;&gt;Scott Lewis&lt;/a&gt; for his help on the Safari implementation.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.wymeditor.org/en/download/&quot; hreflang=&quot;en&quot;&gt;Download WYMeditor&lt;/a&gt;&lt;/p&gt;</content>
</entry>
<entry xml:lang="en">
  <title>WYMeditor for Safari</title>
  <link rel="alternate" type="text/html" href="http://www.hovinne.com/blog/index.php/2008/05/01/141-wymeditor-for-safari" />
  <issued>2008-05-01T23:40:44+02:00</issued>
  <modified>2008-05-01T23:40:44+02:00</modified>
  <id>http://www.hovinne.com/blog/index.php/2008/05/01/141-wymeditor-for-safari</id>
  <author><name>Jean-François</name></author>
  <dc:subject>WYMeditor</dc:subject>
  <summary>We finally found some time today to work on the WYMeditor Safari implementation, with Safari 3.1.1 for Windows under Ubuntu + Wine (sic).


The new Webkit support for designMode is a huge step forward compared to previous versions - main 'standard' features work out of the box, without the need of...</summary>
  <content type="text/html" mode="escaped"> &lt;p&gt;We finally found some time today to work on the WYMeditor Safari implementation, with Safari 3.1.1 for Windows under Ubuntu + Wine (sic).&lt;/p&gt;


&lt;p&gt;The new Webkit support for designMode is a huge step forward compared to previous versions - main 'standard' features work out of the box, without the need of tricky hacks like before.&lt;/p&gt;


&lt;p&gt;So most of WYMeditor commands have been ported to Safari: strong, em, lists, links, images, tables, containers, classes, ... and even nested lists!
It's not perfect of course - bugs remain - but it's already quite usable (well, I hope there won't be too much issues with the Mac version).&lt;/p&gt;


&lt;p&gt;For those interested, a &lt;a href=&quot;http://files.wymeditor.org/wymeditor/trunk/build/build/wymeditor.tar.gz&quot; hreflang=&quot;en&quot;&gt;nightly build&lt;/a&gt; is available.
Please be aware that this is alpha software. Some example pages aren't up-to-date.&lt;/p&gt;


&lt;p&gt;Thanks to &lt;a href=&quot;http://www.skybluecanvas.com/&quot; hreflang=&quot;en&quot;&gt;Scott Lewis&lt;/a&gt; for his help on this.&lt;/p&gt;</content>
</entry>
<entry xml:lang="fr">
  <title>New softwares using WYMeditor</title>
  <link rel="alternate" type="text/html" href="http://www.hovinne.com/blog/index.php/2008/04/01/140-new-softwares-using-wymeditor" />
  <issued>2008-04-01T21:56:13+02:00</issued>
  <modified>2008-04-01T21:56:13+02:00</modified>
  <id>http://www.hovinne.com/blog/index.php/2008/04/01/140-new-softwares-using-wymeditor</id>
  <author><name>Jean-François</name></author>
  <dc:subject>WYMeditor</dc:subject>
  <summary>I'm glad to announce new softwares that have chosen WYMeditor for their online editing:


SkyBlueCanvas, a lightweight xml-based CMS, written in PHP by Scott Lewis (major WYMeditor contributor);
TypeRoom, a free website editing tool that allows you to edit a website in seconds;
And a soon to be...</summary>
  <content type="text/html" mode="escaped"> &lt;p&gt;I'm glad to announce new softwares that have chosen WYMeditor for their online editing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.skybluecanvas.com/&quot; hreflang=&quot;en&quot;&gt;SkyBlueCanvas&lt;/a&gt;, a lightweight xml-based CMS, written in PHP by Scott Lewis (major WYMeditor contributor);&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.typeroom.com/&quot; hreflang=&quot;en&quot;&gt;TypeRoom&lt;/a&gt;, a &lt;q&gt;free website editing tool that allows you to edit a website in seconds&lt;/q&gt;;&lt;/li&gt;
&lt;li&gt;And a soon to be released GPL e-commerce project...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'd recommend testing SkyBlueCanvas (SBC), which is now GPLed and is the result of 3 years of development by Scott Lewis.&lt;br /&gt;
This CMS is well-designed and really easy to use, though still in alpha.&lt;br /&gt;
For the moment SBC uses WYMeditor 0.2, but there are plans to integrate the latest WYMeditor codebase, with the long-awaited Safari compatibility. Yeah.&lt;/p&gt;


&lt;p&gt;You may know TypeRoom, which allows you to remotely edit a website in minutes. TypeRoom uses a highly customized version of WYMeditor, and it's pretty impressive.&lt;br /&gt;
TypeRoom is available in two versions, a Lite one, which is free, and a Professional one. Screencasts are available (&lt;a href=&quot;http://youtube.com/watch?v=XLRcqKBrdqA&quot; hreflang=&quot;en&quot;&gt;Lite&lt;/a&gt;, &lt;a href=&quot;http://youtube.com/watch?v=8m97JzEBOr8&quot; hreflang=&quot;en&quot;&gt;Pro&lt;/a&gt;).&lt;/p&gt;


&lt;p&gt;More on the third project later ;)&lt;/p&gt;


&lt;p&gt;BTW, this is not an April fools joke.&lt;/p&gt;</content>
</entry>
<entry xml:lang="en">
  <title>FOSDEM 2008</title>
  <link rel="alternate" type="text/html" href="http://www.hovinne.com/blog/index.php/2008/02/17/139-fosdem-2008" />
  <issued>2008-02-17T21:35:11+01:00</issued>
  <modified>2008-02-17T21:35:11+01:00</modified>
  <id>http://www.hovinne.com/blog/index.php/2008/02/17/139-fosdem-2008</id>
  <author><name>Jean-François</name></author>
  <dc:subject>Dev</dc:subject>
  <summary>The eighth FOSDEM is a two-day event organized by volunteers to promote the widespread use of Free and Open Source software.

Taking place in the beautiful city of Brussels (Belgium), FOSDEM meetings are recognized as "The best Free Software and Open Source events in Europe".


I'm (of course) going...</summary>
  <content type="text/html" mode="escaped"> &lt;blockquote&gt;&lt;p&gt;The eighth &lt;a href=&quot;http://fosdem.org/&quot; hreflang=&quot;en&quot;&gt;FOSDEM&lt;/a&gt; is a two-day event organized by volunteers to promote the widespread use of Free and Open Source software.&lt;/p&gt;
&lt;p&gt;
Taking place in the beautiful city of Brussels (Belgium), FOSDEM meetings are recognized as &quot;The best Free Software and Open Source events in Europe&quot;.&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;I'm (of course) going to FOSDEM (again) this year, on Sunday 24 February.&lt;/p&gt;


&lt;p&gt;FYI, a &lt;a href=&quot;http://fosdem.org/2008/linkedin-group&quot; hreflang=&quot;en&quot;&gt;LinkedIn group&lt;/a&gt; has been created for those who will attend the event.&lt;/p&gt;


&lt;p&gt;There's also a &lt;a href=&quot;http://fidzu.com/fidzu/fosdem&quot; hreflang=&quot;en&quot;&gt;FOSDEM channel&lt;/a&gt; on &lt;a href=&quot;http://fidzu.com/&quot; hreflang=&quot;en&quot;&gt;fidzu&lt;/a&gt; available for your enjoyment.&lt;/p&gt;


&lt;p&gt;And last but not least, Emakina, the company I work for, is an official &lt;a href=&quot;http://fosdem.org/2008/sponsors/#emakina&quot; hreflang=&quot;en&quot;&gt;FOSDEM sponsor&lt;/a&gt;, and is &lt;a href=&quot;http://www.emakina.com/company/career.cfm&quot; hreflang=&quot;en&quot;&gt;hiring&lt;/a&gt;...&lt;/p&gt;</content>
</entry>
<entry xml:lang="en">
  <title>WYMeditor news</title>
  <link rel="alternate" type="text/html" href="http://www.hovinne.com/blog/index.php/2008/02/12/138-wymeditor-news" />
  <issued>2008-02-12T22:08:51+01:00</issued>
  <modified>2008-02-12T22:08:51+01:00</modified>
  <id>http://www.hovinne.com/blog/index.php/2008/02/12/138-wymeditor-news</id>
  <author><name>Jean-François</name></author>
  <dc:subject>WYMeditor</dc:subject>
  <summary>I've been very busy these last months, and unfortunately I had no time to blog, nor work on WYMeditor.
Things are finally getting back to normal, though I must admit I currently don't have so much time for the project...


Anyway, we have started to refactor WYMeditor's code, cleaning up the global...</summary>
  <content type="text/html" mode="escaped"> &lt;p&gt;I've been very busy these last months, and unfortunately I had no time to blog, nor work on WYMeditor.&lt;br /&gt;
Things are finally getting back to normal, though I must admit I currently don't have so much time for the project...&lt;/p&gt;


&lt;p&gt;Anyway, we have started to refactor WYMeditor's code, cleaning up the global object, moving classes to the WYMeditor namespace, and so on. No new feature, but I think the code is getting better and easier to maintain.&lt;br /&gt;
Next step: use &lt;a href=&quot;http://www.naturaldocs.org/&quot; hreflang=&quot;en&quot;&gt;NaturalDocs&lt;/a&gt; for the code documentation.&lt;/p&gt;


&lt;p&gt;As a preview for the next features - true WYSIWYM editing, better event handling - a &lt;a href=&quot;http://vmx.cx/wymeditor/proto/&quot; hreflang=&quot;en&quot;&gt;prototype&lt;/a&gt; written by Volker Mische (one year ago !) is available.&lt;br /&gt;
Volker has already implemented the Selection API for Gecko browsers.&lt;br /&gt;
This SAPI, and a better event handling, are required for a true WYSIWYM behaviour.&lt;/p&gt;


&lt;p&gt;As always, any help is welcome. Please feel free to send a patch for current &lt;a href=&quot;http://trac.wymeditor.org/trac/report/1&quot; hreflang=&quot;en&quot;&gt;open issues&lt;/a&gt;, or drop me a mail (jf.hovinne at wymeditor dot org) if you have any suggestion - thanks!&lt;/p&gt;


&lt;p&gt;And PS: sorry for the late news!&lt;/p&gt;</content>
</entry>
<entry xml:lang="en">
  <title>WYMeditor 0.4 released</title>
  <link rel="alternate" type="text/html" href="http://www.hovinne.com/blog/index.php/2007/09/10/137-wymeditor-04-released" />
  <issued>2007-09-10T20:48:37+02:00</issued>
  <modified>2007-09-10T20:48:37+02:00</modified>
  <id>http://www.hovinne.com/blog/index.php/2007/09/10/137-wymeditor-04-released</id>
  <author><name>Jean-François</name></author>
  <dc:subject>WYMeditor</dc:subject>
  <summary>WYMeditor 0.4 stable has been released!


This release includes Bermi Ferrer's powerful XHTML and CSS parsers, and fixes some outstanding bugs.


For your convenience, jQuery 1.1.4 has been included in the package, as well as getting started examples, which should work out of the box.


Thanks to...</summary>
  <content type="text/html" mode="escaped"> &lt;p&gt;&lt;a href=&quot;http://www.wymeditor.org/&quot; hreflang=&quot;en&quot;&gt;WYMeditor&lt;/a&gt; 0.4 stable has been released!&lt;/p&gt;


&lt;p&gt;This release includes &lt;a href=&quot;http://www.bermi.org/&quot; hreflang=&quot;en&quot;&gt;Bermi Ferrer&lt;/a&gt;'s powerful XHTML and CSS parsers, and fixes some outstanding bugs.&lt;/p&gt;


&lt;p&gt;For your convenience, &lt;a href=&quot;http://jquery.com/&quot; hreflang=&quot;en&quot;&gt;jQuery&lt;/a&gt; 1.1.4 has been included in the package, as well as getting started examples, which should work out of the box.&lt;/p&gt;


&lt;p&gt;Thanks to all the contributors who made this release possible.&lt;/p&gt;


&lt;p&gt;Enjoy!&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://sourceforge.net/project/showfiles.php?group_id=148869&quot; hreflang=&quot;en&quot;&gt;Download WYMeditor 0.4&lt;/a&gt;&lt;/p&gt;</content>
</entry>
<entry xml:lang="en">
  <title>Related feeds widget</title>
  <link rel="alternate" type="text/html" href="http://www.hovinne.com/blog/index.php/2007/08/09/136-related-feeds-widget" />
  <issued>2007-08-09T22:54:39+02:00</issued>
  <modified>2007-08-09T22:54:39+02:00</modified>
  <id>http://www.hovinne.com/blog/index.php/2007/08/09/136-related-feeds-widget</id>
  <author><name>Jean-François</name></author>
  <dc:subject>Dev</dc:subject>
  <summary>This a widget example, using the jQuery jFeed and wordStats plugins, to display a list of articles related to the current document.


wordStats computes the top keywords
jFeed asks Google Blogsearch for related articles (matching the top keywords), using a server side proxy
jQuery displays the...</summary>
  <content type="text/html" mode="escaped"> &lt;p&gt;This a widget example, using the jQuery &lt;a href=&quot;/blog/index.php/2007/07/15/132-jfeed-jquery-rss-atom-feed-parser-plugin&quot; hreflang=&quot;en&quot;&gt;jFeed&lt;/a&gt; and &lt;a href=&quot;/blog/index.php/2007/08/09/135-jquery-wordstats-plugin&quot; hreflang=&quot;en&quot;&gt;wordStats&lt;/a&gt; plugins, to display a list of articles related to the current document.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;wordStats computes the top keywords&lt;/li&gt;
&lt;li&gt;jFeed asks Google Blogsearch for related articles (matching the top keywords), using a server side proxy&lt;/li&gt;
&lt;li&gt;jQuery displays the results&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;/dev/jquery/relatedfeeds/example.html&quot; hreflang=&quot;en&quot;&gt;Basic related feeds example&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The &lt;a href=&quot;/dev/jquery/relatedfeeds/proxy.phps&quot; hreflang=&quot;en&quot;&gt;PHP proxy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;JavaScript code:&lt;/p&gt;


&lt;pre&gt;&amp;lt;script type=&quot;text/javascript&quot; src=&quot;jquery.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot; src=&quot;jquery.wordstats.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot; src=&quot;jquery.wordstats.en.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot; src=&quot;jquery.jfeed.pack.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;&lt;/pre&gt;


&lt;pre&gt;$(function() {
   
   var count = 3;
   $.wordStats.computeTopWords(count); //compute the 3 first top words
   
   //create the query
   var query = '';
   for(var i = 0; i &amp;lt; count &amp;amp;&amp;amp; i &amp;lt; $.wordStats.topWords.length; i++) {
       query += $.wordStats.topWords[i].substring(1) + ' ';
   }
   query = query.substring(0, query.length - 1);
   $('#related').html('Querying blogs for: &quot;' + query + '&quot; ...');
   
   //load and parse the feed
   jQuery.getFeed({
       url: 'proxy.php?query=' + query,
       success: function(feed) {
           var html = &quot;&amp;lt;h2&amp;gt;Related articles&amp;lt;/h2&amp;gt;&amp;lt;ul&amp;gt;&quot;;
           for(var i = 0; i &amp;lt; feed.items.length; i++) {
           
               html += '&amp;lt;li&amp;gt;&amp;lt;h3 class=&quot;feeditemtitle&quot;&amp;gt;'
                       + '&amp;lt;a href=&quot;' + feed.items[i].link + '&quot;&amp;gt;'
                       + feed.items[i].title + '&amp;lt;/a&amp;gt;&amp;lt;/h3&amp;gt;'
                       + '&amp;lt;p class=&quot;feeditemdescription&quot;&amp;gt;'
                       + feed.items[i].description + '&amp;lt;/p&amp;gt;';
               }
           
           html += '&amp;lt;/ul&amp;gt;';
           $('#related').html(html);
       }
   });
});&lt;/pre&gt;


&lt;pre&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;</content>
</entry>
<entry xml:lang="en">
  <title>jQuery wordStats plugin</title>
  <link rel="alternate" type="text/html" href="http://www.hovinne.com/blog/index.php/2007/08/09/135-jquery-wordstats-plugin" />
  <issued>2007-08-09T22:18:01+02:00</issued>
  <modified>2007-08-09T22:18:01+02:00</modified>
  <id>http://www.hovinne.com/blog/index.php/2007/08/09/135-jquery-wordstats-plugin</id>
  <author><name>Jean-François</name></author>
  <dc:subject>Dev</dc:subject>
  <summary>The jQuery wordStats plugin tries to determine what a page is about by computing the density of its keywords. 
It uses a simple algorithm which adds a variable weight for each keyword occurence, depending on its 'position' in the document.
Although this computation model is quite simple, I get good...</summary>
  <content type="text/html" mode="escaped"> &lt;p&gt;The jQuery wordStats plugin tries to determine what a page is about by computing the density of its keywords. &lt;br /&gt;
It uses a simple algorithm which adds a variable weight for each keyword occurence, depending on its 'position' in the document.&lt;br /&gt;
Although this computation model is quite simple, I get good results with all sorts of documents.&lt;br /&gt;
There's of course a system to exclude 'stop words' (frequent pronouns, prepositions, adverbs and so on).&lt;/p&gt;


&lt;p&gt;Example: &lt;a href=&quot;/dev/jquery/wordstats/mars.html&quot; hreflang=&quot;en&quot;&gt;computing top keywords of a Wikipedia article&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Usage:&lt;/p&gt;

&lt;pre&gt;&amp;lt;script type=&quot;text/javascript&quot; src=&quot;jquery.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot; src=&quot;jquery.wordstats.js&quot;&amp;gt;&amp;lt;/script&amp;gt; &amp;lt;!-- core code --&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot; src=&quot;jquery.wordstats.en.js&quot;&amp;gt;&amp;lt;/script&amp;gt; &amp;lt;!-- English stop words --&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;&lt;/pre&gt;


&lt;pre&gt;       $(function() {&lt;/pre&gt;


&lt;pre&gt;           var count = 3;            
           $.wordStats.computeTopWords(count);&lt;/pre&gt;


&lt;pre&gt;           //$.wordStats.topWords[0] returns the most frequent keyword
           //$.wordStats.topWords[1] the second, and so on&lt;/pre&gt;


&lt;pre&gt;           $.wordStats.clear(); //release memory&lt;/pre&gt;


&lt;pre&gt;           //compute top keywords of the element with id=&quot;content&quot;
           $.wordStats.computeTopWords(count, $('#content'));&lt;/pre&gt;


&lt;pre&gt;       });&lt;/pre&gt;


&lt;pre&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;


&lt;p&gt;Download:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;/dev/jquery/wordstats/jquery.wordstats.js&quot; hreflang=&quot;en&quot;&gt;wordStats plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/dev/jquery/wordstats/jquery.wordstats.en.js&quot; hreflang=&quot;en&quot;&gt;English stopwords&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;/dev/jquery/wordstats/jquery.wordstats.fr.js&quot; hreflang=&quot;fr&quot;&gt;French stopwords&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dual licensed under MIT/GPL.&lt;/p&gt;</content>
</entry>
<entry xml:lang="en">
  <title>fixedBox jQuery plugin</title>
  <link rel="alternate" type="text/html" href="http://www.hovinne.com/blog/index.php/2007/07/30/134-fixedbox-jquery-plugin" />
  <issued>2007-07-30T22:04:43+02:00</issued>
  <modified>2007-07-30T22:04:43+02:00</modified>
  <id>http://www.hovinne.com/blog/index.php/2007/07/30/134-fixedbox-jquery-plugin</id>
  <author><name>Jean-François</name></author>
  <dc:subject>Dev</dc:subject>
  <summary>fixedBox is a lightweight jQuery plugin that allows you to display a fixed box in the web page.
The box is centered by default, but you can also define the left and/or top positions.


Look at a fixedBox example.


Usage:


centered:
$('div.message').fixedBox();


left = 200px, top = 100px:...</summary>
  <content type="text/html" mode="escaped"> &lt;p&gt;fixedBox is a lightweight jQuery plugin that allows you to display a fixed box in the web page.&lt;br /&gt;
The box is centered by default, but you can also define the left and/or top positions.&lt;/p&gt;


&lt;p&gt;Look at a &lt;a href=&quot;/dev/jquery/fixedbox/example.html&quot; hreflang=&quot;en&quot;&gt;fixedBox example&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Usage:&lt;/p&gt;


&lt;p&gt;centered:&lt;br /&gt;
&lt;code&gt;$('div.message').fixedBox();&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;left = 200px, top = 100px:&lt;br /&gt;
&lt;code&gt;$('div.message').fixedBox({x: 200, y: 100});&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Note: you'll need to set the width and height of the matched nodes (e.g. in your CSS, see the styles in the provided example), in order to correctly center them.&lt;/p&gt;


&lt;p&gt;Tested with jQuery 1.1.3.1, Firefox 1.5+, Opera 9.0+, MSIE 6.0+. Should also work with Safari 2.0+.&lt;/p&gt;


&lt;p&gt;Download &lt;a href=&quot;/dev/jquery/fixedbox/jquery.fixedBox.js&quot; hreflang=&quot;en&quot;&gt;fixedBox&lt;/a&gt;.&lt;br /&gt;
Download &lt;a href=&quot;/dev/jquery/fixedbox/jquery.fixedBox.pack.js&quot; hreflang=&quot;en&quot;&gt;fixedBox packed&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;


&lt;p&gt;License: MIT/GPL.&lt;/p&gt;</content>
</entry>
<entry xml:lang="en">
  <title>JSS: JavaScript Simple Syndication - yet another implementation</title>
  <link rel="alternate" type="text/html" href="http://www.hovinne.com/blog/index.php/2007/07/16/133-jss-javascript-simple-syndication" />
  <issued>2007-07-16T22:06:29+02:00</issued>
  <modified>2007-07-16T22:06:29+02:00</modified>
  <id>http://www.hovinne.com/blog/index.php/2007/07/16/133-jss-javascript-simple-syndication</id>
  <author><name>Jean-François</name></author>
  <dc:subject>Dev</dc:subject>
  <summary>jFeed, the jQuery RSS/ATOM feed parser plugin I wrote lately has a drawback: you must use a server-side proxy to load cross-domain feeds.


It's a little bit annoying, so I looked for a more elegant solution.
There exist some web services and libraries that convert RSS/ATOM feeds to JavaScript code,...</summary>
  <content type="text/html" mode="escaped"> &lt;p&gt;&lt;a href=&quot;/blog/index.php/2007/07/15/132-jfeed-jquery-rss-atom-feed-parser-plugin&quot; hreflang=&quot;en&quot;&gt;jFeed&lt;/a&gt;, the jQuery RSS/ATOM feed parser plugin I wrote lately has a drawback: you must use a server-side proxy to load cross-domain feeds.&lt;/p&gt;


&lt;p&gt;It's a little bit annoying, so I looked for a more elegant solution.&lt;br /&gt;
There exist some web services and libraries that convert RSS/ATOM feeds to JavaScript code, so you can embed external content in your HTML document, but I'd prefer something more generic.&lt;/p&gt;


&lt;p&gt;Another JSS proposal is to convert XML data (e.g. RSS) to JSON at the server-side, and to dynamically load it as a JS script at the client side.&lt;/p&gt;


&lt;p&gt;There's a XSLT to do the conversion from XML to JSON, &lt;a href=&quot;http://www.bramstein.nl/xsltjson/&quot; hreflang=&quot;en&quot;&gt;XSLTJSON&lt;/a&gt;, but unfortunately it uses XSLT 2.0, which isn't very wide-spread at the moment.&lt;/p&gt;


&lt;p&gt;So I searched for another solution and got the best results with the &lt;a href=&quot;http://badgerfish.ning.com/&quot; hreflang=&quot;en&quot;&gt;BadgerFish convention&lt;/a&gt;, implemented (among others) in PHP.&lt;/p&gt;


&lt;p&gt;I wrote a simple PHP class to use it:&lt;/p&gt;


&lt;pre&gt;&amp;lt;?php
require_once('BadgerFish.php');&lt;/pre&gt;


&lt;pre&gt;class JSS {
   public static function encode($url, $callback) {
       $doc = new DOMDocument;
       $doc-&amp;gt;load($url);
       $out = BadgerFish::encode($doc);
       return($callback . '(' . $out . ');');
   }
}
?&amp;gt;&lt;/pre&gt;


&lt;p&gt;JSS::encode loads the local or external XML document, applies the BadgerFish transformation, and returns the JSON data as the callback function argument, in the form:&lt;/p&gt;

&lt;pre&gt;callback({...JSON data...});&lt;/pre&gt;


&lt;p&gt;Note: the external JS script will be loaded asynchronously, thus we need a callback function.&lt;/p&gt;


&lt;p&gt;This is the actual PHP file which will output the data:&lt;/p&gt;


&lt;pre&gt;&amp;lt;?php
require_once('jss/JSS.php');&lt;/pre&gt;


&lt;pre&gt;$callback = $_REQUEST['callback'];
$url = 'rss.xml';&lt;/pre&gt;


&lt;pre&gt;header(&quot;Content-Type: application/x-javascript&quot;);
echo(JSS::encode($url, $callback));
?&amp;gt;&lt;/pre&gt;


&lt;p&gt;And now the client-side JavaScript part:&lt;/p&gt;


&lt;pre&gt;var JSS = {&lt;/pre&gt;


&lt;pre&gt;   counter: -1,
   getFeed: function(url, callback) {
   
       this.counter ++;
       JSS[this.counter] = callback;
       var body = document.getElementsByTagName('body')[0];
       var script = document.createElement('script');
       script.type = 'text/javascript';
       script.src = url + '?callback=JSS[' + this.counter + ']';
       body.appendChild(script);
   }
};&lt;/pre&gt;


&lt;p&gt;We append the external script in the document's BODY, passing the callback function name in the query, in the form:&lt;/p&gt;

&lt;pre&gt;&amp;lt;script type=&quot;text/javascript&quot; src=&quot;...url...?callback=JSS[counter]&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;


&lt;p&gt;And finally, the HTML document which will import the JSON data and execute the callback:&lt;/p&gt;


&lt;pre&gt;&amp;lt;!DOCTYPE ...
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
...
&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;
function initJss() {
   JSS.getFeed('http://www.hovinne.net/feed/jss.php', function(data) {
       console.log(data); //use Firebug console
   });
};
&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body onload=&quot;initJss();&quot;&amp;gt;
...
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;


&lt;p&gt;A &lt;a href=&quot;/dev/jss/example.html&quot; hreflang=&quot;en&quot;&gt;JSS implementation example&lt;/a&gt; is available, as well as the &lt;a href=&quot;/dev/jss/jss.tar.gz&quot; hreflang=&quot;en&quot;&gt;JSS source code&lt;/a&gt;, licensed under MIT license.&lt;/p&gt;


&lt;p&gt;Next step: parse the JSON feeds with jFeed!&lt;/p&gt;</content>
</entry>
</feed>