<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Wordpress Dotnet on Chris McKelt - Remembering Thoughts</title><link>https://blog.smarttechventures.au/tags/wordpress-dotnet/</link><description>Recent content in Wordpress Dotnet on Chris McKelt - Remembering Thoughts</description><generator>Hugo -- 0.147.2</generator><language>en</language><lastBuildDate>Mon, 01 Jun 2015 00:00:00 +0800</lastBuildDate><atom:link href="https://blog.smarttechventures.au/tags/wordpress-dotnet/index.xml" rel="self" type="application/rss+xml"/><item><title>From DotNetBlogEngine to WordPress</title><link>https://blog.smarttechventures.au/articles/posts/from-dotnetblogengine-to-wordpress/</link><pubDate>Mon, 01 Jun 2015 00:00:00 +0800</pubDate><guid>https://blog.smarttechventures.au/articles/posts/from-dotnetblogengine-to-wordpress/</guid><description>&lt;p>So after losing 6 months worth of posts I have now converted this blog to use WordPress.&lt;/p>
&lt;p>To transfers the posts I wrote a simple &lt;a href="https://gist.github.com/chrismckelt/31a3c5ea9114f28f3170" target="_blank">linqpad&lt;/a> script that uses &lt;a href="WordPressSharp">WordPressSharp&lt;/a>&lt;/p>
&lt;p>After trying Syntax highlighter I instead choose this &lt;a href="https://code.google.com/p/codeformatterpluginforwindowslivewriter/downloads/detail?name=CodeFormatterPluginSetup2.5.1.msi&amp;amp;can=2&amp;amp;q=" target="_blank">code formatter.&lt;/a>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span style="display:flex;">&lt;span>// need nuget WordPressSharp
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>internal &lt;span style="color:#00a">class&lt;/span> FileStore
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> public IList&amp;lt;Post&amp;gt; Posts { get; private set; }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> public void ReadFiles()
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#00a">const&lt;/span> string folderPath = &lt;span style="color:#f00;background-color:#faa">@&lt;/span>&lt;span style="color:#a50">&amp;#34;C:&lt;/span>&lt;span style="color:#a50">\t&lt;/span>&lt;span style="color:#a50">emp\posts&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Posts = new List&amp;lt;Post&amp;gt;();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#00a">var&lt;/span> files = Directory.GetFiles(folderPath);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> files.ToList().ForEach(ProcessFile);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> private void ProcessFile(string filepath)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> //Load xml
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> XDocument xdoc = XDocument.Load(filepath);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> //Run query
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#00a">var&lt;/span> posts = from lv1 &lt;span style="color:#00a">in&lt;/span> xdoc.Descendants(&lt;span style="color:#a50">&amp;#34;post&amp;#34;&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> select new Post()
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Title = lv1.Element(&lt;span style="color:#a50">&amp;#34;title&amp;#34;&lt;/span>).Value,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Content = lv1.Element(&lt;span style="color:#a50">&amp;#34;content&amp;#34;&lt;/span>).Value,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> PublishDateTime = Convert.ToDateTime(lv1.Element(&lt;span style="color:#a50">&amp;#34;pubDate&amp;#34;&lt;/span>).Value),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> CustomFields = GetDesc(new KeyValuePair&amp;lt;string, string&amp;gt;(&lt;span style="color:#a50">&amp;#34;Description&amp;#34;&lt;/span>, lv1.Element(&lt;span style="color:#a50">&amp;#34;description&amp;#34;&lt;/span>).Value))
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> };
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> posts.ToList().ForEach(Posts.Add);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> public CustomField[] GetDesc(params KeyValuePair&amp;lt;string,string&amp;gt;[] fieldsToAdd)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#00a">var&lt;/span> list = new List&amp;lt;CustomField&amp;gt;();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> foreach (&lt;span style="color:#00a">var&lt;/span> keyValuePair &lt;span style="color:#00a">in&lt;/span> fieldsToAdd)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> list.Add(new CustomField()
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Id=Guid.NewGuid().ToString(),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Key=keyValuePair.Key,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Value = keyValuePair.Value
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> });
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#00a">return&lt;/span> list.ToArray();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> private &lt;span style="color:#00a">static&lt;/span> void Main(string[] args)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#00a">var&lt;/span> url = &lt;span style="color:#a50">&amp;#34;http://www.mckelt.com/blog/&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#00a">var&lt;/span> cfg = new WordPressSiteConfig
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> BaseUrl = &lt;span style="color:#a50">&amp;#34;/blog/xmlrpc.php&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> BlogId = &lt;span style="color:#099">1&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Username = &lt;span style="color:#a50">&amp;#34;username&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Password = &lt;span style="color:#a50">&amp;#34;password&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> };
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#00a">var&lt;/span> fs = new FileStore();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> fs.ReadFiles();
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> foreach (&lt;span style="color:#00a">var&lt;/span> post1 &lt;span style="color:#00a">in&lt;/span> fs.Posts.OrderBy(x=&amp;gt;x.PublishDateTime))
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> post1.Status = &lt;span style="color:#a50">&amp;#34;publish&amp;#34;&lt;/span>;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> using (&lt;span style="color:#00a">var&lt;/span> client = new WordPressClient(cfg))
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> client.NewPost(post1);
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item></channel></rss>