images

For the past few years I’ve created a long list of topics I wanted to blog about but the day to day demands of my job prevented me from finding the time to actually do the writing.

Now that I’m“in between adventures”, I’m working on blogging more and I hope, what ever I do next career wise, I’ll be able to write regularly again.

For blogging I generally use WordPress, though I also write content that gets published on Joomla & Drupal sites.

Embedded editors tend to be compromises at best and when I write I want to use a word processor. Yes, I know, how 1990s.

I generally have a number of writing efforts under way simultaneously, some are under way for hours, others for many weeks.I find WordPress (etc.) drafts to be a sub-optimal choice for work in process version management.

I also need to write off line. Why? I fly (a lot), I have active children and I live in the country where even cellular data services is not ubiquitous.Horse riding lessons,singing lessons, gymnastics, soccer, school play rehearsals, etc, etc add up to a LOT of potential writing time.

My needs for blog writing are not that complex, I want a word processor loads quickly and has a fast UI,has goods pell checking, supports hyper-links and can save as HTML.Since I also use Linux, Windows and Mac, I want to be able to move my documents easily between platforms.

There are lots of those (MS Word, LibreOffice, OpenOffice, Apple Pages) so what’s the problem.

Well the problem is that all the“big”ones pollute the HTML when they save the document. Microsoft Office is famous for he mess it makes of HTML.

Lets look at the output of a document saved by html from LibreOffice Writer

Here is a snippet form the CSS that LibreOffice Writer Writer creates.


.P1 { font-size:12pt; font-family:Liberation Serif; writing-mode:page; }
.P2 { font-size:12pt; font-family:Liberation Serif; writing-mode:page; }
.P3 { font-size:12pt; font-family:Liberation Serif; writing-mode:page; }
.P4 { font-size:12pt; font-family:Liberation Serif; writing-mode:page; }
.P5 { font-size:12pt; font-family:Liberation Serif; writing-mode:page; }
.P6 { font-size:12pt; font-family:Liberation Serif; writing-mode:page; }
.P7 { font-size:12pt; font-family:Liberation Serif; writing-mode:page; }

And here is a snippet of the HTML mess it produces in the same file.

Note that even basic paragraphs have custom classes and Writer generates them for html paragraphs even if nothing changes from one paragraph to the next.

And, of course, the html is ugly.



Since some will ask.....

Yes, I considered going back to Microsoft. I think they
are doing some interesting things and the recent changes in senior management
should be good for Microsoft's developer focus over the next few years.

No, I didn't get the job. The heaviest focus
for the position was on driving apps into the Windows Phone Store and
engaging college students. I don't have any apps in the Windows Phone Store,
wasn't really a Silverlight guy and am 53 years old.

But the interview process caused me to update my look at
Microsoft developer focused strategy and the  state of affairs of Windows
Phone 8 and the mobile apps development landscape.


Enter AbiWord. AbiWord is a light but well featured word processor available for Linux, Windows and Mac.

It’s fast, supports the features I want and DOES NOT pollute the markup it generates when I save as HTML.

Now lets look at the HTML created by AbiWord when I save a document as HTML.


p, h1, h2, h3, li {
	color:#000000;
	font-family:'Times New Roman';
	font-size:12pt;
	text-align:left;
	vertical-align:normal;
}

Note the more standard use of CSS ad the absence of custom classes.


And, the simple, formatted HTML.


      For the past few years I’ve created a long list of topics
         I wanted to blog about but the day to day demands of my job
         prevented me fromfinding the time to actually do the writing.


So……

That makes is EASY for me to do my writing in the AbiWord word processor, save as HTML, then publish in WordPress, etc. with minimal work required to customize the markup for my specifc blogging platform requirements.