This is an automated email from the ASF dual-hosted git repository.

kamilbregula pushed a commit to branch aip-11
in repository https://gitbox.apache.org/repos/asf/airflow-site.git


The following commit(s) were added to refs/heads/aip-11 by this push:
     new 60b35fd  Add blogpost page and markdown styles (#83)
60b35fd is described below

commit 60b35fd3778fd5770a547850c1f11f07d376f36a
Author: Kamil Gabryjelski <[email protected]>
AuthorDate: Sat Oct 26 07:20:49 2019 +0200

    Add blogpost page and markdown styles (#83)
---
 .../assets/scss/{_blog.scss => _blog-page.scss}    | 57 +++++++++++++++++++---
 .../{_paragraph.scss => _markdown-content.scss}    | 25 ++++++++--
 landing-pages/site/assets/scss/main-custom.scss    |  6 +--
 landing-pages/site/config.toml                     | 28 +++++++----
 .../Its-a-breeze-to-develop-apache-airflow.html    |  8 ---
 .../blog/Its-a-breeze-to-develop-apache-airflow.md | 38 +++++++++++++++
 .../Its-a-breeze-to-develop-apache-airflow2.html   |  8 ---
 .../Its-a-breeze-to-develop-apache-airflow2.md     | 38 +++++++++++++++
 .../Its-a-breeze-to-develop-apache-airflow3.html   |  8 ---
 .../Its-a-breeze-to-develop-apache-airflow3.md     | 38 +++++++++++++++
 .../Its-a-breeze-to-develop-apache-airflow4.html   |  8 ---
 .../Its-a-breeze-to-develop-apache-airflow4.md     | 38 +++++++++++++++
 .../Its-a-breeze-to-develop-apache-airflow5.html   |  8 ---
 .../Its-a-breeze-to-develop-apache-airflow5.md     | 38 +++++++++++++++
 .../content/en/case-studies/example-case1.html     | 27 ----------
 .../site/content/en/case-studies/example-case1.md  | 23 +++++++++
 .../content/en/case-studies/example-case2.html     | 27 ----------
 .../site/content/en/case-studies/example-case2.md  | 23 +++++++++
 .../content/en/case-studies/example-case3.html     | 27 ----------
 .../site/content/en/case-studies/example-case3.md  | 23 +++++++++
 .../content/en/case-studies/example-case4.html     | 27 ----------
 .../site/content/en/case-studies/example-case4.md  | 23 +++++++++
 .../content/en/case-studies/example-case5.html     | 27 ----------
 .../site/content/en/case-studies/example-case5.md  | 23 +++++++++
 .../content/en/case-studies/example-case6.html     | 27 ----------
 .../site/content/en/case-studies/example-case6.md  | 23 +++++++++
 .../layouts/{case-studies => blog}/content.html    | 15 ++++--
 .../paragraph.html => blog/single.html}            |  8 ++-
 .../site/layouts/case-studies/content.html         |  7 ++-
 .../content.html => partials/blog-pager.html}      | 20 ++++++--
 30 files changed, 459 insertions(+), 237 deletions(-)

diff --git a/landing-pages/site/assets/scss/_blog.scss 
b/landing-pages/site/assets/scss/_blog-page.scss
similarity index 50%
rename from landing-pages/site/assets/scss/_blog.scss
rename to landing-pages/site/assets/scss/_blog-page.scss
index 696d145..0c6f581 100644
--- a/landing-pages/site/assets/scss/_blog.scss
+++ b/landing-pages/site/assets/scss/_blog-page.scss
@@ -17,14 +17,59 @@
  * under the License.
  */
 
+@import "colors";
+
 .tag {
-  // TODO(kgabryje): when using @extend .bodytext__medium--cerulean-blue, scss 
builds stylesheet but throws errors
-  font-family: "Roboto", sans-serif;
-  font-weight: 400;
-  font-size: 16px;
-  line-height: 1.63;
-  color: #017cee;
+  @extend .bodytext__medium--cerulean-blue;
   background-color: #d9ebfc; // cerulean-blue + opacity 0.15
   padding: 1px 30px;
+  margin-right: 10px;
   border-radius: 5px;
 }
+
+.blogpost-content {
+  max-width: 790px;
+  margin: 0 auto;
+
+  &--header-wrapper {
+    border-bottom: solid 1px map-get($colors, very-light-pink);
+  }
+
+  &__metadata {
+    &--container {
+      display: flex;
+      flex-wrap: wrap;
+      justify-content: space-between;
+      margin-bottom: 30px;
+    }
+
+    &--title {
+      @extend .header__small--greyish-brown;
+      margin-bottom: 20px;
+    }
+
+    &--author {
+      @extend .bodytext__medium--cerulean-blue;
+      font-weight: 500;
+      margin-bottom: 30px;
+    }
+
+    &--description {
+      @extend .subtitle__large--brownish-grey;
+      font-weight: normal;
+      margin-bottom: 30px;
+    }
+  }
+}
+
+.blog-pager {
+  margin-top: 60px;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+
+  .pager {
+    margin-top: 40px;
+    justify-content: center
+  }
+}
diff --git a/landing-pages/site/assets/scss/_paragraph.scss 
b/landing-pages/site/assets/scss/_markdown-content.scss
similarity index 69%
rename from landing-pages/site/assets/scss/_paragraph.scss
rename to landing-pages/site/assets/scss/_markdown-content.scss
index 70717d2..5d9bd32 100644
--- a/landing-pages/site/assets/scss/_paragraph.scss
+++ b/landing-pages/site/assets/scss/_markdown-content.scss
@@ -17,14 +17,31 @@
  * under the License.
  */
 
-.paragraph {
-  &--header {
+@import "colors";
+
+.markdown-content {
+  h1, h2, h3, h4, h5 {
     @extend .subtitle__large--greyish-brown;
     margin-top: 40px;
+    margin-bottom: 20px;
   }
 
-  &--text {
+  p, span {
     @extend .bodytext__medium--brownish-grey;
-    margin-top: 20px;
+    margin-bottom: 30px;
+  }
+
+  pre {
+    margin: 40px 0;
+    padding: 16px 20px;
+    background-color: transparent !important;
+    border: solid 1px map-get($colors, very-light-pink);
+    border-radius: 5px;
+    width: fit-content;
+    max-width: 100%;
+
+    span {
+      @extend .monotext--brownish-grey;
+    }
   }
 }
diff --git a/landing-pages/site/assets/scss/main-custom.scss 
b/landing-pages/site/assets/scss/main-custom.scss
index f39eef6..bcf14f7 100644
--- a/landing-pages/site/assets/scss/main-custom.scss
+++ b/landing-pages/site/assets/scss/main-custom.scss
@@ -18,7 +18,7 @@
  */
 
 @import url('https://fonts.googleapis.com/css?family=Rubik:500&display=swap');
-@import 
url('https://fonts.googleapis.com/css?family=Roboto:400,500,700&display=swap');
+@import 
url('https://fonts.googleapis.com/css?family=Roboto:400,400i,500,700&display=swap');
 @import 
url('https://fonts.googleapis.com/css?family=Roboto+Mono&display=swap');
 
 @import "typography";
@@ -30,9 +30,9 @@
 @import "quote";
 @import "pager";
 @import "case-study";
-@import "paragraph";
+@import "markdown-content";
 @import "base-layout";
 @import "feature";
 @import "text-with-icon";
 @import "video";
-@import "blog";
+@import "blog-page";
diff --git a/landing-pages/site/config.toml b/landing-pages/site/config.toml
index 60a6dfe..557b916 100644
--- a/landing-pages/site/config.toml
+++ b/landing-pages/site/config.toml
@@ -33,16 +33,7 @@ defaultContentLanguageInSubdir = false
 # Useful when translating.
 enableMissingTranslationPlaceholders = true
 
-disableKinds = []
-
-# Highlighting config
-pygmentsCodeFences = true
-pygmentsUseClasses = false
-# Use the new Chroma Go highlighter in Hugo.
-pygmentsUseClassic = false
-#pygmentsOptions = "linenos=table"
-# See https://help.farbox.com/pygments.html
-pygmentsStyle = "tango"
+pygmentsStyle = "vs"
 
 ## Configuration for BlackFriday markdown parser: 
https://github.com/russross/blackfriday
 [blackfriday]
@@ -160,3 +151,20 @@ no = 'Sorry to hear that. Please <a 
href="https://github.com/USERNAME/REPOSITORY
     url = "https://example.org/mail";
     icon = "fa fa-envelope"
     desc = "Discuss development issues around the project"
+
+[related]
+threshold = 50.0
+includeNewer = true
+toLower = false
+
+  [[related.indices]]
+  name = "keywords"
+  weight = 100.0
+
+  [[related.indices]]
+  name = "tags"
+  weight = 80.0
+
+  [[related.indices]]
+  name = "author"
+  weight = 50.0
diff --git 
a/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow.html
 
b/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow.html
deleted file mode 100644
index fea2e72..0000000
--- 
a/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow.html
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: "It's a breeze to develop Apache Airflow"
-linkTitle: "It's a breeze to develop Apache Airflow"
-author: "Jarek Potiuk"
-description: "Working on an Open Source project such as Apache Airflow is very 
demanding but also equally rewarding when you realize how many businesses use 
it every day."
-tags: ["Community"]
-date: 2019-09-24
----
diff --git 
a/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow.md 
b/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow.md
new file mode 100644
index 0000000..cf7c326
--- /dev/null
+++ 
b/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow.md
@@ -0,0 +1,38 @@
+---
+title: "It's a breeze to develop Apache Airflow"
+linkTitle: "It's a breeze to develop Apache Airflow"
+author: "Jarek Potiuk"
+description: "Working on an Open Source project such as Apache Airflow is very 
demanding but also equally rewarding when you realize how many businesses use 
it every day."
+tags: ["Community"]
+date: 2019-09-24
+---
+
+##### My journey to developer productivity
+It started at the beginning of my career with my older and more experienced 
colleague—one of the first “real” software engineers I had interacted with by 
then. I learned a lot from him. I specifically remember him saying: “When I 
develop code, I spend the first half of my time on developing tools to make my 
work 10x faster—that’s the key reason why I always deliver on time.” His words 
stuck with me. I’ve been a part of many successful projects in my career but 
they pretty much always loo [...]
+
+As an All-Stack-Engineer, I believe the best use of my time is to put my 
efforts not only to the code that I deliver but mainly to develop all the 
tools, DevOps setup, continuous integration, automated code analysis and 
everything essential for the developers. The best-case scenario is when your 
developers can use them independently and you don’t need to worry about them.
+
+{{< highlight js >}}
+// Synchronize user data and set up
+var currentUser = new Talk.User({
+    id: 79302,                      // user id
+    name: "George Looney",          // full name
+    email: "[email protected]"      // for offline email fallback
+});
+var session = new Talk.Session({
+    appId: "9352938974",            // your TalkJS account id
+    me: currentUser                 // make George the active user
+});
+{{< /highlight >}}
+
+##### What do I mean by productivity
+How do you define productivity though? And how can you measure it? I have a 
possibly surprising answer—it’s not about a number of lines of code you’ve 
written or features you’ve delivered. Productivity is something rather 
different. It’s all about focusing on the present and the future rather than 
the past. Productivity is more of a bet that in the future your team will be 
able to deliver more at the same time. It has way more to do with your 
perceived speed and enjoying work as a develo [...]
+
+I could think of a number of projects where I followed that philosophy of work 
and where it boosted the productivity of my team. Today, however, I’d like to 
focus on Apache Airflow.
+
+##### The Apache Airflow project’s setup
+Initially, we started contributing to this fantastic open-source project with 
a team of three which then grew to five. When we kicked it off a year ago, I 
realized pretty soon where the biggest bottlenecks and areas for improvement in 
terms of productivity were. Even with the help of our client, who provided us 
with a “homegrown” development environment it took us literally days to set it 
up and learn some basics.
+
+Apache Airflow is a thoroughly tested project—it has almost 4,000 tests with 
around 80% coverage and varying complexity (from simple unit tests to 
end-to-end system tests). Airflow follows a modern software project philosophy: 
every single Pull Request can only be merged if all the tests pass. But that 
creates another problem—having to run all the tests for all the backends (there 
are 3 of them) and different python versions. At the time of starting the 
project we still supported 2.7, 3. [...]
+
+This is hardly acceptable to any developer. Usually you can work on several 
issues in parallel. Such waiting is not the worst thing that can happen, but 
there are always costs of context-switching, distractions, getting out of the 
flow and the good old “I already forgot what I was doing” phase by the time the 
build is completed. It’s even worse when you want to make a small Pull Request. 
For example, when you find a bug and have just one line of fix for it. You 
submit the Pull Request an [...]
diff --git 
a/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow2.html
 
b/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow2.html
deleted file mode 100644
index d8bb438..0000000
--- 
a/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow2.html
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: "It's a breeze to develop Apache Airflow"
-linkTitle: "It's a breeze to develop Apache Airflow"
-author: "Jarek Potiuk"
-description: "Working on an Open Source project such as Apache Airflow is very 
demanding but also equally rewarding when you realize how many businesses use 
it every day."
-tags: ["Development"]
-date: 2019-09-24
----
diff --git 
a/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow2.md 
b/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow2.md
new file mode 100644
index 0000000..f1984c3
--- /dev/null
+++ 
b/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow2.md
@@ -0,0 +1,38 @@
+---
+title: "It's a breeze to develop Apache Airflow"
+linkTitle: "It's a breeze to develop Apache Airflow"
+author: "Jarek Potiuk"
+description: "Working on an Open Source project such as Apache Airflow is very 
demanding but also equally rewarding when you realize how many businesses use 
it every day."
+tags: ["Development"]
+date: 2019-09-24
+---
+
+##### My journey to developer productivity
+It started at the beginning of my career with my older and more experienced 
colleague—one of the first “real” software engineers I had interacted with by 
then. I learned a lot from him. I specifically remember him saying: “When I 
develop code, I spend the first half of my time on developing tools to make my 
work 10x faster—that’s the key reason why I always deliver on time.” His words 
stuck with me. I’ve been a part of many successful projects in my career but 
they pretty much always loo [...]
+
+As an All-Stack-Engineer, I believe the best use of my time is to put my 
efforts not only to the code that I deliver but mainly to develop all the 
tools, DevOps setup, continuous integration, automated code analysis and 
everything essential for the developers. The best-case scenario is when your 
developers can use them independently and you don’t need to worry about them.
+
+{{< highlight js >}}
+// Synchronize user data and set up
+var currentUser = new Talk.User({
+    id: 79302,                      // user id
+    name: "George Looney",          // full name
+    email: "[email protected]"      // for offline email fallback
+});
+var session = new Talk.Session({
+    appId: "9352938974",            // your TalkJS account id
+    me: currentUser                 // make George the active user
+});
+{{< /highlight >}}
+
+##### What do I mean by productivity
+How do you define productivity though? And how can you measure it? I have a 
possibly surprising answer—it’s not about a number of lines of code you’ve 
written or features you’ve delivered. Productivity is something rather 
different. It’s all about focusing on the present and the future rather than 
the past. Productivity is more of a bet that in the future your team will be 
able to deliver more at the same time. It has way more to do with your 
perceived speed and enjoying work as a develo [...]
+
+I could think of a number of projects where I followed that philosophy of work 
and where it boosted the productivity of my team. Today, however, I’d like to 
focus on Apache Airflow.
+
+##### The Apache Airflow project’s setup
+Initially, we started contributing to this fantastic open-source project with 
a team of three which then grew to five. When we kicked it off a year ago, I 
realized pretty soon where the biggest bottlenecks and areas for improvement in 
terms of productivity were. Even with the help of our client, who provided us 
with a “homegrown” development environment it took us literally days to set it 
up and learn some basics.
+
+Apache Airflow is a thoroughly tested project—it has almost 4,000 tests with 
around 80% coverage and varying complexity (from simple unit tests to 
end-to-end system tests). Airflow follows a modern software project philosophy: 
every single Pull Request can only be merged if all the tests pass. But that 
creates another problem—having to run all the tests for all the backends (there 
are 3 of them) and different python versions. At the time of starting the 
project we still supported 2.7, 3. [...]
+
+This is hardly acceptable to any developer. Usually you can work on several 
issues in parallel. Such waiting is not the worst thing that can happen, but 
there are always costs of context-switching, distractions, getting out of the 
flow and the good old “I already forgot what I was doing” phase by the time the 
build is completed. It’s even worse when you want to make a small Pull Request. 
For example, when you find a bug and have just one line of fix for it. You 
submit the Pull Request an [...]
diff --git 
a/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow3.html
 
b/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow3.html
deleted file mode 100644
index a4970ab..0000000
--- 
a/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow3.html
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: "It's a breeze to develop Apache Airflow"
-linkTitle: "It's a breeze to develop Apache Airflow"
-author: "Jarek Potiuk"
-description: "Working on an Open Source project such as Apache Airflow is very 
demanding but also equally rewarding when you realize how many businesses use 
it every day."
-tags: ["Python"]
-date: 2019-09-24
----
diff --git 
a/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow3.md 
b/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow3.md
new file mode 100644
index 0000000..2e49886
--- /dev/null
+++ 
b/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow3.md
@@ -0,0 +1,38 @@
+---
+title: "It's a breeze to develop Apache Airflow"
+linkTitle: "It's a breeze to develop Apache Airflow"
+author: "Jarek Potiuk"
+description: "Working on an Open Source project such as Apache Airflow is very 
demanding but also equally rewarding when you realize how many businesses use 
it every day."
+tags: ["Python"]
+date: 2019-09-24
+---
+
+##### My journey to developer productivity
+It started at the beginning of my career with my older and more experienced 
colleague—one of the first “real” software engineers I had interacted with by 
then. I learned a lot from him. I specifically remember him saying: “When I 
develop code, I spend the first half of my time on developing tools to make my 
work 10x faster—that’s the key reason why I always deliver on time.” His words 
stuck with me. I’ve been a part of many successful projects in my career but 
they pretty much always loo [...]
+
+As an All-Stack-Engineer, I believe the best use of my time is to put my 
efforts not only to the code that I deliver but mainly to develop all the 
tools, DevOps setup, continuous integration, automated code analysis and 
everything essential for the developers. The best-case scenario is when your 
developers can use them independently and you don’t need to worry about them.
+
+{{< highlight js >}}
+// Synchronize user data and set up
+var currentUser = new Talk.User({
+    id: 79302,                      // user id
+    name: "George Looney",          // full name
+    email: "[email protected]"      // for offline email fallback
+});
+var session = new Talk.Session({
+    appId: "9352938974",            // your TalkJS account id
+    me: currentUser                 // make George the active user
+});
+{{< /highlight >}}
+
+##### What do I mean by productivity
+How do you define productivity though? And how can you measure it? I have a 
possibly surprising answer—it’s not about a number of lines of code you’ve 
written or features you’ve delivered. Productivity is something rather 
different. It’s all about focusing on the present and the future rather than 
the past. Productivity is more of a bet that in the future your team will be 
able to deliver more at the same time. It has way more to do with your 
perceived speed and enjoying work as a develo [...]
+
+I could think of a number of projects where I followed that philosophy of work 
and where it boosted the productivity of my team. Today, however, I’d like to 
focus on Apache Airflow.
+
+##### The Apache Airflow project’s setup
+Initially, we started contributing to this fantastic open-source project with 
a team of three which then grew to five. When we kicked it off a year ago, I 
realized pretty soon where the biggest bottlenecks and areas for improvement in 
terms of productivity were. Even with the help of our client, who provided us 
with a “homegrown” development environment it took us literally days to set it 
up and learn some basics.
+
+Apache Airflow is a thoroughly tested project—it has almost 4,000 tests with 
around 80% coverage and varying complexity (from simple unit tests to 
end-to-end system tests). Airflow follows a modern software project philosophy: 
every single Pull Request can only be merged if all the tests pass. But that 
creates another problem—having to run all the tests for all the backends (there 
are 3 of them) and different python versions. At the time of starting the 
project we still supported 2.7, 3. [...]
+
+This is hardly acceptable to any developer. Usually you can work on several 
issues in parallel. Such waiting is not the worst thing that can happen, but 
there are always costs of context-switching, distractions, getting out of the 
flow and the good old “I already forgot what I was doing” phase by the time the 
build is completed. It’s even worse when you want to make a small Pull Request. 
For example, when you find a bug and have just one line of fix for it. You 
submit the Pull Request an [...]
diff --git 
a/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow4.html
 
b/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow4.html
deleted file mode 100644
index fea2e72..0000000
--- 
a/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow4.html
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: "It's a breeze to develop Apache Airflow"
-linkTitle: "It's a breeze to develop Apache Airflow"
-author: "Jarek Potiuk"
-description: "Working on an Open Source project such as Apache Airflow is very 
demanding but also equally rewarding when you realize how many businesses use 
it every day."
-tags: ["Community"]
-date: 2019-09-24
----
diff --git 
a/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow4.md 
b/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow4.md
new file mode 100644
index 0000000..cf7c326
--- /dev/null
+++ 
b/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow4.md
@@ -0,0 +1,38 @@
+---
+title: "It's a breeze to develop Apache Airflow"
+linkTitle: "It's a breeze to develop Apache Airflow"
+author: "Jarek Potiuk"
+description: "Working on an Open Source project such as Apache Airflow is very 
demanding but also equally rewarding when you realize how many businesses use 
it every day."
+tags: ["Community"]
+date: 2019-09-24
+---
+
+##### My journey to developer productivity
+It started at the beginning of my career with my older and more experienced 
colleague—one of the first “real” software engineers I had interacted with by 
then. I learned a lot from him. I specifically remember him saying: “When I 
develop code, I spend the first half of my time on developing tools to make my 
work 10x faster—that’s the key reason why I always deliver on time.” His words 
stuck with me. I’ve been a part of many successful projects in my career but 
they pretty much always loo [...]
+
+As an All-Stack-Engineer, I believe the best use of my time is to put my 
efforts not only to the code that I deliver but mainly to develop all the 
tools, DevOps setup, continuous integration, automated code analysis and 
everything essential for the developers. The best-case scenario is when your 
developers can use them independently and you don’t need to worry about them.
+
+{{< highlight js >}}
+// Synchronize user data and set up
+var currentUser = new Talk.User({
+    id: 79302,                      // user id
+    name: "George Looney",          // full name
+    email: "[email protected]"      // for offline email fallback
+});
+var session = new Talk.Session({
+    appId: "9352938974",            // your TalkJS account id
+    me: currentUser                 // make George the active user
+});
+{{< /highlight >}}
+
+##### What do I mean by productivity
+How do you define productivity though? And how can you measure it? I have a 
possibly surprising answer—it’s not about a number of lines of code you’ve 
written or features you’ve delivered. Productivity is something rather 
different. It’s all about focusing on the present and the future rather than 
the past. Productivity is more of a bet that in the future your team will be 
able to deliver more at the same time. It has way more to do with your 
perceived speed and enjoying work as a develo [...]
+
+I could think of a number of projects where I followed that philosophy of work 
and where it boosted the productivity of my team. Today, however, I’d like to 
focus on Apache Airflow.
+
+##### The Apache Airflow project’s setup
+Initially, we started contributing to this fantastic open-source project with 
a team of three which then grew to five. When we kicked it off a year ago, I 
realized pretty soon where the biggest bottlenecks and areas for improvement in 
terms of productivity were. Even with the help of our client, who provided us 
with a “homegrown” development environment it took us literally days to set it 
up and learn some basics.
+
+Apache Airflow is a thoroughly tested project—it has almost 4,000 tests with 
around 80% coverage and varying complexity (from simple unit tests to 
end-to-end system tests). Airflow follows a modern software project philosophy: 
every single Pull Request can only be merged if all the tests pass. But that 
creates another problem—having to run all the tests for all the backends (there 
are 3 of them) and different python versions. At the time of starting the 
project we still supported 2.7, 3. [...]
+
+This is hardly acceptable to any developer. Usually you can work on several 
issues in parallel. Such waiting is not the worst thing that can happen, but 
there are always costs of context-switching, distractions, getting out of the 
flow and the good old “I already forgot what I was doing” phase by the time the 
build is completed. It’s even worse when you want to make a small Pull Request. 
For example, when you find a bug and have just one line of fix for it. You 
submit the Pull Request an [...]
diff --git 
a/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow5.html
 
b/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow5.html
deleted file mode 100644
index fea2e72..0000000
--- 
a/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow5.html
+++ /dev/null
@@ -1,8 +0,0 @@
----
-title: "It's a breeze to develop Apache Airflow"
-linkTitle: "It's a breeze to develop Apache Airflow"
-author: "Jarek Potiuk"
-description: "Working on an Open Source project such as Apache Airflow is very 
demanding but also equally rewarding when you realize how many businesses use 
it every day."
-tags: ["Community"]
-date: 2019-09-24
----
diff --git 
a/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow5.md 
b/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow5.md
new file mode 100644
index 0000000..cf7c326
--- /dev/null
+++ 
b/landing-pages/site/content/en/blog/Its-a-breeze-to-develop-apache-airflow5.md
@@ -0,0 +1,38 @@
+---
+title: "It's a breeze to develop Apache Airflow"
+linkTitle: "It's a breeze to develop Apache Airflow"
+author: "Jarek Potiuk"
+description: "Working on an Open Source project such as Apache Airflow is very 
demanding but also equally rewarding when you realize how many businesses use 
it every day."
+tags: ["Community"]
+date: 2019-09-24
+---
+
+##### My journey to developer productivity
+It started at the beginning of my career with my older and more experienced 
colleague—one of the first “real” software engineers I had interacted with by 
then. I learned a lot from him. I specifically remember him saying: “When I 
develop code, I spend the first half of my time on developing tools to make my 
work 10x faster—that’s the key reason why I always deliver on time.” His words 
stuck with me. I’ve been a part of many successful projects in my career but 
they pretty much always loo [...]
+
+As an All-Stack-Engineer, I believe the best use of my time is to put my 
efforts not only to the code that I deliver but mainly to develop all the 
tools, DevOps setup, continuous integration, automated code analysis and 
everything essential for the developers. The best-case scenario is when your 
developers can use them independently and you don’t need to worry about them.
+
+{{< highlight js >}}
+// Synchronize user data and set up
+var currentUser = new Talk.User({
+    id: 79302,                      // user id
+    name: "George Looney",          // full name
+    email: "[email protected]"      // for offline email fallback
+});
+var session = new Talk.Session({
+    appId: "9352938974",            // your TalkJS account id
+    me: currentUser                 // make George the active user
+});
+{{< /highlight >}}
+
+##### What do I mean by productivity
+How do you define productivity though? And how can you measure it? I have a 
possibly surprising answer—it’s not about a number of lines of code you’ve 
written or features you’ve delivered. Productivity is something rather 
different. It’s all about focusing on the present and the future rather than 
the past. Productivity is more of a bet that in the future your team will be 
able to deliver more at the same time. It has way more to do with your 
perceived speed and enjoying work as a develo [...]
+
+I could think of a number of projects where I followed that philosophy of work 
and where it boosted the productivity of my team. Today, however, I’d like to 
focus on Apache Airflow.
+
+##### The Apache Airflow project’s setup
+Initially, we started contributing to this fantastic open-source project with 
a team of three which then grew to five. When we kicked it off a year ago, I 
realized pretty soon where the biggest bottlenecks and areas for improvement in 
terms of productivity were. Even with the help of our client, who provided us 
with a “homegrown” development environment it took us literally days to set it 
up and learn some basics.
+
+Apache Airflow is a thoroughly tested project—it has almost 4,000 tests with 
around 80% coverage and varying complexity (from simple unit tests to 
end-to-end system tests). Airflow follows a modern software project philosophy: 
every single Pull Request can only be merged if all the tests pass. But that 
creates another problem—having to run all the tests for all the backends (there 
are 3 of them) and different python versions. At the time of starting the 
project we still supported 2.7, 3. [...]
+
+This is hardly acceptable to any developer. Usually you can work on several 
issues in parallel. Such waiting is not the worst thing that can happen, but 
there are always costs of context-switching, distractions, getting out of the 
flow and the good old “I already forgot what I was doing” phase by the time the 
build is completed. It’s even worse when you want to make a small Pull Request. 
For example, when you find a bug and have just one line of fix for it. You 
submit the Pull Request an [...]
diff --git a/landing-pages/site/content/en/case-studies/example-case1.html 
b/landing-pages/site/content/en/case-studies/example-case1.html
deleted file mode 100644
index 3ccaa63..0000000
--- a/landing-pages/site/content/en/case-studies/example-case1.html
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: "Example 1"
-linkTitle: "Example 1"
-quote:
-    text: "A great ecosystem and community that comes together to address 
about any batch data pipeline need."
-    author: "Austin Benett, CTO at Spotify"
-logo_path: "icons/spotify-logo.svg"
----
-
-{{< paragraph header="What was the problem?" >}}
-    We faced increasing complexity managing lengthy crontabs with scheduling 
being an issue, this required carefully planning timing due to resource 
constraints, usage patterns, and especially custom code needed for retry logic. 
 In the last case, having to verify success of previous jobs and/or steps prior 
to running the next.  Furthermore, time to results is important, but we were 
increasingly relying on buffers for processing, where things were effectively 
sitting idle and not process [...]
-{{</ paragraph >}}
-
-{{< paragraph header="How did Apache Airflow help to solve this problem?" >}}
-    Relying on community built and existing hooks and operators to the 
majority of cloud services we use has allowed us to focus
-    on business outcomes.
-{{</ paragraph >}}
-
-{{< paragraph header="What are the results?" >}}
-    Airflow helps us manage many of our pain-points, letting us benefit from 
the overall ecosystem and
-    community.  We are able to reduce time-to-end delivery of data products by 
being event-driven in our
-    processing flows (in our first usage, for example, we were able to take 
out over 2 hours - on average - of various
-    waiting between stages).  Furthermore, we are able to arrive at and 
iterate on products quicker as a result of
-    not needing as much custom or roll-our-own solutions.  For Our code base 
is smaller and simpler, it is easier to
-    follow, and to a large extent our DAGs serve as sufficient documentation 
for new contributors to understand
-    what is going on.
-{{</ paragraph >}}
diff --git a/landing-pages/site/content/en/case-studies/example-case1.md 
b/landing-pages/site/content/en/case-studies/example-case1.md
new file mode 100644
index 0000000..5c7dffb
--- /dev/null
+++ b/landing-pages/site/content/en/case-studies/example-case1.md
@@ -0,0 +1,23 @@
+---
+title: "Example 1"
+linkTitle: "Example 1"
+quote:
+    text: "A great ecosystem and community that comes together to address 
about any batch data pipeline need."
+    author: "Austin Benett, CTO at Spotify"
+logo_path: "icons/spotify-logo.svg"
+---
+
+##### What was the problem?
+We faced increasing complexity managing lengthy crontabs with scheduling being 
an issue, this required carefully planning timing due to resource constraints, 
usage patterns, and especially custom code needed for retry logic.  In the last 
case, having to verify success of previous jobs and/or steps prior to running 
the next.  Furthermore, time to results is important, but we were increasingly 
relying on buffers for processing, where things were effectively sitting idle 
and not processing, [...]
+
+##### How did Apache Airflow help to solve this problem?
+Relying on community built and existing hooks and operators to the majority of 
cloud services we use has allowed us to focus on business outcomes.
+
+##### What are the results?
+Airflow helps us manage many of our pain-points, letting us benefit from the 
overall ecosystem and
+community.  We are able to reduce time-to-end delivery of data products by 
being event-driven in our
+processing flows (in our first usage, for example, we were able to take out 
over 2 hours - on average - of various
+waiting between stages).  Furthermore, we are able to arrive at and iterate on 
products quicker as a result of
+not needing as much custom or roll-our-own solutions.  For Our code base is 
smaller and simpler, it is easier to
+follow, and to a large extent our DAGs serve as sufficient documentation for 
new contributors to understand
+what is going on.
diff --git a/landing-pages/site/content/en/case-studies/example-case2.html 
b/landing-pages/site/content/en/case-studies/example-case2.html
deleted file mode 100644
index 8556393..0000000
--- a/landing-pages/site/content/en/case-studies/example-case2.html
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: "Example 2"
-linkTitle: "Example 2"
-quote:
-    text: "A great ecosystem and community that comes together to address 
about any batch data pipeline need."
-    author: "Austin Benett, CTO at Spotify"
-logo_path: "icons/dish-logo.svg"
----
-
-{{< paragraph header="What was the problem?" >}}
-    We faced increasing complexity managing lengthy crontabs with scheduling 
being an issue, this required carefully planning timing due to resource 
constraints, usage patterns, and especially custom code needed for retry logic. 
 In the last case, having to verify success of previous jobs and/or steps prior 
to running the next.  Furthermore, time to results is important, but we were 
increasingly relying on buffers for processing, where things were effectively 
sitting idle and not process [...]
-{{</ paragraph >}}
-
-{{< paragraph header="How did Apache Airflow help to solve this problem?" >}}
-    Relying on community built and existing hooks and operators to the 
majority of cloud services we use has allowed us to focus
-    on business outcomes.
-{{</ paragraph >}}
-
-{{< paragraph header="What are the results?" >}}
-    Airflow helps us manage many of our pain-points, letting us benefit from 
the overall ecosystem and
-    community.  We are able to reduce time-to-end delivery of data products by 
being event-driven in our
-    processing flows (in our first usage, for example, we were able to take 
out over 2 hours - on average - of various
-    waiting between stages).  Furthermore, we are able to arrive at and 
iterate on products quicker as a result of
-    not needing as much custom or roll-our-own solutions.  For Our code base 
is smaller and simpler, it is easier to
-    follow, and to a large extent our DAGs serve as sufficient documentation 
for new contributors to understand
-    what is going on.
-{{</ paragraph >}}
diff --git a/landing-pages/site/content/en/case-studies/example-case2.md 
b/landing-pages/site/content/en/case-studies/example-case2.md
new file mode 100644
index 0000000..44a5b2f
--- /dev/null
+++ b/landing-pages/site/content/en/case-studies/example-case2.md
@@ -0,0 +1,23 @@
+---
+title: "Example 2"
+linkTitle: "Example 2"
+quote:
+    text: "A great ecosystem and community that comes together to address 
about any batch data pipeline need."
+    author: "Austin Benett, CTO at Spotify"
+logo_path: "icons/dish-logo.svg"
+---
+
+##### What was the problem?
+We faced increasing complexity managing lengthy crontabs with scheduling being 
an issue, this required carefully planning timing due to resource constraints, 
usage patterns, and especially custom code needed for retry logic.  In the last 
case, having to verify success of previous jobs and/or steps prior to running 
the next.  Furthermore, time to results is important, but we were increasingly 
relying on buffers for processing, where things were effectively sitting idle 
and not processing, [...]
+
+##### How did Apache Airflow help to solve this problem?
+Relying on community built and existing hooks and operators to the majority of 
cloud services we use has allowed us to focus on business outcomes.
+
+##### What are the results?
+Airflow helps us manage many of our pain-points, letting us benefit from the 
overall ecosystem and
+community.  We are able to reduce time-to-end delivery of data products by 
being event-driven in our
+processing flows (in our first usage, for example, we were able to take out 
over 2 hours - on average - of various
+waiting between stages).  Furthermore, we are able to arrive at and iterate on 
products quicker as a result of
+not needing as much custom or roll-our-own solutions.  For Our code base is 
smaller and simpler, it is easier to
+follow, and to a large extent our DAGs serve as sufficient documentation for 
new contributors to understand
+what is going on.
diff --git a/landing-pages/site/content/en/case-studies/example-case3.html 
b/landing-pages/site/content/en/case-studies/example-case3.html
deleted file mode 100644
index e3458fa..0000000
--- a/landing-pages/site/content/en/case-studies/example-case3.html
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: "Example 3"
-linkTitle: "Example 3"
-quote:
-    text: "A great ecosystem and community that comes together to address 
about any batch data pipeline need."
-    author: "Austin Benett, CTO at Spotify"
-logo_path: "icons/spotify-logo.svg"
----
-
-{{< paragraph header="What was the problem?" >}}
-    We faced increasing complexity managing lengthy crontabs with scheduling 
being an issue, this required carefully planning timing due to resource 
constraints, usage patterns, and especially custom code needed for retry logic. 
 In the last case, having to verify success of previous jobs and/or steps prior 
to running the next.  Furthermore, time to results is important, but we were 
increasingly relying on buffers for processing, where things were effectively 
sitting idle and not process [...]
-{{</ paragraph >}}
-
-{{< paragraph header="How did Apache Airflow help to solve this problem?" >}}
-    Relying on community built and existing hooks and operators to the 
majority of cloud services we use has allowed us to focus
-    on business outcomes.
-{{</ paragraph >}}
-
-{{< paragraph header="What are the results?" >}}
-    Airflow helps us manage many of our pain-points, letting us benefit from 
the overall ecosystem and
-    community.  We are able to reduce time-to-end delivery of data products by 
being event-driven in our
-    processing flows (in our first usage, for example, we were able to take 
out over 2 hours - on average - of various
-    waiting between stages).  Furthermore, we are able to arrive at and 
iterate on products quicker as a result of
-    not needing as much custom or roll-our-own solutions.  For Our code base 
is smaller and simpler, it is easier to
-    follow, and to a large extent our DAGs serve as sufficient documentation 
for new contributors to understand
-    what is going on.
-{{</ paragraph >}}
diff --git a/landing-pages/site/content/en/case-studies/example-case3.md 
b/landing-pages/site/content/en/case-studies/example-case3.md
new file mode 100644
index 0000000..84b69d7
--- /dev/null
+++ b/landing-pages/site/content/en/case-studies/example-case3.md
@@ -0,0 +1,23 @@
+---
+title: "Example 3"
+linkTitle: "Example 3"
+quote:
+    text: "A great ecosystem and community that comes together to address 
about any batch data pipeline need."
+    author: "Austin Benett, CTO at Spotify"
+logo_path: "icons/spotify-logo.svg"
+---
+
+##### What was the problem?
+We faced increasing complexity managing lengthy crontabs with scheduling being 
an issue, this required carefully planning timing due to resource constraints, 
usage patterns, and especially custom code needed for retry logic.  In the last 
case, having to verify success of previous jobs and/or steps prior to running 
the next.  Furthermore, time to results is important, but we were increasingly 
relying on buffers for processing, where things were effectively sitting idle 
and not processing, [...]
+
+##### How did Apache Airflow help to solve this problem?
+Relying on community built and existing hooks and operators to the majority of 
cloud services we use has allowed us to focus on business outcomes.
+
+##### What are the results?
+Airflow helps us manage many of our pain-points, letting us benefit from the 
overall ecosystem and
+community.  We are able to reduce time-to-end delivery of data products by 
being event-driven in our
+processing flows (in our first usage, for example, we were able to take out 
over 2 hours - on average - of various
+waiting between stages).  Furthermore, we are able to arrive at and iterate on 
products quicker as a result of
+not needing as much custom or roll-our-own solutions.  For Our code base is 
smaller and simpler, it is easier to
+follow, and to a large extent our DAGs serve as sufficient documentation for 
new contributors to understand
+what is going on.
diff --git a/landing-pages/site/content/en/case-studies/example-case4.html 
b/landing-pages/site/content/en/case-studies/example-case4.html
deleted file mode 100644
index 4b4891e..0000000
--- a/landing-pages/site/content/en/case-studies/example-case4.html
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: "Example 4"
-linkTitle: "Example 4"
-quote:
-    text: "A great ecosystem and community that comes together to address 
about any batch data pipeline need."
-    author: "Austin Benett, CTO at Spotify"
-logo_path: "icons/spotify-logo.svg"
----
-
-{{< paragraph header="What was the problem?" >}}
-    We faced increasing complexity managing lengthy crontabs with scheduling 
being an issue, this required carefully planning timing due to resource 
constraints, usage patterns, and especially custom code needed for retry logic. 
 In the last case, having to verify success of previous jobs and/or steps prior 
to running the next.  Furthermore, time to results is important, but we were 
increasingly relying on buffers for processing, where things were effectively 
sitting idle and not process [...]
-{{</ paragraph >}}
-
-{{< paragraph header="How did Apache Airflow help to solve this problem?" >}}
-    Relying on community built and existing hooks and operators to the 
majority of cloud services we use has allowed us to focus
-    on business outcomes.
-{{</ paragraph >}}
-
-{{< paragraph header="What are the results?" >}}
-    Airflow helps us manage many of our pain-points, letting us benefit from 
the overall ecosystem and
-    community.  We are able to reduce time-to-end delivery of data products by 
being event-driven in our
-    processing flows (in our first usage, for example, we were able to take 
out over 2 hours - on average - of various
-    waiting between stages).  Furthermore, we are able to arrive at and 
iterate on products quicker as a result of
-    not needing as much custom or roll-our-own solutions.  For Our code base 
is smaller and simpler, it is easier to
-    follow, and to a large extent our DAGs serve as sufficient documentation 
for new contributors to understand
-    what is going on.
-{{</ paragraph >}}
diff --git a/landing-pages/site/content/en/case-studies/example-case4.md 
b/landing-pages/site/content/en/case-studies/example-case4.md
new file mode 100644
index 0000000..144f917
--- /dev/null
+++ b/landing-pages/site/content/en/case-studies/example-case4.md
@@ -0,0 +1,23 @@
+---
+title: "Example 4"
+linkTitle: "Example 4"
+quote:
+    text: "A great ecosystem and community that comes together to address 
about any batch data pipeline need."
+    author: "Austin Benett, CTO at Spotify"
+logo_path: "icons/spotify-logo.svg"
+---
+
+##### What was the problem?
+We faced increasing complexity managing lengthy crontabs with scheduling being 
an issue, this required carefully planning timing due to resource constraints, 
usage patterns, and especially custom code needed for retry logic.  In the last 
case, having to verify success of previous jobs and/or steps prior to running 
the next.  Furthermore, time to results is important, but we were increasingly 
relying on buffers for processing, where things were effectively sitting idle 
and not processing, [...]
+
+##### How did Apache Airflow help to solve this problem?
+Relying on community built and existing hooks and operators to the majority of 
cloud services we use has allowed us to focus on business outcomes.
+
+##### What are the results?
+Airflow helps us manage many of our pain-points, letting us benefit from the 
overall ecosystem and
+community.  We are able to reduce time-to-end delivery of data products by 
being event-driven in our
+processing flows (in our first usage, for example, we were able to take out 
over 2 hours - on average - of various
+waiting between stages).  Furthermore, we are able to arrive at and iterate on 
products quicker as a result of
+not needing as much custom or roll-our-own solutions.  For Our code base is 
smaller and simpler, it is easier to
+follow, and to a large extent our DAGs serve as sufficient documentation for 
new contributors to understand
+what is going on.
diff --git a/landing-pages/site/content/en/case-studies/example-case5.html 
b/landing-pages/site/content/en/case-studies/example-case5.html
deleted file mode 100644
index 7f13697..0000000
--- a/landing-pages/site/content/en/case-studies/example-case5.html
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: "Example 5"
-linkTitle: "Example 5"
-quote:
-    text: "A great ecosystem and community that comes together to address 
about any batch data pipeline need."
-    author: "Austin Benett, CTO at Spotify"
-logo_path: "icons/spotify-logo.svg"
----
-
-{{< paragraph header="What was the problem?" >}}
-    We faced increasing complexity managing lengthy crontabs with scheduling 
being an issue, this required carefully planning timing due to resource 
constraints, usage patterns, and especially custom code needed for retry logic. 
 In the last case, having to verify success of previous jobs and/or steps prior 
to running the next.  Furthermore, time to results is important, but we were 
increasingly relying on buffers for processing, where things were effectively 
sitting idle and not process [...]
-{{</ paragraph >}}
-
-{{< paragraph header="How did Apache Airflow help to solve this problem?" >}}
-    Relying on community built and existing hooks and operators to the 
majority of cloud services we use has allowed us to focus
-    on business outcomes.
-{{</ paragraph >}}
-
-{{< paragraph header="What are the results?" >}}
-    Airflow helps us manage many of our pain-points, letting us benefit from 
the overall ecosystem and
-    community.  We are able to reduce time-to-end delivery of data products by 
being event-driven in our
-    processing flows (in our first usage, for example, we were able to take 
out over 2 hours - on average - of various
-    waiting between stages).  Furthermore, we are able to arrive at and 
iterate on products quicker as a result of
-    not needing as much custom or roll-our-own solutions.  For Our code base 
is smaller and simpler, it is easier to
-    follow, and to a large extent our DAGs serve as sufficient documentation 
for new contributors to understand
-    what is going on.
-{{</ paragraph >}}
diff --git a/landing-pages/site/content/en/case-studies/example-case5.md 
b/landing-pages/site/content/en/case-studies/example-case5.md
new file mode 100644
index 0000000..c42b5fd
--- /dev/null
+++ b/landing-pages/site/content/en/case-studies/example-case5.md
@@ -0,0 +1,23 @@
+---
+title: "Example 5"
+linkTitle: "Example 5"
+quote:
+    text: "A great ecosystem and community that comes together to address 
about any batch data pipeline need."
+    author: "Austin Benett, CTO at Spotify"
+logo_path: "icons/spotify-logo.svg"
+---
+
+##### What was the problem?
+We faced increasing complexity managing lengthy crontabs with scheduling being 
an issue, this required carefully planning timing due to resource constraints, 
usage patterns, and especially custom code needed for retry logic.  In the last 
case, having to verify success of previous jobs and/or steps prior to running 
the next.  Furthermore, time to results is important, but we were increasingly 
relying on buffers for processing, where things were effectively sitting idle 
and not processing, [...]
+
+##### How did Apache Airflow help to solve this problem?
+Relying on community built and existing hooks and operators to the majority of 
cloud services we use has allowed us to focus on business outcomes.
+
+##### What are the results?
+Airflow helps us manage many of our pain-points, letting us benefit from the 
overall ecosystem and
+community.  We are able to reduce time-to-end delivery of data products by 
being event-driven in our
+processing flows (in our first usage, for example, we were able to take out 
over 2 hours - on average - of various
+waiting between stages).  Furthermore, we are able to arrive at and iterate on 
products quicker as a result of
+not needing as much custom or roll-our-own solutions.  For Our code base is 
smaller and simpler, it is easier to
+follow, and to a large extent our DAGs serve as sufficient documentation for 
new contributors to understand
+what is going on.
diff --git a/landing-pages/site/content/en/case-studies/example-case6.html 
b/landing-pages/site/content/en/case-studies/example-case6.html
deleted file mode 100644
index 7744ae4..0000000
--- a/landing-pages/site/content/en/case-studies/example-case6.html
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: "Example 6"
-linkTitle: "Example 6"
-quote:
-    text: "A great ecosystem and community that comes together to address 
about any batch data pipeline need."
-    author: "Austin Benett, CTO at Spotify"
-logo_path: "icons/dish-logo.svg"
----
-
-{{< paragraph header="What was the problem?" >}}
-    We faced increasing complexity managing lengthy crontabs with scheduling 
being an issue, this required carefully planning timing due to resource 
constraints, usage patterns, and especially custom code needed for retry logic. 
 In the last case, having to verify success of previous jobs and/or steps prior 
to running the next.  Furthermore, time to results is important, but we were 
increasingly relying on buffers for processing, where things were effectively 
sitting idle and not process [...]
-{{</ paragraph >}}
-
-{{< paragraph header="How did Apache Airflow help to solve this problem?" >}}
-    Relying on community built and existing hooks and operators to the 
majority of cloud services we use has allowed us to focus
-    on business outcomes.
-{{</ paragraph >}}
-
-{{< paragraph header="What are the results?" >}}
-    Airflow helps us manage many of our pain-points, letting us benefit from 
the overall ecosystem and
-    community.  We are able to reduce time-to-end delivery of data products by 
being event-driven in our
-    processing flows (in our first usage, for example, we were able to take 
out over 2 hours - on average - of various
-    waiting between stages).  Furthermore, we are able to arrive at and 
iterate on products quicker as a result of
-    not needing as much custom or roll-our-own solutions.  For Our code base 
is smaller and simpler, it is easier to
-    follow, and to a large extent our DAGs serve as sufficient documentation 
for new contributors to understand
-    what is going on.
-{{</ paragraph >}}
diff --git a/landing-pages/site/content/en/case-studies/example-case6.md 
b/landing-pages/site/content/en/case-studies/example-case6.md
new file mode 100644
index 0000000..aee9a00
--- /dev/null
+++ b/landing-pages/site/content/en/case-studies/example-case6.md
@@ -0,0 +1,23 @@
+---
+title: "Example 6"
+linkTitle: "Example 6"
+quote:
+    text: "A great ecosystem and community that comes together to address 
about any batch data pipeline need."
+    author: "Austin Benett, CTO at Spotify"
+logo_path: "icons/dish-logo.svg"
+---
+
+##### What was the problem?
+We faced increasing complexity managing lengthy crontabs with scheduling being 
an issue, this required carefully planning timing due to resource constraints, 
usage patterns, and especially custom code needed for retry logic.  In the last 
case, having to verify success of previous jobs and/or steps prior to running 
the next.  Furthermore, time to results is important, but we were increasingly 
relying on buffers for processing, where things were effectively sitting idle 
and not processing, [...]
+
+##### How did Apache Airflow help to solve this problem?
+Relying on community built and existing hooks and operators to the majority of 
cloud services we use has allowed us to focus on business outcomes.
+
+##### What are the results?
+Airflow helps us manage many of our pain-points, letting us benefit from the 
overall ecosystem and
+community.  We are able to reduce time-to-end delivery of data products by 
being event-driven in our
+processing flows (in our first usage, for example, we were able to take out 
over 2 hours - on average - of various
+waiting between stages).  Furthermore, we are able to arrive at and iterate on 
products quicker as a result of
+not needing as much custom or roll-our-own solutions.  For Our code base is 
smaller and simpler, it is easier to
+follow, and to a large extent our DAGs serve as sufficient documentation for 
new contributors to understand
+what is going on.
diff --git a/landing-pages/site/layouts/case-studies/content.html 
b/landing-pages/site/layouts/blog/content.html
similarity index 56%
copy from landing-pages/site/layouts/case-studies/content.html
copy to landing-pages/site/layouts/blog/content.html
index c7a2037..d44d157 100644
--- a/landing-pages/site/layouts/case-studies/content.html
+++ b/landing-pages/site/layouts/blog/content.html
@@ -17,8 +17,17 @@
  under the License.
 */}}
 
-<div class="td-content">
-    {{ partial "quote" .Params}}
-    {{ with .Params.description }}<div class="lead">{{ . | markdownify 
}}</div>{{ end }}
+<div class="blogpost-content--header-wrapper">
+    <div class="blogpost-content__metadata--container">
+        {{ range .Params.tags }}
+            <a class="tag" href="{{ "/tags/" | relLangURL }}{{ . | urlize 
}}">{{ . }}</a>
+        {{ end }}
+        <span class="bodytext__medium--brownish-grey">{{ .Date.Format "Mon, 
Jan 2, 2006" }}</span>
+    </div>
+    <p class="blogpost-content__metadata--title">{{ .Title }}</p>
+    <p class="blogpost-content__metadata--author">{{ .Params.author }}</p>
+    <p class="blogpost-content__metadata--description">{{ .Params.description 
}}</p>
+</div>
+<div class="markdown-content">
     {{ .Content }}
 </div>
diff --git a/landing-pages/site/layouts/shortcodes/paragraph.html 
b/landing-pages/site/layouts/blog/single.html
similarity index 84%
rename from landing-pages/site/layouts/shortcodes/paragraph.html
rename to landing-pages/site/layouts/blog/single.html
index fe5e358..6070848 100644
--- a/landing-pages/site/layouts/shortcodes/paragraph.html
+++ b/landing-pages/site/layouts/blog/single.html
@@ -17,5 +17,9 @@
  under the License.
 */}}
 
-<h5 class="paragraph--header">{{ .Get "header"}}</h5>
-<p class="paragraph--text">{{ .Inner }}</p>
+{{ define "main" }}
+    <div class="blogpost-content">
+        {{ .Render "content" }}
+    </div>
+    {{ partial "blog-pager" . }}
+{{ end }}
diff --git a/landing-pages/site/layouts/case-studies/content.html 
b/landing-pages/site/layouts/case-studies/content.html
index c7a2037..e26b4d5 100644
--- a/landing-pages/site/layouts/case-studies/content.html
+++ b/landing-pages/site/layouts/case-studies/content.html
@@ -19,6 +19,9 @@
 
 <div class="td-content">
     {{ partial "quote" .Params}}
-    {{ with .Params.description }}<div class="lead">{{ . | markdownify 
}}</div>{{ end }}
-    {{ .Content }}
+    {{ with .Params.description }}
+    <div class="lead">{{ . | markdownify }}</div>{{ end }}
+    <div class="markdown-content">
+        {{ .Content }}
+    </div>
 </div>
diff --git a/landing-pages/site/layouts/case-studies/content.html 
b/landing-pages/site/layouts/partials/blog-pager.html
similarity index 61%
copy from landing-pages/site/layouts/case-studies/content.html
copy to landing-pages/site/layouts/partials/blog-pager.html
index c7a2037..683bea5 100644
--- a/landing-pages/site/layouts/case-studies/content.html
+++ b/landing-pages/site/layouts/partials/blog-pager.html
@@ -17,8 +17,18 @@
  under the License.
 */}}
 
-<div class="td-content">
-    {{ partial "quote" .Params}}
-    {{ with .Params.description }}<div class="lead">{{ . | markdownify 
}}</div>{{ end }}
-    {{ .Content }}
-</div>
+{{ $related := .Site.RegularPages.Related . | first 2 }}
+{{ with $related }}
+    <div class="blog-pager">
+        <h5 class="header__xsmall--greyish-brown">Read also</h5>
+        <div class="pager">
+            <div class="list-items">
+                {{ range . }}
+                    <div class="list-item list-item--wide">
+                        {{ partial "boxes/blogpost" . }}
+                    </div>
+                {{ end }}
+            </div>
+        </div>
+    </div>
+{{ end }}

Reply via email to