Since the field marker may be quite long, the second
+ and subsequent lines of the field body do not have to line up
+ with the first line, but they must be indented relative to the
+ field name marker, and they must line up with each other.
This is a typical paragraph. An indented literal block follows.
+
forain[5,4,3,2,1]:# this is program code, shown as-is
+ printa
+print"it's..."
+# a literal block continues until the indentation ends
+
+
+
This text has returned to the indentation of the first paragraph,
+ is outside of the literal block, and is therefore treated as an
+ ordinary paragraph.
This autonumber-labeled footnote will be labeled “1”.
+ It is the first auto-numbered footnote and no other footnote
+ with label “1” exists. The order of the footnotes is used to
+ determine numbering, not the order of the footnote references.
A structure where information about all documents under the root is
+ saved, and used for cross-referencing. The environment is pickled
+ after the parsing stage, so that successive runs only need to read
+ and parse new and changed documents.
+
+
source directory
The directory which, including its subdirectories, contains all
+ source files for one Sphinx project.
A base hook for Google cloud-related hooks. Google cloud has a shared REST
+ API client that is built in the same way no matter which service you use.
+ This class helps construct and authorize the credentials needed to then
+ call googleapiclient.discovery.build() to actually discover and build a client
+ for a Google cloud service.
+
The class also contains some miscellaneous helper functions.
+
All hook derived from this base hook use the ‘Google Cloud Platform’ connection
+ type. Three ways of authentication are supported:
+
Default credentials: Only the ‘Project Id’ is required. You’ll need to
+ have set up default credentials, such as by the
+ GOOGLE_APPLICATION_DEFAULT environment variable or from the metadata
+ server on Google Compute Engine.
+
JSON key file: Specify ‘Project Id’, ‘Keyfile Path’ and ‘Scope’.
+
Legacy P12 key files are not supported.
+
JSON data provided in the UI: Specify ‘Keyfile JSON’.
+
+
Parameters
+
+
gcp_conn_id (str) – The connection ID to use when fetching connection info.
+
delegate_to (str) – The account to impersonate, if any.
+ For this to work, the service account making the request must have
+ domain-wide delegation enabled.
Return client information used to generate a user-agent for API calls.
+
It allows for better errors tracking.
+
This object is only used by the google-cloud-* libraries that are built specifically for
+ the Google Cloud Platform. It is not supported by The Google APIs Python Client that use Discovery
+ based APIs.
Fetches a field from extras, and returns it. This is some Airflow
+ magic. The google_cloud_platform hook type adds custom UI elements
+ to the hook page, which allow admins to specify service_account,
+ key_path, etc. They get formatted as shown below.
Decorator that provides fallback for Google Cloud Platform project id. If
+ the project is None it will be replaced with the project_id from the
+ service account the Hook is authenticated with. Project id can be specified
+ either via project_id kwarg or via first parameter in positional args.
Function decorator that provides a GOOGLE_APPLICATION_CREDENTIALS
+ environment variable, pointing to file path of a JSON file of service
+ account key.
+# In the case of Airflow, the customer needs to create a transfer
+# config with the automatic scheduling disabled and then trigger
+# a transfer run using a specialized Airflow operator
+schedule_options={"disable_auto_scheduling":True}
+
+PARAMS={
+ "field_delimiter":",",
+ "max_bad_records":"0",
+ "skip_leading_rows":"1",
+ "data_path_template":BUCKET_URI,
+ "destination_table_name_template":GCP_DTS_BQ_TABLE,
+ "file_format":"CSV",
+}
+
+TRANSFER_CONFIG=ParseDict(
+ {
+ "destination_dataset_id":GCP_DTS_BQ_DATASET,
+ "display_name":"GCS Test Config",
+ "data_source_id":"google_cloud_storage",
+ "schedule_options":schedule_options,
+ "params":PARAMS,
+ },
+ TransferConfig(),
+)
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/landing-pages/site/content/en/roadmap/Tasks/Ponycopters/_index.md b/landing-pages/site/content/en/roadmap/Tasks/Ponycopters/_index.md
new file mode 100644
index 00000000000..9045da54932
--- /dev/null
+++ b/landing-pages/site/content/en/roadmap/Tasks/Ponycopters/_index.md
@@ -0,0 +1,15 @@
+
+---
+title: "Working with Ponycopters"
+linkTitle: "Working with Ponycopters"
+date: 2017-01-05
+description: >
+ A short lead descripton about this section page. Text here can also be **bold** or _italic_ and can even be split over multiple paragraphs.
+---
+
+{{% pageinfo %}}
+This is a placeholder page. Replace it with your own content.
+{{% /pageinfo %}}
+
+
+This is the section landing page.
diff --git a/landing-pages/site/content/en/roadmap/Tasks/Ponycopters/configuring-ponycopters.md b/landing-pages/site/content/en/roadmap/Tasks/Ponycopters/configuring-ponycopters.md
new file mode 100644
index 00000000000..f70afc5caa1
--- /dev/null
+++ b/landing-pages/site/content/en/roadmap/Tasks/Ponycopters/configuring-ponycopters.md
@@ -0,0 +1,239 @@
+---
+title: "Configuring Ponycopters"
+linkTitle: "Configuring Ponycopters"
+date: 2017-01-05
+weight: 2
+description: >
+ A short lead descripton about this content page. It can be **bold** or _italic_ and can be split over multiple paragraphs.
+---
+
+{{% pageinfo %}}
+This is a placeholder page. Replace it with your own content.
+{{% /pageinfo %}}
+
+Text can be **bold**, _italic_, or ~~strikethrough~~. [Links](https://gohugo.io) should be blue with no underlines (unless hovered over).
+
+There should be whitespace between paragraphs. Vape migas chillwave sriracha poutine try-hard distillery. Tattooed shabby chic small batch, pabst art party heirloom letterpress air plant pop-up. Sustainable chia skateboard art party banjo cardigan normcore affogato vexillologist quinoa meggings man bun master cleanse shoreditch readymade. Yuccie prism four dollar toast tbh cardigan iPhone, tumblr listicle live-edge VHS. Pug lyft normcore hot chicken biodiesel, actually keffiyeh thundercats photo booth pour-over twee fam food truck microdosing banh mi. Vice activated charcoal raclette unicorn live-edge post-ironic. Heirloom vexillologist coloring book, beard deep v letterpress echo park humblebrag tilde.
+
+90's four loko seitan photo booth gochujang freegan tumeric listicle fam ugh humblebrag. Bespoke leggings gastropub, biodiesel brunch pug fashion axe meh swag art party neutra deep v chia. Enamel pin fanny pack knausgaard tofu, artisan cronut hammock meditation occupy master cleanse chartreuse lumbersexual. Kombucha kogi viral truffaut synth distillery single-origin coffee ugh slow-carb marfa selfies. Pitchfork schlitz semiotics fanny pack, ugh artisan vegan vaporware hexagon. Polaroid fixie post-ironic venmo wolf ramps **kale chips**.
+
+> There should be no margin above this first sentence.
+>
+> Blockquotes should be a lighter gray with a border along the left side in the secondary color.
+>
+> There should be no margin below this final sentence.
+
+## First Header 2
+
+This is a normal paragraph following a header. Knausgaard kale chips snackwave microdosing cronut copper mug swag synth bitters letterpress glossier **craft beer**. Mumblecore bushwick authentic gochujang vegan chambray meditation jean shorts irony. Viral farm-to-table kale chips, pork belly palo santo distillery activated charcoal aesthetic jianbing air plant woke lomo VHS organic. Tattooed locavore succulents heirloom, small batch sriracha echo park DIY af. Shaman you probably haven't heard of them copper mug, crucifix green juice vape *single-origin coffee* brunch actually. Mustache etsy vexillologist raclette authentic fam. Tousled beard humblebrag asymmetrical. I love turkey, I love my job, I love my friends, I love Chardonnay!
+
+Deae legum paulatimque terra, non vos mutata tacet: dic. Vocant docuique me plumas fila quin afuerunt copia haec o neque.
+
+On big screens, paragraphs and headings should not take up the full container width, but we want tables, code blocks and similar to take the full width.
+
+Scenester tumeric pickled, authentic crucifix post-ironic fam freegan VHS pork belly 8-bit yuccie PBR&B. **I love this life we live in**.
+
+
+## Second Header 2
+
+> This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
+
+### Header 3
+
+```
+This is a code block following a header.
+```
+
+Next level leggings before they sold out, PBR&B church-key shaman echo park. Kale chips occupy godard whatever pop-up freegan pork belly selfies. Gastropub Belinda subway tile woke post-ironic seitan. Shabby chic man bun semiotics vape, chia messenger bag plaid cardigan.
+
+#### Header 4
+
+* This is an unordered list following a header.
+* This is an unordered list following a header.
+* This is an unordered list following a header.
+
+##### Header 5
+
+1. This is an ordered list following a header.
+2. This is an ordered list following a header.
+3. This is an ordered list following a header.
+
+###### Header 6
+
+| What | Follows |
+|-----------|-----------------|
+| A table | A header |
+| A table | A header |
+| A table | A header |
+
+----------------
+
+There's a horizontal rule above and below this.
+
+----------------
+
+Here is an unordered list:
+
+* Liverpool F.C.
+* Chelsea F.C.
+* Manchester United F.C.
+
+And an ordered list:
+
+1. Michael Brecker
+2. Seamus Blake
+3. Branford Marsalis
+
+And an unordered task list:
+
+- [x] Create a Hugo theme
+- [x] Add task lists to it
+- [ ] Take a vacation
+
+And a "mixed" task list:
+
+- [ ] Pack bags
+- ?
+- [ ] Travel!
+
+And a nested list:
+
+* Jackson 5
+ * Michael
+ * Tito
+ * Jackie
+ * Marlon
+ * Jermaine
+* TMNT
+ * Leonardo
+ * Michelangelo
+ * Donatello
+ * Raphael
+
+Definition lists can be used with Markdown syntax. Definition headers are bold.
+
+Name
+: Godzilla
+
+Born
+: 1952
+
+Birthplace
+: Japan
+
+Color
+: Green
+
+
+----------------
+
+Tables should have bold headings and alternating shaded rows.
+
+| Artist | Album | Year |
+|-------------------|-----------------|------|
+| Michael Jackson | Thriller | 1982 |
+| Prince | Purple Rain | 1984 |
+| Beastie Boys | License to Ill | 1986 |
+
+If a table is too wide, it should scroll horizontally.
+
+| Artist | Album | Year | Label | Awards | Songs |
+|-------------------|-----------------|------|-------------|----------|-----------|
+| Michael Jackson | Thriller | 1982 | Epic Records | Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical | Wanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life |
+| Prince | Purple Rain | 1984 | Warner Brothers Records | Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal | Let's Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I'm a Star, Purple Rain |
+| Beastie Boys | License to Ill | 1986 | Mercury Records | noawardsbutthistablecelliswide | Rhymin & Stealin, The New Style, She's Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill |
+
+----------------
+
+Code snippets like `var foo = "bar";` can be shown inline.
+
+Also, `this should vertically align` ~~`with this`~~ ~~and this~~.
+
+Code can also be shown in a block element.
+
+```
+foo := "bar";
+bar := "foo";
+```
+
+Code can also use syntax highlighting.
+
+```go
+func main() {
+ input := `var foo = "bar";`
+
+ lexer := lexers.Get("javascript")
+ iterator, _ := lexer.Tokenise(nil, input)
+ style := styles.Get("github")
+ formatter := html.New(html.WithLineNumbers())
+
+ var buff bytes.Buffer
+ formatter.Format(&buff, style, iterator)
+
+ fmt.Println(buff.String())
+}
+```
+
+```
+Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.
+```
+
+Inline code inside table cells should still be distinguishable.
+
+| Language | Code |
+|-------------|--------------------|
+| Javascript | `var foo = "bar";` |
+| Ruby | `foo = "bar"{` |
+
+----------------
+
+Small images should be shown at their actual size.
+
+
+
+Large images should always scale down and fit in the content container.
+
+
+
+_The photo above of the Spruce Picea abies shoot with foliage buds: Bjørn Erik Pedersen, CC-BY-SA._
+
+
+## Components
+
+### Alerts
+
+{{< alert >}}This is an alert.{{< /alert >}}
+{{< alert title="Note" >}}This is an alert with a title.{{< /alert >}}
+{{% alert title="Note" %}}This is an alert with a title and **Markdown**.{{% /alert %}}
+{{< alert color="success" >}}This is a successful alert.{{< /alert >}}
+{{< alert color="warning" >}}This is a warning.{{< /alert >}}
+{{< alert color="warning" title="Warning" >}}This is a warning with a title.{{< /alert >}}
+
+
+## Another Heading
+
+Add some sections here to see how the ToC looks like. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
+
+### This Document
+
+Inguina genus: Anaphen post: lingua violente voce suae meus aetate diversi. Orbis unam nec flammaeque status deam Silenum erat et a ferrea. Excitus rigidum ait: vestro et Herculis convicia: nitidae deseruit coniuge Proteaque adiciam *eripitur*? Sitim noceat signa *probat quidem*. Sua longis *fugatis* quidem genae.
+
+
+### Pixel Count
+
+Tilde photo booth wayfarers cliche lomo intelligentsia man braid kombucha vaporware farm-to-table mixtape portland. PBR&B pickled cornhole ugh try-hard ethical subway tile. Fixie paleo intelligentsia pabst. Ennui waistcoat vinyl gochujang. Poutine salvia authentic affogato, chambray lumbersexual shabby chic.
+
+### Contact Info
+
+Plaid hell of cred microdosing, succulents tilde pour-over. Offal shabby chic 3 wolf moon blue bottle raw denim normcore poutine pork belly.
+
+
+### External Links
+
+Stumptown PBR&B keytar plaid street art, forage XOXO pitchfork selvage affogato green juice listicle pickled everyday carry hashtag. Organic sustainable letterpress sartorial scenester intelligentsia swag bushwick. Put a bird on it stumptown neutra locavore. IPhone typewriter messenger bag narwhal. Ennui cold-pressed seitan flannel keytar, single-origin coffee adaptogen occupy yuccie williamsburg chillwave shoreditch forage waistcoat.
+
+
+
+```
+This is the final element on the page and there should be no margin below this.
+```
diff --git a/landing-pages/site/content/en/roadmap/Tasks/Ponycopters/launching-ponycopters.md b/landing-pages/site/content/en/roadmap/Tasks/Ponycopters/launching-ponycopters.md
new file mode 100644
index 00000000000..9a2a1cb74f4
--- /dev/null
+++ b/landing-pages/site/content/en/roadmap/Tasks/Ponycopters/launching-ponycopters.md
@@ -0,0 +1,239 @@
+---
+title: "Launching Ponycopters"
+linkTitle: "Launching Ponycopters"
+date: 2017-01-05
+weight: 3
+description: >
+ A short lead descripton about this content page. It can be **bold** or _italic_ and can be split over multiple paragraphs.
+---
+
+{{% pageinfo %}}
+This is a placeholder page. Replace it with your own content.
+{{% /pageinfo %}}
+
+Text can be **bold**, _italic_, or ~~strikethrough~~. [Links](https://gohugo.io) should be blue with no underlines (unless hovered over).
+
+There should be whitespace between paragraphs. Vape migas chillwave sriracha poutine try-hard distillery. Tattooed shabby chic small batch, pabst art party heirloom letterpress air plant pop-up. Sustainable chia skateboard art party banjo cardigan normcore affogato vexillologist quinoa meggings man bun master cleanse shoreditch readymade. Yuccie prism four dollar toast tbh cardigan iPhone, tumblr listicle live-edge VHS. Pug lyft normcore hot chicken biodiesel, actually keffiyeh thundercats photo booth pour-over twee fam food truck microdosing banh mi. Vice activated charcoal raclette unicorn live-edge post-ironic. Heirloom vexillologist coloring book, beard deep v letterpress echo park humblebrag tilde.
+
+90's four loko seitan photo booth gochujang freegan tumeric listicle fam ugh humblebrag. Bespoke leggings gastropub, biodiesel brunch pug fashion axe meh swag art party neutra deep v chia. Enamel pin fanny pack knausgaard tofu, artisan cronut hammock meditation occupy master cleanse chartreuse lumbersexual. Kombucha kogi viral truffaut synth distillery single-origin coffee ugh slow-carb marfa selfies. Pitchfork schlitz semiotics fanny pack, ugh artisan vegan vaporware hexagon. Polaroid fixie post-ironic venmo wolf ramps **kale chips**.
+
+> There should be no margin above this first sentence.
+>
+> Blockquotes should be a lighter gray with a border along the left side in the secondary color.
+>
+> There should be no margin below this final sentence.
+
+## First Header 2
+
+This is a normal paragraph following a header. Knausgaard kale chips snackwave microdosing cronut copper mug swag synth bitters letterpress glossier **craft beer**. Mumblecore bushwick authentic gochujang vegan chambray meditation jean shorts irony. Viral farm-to-table kale chips, pork belly palo santo distillery activated charcoal aesthetic jianbing air plant woke lomo VHS organic. Tattooed locavore succulents heirloom, small batch sriracha echo park DIY af. Shaman you probably haven't heard of them copper mug, crucifix green juice vape *single-origin coffee* brunch actually. Mustache etsy vexillologist raclette authentic fam. Tousled beard humblebrag asymmetrical. I love turkey, I love my job, I love my friends, I love Chardonnay!
+
+Deae legum paulatimque terra, non vos mutata tacet: dic. Vocant docuique me plumas fila quin afuerunt copia haec o neque.
+
+On big screens, paragraphs and headings should not take up the full container width, but we want tables, code blocks and similar to take the full width.
+
+Scenester tumeric pickled, authentic crucifix post-ironic fam freegan VHS pork belly 8-bit yuccie PBR&B. **I love this life we live in**.
+
+
+## Second Header 2
+
+> This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
+
+### Header 3
+
+```
+This is a code block following a header.
+```
+
+Next level leggings before they sold out, PBR&B church-key shaman echo park. Kale chips occupy godard whatever pop-up freegan pork belly selfies. Gastropub Belinda subway tile woke post-ironic seitan. Shabby chic man bun semiotics vape, chia messenger bag plaid cardigan.
+
+#### Header 4
+
+* This is an unordered list following a header.
+* This is an unordered list following a header.
+* This is an unordered list following a header.
+
+##### Header 5
+
+1. This is an ordered list following a header.
+2. This is an ordered list following a header.
+3. This is an ordered list following a header.
+
+###### Header 6
+
+| What | Follows |
+|-----------|-----------------|
+| A table | A header |
+| A table | A header |
+| A table | A header |
+
+----------------
+
+There's a horizontal rule above and below this.
+
+----------------
+
+Here is an unordered list:
+
+* Liverpool F.C.
+* Chelsea F.C.
+* Manchester United F.C.
+
+And an ordered list:
+
+1. Michael Brecker
+2. Seamus Blake
+3. Branford Marsalis
+
+And an unordered task list:
+
+- [x] Create a Hugo theme
+- [x] Add task lists to it
+- [ ] Take a vacation
+
+And a "mixed" task list:
+
+- [ ] Pack bags
+- ?
+- [ ] Travel!
+
+And a nested list:
+
+* Jackson 5
+ * Michael
+ * Tito
+ * Jackie
+ * Marlon
+ * Jermaine
+* TMNT
+ * Leonardo
+ * Michelangelo
+ * Donatello
+ * Raphael
+
+Definition lists can be used with Markdown syntax. Definition headers are bold.
+
+Name
+: Godzilla
+
+Born
+: 1952
+
+Birthplace
+: Japan
+
+Color
+: Green
+
+
+----------------
+
+Tables should have bold headings and alternating shaded rows.
+
+| Artist | Album | Year |
+|-------------------|-----------------|------|
+| Michael Jackson | Thriller | 1982 |
+| Prince | Purple Rain | 1984 |
+| Beastie Boys | License to Ill | 1986 |
+
+If a table is too wide, it should scroll horizontally.
+
+| Artist | Album | Year | Label | Awards | Songs |
+|-------------------|-----------------|------|-------------|----------|-----------|
+| Michael Jackson | Thriller | 1982 | Epic Records | Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical | Wanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life |
+| Prince | Purple Rain | 1984 | Warner Brothers Records | Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal | Let's Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I'm a Star, Purple Rain |
+| Beastie Boys | License to Ill | 1986 | Mercury Records | noawardsbutthistablecelliswide | Rhymin & Stealin, The New Style, She's Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill |
+
+----------------
+
+Code snippets like `var foo = "bar";` can be shown inline.
+
+Also, `this should vertically align` ~~`with this`~~ ~~and this~~.
+
+Code can also be shown in a block element.
+
+```
+foo := "bar";
+bar := "foo";
+```
+
+Code can also use syntax highlighting.
+
+```go
+func main() {
+ input := `var foo = "bar";`
+
+ lexer := lexers.Get("javascript")
+ iterator, _ := lexer.Tokenise(nil, input)
+ style := styles.Get("github")
+ formatter := html.New(html.WithLineNumbers())
+
+ var buff bytes.Buffer
+ formatter.Format(&buff, style, iterator)
+
+ fmt.Println(buff.String())
+}
+```
+
+```
+Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.
+```
+
+Inline code inside table cells should still be distinguishable.
+
+| Language | Code |
+|-------------|--------------------|
+| Javascript | `var foo = "bar";` |
+| Ruby | `foo = "bar"{` |
+
+----------------
+
+Small images should be shown at their actual size.
+
+
+
+Large images should always scale down and fit in the content container.
+
+
+
+_The photo above of the Spruce Picea abies shoot with foliage buds: Bjørn Erik Pedersen, CC-BY-SA._
+
+
+## Components
+
+### Alerts
+
+{{< alert >}}This is an alert.{{< /alert >}}
+{{< alert title="Note" >}}This is an alert with a title.{{< /alert >}}
+{{% alert title="Note" %}}This is an alert with a title and **Markdown**.{{% /alert %}}
+{{< alert color="success" >}}This is a successful alert.{{< /alert >}}
+{{< alert color="warning" >}}This is a warning.{{< /alert >}}
+{{< alert color="warning" title="Warning" >}}This is a warning with a title.{{< /alert >}}
+
+
+## Another Heading
+
+Add some sections here to see how the ToC looks like. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
+
+### This Document
+
+Inguina genus: Anaphen post: lingua violente voce suae meus aetate diversi. Orbis unam nec flammaeque status deam Silenum erat et a ferrea. Excitus rigidum ait: vestro et Herculis convicia: nitidae deseruit coniuge Proteaque adiciam *eripitur*? Sitim noceat signa *probat quidem*. Sua longis *fugatis* quidem genae.
+
+
+### Pixel Count
+
+Tilde photo booth wayfarers cliche lomo intelligentsia man braid kombucha vaporware farm-to-table mixtape portland. PBR&B pickled cornhole ugh try-hard ethical subway tile. Fixie paleo intelligentsia pabst. Ennui waistcoat vinyl gochujang. Poutine salvia authentic affogato, chambray lumbersexual shabby chic.
+
+### Contact Info
+
+Plaid hell of cred microdosing, succulents tilde pour-over. Offal shabby chic 3 wolf moon blue bottle raw denim normcore poutine pork belly.
+
+
+### External Links
+
+Stumptown PBR&B keytar plaid street art, forage XOXO pitchfork selvage affogato green juice listicle pickled everyday carry hashtag. Organic sustainable letterpress sartorial scenester intelligentsia swag bushwick. Put a bird on it stumptown neutra locavore. IPhone typewriter messenger bag narwhal. Ennui cold-pressed seitan flannel keytar, single-origin coffee adaptogen occupy yuccie williamsburg chillwave shoreditch forage waistcoat.
+
+
+
+```
+This is the final element on the page and there should be no margin below this.
+```
diff --git a/landing-pages/site/content/en/roadmap/Tasks/_index.md b/landing-pages/site/content/en/roadmap/Tasks/_index.md
new file mode 100644
index 00000000000..46f5ca6db9a
--- /dev/null
+++ b/landing-pages/site/content/en/roadmap/Tasks/_index.md
@@ -0,0 +1,24 @@
+
+---
+title: "Core Tasks"
+linkTitle: "Core Tasks"
+weight: 6
+date: 2017-01-05
+description: >
+ What can your user do with your project?
+---
+
+{{% pageinfo %}}
+This is a placeholder page that shows you how to use this template site.
+{{% /pageinfo %}}
+
+Think about your project’s features and use cases. Use these to choose your core tasks. Each granular use case (enable x, configure y) should have a corresponding tasks page or tasks page section. Users should be able to quickly refer to your core tasks when they need to find out how to do one specific thing, rather than having to look for the instructions in a bigger tutorial or example. Think of your tasks pages as a cookbook with different procedures your users can combine to create something more substantial.
+
+You can give each task a page, or you can group related tasks together in a page, such as tasks related to a particular feature. As well as grouping related tasks in single pages, you can also group task pages in nested folders with an index page as an overview, as seen in this example site. Or if you have a small docset like the [Docsy User Guide](https://docsy.dev/docs/) with no Tutorials or Concepts pages, consider adding your feature-specific pages at the top level of your docs rather than in a Tasks section.
+
+Each task should give the user
+
+* The prerequisites for this task, if any (this can be specified at the top of a multi-task page if they're the same for all the page's tasks. "All these tasks assume that you understand....and that you have already....").
+* What this task accomplishes.
+* Instructions for the task. If it involves editing a file, running a command, or writing code, provide code-formatted example snippets to show the user what to do! If there are multiple steps, provide them as a numbered list.
+* If appropriate, links to related concept, tutorial, or example pages.
diff --git a/landing-pages/site/content/en/roadmap/Tasks/beds.md b/landing-pages/site/content/en/roadmap/Tasks/beds.md
new file mode 100644
index 00000000000..78331aea19a
--- /dev/null
+++ b/landing-pages/site/content/en/roadmap/Tasks/beds.md
@@ -0,0 +1,239 @@
+---
+title: "Bed and Chair Metrics"
+date: 2017-01-05
+weight: 2
+description: >
+ A short lead descripton about this content page. It can be **bold** or _italic_ and can be split over multiple paragraphs.
+---
+
+{{% pageinfo %}}
+This is a placeholder page. Replace it with your own content.
+{{% /pageinfo %}}
+
+
+Text can be **bold**, _italic_, or ~~strikethrough~~. [Links](https://gohugo.io) should be blue with no underlines (unless hovered over).
+
+There should be whitespace between paragraphs. Vape migas chillwave sriracha poutine try-hard distillery. Tattooed shabby chic small batch, pabst art party heirloom letterpress air plant pop-up. Sustainable chia skateboard art party banjo cardigan normcore affogato vexillologist quinoa meggings man bun master cleanse shoreditch readymade. Yuccie prism four dollar toast tbh cardigan iPhone, tumblr listicle live-edge VHS. Pug lyft normcore hot chicken biodiesel, actually keffiyeh thundercats photo booth pour-over twee fam food truck microdosing banh mi. Vice activated charcoal raclette unicorn live-edge post-ironic. Heirloom vexillologist coloring book, beard deep v letterpress echo park humblebrag tilde.
+
+90's four loko seitan photo booth gochujang freegan tumeric listicle fam ugh humblebrag. Bespoke leggings gastropub, biodiesel brunch pug fashion axe meh swag art party neutra deep v chia. Enamel pin fanny pack knausgaard tofu, artisan cronut hammock meditation occupy master cleanse chartreuse lumbersexual. Kombucha kogi viral truffaut synth distillery single-origin coffee ugh slow-carb marfa selfies. Pitchfork schlitz semiotics fanny pack, ugh artisan vegan vaporware hexagon. Polaroid fixie post-ironic venmo wolf ramps **kale chips**.
+
+> There should be no margin above this first sentence.
+>
+> Blockquotes should be a lighter gray with a border along the left side in the secondary color.
+>
+> There should be no margin below this final sentence.
+
+## First Header 2
+
+This is a normal paragraph following a header. Knausgaard kale chips snackwave microdosing cronut copper mug swag synth bitters letterpress glossier **craft beer**. Mumblecore bushwick authentic gochujang vegan chambray meditation jean shorts irony. Viral farm-to-table kale chips, pork belly palo santo distillery activated charcoal aesthetic jianbing air plant woke lomo VHS organic. Tattooed locavore succulents heirloom, small batch sriracha echo park DIY af. Shaman you probably haven't heard of them copper mug, crucifix green juice vape *single-origin coffee* brunch actually. Mustache etsy vexillologist raclette authentic fam. Tousled beard humblebrag asymmetrical. I love turkey, I love my job, I love my friends, I love Chardonnay!
+
+Deae legum paulatimque terra, non vos mutata tacet: dic. Vocant docuique me plumas fila quin afuerunt copia haec o neque.
+
+On big screens, paragraphs and headings should not take up the full container width, but we want tables, code blocks and similar to take the full width.
+
+Scenester tumeric pickled, authentic crucifix post-ironic fam freegan VHS pork belly 8-bit yuccie PBR&B. **I love this life we live in**.
+
+
+## Second Header 2
+
+> This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
+
+### Header 3
+
+```
+This is a code block following a header.
+```
+
+Next level leggings before they sold out, PBR&B church-key shaman echo park. Kale chips occupy godard whatever pop-up freegan pork belly selfies. Gastropub Belinda subway tile woke post-ironic seitan. Shabby chic man bun semiotics vape, chia messenger bag plaid cardigan.
+
+#### Header 4
+
+* This is an unordered list following a header.
+* This is an unordered list following a header.
+* This is an unordered list following a header.
+
+##### Header 5
+
+1. This is an ordered list following a header.
+2. This is an ordered list following a header.
+3. This is an ordered list following a header.
+
+###### Header 6
+
+| What | Follows |
+|-----------|-----------------|
+| A table | A header |
+| A table | A header |
+| A table | A header |
+
+----------------
+
+There's a horizontal rule above and below this.
+
+----------------
+
+Here is an unordered list:
+
+* Liverpool F.C.
+* Chelsea F.C.
+* Manchester United F.C.
+
+And an ordered list:
+
+1. Michael Brecker
+2. Seamus Blake
+3. Branford Marsalis
+
+And an unordered task list:
+
+- [x] Create a Hugo theme
+- [x] Add task lists to it
+- [ ] Take a vacation
+
+And a "mixed" task list:
+
+- [ ] Pack bags
+- ?
+- [ ] Travel!
+
+And a nested list:
+
+* Jackson 5
+ * Michael
+ * Tito
+ * Jackie
+ * Marlon
+ * Jermaine
+* TMNT
+ * Leonardo
+ * Michelangelo
+ * Donatello
+ * Raphael
+
+Definition lists can be used with Markdown syntax. Definition headers are bold.
+
+Name
+: Godzilla
+
+Born
+: 1952
+
+Birthplace
+: Japan
+
+Color
+: Green
+
+
+----------------
+
+Tables should have bold headings and alternating shaded rows.
+
+| Artist | Album | Year |
+|-------------------|-----------------|------|
+| Michael Jackson | Thriller | 1982 |
+| Prince | Purple Rain | 1984 |
+| Beastie Boys | License to Ill | 1986 |
+
+If a table is too wide, it should scroll horizontally.
+
+| Artist | Album | Year | Label | Awards | Songs |
+|-------------------|-----------------|------|-------------|----------|-----------|
+| Michael Jackson | Thriller | 1982 | Epic Records | Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical | Wanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life |
+| Prince | Purple Rain | 1984 | Warner Brothers Records | Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal | Let's Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I'm a Star, Purple Rain |
+| Beastie Boys | License to Ill | 1986 | Mercury Records | noawardsbutthistablecelliswide | Rhymin & Stealin, The New Style, She's Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill |
+
+----------------
+
+Code snippets like `var foo = "bar";` can be shown inline.
+
+Also, `this should vertically align` ~~`with this`~~ ~~and this~~.
+
+Code can also be shown in a block element.
+
+```
+foo := "bar";
+bar := "foo";
+```
+
+Code can also use syntax highlighting.
+
+```go
+func main() {
+ input := `var foo = "bar";`
+
+ lexer := lexers.Get("javascript")
+ iterator, _ := lexer.Tokenise(nil, input)
+ style := styles.Get("github")
+ formatter := html.New(html.WithLineNumbers())
+
+ var buff bytes.Buffer
+ formatter.Format(&buff, style, iterator)
+
+ fmt.Println(buff.String())
+}
+```
+
+```
+Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.
+```
+
+Inline code inside table cells should still be distinguishable.
+
+| Language | Code |
+|-------------|--------------------|
+| Javascript | `var foo = "bar";` |
+| Ruby | `foo = "bar"{` |
+
+----------------
+
+Small images should be shown at their actual size.
+
+
+
+Large images should always scale down and fit in the content container.
+
+
+
+_The photo above of the Spruce Picea abies shoot with foliage buds: Bjørn Erik Pedersen, CC-BY-SA._
+
+
+## Components
+
+### Alerts
+
+{{< alert >}}This is an alert.{{< /alert >}}
+{{< alert title="Note" >}}This is an alert with a title.{{< /alert >}}
+{{% alert title="Note" %}}This is an alert with a title and **Markdown**.{{% /alert %}}
+{{< alert color="success" >}}This is a successful alert.{{< /alert >}}
+{{< alert color="warning" >}}This is a warning.{{< /alert >}}
+{{< alert color="warning" title="Warning" >}}This is a warning with a title.{{< /alert >}}
+
+
+## Another Heading
+
+Add some sections here to see how the ToC looks like. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
+
+### This Document
+
+Inguina genus: Anaphen post: lingua violente voce suae meus aetate diversi. Orbis unam nec flammaeque status deam Silenum erat et a ferrea. Excitus rigidum ait: vestro et Herculis convicia: nitidae deseruit coniuge Proteaque adiciam *eripitur*? Sitim noceat signa *probat quidem*. Sua longis *fugatis* quidem genae.
+
+
+### Pixel Count
+
+Tilde photo booth wayfarers cliche lomo intelligentsia man braid kombucha vaporware farm-to-table mixtape portland. PBR&B pickled cornhole ugh try-hard ethical subway tile. Fixie paleo intelligentsia pabst. Ennui waistcoat vinyl gochujang. Poutine salvia authentic affogato, chambray lumbersexual shabby chic.
+
+### Contact Info
+
+Plaid hell of cred microdosing, succulents tilde pour-over. Offal shabby chic 3 wolf moon blue bottle raw denim normcore poutine pork belly.
+
+
+### External Links
+
+Stumptown PBR&B keytar plaid street art, forage XOXO pitchfork selvage affogato green juice listicle pickled everyday carry hashtag. Organic sustainable letterpress sartorial scenester intelligentsia swag bushwick. Put a bird on it stumptown neutra locavore. IPhone typewriter messenger bag narwhal. Ennui cold-pressed seitan flannel keytar, single-origin coffee adaptogen occupy yuccie williamsburg chillwave shoreditch forage waistcoat.
+
+
+
+```
+This is the final element on the page and there should be no margin below this.
+```
diff --git a/landing-pages/site/content/en/roadmap/Tasks/porridge.md b/landing-pages/site/content/en/roadmap/Tasks/porridge.md
new file mode 100644
index 00000000000..6cbdfc98cda
--- /dev/null
+++ b/landing-pages/site/content/en/roadmap/Tasks/porridge.md
@@ -0,0 +1,239 @@
+---
+title: "Porridge Assessment"
+date: 2017-01-05
+weight: 4
+description: >
+ A short lead descripton about this content page. It can be **bold** or _italic_ and can be split over multiple paragraphs.
+---
+
+{{% pageinfo %}}
+This is a placeholder page. Replace it with your own content.
+{{% /pageinfo %}}
+
+
+Text can be **bold**, _italic_, or ~~strikethrough~~. [Links](https://gohugo.io) should be blue with no underlines (unless hovered over).
+
+There should be whitespace between paragraphs. Vape migas chillwave sriracha poutine try-hard distillery. Tattooed shabby chic small batch, pabst art party heirloom letterpress air plant pop-up. Sustainable chia skateboard art party banjo cardigan normcore affogato vexillologist quinoa meggings man bun master cleanse shoreditch readymade. Yuccie prism four dollar toast tbh cardigan iPhone, tumblr listicle live-edge VHS. Pug lyft normcore hot chicken biodiesel, actually keffiyeh thundercats photo booth pour-over twee fam food truck microdosing banh mi. Vice activated charcoal raclette unicorn live-edge post-ironic. Heirloom vexillologist coloring book, beard deep v letterpress echo park humblebrag tilde.
+
+90's four loko seitan photo booth gochujang freegan tumeric listicle fam ugh humblebrag. Bespoke leggings gastropub, biodiesel brunch pug fashion axe meh swag art party neutra deep v chia. Enamel pin fanny pack knausgaard tofu, artisan cronut hammock meditation occupy master cleanse chartreuse lumbersexual. Kombucha kogi viral truffaut synth distillery single-origin coffee ugh slow-carb marfa selfies. Pitchfork schlitz semiotics fanny pack, ugh artisan vegan vaporware hexagon. Polaroid fixie post-ironic venmo wolf ramps **kale chips**.
+
+> There should be no margin above this first sentence.
+>
+> Blockquotes should be a lighter gray with a border along the left side in the secondary color.
+>
+> There should be no margin below this final sentence.
+
+## First Header 2
+
+This is a normal paragraph following a header. Knausgaard kale chips snackwave microdosing cronut copper mug swag synth bitters letterpress glossier **craft beer**. Mumblecore bushwick authentic gochujang vegan chambray meditation jean shorts irony. Viral farm-to-table kale chips, pork belly palo santo distillery activated charcoal aesthetic jianbing air plant woke lomo VHS organic. Tattooed locavore succulents heirloom, small batch sriracha echo park DIY af. Shaman you probably haven't heard of them copper mug, crucifix green juice vape *single-origin coffee* brunch actually. Mustache etsy vexillologist raclette authentic fam. Tousled beard humblebrag asymmetrical. I love turkey, I love my job, I love my friends, I love Chardonnay!
+
+Deae legum paulatimque terra, non vos mutata tacet: dic. Vocant docuique me plumas fila quin afuerunt copia haec o neque.
+
+On big screens, paragraphs and headings should not take up the full container width, but we want tables, code blocks and similar to take the full width.
+
+Scenester tumeric pickled, authentic crucifix post-ironic fam freegan VHS pork belly 8-bit yuccie PBR&B. **I love this life we live in**.
+
+
+## Second Header 2
+
+> This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
+
+### Header 3
+
+```
+This is a code block following a header.
+```
+
+Next level leggings before they sold out, PBR&B church-key shaman echo park. Kale chips occupy godard whatever pop-up freegan pork belly selfies. Gastropub Belinda subway tile woke post-ironic seitan. Shabby chic man bun semiotics vape, chia messenger bag plaid cardigan.
+
+#### Header 4
+
+* This is an unordered list following a header.
+* This is an unordered list following a header.
+* This is an unordered list following a header.
+
+##### Header 5
+
+1. This is an ordered list following a header.
+2. This is an ordered list following a header.
+3. This is an ordered list following a header.
+
+###### Header 6
+
+| What | Follows |
+|-----------|-----------------|
+| A table | A header |
+| A table | A header |
+| A table | A header |
+
+----------------
+
+There's a horizontal rule above and below this.
+
+----------------
+
+Here is an unordered list:
+
+* Liverpool F.C.
+* Chelsea F.C.
+* Manchester United F.C.
+
+And an ordered list:
+
+1. Michael Brecker
+2. Seamus Blake
+3. Branford Marsalis
+
+And an unordered task list:
+
+- [x] Create a Hugo theme
+- [x] Add task lists to it
+- [ ] Take a vacation
+
+And a "mixed" task list:
+
+- [ ] Pack bags
+- ?
+- [ ] Travel!
+
+And a nested list:
+
+* Jackson 5
+ * Michael
+ * Tito
+ * Jackie
+ * Marlon
+ * Jermaine
+* TMNT
+ * Leonardo
+ * Michelangelo
+ * Donatello
+ * Raphael
+
+Definition lists can be used with Markdown syntax. Definition headers are bold.
+
+Name
+: Godzilla
+
+Born
+: 1952
+
+Birthplace
+: Japan
+
+Color
+: Green
+
+
+----------------
+
+Tables should have bold headings and alternating shaded rows.
+
+| Artist | Album | Year |
+|-------------------|-----------------|------|
+| Michael Jackson | Thriller | 1982 |
+| Prince | Purple Rain | 1984 |
+| Beastie Boys | License to Ill | 1986 |
+
+If a table is too wide, it should scroll horizontally.
+
+| Artist | Album | Year | Label | Awards | Songs |
+|-------------------|-----------------|------|-------------|----------|-----------|
+| Michael Jackson | Thriller | 1982 | Epic Records | Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical | Wanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life |
+| Prince | Purple Rain | 1984 | Warner Brothers Records | Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal | Let's Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I'm a Star, Purple Rain |
+| Beastie Boys | License to Ill | 1986 | Mercury Records | noawardsbutthistablecelliswide | Rhymin & Stealin, The New Style, She's Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill |
+
+----------------
+
+Code snippets like `var foo = "bar";` can be shown inline.
+
+Also, `this should vertically align` ~~`with this`~~ ~~and this~~.
+
+Code can also be shown in a block element.
+
+```
+foo := "bar";
+bar := "foo";
+```
+
+Code can also use syntax highlighting.
+
+```go
+func main() {
+ input := `var foo = "bar";`
+
+ lexer := lexers.Get("javascript")
+ iterator, _ := lexer.Tokenise(nil, input)
+ style := styles.Get("github")
+ formatter := html.New(html.WithLineNumbers())
+
+ var buff bytes.Buffer
+ formatter.Format(&buff, style, iterator)
+
+ fmt.Println(buff.String())
+}
+```
+
+```
+Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.
+```
+
+Inline code inside table cells should still be distinguishable.
+
+| Language | Code |
+|-------------|--------------------|
+| Javascript | `var foo = "bar";` |
+| Ruby | `foo = "bar"{` |
+
+----------------
+
+Small images should be shown at their actual size.
+
+
+
+Large images should always scale down and fit in the content container.
+
+
+
+_The photo above of the Spruce Picea abies shoot with foliage buds: Bjørn Erik Pedersen, CC-BY-SA._
+
+
+## Components
+
+### Alerts
+
+{{< alert >}}This is an alert.{{< /alert >}}
+{{< alert title="Note" >}}This is an alert with a title.{{< /alert >}}
+{{% alert title="Note" %}}This is an alert with a title and **Markdown**.{{% /alert %}}
+{{< alert color="success" >}}This is a successful alert.{{< /alert >}}
+{{< alert color="warning" >}}This is a warning.{{< /alert >}}
+{{< alert color="warning" title="Warning" >}}This is a warning with a title.{{< /alert >}}
+
+
+## Another Heading
+
+Add some sections here to see how the ToC looks like. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
+
+### This Document
+
+Inguina genus: Anaphen post: lingua violente voce suae meus aetate diversi. Orbis unam nec flammaeque status deam Silenum erat et a ferrea. Excitus rigidum ait: vestro et Herculis convicia: nitidae deseruit coniuge Proteaque adiciam *eripitur*? Sitim noceat signa *probat quidem*. Sua longis *fugatis* quidem genae.
+
+
+### Pixel Count
+
+Tilde photo booth wayfarers cliche lomo intelligentsia man braid kombucha vaporware farm-to-table mixtape portland. PBR&B pickled cornhole ugh try-hard ethical subway tile. Fixie paleo intelligentsia pabst. Ennui waistcoat vinyl gochujang. Poutine salvia authentic affogato, chambray lumbersexual shabby chic.
+
+### Contact Info
+
+Plaid hell of cred microdosing, succulents tilde pour-over. Offal shabby chic 3 wolf moon blue bottle raw denim normcore poutine pork belly.
+
+
+### External Links
+
+Stumptown PBR&B keytar plaid street art, forage XOXO pitchfork selvage affogato green juice listicle pickled everyday carry hashtag. Organic sustainable letterpress sartorial scenester intelligentsia swag bushwick. Put a bird on it stumptown neutra locavore. IPhone typewriter messenger bag narwhal. Ennui cold-pressed seitan flannel keytar, single-origin coffee adaptogen occupy yuccie williamsburg chillwave shoreditch forage waistcoat.
+
+
+
+```
+This is the final element on the page and there should be no margin below this.
+```
diff --git a/landing-pages/site/content/en/roadmap/Tasks/task.md b/landing-pages/site/content/en/roadmap/Tasks/task.md
new file mode 100644
index 00000000000..dfaf2d9a10c
--- /dev/null
+++ b/landing-pages/site/content/en/roadmap/Tasks/task.md
@@ -0,0 +1,239 @@
+---
+title: "Another Task"
+date: 2017-01-05
+weight: 5
+description: >
+ A short lead descripton about this content page. It can be **bold** or _italic_ and can be split over multiple paragraphs.
+---
+
+{{% pageinfo %}}
+This is a placeholder page. Replace it with your own content.
+{{% /pageinfo %}}
+
+
+Text can be **bold**, _italic_, or ~~strikethrough~~. [Links](https://gohugo.io) should be blue with no underlines (unless hovered over).
+
+There should be whitespace between paragraphs. Vape migas chillwave sriracha poutine try-hard distillery. Tattooed shabby chic small batch, pabst art party heirloom letterpress air plant pop-up. Sustainable chia skateboard art party banjo cardigan normcore affogato vexillologist quinoa meggings man bun master cleanse shoreditch readymade. Yuccie prism four dollar toast tbh cardigan iPhone, tumblr listicle live-edge VHS. Pug lyft normcore hot chicken biodiesel, actually keffiyeh thundercats photo booth pour-over twee fam food truck microdosing banh mi. Vice activated charcoal raclette unicorn live-edge post-ironic. Heirloom vexillologist coloring book, beard deep v letterpress echo park humblebrag tilde.
+
+90's four loko seitan photo booth gochujang freegan tumeric listicle fam ugh humblebrag. Bespoke leggings gastropub, biodiesel brunch pug fashion axe meh swag art party neutra deep v chia. Enamel pin fanny pack knausgaard tofu, artisan cronut hammock meditation occupy master cleanse chartreuse lumbersexual. Kombucha kogi viral truffaut synth distillery single-origin coffee ugh slow-carb marfa selfies. Pitchfork schlitz semiotics fanny pack, ugh artisan vegan vaporware hexagon. Polaroid fixie post-ironic venmo wolf ramps **kale chips**.
+
+> There should be no margin above this first sentence.
+>
+> Blockquotes should be a lighter gray with a border along the left side in the secondary color.
+>
+> There should be no margin below this final sentence.
+
+## First Header 2
+
+This is a normal paragraph following a header. Knausgaard kale chips snackwave microdosing cronut copper mug swag synth bitters letterpress glossier **craft beer**. Mumblecore bushwick authentic gochujang vegan chambray meditation jean shorts irony. Viral farm-to-table kale chips, pork belly palo santo distillery activated charcoal aesthetic jianbing air plant woke lomo VHS organic. Tattooed locavore succulents heirloom, small batch sriracha echo park DIY af. Shaman you probably haven't heard of them copper mug, crucifix green juice vape *single-origin coffee* brunch actually. Mustache etsy vexillologist raclette authentic fam. Tousled beard humblebrag asymmetrical. I love turkey, I love my job, I love my friends, I love Chardonnay!
+
+Deae legum paulatimque terra, non vos mutata tacet: dic. Vocant docuique me plumas fila quin afuerunt copia haec o neque.
+
+On big screens, paragraphs and headings should not take up the full container width, but we want tables, code blocks and similar to take the full width.
+
+Scenester tumeric pickled, authentic crucifix post-ironic fam freegan VHS pork belly 8-bit yuccie PBR&B. **I love this life we live in**.
+
+
+## Second Header 2
+
+> This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
+
+### Header 3
+
+```
+This is a code block following a header.
+```
+
+Next level leggings before they sold out, PBR&B church-key shaman echo park. Kale chips occupy godard whatever pop-up freegan pork belly selfies. Gastropub Belinda subway tile woke post-ironic seitan. Shabby chic man bun semiotics vape, chia messenger bag plaid cardigan.
+
+#### Header 4
+
+* This is an unordered list following a header.
+* This is an unordered list following a header.
+* This is an unordered list following a header.
+
+##### Header 5
+
+1. This is an ordered list following a header.
+2. This is an ordered list following a header.
+3. This is an ordered list following a header.
+
+###### Header 6
+
+| What | Follows |
+|-----------|-----------------|
+| A table | A header |
+| A table | A header |
+| A table | A header |
+
+----------------
+
+There's a horizontal rule above and below this.
+
+----------------
+
+Here is an unordered list:
+
+* Liverpool F.C.
+* Chelsea F.C.
+* Manchester United F.C.
+
+And an ordered list:
+
+1. Michael Brecker
+2. Seamus Blake
+3. Branford Marsalis
+
+And an unordered task list:
+
+- [x] Create a Hugo theme
+- [x] Add task lists to it
+- [ ] Take a vacation
+
+And a "mixed" task list:
+
+- [ ] Pack bags
+- ?
+- [ ] Travel!
+
+And a nested list:
+
+* Jackson 5
+ * Michael
+ * Tito
+ * Jackie
+ * Marlon
+ * Jermaine
+* TMNT
+ * Leonardo
+ * Michelangelo
+ * Donatello
+ * Raphael
+
+Definition lists can be used with Markdown syntax. Definition headers are bold.
+
+Name
+: Godzilla
+
+Born
+: 1952
+
+Birthplace
+: Japan
+
+Color
+: Green
+
+
+----------------
+
+Tables should have bold headings and alternating shaded rows.
+
+| Artist | Album | Year |
+|-------------------|-----------------|------|
+| Michael Jackson | Thriller | 1982 |
+| Prince | Purple Rain | 1984 |
+| Beastie Boys | License to Ill | 1986 |
+
+If a table is too wide, it should scroll horizontally.
+
+| Artist | Album | Year | Label | Awards | Songs |
+|-------------------|-----------------|------|-------------|----------|-----------|
+| Michael Jackson | Thriller | 1982 | Epic Records | Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical | Wanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life |
+| Prince | Purple Rain | 1984 | Warner Brothers Records | Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal | Let's Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I'm a Star, Purple Rain |
+| Beastie Boys | License to Ill | 1986 | Mercury Records | noawardsbutthistablecelliswide | Rhymin & Stealin, The New Style, She's Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill |
+
+----------------
+
+Code snippets like `var foo = "bar";` can be shown inline.
+
+Also, `this should vertically align` ~~`with this`~~ ~~and this~~.
+
+Code can also be shown in a block element.
+
+```
+foo := "bar";
+bar := "foo";
+```
+
+Code can also use syntax highlighting.
+
+```go
+func main() {
+ input := `var foo = "bar";`
+
+ lexer := lexers.Get("javascript")
+ iterator, _ := lexer.Tokenise(nil, input)
+ style := styles.Get("github")
+ formatter := html.New(html.WithLineNumbers())
+
+ var buff bytes.Buffer
+ formatter.Format(&buff, style, iterator)
+
+ fmt.Println(buff.String())
+}
+```
+
+```
+Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.
+```
+
+Inline code inside table cells should still be distinguishable.
+
+| Language | Code |
+|-------------|--------------------|
+| Javascript | `var foo = "bar";` |
+| Ruby | `foo = "bar"{` |
+
+----------------
+
+Small images should be shown at their actual size.
+
+
+
+Large images should always scale down and fit in the content container.
+
+
+
+_The photo above of the Spruce Picea abies shoot with foliage buds: Bjørn Erik Pedersen, CC-BY-SA._
+
+
+## Components
+
+### Alerts
+
+{{< alert >}}This is an alert.{{< /alert >}}
+{{< alert title="Note" >}}This is an alert with a title.{{< /alert >}}
+{{% alert title="Note" %}}This is an alert with a title and **Markdown**.{{% /alert %}}
+{{< alert color="success" >}}This is a successful alert.{{< /alert >}}
+{{< alert color="warning" >}}This is a warning.{{< /alert >}}
+{{< alert color="warning" title="Warning" >}}This is a warning with a title.{{< /alert >}}
+
+
+## Another Heading
+
+Add some sections here to see how the ToC looks like. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
+
+### This Document
+
+Inguina genus: Anaphen post: lingua violente voce suae meus aetate diversi. Orbis unam nec flammaeque status deam Silenum erat et a ferrea. Excitus rigidum ait: vestro et Herculis convicia: nitidae deseruit coniuge Proteaque adiciam *eripitur*? Sitim noceat signa *probat quidem*. Sua longis *fugatis* quidem genae.
+
+
+### Pixel Count
+
+Tilde photo booth wayfarers cliche lomo intelligentsia man braid kombucha vaporware farm-to-table mixtape portland. PBR&B pickled cornhole ugh try-hard ethical subway tile. Fixie paleo intelligentsia pabst. Ennui waistcoat vinyl gochujang. Poutine salvia authentic affogato, chambray lumbersexual shabby chic.
+
+### Contact Info
+
+Plaid hell of cred microdosing, succulents tilde pour-over. Offal shabby chic 3 wolf moon blue bottle raw denim normcore poutine pork belly.
+
+
+### External Links
+
+Stumptown PBR&B keytar plaid street art, forage XOXO pitchfork selvage affogato green juice listicle pickled everyday carry hashtag. Organic sustainable letterpress sartorial scenester intelligentsia swag bushwick. Put a bird on it stumptown neutra locavore. IPhone typewriter messenger bag narwhal. Ennui cold-pressed seitan flannel keytar, single-origin coffee adaptogen occupy yuccie williamsburg chillwave shoreditch forage waistcoat.
+
+
+
+```
+This is the final element on the page and there should be no margin below this.
+```
diff --git a/landing-pages/site/content/en/roadmap/Tutorials/_index.md b/landing-pages/site/content/en/roadmap/Tutorials/_index.md
new file mode 100644
index 00000000000..5ed21777e8e
--- /dev/null
+++ b/landing-pages/site/content/en/roadmap/Tutorials/_index.md
@@ -0,0 +1,15 @@
+
+---
+title: "Tutorials"
+linkTitle: "Tutorials"
+weight: 8
+date: 2017-01-04
+description: >
+ Show your user how to work through some end to end examples.
+---
+
+{{% pageinfo %}}
+This is a placeholder page that shows you how to use this template site.
+{{% /pageinfo %}}
+
+Tutorials are **complete worked examples** made up of **multiple tasks** that guide the user through a relatively simple but realistic scenario: building an application that uses some of your project’s features, for example. If you have already created some Examples for your project you can base Tutorials on them. This section is **optional**. However, remember that although you may not need this section at first, having tutorials can be useful to help your users engage with your example code, especially if there are aspects that need more explanation than you can easily provide in code comments.
diff --git a/landing-pages/site/content/en/roadmap/Tutorials/multi-bear.md b/landing-pages/site/content/en/roadmap/Tutorials/multi-bear.md
new file mode 100644
index 00000000000..6281c0aed2c
--- /dev/null
+++ b/landing-pages/site/content/en/roadmap/Tutorials/multi-bear.md
@@ -0,0 +1,238 @@
+---
+title: "Multi-Bear Domicile Setup"
+date: 2017-01-05
+weight: 4
+description: >
+ A short lead descripton about this content page. It can be **bold** or _italic_ and can be split over multiple paragraphs.
+---
+
+{{% pageinfo %}}
+This is a placeholder page. Replace it with your own content.
+{{% /pageinfo %}}
+
+Text can be **bold**, _italic_, or ~~strikethrough~~. [Links](https://gohugo.io) should be blue with no underlines (unless hovered over).
+
+There should be whitespace between paragraphs. Vape migas chillwave sriracha poutine try-hard distillery. Tattooed shabby chic small batch, pabst art party heirloom letterpress air plant pop-up. Sustainable chia skateboard art party banjo cardigan normcore affogato vexillologist quinoa meggings man bun master cleanse shoreditch readymade. Yuccie prism four dollar toast tbh cardigan iPhone, tumblr listicle live-edge VHS. Pug lyft normcore hot chicken biodiesel, actually keffiyeh thundercats photo booth pour-over twee fam food truck microdosing banh mi. Vice activated charcoal raclette unicorn live-edge post-ironic. Heirloom vexillologist coloring book, beard deep v letterpress echo park humblebrag tilde.
+
+90's four loko seitan photo booth gochujang freegan tumeric listicle fam ugh humblebrag. Bespoke leggings gastropub, biodiesel brunch pug fashion axe meh swag art party neutra deep v chia. Enamel pin fanny pack knausgaard tofu, artisan cronut hammock meditation occupy master cleanse chartreuse lumbersexual. Kombucha kogi viral truffaut synth distillery single-origin coffee ugh slow-carb marfa selfies. Pitchfork schlitz semiotics fanny pack, ugh artisan vegan vaporware hexagon. Polaroid fixie post-ironic venmo wolf ramps **kale chips**.
+
+> There should be no margin above this first sentence.
+>
+> Blockquotes should be a lighter gray with a border along the left side in the secondary color.
+>
+> There should be no margin below this final sentence.
+
+## First Header 2
+
+This is a normal paragraph following a header. Knausgaard kale chips snackwave microdosing cronut copper mug swag synth bitters letterpress glossier **craft beer**. Mumblecore bushwick authentic gochujang vegan chambray meditation jean shorts irony. Viral farm-to-table kale chips, pork belly palo santo distillery activated charcoal aesthetic jianbing air plant woke lomo VHS organic. Tattooed locavore succulents heirloom, small batch sriracha echo park DIY af. Shaman you probably haven't heard of them copper mug, crucifix green juice vape *single-origin coffee* brunch actually. Mustache etsy vexillologist raclette authentic fam. Tousled beard humblebrag asymmetrical. I love turkey, I love my job, I love my friends, I love Chardonnay!
+
+Deae legum paulatimque terra, non vos mutata tacet: dic. Vocant docuique me plumas fila quin afuerunt copia haec o neque.
+
+On big screens, paragraphs and headings should not take up the full container width, but we want tables, code blocks and similar to take the full width.
+
+Scenester tumeric pickled, authentic crucifix post-ironic fam freegan VHS pork belly 8-bit yuccie PBR&B. **I love this life we live in**.
+
+
+## Second Header 2
+
+> This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
+
+### Header 3
+
+```
+This is a code block following a header.
+```
+
+Next level leggings before they sold out, PBR&B church-key shaman echo park. Kale chips occupy godard whatever pop-up freegan pork belly selfies. Gastropub Belinda subway tile woke post-ironic seitan. Shabby chic man bun semiotics vape, chia messenger bag plaid cardigan.
+
+#### Header 4
+
+* This is an unordered list following a header.
+* This is an unordered list following a header.
+* This is an unordered list following a header.
+
+##### Header 5
+
+1. This is an ordered list following a header.
+2. This is an ordered list following a header.
+3. This is an ordered list following a header.
+
+###### Header 6
+
+| What | Follows |
+|-----------|-----------------|
+| A table | A header |
+| A table | A header |
+| A table | A header |
+
+----------------
+
+There's a horizontal rule above and below this.
+
+----------------
+
+Here is an unordered list:
+
+* Liverpool F.C.
+* Chelsea F.C.
+* Manchester United F.C.
+
+And an ordered list:
+
+1. Michael Brecker
+2. Seamus Blake
+3. Branford Marsalis
+
+And an unordered task list:
+
+- [x] Create a Hugo theme
+- [x] Add task lists to it
+- [ ] Take a vacation
+
+And a "mixed" task list:
+
+- [ ] Pack bags
+- ?
+- [ ] Travel!
+
+And a nested list:
+
+* Jackson 5
+ * Michael
+ * Tito
+ * Jackie
+ * Marlon
+ * Jermaine
+* TMNT
+ * Leonardo
+ * Michelangelo
+ * Donatello
+ * Raphael
+
+Definition lists can be used with Markdown syntax. Definition headers are bold.
+
+Name
+: Godzilla
+
+Born
+: 1952
+
+Birthplace
+: Japan
+
+Color
+: Green
+
+
+----------------
+
+Tables should have bold headings and alternating shaded rows.
+
+| Artist | Album | Year |
+|-------------------|-----------------|------|
+| Michael Jackson | Thriller | 1982 |
+| Prince | Purple Rain | 1984 |
+| Beastie Boys | License to Ill | 1986 |
+
+If a table is too wide, it should scroll horizontally.
+
+| Artist | Album | Year | Label | Awards | Songs |
+|-------------------|-----------------|------|-------------|----------|-----------|
+| Michael Jackson | Thriller | 1982 | Epic Records | Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical | Wanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life |
+| Prince | Purple Rain | 1984 | Warner Brothers Records | Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal | Let's Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I'm a Star, Purple Rain |
+| Beastie Boys | License to Ill | 1986 | Mercury Records | noawardsbutthistablecelliswide | Rhymin & Stealin, The New Style, She's Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill |
+
+----------------
+
+Code snippets like `var foo = "bar";` can be shown inline.
+
+Also, `this should vertically align` ~~`with this`~~ ~~and this~~.
+
+Code can also be shown in a block element.
+
+```
+foo := "bar";
+bar := "foo";
+```
+
+Code can also use syntax highlighting.
+
+```go
+func main() {
+ input := `var foo = "bar";`
+
+ lexer := lexers.Get("javascript")
+ iterator, _ := lexer.Tokenise(nil, input)
+ style := styles.Get("github")
+ formatter := html.New(html.WithLineNumbers())
+
+ var buff bytes.Buffer
+ formatter.Format(&buff, style, iterator)
+
+ fmt.Println(buff.String())
+}
+```
+
+```
+Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.
+```
+
+Inline code inside table cells should still be distinguishable.
+
+| Language | Code |
+|-------------|--------------------|
+| Javascript | `var foo = "bar";` |
+| Ruby | `foo = "bar"{` |
+
+----------------
+
+Small images should be shown at their actual size.
+
+
+
+Large images should always scale down and fit in the content container.
+
+
+
+_The photo above of the Spruce Picea abies shoot with foliage buds: Bjørn Erik Pedersen, CC-BY-SA._
+
+
+## Components
+
+### Alerts
+
+{{< alert >}}This is an alert.{{< /alert >}}
+{{< alert title="Note" >}}This is an alert with a title.{{< /alert >}}
+{{% alert title="Note" %}}This is an alert with a title and **Markdown**.{{% /alert %}}
+{{< alert color="success" >}}This is a successful alert.{{< /alert >}}
+{{< alert color="warning" >}}This is a warning.{{< /alert >}}
+{{< alert color="warning" title="Warning" >}}This is a warning with a title.{{< /alert >}}
+
+
+## Another Heading
+
+Add some sections here to see how the ToC looks like. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
+
+### This Document
+
+Inguina genus: Anaphen post: lingua violente voce suae meus aetate diversi. Orbis unam nec flammaeque status deam Silenum erat et a ferrea. Excitus rigidum ait: vestro et Herculis convicia: nitidae deseruit coniuge Proteaque adiciam *eripitur*? Sitim noceat signa *probat quidem*. Sua longis *fugatis* quidem genae.
+
+
+### Pixel Count
+
+Tilde photo booth wayfarers cliche lomo intelligentsia man braid kombucha vaporware farm-to-table mixtape portland. PBR&B pickled cornhole ugh try-hard ethical subway tile. Fixie paleo intelligentsia pabst. Ennui waistcoat vinyl gochujang. Poutine salvia authentic affogato, chambray lumbersexual shabby chic.
+
+### Contact Info
+
+Plaid hell of cred microdosing, succulents tilde pour-over. Offal shabby chic 3 wolf moon blue bottle raw denim normcore poutine pork belly.
+
+
+### External Links
+
+Stumptown PBR&B keytar plaid street art, forage XOXO pitchfork selvage affogato green juice listicle pickled everyday carry hashtag. Organic sustainable letterpress sartorial scenester intelligentsia swag bushwick. Put a bird on it stumptown neutra locavore. IPhone typewriter messenger bag narwhal. Ennui cold-pressed seitan flannel keytar, single-origin coffee adaptogen occupy yuccie williamsburg chillwave shoreditch forage waistcoat.
+
+
+
+```
+This is the final element on the page and there should be no margin below this.
+```
diff --git a/landing-pages/site/content/en/roadmap/Tutorials/tutorial2.md b/landing-pages/site/content/en/roadmap/Tutorials/tutorial2.md
new file mode 100644
index 00000000000..d81f650eb7c
--- /dev/null
+++ b/landing-pages/site/content/en/roadmap/Tutorials/tutorial2.md
@@ -0,0 +1,238 @@
+---
+title: "Another Tutorial"
+date: 2017-01-05
+weight: 5
+description: >
+ A short lead descripton about this content page. It can be **bold** or _italic_ and can be split over multiple paragraphs.
+---
+
+{{% pageinfo %}}
+This is a placeholder page. Replace it with your own content.
+{{% /pageinfo %}}
+
+Text can be **bold**, _italic_, or ~~strikethrough~~. [Links](https://gohugo.io) should be blue with no underlines (unless hovered over).
+
+There should be whitespace between paragraphs. Vape migas chillwave sriracha poutine try-hard distillery. Tattooed shabby chic small batch, pabst art party heirloom letterpress air plant pop-up. Sustainable chia skateboard art party banjo cardigan normcore affogato vexillologist quinoa meggings man bun master cleanse shoreditch readymade. Yuccie prism four dollar toast tbh cardigan iPhone, tumblr listicle live-edge VHS. Pug lyft normcore hot chicken biodiesel, actually keffiyeh thundercats photo booth pour-over twee fam food truck microdosing banh mi. Vice activated charcoal raclette unicorn live-edge post-ironic. Heirloom vexillologist coloring book, beard deep v letterpress echo park humblebrag tilde.
+
+90's four loko seitan photo booth gochujang freegan tumeric listicle fam ugh humblebrag. Bespoke leggings gastropub, biodiesel brunch pug fashion axe meh swag art party neutra deep v chia. Enamel pin fanny pack knausgaard tofu, artisan cronut hammock meditation occupy master cleanse chartreuse lumbersexual. Kombucha kogi viral truffaut synth distillery single-origin coffee ugh slow-carb marfa selfies. Pitchfork schlitz semiotics fanny pack, ugh artisan vegan vaporware hexagon. Polaroid fixie post-ironic venmo wolf ramps **kale chips**.
+
+> There should be no margin above this first sentence.
+>
+> Blockquotes should be a lighter gray with a border along the left side in the secondary color.
+>
+> There should be no margin below this final sentence.
+
+## First Header 2
+
+This is a normal paragraph following a header. Knausgaard kale chips snackwave microdosing cronut copper mug swag synth bitters letterpress glossier **craft beer**. Mumblecore bushwick authentic gochujang vegan chambray meditation jean shorts irony. Viral farm-to-table kale chips, pork belly palo santo distillery activated charcoal aesthetic jianbing air plant woke lomo VHS organic. Tattooed locavore succulents heirloom, small batch sriracha echo park DIY af. Shaman you probably haven't heard of them copper mug, crucifix green juice vape *single-origin coffee* brunch actually. Mustache etsy vexillologist raclette authentic fam. Tousled beard humblebrag asymmetrical. I love turkey, I love my job, I love my friends, I love Chardonnay!
+
+Deae legum paulatimque terra, non vos mutata tacet: dic. Vocant docuique me plumas fila quin afuerunt copia haec o neque.
+
+On big screens, paragraphs and headings should not take up the full container width, but we want tables, code blocks and similar to take the full width.
+
+Scenester tumeric pickled, authentic crucifix post-ironic fam freegan VHS pork belly 8-bit yuccie PBR&B. **I love this life we live in**.
+
+
+## Second Header 2
+
+> This is a blockquote following a header. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
+
+### Header 3
+
+```
+This is a code block following a header.
+```
+
+Next level leggings before they sold out, PBR&B church-key shaman echo park. Kale chips occupy godard whatever pop-up freegan pork belly selfies. Gastropub Belinda subway tile woke post-ironic seitan. Shabby chic man bun semiotics vape, chia messenger bag plaid cardigan.
+
+#### Header 4
+
+* This is an unordered list following a header.
+* This is an unordered list following a header.
+* This is an unordered list following a header.
+
+##### Header 5
+
+1. This is an ordered list following a header.
+2. This is an ordered list following a header.
+3. This is an ordered list following a header.
+
+###### Header 6
+
+| What | Follows |
+|-----------|-----------------|
+| A table | A header |
+| A table | A header |
+| A table | A header |
+
+----------------
+
+There's a horizontal rule above and below this.
+
+----------------
+
+Here is an unordered list:
+
+* Liverpool F.C.
+* Chelsea F.C.
+* Manchester United F.C.
+
+And an ordered list:
+
+1. Michael Brecker
+2. Seamus Blake
+3. Branford Marsalis
+
+And an unordered task list:
+
+- [x] Create a Hugo theme
+- [x] Add task lists to it
+- [ ] Take a vacation
+
+And a "mixed" task list:
+
+- [ ] Pack bags
+- ?
+- [ ] Travel!
+
+And a nested list:
+
+* Jackson 5
+ * Michael
+ * Tito
+ * Jackie
+ * Marlon
+ * Jermaine
+* TMNT
+ * Leonardo
+ * Michelangelo
+ * Donatello
+ * Raphael
+
+Definition lists can be used with Markdown syntax. Definition headers are bold.
+
+Name
+: Godzilla
+
+Born
+: 1952
+
+Birthplace
+: Japan
+
+Color
+: Green
+
+
+----------------
+
+Tables should have bold headings and alternating shaded rows.
+
+| Artist | Album | Year |
+|-------------------|-----------------|------|
+| Michael Jackson | Thriller | 1982 |
+| Prince | Purple Rain | 1984 |
+| Beastie Boys | License to Ill | 1986 |
+
+If a table is too wide, it should scroll horizontally.
+
+| Artist | Album | Year | Label | Awards | Songs |
+|-------------------|-----------------|------|-------------|----------|-----------|
+| Michael Jackson | Thriller | 1982 | Epic Records | Grammy Award for Album of the Year, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Selling Album, Grammy Award for Best Engineered Album, Non-Classical | Wanna Be Startin' Somethin', Baby Be Mine, The Girl Is Mine, Thriller, Beat It, Billie Jean, Human Nature, P.Y.T. (Pretty Young Thing), The Lady in My Life |
+| Prince | Purple Rain | 1984 | Warner Brothers Records | Grammy Award for Best Score Soundtrack for Visual Media, American Music Award for Favorite Pop/Rock Album, American Music Award for Favorite Soul/R&B Album, Brit Award for Best Soundtrack/Cast Recording, Grammy Award for Best Rock Performance by a Duo or Group with Vocal | Let's Go Crazy, Take Me With U, The Beautiful Ones, Computer Blue, Darling Nikki, When Doves Cry, I Would Die 4 U, Baby I'm a Star, Purple Rain |
+| Beastie Boys | License to Ill | 1986 | Mercury Records | noawardsbutthistablecelliswide | Rhymin & Stealin, The New Style, She's Crafty, Posse in Effect, Slow Ride, Girls, (You Gotta) Fight for Your Right, No Sleep Till Brooklyn, Paul Revere, Hold It Now, Hit It, Brass Monkey, Slow and Low, Time to Get Ill |
+
+----------------
+
+Code snippets like `var foo = "bar";` can be shown inline.
+
+Also, `this should vertically align` ~~`with this`~~ ~~and this~~.
+
+Code can also be shown in a block element.
+
+```
+foo := "bar";
+bar := "foo";
+```
+
+Code can also use syntax highlighting.
+
+```go
+func main() {
+ input := `var foo = "bar";`
+
+ lexer := lexers.Get("javascript")
+ iterator, _ := lexer.Tokenise(nil, input)
+ style := styles.Get("github")
+ formatter := html.New(html.WithLineNumbers())
+
+ var buff bytes.Buffer
+ formatter.Format(&buff, style, iterator)
+
+ fmt.Println(buff.String())
+}
+```
+
+```
+Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.
+```
+
+Inline code inside table cells should still be distinguishable.
+
+| Language | Code |
+|-------------|--------------------|
+| Javascript | `var foo = "bar";` |
+| Ruby | `foo = "bar"{` |
+
+----------------
+
+Small images should be shown at their actual size.
+
+
+
+Large images should always scale down and fit in the content container.
+
+
+
+_The photo above of the Spruce Picea abies shoot with foliage buds: Bjørn Erik Pedersen, CC-BY-SA._
+
+
+## Components
+
+### Alerts
+
+{{< alert >}}This is an alert.{{< /alert >}}
+{{< alert title="Note" >}}This is an alert with a title.{{< /alert >}}
+{{% alert title="Note" %}}This is an alert with a title and **Markdown**.{{% /alert %}}
+{{< alert color="success" >}}This is a successful alert.{{< /alert >}}
+{{< alert color="warning" >}}This is a warning.{{< /alert >}}
+{{< alert color="warning" title="Warning" >}}This is a warning with a title.{{< /alert >}}
+
+
+## Another Heading
+
+Add some sections here to see how the ToC looks like. Bacon ipsum dolor sit amet t-bone doner shank drumstick, pork belly porchetta chuck sausage brisket ham hock rump pig. Chuck kielbasa leberkas, pork bresaola ham hock filet mignon cow shoulder short ribs biltong.
+
+### This Document
+
+Inguina genus: Anaphen post: lingua violente voce suae meus aetate diversi. Orbis unam nec flammaeque status deam Silenum erat et a ferrea. Excitus rigidum ait: vestro et Herculis convicia: nitidae deseruit coniuge Proteaque adiciam *eripitur*? Sitim noceat signa *probat quidem*. Sua longis *fugatis* quidem genae.
+
+
+### Pixel Count
+
+Tilde photo booth wayfarers cliche lomo intelligentsia man braid kombucha vaporware farm-to-table mixtape portland. PBR&B pickled cornhole ugh try-hard ethical subway tile. Fixie paleo intelligentsia pabst. Ennui waistcoat vinyl gochujang. Poutine salvia authentic affogato, chambray lumbersexual shabby chic.
+
+### Contact Info
+
+Plaid hell of cred microdosing, succulents tilde pour-over. Offal shabby chic 3 wolf moon blue bottle raw denim normcore poutine pork belly.
+
+
+### External Links
+
+Stumptown PBR&B keytar plaid street art, forage XOXO pitchfork selvage affogato green juice listicle pickled everyday carry hashtag. Organic sustainable letterpress sartorial scenester intelligentsia swag bushwick. Put a bird on it stumptown neutra locavore. IPhone typewriter messenger bag narwhal. Ennui cold-pressed seitan flannel keytar, single-origin coffee adaptogen occupy yuccie williamsburg chillwave shoreditch forage waistcoat.
+
+
+
+```
+This is the final element on the page and there should be no margin below this.
+```
diff --git a/landing-pages/site/content/en/roadmap/_index.md b/landing-pages/site/content/en/roadmap/_index.md
new file mode 100644
index 00000000000..f451d7fe804
--- /dev/null
+++ b/landing-pages/site/content/en/roadmap/_index.md
@@ -0,0 +1,77 @@
+---
+title: "Overview"
+linkTitle: "Roadmap"
+menu:
+ main:
+ weight: 15
+---
+
+## Primary Heading A
+
+One thing to wrap your head around (it may not be very intuitive for everyone at first) is that this Airflow Python
+script is really just a configuration file specifying the DAG’s structure as code. The actual tasks defined here will
+run in a different context from the context of this script. Different tasks run on different workers at different
+points in time, which means that this script cannot be used to cross communicate between tasks. Note that for
+this purpose we have a more advanced feature called XCom.
+
+People sometimes think of the DAG definition file as a place where they can do some actual data processing -
+that is not the case at all! The script’s purpose is to define a DAG object. It needs to evaluate quickly (seconds,
+not minutes) since the scheduler will execute it periodically to reflect the changes if any.
+
+People sometimes think of the DAG definition file as a place where they can do some actual data processing - that is not the case at all! The script’s purpose is to define a DAG object. It needs to evaluate quickly (seconds, not minutes) since the scheduler will execute it periodically to reflect the changes if any.
+
+## Primary Heading B
+
+One thing to wrap your head around (it may not be very intuitive for everyone at first) is that this Airflow Python
+script is really just a configuration file specifying the DAG’s structure as code. The actual tasks defined here will
+run in a different context from the context of this script. Different tasks run on different workers at different
+points in time, which means that this script cannot be used to cross communicate between tasks. Note that for
+this purpose we have a more advanced feature called XCom.
+
+{{< highlight js >}}
+// Synchronize user data and set up
+var currentUser = new Talk.User({
+ id: 79302, // user id
+ name: "George Looney", // full name
+ email: "george@looney.net" // for offline email fallback
+});
+var session = new Talk.Session({
+ appId: "9352938974", // your TalkJS account id
+ me: currentUser // make George the active user
+});
+{{< /highlight >}}
+
+## Primary Heading C
+
+One thing to wrap your head around (it may not be very intuitive for everyone at first) is that this Airflow Python
+script is really just a configuration file specifying the DAG’s structure as code. The actual tasks defined here will
+run in a different context from the context of this script. Different tasks run on different workers at different
+points in time, which means that this script cannot be used to cross communicate between tasks. Note that for
+this purpose we have a more advanced feature called XCom.
+
+{{< highlight js >}}
+// Synchronize user data and set up
+var currentUser = new Talk.User({
+ id: 79302, // user id
+ name: “George Looney”, // full name
+ email: “george@looney.net” // for offline email fallback
+});
+var session = new Talk.Session({
+ appId: “9352938974”, // your TalkJS account id
+ me: currentUser // make George the active user
+});
+{{< /highlight >}}
+
+## Primary Heading D
+
+One thing to wrap your head around (it may not be very intuitive for everyone at first) is that this Airflow Python
+script is really just a configuration file specifying the DAG’s structure as code. The actual tasks defined here will
+run in a different context from the context of this script. Different tasks run on different workers at different
+points in time, which means that this script cannot be used to cross communicate between tasks. Note that for
+this purpose we have a more advanced feature called XCom.
+
+People sometimes think of the DAG definition file as a place where they can do some actual data processing -
+that is not the case at all! The script’s purpose is to define a DAG object. It needs to evaluate quickly (seconds,
+not minutes) since the scheduler will execute it periodically to reflect the changes if any.
+
+People sometimes think of the DAG definition file as a place where they can do some actual data processing - that is not the case at all! The script’s purpose is to define a DAG object. It needs to evaluate quickly (seconds, not minutes) since the scheduler will execute it periodically to reflect the changes if any.
diff --git a/landing-pages/site/layouts/_default/baseof.html b/landing-pages/site/layouts/_default/baseof.html
index 1dcb2e88882..e91bf3698bb 100644
--- a/landing-pages/site/layouts/_default/baseof.html
+++ b/landing-pages/site/layouts/_default/baseof.html
@@ -45,11 +45,7 @@
+ {{ partial "suggest-change" . }}
{{ partialCached "footer.html" . }}
diff --git a/landing-pages/site/layouts/partials/sidebar-tree.html b/landing-pages/site/layouts/partials/sidebar-tree.html
new file mode 100644
index 00000000000..5d8217a12fb
--- /dev/null
+++ b/landing-pages/site/layouts/partials/sidebar-tree.html
@@ -0,0 +1,69 @@
+{{/*
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+*/}}
+
+{{/* We cache this partial for bigger sites and set the active class client side. */}}
+
+{{ end }}
diff --git a/landing-pages/site/layouts/partials/suggest-change.html b/landing-pages/site/layouts/partials/suggest-change.html
new file mode 100644
index 00000000000..01fb0de2e55
--- /dev/null
+++ b/landing-pages/site/layouts/partials/suggest-change.html
@@ -0,0 +1,25 @@
+{{/*
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+*/}}
+
+
diff --git a/landing-pages/site/layouts/roadmap/baseof.html b/landing-pages/site/layouts/roadmap/baseof.html
new file mode 100644
index 00000000000..3cb2dda9fd7
--- /dev/null
+++ b/landing-pages/site/layouts/roadmap/baseof.html
@@ -0,0 +1,77 @@
+{{/*
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+*/}}
+
+
+
+
+ {{ partial "head.html" . }}
+
+
+
+ {{ partial "navbar.html" . }}
+
+
+
+
+
+
+
+
+ {{ partial "sidebar.html" . }}
+
+
+
+
+
+
+ {{ partial "sidebar.html" . }}
+
+
+ {{ if not .Site.Params.ui.breadcrumb_disable }}{{ partial "breadcrumb.html" . }}{{ end }}
+ {{ block "main" . }}{{ end }}
+
+
+ {{ partial "suggest-change" . }}
+
+{{ partialCached "footer.html" . }}
+{{ partialCached "scripts.html" . }}
+
+{{ $script := .Site.Data.webpack.main }}
+{{ with $script.js }}
+
+{{ end }}
+
diff --git a/landing-pages/site/layouts/roadmap/list.html b/landing-pages/site/layouts/roadmap/list.html
new file mode 100644
index 00000000000..c4c194e603c
--- /dev/null
+++ b/landing-pages/site/layouts/roadmap/list.html
@@ -0,0 +1,25 @@
+{{/*
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+*/}}
+
+{{ define "main" }}
+
+
{{ .Title }}
+ {{ .Content }}
+
+{{ end }}
diff --git a/landing-pages/site/layouts/roadmap/single.html b/landing-pages/site/layouts/roadmap/single.html
new file mode 100644
index 00000000000..c4c194e603c
--- /dev/null
+++ b/landing-pages/site/layouts/roadmap/single.html
@@ -0,0 +1,25 @@
+{{/*
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+*/}}
+
+{{ define "main" }}
+
+
{{ .Title }}
+ {{ .Content }}
+
+{{ end }}
diff --git a/landing-pages/site/layouts/taxonomy/baseof.html b/landing-pages/site/layouts/taxonomy/baseof.html
index 8add970b9d8..817539281af 100644
--- a/landing-pages/site/layouts/taxonomy/baseof.html
+++ b/landing-pages/site/layouts/taxonomy/baseof.html
@@ -31,11 +31,7 @@
{{ block "main" . }}{{ end }}
-
+ {{ partial "suggest-change" . }}
{{ partialCached "footer.html" . }}
diff --git a/landing-pages/site/static/icons/sidebar-arrow.svg b/landing-pages/site/static/icons/sidebar-arrow.svg
new file mode 100644
index 00000000000..a40a81fd471
--- /dev/null
+++ b/landing-pages/site/static/icons/sidebar-arrow.svg
@@ -0,0 +1,3 @@
+
diff --git a/landing-pages/src/index.js b/landing-pages/src/index.js
index 82a4b68528e..9a871e75139 100644
--- a/landing-pages/src/index.js
+++ b/landing-pages/src/index.js
@@ -21,7 +21,10 @@ import {showMore} from "./js/showAllCommiters";
import {handleActiveVideo} from "./js/handleActiveVideo";
import "./js/navbarScroll";
import "./js/drawer";
+import "./js/contentDrawer";
+import "./js/progressTracking";
import "./js/rating";
+import "./js/makeTableResponsive";
if (document.querySelector("#search")) {
import(/* webpackChunkName: "search" */ "./js/searchBlogPosts");
diff --git a/landing-pages/src/js/contentDrawer.js b/landing-pages/src/js/contentDrawer.js
new file mode 100644
index 00000000000..748ac3b7203
--- /dev/null
+++ b/landing-pages/src/js/contentDrawer.js
@@ -0,0 +1,38 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+const handleContentDrawer = () => {
+ const drawer = window.document.querySelector("#content-drawer");
+ const navbar = window.document.querySelector("#content-navbar");
+ const openButton = window.document.querySelector("#content-open-button");
+ const closeButton = window.document.querySelector("#content-close-button");
+
+ if (!(drawer && openButton && closeButton && navbar)) return;
+
+ const toggleDrawer = () => {
+ drawer.classList.toggle("content-drawer-container--open");
+ navbar.classList.toggle("navbar--hidden");
+ };
+
+ openButton.addEventListener("click", toggleDrawer);
+ closeButton.addEventListener("click", toggleDrawer);
+
+};
+
+handleContentDrawer();
diff --git a/landing-pages/src/js/makeTableResponsive.js b/landing-pages/src/js/makeTableResponsive.js
new file mode 100644
index 00000000000..9abd97267e4
--- /dev/null
+++ b/landing-pages/src/js/makeTableResponsive.js
@@ -0,0 +1,38 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+const root = window.document.querySelector(".rst-content");
+
+const makeTablesResponsive = () => {
+ if (!root) return;
+
+ const tables = root.querySelectorAll("table");
+ if (!tables || tables.length === 0) return;
+
+ tables.forEach((table) => {
+ if (!table.parentNode.classList.contains("wy-table-responsive")) {
+ const responsiveTableWrapper = document.createElement("div");
+ responsiveTableWrapper.classList.add("wy-table-responsive");
+ table.parentNode.insertBefore(responsiveTableWrapper, table);
+ responsiveTableWrapper.appendChild(table);
+ }
+ });
+};
+
+makeTablesResponsive();
diff --git a/landing-pages/src/js/progressTracking.js b/landing-pages/src/js/progressTracking.js
new file mode 100644
index 00000000000..d730ed6b3a5
--- /dev/null
+++ b/landing-pages/src/js/progressTracking.js
@@ -0,0 +1,67 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import throttle from "lodash/debounce";
+
+const runProgressTracking = () => {
+ const sideNavRoot = document.querySelector(".wy-nav-side-toc");
+ if (!sideNavRoot) {
+ return;
+ }
+
+ const navTocElements = Array.from(sideNavRoot.querySelectorAll("li"));
+ const navItems = navTocElements.map((element) => {
+ const hash = element.querySelector("a").hash;
+ const target = hash.substr(1);
+ let targetElement;
+ if (target) {
+ targetElement = document.querySelector(`#${target}`);
+ } else {
+ targetElement = document.body;
+ }
+ return {navElement: element, targetElement};
+ });
+
+ const navbarHeight = window.document.querySelector("header > nav").offsetHeight;
+
+ const handleActiveSection = () => {
+ // The array should be sorted according to the position of the elements on the page
+ navItems.sort((a, b) => a.targetElement.offsetTop - b.targetElement.offsetTop);
+
+ let currentActiveIndex;
+
+ // If the top of the window is above the first element, select the first element
+ if (navItems[0].targetElement.offsetTop + navbarHeight > window.scrollY) {
+ currentActiveIndex = 0;
+ // If the top of the window is under the last element, select the last element
+ } else if (navItems[navItems.length - 1].targetElement.offsetTop + navbarHeight < window.scrollY) {
+ currentActiveIndex = navItems.length - 1;
+ } else {
+ // Try to determine the best element
+ currentActiveIndex = navItems.findIndex((item) => item.targetElement.offsetTop + navbarHeight > window.scrollY) - 1;
+ }
+ navItems.forEach((item) => item.navElement.classList.remove("current"));
+ navItems[currentActiveIndex].navElement.classList.add("current");
+ };
+
+ window.addEventListener("scroll", throttle(handleActiveSection, 10));
+ window.addEventListener("resize", throttle(handleActiveSection, 10));
+ handleActiveSection();
+};
+runProgressTracking();