<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Content-Management-System on Janik von Rotz</title>
    <link>https://janikvonrotz.ch/categories/content-management-system/</link>
    <description>Recent content in Content-Management-System on Janik von Rotz</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Mon, 09 Jul 2018 16:52:17 +0200</lastBuildDate>
    <atom:link href="https://janikvonrotz.ch/categories/content-management-system/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Hugo Soundcloud shortcode</title>
      <link>https://janikvonrotz.ch/2018/07/09/hugo-soundcloud-shortcode/</link>
      <pubDate>Mon, 09 Jul 2018 16:52:17 +0200</pubDate>
      <guid>https://janikvonrotz.ch/2018/07/09/hugo-soundcloud-shortcode/</guid>
      <description>&lt;p&gt;The Hugo templating system is very flexible. Even when markdown falls short you can add simple snippets inside the content files. Hugo created &lt;a href=&#34;https://gohugo.io/content-management/shortcodes/&#34;&gt;shortcodes&lt;/a&gt; to circumvent the limitations. For my blog I have create a custom shortcode for embeding Soundcloud playlists into my markdown posts. Creating custom shortcodes is very easy. I will show you how it is done and moreover provide a tool to convert existing Soundcloud set urls into the custom Soundcloud shortcode.&lt;/p&gt;&#xA;&lt;h2 id=&#34;create-a-souncloud-shortcode&#34;&gt;Create a Souncloud shortcode&lt;/h2&gt;&#xA;&lt;p&gt;Creating new shortcodes is as metioned very in easy.&lt;/p&gt;&#xA;&lt;p&gt;This is an example for the Soundcloud playlist shortcode.&lt;/p&gt;&#xA;&lt;p&gt;Create a new file &lt;strong&gt;/layouts/shortcodes/soundcloud.html&lt;/strong&gt; with this content:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;iframe&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;width&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;100%&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;height&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;450&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;scrolling&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;no&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;frameborder&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;no&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;allow&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;autoplay&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;src&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/playlists/{{ index .Params 0 }}&amp;amp;color=%23ff5500&amp;amp;auto_play=false&amp;amp;hide_related=false&amp;amp;show_comments=true&amp;amp;show_user=true&amp;amp;show_reposts=false&amp;amp;show_teaser=true&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;gt;&amp;lt;/&lt;span style=&#34;color:#f92672&#34;&gt;iframe&lt;/span&gt;&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If this file exists, you can use it as a shortcode in your posts and pages:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;{{&amp;lt; soundcloud 8924360 &amp;gt;}}&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The parameter is a Soundcloud set id, which can be extracted from the embed options in the Soundcloud browser UI.&lt;/p&gt;&#xA;&lt;h2 id=&#34;convert-soundcloud-set-links-to-hugo-shortcodes&#34;&gt;Convert Soundcloud set links to Hugo shortcodes&lt;/h2&gt;&#xA;&lt;p&gt;If you have existing Soundcloud links and would like to convert them into shortcodes, follow these steps:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Login into your Soundcloud account.&lt;/li&gt;&#xA;&lt;li&gt;Register a new Soundcloud app.&lt;/li&gt;&#xA;&lt;li&gt;Store the client id of the app.&lt;/li&gt;&#xA;&lt;li&gt;Replace the variable &lt;code&gt;_CLIENT_ID_&lt;/code&gt; and &lt;code&gt;_SOUNDCLOUD_USERNAME_&lt;/code&gt; in the script below.&lt;/li&gt;&#xA;&lt;li&gt;Install the json command line tool &lt;a href=&#34;https://stedolan.github.io/jq/&#34;&gt;jq&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Run the script in the posts folder.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;selector&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;*.md&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;username&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;_SOUNDCLOUD_USERNAME_&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;clientId&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;_CLIENT_ID_&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# loop through all files that match the selector&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; filename in $selector; &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Processing: &lt;/span&gt;$filename&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    soundcloudUrl&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;grep -oP &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;^https?://soundcloud.com/&lt;/span&gt;$username&lt;span style=&#34;color:#e6db74&#34;&gt;/sets/[^\s]+&amp;#34;&lt;/span&gt; $filename&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt;  $soundcloudUrl &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt; ; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Retrieve playlist id for: &lt;/span&gt;$soundcloudUrl&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        playlistId&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;curl -L &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://api.soundcloud.com/resolve?url=&lt;/span&gt;$soundcloudUrl&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;amp;client_id=&lt;/span&gt;$clientId&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt; | jq -r &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;.id&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Got playlist id: &lt;/span&gt;$playlistId&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;s,&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;soundcloudUrl&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;,{{&amp;lt; soundcloud &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;playlistId&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; &amp;gt;}},g&amp;#34;&lt;/span&gt; $filename&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Enjoy your Soundcloud 🎵&lt;/p&gt;</description>
    </item>
    <item>
      <title>Another Wordpress to Hugo migration</title>
      <link>https://janikvonrotz.ch/2018/07/08/another-wordpress-to-hugo-migration/</link>
      <pubDate>Sun, 08 Jul 2018 09:11:28 +0000</pubDate>
      <guid>https://janikvonrotz.ch/2018/07/08/another-wordpress-to-hugo-migration/</guid>
      <description>&lt;p&gt;Using Wordpress to run this blog has become an overkill. It was time to change. Static site generators, no database content management systems and JavaScript based tools make Wordpress an deprecated blogging platform. I had the idea of moving away from Wordpress for a while and decided to take a chance two weeks ago. This post is about the migration process and the design decisions made in preparation of the migration.&lt;/p&gt;&#xA;&lt;p&gt;From the title you can tell that I chose Hugo as my next CMS, but why Hugo? First of all, I only have had a look at Jekyll and Hugo. Jekyll is written in ruby and Hugo in go. To make it short and simple, Hugo does whatever Jekyll does, but based on newer technologies and a lot faster. And also remember it doesn&amp;rsquo;t really matter. Both Hugo and Jekyll use markdown files and have almost the same format to store posts and data. So no big difference except speed.&lt;/p&gt;&#xA;&lt;p&gt;To be shure it is worth the shot to move away from Wordpress, I came up with a few pro and counter arguments.&lt;/p&gt;&#xA;&lt;p&gt;Why move a away from Wordpress?&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I do not want my markdown blog posts in a database.&lt;/li&gt;&#xA;&lt;li&gt;My blog was heavy integrated into the wordpress ecosystem. Too heavy in my opinion.&lt;/li&gt;&#xA;&lt;li&gt;I would like to have the advantages of a static site generator (git, files only, markdown, &amp;hellip;).&lt;/li&gt;&#xA;&lt;li&gt;Running Wordpress has heavy dependencies (php, mysql, nginx, &amp;hellip;).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;What do I have to consider when ditching Wordpress?&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;How can I migrate comments?&lt;/li&gt;&#xA;&lt;li&gt;How does the new platform manage media files?&lt;/li&gt;&#xA;&lt;li&gt;How can I convert the Wordpress shortcodes?&lt;/li&gt;&#xA;&lt;li&gt;What am I gonna do with the mail subscriber list, contact form and other Wordpress features?&lt;/li&gt;&#xA;&lt;li&gt;Is the migration a one-way-ticket to another platform?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;In the end, these were only questions that to be answered and they have definitely already been answered by somebody else.&lt;/p&gt;&#xA;&lt;p&gt;In the next sections I will pretend to do a Wordpress-to-Hugo-migration and guide you through to process.&lt;/p&gt;&#xA;&lt;h1 id=&#34;export-wordpress-data&#34;&gt;Export Wordpress Data&lt;/h1&gt;&#xA;&lt;p&gt;Every migration begins with an export of the source data. To export data from Wordpress we will use the &lt;a href=&#34;https://wordpress.org/plugins/jekyll-exporter/&#34;&gt;jekyll-exporter&lt;/a&gt; plugin. As the file format is very similar to Hugos, we can use this exporter to create the Hugo site.&lt;/p&gt;&#xA;&lt;p&gt;Once the exporter plugin is installed on the Wordpress site, open a shell on the server and navigate to the jekyll-exporter plugin directory. Then run &lt;code&gt;php jekyll-export-cli.php &amp;gt; ~/export.zip&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;We run the export command from command line, because if run the export from the Wordpress admin page, you&amp;rsquo;ll probably receive a timeout error .&lt;/p&gt;&#xA;&lt;p&gt;Once the file has been exported, download and unzip it.&lt;/p&gt;&#xA;&lt;h1 id=&#34;setup-hugo&#34;&gt;Setup Hugo&lt;/h1&gt;&#xA;&lt;p&gt;Next we are going to set up the new Hugo site. For this of course you need to &lt;a href=&#34;https://gohugo.io/getting-started/installing/&#34;&gt;install Hugo&lt;/a&gt;. IF done open your shell and enter these commands:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hugo new site _SITE_NAME_&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git submodule add https://github.com/jrutheiser/hugo-lithium-theme themes/lithium&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;hugo serve&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;We now have running a Hugo site with the lithium theme. Easy wasn&amp;rsquo;t it?&lt;/p&gt;&#xA;&lt;p&gt;However, as there is nothing to show yet, Hugo will return a blank page.&lt;/p&gt;&#xA;&lt;p&gt;Update the parameters in the &lt;code&gt;config.toml&lt;/code&gt; file to finish the installation. Set the following attributes:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;baseURL = &amp;#34;https://janikvonrotz.ch&amp;#34;&#xA;languageCode = &amp;#34;en-us&amp;#34;&#xA;title = &amp;#34;Janik von Rotz&amp;#34;&#xA;description = &amp;#34;Curious, Dedicated, Humble&amp;#34; &#xA;theme = &amp;#34;hugo-lithium-theme&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I recommend to commit every change, when finishing a section from now on.&lt;/p&gt;&#xA;&lt;h1 id=&#34;migration&#34;&gt;Migration&lt;/h1&gt;&#xA;&lt;p&gt;In this section we are going through the steps it took to migrate the Wordpress content to Hugo.&lt;/p&gt;&#xA;&lt;p&gt;Let&amp;rsquo;s get started with the most important files - the post files.&lt;/p&gt;&#xA;&lt;h2 id=&#34;posts&#34;&gt;Posts&lt;/h2&gt;&#xA;&lt;p&gt;From the Jekyll export I copied all them markdown files from the &lt;code&gt;_posts&lt;/code&gt; folder to &lt;code&gt;_SITE_NAME_/content/post&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In order to preserve the Wordpress link structure &lt;code&gt;/YYYY/MM/DD/_SLUG_/&lt;/code&gt;, you have to define a permalink structure in Hugo. This is a common use case:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;config.toml&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;permalinks&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;post&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/:year/:month/:day/:title/&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;page&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/:title/&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;It is important to preserve the link structure, otherwise it will break referrers links pointing to your site.&lt;/p&gt;&#xA;&lt;h2 id=&#34;pages&#34;&gt;Pages&lt;/h2&gt;&#xA;&lt;p&gt;Migrating pages is very simple. Copy the page markdown files to &lt;code&gt;hugo-site/content/page&lt;/code&gt; and you are done.&lt;/p&gt;&#xA;&lt;h2 id=&#34;navigation&#34;&gt;Navigation&lt;/h2&gt;&#xA;&lt;p&gt;The navigation structure can be configured universally in Hugo.&lt;/p&gt;&#xA;&lt;p&gt;Use the toml config below to define the navigation menu.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;menu&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  [[&lt;span style=&#34;color:#a6e22e&#34;&gt;menu&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;]]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Home&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;url&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;weight&lt;/span&gt; = &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  [[&lt;span style=&#34;color:#a6e22e&#34;&gt;menu&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;]]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Projects&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;url&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/projects/&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;weight&lt;/span&gt; = &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  [[&lt;span style=&#34;color:#a6e22e&#34;&gt;menu&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;]]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Downloads&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;url&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/downloads/&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;weight&lt;/span&gt; = &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  [[&lt;span style=&#34;color:#a6e22e&#34;&gt;menu&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;]]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Curriculum Vitae&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;url&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/cv/&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;weight&lt;/span&gt; = &lt;span style=&#34;color:#ae81ff&#34;&gt;4&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  [[&lt;span style=&#34;color:#a6e22e&#34;&gt;menu&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;]]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Contact&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;url&lt;/span&gt; = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;/contact/&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;weight&lt;/span&gt; = &lt;span style=&#34;color:#ae81ff&#34;&gt;5&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Obviously I expect you to adapt my examples according to your use case.&lt;/p&gt;&#xA;&lt;h2 id=&#34;encoded-characters&#34;&gt;Encoded Characters&lt;/h2&gt;&#xA;&lt;p&gt;Some character might haven been encoded during the export process. They can be searched and replaced conveniently with the &lt;code&gt;sed&lt;/code&gt; command from you shell:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;selector&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;*.md&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# &amp;amp;lt; -&amp;gt; &amp;lt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/&amp;amp;lt;/&amp;lt;/g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# &amp;amp;gt; -&amp;gt; &amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/&amp;amp;gt;/&amp;gt;/g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# &amp;amp;quot; -&amp;gt; &amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/&amp;amp;quot;/&amp;#34;/g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# &amp;amp;amp; -&amp;gt; &amp;amp;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/\&amp;amp;amp;/\&amp;amp;/g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# &amp;amp;#8211; -&amp;gt; -&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/&amp;amp;#8211;/-/g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# &amp;amp;#8217; -&amp;gt; ’&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/&amp;amp;#8217;/’/g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# &amp;amp;#039; -&amp;gt; ’ (get rid of &amp;#39;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;s/&amp;amp;#039;/’/g&amp;#34;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# &amp;amp;#8230; -&amp;gt; … &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;s/&amp;amp;#8230;/…/g&amp;#34;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# &amp;amp;#8222; -&amp;gt; „&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;s/&amp;amp;#8222;/„/g&amp;#34;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# &amp;amp;#8220; -&amp;gt; &amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/&amp;amp;#8220;/&amp;#34;/g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# &amp;amp;#038; -&amp;gt; &amp;amp;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/&amp;amp;#038;/\&amp;amp;/g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;2019-06-12 Edit:&lt;/strong&gt; Add new special characters.&lt;/p&gt;&#xA;&lt;h2 id=&#34;contact-form&#34;&gt;Contact Form&lt;/h2&gt;&#xA;&lt;p&gt;Wordpress shortcodes allow you to embed plugins or enriched content in posts and pages. Some shortcodes have to be removed as Hugo does not understand them.&lt;/p&gt;&#xA;&lt;p&gt;Below is the shortcode for my contact form:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[contact-form to=&amp;#39;contact@janikvonrotz.ch&amp;#39; subject=&amp;#39;janikvonrotz.ch - contact form&amp;#39;]&#xA;[contact-field label=&amp;#39;Name&amp;#39; type=&amp;#39;text&amp;#39; required=&amp;#39;1&amp;#39;/]&#xA;[contact-field label=&amp;#39;Email Adresse&amp;#39; type=&amp;#39;email&amp;#39; required=&amp;#39;1&amp;#39;/]&#xA;[contact-field label=&amp;#39;Betreff&amp;#39; type=&amp;#39;text&amp;#39;/]&#xA;[contact-field label=&amp;#39;Nachricht&amp;#39; type=&amp;#39;textarea&amp;#39;/]&#xA;[/contact-form]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;As there is no Hugo server (only static files) that forward mail messages submitted by a contact form, I have to decided to get rid of the form entirely.&lt;/p&gt;&#xA;&lt;p&gt;If you really need a contact form, I recommend to opt for &lt;a href=&#34;https://formspree.io/&#34;&gt;Formspree&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;code-fences&#34;&gt;Code Fences&lt;/h2&gt;&#xA;&lt;p&gt;Wordpress uses shortcodes to separate code from the post content. With the script below you can search and replace Wordpress code blocks with markdown code fences.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;selector&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;*.md&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# [code] -&amp;gt; ```&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;\[code\];```;g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# [/code] -&amp;gt; ```&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;\[\/code\];```;g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# &amp;lt;pre&amp;gt;&amp;lt;code&amp;gt; -&amp;gt; ```&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;;```;g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# &amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt; -&amp;gt; ```&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;;```;g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# [code lang=&amp;#34;text&amp;#34;][code lang=text][code language=&amp;#34;bash&amp;#34;][code lang=&amp;#34;sql&amp;#34;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# [code lang=&amp;#34;css&amp;#34;][code lang=css][code lang=&amp;#34;text&amp;#34;][code lang=text]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# [code lang=&amp;#34;php&amp;#34;][code lang=&amp;#34;html&amp;#34;][code lang=&amp;#34;java&amp;#34;][code lang=&amp;#34;xml&amp;#34;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# [code lang=&amp;#34;js&amp;#34;][code lang=&amp;#34;powershell&amp;#34;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# [code language=&amp;#34;powershell&amp;#34;] -&amp;gt; ```_LANGUAGE_KEY_&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i -r &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;\[code (lang|language)=&amp;#34;?([a-z]+)&amp;#34;?\];```\2;g&amp;#39;&lt;/span&gt;  $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# [code lang=&amp;#34;shell&amp;#34;] -&amp;gt; ```bash&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;\[code lang=&amp;#34;shell&amp;#34;\];```bash;g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# [code language=&amp;#34;shell&amp;#34;] -&amp;gt; ```bash&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;\[code language=&amp;#34;shell&amp;#34;\];```bash;g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# [code lang=&amp;#34;javascript&amp;#34;] -&amp;gt; ```js&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;\[code lang=&amp;#34;javascript&amp;#34;\];```js;g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# [code language=&amp;#34;javascript&amp;#34;] -&amp;gt; ```js&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;\[code language=&amp;#34;javascript&amp;#34;\];```js;g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# [code lang=&amp;#34;ps&amp;#34;] -&amp;gt; ```powershell&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;\[code lang=&amp;#34;ps&amp;#34;\];```powershell;g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# [code language=&amp;#34;ps&amp;#34;] -&amp;gt; ```powershell&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;\[code language=&amp;#34;ps&amp;#34;\];```ps;g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# [code lang=&amp;#34;ps&amp;#34; highlight=&amp;#34;1,3&amp;#34;] -&amp;gt; ```powershell&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;\[code lang=&amp;#34;ps&amp;#34;\ .*];```powershell;g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# &amp;lt;code&amp;gt; -&amp;gt; `&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;&amp;lt;code&amp;gt;;`;g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# &amp;lt;/code&amp;gt; -&amp;gt; `&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;&amp;lt;/code&amp;gt;;`;g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Syntax highlighting for code fences is disabled by default. Enable it by setting &lt;code&gt;pygmentsCodeFences = &amp;quot;true&amp;quot;&lt;/code&gt; in your &lt;code&gt;config.toml&lt;/code&gt; file.&lt;/p&gt;&#xA;&lt;h2 id=&#34;shortcodes&#34;&gt;Shortcodes&lt;/h2&gt;&#xA;&lt;p&gt;If you want to embed content in markdown, you have to use an iframe. Having html tags in a markdown file is not very cool. That is way Hugo provides its own shortcodes. The bash commands below helps converting Wordpress shortcodes to Hugo shortcodes.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;selector&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;*.md&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# [caption ...]&amp;lt;img src=&amp;#34;...&amp;#34; alt=&amp;#34;...&amp;#34; ... /&amp;gt; ...[/caption] -&amp;gt; {{&amp;lt; figure src=&amp;#34;...&amp;#34; title=&amp;#34;...&amp;#34; &amp;gt;}}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i -r &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;\[caption .*\].*&amp;lt;img src=&amp;#34;([^&amp;#34;]*)&amp;#34; .* /&amp;gt;\s+(.*)\[/caption\];{{&amp;lt; figure src=&amp;#34;\1&amp;#34; title=&amp;#34;\2&amp;#34; &amp;gt;}};g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# [caption ...]&amp;lt;a href=&amp;#34;...&amp;#34; ...&amp;gt;&amp;lt;img src=&amp;#34;...&amp;#34; alt=&amp;#34;&amp;#34; ... /&amp;gt;&amp;lt;/a&amp;gt;...[/caption] -&amp;gt; {{&amp;lt; figure src=&amp;#34;...&amp;#34; title=&amp;#34;...&amp;#34; &amp;gt;}}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i -r &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;\[caption .*\].*&amp;lt;img src=&amp;#34;([^&amp;#34;]*)&amp;#34;.*&amp;lt;\/a&amp;gt;\s+(.*)\[/caption\];{{&amp;lt; figure src=&amp;#34;\1&amp;#34; title=&amp;#34;\2&amp;#34; &amp;gt;}};g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# https://vimeo.com/64762621 -&amp;gt; {{&amp;lt; vimeo _ID9_ &amp;gt;}}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i -r &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;^https?\:\/\/vimeo.com\/(.{9});{{&amp;lt; vimeo \1 &amp;gt;}};g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# https://vimeo.com/64762621 -&amp;gt; {{&amp;lt; vimeo _ID8_ &amp;gt;}}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i -r &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;^https?\:\/\/vimeo.com\/(.{8});{{&amp;lt; vimeo \1 &amp;gt;}};g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# http://www.youtube.com/watch?v=_ID_ -&amp;gt; {{&amp;lt; youtube _ID_ &amp;gt;}}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i -r &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;^(https?://)?(www\.youtube\.com)\/watch\?v=(.{11});{{&amp;lt; youtube \3 &amp;gt;}};g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# [video width=&amp;#34;1280&amp;#34; height=&amp;#34;716&amp;#34; mp4=&amp;#34;...&amp;#34;][/video] -&amp;gt; &amp;lt;video width=&amp;#34;1280&amp;#34; height=&amp;#34;720&amp;#34; controls&amp;gt;&amp;lt;source src=&amp;#34;...&amp;#34; type=&amp;#34;video/mp4&amp;#34;&amp;gt;...&amp;lt;/video&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i -r &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;\[video width=&amp;#34;(.+)&amp;#34; height=&amp;#34;(.+)&amp;#34; (webm|mp4)=&amp;#34;([^&amp;#34;]+)&amp;#34;\]\[\/video\];&amp;lt;video width=&amp;#34;\1&amp;#34; height=&amp;#34;\2&amp;#34; controls&amp;gt;&amp;lt;source src=&amp;#34;\4&amp;#34; type=&amp;#34;video\/\3&amp;#34;&amp;gt;Your browser does not support the video tag.&amp;lt;/video&amp;gt;;g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# https://vimeo.com/64762621 -&amp;gt; {{&amp;lt; instagram  _ID8_ &amp;gt;}}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i -r &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;^https?\:\/\/vimeo.com\/(.{8});{{&amp;lt; instagram  \1 &amp;gt;}};g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# &amp;lt;iframe width=&amp;#34;560&amp;#34; height=&amp;#34;315&amp;#34; src=&amp;#34;https://www.youtube.com/embed/_ID_&amp;#34; frameborder=&amp;#34;0&amp;#34; allowfullscreen&amp;gt;&amp;lt;/iframe&amp;gt; -&amp;gt; {{&amp;lt; youtube _ID_ &amp;gt;}}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i -r &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;&amp;lt;iframe.+youtube.com\/embed\/([^&amp;#34;]+)&amp;#34;.+\/iframe&amp;gt;;{{&amp;lt; youtube  \1 &amp;gt;}};g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;2019-06-12 Edit:&lt;/strong&gt; Add youtube iframe converter.&lt;/p&gt;&#xA;&lt;h2 id=&#34;media&#34;&gt;Media&lt;/h2&gt;&#xA;&lt;p&gt;The Wordpress media manager is probably the biggest loss when switching to Hugo. You have to manage cropped images and other assets manually in Hugo.&lt;/p&gt;&#xA;&lt;p&gt;Copy the &lt;code&gt;wp-content&lt;/code&gt; folder to &lt;code&gt;hugo-site/static/&lt;/code&gt;. Files in this folder will be available in the root path.&lt;/p&gt;&#xA;&lt;p&gt;Optionally you can set a relative base path for the asset urls and convert &lt;code&gt;a&lt;/code&gt; and &lt;code&gt;img&lt;/code&gt; tags to its markdown syntax:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;selector&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;*.md&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# https://janikvonrotz.ch/wp-content/uploads/ -&amp;gt; /wp-content/uploads/&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;https:\/\/janikvonrotz.ch\/wp-content\/uploads\/;\/wp-content\/uploads\/;g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# &amp;lt;img src=&amp;#34;...&amp;#34; alt=&amp;#34;...&amp;#34; ... /&amp;gt; -&amp;gt; ![...](...)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i -r &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;&amp;lt;img src=&amp;#34;([^&amp;#34;]+)&amp;#34; alt=&amp;#34;([^&amp;#34;]+)&amp;#34;[^\/]+\/&amp;gt;;!\[\2\]\(\1\);g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i -r &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;&amp;lt;img src=&amp;#34;([^&amp;#34;]+)&amp;#34; alt=&amp;#34;&amp;#34;[^\/]+\/&amp;gt;;!\[Untitled]\(\1\);g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i -r &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;&amp;lt;img class.+alt=&amp;#34;([^&amp;#34;]+)&amp;#34; src=&amp;#34;([^&amp;#34;]+)&amp;#34;[^\/]+\/&amp;gt;;!\[\1]\(\2\);g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i -r &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;&amp;lt;img class.+src=&amp;#34;([^&amp;#34;]+)&amp;#34;.+alt=&amp;#34;([^&amp;#34;]+)&amp;#34;[^\/]+\/&amp;gt;;!\[\2]\(\1\);g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# &amp;lt;a href=&amp;#34;...&amp;#34;&amp;gt;...&amp;lt;/a&amp;gt; -&amp;gt; [...](...)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i -r &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;^&amp;lt;a href=&amp;#34;([^&amp;#34;]+)&amp;#34;&amp;gt;(.+)&amp;lt;\/a&amp;gt;;\[\2\]\(\1\);g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i -r &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;^&amp;lt;a href=&amp;#34;([^&amp;#34;]+)&amp;#34; rel=&amp;#34;.+&amp;#34;&amp;gt;(.+)&amp;lt;\/a&amp;gt;;\[\2\]\(\1\);g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# http://janikvonrotz.ch to https://janikvonrotz.ch&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i -r &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;http:\/\/janikvonrotz.ch;https:\/\/janikvonrotz.ch;g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;comments&#34;&gt;Comments&lt;/h2&gt;&#xA;&lt;p&gt;We face the same problem with comments as we do with the mail contact form. There is no server logic available to process comments. Thus we have to use a JavaScipt based solution.&lt;/p&gt;&#xA;&lt;p&gt;I recommend to use &lt;a href=&#34;https://just-comments.com/&#34;&gt;JustComments&lt;/a&gt;. If this does not work for you, there is still &lt;a href=&#34;https://disqus.com/&#34;&gt;Disqus&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Both services will provide JavaScript code which can be added to the Hugo footer template file.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve decided to use Disqus. They make it quite it easy to &lt;a href=&#34;https://help.disqus.com/import-export-and-syncing/importing-exporting&#34;&gt;import the comments&lt;/a&gt; from Wordpress into their platform.&lt;/p&gt;&#xA;&lt;p&gt;Hugo provides &lt;a href=&#34;https://gohugo.io/templates/internal/&#34;&gt;internal templates&lt;/a&gt; for the most common use cases for static websites. There is a Disqus template that can be enabled by setting the &lt;code&gt;disqusShortname = &amp;quot;_DISQUS_ID_&amp;quot;&lt;/code&gt; parameter.&lt;/p&gt;&#xA;&lt;h2 id=&#34;helpers&#34;&gt;Helpers&lt;/h2&gt;&#xA;&lt;p&gt;While exploring the ways of migrating my content, I&amp;rsquo;ve built and discarded various scripts and commands. In this section you&amp;rsquo;ll find scripts that could be useful in dealing with other migration problems.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Split-PostFilesByDate.sh&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Copies the posts into date separated folders.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;selector&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;*.md&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# loop through all files that match the selector&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; filename in $selector; &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Processing: &lt;/span&gt;$filename&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# split file name into array by the minus delimiter&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    IFS&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;-&amp;#39;&lt;/span&gt; read -r -a array &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$filename&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# check if first element of array is a number&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    re&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;^[0-9]+$&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;array[0]&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;~ $re &lt;span style=&#34;color:#f92672&#34;&gt;]]&lt;/span&gt; ; &lt;span style=&#34;color:#66d9ef&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        directory&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;array[0]&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;/&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;array[1]&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;/&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;array[2]&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# create a subfolder for the year, month and date&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Create directory: &lt;/span&gt;$directory&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        mkdir -p &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$directory&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# create new filename&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        newfilename&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;echo $filename | cut -c12-999&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# move the file&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        echo &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Move file to new directory and name it: &lt;/span&gt;$newfilename&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        mv $filename  &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;$directory&lt;span style=&#34;color:#e6db74&#34;&gt;/&lt;/span&gt;$newfilename&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Convert-PermalinkToSlug.sh&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Create Hugo slug from Jekyll permalink.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;selector&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;*.md&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# permalink: /2017/08/06/js-snippet-set-tallest-height-on-siblings/ -&amp;gt; slug: js-snippet-set-tallest-height-on-siblings&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i -r &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s;permalink: /[0-9]{4}/[0-9]{2}/[0-9]{2}/([^/]+)/;slug: \1;g&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;metadata-cleanup&#34;&gt;Metadata Cleanup&lt;/h2&gt;&#xA;&lt;p&gt;The jekyll export posts and pages contain metadata that is not required for hugo. Below are the commands to get rid of the unsupported metadata.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;selector&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;*.md&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# remove id property &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/^id: .*/d&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# remove layout property&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/^layout: .*/d&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# remove guid property&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/^guid: .*/d&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# remove disqus id property&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/^dsq_thread_id:/d&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/  - \&amp;#34;[0-9]\{10\}\&amp;#34;/d&amp;#39;&lt;/span&gt; $selector&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;not-covered&#34;&gt;Not Covered&lt;/h2&gt;&#xA;&lt;p&gt;To get the site up and running I had to fix quite a lot of stuff. Here is a list of thing I did not cover in this guide:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Rename some page titles equal to their file name&lt;/li&gt;&#xA;&lt;li&gt;Convert shortcodes that could not be regexed&lt;/li&gt;&#xA;&lt;li&gt;Delete posts&lt;/li&gt;&#xA;&lt;li&gt;Fix posts&lt;/li&gt;&#xA;&lt;li&gt;Copy Wordpress post drafts manually&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;In addition there are problems for which I have not found a suitable solution yet:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;IFTTT migration&lt;/li&gt;&#xA;&lt;li&gt;Broken link checker&lt;/li&gt;&#xA;&lt;li&gt;Soundcloud shortcode&lt;/li&gt;&#xA;&lt;li&gt;Search function&lt;/li&gt;&#xA;&lt;li&gt;Theme customization&lt;/li&gt;&#xA;&lt;li&gt;Jetpack mailing lists&lt;/li&gt;&#xA;&lt;li&gt;Featured post images&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;But I&amp;rsquo;m definitely going to tackle them in the near future.&lt;/p&gt;&#xA;&lt;h1 id=&#34;conclusion&#34;&gt;Conclusion&lt;/h1&gt;&#xA;&lt;p&gt;The preparation and execution of this Wordpress migration took me a while. Around 20 hours I assume. Not only I&amp;rsquo;ve learned about regex and its flavors, but also about about the common use cases for static websites. I&amp;rsquo;m glad the migration worked out well. There are still a lot things I have to work out, but I assume this is a good start.&lt;/p&gt;&#xA;&lt;p&gt;Thanks your Wordpress for the good times 👍&lt;/p&gt;</description>
    </item>
    <item>
      <title>Add Piwik tracking code to your Koken site</title>
      <link>https://janikvonrotz.ch/2015/08/19/add-piwik-tracking-code-to-your-koken-site/</link>
      <pubDate>Wed, 19 Aug 2015 08:38:41 +0000</pubDate>
      <guid>https://janikvonrotz.ch/2015/08/19/add-piwik-tracking-code-to-your-koken-site/</guid>
      <description>&lt;p&gt;Sadly there&amp;rsquo;s no native Piwik plugin for the Koken photography CMS.&#xA;However you can use another plugin the inject the tracking code to the footer of your site.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Install the &lt;strong&gt;HTML Injector&lt;/strong&gt; plugin (Site &amp;gt; Settings &amp;gt; Plugin &amp;gt; Download Plugins).&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Enable&lt;/strong&gt; the &lt;strong&gt;plugin&lt;/strong&gt; (Site &amp;gt; Settings &amp;gt; Plugin &amp;gt; HTML injector &amp;gt; Enable).&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Setup&lt;/strong&gt; the &lt;strong&gt;plugin&lt;/strong&gt; (Site &amp;gt; Settings &amp;gt; Plugin &amp;gt; HTML injector &amp;gt; Setup).&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Copy&lt;/strong&gt; the &lt;strong&gt;tracking code&lt;/strong&gt; of your Piwik site (Piwik &amp;gt; Administration &amp;gt; Websites &amp;gt; [site] &amp;gt; View Tracking code).&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Paste&lt;/strong&gt; the &lt;strong&gt;code&lt;/strong&gt; into the &lt;strong&gt;footer field&lt;/strong&gt; and save it.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Well done, your visitors are tracked now.&lt;/p&gt;&#xA;&lt;h1 id=&#34;source&#34;&gt;Source&lt;/h1&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://lars-mielke.de/4333/piwik-integration-in-koken/&#34;&gt;lars-mielke.de - Piwik Integration in Koken&lt;/a&gt;&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>WordPress checklist</title>
      <link>https://janikvonrotz.ch/2015/06/05/wordpress-checklist/</link>
      <pubDate>Fri, 05 Jun 2015 06:54:03 +0000</pubDate>
      <guid>https://janikvonrotz.ch/2015/06/05/wordpress-checklist/</guid>
      <description>&lt;p&gt;Simple todo list for new WordPress websites. I&amp;rsquo;ll use it whenever I have to setup a new WordPress site.&#xA;You&amp;rsquo;re welcome to contribute: &lt;a href=&#34;https://codeberg.org/janikvonrotz/wordpress-checklist&#34;&gt;https://codeberg.org/janikvonrotz/wordpress-checklist&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;wordpress-installation&#34;&gt;WordPress installation&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Install Wordpess&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Change admin username&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Store password&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Set mail: &lt;a href=&#34;mailto:hostmaster@example.com&#34;&gt;hostmaster@example.com&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Add template and delete unused templates&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Disable pingbacks and trackbacks (uncheck Allow link notifications from other blogs)&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Update Perma Link Structure to day and anme: /%year%/%monthnum%/%day%/%postname%/&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Update site info&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; title&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; description&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Update administrator&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; First and lastname&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Disable visual editor&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Add customer user&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; username: firstnamelastname&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a href=&#34;mailto:login@example.com&#34;&gt;login@example.com&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Delete default content&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; page&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; post&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; comments&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; default plugins&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Add example content (see below)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;plugins&#34;&gt;Plugins&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Install and configure plugins&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a href=&#34;http://wordpress.org/plugins/syntaxhighlighter/&#34;&gt;SyntaxHighlighter Evolved&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a href=&#34;http://wordpress.org/plugins/disqus-comment-system/&#34;&gt;Disqus Comment System&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Enable disqus comments&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Register the website&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Enable guest commenting on disqus admin page&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a href=&#34;http://wordpress.org/plugins/backupwordpress/&#34;&gt;BackUpWordPress&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Daily 7 times at 9 o&amp;rsquo;clock&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Weekly 2 times at 10 o&amp;rsquo;clock&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a href=&#34;http://wordpress.org/plugins/wp-piwik/&#34;&gt;WP-Piwik&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Add Piwik url&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Add tracking code&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a href=&#34;http://wordpress.org/plugins/jetpack/&#34;&gt;Jetpack by WordPress.com&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Login with Wordpress.com Account&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Add Markdown support&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Enable Website-Symbol and add favicon&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Enable Monitor&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Enable Manage&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a href=&#34;https://wordpress.org/plugins/image-captcha/screenshots/&#34;&gt;Image Captcha&lt;/a&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Enable for add comments&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a href=&#34;http://wordpress.org/plugins/oembed-gist/&#34;&gt;oEmbed Gist&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a href=&#34;http://wordpress.org/plugins/sugar-calendar-lite/&#34;&gt;Sugar Events Calendar Lite&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a href=&#34;http://wordpress.org/plugins/oembed-instagram/&#34;&gt;oEmbed Instagram&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a href=&#34;https://wordpress.org/plugins/enable-media-replace/&#34;&gt;Enable Media Replace&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Install and configure optional plugins&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a href=&#34;https://wordpress.org/plugins/widgets-on-pages/&#34;&gt;Widgets on Pages&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;a href=&#34;https://wordpress.org/plugins/qtranslate-xp/&#34;&gt;qTranslate Plus&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;example-content&#34;&gt;Example content&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# This is sample content &#xA; &#xA;Lorem ipsum dolor sit amet, mel no prima tation adolescens, at has numquam elaboraret, duo ex detraxit sensibus. Audire albucius corrumpit et per, ea mel nonumy audiam verterem. Nam ad illud movet causae, mel an nostrud efficiantur. No vis tota adolescens adipiscing. Sint eloquentiam reprehendunt quo ut, cu quo feugiat fierent gloriatur. &#xA; &#xA;## Instagram Post &#xA; &#xA;http:///instagram.com/p/vNalF-BKk6/ &#xA; &#xA;http:///instagram.com/p/yohLKDRAxi/ &#xA; &#xA;## GitHub Gist code &#xA;https:///gist.github.com/janikvonrotz/11531335 &#xA; &#xA;## Syntax Highlighter &#xA;```javascript&#xA;/** &#xA; * IEMobile responsive fix &#xA; */ &#xA; &#xA;if (navigator.userAgent.match(/IEMobile/10.0/)) { &#xA;    var msViewportStyle = document.createElement(&amp;#34;style&amp;#34;); &#xA;    msViewportStyle.appendChild( &#xA;        document.createTextNode( &#xA;            &amp;#34;@-ms-viewport{width:auto!important}&amp;#34; &#xA;        ) &#xA;    ); &#xA;    document.getElementsByTagName(&amp;#34;head&amp;#34;)[0]. &#xA;        appendChild(msViewportStyle); &#xA;} &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Create WordPress admin user with sql only</title>
      <link>https://janikvonrotz.ch/2015/03/24/create-wordpress-admin-user-with-sql-only/</link>
      <pubDate>Tue, 24 Mar 2015 17:54:28 +0000</pubDate>
      <guid>https://janikvonrotz.ch/2015/03/24/create-wordpress-admin-user-with-sql-only/</guid>
      <description>&lt;p&gt;If you don&amp;rsquo;t have access to you WordPress website anymore, but still can update the MySQL database. You can easily add a new admin user with this sql script:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;USE &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;database&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;SET&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;@&lt;/span&gt;username &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;lt;username&amp;gt;&amp;#39;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;SET&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;@&lt;/span&gt;password &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; MD5(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;lt;password&amp;gt;&amp;#39;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;SET&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;@&lt;/span&gt;fullname &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;lt;Firstname Lastname&amp;gt;&amp;#39;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;SET&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;@&lt;/span&gt;email &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;lt;login@example.com&amp;gt;&amp;#39;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;SET&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;@&lt;/span&gt;url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;lt;http://example.com/&amp;gt;&amp;#39;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;INSERT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;INTO&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;wp_users&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;user_login&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;user_pass&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;user_nicename&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;user_email&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;user_url&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;user_registered&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;user_status&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;display_name&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;VALUES&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;@&lt;/span&gt;username, &lt;span style=&#34;color:#f92672&#34;&gt;@&lt;/span&gt;password, &lt;span style=&#34;color:#f92672&#34;&gt;@&lt;/span&gt;fullname, &lt;span style=&#34;color:#f92672&#34;&gt;@&lt;/span&gt;email, &lt;span style=&#34;color:#f92672&#34;&gt;@&lt;/span&gt;url, NOW(), &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;0&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;@&lt;/span&gt;fullname);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;SET&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;@&lt;/span&gt;userid &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; LAST_INSERT_ID();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;INSERT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;INTO&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;wp_usermeta&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;user_id&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;meta_key&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;meta_value&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;VALUES&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;@&lt;/span&gt;userid, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;wp_capabilities&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;a:1:{s:13:&amp;#34;administrator&amp;#34;;s:1:&amp;#34;1&amp;#34;;}&amp;#39;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;INSERT&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;INTO&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;wp_usermeta&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;user_id&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;meta_key&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;, &lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;meta_value&lt;span style=&#34;color:#f92672&#34;&gt;`&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;VALUES&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;@&lt;/span&gt;userid, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;wp_user_level&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;10&amp;#39;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Get the latest version of this snippet here: &lt;a href=&#34;https://gist.github.com/25d9f243fc20532cb1b5&#34;&gt;https://gist.github.com/25d9f243fc20532cb1b5&lt;/a&gt;&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Manage multiple WordPress sites with Jetpack</title>
      <link>https://janikvonrotz.ch/2014/12/19/manage-multiple-wordpress-sites-with-jetpack/</link>
      <pubDate>Fri, 19 Dec 2014 12:05:02 +0000</pubDate>
      <guid>https://janikvonrotz.ch/2014/12/19/manage-multiple-wordpress-sites-with-jetpack/</guid>
      <description>&lt;p&gt;Hurray, WordPress 4.1 and the Jetpack Plugin 3.3 has been released.&#xA;Jetpack is a must have plugin for your WordPress site, it offers tons of new functions and integrates your blog neatly with your Wordpress.com account. If you haven&amp;rsquo;t already installed it, head right now to your plugin manager!&#xA;With the last Update the developer have added a great feature. It&amp;rsquo;s now possible to manage the plugins for multiple Wordpress sites at one location.&#xA;Here&amp;rsquo;s a screenshot, which shows the plugins admin panel of Wordpress.com.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://janikvonrotz.ch/wp-content/uploads/2014/12/Automatic-Plugin-Update-for-Multiple-WordPress-sites.png&#34; alt=&#34;Automatic Plugin Update for Multiple WordPress sites&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Change the settings to autoupdate and you never have to bother about it again.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
