Rebuild website
diff --git a/content/blog/feed.xml b/content/blog/feed.xml
index a77152d..4f96e80 100644
--- a/content/blog/feed.xml
+++ b/content/blog/feed.xml
@@ -13,7 +13,7 @@
 <p>In the following sections, we describe how to integrate Kafka, MySQL, Elasticsearch, and Kibana with Flink SQL to analyze e-commerce user behavior in real-time. All exercises in this blogpost are performed in the Flink SQL CLI, and the entire process uses standard SQL syntax, without a single line of Java/Scala code or IDE installation. The final result of this demo is shown in the following figure:</p>
 
 <center>
-<img src="/img/blog/2020-05-03-flink-sql-demo/image1.gif" width="650px" alt="Demo Overview" />
+<img src="/img/blog/2020-07-28-flink-sql-demo/image1.gif" width="650px" alt="Demo Overview" />
 </center>
 <p><br /></p>
 
@@ -5125,7 +5125,7 @@
 <description>&lt;p&gt;In this series of blog posts you will learn about three powerful Flink patterns for building streaming applications:&lt;/p&gt;
 
 &lt;ul&gt;
-  &lt;li&gt;Dynamic updates of application logic&lt;/li&gt;
+  &lt;li&gt;&lt;a href=&quot;/news/2020/03/24/demo-fraud-detection-2.html&quot;&gt;Dynamic updates of application logic&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;Dynamic data partitioning (shuffle), controlled at runtime&lt;/li&gt;
   &lt;li&gt;Low latency alerting based on custom windowing logic (without using the window API)&lt;/li&gt;
 &lt;/ul&gt;
@@ -5325,7 +5325,7 @@
 &lt;/center&gt;
 &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
 
-&lt;p&gt;In the next article, we will see how Flink’s broadcast streams can be utilized to help steer the processing within the Fraud Detection engine at runtime (Dynamic Application Updates pattern).&lt;/p&gt;
+&lt;p&gt;In the &lt;a href=&quot;/news/2020/03/24/demo-fraud-detection-2.html&quot;&gt;next article&lt;/a&gt;, we will see how Flink’s broadcast streams can be utilized to help steer the processing within the Fraud Detection engine at runtime (Dynamic Application Updates pattern).&lt;/p&gt;
 </description>
 <pubDate>Wed, 15 Jan 2020 13:00:00 +0100</pubDate>
 <link>https://flink.apache.org/news/2020/01/15/demo-fraud-detection.html</link>
diff --git a/content/news/2020/01/15/demo-fraud-detection.html b/content/news/2020/01/15/demo-fraud-detection.html
index 22fe277..dcb51b4 100644
--- a/content/news/2020/01/15/demo-fraud-detection.html
+++ b/content/news/2020/01/15/demo-fraud-detection.html
@@ -200,7 +200,7 @@
 <p>In this series of blog posts you will learn about three powerful Flink patterns for building streaming applications:</p>
 
 <ul>
-  <li>Dynamic updates of application logic</li>
+  <li><a href="/news/2020/03/24/demo-fraud-detection-2.html">Dynamic updates of application logic</a></li>
   <li>Dynamic data partitioning (shuffle), controlled at runtime</li>
   <li>Low latency alerting based on custom windowing logic (without using the window API)</li>
 </ul>
@@ -400,7 +400,7 @@
 </center>
 <p><br /></p>
 
-<p>In the next article, we will see how Flink’s broadcast streams can be utilized to help steer the processing within the Fraud Detection engine at runtime (Dynamic Application Updates pattern).</p>
+<p>In the <a href="/news/2020/03/24/demo-fraud-detection-2.html">next article</a>, we will see how Flink’s broadcast streams can be utilized to help steer the processing within the Fraud Detection engine at runtime (Dynamic Application Updates pattern).</p>
 
       </article>
     </div>