Použití Windows LiverWriteru a BlogEngine.NET
Při spouštění blogu v září 2007 jsem pár dnů bojoval s Windows LiveWriter. Ačkoliv se o něm moc neví, jedná se o výborný klientský blogovací nástroj, umožňující komfortní přípravu článků, klidně v režimu offline.
Přesto se však našly mušky, které ztěžovaly život českého bloggera. V první řadě to bylo přednastavené HTML kódování non-ascii znaků přímo na straně WLW jak v těle příspěvku, tak v položkách <title> a <author>. V souvislosti se zprovozňováním nové verze BlogEngine.NET jsem se k tomu problému vrátil a tentokrát vyřešil kompletně.
1. konfigurace WLW tak, aby <content></content> neobsahoval HTML zakódované znaky
Windows LiveWriter si při nastavování blogovacího účtu detekuje vlastnosti blog serveru. Bohužel v aktulání verzi 12.0.1370.325 nastavuje standardně Default (XHTML), přičemž pro korektní ukládání češtiny je nezbytné ručně přepnout Markup Type na záložce Advanced na HTML.
Alternativně se nabízí stažení WLW tech preview (k dnešnímu datu ve verzi 14.0.3913.522) z http://windowslivewriter.spaces.live.com/blog/cns!D85741BB5E0BE8AA!1508.entry. Ten odstraňuje chybu nechtěného kódování i při nastavení Default (XHTML) a přináší spoustu nových a opravených funkcí. Jejich přehled je třeba zde - http://personal.battleangel.org/2008/06/04/windows-live-writer-tech-preview/.
2. odstranění HTML entit z <title>, <author> a <slug>
Na podzim jsem si kvůli tomu napsal svůj vlastní Extension do BE.NET. Teď jsem však našel daleko jednodušší, systémovější řešení, jak jinak než za pomoci Google -
http://forums.community.microsoft.com/en-US/writerbeta/thread/c3285a01-2e9f-4637-8ea3-d9961ae754cd/.
Vše, co je potřeba udělat, je v souboru wlwmanifest.xml, jenž je v kořenovém adresáři BE.NET, přidat kdekoliv v sekci <options> následující element:
<requiresHtmlTitles>No</requiresHtmlTitles>
Po provedení této změny je nejjistější ve WLW smazat definici blog účtu a jeho opětovné založení – upozorňuji na dříve zmíněný bod 1.