<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3253243556833664300</id><updated>2012-01-13T10:05:06.236-08:00</updated><category term='linux'/><category term='WhizzyCMS'/><category term='PC'/><category term='windows'/><category term='office'/><category term='SEO'/><category term='CSS'/><category term='Whizzywig'/><title type='text'>UNVERSEd</title><subtitle type='html'>Whizzy widgets and the whirled wild web.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://unversed.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3253243556833664300/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://unversed.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jorogo</name><uri>http://www.blogger.com/profile/04247692127564068191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://3.bp.blogspot.com/_OI9zUoyAVNk/TSbtX2l7MRI/AAAAAAAABvk/kQQz6RezFUY/s1600-R/173743_689576594_187479_n.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3253243556833664300.post-1853300720577120091</id><published>2012-01-13T10:05:00.000-08:00</published><updated>2012-01-13T10:05:06.240-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SEO'/><title type='text'>Search Engine Submission - only 2 required</title><content type='html'>"&lt;i&gt;We will submit your website to hundreds of search engines!&lt;/i&gt;" sounds like a scam. It is. According to &lt;a href="http://marketshare.hitslink.com/search-engine-market-share.aspx?qprid=4&amp;amp;qpcustomd=0"&gt;NetMarketShare&lt;/a&gt;, Google has 79% of the search market. In some countries it's a lot higher. Second is the Chinese search engine, Baidu on 11%. Then we have Yahoo on 6% and Bing on 3%. That adds up to 99% of the search engine market. The biggest player in the tiny bit remaining is &lt;a href="http://www.ask.com/"&gt;Ask&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
So, whilst it is true that there are hundreds of other search engines, virtually nobody is using them. OK, there's a few that may be be important in specific geographies - like &lt;a href="http://www.yandex.ru/"&gt;Yandex&lt;/a&gt; in Russia, for example.&lt;br /&gt;
&lt;br /&gt;
Yahoo search results are now supplied by Bing: if you can get listed in Bing, you will be listed in Yahoo. So to get 88% coverage - or more if you ignore the huge Chinese market - you just need to submit to Google and Bing.&lt;br /&gt;
&lt;br /&gt;
If you don't want to ignore the huge Chinese market,&amp;nbsp;&lt;a href="http://www.baidu.com/search/url_submit.html"&gt;Baidu has a submit page&lt;/a&gt; but when I recently created a brand new site the Baidu spider came to index it without any invitation from me, even though there were no other sites linking to it. I'm guessing it's somehow monitoring domain name registrations or DNS changes. All my older sites are listed, even though I've never done anything to submit pages to Baidu.&lt;br /&gt;
&lt;br /&gt;
So how to get listed in Google? Sign up for &lt;a href="http://www.google.com/webmasters/tools/"&gt;Google Webmaster Tools&lt;/a&gt; and click the big red &lt;span class="Apple-style-span" style="color: red;"&gt;Add a Site&lt;/span&gt; link. To take full advantage of all the useful information that Webmaster Tools offers you will need to verify that you own the site. Google supplies a tiny XML file that you upload to your website and then you just tell Google it's there. It's all explained once you're registered.&lt;br /&gt;
&lt;br /&gt;
To do the same for Bing (and therefore Yahoo) the process is virtually identical. &amp;nbsp;Sign up for &lt;a href="http://www.bing.com/toolbox/webmaster"&gt;Bing Webmaster Tools&lt;/a&gt; - name sound familiar? The Bing &lt;span class="Apple-style-span" style="color: blue;"&gt;Add Site&lt;/span&gt; button is blue and Bing&amp;nbsp;supplies a tiny XML file that you upload to your website and then you just tell Bing it's there. It's all explained once you're registered.&lt;br /&gt;
&lt;br /&gt;
Now you should get spidered by the world's largest search engines and your fortune is made. Well maybe not, but you've certainly saved some money by not signing up for some&amp;nbsp;"&lt;i&gt;We will submit your website to thousands of search engines!&lt;/i&gt;"&amp;nbsp;program.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3253243556833664300-1853300720577120091?l=unversed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unversed.blogspot.com/feeds/1853300720577120091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unversed.blogspot.com/2012/01/search-engine-submission-only-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3253243556833664300/posts/default/1853300720577120091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3253243556833664300/posts/default/1853300720577120091'/><link rel='alternate' type='text/html' href='http://unversed.blogspot.com/2012/01/search-engine-submission-only-2.html' title='Search Engine Submission - only 2 required'/><author><name>Jorogo</name><uri>http://www.blogger.com/profile/04247692127564068191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://3.bp.blogspot.com/_OI9zUoyAVNk/TSbtX2l7MRI/AAAAAAAABvk/kQQz6RezFUY/s1600-R/173743_689576594_187479_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3253243556833664300.post-2594652157139027624</id><published>2012-01-04T11:20:00.000-08:00</published><updated>2012-01-04T11:20:18.828-08:00</updated><title type='text'>Whizzywing has landed</title><content type='html'>&lt;a href="http://whizzywing.com/"&gt;Whizzywing&lt;/a&gt; is a new WYSIWYG editor, descended from Whizzywig but written anew in the age of HTML5. It has rethought the interface, putting the most common formatting in two dropdowns so that almost every format change can be done with a single click. It is very small - just 7k gzipped - but you can activate it without installing a single thing on your server as the code can be served from whizzywing.com. Just add&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&amp;lt;script src="http://whizzywing.com/whizzywing.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/blockquote&gt;
in the head section of your HTML and any element with a class="WYSIWYG" will be turned into a rich text editor. It's not limited to textareas. It's rich in features, too: correct me if I'm wrong but no other editor this small provides table editing. That's if there is another editor this small. With just 9 items on the toolbar you can do most of the formatting that you could do with CKEditor or TinyMCE but using a fraction of the bandwidth and without the installation headaches. It is easy to pick up and is more than powerful enough to use in a CMS.&lt;br /&gt;
&lt;br /&gt;
Look carefully and you will see that network traffic is minimised by using no images on the toolbar - those little icons are all drawn using standard entities and CSS. It's faster even than using an image sprite. But everything is tailorable, so if you want to design your own icons, or use a a fancy set from elsewhere, you can add your own. Simple changes like excluding unwanted items from the toolbar can be done without using any javascript at all.&lt;br /&gt;
&lt;br /&gt;
There has been a lot work under the bonnet to keep the generated HTML sane, no matter what browser you are using. There won't be a load of browser specific classes or deprecated font tags. Hit enter after a paragraph or a heading and you will get another paragraph - not a div, or&amp;nbsp;orphaned&amp;nbsp;text separated off with extra break tags. That means there won't be problems if you come back and edit the same text in a different browser.&lt;br /&gt;
&lt;br /&gt;
The code is licenced under MIT and LGPL. You can download it, or create your own fork, at &lt;a href="https://github.com/unverse/Whizzywing/downloads"&gt;github&lt;/a&gt;. Try it at &lt;a href="http://whizzywing.com/"&gt;Whizzywing&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3253243556833664300-2594652157139027624?l=unversed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unversed.blogspot.com/feeds/2594652157139027624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unversed.blogspot.com/2012/01/whizzywing-has-landed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3253243556833664300/posts/default/2594652157139027624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3253243556833664300/posts/default/2594652157139027624'/><link rel='alternate' type='text/html' href='http://unversed.blogspot.com/2012/01/whizzywing-has-landed.html' title='Whizzywing has landed'/><author><name>Jorogo</name><uri>http://www.blogger.com/profile/04247692127564068191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://3.bp.blogspot.com/_OI9zUoyAVNk/TSbtX2l7MRI/AAAAAAAABvk/kQQz6RezFUY/s1600-R/173743_689576594_187479_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3253243556833664300.post-8943984095889676285</id><published>2011-12-16T02:53:00.000-08:00</published><updated>2011-12-16T02:53:55.003-08:00</updated><title type='text'>IOS5 now supports contenteditable. Come on Android!</title><content type='html'>Users who love or need their WYSIWYG editor (Whizzywig, TinyMCE, CKEditor etc.) &amp;nbsp;have been complaining for years that they would not work on on their mobile device. They could edit their blog or update their favourite site with rich text on their desktop machine but no joy on their iPad or smartphone.&lt;br /&gt;
&lt;br /&gt;
They would not work because no mobile browser would support the &lt;b&gt;contentEditable&lt;/b&gt; attribute despite the fact that all the major browsers support it in their desktop versions - Internet Explorer since 5.5. Well it seems Apple have been listening and now these things will work in IOS5. Great if you have an iPad 2.&lt;br /&gt;
&lt;br /&gt;
Not so great with Android though, which not only still fails to support it, but actually lies if you test for support:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;pre style="font-size: 12px; max-width: 80em; padding-left: 0.7em; white-space: pre-wrap;"&gt;document.getElementById("test").isContentEditable&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
returns "true" but the onscreen keyboard will not appear so you cannot type into the edit area. This is&amp;nbsp;&lt;a href="http://code.google.com/p/android/issues/detail?id=8253"&gt;Issue&amp;nbsp;8253&lt;/a&gt;&amp;nbsp;for Android. No sign of a fix yet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3253243556833664300-8943984095889676285?l=unversed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unversed.blogspot.com/feeds/8943984095889676285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unversed.blogspot.com/2011/12/ios5-now-supports-contenteditable-come.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3253243556833664300/posts/default/8943984095889676285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3253243556833664300/posts/default/8943984095889676285'/><link rel='alternate' type='text/html' href='http://unversed.blogspot.com/2011/12/ios5-now-supports-contenteditable-come.html' title='IOS5 now supports contenteditable. Come on Android!'/><author><name>Jorogo</name><uri>http://www.blogger.com/profile/04247692127564068191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://3.bp.blogspot.com/_OI9zUoyAVNk/TSbtX2l7MRI/AAAAAAAABvk/kQQz6RezFUY/s1600-R/173743_689576594_187479_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3253243556833664300.post-1555265572882008075</id><published>2011-12-09T08:36:00.001-08:00</published><updated>2011-12-09T08:42:35.379-08:00</updated><title type='text'>Last Whizzywig of 2011</title><content type='html'>There's a new version of &lt;a href="http://unverse.net/Whizzywig-2011"&gt;Whizzywig 2011&lt;/a&gt;&amp;nbsp;&amp;nbsp;and it should be the last one ever. Clearly we can't go on calling new releases "2011", so in 2012 it will appear with a new name - how exciting! - and, if all goes according to plan, its own website.&lt;br /&gt;
&lt;br /&gt;
Many thanks to all who have tried it out in 2011 and provided feedback. Hopefully it will be a much better editor for this.&lt;br /&gt;
&lt;br /&gt;
The main new feature is clean pasting: if you paste in stuff from a document or a website then the editor will strip out all extraneous styling, fonts, colors , spans, classes and ids that only made sense on the original page, leaving you with some uncluttered and pure html. This should be pretty consistent across browsers (some were driving me mad with their silly paste behavior!).&lt;br /&gt;
&lt;br /&gt;
And here, documented for the first time, are the keyboard controls:&lt;br /&gt;
&amp;nbsp;CTRL+Space - Clear all inline styles and classes&lt;br /&gt;
&amp;nbsp;CTRL+B - Bold selected text&lt;br /&gt;
&amp;nbsp;CTRL+I - Italic selected text&lt;br /&gt;
&amp;nbsp;CTRL+U - Underline selected text&lt;br /&gt;
&amp;nbsp;CTRL+H - Edit the HTML source&lt;br /&gt;
&amp;nbsp;CTRL+L - Insert a Link&lt;br /&gt;
&amp;nbsp;CTRL+M - Insert an iMage&lt;br /&gt;
&lt;br /&gt;
Note that the cursor must be in the edit area for the above to work, or you'll get the browser default action (History, Bookmarks, etc.)&lt;br /&gt;
&lt;br /&gt;
Double-click&lt;br /&gt;
&amp;nbsp;a link - bring up the Link dialogue&lt;br /&gt;
&amp;nbsp;an image - bring up the Image dialogue&lt;br /&gt;
&amp;nbsp;the toolbar - toggle full window&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3253243556833664300-1555265572882008075?l=unversed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unversed.blogspot.com/feeds/1555265572882008075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unversed.blogspot.com/2011/12/last-whizzywig-of-2011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3253243556833664300/posts/default/1555265572882008075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3253243556833664300/posts/default/1555265572882008075'/><link rel='alternate' type='text/html' href='http://unversed.blogspot.com/2011/12/last-whizzywig-of-2011.html' title='Last Whizzywig of 2011'/><author><name>Jorogo</name><uri>http://www.blogger.com/profile/04247692127564068191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://3.bp.blogspot.com/_OI9zUoyAVNk/TSbtX2l7MRI/AAAAAAAABvk/kQQz6RezFUY/s1600-R/173743_689576594_187479_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3253243556833664300.post-5439407236031434560</id><published>2011-09-23T08:52:00.000-07:00</published><updated>2011-09-23T08:52:53.986-07:00</updated><title type='text'>Really simple WYSIWYG, with jQuery</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: large;"&gt;or, How to make a WYSIWYG input with Javascript&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
I've made a &lt;a href="http://unverse.net/jSimplewhizz.html"&gt;really simple WYSIWYG editor with jQuery&lt;/a&gt;&amp;nbsp;to demonstrate how to use contenteditable with execCommand to format text.&lt;br /&gt;
&lt;br /&gt;
It's not a plug-in and the main virtue of using jQuery for this demonstrator is that it makes the code easy to figure out. Have a look at the source and use it as a starter if you want to make your own editor. There's about 30 lines of HTML and another 30 or so of JavaScript.&lt;br /&gt;
&lt;br /&gt;
The HTML consists of contenteditable div, &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;editor&lt;/span&gt;, which is where the editing takes place and above it a div, &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;toolbar&lt;/span&gt;, &amp;nbsp;containing controls - buttons and a select - to call up the commands to edit the text in&amp;nbsp;&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;editor&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;, plus a button to view the HTML source of the document in&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;editor&lt;/span&gt;. This is all within a container div, &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;WYSIWYG&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
Then there is a textarea, &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;HTML&lt;/span&gt;, which holds the HTML source for the document being edited. Above it is a button to return to the WYSIWG view. These are in a container div, &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;source&lt;/span&gt;.&lt;br /&gt;
&lt;br /&gt;
There's just 4 JavaScript functions: the first is a wrapper for execCommand:&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;function make(cmd,parm){&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;if (cmd.indexOf('&amp;lt;')==0){&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; parm=cmd;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; cmd="FormatBlock";&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;if (cmd == "InsertImage") parm = prompt("Filename or path to image","");&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;if (cmd == "CreateLink") {&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; parm = prompt("URL or address of link (leave blank to unlink)","http://");&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp; if (parm=="" || parm=="http://"){cmd="Unlink"}&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;try {document.execCommand(cmd,false,parm);} catch(e){alert(e)};&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then there's a function to show the WYSIWYG view and hide the Source view:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;function vWhizz(){&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;$('#source').hide();&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;$('#WYSIWYG').show();&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;$('#editor').html($('#html').val())&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The last line of this copies the html inside the textarea into the editor.&lt;br /&gt;
&lt;br /&gt;
Next, a function to hide the WYSIWYG and show the source in the textarea:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;function vSource(){&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;$('#html').val($('#editor').html());&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;$('#WYSIWYG').hide();&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;$('#source').show();&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;The first line of this copies the edited HTML back into the textarea.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Not strictly necessary, is a function to resize the editor/textarea so it fills to the bottom of the window:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;function reHeight(){&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;var top=Math.max($('#editor').offset().top,$('#html').offset().top),&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;newHeight = $(window).height() - top - 10;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;$('#html').css('height',newHeight+'px');&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;$('#editor').css('height',newHeight+'px');&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;When the DOM is first loaded, we bind the &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;reHeight&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt; function to a resize of the window,&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;show the WYSIWYG view and hide the source view:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;$(document).ready(function() {&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;$(window).resize(reHeight);&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;make('styleWithCSS',false);&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;vWhizz();&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;reHeight()&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;});&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;"&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: x-small;"&gt;make('styleWithCSS',false);&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;" is there just to stop Firefox and other Gecko-based browsers sticking in some in-line styles instead of using HTML for bold and italics.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
See the HTML to see how the toolbar controls issue commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Maybe there will be a proper plug-in with more functionality along later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3253243556833664300-5439407236031434560?l=unversed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unversed.blogspot.com/feeds/5439407236031434560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unversed.blogspot.com/2011/09/really-simple-wysiwyg-with-jquery.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3253243556833664300/posts/default/5439407236031434560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3253243556833664300/posts/default/5439407236031434560'/><link rel='alternate' type='text/html' href='http://unversed.blogspot.com/2011/09/really-simple-wysiwyg-with-jquery.html' title='Really simple WYSIWYG, with jQuery'/><author><name>Jorogo</name><uri>http://www.blogger.com/profile/04247692127564068191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://3.bp.blogspot.com/_OI9zUoyAVNk/TSbtX2l7MRI/AAAAAAAABvk/kQQz6RezFUY/s1600-R/173743_689576594_187479_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3253243556833664300.post-8584108032005755753</id><published>2011-08-23T03:10:00.000-07:00</published><updated>2011-08-23T03:19:44.736-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><title type='text'>CSS inline-block on IE6 and IE7</title><content type='html'>The CSS display property can be set to "inline-block":&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;dt style="font-weight: bold; margin-bottom: 0px; margin-top: 0px; text-align: left;"&gt;&lt;span class="index-def" title="'inline-block', definition of"&gt;&lt;a href="http://draft.blogger.com/blogger.g?blogID=3253243556833664300" name="value-def-inline-block"&gt;&lt;strong&gt;inline-block&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;
&lt;dd style="margin-bottom: 0px; margin-top: 0px;"&gt;This value causes an element to generate an inline-level block container. The inside of an inline-block is formatted as a block box, and the element itself is formatted as an atomic inline-level box.&lt;/dd&gt;&lt;br /&gt;
&lt;br /&gt;
This is useful for all sorts of stuff including displaying inline a row of images and captions in the same block , or as a container for a dropdown menu. But older browsers, notably Firefox 2 and Internet&amp;nbsp;Explorer&amp;nbsp;6 and 7, do not support it. See the Mozilla Webdev blog for an &lt;a href="http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/"&gt;explanation and fix&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
In summary you can add "&lt;span class="Apple-style-span" style="color: #333333; font-size: 15px; line-height: 20px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;zoom:1; *display:inline&lt;/span&gt;&lt;/span&gt;" to trigger haslayout for IE &amp;nbsp;and exploit the "*" CSS hack to make the thing inline.&lt;br /&gt;
&lt;br /&gt;
But if you look at Quirksmode's always helpful &lt;a href="http://www.quirksmode.org/css/display.html"&gt;compatibility page&lt;/a&gt;, you'll see that "&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 6px; -webkit-border-vertical-spacing: 6px; color: #242424; font-family: georgia, times, serif; font-size: 13px; line-height: 18px;"&gt;IE 6/7 accepts the value only on elements with a natural&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 6px; -webkit-border-vertical-spacing: 6px; color: #242424; font-family: georgia, times, serif; font-size: 13px; line-height: 18px;"&gt;&lt;code style="background-color: #f1f3f9; font-size: 12px;"&gt;display: inline&lt;/code&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 6px; -webkit-border-vertical-spacing: 6px; color: #242424; font-family: georgia, times, serif; font-size: 13px; line-height: 18px;"&gt;.&lt;/span&gt;"&lt;br /&gt;
&lt;br /&gt;
So if you are not worried about Firefox 2 (anyone still using that? why?) &amp;nbsp;you can &lt;b&gt;simply make the inline-block container a &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;span&lt;/span&gt;&amp;nbsp;instead&amp;nbsp;of a &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;div&lt;/span&gt; and not worry about any hacks for Internet Explorer&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
The trouble with hacks is you can never be sure they are proof against future browser releases.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3253243556833664300-8584108032005755753?l=unversed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unversed.blogspot.com/feeds/8584108032005755753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unversed.blogspot.com/2011/08/css-inline-block-on-ie6-and-ie7.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3253243556833664300/posts/default/8584108032005755753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3253243556833664300/posts/default/8584108032005755753'/><link rel='alternate' type='text/html' href='http://unversed.blogspot.com/2011/08/css-inline-block-on-ie6-and-ie7.html' title='CSS inline-block on IE6 and IE7'/><author><name>Jorogo</name><uri>http://www.blogger.com/profile/04247692127564068191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://3.bp.blogspot.com/_OI9zUoyAVNk/TSbtX2l7MRI/AAAAAAAABvk/kQQz6RezFUY/s1600-R/173743_689576594_187479_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3253243556833664300.post-7209135995043991807</id><published>2011-05-20T05:13:00.000-07:00</published><updated>2011-08-23T03:19:07.560-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='office'/><category scheme='http://www.blogger.com/atom/ns#' term='PC'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>What to do with a brand new Windows PC</title><content type='html'>&lt;ol&gt;
&lt;li&gt;Install&amp;nbsp;&lt;a href="http://www.linuxmint.com/"&gt;Linux Mint&lt;/a&gt;, taking the "Use entire disk" option.&lt;br /&gt;
All your Windows problems and viruses will disappear.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
OK, though this is good advice for most casual users, it's not always practical. I need a Windows 7 machine so that I can test websites in Internet Explorer 9, for instance. Other people have to run business software that's Windows only - although you might be able to run it under&amp;nbsp;&lt;a href="http://www.winehq.org/"&gt;Wine&lt;/a&gt;.&lt;/div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
So, if you really must have Windows...&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;Make sure it's at least Windows 7. Windows XP is an overpatched relic and Vista was only&amp;nbsp;ever&amp;nbsp;slightly less smelly and infected than an open sewer.&lt;/li&gt;
&lt;li&gt;Delete all the bloatware the manufacturer put on there. Likely candidates include:&lt;br /&gt;
- Trial anti-virus software that wants you pay after 30 days&lt;br /&gt;
- Trial Microsoft Office software - there's no need to pay for commercial quality office applications&lt;br /&gt;
- Free games, that probably cease being free after a month, or&amp;nbsp;&lt;i&gt;x&lt;/i&gt;&amp;nbsp;plays&lt;br /&gt;
- Proprietary cloud services &amp;nbsp;for backup or additional storage&lt;br /&gt;
Contol Panel&amp;amp;gt;Uninstall applications is your friend.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://pack.google.com/intl/en/pack_installer.html" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://pack.google.com/intl/en/localized_images/pack_logo.png" style="cursor: move;" /&gt;&lt;/a&gt;Install&amp;nbsp;&lt;a href="http://pack.google.com/intl/en/pack_installer.html"&gt;Google Pack&lt;/a&gt;. This will give you a whole bunch of useful stuff in one go, including free and sensible replacements for the stuff you just removed. Just take your pick from the list.&lt;br /&gt;
&lt;b&gt;Note that you don't need more than one anti-virus product&lt;/b&gt;, if in doubt pick&amp;nbsp;&lt;b&gt;Avast&lt;/b&gt;.&lt;/li&gt;
&lt;li&gt;If you installed Avast at step 3, register it right now.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.libreoffice.org/" style="float: right; margin-left: 1em;"&gt;&lt;img border="0" src="http://www.libreoffice.org/themes/libo/images/logo.png" style="cursor: move;" /&gt;&lt;/a&gt;If you are a serious wordsmith or spreadsheet user, download and &amp;nbsp;install&amp;nbsp;&lt;a href="http://www.libreoffice.org/"&gt;Libre Office&lt;/a&gt;.&lt;br /&gt;
This will let you read and write Microsoft Office documents so you can exchange files with all those 20th century&amp;nbsp;throwbacks&amp;nbsp;who still imagine it's a good idea to mail around bloated Word documents or vast Excel spreadsheets. (Try and persuade them to share using Google Docs, it will save duplication, bandwidth and time)&lt;br /&gt;
Libre Office is the worthy descendent of &amp;nbsp;OpenOffice.org that has already extended with some useful features and is not bound up in Oracle's pursestrings. It will have all the features you need, is well documented and as easy to use as anything.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;
Now you have a sensible PC.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3253243556833664300-7209135995043991807?l=unversed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unversed.blogspot.com/feeds/7209135995043991807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unversed.blogspot.com/2011/05/what-to-do-with-brand-new-windows-pc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3253243556833664300/posts/default/7209135995043991807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3253243556833664300/posts/default/7209135995043991807'/><link rel='alternate' type='text/html' href='http://unversed.blogspot.com/2011/05/what-to-do-with-brand-new-windows-pc.html' title='What to do with a brand new Windows PC'/><author><name>Jorogo</name><uri>http://www.blogger.com/profile/04247692127564068191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://3.bp.blogspot.com/_OI9zUoyAVNk/TSbtX2l7MRI/AAAAAAAABvk/kQQz6RezFUY/s1600-R/173743_689576594_187479_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3253243556833664300.post-3945556730213847363</id><published>2011-01-06T10:33:00.000-08:00</published><updated>2011-01-07T10:33:46.381-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Whizzywig'/><title type='text'>execCommand  browser compatibility - it's crap</title><content type='html'>&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif;"&gt;Modern browsers allow you to apply commands to format HTML in a &lt;i&gt;contenteditable&lt;/i&gt; element, or an iframe with &lt;i&gt;designmode&lt;/i&gt; set on. This functionality enables javascript rich text editors like CKEditor, TinyMCE or &lt;a href="http://unverse.net/whizzywig"&gt;Whizzywig&lt;/a&gt;.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif;"&gt;This is the &lt;i&gt;execCommand&lt;/i&gt; interface, common to Internet Explorer , Firefox, Chrome, Safari or Opera. Except that it's not common because they all generate different HTML in response to these commands.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif;"&gt;There's a test at&amp;nbsp;&lt;a href="http://www.quirksmode.org/dom/execCommand/" style="color: #114170;" target="_blank"&gt;http://www.quirksmode.org/dom/&lt;wbr&gt;&lt;/wbr&gt;execCommand/&lt;/a&gt;&amp;nbsp;&amp;nbsp;which I have found very useful for seeing how each browser mangles the HTML - even though it has bugs itself! See also the &lt;a href="http://www.quirksmode.org/dom/execCommand.html"&gt;compatibility table&lt;/a&gt;,&amp;nbsp;which would be more helpful if it told you what HTML was produced by each browser.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;None of them are&amp;nbsp;&lt;i&gt;entirely&lt;/i&gt;&amp;nbsp;without problems but I think there's a clear winner.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;For example, issuing a "bold" command on a text selection gives:&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-size: 13px;"&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;b&amp;gt;&lt;/span&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt; &amp;nbsp;&amp;nbsp;&lt;b&gt;in Chrome 8 and Safari 4.1&lt;/b&gt;&amp;nbsp;(b is NOT a deprecated tag, contrary to what some say)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;STRONG&amp;gt;&lt;/span&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt; &amp;nbsp;&lt;b&gt;in IE8&amp;nbsp;&lt;/b&gt;(yes, IE makes all tags UPPERCASE, so not XML compliant)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;strong&amp;gt;&lt;/span&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt; &amp;nbsp;&lt;b&gt;in Opera 11&lt;/b&gt;&amp;nbsp;(preferred by some as more semantic)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;span style="font-weight: bold;"&amp;gt;&lt;/span&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&lt;b&gt;&amp;nbsp;in Firefox 3.6&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: arial, helvetica, sans-serif;"&gt;(but you can&amp;nbsp;&lt;i&gt;styleWithCSS=false&lt;/i&gt;&amp;nbsp;to get&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;b&amp;gt;&lt;/span&gt;)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;Issuing an "indent" command on a paragraph gives:&lt;/span&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse;"&gt;&lt;ul style="font-size: 13px;"&gt;&lt;li&gt;&lt;span style="font-size: 12px; white-space: pre-wrap;"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt; &lt;/span&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;blockquote class="webkit-indent-&lt;wbr&gt;&lt;/wbr&gt;blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"&amp;gt;&lt;/span&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt; &lt;b&gt;in &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;&lt;b&gt;Chrome 8 and Safari 4.1&lt;/b&gt;&amp;nbsp;(!!!)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;BLOCKQUOTE style="MARGIN-RIGHT: 0px" dir=ltr&amp;gt;&lt;/span&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&lt;b&gt;in IE8&amp;nbsp;&lt;/b&gt;(doesn't even quote all the attributes!)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;blockquote&amp;gt;&lt;/span&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt; &amp;nbsp;&lt;b&gt;in Opera 11&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;lt;p style="margin-left: 40px;"&amp;gt;&lt;/span&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;&amp;nbsp;&lt;b&gt;in Firefox 3.6&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;So Opera 11 looks like the winner on generating HTML to web standards. The others are all an unholy mess. Internet Explorer's output frequently will not validate. Chrome and Safari insert unnecessary classes and, together with Firefox, use inline styles which will trample all over your carefully crafted stylesheet rules.&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3253243556833664300-3945556730213847363?l=unversed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unversed.blogspot.com/feeds/3945556730213847363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unversed.blogspot.com/2011/01/execcommand-browser-compatibility-its.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3253243556833664300/posts/default/3945556730213847363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3253243556833664300/posts/default/3945556730213847363'/><link rel='alternate' type='text/html' href='http://unversed.blogspot.com/2011/01/execcommand-browser-compatibility-its.html' title='execCommand  browser compatibility - it&apos;s crap'/><author><name>Jorogo</name><uri>http://www.blogger.com/profile/04247692127564068191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://3.bp.blogspot.com/_OI9zUoyAVNk/TSbtX2l7MRI/AAAAAAAABvk/kQQz6RezFUY/s1600-R/173743_689576594_187479_n.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3253243556833664300.post-5627736084212809812</id><published>2011-01-06T05:00:00.000-08:00</published><updated>2011-01-06T05:00:17.260-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WhizzyCMS'/><title type='text'>Blogs and Pages</title><content type='html'>Wordpress is blogging software but you can add and edit static pages and use it as a CMS.&lt;br /&gt;
According to &lt;a href="http://buzz.blogger.com/2010/02/create-pages-in-blogger.html"&gt;Blogger Buzz&lt;/a&gt;, you can add pages (up to 10?) in Blogger too, but I have not tried this yet.&lt;br /&gt;
&lt;br /&gt;
In Whizzy, everything is a page. But if you could add a tag/label/category/list (pick a name) then you could&amp;nbsp;organise&amp;nbsp;pages in lists. So you can make a page list other pages in a&amp;nbsp;tag/label/category/list: a simple list of links is a menu, a blog is the same list with the page content included, perhaps with just a summary and perhaps with a limited number.&lt;br /&gt;
&lt;br /&gt;
Other features of blogs:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;syndication via RSS or Atom&lt;/b&gt; - also generated from the&amp;nbsp;tag/label/category/list&lt;/li&gt;
&lt;li&gt;&lt;b&gt;comments&lt;/b&gt; - any Whizzy page can have comments up to commentlimit, perhgaps using Disqus&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3253243556833664300-5627736084212809812?l=unversed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://unversed.blogspot.com/feeds/5627736084212809812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unversed.blogspot.com/2011/01/blogs-and-pages.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3253243556833664300/posts/default/5627736084212809812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3253243556833664300/posts/default/5627736084212809812'/><link rel='alternate' type='text/html' href='http://unversed.blogspot.com/2011/01/blogs-and-pages.html' title='Blogs and Pages'/><author><name>Jorogo</name><uri>http://www.blogger.com/profile/04247692127564068191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://3.bp.blogspot.com/_OI9zUoyAVNk/TSbtX2l7MRI/AAAAAAAABvk/kQQz6RezFUY/s1600-R/173743_689576594_187479_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3253243556833664300.post-1248401154318401804</id><published>2010-12-17T08:23:00.000-08:00</published><updated>2011-01-06T05:01:54.551-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Whizzywig'/><title type='text'>Whizzywig 2011</title><content type='html'>I am working on new version of Whizzywig for (early) 2011. It will  certainly be re-engineered but will probably not preserve all the  interfaces of the current Whizzywig version(61). It will&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;   use current techniques, best practice and technology&lt;/li&gt;
&lt;li&gt;   be smaller ,lighter&lt;/li&gt;
&lt;li&gt;   minimize the differences in output from different browsers&lt;/li&gt;
&lt;li&gt;   simplify the toolbar whilst at the same time adding more features&lt;/li&gt;
&lt;li&gt;   provide a simple means of extending to add your own controls, or even replace the entire toolbar with your own&lt;/li&gt;
&lt;/ul&gt;The current version will remain available for those of you who have it nailed in to websites and applications.&lt;br /&gt;
Here's what I'm planning:&lt;br /&gt;
&lt;div class="wz_formatbar"&gt;&lt;select&gt;&lt;option value="&amp;lt;p&amp;gt;"&gt;Paragraph:&lt;/option&gt;&lt;option value="&amp;lt;p&amp;gt;"&gt;Normal&lt;/option&gt;&lt;option value="&amp;lt;h1&amp;gt;"&gt;Heading 1 (big)&lt;/option&gt;&lt;option value="&amp;lt;h2&amp;gt;"&gt;Heading 2&lt;/option&gt;&lt;option value="&amp;lt;h3&amp;gt;"&gt;Heading 3&lt;/option&gt;&lt;option value="&amp;lt;h4&amp;gt;"&gt;Heading 4 (small)&lt;/option&gt;&lt;option value="InsertUnorderedList"&gt;• Bullet list&lt;/option&gt;&lt;option value="InsertOrderedList"&gt;1. Number list&lt;/option&gt;&lt;option value="Indent"&gt;→ Blockquote&lt;/option&gt;&lt;option value="Outdent"&gt;← Unblockquote&lt;/option&gt;&lt;/select&gt; &lt;select&gt;&lt;option value=""&gt;Character:&lt;/option&gt;&lt;option value="&amp;lt;big&amp;gt;"&gt;Big&lt;/option&gt;&lt;option value="&amp;lt;small&amp;gt;"&gt;Small&lt;/option&gt;&lt;option value="&amp;lt;code&amp;gt;"&gt;Code (typewriter)&lt;/option&gt;&lt;option value="strikethrough"&gt;Strikethrough&lt;/option&gt;&lt;option value="subscript"&gt;Subscript&lt;/option&gt;&lt;option value="superscript"&gt;Superscript&lt;/option&gt;&lt;option value="underline"&gt;Underline&lt;/option&gt;&lt;option value="RemoveFormat"&gt;Remove Formatting&lt;/option&gt;&lt;/select&gt;&lt;button style="height: 2em; vertical-align: top;" title="Bold" type="button"&gt;&lt;b style="font: bold larger serif;"&gt;A&lt;/b&gt;&lt;/button&gt;&lt;button style="height: 2em; vertical-align: top;" title="Italic" type="button"&gt;&lt;i style="font: italic larger serif;"&gt;A&lt;/i&gt;&lt;/button&gt;&lt;button style="height: 2em; vertical-align: top;" title="Numbered list" type="button"&gt;1.&lt;/button&gt;&lt;button style="height: 2em; vertical-align: top;" title="Bullet list" type="button"&gt;&lt;b&gt;•&lt;/b&gt;&lt;/button&gt;&lt;button style="height: 2em; vertical-align: top;" title="&amp;lt; to Left" type="button"&gt;&lt;b style="font-family: Impact;"&gt;←&lt;/b&gt;&lt;/button&gt;&lt;button style="height: 2em; vertical-align: top;" title="Center" type="button"&gt;&lt;b&gt;=&lt;/b&gt;&lt;/button&gt;&lt;button style="height: 2em; vertical-align: top;" title="to Right &amp;gt;" type="button"&gt;&lt;b style="font-family: Impact;"&gt;→&lt;/b&gt;&lt;/button&gt;&lt;button style="height: 2em; vertical-align: top;" title="Paste in text (e.g. from word processor) or HTML (e.g. YouTube embed code)" type="button"&gt;&lt;b style="font-family: Impact;"&gt;+↓&lt;/b&gt;&lt;/button&gt;&lt;button style="height: 2em; vertical-align: top;" title="Insert Link" type="button"&gt;&lt;u style="background: none repeat scroll 0% 0% white; color: blue;"&gt;*.com&lt;/u&gt;&lt;/button&gt;&lt;button style="height: 2em; vertical-align: top;" title="Insert Image" type="button"&gt;&lt;u style="background-color: skyblue; border: 2px ridge peru; color: darkgreen;"&gt;&amp;nbsp;♠&lt;b style="color: gold;"&gt;*&lt;/b&gt;&lt;/u&gt;&lt;/button&gt;&amp;nbsp;&lt;button type="button"&gt;&lt;span style="font-size: xx-small;"&gt;HTML&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;&lt;span style="font-size: 8px;"&gt;&lt;span style="font-size: 10px;"&gt;Note: the above buttons don't do anything! They just illustrate what the new toolbar may look like!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;   Whizzywig will have it's own &lt;b&gt;namespace&lt;/b&gt;. It won't have global variables that may clash with other javascript that may co-exist on the same page.&lt;br /&gt;
That in turn means that if you have customised your Whizzywig and used the existing global variables (e.g. &lt;span style="font-family: 'courier new', courier, monospace;"&gt;sels&lt;/span&gt;, &lt;span style="font-family: 'courier new', courier, monospace;"&gt;cssFile&lt;/span&gt;) then you'll have change your code to use the new version.&lt;/li&gt;
&lt;li&gt;   The editor will be a &lt;b&gt;contenteditable &lt;/b&gt;div, &lt;i&gt;not &lt;/i&gt;an  iframe. The contenteditable attribute has been in Internet Explorer  since Adam was a boy and is in the W3C HTML 5 spec. It is deployed in  all modern Class A browsers but won't work in older versions like  Firefox 2.&lt;br /&gt;
Using contenteditable has 2 major advantages: it allows the code to be  simpler and means that the editor will inherit all the CSS styles of  the surrounding page. It will be much more likely that What You See IS  What You Get. In most cases, you won't need the &lt;span style="font-family: 'courier new', courier, monospace;"&gt;cssFile&lt;/span&gt; setting any more.&lt;/li&gt;
&lt;li&gt;   The editor will have a &lt;b&gt;very small and lightweight core&lt;/b&gt;: aiming for about &lt;i&gt;half the size of the current Whizzywig&lt;/i&gt;  version.&amp;nbsp; It won't rely on any other files, not even an image sprite  for the toolbar. This will make it very fast and simple to deploy.&lt;/li&gt;
&lt;li&gt;   The &lt;b&gt;font controls won't be on the toolbar&lt;/b&gt; by default:  in the most common use case of creating HTML fragments to embed in a  website, the output will conform to the websites styles as per the CSS  rules. Font controls (Font size, Font family, color)&amp;nbsp;&lt;i&gt; will be available as an extension&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;   There will be&lt;b&gt; new controls to format Paragraphs&lt;/b&gt; (replacing the current [Choose style] pulldown) &lt;b&gt;and Characters.&lt;/b&gt; The Character pulldown will introduce big, small, subscript, superscript, underline and remove format.&lt;/li&gt;
&lt;li&gt;   There will be a new &lt;b&gt;default control to embed HTML or text&lt;/b&gt;.  This means you can add that YouTube video or widget code without having  to resort to Source code view. You can take the Source button off the  toolbar for most implementations which will be a lot safer. If you paste  in text from Word, it will strip the HTML formatting but preserve the  paragraphs. If you paste in a chunk of plain text, it will add paragraph  tags appropriately.&lt;/li&gt;
&lt;li&gt;   There will be &lt;b&gt;context sensitive buttons for Left [⇐] and Right[⇒]&lt;/b&gt;.&lt;br /&gt;
- If you select an image and click &lt;b&gt;[⇒]&lt;/b&gt; it will float the image to the right of the text.&lt;br /&gt;
- If you are in a list or blockquote it will indent the current item.&lt;br /&gt;
- If you are in a text block it will align it to the right.&lt;/li&gt;
&lt;li&gt;   It will provide &lt;b&gt;more control over the output&lt;/b&gt;, making  it possible to exclude tags, or write your own output generator (e.g.  for BBcode or Textile). The default output will be efficient, valid  xhtml. "Efficient" means no nested span tags to provide multiple  formatting like color, font and italic.&lt;/li&gt;
&lt;li&gt;   Extensions will be available for Font selection, Color selection, Tables, Special Characters.&lt;/li&gt;
&lt;li&gt;   The editor will keep the textarea in sync after each change - no need to call syncTextarea.&lt;/li&gt;
&lt;li&gt;   Independently there will be &lt;b&gt;a new File/Image Manager&lt;/b&gt;, with upload.&lt;/li&gt;
&lt;/ol&gt;Help me by commenting below, or by clicking&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;form action="https://www.paypal.com/cgi-bin/webscr" method="post" style="margin-top: -30px; text-align: center;"&gt;&lt;input name="cmd" type="hidden" value="_s-xclick" /&gt; &lt;input name="hosted_button_id" type="hidden" value="SAS4UPVJ56F8W" /&gt; &lt;input alt="PayPal - The safer, easier way to pay online." border="0" name="submit" src="https://www.paypal.com/en_GB/i/btn/btn_donate_LG.gif" type="image" /&gt; &lt;img alt="" border="0" height="1" src="https://www.paypal.com/en_GB/i/scr/pixel.gif" width="1" /&gt;&lt;/form&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3253243556833664300-1248401154318401804?l=unversed.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://unverse.net/Whizzywig-2011' title='Whizzywig 2011'/><link rel='replies' type='application/atom+xml' href='http://unversed.blogspot.com/feeds/1248401154318401804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://unversed.blogspot.com/2010/12/i-am-working-on-new-version-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3253243556833664300/posts/default/1248401154318401804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3253243556833664300/posts/default/1248401154318401804'/><link rel='alternate' type='text/html' href='http://unversed.blogspot.com/2010/12/i-am-working-on-new-version-of.html' title='Whizzywig 2011'/><author><name>Jorogo</name><uri>http://www.blogger.com/profile/04247692127564068191</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://3.bp.blogspot.com/_OI9zUoyAVNk/TSbtX2l7MRI/AAAAAAAABvk/kQQz6RezFUY/s1600-R/173743_689576594_187479_n.jpg'/></author><thr:total>0</thr:total></entry></feed>
