+
```sql
with customers as (
@@ -255,4 +255,4 @@ select * from final
-
\ No newline at end of file
+
diff --git a/website/snippets/what-is-dbt-intro.md b/website/snippets/what-is-dbt-intro.md
new file mode 100644
index 00000000000..6826dafb852
--- /dev/null
+++ b/website/snippets/what-is-dbt-intro.md
@@ -0,0 +1 @@
+dbt is a transformation workflow that helps you get more work done while producing higher quality results. You can use dbt to modularize and centralize your analytics code, while also providing your data team with guardrails typically found in software engineering workflows. Collaborate on data models, version them, and test and document your queries before safely deploying them to production, with monitoring and visibility.
diff --git a/website/src/components/blogPostCard/index.js b/website/src/components/blogPostCard/index.js
new file mode 100644
index 00000000000..835ca57f3b8
--- /dev/null
+++ b/website/src/components/blogPostCard/index.js
@@ -0,0 +1,27 @@
+import React from 'react';
+import styles from './styles.module.css';
+import useBaseUrl from '@docusaurus/useBaseUrl';
+import Link from '@docusaurus/Link';
+import createPostPreview from '@site/functions/post-preview';
+
+
+function BlogPostCard({ postMetaData }) {
+ const { title, date, readingTime, description, link, image } = postMetaData
+ return (
+
+
+ {image &&
}
+
+
{title}
+ {readingTime &&
{date} · {readingTime} minute read }
+
+ {createPostPreview(description, 140)}
+
+
Read more
+
+
+
+ );
+}
+
+export default BlogPostCard;
diff --git a/website/src/components/blogPostCard/styles.module.css b/website/src/components/blogPostCard/styles.module.css
new file mode 100644
index 00000000000..f2a61f2ebb6
--- /dev/null
+++ b/website/src/components/blogPostCard/styles.module.css
@@ -0,0 +1,69 @@
+:root {
+ --border-radius: 10px;
+}
+
+.card {
+ border: 1px solid #EFF2F3;
+ border-radius: var(--border-radius);
+ box-shadow: 0px 11px 24px rgba(138, 138, 138, .1);
+ padding: 2.5rem 2.5rem 1.5rem 2.5rem;
+}
+
+/* if blog post has thumbnail image */
+
+.imageCard {
+ border: 1px solid #EFF2F3;
+ border-radius: var(--border-radius);
+ box-shadow: 0px 11px 24px rgba(138, 138, 138, .1);
+ padding: 0;
+}
+
+.contentContainer.imageContentContainer {
+ padding: 2.5rem 2.5rem 1.5rem 2.5rem;
+ display: block;
+}
+
+.contentContainer {
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ flex-flow: wrap;
+}
+
+.imageContentContainer {
+ width: 100%;
+ border-radius: var(--border-radius) var(--border-radius) 0px 0px;
+ min-height: 200px;
+}
+
+
+.cardWrapper, .cardWrapper article {
+ height: 100%;
+}
+
+.cardWrapper a {
+ color: inherit;
+}
+.cardWrapper a:hover {
+ text-decoration: none;
+}
+
+[data-theme='dark'] a.ctaLink {
+ color: #fff;
+ text-decoration: underline;
+}
+
+a.ctaLink {
+ color: #009999;
+ font-weight: 600;
+ margin-top: auto;
+}
+a.ctaLink:after {
+ content: ' →';
+ margin-left: 5px;
+}
+
+.icon {
+ margin-bottom: 0.5rem;
+ max-width: 50px;
+}
diff --git a/website/src/components/callout/index.js b/website/src/components/callout/index.js
new file mode 100644
index 00000000000..60546525225
--- /dev/null
+++ b/website/src/components/callout/index.js
@@ -0,0 +1,29 @@
+import React from 'react';
+import styles from './styles.module.css';
+import useBaseUrl from '@docusaurus/useBaseUrl';
+import Link from '@docusaurus/Link';
+import { useColorMode } from '@docusaurus/theme-common';
+
+
+function Callout({ heading, subheading, cta, link }) {
+ const { isDarkTheme } = useColorMode();
+ return (
+
+
+
+
+
{heading}
+
{subheading}
+
+
{cta}
+
+
+
+
+
+ );
+}
+
+export default Callout;
+
diff --git a/website/src/components/callout/styles.module.css b/website/src/components/callout/styles.module.css
new file mode 100644
index 00000000000..45a0f9d903d
--- /dev/null
+++ b/website/src/components/callout/styles.module.css
@@ -0,0 +1,39 @@
+.Callout {
+ background: #262A38;
+ padding-top:3rem;
+ padding-bottom:3rem;
+ text-align: center;
+ padding-top:6rem;
+ padding-bottom: 6rem;
+ margin-top:6rem;
+}
+
+[data-theme='light'] .Callout, [data-theme='dark'] .button {
+ color: #fff;
+}
+
+.button {
+ background-color: #047377;
+ border-color: #047377;
+ border-radius: var(--ifm-button-border-radius);
+ border-style: solid;
+ border-width: var(--ifm-button-border-width);
+ color: var(--ifm-button-color);
+ cursor: pointer;
+ display: inline-block;
+ font-size: calc(0.875rem * var(--ifm-button-size-multiplier));
+ font-weight: var(--ifm-button-font-weight);
+ line-height: 1.5;
+ padding: 0.8rem 1.5rem;
+ text-align: center;
+ user-select: none;
+ vertical-align: middle;
+ white-space: nowrap;
+ transition-property: color, background, border-color;
+ transition-duration: var(--ifm-button-transition-duration);
+ transition-timing-function: var(--ifm-transition-timing-default);
+}
+
+.button:hover {
+ color: #ffffff;
+}
diff --git a/website/src/components/card/index.js b/website/src/components/card/index.js
new file mode 100644
index 00000000000..ad0cfa91177
--- /dev/null
+++ b/website/src/components/card/index.js
@@ -0,0 +1,39 @@
+import React from 'react';
+import styles from './styles.module.css';
+import useBaseUrl from '@docusaurus/useBaseUrl';
+import Link from '@docusaurus/Link';
+import { useColorMode } from '@docusaurus/theme-common';
+
+
+function Card({ title, body, link, icon }) {
+ const { isDarkTheme } = useColorMode();
+ return (
+
+ {link ?
+
+ {icon && }
+ {title}
+
+ {body}
+
+
+ :
+ {icon && }
+ {title}
+
+ {body}
+
+ }
+
+ );
+}
+
+export default Card;
+
diff --git a/website/src/components/card/styles.module.css b/website/src/components/card/styles.module.css
new file mode 100644
index 00000000000..d61148079f6
--- /dev/null
+++ b/website/src/components/card/styles.module.css
@@ -0,0 +1,26 @@
+:root {
+ --border-radius: 10px;
+}
+
+.card {
+ border: 1px solid #EFF2F3;
+ border-radius: var(--border-radius);
+ box-shadow: 0px 11px 24px rgba(138, 138, 138, .1);
+ padding: 2.5rem 2.5rem 1.5rem 2.5rem;
+}
+
+.cardWrapper, .cardWrapper article {
+ height: 100%;
+}
+
+.cardWrapper a {
+ color: inherit;
+}
+.cardWrapper a:hover {
+ text-decoration: none;
+}
+
+.icon {
+ margin-bottom: 0.5rem;
+ max-width: 50px;
+}
diff --git a/website/src/components/collapsible/index.js b/website/src/components/collapsible/index.js
index f3a7126ec04..e039433c542 100644
--- a/website/src/components/collapsible/index.js
+++ b/website/src/components/collapsible/index.js
@@ -2,7 +2,7 @@ import React, {useState} from 'react';
import styles from './styles.module.css';
-function Collapsible({children, header, expand}) {
+function Collapsible({children, header, description, expand}) {
const [expanded, setExpanded] = useState(expand);
const toggleExpanded = function() {
@@ -12,10 +12,10 @@ function Collapsible({children, header, expand}) {
return (
<>
- { expanded ? '➖' : '➕' }
{header}
+ { expanded ? ' -' : ' +' }
- { expanded ? children :
Click to expand }
+ { expanded ? children :
{ description ? description : "Click to expand" } }
>
);
}
diff --git a/website/src/components/discourse/index.js b/website/src/components/discourse/index.js
new file mode 100644
index 00000000000..fe6b0dc1130
--- /dev/null
+++ b/website/src/components/discourse/index.js
@@ -0,0 +1,217 @@
+import React, { useState, useEffect } from 'react'
+import axios from 'axios'
+import feedStyles from './styles.module.css';
+
+// Bare component with no default props set
+export const DiscourseFeed = ({
+ order,
+ status,
+ after,
+ before,
+ inString,
+ min_posts,
+ max_posts,
+ min_views,
+ max_views,
+ tags,
+ term,
+ category,
+ title,
+ link_text,
+ link_href,
+ show_cta,
+ topic_count = 5,
+ styles = {}
+}) => {
+
+ const [topics, setTopics] = useState([])
+ const [loading, setLoading] = useState(true)
+ const [isError, setIsError] = useState(false)
+
+ useEffect(() => {
+ let isMounted = true
+
+ // Get topics from Discourse API
+ const fetchData = async () => {
+ try {
+ // Ensure error state is false and loading true
+ setLoading(true)
+ setIsError(false)
+
+ // Build Netlify Function endpoint
+ const endpoint = window?.location?.hostname?.includes('localhost')
+ ? 'http://localhost:8888/.netlify/functions/get-discourse-topics'
+ : '/.netlify/functions/get-discourse-topics'
+
+ // If 'after' prop not passed in, set relative after date
+ let afterDate = after
+ if(!afterDate) {
+ // Today's date
+ let today = new Date();
+ if(category === 'help') {
+ const relativeDate = new Date(today.setDate(today.getDate() - 30));
+ afterDate = formatDate(relativeDate)
+ } else {
+ const relativeDate = new Date(today.setDate(today.getDate() - 90));
+ afterDate = formatDate(relativeDate)
+ }
+ }
+
+ // Get Discourse topics data
+ const { data } = await axios.post(endpoint, {
+ status,
+ order,
+ after: afterDate,
+ before,
+ inString,
+ min_posts,
+ max_posts,
+ min_views,
+ max_views,
+ tags,
+ term,
+ category,
+ })
+
+ // Set error state if data not available
+ if(!data) throw new Error('Unable to get latest topics.')
+
+ // Set topics count
+ if(isMounted) {
+ setTopics(data.slice(0, topic_count))
+ setLoading(false)
+ }
+ } catch(err) {
+ setIsError(true)
+ setLoading(false)
+ }
+ }
+ fetchData()
+
+ return () => {
+ isMounted = false
+ }
+ }, [])
+
+ // Set initial min-height
+ // This is to avoid layout shifts
+ // which affects Lighthouse performance scores
+ const setMinHeight = isError
+ ? 'auto'
+ : 414
+
+ return (
+
+ {title && (
+
{title}
+ )}
+ {loading ? (
+
+ ) : isError || !topics?.length > 0 ? (
+
No recent forum posts for this topic. Ask a question!
+ ) : (
+
+ {topics.map(topic => (
+
+ {topic?.has_accepted_answer && (
+ ✅
+ )}
+ {topic.title}
+ {(topic?.author || topic?.posts_count || topic?.like_count) && (
+ <>
+ {' '}
+
+ {topic?.author && `by ${topic.author}${topic?.posts_count ? ',' : ''}`}
+ {' '}
+ {topic?.posts_count && `${topic.posts_count - 1} ${(topic.posts_count - 1) === 1 ? 'reply' : 'replies'}${topic?.like_count ? ',' : ''}`}
+ {' '}
+ {topic?.like_count ? `${topic.like_count} ${(topic.like_count) === 1 ? 'like' : 'likes'}` : ''}
+
+ >
+ )}
+ {(topic?.blurb) && (
+ <>
+ {' '}
+
+ {topic.blurb}
+
+ >
+ )}
+
+ ))}
+
+ )}
+ {show_cta && (
+
{link_text}
+ )}
+
+ )
+}
+
+// A more specific version of DiscourseFeed
+// with default props set. Same props can be used
+export const DiscourseHelpFeed = ({
+ order = 'latest_topic',
+ status = 'solved',
+ category = 'help',
+ tags,
+ show_cta = true,
+ link_text = 'Ask the Community',
+ link_href = `https://discourse.getdbt.com/new-topic${category ? `?category=${category}` : ''}${tags ? (!category ? `?tags=${tags}` : `&tags=${tags}`) : ''}`,
+ after = '2000-01-01',
+ before,
+ inString,
+ min_posts,
+ max_posts,
+ min_views,
+ max_views,
+ term,
+ title,
+ topic_count = 3,
+ styles = {}
+}) => {
+ return
+}
+
+// Helpers
+function TopicWrapper({ topic, children }) {
+ if(topic?.slug && topic?.id) {
+ return (
+
{children}
+ )
+ } else {
+ return (
+
{children}
+ )
+ }
+}
+
+// Format date by YYYY-MM-DD
+function formatDate(date) {
+ return `${date.getFullYear()}-${('0'+ (date.getMonth()+1)).slice(-2)}-${('0'+ date.getDate()).slice(-2)}`
+}
+
diff --git a/website/src/components/discourse/index.test.js b/website/src/components/discourse/index.test.js
new file mode 100644
index 00000000000..c0d40e26b8f
--- /dev/null
+++ b/website/src/components/discourse/index.test.js
@@ -0,0 +1,93 @@
+import React from 'react'
+import axios from 'axios'
+import { render, screen } from '@testing-library/react'
+import { DiscourseFeed } from './index'
+
+// Mock api data
+const mockAxiosResponse = {
+ data: [
+ {
+ "id": 4911,
+ "title": "Processing source tables with differing arrival times throughout day",
+ "has_accepted_answer": true,
+ "author": "MatthewMunn",
+ "like_count": 1,
+ "posts_count": 2
+ }
+ ],
+}
+
+describe("Test DiscourseFeed component", () => {
+ // returns mocks to original state (ex: window = undefined)
+ afterEach(() => jest.restoreAllMocks())
+
+ it('Should render same text passed into title prop', () => {
+ render(
)
+ const testElement = screen.getByText(/Open topics/i)
+ expect(testElement).toBeInTheDocument()
+ })
+
+ it('Should display loading icon on inital load', () => {
+ render(
)
+ const img = screen.getByTestId('feed-loader')
+ expect(img).toBeInTheDocument()
+ })
+
+ it('Should display Discourse data after API fetch', async () => {
+ // Get mock api response
+ jest.spyOn(axios, 'post').mockResolvedValueOnce(mockAxiosResponse)
+
+ render(
)
+ // Topic "has_accepted_answer" - should display ✅ ahead of title
+ const topicCheckMark = await screen.findByText(/✅/i)
+ expect(topicCheckMark).toBeInTheDocument()
+
+ // Topic title should exist in document
+ const topicTitle = await screen.findByText(/Processing source tables/i)
+ expect(topicTitle).toBeInTheDocument()
+
+ // Author should display
+ const topicAuthor = await screen.findByText(/MatthewMunn/i)
+ expect(topicAuthor).toBeInTheDocument()
+
+ // Should display reply
+ const topicReply = await screen.findByText(/1 reply/i)
+ expect(topicReply).toBeInTheDocument()
+
+ // Has 1 like, should display '1 like' and not '1 likes'
+ const topicLikes = await screen.findByText(/1 like/i)
+ expect(topicLikes).toBeInTheDocument()
+ })
+
+ it('Should show cta with correct text and href', async () => {
+ // Get mock api response
+ jest.spyOn(axios, 'post').mockResolvedValueOnce(mockAxiosResponse)
+
+ render(
)
+
+ const button = await screen.findByTestId('feed-cta')
+ const buttonText = await screen.findByText(/See open topics/i)
+ const buttonHref = buttonText.closest('a')
+ expect(button).toBeInTheDocument()
+ expect(buttonText).toBeInTheDocument()
+ expect(buttonHref).toHaveAttribute('href', 'https://discourse.getdbt.com/c/help/19')
+ })
+
+ it('Should display message when no topics found', async () => {
+ // Get mock api response
+ const mockEmptyResponse = {
+ data: [],
+ }
+ jest.spyOn(axios, 'post').mockResolvedValueOnce(mockEmptyResponse)
+
+ render(
)
+
+ const errorText = await screen.findByTestId('error-text')
+ expect(errorText).toBeInTheDocument()
+ })
+})
+
diff --git a/website/src/components/discourse/styles.module.css b/website/src/components/discourse/styles.module.css
new file mode 100644
index 00000000000..5aa0c79e924
--- /dev/null
+++ b/website/src/components/discourse/styles.module.css
@@ -0,0 +1,69 @@
+/* Topics Section */
+.discourseTopics {
+ margin: 2rem 0 3rem;
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ background: var(--ifm-menu-color-background-active);
+ padding: 20px;
+ border-radius: 10px;
+}
+[data-theme="dark"] .discourseTopics {
+ background: #333B47;
+}
+.discourseTopics:last-of-type {
+ margin-bottom: 0;
+}
+.discourseTopics .solvedTopic {
+ font-size: .8rem;
+}
+.discourseTopics .solvedTopic:hover {
+ cursor: default;
+}
+.discourseTopics ul {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ width: 100%;
+}
+.discourseTopics blockquote {
+ border-left: 1px solid var(--ifm-toc-border-color);
+}
+.discourseTopics ul li {
+ padding: 1rem 0;
+ border-bottom: 1px solid var(--ifm-toc-border-color);
+}
+.discourseTopics ul li:first-of-type {
+ padding-top: 0;
+}
+.discourseTopics ul li:last-of-type {
+ border-bottom: none;
+}
+.discourseTopics ul li a {
+ font-weight: 600;
+ font-size: 18px;
+}
+[data-theme="dark"] .discourseTopics ul li a {
+ color: #91D0CB;
+}
+.discourseTopics blockquote {
+ margin-bottom: 0;
+}
+
+/* Cta */
+.discourseCta {
+ font-size: 1.1rem;
+ margin-top: auto;
+ color: #fff;
+}
+.discourseCta:hover {
+ background: var(--color-light-teal);
+ color: #fff;
+}
+
+/* Loading icon */
+.discourseTopics .loadingIcon {
+ max-width: 100px;
+ display: block;
+}
+
diff --git a/website/src/components/docSearchWeight/index.js b/website/src/components/docSearchWeight/index.js
new file mode 100644
index 00000000000..ab024f9b00e
--- /dev/null
+++ b/website/src/components/docSearchWeight/index.js
@@ -0,0 +1,31 @@
+import React from 'react';
+import styles from './styles.module.css';
+
+function DocSearchWeight({ weight }) {
+
+ let searchWeight
+
+ let allowedValues = ['light', 'medium', 'heavy']
+
+ // Intercept the value from frontmatter and set it to the correct value
+ if (!weight) {
+ searchWeight = 0
+ } else if (weight == "light") {
+ searchWeight = 25
+ } else if (weight == "medium") {
+ searchWeight = 50
+ } else if (weight == "heavy") {
+ searchWeight = 100
+ }
+
+ // Throw an error if the value is not allowed
+ if (weight && !allowedValues.includes(weight)) {
+ throw `Invalid value for search_weight: ${weight}. Allowed values are: ${allowedValues.join(', ')}.`
+ }
+
+ return (
+
{searchWeight}
+ );
+}
+
+export default DocSearchWeight;
diff --git a/website/src/components/docSearchWeight/styles.module.css b/website/src/components/docSearchWeight/styles.module.css
new file mode 100644
index 00000000000..ff5589d6627
--- /dev/null
+++ b/website/src/components/docSearchWeight/styles.module.css
@@ -0,0 +1,3 @@
+.customSearchWeight {
+ display: none;
+}
diff --git a/website/src/components/events/index.js b/website/src/components/events/index.js
new file mode 100644
index 00000000000..a2c0df8eba5
--- /dev/null
+++ b/website/src/components/events/index.js
@@ -0,0 +1,16 @@
+import React, { useEffect } from 'react'
+import feedStyles from './styles.module.css';
+
+export default function EventsFeed(styles = {}) {
+ useEffect(() => {
+ const script = document.createElement('script');
+ script.src = 'https://cdn.addevent.com/libs/cal/js/cal.events.embed.t3.init.js';
+ script.async = true;
+ document.body.appendChild(script);
+ }, [])
+ return (
+
+ )
+}
diff --git a/website/src/components/events/styles.module.css b/website/src/components/events/styles.module.css
new file mode 100644
index 00000000000..d5b3e877c45
--- /dev/null
+++ b/website/src/components/events/styles.module.css
@@ -0,0 +1,5 @@
+.aeEmbed {
+ width: 100%;
+ height: 500px;
+ margin: 0 auto 20px;
+}
diff --git a/website/src/components/faqList/index.js b/website/src/components/faqList/index.js
index b04d22d73b2..e29cbfddd54 100644
--- a/website/src/components/faqList/index.js
+++ b/website/src/components/faqList/index.js
@@ -2,13 +2,13 @@ import React from 'react';
import styles from './styles.module.css';
const files = require.context(
- '../../../docs/faqs',
- true,
- /\.md$/
+ '../../../docs/faqs',
+ true,
+ /\.md$/
);
var faqs = [];
-files.keys().forEach(function(key, i) {
+files.keys().forEach(function (key, i) {
if (key.endsWith('index.md')) {
return;
}
@@ -18,22 +18,22 @@ files.keys().forEach(function(key, i) {
var el = faq.default({});
faqs.push(
-
-
- #
- {i+1}. {meta.title}
-
-
- {el}
-
+
+
+ #
+ {i + 1}. {meta.title}
+
+
+ {el}
+
);
});
-function FAQList({children, style}) {
+function FAQList({ children, style }) {
return (
- {faqs}
+ {faqs}
);
}
diff --git a/website/src/components/faqs/index.js b/website/src/components/faqs/index.js
index 221c2ec3c09..4f07d9127f4 100644
--- a/website/src/components/faqs/index.js
+++ b/website/src/components/faqs/index.js
@@ -1,8 +1,8 @@
-import React, {useState, useEffect} from 'react';
+import React, { useState, useEffect } from 'react';
import styles from './styles.module.css';
-import {usePluginData} from '@docusaurus/useGlobalData';
+import { usePluginData } from '@docusaurus/useGlobalData';
-function FAQ({children, src, alt_header=null}) {
+function FAQ({ children, src, alt_header = null }) {
const [isOn, setOn] = useState(false);
const [filePath, setFilePath] = useState(src)
@@ -10,15 +10,15 @@ function FAQ({children, src, alt_header=null}) {
// Get all faq file paths from plugin
const { faqFiles } = usePluginData('docusaurus-build-global-data-plugin');
-
+
useEffect(() => {
// Search for faq where frontmatter ID matches src prop
const faqFile = faqFiles.find(file => file.id === src)
// If faqFile found with ID, set filePath for this file
- if(faqFile?.id) {
- const data = faqFile.filePath.match(/(docs\/faqs\/(.*)\.md$)/g)
- if(data?.length) {
+ if (faqFile?.id) {
+ const data = faqFile.filePath.match(/(docs\/docs\/faqs\/(.*)\.md$)/g)
+ if (data?.length) {
setFilePath(data[1])
}
}
@@ -27,34 +27,34 @@ function FAQ({children, src, alt_header=null}) {
useEffect(() => {
try {
const file = require(`../../../docs/faqs/${filePath}.md`)
- if(file) {
+ if (file) {
const meta = file.metadata;
const contents = file.default({});
- setFileContent({meta, contents})
+ setFileContent({ meta, contents })
}
- } catch(err) {
+ } catch (err) {
return null
}
}, [filePath])
-
- const toggleOn = function() {
+
+ const toggleOn = function () {
setOn(!isOn);
}
return (
-
-
-
-
- { alt_header || fileContent?.meta && fileContent.meta.title }
-
-
- { fileContent?.contents && fileContent.contents }
-
+
+
+
+
+ {alt_header || fileContent?.meta && fileContent.meta.title}
+
+
+ {fileContent?.contents && fileContent.contents}
+
);
}
diff --git a/website/src/components/faqs/styles.module.css b/website/src/components/faqs/styles.module.css
index d37b292825b..baeecd2c2f5 100644
--- a/website/src/components/faqs/styles.module.css
+++ b/website/src/components/faqs/styles.module.css
@@ -10,7 +10,7 @@
:local(.toggle) {
background-image: var(--ifm-menu-link-sublist-icon);
- background-size: 2rem 2rem;
+ background-size: 1.25rem 1.25rem;
background-position: center;
content: ' ';
display: inline-block;
@@ -19,11 +19,17 @@
vertical-align: middle;
}
+/* hack for unswizzled FAQ arrows */
+:local(html[data-theme='dark'] .toggle) {
+ filter: invert(1);
+}
+
:local(.body) {
margin-left: 2em;
margin-bottom: 10px;
padding: 20px;
background-color: #e3f8f8;
+ color: var(--ifm-color-gray-900);
}
:local(.body > p:last-child) {
diff --git a/website/src/components/file/styles.module.css b/website/src/components/file/styles.module.css
index dc9cf008306..a461116cad6 100644
--- a/website/src/components/file/styles.module.css
+++ b/website/src/components/file/styles.module.css
@@ -18,6 +18,12 @@
font-size: 12px;
}
+:local(html[data-theme='dark'] .title) {
+ background-color: var(--ifm-menu-color-background-active);
+ border: 1px solid var(--ifm-menu-color-background-active);
+ color: white;
+}
+
:local(.titleInner) {
margin: 4px 8px;
}
diff --git a/website/src/components/hero/index.js b/website/src/components/hero/index.js
new file mode 100644
index 00000000000..b6dbe7e245b
--- /dev/null
+++ b/website/src/components/hero/index.js
@@ -0,0 +1,24 @@
+import React from 'react';
+import styles from './styles.module.css';
+import { useColorMode } from '@docusaurus/theme-common';
+
+
+function Hero({ heading, subheading, showGraphic = false }) {
+ const { isDarkTheme } = useColorMode();
+ return (
+
+
+
+
+
+
{heading}
+
{subheading}
+
+
+
+
+ );
+}
+
+export default Hero;
+
diff --git a/website/src/components/hero/styles.module.css b/website/src/components/hero/styles.module.css
new file mode 100644
index 00000000000..efacee33f6e
--- /dev/null
+++ b/website/src/components/hero/styles.module.css
@@ -0,0 +1,51 @@
+.Hero {
+ background: #262A38;
+ padding-top:3rem;
+ padding-bottom:3rem;
+ text-align: center;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ /* position: relative; */
+ min-height: 375px;
+ margin-bottom: 0;
+}
+
+[data-theme='light'] .Hero {
+ color: #fff;
+}
+
+@media (min-width: 996px) {
+ .Hero {
+ margin-bottom: 6rem;
+ }
+}
+
+.showGraphic {
+ display: none;
+}
+
+@media (min-width: 996px) {
+ .showGraphic{
+ position: absolute;
+ left: -50px;
+ top:150px;
+ content:'';
+ display: block;
+ width: 25vw;
+ max-width: 315px;
+ height: 428px;
+ background-size: contain;
+ background-image: url('/img/hero-graphic-2x.png');
+ background-repeat: no-repeat;
+ }
+}
+
+.w60 {
+ width: 100%;
+}
+@media (min-width: 996px) {
+ .w60 {
+ width: 60%;
+ }
+}
diff --git a/website/src/components/lightbox/index.js b/website/src/components/lightbox/index.js
index 27b94212010..d312e67ca8f 100644
--- a/website/src/components/lightbox/index.js
+++ b/website/src/components/lightbox/index.js
@@ -28,7 +28,7 @@ function Lightbox({children, src, title, collapsed}) {
/>
-
{ title }
+
{ title }
);
diff --git a/website/src/components/lightbox/styles.module.css b/website/src/components/lightbox/styles.module.css
index 04d1f228254..4c33e5173e5 100644
--- a/website/src/components/lightbox/styles.module.css
+++ b/website/src/components/lightbox/styles.module.css
@@ -1,19 +1,18 @@
:local(.title) {
text-align: center;
+ font-size: small;
width: 100%;
}
-
:local(.docImage) {
- filter: drop-shadow(1px 4px 10px #aaaaaa33);
+ filter: drop-shadow(4px 4px 6px #aaaaaa33);
margin: 10px auto;
display: block;
- width: 600px;
- max-width: 100%;
+ max-width: 400px;
}
:local(.collapsed) {
- max-width: 300px !important;
+ max-width: 400px !important;
display: inline-block;
}
diff --git a/website/src/components/postCarousel/index.js b/website/src/components/postCarousel/index.js
new file mode 100644
index 00000000000..0b93c2d29e5
--- /dev/null
+++ b/website/src/components/postCarousel/index.js
@@ -0,0 +1,37 @@
+import React from 'react';
+import BlogPostCard from '@site/src/components/blogPostCard';
+import { Swiper, SwiperSlide } from 'swiper/react';
+import { Navigation } from 'swiper';
+import 'swiper/css';
+import 'swiper/css/navigation';
+
+
+function PostCarousel({ blogPostData }) {
+ return (
+
+
+
+ {blogPostData.map((item) => )}
+
+
+
+ );
+}
+
+export default PostCarousel;
+
diff --git a/website/src/components/snippet/index.js b/website/src/components/snippet/index.js
index e92c2aed901..d16381ac913 100644
--- a/website/src/components/snippet/index.js
+++ b/website/src/components/snippet/index.js
@@ -1,6 +1,5 @@
import React from 'react'
import styles from './styles.module.css';
-import WHCore from '@site/src/components/whcode';
{/*
The Snippet component works in a similar way as FAQs.
@@ -12,7 +11,7 @@ export default function Snippet({ src }) {
const contents = file.default({});
return (
- { contents }
+ { contents }
)
}
diff --git a/website/src/components/whcode/index.js b/website/src/components/whcode/index.js
index 1ffcae0bd4b..cf581442208 100644
--- a/website/src/components/whcode/index.js
+++ b/website/src/components/whcode/index.js
@@ -4,25 +4,33 @@ import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
function WHCode({children}) {
- if (children.length != 4) {
- throw "Expected four elements as children of WHCode element, got " + children.length;
- }
+
+ let tabValuesArr = []
+ let value
+
+ const tabItems = children.map((child, index) => {
+ if (child.props.warehouse == undefined || child.props.warehouse == '') {
+ throw "Expected warehouse prop to be defined for each child of WHCode component";
+ }
+
+ tabValuesArr.push({ label: child.props.warehouse, value: child.props.warehouse })
+
+ value = child.props.warehouse
+
+ return (
+
+ {child}
+
+ );
+ })
+
return (
- {children[0]}
- {children[1]}
- {children[2]}
- {children[3]}
+ defaultValue={tabValuesArr[0].value}
+ values={tabValuesArr}>
+ {tabItems}
);
}
-export default WHCode;
\ No newline at end of file
+export default WHCode;
diff --git a/website/src/components/wistia/index.js b/website/src/components/wistia/index.js
index fdcfad99b62..1230b119f7f 100644
--- a/website/src/components/wistia/index.js
+++ b/website/src/components/wistia/index.js
@@ -1,26 +1,30 @@
import React from 'react';
-
-
function WistiaVideo({id, paddingTweak = "56.25%"}) {
return (
-
-
-
-
-
+
+
+
+
);
}
diff --git a/website/src/css/custom.css b/website/src/css/custom.css
index 8742e426e1a..d9eddd9de3b 100644
--- a/website/src/css/custom.css
+++ b/website/src/css/custom.css
@@ -7,6 +7,8 @@
--ifm-color-info-light: #d9f6f4 !important;
--ifm-color-warning-light: #ffe1be !important;
--ifm-color-danger-light: #f9d3d4 !important;
+ --ifm-color-gray-900: #262a38;
+ --ifm-font-weight-narrow: 400;
--ifm-font-weight-semibold: 600;
--ifm-font-weight-bold: 700;
--ifm-h1-font-size: 2.5rem;
@@ -14,33 +16,177 @@
--ifm-h3-font-size: 1.563rem;
--ifm-h4-font-size: 1.063rem;
--ifm-h5-font-size: 0.938rem;
- --ifm-navbar-height: 94px;
+ --ifm-navbar-height: 85px;
+ --ifm-navbar-link-hover-color: var(--color-orange);
+ --ifm-navbar-link-active-color: var(--color-orange);
+ --ifm-footer-padding-vertical: calc(var(--ifm-spacing-vertical) * 1.875);
--ifm-footer-background-color: #4f5d75;
- --ifm-footer-color: #bfc0c0;
+ --ifm-footer-color: var(--color-white);
--ifm-link-color: #009999;
--ifm-color-primary: #047377;
--ifm-link-hover-color: #047377;
- --ifm-button-border-radius: 4px;
+ --ifm-button-border-radius: 5px;
--ifm-menu-color: #262a38;
--ifm-menu-color-active: #009999;
--ifm-pagination-nav-color-hover: #047377;
--ifm-tabs-color-active: #047377;
+ --ifm-menu-color-background-active: #effbfa;
--ifm-font-family-monospace: "Source Code Pro", SFMono-Regular, Menlo, Monaco,
Consolas, "Liberation Mono", "Courier New", monospace;
--ifm-font-family-base: "Source Sans Pro", sans-serif;
--ifm-heading-font-family: "Source Sans Pro", sans-serif;
- --ifm-code-padding-vertical: .2rem;
- --ifm-code-padding-horizontal: .4rem;
+ --ifm-code-padding-vertical: 0.2rem;
+ --ifm-code-padding-horizontal: 0.4rem;
--ifm-code-background: var(--ifm-color-emphasis-200);
--ifm-navbar-item-padding-horizontal: 1rem;
--ifm-alert-color: var(--ifm-font-color-base-inverse);
+ --ifm-color-info-contrast-foreground: var(--ifm-color-gray-900);
+ --ifm-alert-foreground-color: --ifm-color-gray-900;
+ --ifm-toc-padding-vertical: 1rem;
--color-primary-blue: #262a38;
--color-green-blue: #047377;
--color-light-teal: #009999;
--color-light-blue: #96d7d1;
--color-orange: #ff694a;
--color-off-white: #eff2f3;
+ --color-white: white;
--color-nav-text: #bfc0c0;
+ --color-nav-sub-level-text: #545a66;
+ --color-footer-accent: #979eab;
+ --docsearch-text-color: #262a38;
+ --pagination-icon-next: "\2192";
+ --pagination-icon-prev: "\2190";
+ --filter-brightness-low: 1.1;
+ --filter-brightness-high: 1.5;
+
+ --light-dark-toggle: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQuMzA4IDMuMzg1YzAtMS4xNzguMTczLTIuMzcuNjE1LTMuMzg1QzEuOTgzIDEuMjggMCA0LjI4MiAwIDcuNjkyQTguMzA4IDguMzA4IDAgMCAwIDguMzA4IDE2YzMuNDEgMCA2LjQxMi0xLjk4MyA3LjY5Mi00LjkyMy0xLjAxNS40NDItMi4yMDcuNjE1LTMuMzg1LjYxNWE4LjMwOCA4LjMwOCAwIDAgMS04LjMwNy04LjMwN1oiIGZpbGw9IiM5MkEwQjMiLz48L3N2Zz4=";
+
+ /* search overrides */
+ --docsearch-searchbox-background: var(--color-white) !important;
+ --docsearch-searchbox-focus-background: var(--color-white) !important;
+ --docsearch-searchbox-shadow: inset 0 0 0 0 var(--docsearch-primary-color) !important;
+
+ --docsearch-modal-background: var(--color-white) !important;
+ --docsearch-modal-shadow: none;
+ --docsearch-muted-color-for-keys: #eff2f3;
+
+ --docsearch-highlight-color: var(--docsearch-muted-color) !important;
+ --docsearch-muted-color: #545a66;
+ --docsearch-container-background: rgba(255, 255, 255, 1) !important;
+
+ --docsearch-key-gradient: transparent !important;
+ --docsearch-key-shadow: inset 0 0 0 0 #cdcde6, inset 0 0 0 0 #fff,
+ 0 0 0 0 rgba(30, 35, 90, 0) !important;
+ --docsearch-key-shadow: none !important;
+}
+
+/* dark theme styles!!! */
+html[data-theme="dark"] {
+ --ifm-navbar-background-color: var(--color-primary-blue);
+ --ifm-menu-color-background-active: var(--color-primary-blue);
+ --ifm-menu-color: var(--color-white);
+
+ /* search button darkmode */
+ --docsearch-muted-color: var(--color-off-white);
+ --docsearch-muted-color-for-keys: var(--docsearch-muted-color);
+ --docsearch-searchbox-background: var(--color-primary-blue) !important;
+
+ /* search popup */
+ --docsearch-modal-background: var(--color-primary-blue) !important;
+ --docsearch-footer-background: var(--color-primary-blue) !important;
+ --docsearch-searchbox-focus-background: var(--color-primary-blue) !important;
+ --docsearch-highlight-color: var(--docsearch-muted-color) !important;
+
+ /* admonition icon */
+ --ifm-color-info-contrast-foreground: var(--ifm-color-gray-900);
+
+ --ifm-table-cell-color: var(--color-green-blue);
+}
+
+/* For /dbt-cloud/api REDOC Page */
+html[data-theme="dark"] .api-content h2,
+html[data-theme="dark"] .api-content h3,
+html[data-theme="dark"] .api-content h4,
+html[data-theme="dark"] .api-content h5,
+html[data-theme="dark"] .api-content h5 span,
+html[data-theme="dark"] .api-content h1 {
+ color: white;
+}
+
+html[data-theme="dark"] .api-content button,
+html[data-theme="dark"] .api-content a {
+ filter: brightness(1.25);
+}
+
+html[data-theme="dark"] .api-content a:hover {
+ filter: brightness(1.25);
+}
+
+.redoc-wrap .api-content a,
+.redoc-wrap .api-content a:visited {
+ color: var(--color-green-blue);
+}
+
+.redoc-wrap {
+ font-size: 1rem;
+}
+
+.api-content {
+ font-size: 1.125rem;
+}
+
+.menu-content {
+ font-size: 1rem;
+ margin-top: 1em;
+}
+
+html[data-theme="dark"] .api-content {
+ color: white;
+}
+
+html[data-theme="dark"] .api-content table td > span,
+html[data-theme="dark"] .api-content table td p {
+ color: var(--color-orange);
+}
+
+table td {
+ vertical-align: top;
+}
+
+html[data-theme="dark"] table td {
+ filter: brightness(1.25);
+ color: white;
+}
+
+html[data-theme="dark"] .api-content table td span {
+ color: white;
+}
+
+html[data-theme="dark"] .hComDo div {
+ background: transparent;
+}
+
+html[data-theme="dark"] .api-content table td p {
+ color: brown;
+}
+
+html[data-theme="dark"] .redoc-wrap .menu-content * :not(.operation-type),
+html[data-theme="dark"] .redoc-wrap .menu-content,
+html[data-theme="dark"] .redoc-wrap .menu-content .search-input {
+ color: white !important;
+ background-color: transparent !important;
+}
+
+html[data-theme="dark"] .redoc-wrap svg {
+ filter: brightness(4.5);
+}
+
+html[data-theme="dark"] .redoc-markdown pre {
+ filter: brightness(1.5);
+}
+
+html[data-theme="dark"] input.sc-avest {
+ filter: brightness(2.5);
}
.dropdown--version--hide .dropdown__menu {
@@ -53,33 +199,33 @@
background: var(--color-off-white);
}
-/* For /dbt-cloud/api redoc page */
-div.collapser {
- color: white;
+html[data-theme="dark"] .container.home {
+ background: var(--ifm-background-color) !important;
}
-.admonition h5 {
- text-transform: none;
- font-size: 1rem;
-}
-
-.navbar__link--active {
- border-bottom: 1px solid #fff;
- padding: 0px 2px;
- margin-left: 10px;
- margin-right: 10px;
+div.collapser {
+ color: var(--color-white);
}
h1,
h2,
h3 {
- font-weight: var(--ifm-font-weight-semibold);
+ font-weight: var(--ifm-font-weight-bold);
}
-.navbar__search-input {
- color: #505d73;
- font-weight: var(--ifm-font-weight-semibold);
- font-size: 1rem;
+/* V2.0.0-beta.6 style updates */
+.padding-top--md {
+ padding-top: 2rem !important;
+}
+
+code {
+ border: none;
+ background-color: var(--ifm-color-emphasis-200);
+ color: var(--ifm-color-emphasis-900);
+}
+
+html[data-theme="dark"] a code {
+ color: var(--color-white);
}
.main-wrapper .home .col > p {
@@ -90,6 +236,7 @@ h3 {
h1.docTitle_node_modules-\@docusaurus-theme-classic-src-theme-DocItem- {
font-size: 2rem;
}
+
/* Adding FAQ specific links so we can left-justify the FAQ page titles */
a.hash-link-faq:link {
margin-left: -20px;
@@ -98,84 +245,321 @@ a.hash-link-faq:link {
a.hash-link-faq:visited,
a.hash-link-faq:hover {
- color: black;
+ color: var(--docsearch-text-color);
}
a.hash-link-faq:active {
- color: black;
+ color: var(--docsearch-text-color);
}
a.hash-link:link,
a.hash-link:visited,
a.hash-link:hover {
- color: black;
+ color: var(--docsearch-text-color);
}
-footer {
- font-weight: var(--ifm-font-weight-bold);
+/* Deletes the Hash after TOC links that is generated by Docusaurus here for some reason */
+ul.table-of-contents .hash-link::before {
+ content: '';
+ display: none;
}
-footer .footer__copyright a {
- color: var(--ifm-footer-color);
- text-decoration: none;
+
+pre {
+ font-size: 14px !important;
+}
+
+a.code-link {
+ color: var(--color-orange);
+ cursor: pointer;
}
-footer .footer__copyright a:hover {
+
+a.code-link:hover {
text-decoration: underline;
}
-/* Fix for nav links that break (like dbt Cloud) */
+/* navbar */
+[data-theme="dark"] nav.navbar,
+[data-theme="dark"] div.navbar-sidebar__brand {
+ background-color: var(--ifm-navbar-background-color);
+}
+
+.navbar__logo {
+ margin-left: 1.25rem;
+}
+.navbar__search-input {
+ color: #505d73;
+ font-weight: var(--ifm-font-weight-semibold);
+ font-size: 1rem;
+}
+
+.navbar__link {
+ font-size: 1rem;
+ margin: 0 var(--ifm-navbar-item-padding-horizontal) 0;
+ padding: 0;
+ border-bottom: 1px solid transparent;
+}
+
+/* Fix for nav links that break (like dbt Cloud) */
.navbar__item.navbar__link {
white-space: nowrap;
+ align-items: center;
}
-pre {
- font-size: 14px !important;
+.navbar__link--active {
+ border-bottom: 1px solid var(--color-orange);
+ color: var(--color-orange);
}
-a.code-link {
- color: var(--color-orange);
- cursor: pointer;
+.navbar__link.nav-versioning {
+ display: flex;
+ align-items: baseline;
+ justify-content: center;
}
-a.code-link:hover {
- text-decoration: underline;
+.navbar-sidebar .menu__link.nav-create-account {
+ color: var(--color-white);
+ border: none;
}
-nav.navbar,
-div.navbar-sidebar__brand {
- background-color: var(--color-primary-blue);
+.navbar-sidebar .menu__link.nav-create-account:hover {
+ color: var(--color-white);
+ background: var(--color-light-teal);
}
-nav.navbar a.navbar__link {
- color: var(--color-nav-text);
- font-weight: var(--ifm-font-weight-bold);
- transition: 100ms all ease-in-out;
+.navbar__items .navbar__link.nav-create-account {
+ color: var(--color-white);
+ height: 30px;
+ align-self: auto;
+ padding: 0 12px;
+ margin-top: 0;
+ margin-left: 0;
+ border: none;
+ order: 3;
}
-nav.navbar a.navbar__link:hover {
- color: var(--color-light-teal);
+.navbar__items .navbar__link.nav-create-account:hover {
+ background: var(--color-light-teal);
}
-nav.navbar .navbar__toggle,
-nav.navbar a.navbar__link--active {
- color: white !important;
- font-weight: bold !important;
+/* Reorder search and darkmode toggle */
+.navbar__items.navbar__items--right div[class^="searchBox"] {
+ order: 2;
}
-li.menu__list-item a.navbar__link--active {
- color: black !important;
- font-weight: bold !important;
+.navbar__items.navbar__items--right div[class^="toggle"] {
+ order: 4;
}
-nav.navbar div.navbar__inner {
- margin-left: 10px !important;
+/* moon/sun icons for dark/light mode */
+html[data-theme="light"] svg[class^="lightToggleIcon_"] {
+ display: none;
+}
+
+html[data-theme="light"] svg[class^="darkToggleIcon_"] {
+ display: block;
+}
+
+html[data-theme="dark"] svg[class^="lightToggleIcon_"] {
+ display: block;
+}
+
+html[data-theme="dark"] svg[class^="darkToggleIcon_"] {
+ display: none;
+}
+
+/* Search Button Styles */
+.search {
+ width: 100%;
+ padding: 10px 0px;
+ font-size: 20px;
+ border: 0px;
+ outline-width: 0px;
+ transition: all 0.3s ease;
+}
+
+/* search popup */
+.DocSearch-Container {
+ background-color: rgba(0, 0, 0, 0.85) !important;
+}
+
+.DocSearch-Form {
+ border: 1px solid var(--docsearch-muted-color);
+}
+
+.DocSearch-Footer {
+ background: var(--docsearch-footer-background);
+ padding: 0 var(--docsearch-spacing);
+ border-radius: 0 0 5px 5px !important;
+}
+
+.navbar-sidebar__close {
+ margin-right: 0.75em;
+}
+
+/* navbar buttons */
+a.navbar__item.navbar__link.btn {
+ border: none;
+ color: var(--color-white);
+ background-color: var(--ifm-tabs-color-active);
+ align-self: center;
+ padding: 0.5em 1em;
+ border-radius: var(--ifm-button-border-radius);
}
-.dropdown__link {
+a.navbar__item.navbar__link.btn:hover {
+ filter: brightness(var(--filter-brightness-high));
+ transition: all 0.3s ease;
+}
+
+/* sidebar menu */
+.menu__link {
font-size: 1rem;
+ justify-content: space-between;
+ flex-direction: row;
+ padding: 1rem;
}
-.dropdown__link:hover {
- cursor: pointer;
+
+.menu__list-item-collapsible .menu__link {
+ color: inherit;
+}
+
+.menu__list-item-collapsible:hover {
+ background: var(--ifm-menu-color-background-hover) !important;
+}
+
+.menu__caret, .menu__link {
+ display: flex;
+ align-items: center;
+}
+
+.menu__caret {
+ padding: 0 0;
+ margin-left: 0;
+}
+
+.menu__caret:hover {
+ background: transparent;
+}
+
+/* Prevent layout shift when sidebar gets vertical overflow */
+@media(min-width: 996px) {
+ .theme-doc-sidebar-menu.menu__list {
+ max-width: 260px;
+ }
+}
+
+/* level2 */
+li.theme-doc-sidebar-item-category.theme-doc-sidebar-item-category-level-2 .menu__list-item-collapsible {
+ font-weight: 600;
+ margin-top: .5rem;
+ margin-bottom: .5rem;
+}
+
+.menu__list .menu__list {
+ font-weight: var(--ifm-font-weight-narrow);
+ padding-left: 1rem;
+}
+
+.menu__list .menu__list .menu__link {
+ padding-top: 0.5rem;
+ padding-bottom: 0.5rem;
+}
+
+.menu__list-item-collapsible a {
+ padding-top: .75rem;
+ padding-bottom: .75rem;
+}
+
+.menu__list .menu__list a.menu__link.menu__link--sublist {
+ font-weight: var(--ifm-font-weight-semibold);
+ padding: 1rem;
+}
+
+.menu__list-item-collapsible .menu__link--active {
+ color: inherit;
+ background-color: inherit;
+}
+
+i.theme-doc-sidebar-item-category.theme-doc-sidebar-item-category-level-2.menu__list-item {
+ margin-left: 1rem;
+}
+
+/* color for subtext only */
+.theme-doc-sidebar-item-link
+ :not(.menu__list-item-collapsible .menu__link:first-of-type) {
+ color: var(--color-nav-sub-level-text);
+}
+
+[data-theme="dark"]
+ .theme-doc-sidebar-item-link
+ :not(.menu__list-item-collapsible .menu__link:first-of-type) {
+ color: var(--color-white);
+}
+
+.theme-doc-sidebar-item-link .menu__link--active {
+ color: var(--ifm-link-color);
+}
+
+/* set < icon to right side */
+.menu__list-item-collapsible {
+ flex-direction: row;
+ background-color: transparent;
+}
+
+.menu__list-item-collapsible button {
+ padding-right: 1rem;
+}
+
+.menu__list-item-collapsible:hover {
+ background-color: transparent;
+}
+
+.menu__list-item--collapsed .menu__link--sublist::after,
+.menu__list-item--collapsed .menu__caret::before {
+ transform: rotateZ(0deg);
+}
+
+/* Mobile ToC caret */
+.docs-doc-page .theme-doc-toc-mobile .clean-btn:after {
+ transform: rotate(90deg);
+}
+.docs-doc-page .theme-doc-toc-mobile[class*="Expanded"] .clean-btn:after {
+ transform: rotate(180deg);
+}
+
+/* < icon */
+.menu__link--sublist::after,
+.menu__caret::before {
+ transform: rotate(90deg);
+ margin-left: 1em;
+ background: var(--ifm-breadcrumb-separator) center;
+ background-repeat: no-repeat;
+ height: 9px;
+ min-width: 6px;
+ width: calc(
+ var(--ifm-breadcrumb-separator-size) * var(--ifm-breadcrumb-size-multiplier) *
+ var(--ifm-breadcrumb-separator-size-multiplier)
+ );
+}
+
+/* Table of Contents */
+.table-of-contents__link:hover,
+.table-of-contents__link:hover code,
+.table-of-contents__link--active,
+.table-of-contents__link--active code,
+.tableOfContents_src-theme-TOC-styles-module a.theme-edit-this-page:hover {
+ color: var(--color-orange);
+}
+
+.tableOfContents_src-theme-TOC-styles-module a.theme-edit-this-page {
+ color: var(--ifm-toc-link-color);
+}
+
+.table-of-contents {
+ font-size: 0.9rem;
+ padding-left: 1.25rem;
+ padding-right: 1.25rem;
}
.featherlight:before {
@@ -195,13 +579,38 @@ nav.navbar div.navbar__inner {
font-size: 20px !important;
}
-/* Shamelessly copy/pasted from our style guide */
+/* admonition */
+.admonition {
+ border-left-width: 0.625rem;
+ border-radius: 0.625rem;
+}
+.admonition h5 {
+ text-transform: none;
+ font-size: 1.5rem;
+}
+
+.admonition-icon svg {
+ fill: var(--ifm-color-gray-900);
+}
+
+.admonition:not(.admonition-note) h5,
+.admonition:not(.admonition-note) .admonition-content,
+.admonition:not(.admonition-note) .admonition-content a {
+ color: var(--ifm-color-gray-900);
+}
+
+.markdown .admonition-content p {
+ font-size: 1rem;
+}
+
+/* Shamelessly copy/pasted from our style guide */
.alert {
padding: 1.5rem 2rem;
- margin-bottom: 1.8rem;
+ margin-top: 2.125em;
+ margin-bottom: 1.8em;
/* border: 1px solid transparent; */
- border-radius: 4px;
+ border-radius: 5px;
}
.alert h4 {
margin-top: 0;
@@ -221,18 +630,30 @@ nav.navbar div.navbar__inner {
.alert--info {
--ifm-alert-background-color: var(--ifm-color-info-light);
--ifm-alert-border-color: var(--ifm-color-info);
+ color: var(--ifm-color-gray-900);
}
.alert--success {
--ifm-alert-background-color: var(--ifm-color-success-light);
--ifm-alert-border-color: var(--ifm-color-success);
+ color: var(--ifm-color-gray-900);
}
.alert--danger {
--ifm-alert-background-color: var(--ifm-color-danger-light);
--ifm-alert-border-color: var(--ifm-color-danger);
+ color: var(--ifm-color-gray-900);
}
.alert--warning {
--ifm-alert-background-color: var(--ifm-color-warning-light);
--ifm-alert-border-color: var(--ifm-color-warning);
+ color: var(--ifm-color-gray-900);
+}
+
+/* for dark mode */
+.alert--info a,
+.alert--success a,
+.alert--danger a,
+.alert--warning a {
+ color: var(--ifm-color-gray-900);
}
.linkout {
@@ -246,6 +667,7 @@ nav.navbar div.navbar__inner {
vertical-align: middle;
}
+/* banners */
.banner-animation {
/*background-color: #013544;*/
background-color: var(--color-off-white);
@@ -282,23 +704,11 @@ nav.navbar div.navbar__inner {
animation: march 8s linear infinite forwards;
}
-.search {
- width: 100%;
- padding: 10px 0px;
- font-size: 20px;
- border: 0px;
- outline-width: 0px;
+div .toggle_src-components-faqs-styles-module {
+ background-size: 1.25rem 1.25rem;
}
-.menu__link {
- font-size: 1rem;
- padding: 5px 0px 5px 10px !important;
-}
-
-.home .row .col--4 {
- margin-bottom: 20px;
- min-height: 251px;
-}
+/* card styles */
.card.large {
position: relative;
height: 100%;
@@ -311,6 +721,7 @@ nav.navbar div.navbar__inner {
.card.large .card__footer {
z-index: 9;
}
+
.card.large:before {
position: absolute;
z-index: 0;
@@ -321,6 +732,7 @@ nav.navbar div.navbar__inner {
background: var(--color-primary-blue);
content: "";
}
+
.card.large:after {
position: absolute;
z-index: 0;
@@ -338,10 +750,11 @@ nav.navbar div.navbar__inner {
.home .card {
background: var(--ifm-footer-background-color);
- color: #fff;
+ color: var(--color-white);
}
.card.large .button {
+ color: var(--color-white);
font-size: 1.25rem;
font-weight: var(--ifm-font-weight-semibold);
margin-top: 0.25rem;
@@ -354,15 +767,15 @@ nav.navbar div.navbar__inner {
}
.card.large .button:hover {
- background: #fff;
- border-color: #fff;
+ background: var(--color-white);
+ border-color: var(--color-white);
color: var(--color-green-blue);
}
.card.large.dark .button:hover {
background: var(--color-light-teal);
border-color: var(--color-light-teal);
- color: #fff;
+ color: var(--color-white);
}
.card.large.light .button,
@@ -374,7 +787,7 @@ nav.navbar div.navbar__inner {
.card.large.light .button:hover {
background: #de5d43;
border-color: #de5d43;
- color: #fff;
+ color: var(--color-white);
}
.card.large.light-blue .button {
@@ -394,87 +807,83 @@ nav.navbar div.navbar__inner {
line-height: 26px;
}
-/* Table of Contents */
-.table-of-contents__link:hover,
-.table-of-contents__link:hover code,
-.table-of-contents__link--active,
-.table-of-contents__link--active code {
- color: var(--ifm-link-hover-color);
-}
-.table-of-contents {
- font-size: 0.9rem;
+/* Pagination */
+.pagination-nav {
+ gap: 1em;
}
-/* Pagination */
.pagination-nav__link {
+ padding: 1rem 0;
transition: 100ms all ease-in-out;
+ border: none;
}
-/* Font Sizing Adjustments */
-.markdown > p {
- font-size: 1.05rem;
-}
-.pagination-nav__link {
- font-size: 1.05rem;
-}
-.title_src-components-file- {
- font-size: 0.813rem !important;
+.pagination-nav__item--next .pagination-nav__label::after {
+ content: var(--pagination-icon-next);
+ font-weight: var(--ifm-font-weight-narrow);
+ margin-left: 0.5em;
}
-/* Docs */
-.docImage_src-components-lightbox-,
-.docImage_src-components-lightbox-styles-module,
-.docImage_2V3X, .docImage_917O {
- max-width: 100%;
+.pagination-nav__item:first-child .pagination-nav__label::before {
+ content: var(--pagination-icon-prev);
+ font-weight: var(--ifm-font-weight-narrow);
+ margin-right: 0.5em;
}
-.generatedIndexPage_node_modules-\@docusaurus-theme-classic-lib-next-theme-DocCategoryGeneratedIndexPage-styles-module .cardContainer_node_modules-\@docusaurus-theme-classic-lib-next-theme-DocCard-styles-module, .generatedIndexPage_aEAk .card {
- color: #fff;
- background: var(--ifm-footer-background-color);
-}
-.generatedIndexPage_node_modules-\@docusaurus-theme-classic-lib-next-theme-DocCategoryGeneratedIndexPage-styles-module .cardContainer_node_modules-\@docusaurus-theme-classic-lib-next-theme-DocCard-styles-module:hover, .generatedIndexPage_aEAk .card:hover {
- color: #fff;
- background: var(--color-primary-blue);
+.pagination-nav__sublabel {
+ font-weight: var(--ifm-font-weight-narrow);
+ margin-bottom: 1em;
}
-@media (min-width: 997px) and (max-width: 1150px) {
- nav.navbar a.navbar__link {
- font-size: 0.9rem;
- }
- .navbar__search .navbar__search-input {
- max-width: 160px;
- }
+/* Font Sizing Adjustments */
+.markdown,
+.markdown > p,
+.markdown li,
+blockquote,
+th,
+td,
+.faqs,
+.tabs-container {
+ font-size: 1.125rem;
+ line-height: 1.5;
}
-
-@media screen and (max-width: 700px) {
- .card.large {
- height: auto;
- text-align: center;
- }
- .container.container--fluid.home .row {
- margin: calc(2vh) auto !important;
- }
+.pagination-nav__link {
+ font-size: 1rem;
}
-
-/* V2.0.0-beta.6 style updates */
-.padding-top--md {
- padding-top: 2rem !important;
+.title_src-components-file- {
+ font-size: 1.125rem !important;
}
-
-code {
- border: none;
- background-color: var(--ifm-color-emphasis-200);
- color: var(--ifm-color-emphasis-900);
+.markdown h1:first-child {
+ font-size: clamp(
+ var(--ifm-h1-font-size) * 0.9375,
+ 1vw,
+ var(--ifm-h1-font-size)
+ );
+ margin-top: 0.5rem;
+}
+.link_src-components-faqs-styles-module {
+ font-size: 1.125rem;
}
-.DocSearch-Button-Container .DocSearch-Button-Placeholder {
- padding: 0 2.25rem 0 0;
+/* Docs */
+.docImage_src-components-lightbox-,
+.docImage_src-components-lightbox-styles-module,
+.docImage_2V3X,
+.docImage_917O {
+ max-width: 100%;
}
-@media (min-width: 1440px) {
- .container--fluid {
- max-width: inherit;
- }
+.generatedIndexPage_node_modules-\@docusaurus-theme-classic-lib-next-theme-DocCategoryGeneratedIndexPage-styles-module
+ .cardContainer_node_modules-\@docusaurus-theme-classic-lib-next-theme-DocCard-styles-module,
+.generatedIndexPage_aEAk .card {
+ color: var(--color-white);
+ background: var(--ifm-footer-background-color);
+}
+.generatedIndexPage_node_modules-\@docusaurus-theme-classic-lib-next-theme-DocCategoryGeneratedIndexPage-styles-module
+ .cardContainer_node_modules-\@docusaurus-theme-classic-lib-next-theme-DocCard-styles-module:hover,
+.generatedIndexPage_aEAk .card:hover {
+ color: var(--color-white);
+ background: var(--color-primary-blue);
}
/* Custom Blog Styles */
@@ -482,17 +891,36 @@ code {
display: block;
margin-bottom: 0;
background: var(--color-off-white);
- padding: .5rem 0;
+ padding: 0.5rem 0;
+}
+
+html[data-theme="dark"] .blog-breadcrumbs {
+ background-color: rgba(20, 20, 10, 0.75);
}
+
.blog-breadcrumbs a {
margin-right: 1.5rem;
position: relative;
}
+
.blog-breadcrumbs a[href="#"] {
cursor: initial;
- color: var(--color-primary-blue);
pointer-events: none;
}
+
+/* darkmode breadcrumbs */
+html[data-theme="dark"] .blog-breadcrumbs a[href="#"] {
+ filter: brightness(var(--filter-brightness-low));
+}
+
+html[data-theme="dark"] .blog-breadcrumbs a:not(:last-of-type):after {
+ color: var(--ifm-link-color);
+}
+
+html[data-theme="dark"] .breadcrumbs__item--active .breadcrumbs__link {
+ filter: brightness(var(--filter-brightness-high));
+}
+
.blog-breadcrumbs a:not(:last-of-type):after {
content: ">";
color: var(--color-primary-blue);
@@ -502,7 +930,7 @@ code {
bottom: 0;
margin: auto 0;
width: auto;
- font-size: .9rem;
+ font-size: 0.9rem;
pointer-events: none;
}
@@ -519,17 +947,302 @@ code {
flex: 1 0 300px;
max-width: 300px;
}
+
.blog-main-row .blog-aside li a {
font-size: 1rem;
line-height: 1.25;
}
+
+/* footer styles */
+.footer {
+ font-weight: var(--ifm-font-weight-narrow);
+ font-size: 0.875rem;
+ padding-top: var(--ifm-footer-padding-vertical);
+ padding-bottom: var(--ifm-footer-padding-vertical);
+}
+
+.footer button {
+ font-size: 0.875rem !important;
+}
+
+.footer a {
+ color: var(--ifm-footer-color);
+ text-decoration: none;
+}
+
+.footer a:hover {
+ text-decoration: underline;
+ color: var(--ifm-footer-color);
+}
+
+.footer__links {
+ margin-bottom: 0;
+}
+
+.footer__link-item {
+ color: var(--ifm-footer-color);
+ display: flex;
+ justify-content: space-between;
+}
+
+.footer__items {
+ list-style: none;
+ margin-bottom: 1em;
+ padding-left: 0;
+ gap: 1.5em;
+ display: flex;
+}
+
+/* social media icons in footer */
+.footer__items--right {
+ display: flex;
+ gap: 1.5em;
+}
+
+/* fontawesome icons in footer */
+.footer .fa-brands {
+ color: var(--color-footer-accent);
+ font-size: 1.6rem;
+ transition: all 0.3s ease-in-out;
+}
+
+.footer .fa-brands:hover {
+ filter: opacity(0.75);
+}
+
+/* copyright */
+.footer__bottom {
+ text-align: left;
+ color: var(--color-footer-accent);
+ font-size: 0.875rem;
+}
+
+.footer__copyright {
+ margin-top: 0.5em;
+}
+
+@media (min-width: 997px) and (max-width: 1045px) {
+ .navbar__link.nav-versioning {
+ transition: all 0.3s ease-in-out;
+ }
+}
+
+@media (min-width: 997px) and (max-width: 2560px) {
+ .container > .row .col {
+ padding-left: 2.5rem;
+ }
+ /* for non row divs like on /category/adapter-development */
+ .container > div:not(.row) {
+ padding-left: 2.5rem;
+ }
+}
+
+/* Begin @Media Queries */
+@media (min-width: 997px) and (max-width: 1150px) {
+ nav.navbar a.navbar__link {
+ font-size: 0.875rem;
+ }
+
+ .navbar__search .navbar__search-input {
+ max-width: 160px;
+ }
+}
+
+@media (max-width: 910px) {
+ .footer__items {
+ flex-direction: column;
+ align-items: flex-start;
+ }
+}
+
+@media (max-width: 996px) {
+ .navbar-sidebar__brand
+ .navbarSidebarToggle_node_modules-\@docusaurus-theme-classic-lib-next-theme-Navbar-styles-module {
+ margin-right: 0;
+ margin-left: 0.25em;
+ }
+
+ .navbar-sidebar__brand > div:first-of-type {
+ order: 1;
+ margin-right: 0;
+ }
+
+ .footer__link-item {
+ flex-direction: column;
+ }
+
+ .footer__copyright {
+ margin-top: 1em;
+ }
+}
+
+@media screen and (max-width: 750px) {
+ .card.large {
+ height: auto;
+ text-align: center;
+ }
+}
+
+@media screen and (max-width: 1199px) {
+ button.DocSearch-Button {
+ background: var(--ifm-color-gray-100);
+ }
+
+ [data-theme="dark"] button.DocSearch-Button {
+ background-color: #ffffff20;
+ }
+
+ .DocSearch-Button .DocSearch-Search-Icon {
+ color: var(--docsearch-muted-color);
+ }
+
+ /* hide search text and keys until 1201px */
+ button .DocSearch-Button-Placeholder,
+ button .DocSearch-Button-Keys {
+ display: none;
+ }
+}
+
+@media screen and (min-width: 1200px) {
+ /* search bar styles */
+ button.DocSearch-Button {
+ border: 1px solid #95a0b1;
+ border-radius: 5px;
+ height: 30px;
+ }
+
+ button.DocSearch-Button:active,
+ button.DocSearch-Button:focus,
+ button.DocSearch-Button:hover {
+ color: var(--docsearch-muted-color);
+ background: white;
+ box-shadow: var(--docsearch-searchbox-shadow);
+ border: 1px solid var(--ifm-link-color);
+ }
+
+ button .DocSearch-Button-Placeholder {
+ font-size: 0.875rem;
+ font-weight: 600;
+ padding: 0 12px 0 8px;
+ }
+
+ /* magnifying glass icon */
+ button.DocSearch-Button .DocSearch-Search-Icon {
+ color: var(--docsearch-muted-color);
+ stroke-width: 2px;
+ width: 1em;
+ height: 1em;
+ }
+
+ /* keys wrapper */
+ button .DocSearch-Button-Keys {
+ border: 1px solid var(--docsearch-muted-color-for-keys);
+ border-radius: 5px;
+ padding: 0.24em 0.5em;
+ gap: 0.1em;
+ }
+
+ /* single key */
+ button .DocSearch-Button-Key {
+ font-size: 1.25rem;
+ margin-right: 0;
+ padding: 4px 4px 2px;
+ }
+
+ /* Add dark background on hover for searchbox */
+ [data-theme="dark"] button.DocSearch-Button:active,
+ [data-theme="dark"] button.DocSearch-Button:focus,
+ [data-theme="dark"] button.DocSearch-Button:hover {
+ background: #ffffff10;
+ }
+}
+
+@media (min-width: 1440px) {
+ .container--fluid {
+ max-width: inherit;
+ }
+
+ html.docs-version-current .navbar__brand {
+ background-color: var(--ifm-background-color);
+ border-right: 1px solid var(--ifm-toc-border-color);
+ }
+
+ button.DocSearch-Button {
+ min-width: 175px;
+ }
+}
+
@media (min-width: 997px) {
+ html.docs-version-current .navbar__brand {
+ padding: 0 var(--ifm-navbar-padding-horizontal) 0 0;
+ min-height: var(--ifm-navbar-height);
+ max-height: var(--ifm-navbar-height);
+ width: 300px;
+ min-width: 5.5em;
+ }
+
+ html.docs-version-current .navbar {
+ width: 100%;
+ margin-left: 0;
+ }
+
+ .navbar {
+ padding: 0 var(--ifm-navbar-padding-horizontal) 0 0;
+ }
+
+ html.docs-version-current
+ aside
+ html.docs-version-current
+ .sidebar_node_modules-\@docusaurus-theme-classic-lib-next-theme-DocSidebar-styles-module {
+ position: relative;
+ }
+
+ aside .menu {
+ padding-left: .75rem;
+ padding-right: 1rem;
+ }
+
+ .navbar__item {
+ padding: var(--ifm-navbar-item-padding-vertical) 0;
+ }
+
+ .navbar__item.navbar__link {
+ display: flex;
+ align-self: stretch;
+ }
+
+ .navbar__items--right > :last-child {
+ padding: var(--ifm-navbar-item-padding-vertical) 1em
+ var(--ifm-navbar-item-padding-vertical) 0.5em;
+ }
+
.blog-main-row > main {
width: 100%;
flex-grow: 1;
max-width: calc(100% - var(--doc-sidebar-width));
}
+
+ .table-of-contents::before {
+ content: "CONTENTS";
+ margin-left: 0.5rem;
+ color: var(--color-nav-sub-level-text);
+ font-size: 0.875rem;
+ font-weight: var(--ifm-font-weight-semibold);
+ }
+
+ [data-theme="dark"] .table-of-contents::before {
+ color: var(--color-white);
+ }
+
+ html[data-theme="dark"] .menu-content {
+ border-right: 1px solid #dadde1;
+ }
+
+ .docSidebarContainer_src-theme-DocPage-styles-module {
+ margin-top: calc(-0.8 * var(--ifm-navbar-height)) !important;
+ }
}
+
.blog-main-row .blog-right-sidebar {
max-width: 400px !important;
margin-top: 2rem;
@@ -539,7 +1252,8 @@ code {
margin-bottom: 3rem;
}
-.blog-post-page .docItemCol_node_modules-\@docusaurus-theme-classic-lib-next-theme-DocItem-styles-module {
+.blog-post-page
+ .docItemCol_node_modules-\@docusaurus-theme-classic-lib-next-theme-DocItem-styles-module {
max-width: 70% !important;
}
@@ -554,7 +1268,8 @@ code {
.blog-main-row .blog-right-sidebar {
max-width: initial !important;
}
- .blog-post-page .docItemCol_node_modules-\@docusaurus-theme-classic-lib-next-theme-DocItem-styles-module {
+ .blog-post-page
+ .docItemCol_node_modules-\@docusaurus-theme-classic-lib-next-theme-DocItem-styles-module {
max-width: 100% !important;
}
}
@@ -622,7 +1337,7 @@ code {
}
.blog-hero-card {
background: var(--ifm-footer-background-color);
- color: white;
+ color: var(--color-white);
}
.blog-hero-card .button {
text-decoration: none;
@@ -633,7 +1348,8 @@ code {
text-align: left;
}
@media (max-width: 699px) {
- .card.large.blog-hero-card:before, .card.large.blog-hero-card:after {
+ .card.large.blog-hero-card:before,
+ .card.large.blog-hero-card:after {
display: none;
}
.blog-hero-card {
@@ -653,7 +1369,8 @@ code {
.author-header {
align-items: center;
}
-.author-header-left, .author-header-right {
+.author-header-left,
+.author-header-right {
padding: 20px;
}
.author-header img {
@@ -722,10 +1439,8 @@ code {
/* Tag Page Styles */
.tag-header {
margin: 0 0 var(--ifm-paragraph-margin-bottom);
-
}
-
/* CTA Styles */
.docs-cta {
padding: 20px 10px;
@@ -734,20 +1449,20 @@ code {
/*position: sticky;*/
text-align: center;
background: var(--color-off-white);
- position:relative;
- bottom:0;
+ position: relative;
+ bottom: 0;
max-width: 400px;
}
.docs-cta h4 {
margin-bottom: 10px;
}
.docs-cta p {
- font-size: .9rem;
+ font-size: 0.9rem;
line-height: 21px;
}
.docs-cta .docs-cta-btn {
background: var(--ifm-color-primary);
- color: #fff;
+ color: var(--color-white);
border-radius: 5px;
border: none;
text-decoration: none;
@@ -761,11 +1476,10 @@ code {
@media (max-width: 996px) {
.docs-cta {
- display:none;
+ display: none;
}
}
-
.mobile-toc-section {
display: none;
}
@@ -777,13 +1491,17 @@ code {
.mobile-toc-section {
display: block;
}
- .mobile-toc-section .tableOfContents_node_modules-\@docusaurus-theme-classic-lib-next-theme-TOC-styles-module {
+ .mobile-toc-section
+ .tableOfContents_node_modules-\@docusaurus-theme-classic-lib-next-theme-TOC-styles-module {
display: none;
}
- .mobile-toc-section .tableOfContents_node_modules-\@docusaurus-theme-classic-lib-next-theme-TOC-styles-module.tocActive {
+ .mobile-toc-section
+ .tableOfContents_node_modules-\@docusaurus-theme-classic-lib-next-theme-TOC-styles-module.tocActive {
display: block;
}
- .mobile-toc-section .tableOfContents_node_modules-\@docusaurus-theme-classic-lib-next-theme-TOC-styles-module .table-of-contents__left-border {
+ .mobile-toc-section
+ .tableOfContents_node_modules-\@docusaurus-theme-classic-lib-next-theme-TOC-styles-module
+ .table-of-contents__left-border {
border-left: none;
}
#mobile-toc-dropdown button.tocActive:after {
@@ -803,7 +1521,7 @@ code {
width: 100%;
}
#mobile-toc-dropdown > button::after {
- content: '';
+ content: "";
background: var(--ifm-menu-link-sublist-icon) 50% 50% / 2rem 2rem no-repeat;
filter: var(--ifm-menu-link-sublist-icon-filter);
height: 1.25rem;
@@ -825,3 +1543,187 @@ code {
.docs-wrapper.docs-doc-page main div.row > article.col--6 {
margin-bottom: 1.5rem;
}
+
+/* OneTrust Cookies Settings Btn in Footer */
+footer #ot-sdk-btn,
+footer #ot-sdk-btn.optanon-show-settings {
+ background: none;
+ border: none;
+ color: var(--ifm-footer-color);
+ text-decoration: none;
+ font-weight: var(--ifm-font-weight-bold);
+ font-family: var(--ifm-font-family-base);
+ padding: 0;
+ line-height: inherit;
+ font-size: 1.125rem;
+ font-weight: 400;
+ cursor: pointer;
+}
+footer #ot-sdk-btn:hover,
+footer #ot-sdk-btn.optanon-show-settings:hover {
+ background: none;
+ border: none;
+ color: var(--ifm-footer-color);
+ text-decoration: underline;
+}
+
+/* Discourse Forum & Events Page */
+.events-page section,
+section.discourse-forum-page {
+ padding: 4rem 0;
+}
+
+/* New Homepage Styles */
+
+.home section {
+ margin: 6.25rem auto 6.25rem;
+ max-width: var(--ifm-container-width-xl);
+ padding: 0 var(--ifm-spacing-horizontal);
+}
+
+.home section.from-the-blog {
+ margin-bottom: 0;
+}
+.home section.from-the-community {
+ margin-top: 0;
+
+}
+
+.home .resource-section h2 {
+ margin: 0;
+}
+
+@media (max-width: 995px) {
+ .home .resource-section h2 {
+ text-align: center;
+ margin: 2rem inherit;
+ }
+}
+
+section > h2:not(.resource-section) {
+ margin-bottom: 25px;
+}
+
+.home .resource-section {
+ display: grid;
+ grid-template-columns: 1fr;
+ grid-gap: 16px;
+ grid-template-areas:
+ "featH2"
+ "featResource"
+ "popH2"
+ "popResources";
+}
+
+@media (min-width: 996px) {
+ .home .resource-section {
+ display: grid;
+ grid-template-columns: 2fr 1fr;
+ row-gap: 25px;
+ column-gap: calc(var(--ifm-spacing-horizontal) * 4);
+ grid-template-areas:
+ "popH2 featH2"
+ "popResources featResource";
+ }
+}
+
+.home .popular-header {
+ grid-area: popH2;
+ margin-top: 2.5rem;
+}
+
+@media (min-width: 996px) {
+ .home .popular-header {
+ margin-top: 0;
+ }
+}
+
+.home .popular-resources {
+ grid-area: popResources;
+}
+
+.home .popular-resources .grid {
+ display: grid;
+ grid-template-columns: 1fr;
+ grid-gap: var(--ifm-spacing-horizontal);
+}
+
+@media (min-width: 996px) {
+ .home .popular-resources .grid {
+ grid-template-columns: 1fr 1fr;
+ grid-template-rows: 1fr 1fr;
+ grid-gap: calc(var(--ifm-spacing-horizontal) * 2);
+ }
+}
+
+.home .featured-header {
+ grid-area: featH2;
+}
+
+.home .featured-resource {
+ grid-area: featResource;
+ height: 100%;
+}
+
+.home .swiper .swiper-slide {
+ height: unset;
+}
+
+.home .swiper.swiper-initialized {
+ padding-right: 3rem;
+ padding-left: 3rem;
+ padding-top: 0rem;
+ padding-bottom: 6.25rem;
+ margin-bottom: 0;
+}
+
+.home .swiper .swiper-button-next, .home .swiper .swiper-button-prev {
+ color: #047377;
+ font-weight: 800;
+ position: absolute;
+ top: 40%;
+}
+
+[data-theme='dark'] .home .swiper-button-next, [data-theme='dark'] .home .swiper-button-prev {
+ color: #fff;
+ font-weight: 800;
+}
+
+/* Community Home styles */
+.community-home section {
+ margin: calc(5vh) auto calc(2vh);
+ max-width: var(--ifm-container-width-xl);
+ padding: 0 var(--ifm-spacing-horizontal);
+}
+
+
+/* utilities */
+.grid--3-col {
+ display: grid;
+ grid-template-columns: repeat(1, 1fr);
+ grid-gap: var(--ifm-spacing-horizontal)
+}
+
+@media(min-width: 996px) {
+ .grid--3-col {
+ grid-template-columns: repeat(3, 1fr);
+ grid-gap: calc(var(--ifm-spacing-horizontal) * 2);
+ }
+}
+
+.grid--2-col {
+ display: grid;
+ grid-template-columns: repeat(1, 1fr);
+ grid-gap: var(--ifm-spacing-horizontal)
+}
+
+@media(min-width: 996px) {
+ .grid--2-col {
+ grid-template-columns: repeat(2, 1fr);
+ grid-gap: calc(var(--ifm-spacing-horizontal) * 2);
+ }
+}
+
+.justify-content-center {
+ justify-content: center !important;
+}
diff --git a/website/src/pages/community/events.js b/website/src/pages/community/events.js
new file mode 100644
index 00000000000..8002daf0301
--- /dev/null
+++ b/website/src/pages/community/events.js
@@ -0,0 +1,27 @@
+
+import React from 'react';
+import Layout from '@theme/Layout';
+import Head from '@docusaurus/Head';
+import EventsFeed from '@site/src/components/events';
+
+
+function Events() {
+ return (
+
+
+ dbt Community Events
+
+
+
+
+ Upcoming dbt Community Events
+ Join us for upcoming meetups, conferences, or office hours with the dbt Labs team. Events are online unless explicitly listed as in-person.
+
+
+
+
+
+ );
+}
+
+export default Events;
diff --git a/website/src/pages/community/forum.js b/website/src/pages/community/forum.js
new file mode 100644
index 00000000000..346d96e9adf
--- /dev/null
+++ b/website/src/pages/community/forum.js
@@ -0,0 +1,26 @@
+import React from 'react';
+import Layout from '@theme/Layout';
+import Head from '@docusaurus/Head';
+import { DiscourseFeed } from '@site/src/components/discourse';
+
+function Events() {
+ return (
+
+
+ dbt Community Forum
+
+
+
+
+
dbt Community Forum
+
The dbt Community Forum is the preferred platform for support questions as well as a space for long-lived discussions about dbt, analytics engineering, and the analytics profession. It's a place for us to build up a long-lasting knowledge base around the common challenges, opportunities, and patterns we work with every day.
+
+
+
+
+
+
+ );
+}
+
+export default Events;
diff --git a/website/src/pages/index.js b/website/src/pages/index.js
index 0869329e9fb..5c9de9e85b2 100644
--- a/website/src/pages/index.js
+++ b/website/src/pages/index.js
@@ -1,283 +1,161 @@
import React from 'react';
-import Link from '@docusaurus/Link';
-import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
-import useBaseUrl from '@docusaurus/useBaseUrl';
import Layout from '@theme/Layout';
-import classnames from 'classnames';
import Head from '@docusaurus/Head';
+import Card from '@site/src/components/card';
+import BlogPostCard from '@site/src/components/blogPostCard';
+import Hero from '@site/src/components/hero';
+import PostCarousel from '@site/src/components/postCarousel';
+import allBlogData from './../../.docusaurus/docusaurus-plugin-content-blog/default/blog-archive-80c.json'
+
+
const bannerAnimation = require('@site/static/img/banner-white.svg');
function getBanner() {
- return {__html: bannerAnimation};
+ return { __html: bannerAnimation };
};
function Home() {
- const context = useDocusaurusContext();
+
+ const recentBlogData = allBlogData.blogPosts.slice(0, 6).reduce((accumulator, currentValue) => {
+ let postMetaData = {
+ title: currentValue.metadata.title,
+ date: currentValue.metadata.formattedDate,
+ readingTime: Math.round(currentValue.metadata.readingTime),
+ description: currentValue.metadata.description,
+ link: currentValue.metadata.permalink,
+ }
+ accumulator.push(postMetaData)
+ return accumulator
+ }, [])
+ const featuredResource = {
+ title: "How we structure our dbt projects",
+ description: "Our hands-on learnings for how to structure your dbt project for success and gain insights into the principles of analytics engineering.",
+ link: "/guides/best-practices/how-we-structure/1-guide-overview",
+ image: "/img/structure-dbt-projects.png"
+ }
return (
<>
-
-
-
-
-
Get started
-
If you’re new to dbt™, start here. These resources will get you off to a strong start:
-
-
-
-
-
-
-
What is dbt?
-
-
-
- Some of the very first questions a new user has are covered in this introduction.
-
-
-
-
- Learn More
-
-
-
-
-
-
-
-
Getting started guide
-
-
-
- Read this guide to learn how to build, test, and deploy a new dbt project.
-
-
-
-
- Learn more
-
-
-
-
-
-
-
-
dbt Learn
-
-
-
- Learn dbt on your own time with our on demand course or sign up for an upcoming, live public course.
-
-
-
-
- Learn Now
-
-
-
-
+
+
+
+
Popular resources
+
-
-
-
-
Build your project
-
If you’re getting comfortable with dbt, bookmark these resources! They’ll help you level up quickly.
-
-
-
-
-
-
-
Docs
-
-
-
- The core concepts of dbt, from models, to sources, to tests.
-
-
-
-
- Read Up
-
-
-
-
-
-
-
-
Reference
-
-
-
- The technical reference for dbt configurations. You’ll need to know the basics of dbt before using this section.
-
-
-
-
- Browse Reference
-
-
-
-
-
-
-
-
FAQs
-
-
-
- Commonly asked questions about dbt.
-
-
-
-
- Get Answers
-
-
-
-
+
+
Featured resource
+
+
+
+
+
+
+ The latest from the Developer Blog
+
+
+
+
+ From the dbt Community
+
+
+
-
-
-
If you’re a dbt Cloud™ user, these resources may also be helpful:
-
-
-
-
-
-
-
dbt Cloud guides
-
-
-
- Guides to help you set up your dbt project in dbt Cloud
-
-
-
-
- Cloud Overview
-
-
-
-
-
-
-
-
dbt Cloud API
-
-
-
- Technical reference docs for using the dbt Cloud APIs.
-
-
-
-
- API docs
-
-
-
-
+
+
-
-
-
-
-
Learn from the community
-
Every data team uses dbt to solve different analytics engineering problems. It can be useful to learn how other teams are using dbt with the following resources:
-
-
-
-
-
-
-
Discourse
-
-
-
- Common use cases and helpful articles from the community have been published here
-
-
-
-
- Get Advice
-
-
-
-
-
-
-
-
Slack
-
-
-
- Where the dbt community hangs out, discusses issues, and troubleshoots problems together
-
-
-
-
- Join us on Slack
-
-
-
-
-
-
-
-
Example projects
-
-
-
- A list of some dbt projects in the wild
-
-
-
-
- View Projects
-
-
-
-
+
+
-
-
-
-
-
Having trouble?
-
If you're having trouble, check out our guide on Getting Help for information on getting support and asking questions in the community.
-
-
-
-
+
+
+
+
+
+
+
+
>
);
diff --git a/website/src/pages/styles.js b/website/src/pages/styles.js
index 0d3d2025ccb..3f326104633 100644
--- a/website/src/pages/styles.js
+++ b/website/src/pages/styles.js
@@ -38,11 +38,11 @@ function Styles() {
Linked Markdown Code Blocks
{`
\`\`\`
-[view the license](license)
+[view the intro](docs/introduction)
\`\`\`
`}
-[view the license](license)
+[view the intro](docs/introduction)
Use a backslash to escape linking:
@@ -105,9 +105,9 @@ description: "this is \[an escaped link](docs.getdbt.com)"
@@ -135,34 +135,8 @@ password: hunter2
-
Markdown Link
-Links to pages can be specified using:
-
Just the id
¹ of the document, if the id
is unique. Note: the id
may be specified in the YAML front-matter of a document. If not, then it defaults to the filename.
-
A relative id
of the document. Note: this is required when two documents have the same id
.
-
Or, a path to the document (with .md
file extension), relative to the website/docs/
directory. Note: this is required for pages where the id
looks like a filename (e.g. profiles.yml
)
-
-Bad links will appear with red underlines when building locally, and will cause an error in a deploy preview.
-
-
{`[link to unique id](available-adapters)
-[disambiguated link to duplicate id](docs/about/overview)
-[second disambiguated link to duplicate id](dbt-cli/install/overview)
-[file paths work too](docs/about/overview.md)
-[link to document where id looks like a filename](reference/profiles.yml.md)
-[a bad link](bad-link)
-`}
-
-
link to unique id
-
-
disambiguated link to duplicate id
-
-
second disambiguated link to duplicate id
-
-
file paths work too
-
-
link to document where id looks like a file
-
-
a bad link
-
+
Markdown Links
+ Refer to the
Links section of the Content Style Guide to read about how you can use links in the dbt product documentation.
diff --git a/website/src/theme/AnnouncementBar/index.js b/website/src/theme/AnnouncementBar/index.js
new file mode 100644
index 00000000000..f82645c9b1c
--- /dev/null
+++ b/website/src/theme/AnnouncementBar/index.js
@@ -0,0 +1,76 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+import React from 'react';
+import clsx from 'clsx';
+import {useThemeConfig, useAnnouncementBar} from '@docusaurus/theme-common';
+import {translate} from '@docusaurus/Translate';
+import IconClose from '@theme/IconClose';
+import styles from './styles.module.css';
+export default function AnnouncementBar() {
+ const {isActive, close} = useAnnouncementBar();
+ const {announcementBar, announcementBarActive, announcementBarLink} = useThemeConfig();
+
+ if (!isActive || !announcementBarActive) {
+ return null;
+ }
+
+ const {content, backgroundColor, textColor, isCloseable} = announcementBar;
+
+ return (
+
+ {isCloseable &&
}
+ {announcementBarLink ? (
+
+
+
+ ) : (
+
+ )}
+
+ {isCloseable ? (
+
+
+
+ ) : null}
+
+ );
+}
+
+function AnnouncementBarContent({ content, styles }) {
+ return (
+
+ )
+}
diff --git a/website/src/theme/AnnouncementBar/styles.module.css b/website/src/theme/AnnouncementBar/styles.module.css
new file mode 100644
index 00000000000..e76f981dfbb
--- /dev/null
+++ b/website/src/theme/AnnouncementBar/styles.module.css
@@ -0,0 +1,67 @@
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+:root {
+ --docusaurus-announcement-bar-height: auto;
+}
+
+.announcementBar {
+ display: flex;
+ align-items: center;
+ height: auto;
+}
+
+html[data-announcement-bar-initially-dismissed='true'] .announcementBar {
+ display: none;
+}
+
+.announcementBarPlaceholder {
+ flex: 0 0 10px;
+}
+
+.announcementBarClose {
+ flex: 0 0 30px;
+ align-self: stretch;
+ padding: 0;
+ line-height: 0;
+ color: var(--ifm-color-white);
+ opacity: 1;
+}
+
+.announcementBarContent {
+ flex: 1 1 auto;
+ font-size: 1.125rem;
+ text-align: center;
+ padding: 15px 0;
+}
+
+@media print {
+ .announcementBar {
+ display: none;
+ }
+}
+
+.announcementBarContent a {
+ color: inherit;
+ text-decoration: underline;
+}
+
+@media (min-width: 997px) {
+ .announcementBarPlaceholder,
+ .announcementBarClose {
+ flex-basis: 50px;
+ }
+}
+
+.announcementBarLink {
+ color: var(--ifm-color-white);
+ width: 100%;
+}
+.announcementBarLink:hover {
+ color: var(--ifm-color-white);
+ text-decoration: none;
+}
diff --git a/website/src/theme/BlogPostItem/index.js b/website/src/theme/BlogPostItem/index.js
index 9e93d67efe3..071319aae31 100644
--- a/website/src/theme/BlogPostItem/index.js
+++ b/website/src/theme/BlogPostItem/index.js
@@ -12,7 +12,7 @@
* - Add image above title for blog posts
*/
-import React from 'react';
+import React, { useEffect } from 'react';
import clsx from 'clsx';
import {MDXProvider} from '@mdx-js/react';
import Translate, {translate} from '@docusaurus/Translate';
@@ -101,6 +101,36 @@ function BlogPostItem(props) {
);
};
+ // dbt custom - send blog context to datalayer to send to snowplow
+ useEffect(() => {
+ let blogContext = {
+ event: 'blogContext',
+ blogAuthor: '',
+ blogCategory: '',
+ blogDate: formattedDate ? formattedDate : undefined
+ }
+
+ if(authors && authors.length > 0) {
+ authors.map((author, i) => {
+ blogContext.blogAuthor +=
+ `${author.name}${i !== authors.length - 1 ? ', ' : ''}`
+ })
+ }
+
+ if(tags && tags.length > 0) {
+ tags.map((tag, i) => {
+ blogContext.blogCategory +=
+ `${tag.label}${i !== tags.length - 1 ? ', ' : ''}`
+ })
+ }
+
+ // Only send to datalayer if blog post page
+ if(isBlogPostPage) {
+ window.dataLayer = window.dataLayer || [];
+ dataLayer && dataLayer.push(blogContext)
+ }
+ }, [])
+
return (
<>
{frontMatter.canonical_url && (
diff --git a/website/src/theme/BlogSidebar/index.js b/website/src/theme/BlogSidebar/index.js
index 0e03f696673..c68112aa0a1 100644
--- a/website/src/theme/BlogSidebar/index.js
+++ b/website/src/theme/BlogSidebar/index.js
@@ -29,7 +29,7 @@ export default function BlogSidebar({sidebar, tagData}) {
Categories
- {tagData && tagData.map((tag, i) => {
+ {tagData && tagData.filter(tag => tag.is_featured)?.map((tag, i) => {
if(!tag)
return null
return (
diff --git a/website/src/theme/DocItem/index.js b/website/src/theme/DocItem/index.js
index fc692d27631..5337c58b808 100644
--- a/website/src/theme/DocItem/index.js
+++ b/website/src/theme/DocItem/index.js
@@ -4,7 +4,7 @@
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
-import React, {useState, useEffect, useContext} from 'react';
+import React, { useState, useEffect, useContext } from 'react';
import clsx from 'clsx';
import DocPaginator from '@theme/DocPaginator';
import DocVersionBanner from '@theme/DocVersionBanner';
@@ -15,16 +15,17 @@ import TOC from '@theme/TOC';
import TOCCollapsible from '@theme/TOCCollapsible';
import Heading from '@theme/Heading';
import styles from './styles.module.css';
-import {ThemeClassNames, useWindowSize} from '@docusaurus/theme-common';
+import { ThemeClassNames, useWindowSize } from '@docusaurus/theme-common';
import DocBreadcrumbs from '@theme/DocBreadcrumbs';
+import DocSearchWeight from '@site/src/components/docSearchWeight';
// dbt Custom
import VersionContext from '../../stores/VersionContext'
import getElements from '../../utils/get-html-elements';
export default function DocItem(props) {
- const {content: DocContent} = props;
- const {metadata, frontMatter, assets} = DocContent;
+ const { content: DocContent } = props;
+ const { metadata, frontMatter, assets } = DocContent;
const {
keywords,
hide_title: hideTitle,
@@ -32,7 +33,7 @@ export default function DocItem(props) {
toc_min_heading_level: tocMinHeadingLevel,
toc_max_heading_level: tocMaxHeadingLevel,
} = frontMatter;
- const {description, title} = metadata;
+ const { description, title } = metadata;
const image = assets.image ?? frontMatter.image; // We only add a title if:
// - user asks to hide it with front matter
// - the markdown content does not already contain a top-level h1 heading
@@ -49,6 +50,10 @@ export default function DocItem(props) {
// If term has cta property set, show that cta
const termCTA = frontMatter?.cta && frontMatter.cta
+ // dbt Custom
+ // If the page has a search_weight value, apply that value
+ const searchWeight = frontMatter?.search_weight && frontMatter.search_weight
+
// This hides any TOC items not in
// html markdown headings for current version.
const { version: dbtVersion } = useContext(VersionContext)
@@ -58,28 +63,51 @@ export default function DocItem(props) {
async function fetchElements() {
// get html elements
const headings = await getElements(".markdown h1, .markdown h2, .markdown h3, .markdown h4, .markdown h5, .markdown h6")
-
// if headings exist on page
// compare against toc
- if(DocContent.toc && headings && headings.length) {
- let updated = DocContent.toc.reduce((acc, item) => {
+ if (DocContent.toc && headings && headings.length) {
+ // make new TOC object
+ let updated = Array.from(headings).reduce((acc, item) => {
// If heading id and toc item id match found
// include in updated toc
- let found = Array.from(headings).find(heading =>
+ let found = DocContent.toc.find(heading =>
heading.id.includes(item.id)
)
// If toc item is not in headings
// do not include in toc
// This means heading is versioned
- if(found)
- acc.push(item)
+
+ let makeToc = (heading) => {
+ let level;
+ if (heading.nodeName === "H2") {
+ level = 2
+ } else if (heading.nodeName === "H3") {
+ level = 3
+ } else {
+ level = null
+ }
+
+ return {
+ value: heading.innerHTML,
+ id: heading.id,
+ level: level && level
+ }
+ }
+
+ if (found) {
+ acc.push(makeToc(item))
+ } else if (!found) {
+ acc.push(makeToc(item))
+ } else {
+ null
+ }
return acc
}, [])
// If updated toc different than current
// If so, show loader and update toc
- if(currentToc.length !== updated.length) {
+ if (currentToc.length !== updated.length) {
setTocReady(false)
// This timeout provides enough time to show the loader
// Otherwise the content updates immediately
@@ -136,11 +164,11 @@ export default function DocItem(props) {
{/*
- Title can be declared inside md content or declared through
- front matter and added manually. To make both cases consistent,
- the added title is added under the same div.markdown block
- See https://github.com/facebook/docusaurus/pull/4882#issuecomment-853021120
- */}
+ Title can be declared inside md content or declared through
+ front matter and added manually. To make both cases consistent,
+ the added title is added under the same div.markdown block
+ See https://github.com/facebook/docusaurus/pull/4882#issuecomment-853021120
+ */}
{shouldAddTitle && (
{title}
@@ -148,6 +176,8 @@ export default function DocItem(props) {
)}
+
+
@@ -165,13 +195,14 @@ export default function DocItem(props) {
maxHeadingLevel={tocMaxHeadingLevel}
className={ThemeClassNames.docs.docTocDesktop}
featured_cta={termCTA && termCTA}
+ editUrl={metadata?.editUrl && metadata.editUrl}
/>
) : (
)}
diff --git a/website/src/theme/MDXComponents/index.js b/website/src/theme/MDXComponents/index.js
index 445a2321abe..c9514a320b3 100644
--- a/website/src/theme/MDXComponents/index.js
+++ b/website/src/theme/MDXComponents/index.js
@@ -4,12 +4,12 @@
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
-import React, { isValidElement } from 'react';
-import Head from '@docusaurus/Head';
-import CodeBlock from '@theme/CodeBlock';
-import Heading from '@theme/Heading';
-import Details from '@theme/Details';
-import './styles.css'; // MDX elements are wrapped through the MDX pragma. In some cases (notably usage
+import React, { isValidElement } from "react";
+import Head from "@docusaurus/Head";
+import CodeBlock from "@theme/CodeBlock";
+import Heading from "@theme/Heading";
+import Details from "@theme/Details";
+import "./styles.css"; // MDX elements are wrapped through the MDX pragma. In some cases (notably usage
// with Head/Helmet) we need to unwrap those elements.
/*
@@ -33,6 +33,13 @@ import WistiaVideo from '@site/src/components/wistia';
import VersionBlock from '@site/src/components/versionBlock';
import Var from '@site/src/components/variable';
import Term from '@site/src/components/term';
+import EventsFeed from '@site/src/components/events';
+import { DiscourseFeed, DiscourseHelpFeed } from '@site/src/components/discourse';
+import Hero from '@site/src/components/hero'
+import Card from '@site/src/components/card'
+import Callout from '@site/src/components/callout'
+import BlogPostCard from '@site/src/components/blogPostCard';
+import PostCarousel from '@site/src/components/postCarousel';
function unwrapMDXElement(element) {
if (element?.props?.mdxType && element?.props?.originalType) {
@@ -46,27 +53,27 @@ function unwrapMDXElement(element) {
const MDXComponents = {
head: (props) => {
const unwrappedChildren = React.Children.map(props.children, (child) =>
- unwrapMDXElement(child),
+ unwrapMDXElement(child)
);
return {unwrappedChildren};
},
code: (props) => {
const inlineElements = [
- 'a',
- 'b',
- 'big',
- 'i',
- 'span',
- 'em',
- 'strong',
- 'sup',
- 'sub',
- 'small',
+ "a",
+ "b",
+ "big",
+ "i",
+ "span",
+ "em",
+ "strong",
+ "sup",
+ "sub",
+ "small",
];
const shouldBeInline = React.Children.toArray(props.children).every(
(el) =>
- (typeof el === 'string' && !el.includes('\n')) ||
- (React.isValidElement(el) && inlineElements.includes(el.props.mdxType)),
+ (typeof el === "string" && !el.includes("\n")) ||
+ (React.isValidElement(el) && inlineElements.includes(el.props.mdxType))
);
return shouldBeInline ?
: ;
},
@@ -74,7 +81,7 @@ const MDXComponents = {
pre: (props) => (
@@ -83,7 +90,7 @@ const MDXComponents = {
const items = React.Children.toArray(props.children); // Split summary item from the rest to pass it as a separate prop to the
// Details theme component
- const summary = items.find((item) => item?.props?.mdxType === 'summary');
+ const summary = items.find((item) => item?.props?.mdxType === "summary");
const children = <>{items.filter((item) => item !== summary)}>;
return (
@@ -98,15 +105,20 @@ const MDXComponents = {
h5: (props) => ,
h6: (props) => ,
+ BlogPostCard: BlogPostCard,
+ Callout: Callout,
+ Card: Card,
Changelog: Changelog,
CloudCore: CloudCore,
Collapsible: Collapsible,
FAQ: FAQ,
FAQList: FAQList,
File: File,
+ Hero: Hero,
Lightbox: Lightbox,
Link: Link,
LoomVideo: LoomVideo,
+ PostCarousel: PostCarousel,
Tabs: Tabs,
TabItem: TabItem,
Snippet: Snippet,
@@ -116,5 +128,9 @@ const MDXComponents = {
VersionBlock: VersionBlock,
Var: Var,
Term: Term,
+ EventsFeed: EventsFeed,
+ DiscourseFeed: DiscourseFeed,
+ DiscourseHelpFeed: DiscourseHelpFeed,
+ Card: Card,
};
export default MDXComponents;
diff --git a/website/src/theme/TOC/index.js b/website/src/theme/TOC/index.js
index cbdbfa05f61..e3e34f6f6b7 100644
--- a/website/src/theme/TOC/index.js
+++ b/website/src/theme/TOC/index.js
@@ -7,6 +7,7 @@
import React from 'react';
import clsx from 'clsx';
import TOCItems from '@theme/TOCItems';
+import EditThisPage from '@theme/EditThisPage';
import styles from './styles.module.css'; // Using a custom className
// This prevents TOC highlighting to highlight TOCInline/TOCCollapsible by mistake
@@ -16,14 +17,22 @@ import CTA from '../../components/cta';
const LINK_CLASS_NAME = 'table-of-contents__link toc-highlight';
const LINK_ACTIVE_CLASS_NAME = 'table-of-contents__link--active';
-function TOC({className, featured_cta, ...props}) {
+function TOC({className, featured_cta, editUrl, ...props}) {
+
return (
+
+ {editUrl && (
+
+
+
)}
+
{featured_cta && (
)}
diff --git a/website/static/css/__mocks__/styleMock.js b/website/static/css/__mocks__/styleMock.js
new file mode 100644
index 00000000000..f053ebf7976
--- /dev/null
+++ b/website/static/css/__mocks__/styleMock.js
@@ -0,0 +1 @@
+module.exports = {};
diff --git a/website/static/img/adapter-guide/0-full-release-notes.png b/website/static/img/adapter-guide/0-full-release-notes.png
new file mode 100644
index 00000000000..7acb59d8ffa
Binary files /dev/null and b/website/static/img/adapter-guide/0-full-release-notes.png differ
diff --git a/website/static/img/adapter-guide/1-announcement.png b/website/static/img/adapter-guide/1-announcement.png
new file mode 100644
index 00000000000..32f5cd6ba5d
Binary files /dev/null and b/website/static/img/adapter-guide/1-announcement.png differ
diff --git a/website/static/img/adapter-guide/2-short-description.png b/website/static/img/adapter-guide/2-short-description.png
new file mode 100644
index 00000000000..547b856ebb0
Binary files /dev/null and b/website/static/img/adapter-guide/2-short-description.png differ
diff --git a/website/static/img/adapter-guide/3-additional-resources.png b/website/static/img/adapter-guide/3-additional-resources.png
new file mode 100644
index 00000000000..575157b9d54
Binary files /dev/null and b/website/static/img/adapter-guide/3-additional-resources.png differ
diff --git a/website/static/img/adapter-guide/4-installation.png b/website/static/img/adapter-guide/4-installation.png
new file mode 100644
index 00000000000..c728ff6952b
Binary files /dev/null and b/website/static/img/adapter-guide/4-installation.png differ
diff --git a/website/static/img/adapter-guide/5-coming-up.png b/website/static/img/adapter-guide/5-coming-up.png
new file mode 100644
index 00000000000..4681ee87a1b
Binary files /dev/null and b/website/static/img/adapter-guide/5-coming-up.png differ
diff --git a/website/static/img/adapter-guide/6-thank-contribs.png b/website/static/img/adapter-guide/6-thank-contribs.png
new file mode 100644
index 00000000000..b2db6df4856
Binary files /dev/null and b/website/static/img/adapter-guide/6-thank-contribs.png differ
diff --git a/website/static/img/adapter-guide/adapter architecture - postgres.png b/website/static/img/adapter-guide/adapter architecture - postgres.png
new file mode 100644
index 00000000000..d64dbc95026
Binary files /dev/null and b/website/static/img/adapter-guide/adapter architecture - postgres.png differ
diff --git a/website/static/img/api-access-profile.png b/website/static/img/api-access-profile.png
index 71a19e15ec2..deade9f2135 100644
Binary files a/website/static/img/api-access-profile.png and b/website/static/img/api-access-profile.png differ
diff --git a/website/static/img/blog/2022-05-19-redshift-configurations-dbt-model-optimizations/Resolve-to-single-key.jpg b/website/static/img/blog/2022-05-19-redshift-configurations-dbt-model-optimizations/Resolve-to-single-key.jpg
new file mode 100644
index 00000000000..de9f303a109
Binary files /dev/null and b/website/static/img/blog/2022-05-19-redshift-configurations-dbt-model-optimizations/Resolve-to-single-key.jpg differ
diff --git a/website/static/img/blog/2022-05-19-redshift-configurations-dbt-model-optimizations/Staggered-Joins.jpg b/website/static/img/blog/2022-05-19-redshift-configurations-dbt-model-optimizations/Staggered-Joins.jpg
new file mode 100644
index 00000000000..1e79fbfb983
Binary files /dev/null and b/website/static/img/blog/2022-05-19-redshift-configurations-dbt-model-optimizations/Staggered-Joins.jpg differ
diff --git a/website/static/img/blog/2022-07-12-change-data-capture-metrics/fct-income-dag.png b/website/static/img/blog/2022-07-12-change-data-capture-metrics/fct-income-dag.png
new file mode 100644
index 00000000000..861b8591568
Binary files /dev/null and b/website/static/img/blog/2022-07-12-change-data-capture-metrics/fct-income-dag.png differ
diff --git a/website/static/img/blog/2022-07-12-change-data-capture-metrics/final-dag.png b/website/static/img/blog/2022-07-12-change-data-capture-metrics/final-dag.png
new file mode 100644
index 00000000000..37243ff06dc
Binary files /dev/null and b/website/static/img/blog/2022-07-12-change-data-capture-metrics/final-dag.png differ
diff --git a/website/static/img/blog/2022-07-12-change-data-capture-metrics/income-meme.png b/website/static/img/blog/2022-07-12-change-data-capture-metrics/income-meme.png
new file mode 100644
index 00000000000..4174b3fceb6
Binary files /dev/null and b/website/static/img/blog/2022-07-12-change-data-capture-metrics/income-meme.png differ
diff --git a/website/static/img/blog/2022-07-12-change-data-capture-metrics/income-report-versions-dag.png b/website/static/img/blog/2022-07-12-change-data-capture-metrics/income-report-versions-dag.png
new file mode 100644
index 00000000000..63eb3400ca6
Binary files /dev/null and b/website/static/img/blog/2022-07-12-change-data-capture-metrics/income-report-versions-dag.png differ
diff --git a/website/static/img/blog/2022-07-12-change-data-capture-metrics/int-income-history-dag.png b/website/static/img/blog/2022-07-12-change-data-capture-metrics/int-income-history-dag.png
new file mode 100644
index 00000000000..00684a680a2
Binary files /dev/null and b/website/static/img/blog/2022-07-12-change-data-capture-metrics/int-income-history-dag.png differ
diff --git a/website/static/img/blog/2022-07-12-change-data-capture-metrics/snapshots-dag.png b/website/static/img/blog/2022-07-12-change-data-capture-metrics/snapshots-dag.png
new file mode 100644
index 00000000000..801331f7057
Binary files /dev/null and b/website/static/img/blog/2022-07-12-change-data-capture-metrics/snapshots-dag.png differ
diff --git a/website/static/img/blog/2022-07-13-star-sql-love-letter/star-is-born.jpg b/website/static/img/blog/2022-07-13-star-sql-love-letter/star-is-born.jpg
new file mode 100644
index 00000000000..53192f53206
Binary files /dev/null and b/website/static/img/blog/2022-07-13-star-sql-love-letter/star-is-born.jpg differ
diff --git a/website/static/img/blog/2022-07-13-star-sql-love-letter/utils-madness-1.png b/website/static/img/blog/2022-07-13-star-sql-love-letter/utils-madness-1.png
new file mode 100644
index 00000000000..faf078cd2bc
Binary files /dev/null and b/website/static/img/blog/2022-07-13-star-sql-love-letter/utils-madness-1.png differ
diff --git a/website/static/img/blog/2022-07-13-star-sql-love-letter/utils-madness-2.png b/website/static/img/blog/2022-07-13-star-sql-love-letter/utils-madness-2.png
new file mode 100644
index 00000000000..94b99f28a8c
Binary files /dev/null and b/website/static/img/blog/2022-07-13-star-sql-love-letter/utils-madness-2.png differ
diff --git a/website/static/img/blog/2022-07-19-migrating-from-stored-procs/dbt-approach-model.png b/website/static/img/blog/2022-07-19-migrating-from-stored-procs/dbt-approach-model.png
new file mode 100644
index 00000000000..66b85b343cc
Binary files /dev/null and b/website/static/img/blog/2022-07-19-migrating-from-stored-procs/dbt-approach-model.png differ
diff --git a/website/static/img/blog/2022-07-19-migrating-from-stored-procs/dbt-diagram.png b/website/static/img/blog/2022-07-19-migrating-from-stored-procs/dbt-diagram.png
new file mode 100644
index 00000000000..37d3ed910bd
Binary files /dev/null and b/website/static/img/blog/2022-07-19-migrating-from-stored-procs/dbt-diagram.png differ
diff --git a/website/static/img/blog/2022-07-19-migrating-from-stored-procs/stored-procs-diagram.png b/website/static/img/blog/2022-07-19-migrating-from-stored-procs/stored-procs-diagram.png
new file mode 100644
index 00000000000..b24faaeab4c
Binary files /dev/null and b/website/static/img/blog/2022-07-19-migrating-from-stored-procs/stored-procs-diagram.png differ
diff --git a/website/static/img/blog/2022-07-26-pre-commit-dbt/checks-failed.png b/website/static/img/blog/2022-07-26-pre-commit-dbt/checks-failed.png
new file mode 100644
index 00000000000..a4d116e2f1e
Binary files /dev/null and b/website/static/img/blog/2022-07-26-pre-commit-dbt/checks-failed.png differ
diff --git a/website/static/img/blog/2022-07-26-pre-commit-dbt/customers-model.png b/website/static/img/blog/2022-07-26-pre-commit-dbt/customers-model.png
new file mode 100644
index 00000000000..a5bc90b8483
Binary files /dev/null and b/website/static/img/blog/2022-07-26-pre-commit-dbt/customers-model.png differ
diff --git a/website/static/img/blog/2022-07-26-pre-commit-dbt/define-strategy.png b/website/static/img/blog/2022-07-26-pre-commit-dbt/define-strategy.png
new file mode 100644
index 00000000000..29c9ec6b7ce
Binary files /dev/null and b/website/static/img/blog/2022-07-26-pre-commit-dbt/define-strategy.png differ
diff --git a/website/static/img/blog/2022-07-26-pre-commit-dbt/error-logs.png b/website/static/img/blog/2022-07-26-pre-commit-dbt/error-logs.png
new file mode 100644
index 00000000000..e4118d11598
Binary files /dev/null and b/website/static/img/blog/2022-07-26-pre-commit-dbt/error-logs.png differ
diff --git a/website/static/img/blog/2022-07-26-pre-commit-dbt/install-pre-commit.png b/website/static/img/blog/2022-07-26-pre-commit-dbt/install-pre-commit.png
new file mode 100644
index 00000000000..53b80639266
Binary files /dev/null and b/website/static/img/blog/2022-07-26-pre-commit-dbt/install-pre-commit.png differ
diff --git a/website/static/img/blog/2022-07-26-pre-commit-dbt/next-strategy.png b/website/static/img/blog/2022-07-26-pre-commit-dbt/next-strategy.png
new file mode 100644
index 00000000000..e55aed176df
Binary files /dev/null and b/website/static/img/blog/2022-07-26-pre-commit-dbt/next-strategy.png differ
diff --git a/website/static/img/blog/2022-07-26-pre-commit-dbt/testing-running.png b/website/static/img/blog/2022-07-26-pre-commit-dbt/testing-running.png
new file mode 100644
index 00000000000..f1980332db0
Binary files /dev/null and b/website/static/img/blog/2022-07-26-pre-commit-dbt/testing-running.png differ
diff --git a/website/static/img/blog/2022-07-26-pre-commit-dbt/why-not-both-meme.png b/website/static/img/blog/2022-07-26-pre-commit-dbt/why-not-both-meme.png
new file mode 100644
index 00000000000..e388c5ced80
Binary files /dev/null and b/website/static/img/blog/2022-07-26-pre-commit-dbt/why-not-both-meme.png differ
diff --git a/website/static/img/blog/2022-07-27-getting-started-with-the-dbt-semantic-layer/crypto-meme.png b/website/static/img/blog/2022-07-27-getting-started-with-the-dbt-semantic-layer/crypto-meme.png
new file mode 100644
index 00000000000..605d97a38e7
Binary files /dev/null and b/website/static/img/blog/2022-07-27-getting-started-with-the-dbt-semantic-layer/crypto-meme.png differ
diff --git a/website/static/img/blog/2022-07-27-getting-started-with-the-dbt-semantic-layer/metrics-dag.png b/website/static/img/blog/2022-07-27-getting-started-with-the-dbt-semantic-layer/metrics-dag.png
new file mode 100644
index 00000000000..71218089305
Binary files /dev/null and b/website/static/img/blog/2022-07-27-getting-started-with-the-dbt-semantic-layer/metrics-dag.png differ
diff --git a/website/static/img/blog/2022-07-27-getting-started-with-the-dbt-semantic-layer/semantic-layer-description.png b/website/static/img/blog/2022-07-27-getting-started-with-the-dbt-semantic-layer/semantic-layer-description.png
new file mode 100644
index 00000000000..b01b2b619b6
Binary files /dev/null and b/website/static/img/blog/2022-07-27-getting-started-with-the-dbt-semantic-layer/semantic-layer-description.png differ
diff --git a/website/static/img/blog/2022-08-12-model-timing/model_timing_after.png b/website/static/img/blog/2022-08-12-model-timing/model_timing_after.png
new file mode 100644
index 00000000000..2d9cdd12db1
Binary files /dev/null and b/website/static/img/blog/2022-08-12-model-timing/model_timing_after.png differ
diff --git a/website/static/img/blog/2022-08-12-model-timing/model_timing_before.png b/website/static/img/blog/2022-08-12-model-timing/model_timing_before.png
new file mode 100644
index 00000000000..d55ed331227
Binary files /dev/null and b/website/static/img/blog/2022-08-12-model-timing/model_timing_before.png differ
diff --git a/website/static/img/blog/2022-08-12-model-timing/snowflake_query_plan.png b/website/static/img/blog/2022-08-12-model-timing/snowflake_query_plan.png
new file mode 100644
index 00000000000..f4c4502ce05
Binary files /dev/null and b/website/static/img/blog/2022-08-12-model-timing/snowflake_query_plan.png differ
diff --git a/website/static/img/blog/2022-08-22-narrative-modeling/dimensional-modeling-dag.png b/website/static/img/blog/2022-08-22-narrative-modeling/dimensional-modeling-dag.png
new file mode 100644
index 00000000000..43fdef2796d
Binary files /dev/null and b/website/static/img/blog/2022-08-22-narrative-modeling/dimensional-modeling-dag.png differ
diff --git a/website/static/img/blog/2022-08-22-narrative-modeling/narrative-modeling-dag.png b/website/static/img/blog/2022-08-22-narrative-modeling/narrative-modeling-dag.png
new file mode 100644
index 00000000000..658d59a1607
Binary files /dev/null and b/website/static/img/blog/2022-08-22-narrative-modeling/narrative-modeling-dag.png differ
diff --git a/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/captain-planet-combine.gif b/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/captain-planet-combine.gif
new file mode 100644
index 00000000000..d37d6c4d9c0
Binary files /dev/null and b/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/captain-planet-combine.gif differ
diff --git a/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/crown-adjustment.gif b/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/crown-adjustment.gif
new file mode 100644
index 00000000000..0874301461b
Binary files /dev/null and b/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/crown-adjustment.gif differ
diff --git a/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/devil-prada-glacial-pace.gif b/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/devil-prada-glacial-pace.gif
new file mode 100644
index 00000000000..32a1be8c683
Binary files /dev/null and b/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/devil-prada-glacial-pace.gif differ
diff --git a/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/hobbit-adventure.gif b/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/hobbit-adventure.gif
new file mode 100644
index 00000000000..842462a5e03
Binary files /dev/null and b/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/hobbit-adventure.gif differ
diff --git a/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/office-its-a-date.gif b/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/office-its-a-date.gif
new file mode 100644
index 00000000000..a075798764b
Binary files /dev/null and b/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/office-its-a-date.gif differ
diff --git a/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/parks-and-rec-ben-wyatt.gif b/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/parks-and-rec-ben-wyatt.gif
new file mode 100644
index 00000000000..4c481bb9ce4
Binary files /dev/null and b/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/parks-and-rec-ben-wyatt.gif differ
diff --git a/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/supranos-bada-bing.gif b/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/supranos-bada-bing.gif
new file mode 100644
index 00000000000..4e20e2bbad6
Binary files /dev/null and b/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/supranos-bada-bing.gif differ
diff --git a/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/supranos-boom.gif b/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/supranos-boom.gif
new file mode 100644
index 00000000000..328dddea3f6
Binary files /dev/null and b/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/supranos-boom.gif differ
diff --git a/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/top-gun-classified.gif b/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/top-gun-classified.gif
new file mode 100644
index 00000000000..b4bcaab77fa
Binary files /dev/null and b/website/static/img/blog/2022-09-07-leverage-accounting-principles-when-financial-modeling/top-gun-classified.gif differ
diff --git a/website/static/img/blog/2022-09-08-konmari-your-query-migration/buried-in-boxes.webp b/website/static/img/blog/2022-09-08-konmari-your-query-migration/buried-in-boxes.webp
new file mode 100644
index 00000000000..5833eaa437d
Binary files /dev/null and b/website/static/img/blog/2022-09-08-konmari-your-query-migration/buried-in-boxes.webp differ
diff --git a/website/static/img/blog/2022-09-08-konmari-your-query-migration/cat_kitchen.jpeg b/website/static/img/blog/2022-09-08-konmari-your-query-migration/cat_kitchen.jpeg
new file mode 100644
index 00000000000..de74601dce2
Binary files /dev/null and b/website/static/img/blog/2022-09-08-konmari-your-query-migration/cat_kitchen.jpeg differ
diff --git a/website/static/img/blog/2022-09-08-konmari-your-query-migration/fully-konmarid-project.png b/website/static/img/blog/2022-09-08-konmari-your-query-migration/fully-konmarid-project.png
new file mode 100644
index 00000000000..f89659f26a0
Binary files /dev/null and b/website/static/img/blog/2022-09-08-konmari-your-query-migration/fully-konmarid-project.png differ
diff --git a/website/static/img/blog/2022-09-08-konmari-your-query-migration/many-to-one-dag.png b/website/static/img/blog/2022-09-08-konmari-your-query-migration/many-to-one-dag.png
new file mode 100644
index 00000000000..5b8240b58d8
Binary files /dev/null and b/website/static/img/blog/2022-09-08-konmari-your-query-migration/many-to-one-dag.png differ
diff --git a/website/static/img/blog/2022-09-08-konmari-your-query-migration/mariekondo.gif b/website/static/img/blog/2022-09-08-konmari-your-query-migration/mariekondo.gif
new file mode 100644
index 00000000000..7ff20dd33b6
Binary files /dev/null and b/website/static/img/blog/2022-09-08-konmari-your-query-migration/mariekondo.gif differ
diff --git a/website/static/img/blog/2022-09-08-konmari-your-query-migration/nachka-cat.gif b/website/static/img/blog/2022-09-08-konmari-your-query-migration/nachka-cat.gif
new file mode 100644
index 00000000000..ab69c07942f
Binary files /dev/null and b/website/static/img/blog/2022-09-08-konmari-your-query-migration/nachka-cat.gif differ
diff --git a/website/static/img/blog/2022-09-08-konmari-your-query-migration/spaghetti-data-dag.png b/website/static/img/blog/2022-09-08-konmari-your-query-migration/spaghetti-data-dag.png
new file mode 100644
index 00000000000..e7ef3a5f0ea
Binary files /dev/null and b/website/static/img/blog/2022-09-08-konmari-your-query-migration/spaghetti-data-dag.png differ
diff --git a/website/static/img/blog/2022-09-13-the-case-against-cherry-picking/1_basic_git_workflow.png b/website/static/img/blog/2022-09-13-the-case-against-cherry-picking/1_basic_git_workflow.png
new file mode 100644
index 00000000000..a734fb92f9c
Binary files /dev/null and b/website/static/img/blog/2022-09-13-the-case-against-cherry-picking/1_basic_git_workflow.png differ
diff --git a/website/static/img/blog/2022-09-13-the-case-against-cherry-picking/2_multienvironment.png b/website/static/img/blog/2022-09-13-the-case-against-cherry-picking/2_multienvironment.png
new file mode 100644
index 00000000000..f3bd1a71aeb
Binary files /dev/null and b/website/static/img/blog/2022-09-13-the-case-against-cherry-picking/2_multienvironment.png differ
diff --git a/website/static/img/blog/2022-09-13-the-case-against-cherry-picking/3_gru.jpg b/website/static/img/blog/2022-09-13-the-case-against-cherry-picking/3_gru.jpg
new file mode 100644
index 00000000000..2d330a868cc
Binary files /dev/null and b/website/static/img/blog/2022-09-13-the-case-against-cherry-picking/3_gru.jpg differ
diff --git a/website/static/img/blog/2022-09-13-the-case-against-cherry-picking/4_scenario_1.png b/website/static/img/blog/2022-09-13-the-case-against-cherry-picking/4_scenario_1.png
new file mode 100644
index 00000000000..257ce91b010
Binary files /dev/null and b/website/static/img/blog/2022-09-13-the-case-against-cherry-picking/4_scenario_1.png differ
diff --git a/website/static/img/blog/2022-09-13-the-case-against-cherry-picking/5_scenario_2.png b/website/static/img/blog/2022-09-13-the-case-against-cherry-picking/5_scenario_2.png
new file mode 100644
index 00000000000..4b381c26155
Binary files /dev/null and b/website/static/img/blog/2022-09-13-the-case-against-cherry-picking/5_scenario_2.png differ
diff --git a/website/static/img/blog/2022-09-13-the-case-against-cherry-picking/6_scenario_3.png b/website/static/img/blog/2022-09-13-the-case-against-cherry-picking/6_scenario_3.png
new file mode 100644
index 00000000000..35d6cd99d8f
Binary files /dev/null and b/website/static/img/blog/2022-09-13-the-case-against-cherry-picking/6_scenario_3.png differ
diff --git a/website/static/img/blog/2022-09-13-the-case-against-cherry-picking/7_bernie.jpg b/website/static/img/blog/2022-09-13-the-case-against-cherry-picking/7_bernie.jpg
new file mode 100644
index 00000000000..f849471786e
Binary files /dev/null and b/website/static/img/blog/2022-09-13-the-case-against-cherry-picking/7_bernie.jpg differ
diff --git a/website/static/img/blog/2022-09-28-analyst-to-ae/first_loop.png b/website/static/img/blog/2022-09-28-analyst-to-ae/first_loop.png
new file mode 100644
index 00000000000..a5ab1b0f89c
Binary files /dev/null and b/website/static/img/blog/2022-09-28-analyst-to-ae/first_loop.png differ
diff --git a/website/static/img/blog/2022-09-28-analyst-to-ae/multiple_loops.png b/website/static/img/blog/2022-09-28-analyst-to-ae/multiple_loops.png
new file mode 100644
index 00000000000..e37a0d8dd21
Binary files /dev/null and b/website/static/img/blog/2022-09-28-analyst-to-ae/multiple_loops.png differ
diff --git a/website/static/img/blog/2022-09-28-analyst-to-ae/new_workflow.png b/website/static/img/blog/2022-09-28-analyst-to-ae/new_workflow.png
new file mode 100644
index 00000000000..e2ddb7da352
Binary files /dev/null and b/website/static/img/blog/2022-09-28-analyst-to-ae/new_workflow.png differ
diff --git a/website/static/img/blog/2022-09-28-analyst-to-ae/old_workflow.png b/website/static/img/blog/2022-09-28-analyst-to-ae/old_workflow.png
new file mode 100644
index 00000000000..a2e10841b6a
Binary files /dev/null and b/website/static/img/blog/2022-09-28-analyst-to-ae/old_workflow.png differ
diff --git a/website/static/img/blog/2022-10-24-demystifying-event-streams/kafka-topic-table.png b/website/static/img/blog/2022-10-24-demystifying-event-streams/kafka-topic-table.png
new file mode 100644
index 00000000000..adb01182221
Binary files /dev/null and b/website/static/img/blog/2022-10-24-demystifying-event-streams/kafka-topic-table.png differ
diff --git a/website/static/img/blog/2022-10-24-demystifying-event-streams/merit-platform-kafka-load.png b/website/static/img/blog/2022-10-24-demystifying-event-streams/merit-platform-kafka-load.png
new file mode 100644
index 00000000000..c0377b51084
Binary files /dev/null and b/website/static/img/blog/2022-10-24-demystifying-event-streams/merit-platform-kafka-load.png differ
diff --git a/website/static/img/blog/2022-10-24-demystifying-event-streams/merit-platform-kafka.png b/website/static/img/blog/2022-10-24-demystifying-event-streams/merit-platform-kafka.png
new file mode 100644
index 00000000000..abea9093775
Binary files /dev/null and b/website/static/img/blog/2022-10-24-demystifying-event-streams/merit-platform-kafka.png differ
diff --git a/website/static/img/blog/2022-10-24-demystifying-event-streams/merit-platform-stitch.png b/website/static/img/blog/2022-10-24-demystifying-event-streams/merit-platform-stitch.png
new file mode 100644
index 00000000000..74d6a2e3c4a
Binary files /dev/null and b/website/static/img/blog/2022-10-24-demystifying-event-streams/merit-platform-stitch.png differ
diff --git a/website/static/img/blog/2022-10-24-demystifying-event-streams/merit-platform.png b/website/static/img/blog/2022-10-24-demystifying-event-streams/merit-platform.png
new file mode 100644
index 00000000000..70f947d830b
Binary files /dev/null and b/website/static/img/blog/2022-10-24-demystifying-event-streams/merit-platform.png differ
diff --git a/website/static/img/blog/2022-10-24-demystifying-event-streams/omg-contract.png b/website/static/img/blog/2022-10-24-demystifying-event-streams/omg-contract.png
new file mode 100644
index 00000000000..9d56d148462
Binary files /dev/null and b/website/static/img/blog/2022-10-24-demystifying-event-streams/omg-contract.png differ
diff --git a/website/static/img/blog/2022-11-22-move-spreadsheets-to-your-dwh/fivetran-uploader-1.png b/website/static/img/blog/2022-11-22-move-spreadsheets-to-your-dwh/fivetran-uploader-1.png
new file mode 100644
index 00000000000..f92bf116ef6
Binary files /dev/null and b/website/static/img/blog/2022-11-22-move-spreadsheets-to-your-dwh/fivetran-uploader-1.png differ
diff --git a/website/static/img/blog/2022-11-22-move-spreadsheets-to-your-dwh/fivetran-uploader-2.png b/website/static/img/blog/2022-11-22-move-spreadsheets-to-your-dwh/fivetran-uploader-2.png
new file mode 100644
index 00000000000..ae836f82424
Binary files /dev/null and b/website/static/img/blog/2022-11-22-move-spreadsheets-to-your-dwh/fivetran-uploader-2.png differ
diff --git a/website/static/img/blog/2022-11-22-move-spreadsheets-to-your-dwh/google-drive-uploader.png b/website/static/img/blog/2022-11-22-move-spreadsheets-to-your-dwh/google-drive-uploader.png
new file mode 100644
index 00000000000..bfd0dd4bb50
Binary files /dev/null and b/website/static/img/blog/2022-11-22-move-spreadsheets-to-your-dwh/google-drive-uploader.png differ
diff --git a/website/static/img/blog/2022-11-22-move-spreadsheets-to-your-dwh/google-sheets-uploader.png b/website/static/img/blog/2022-11-22-move-spreadsheets-to-your-dwh/google-sheets-uploader.png
new file mode 100644
index 00000000000..188c0f8125b
Binary files /dev/null and b/website/static/img/blog/2022-11-22-move-spreadsheets-to-your-dwh/google-sheets-uploader.png differ
diff --git a/website/static/img/blog/2022-11-22-move-spreadsheets-to-your-dwh/snowflake-uploader.png b/website/static/img/blog/2022-11-22-move-spreadsheets-to-your-dwh/snowflake-uploader.png
new file mode 100644
index 00000000000..8b598ac1d14
Binary files /dev/null and b/website/static/img/blog/2022-11-22-move-spreadsheets-to-your-dwh/snowflake-uploader.png differ
diff --git a/website/static/img/blog/2022-11-30-dbt-project-evaluator/grace_at_coalesce.png b/website/static/img/blog/2022-11-30-dbt-project-evaluator/grace_at_coalesce.png
new file mode 100644
index 00000000000..11e2e0381ff
Binary files /dev/null and b/website/static/img/blog/2022-11-30-dbt-project-evaluator/grace_at_coalesce.png differ
diff --git a/website/static/img/blog/2022-11-30-dbt-project-evaluator/proserv_aliens.png b/website/static/img/blog/2022-11-30-dbt-project-evaluator/proserv_aliens.png
new file mode 100644
index 00000000000..3cee19173e9
Binary files /dev/null and b/website/static/img/blog/2022-11-30-dbt-project-evaluator/proserv_aliens.png differ
diff --git a/website/static/img/blog/authors/barr-yaron.png b/website/static/img/blog/authors/barr-yaron.png
new file mode 100644
index 00000000000..558bb00c8d8
Binary files /dev/null and b/website/static/img/blog/authors/barr-yaron.png differ
diff --git a/website/static/img/blog/authors/bennie-regenold.png b/website/static/img/blog/authors/bennie-regenold.png
new file mode 100644
index 00000000000..ce74b1de9f9
Binary files /dev/null and b/website/static/img/blog/authors/bennie-regenold.png differ
diff --git a/website/static/img/blog/authors/benoit-perigaud.jpeg b/website/static/img/blog/authors/benoit-perigaud.jpeg
new file mode 100644
index 00000000000..e4106464475
Binary files /dev/null and b/website/static/img/blog/authors/benoit-perigaud.jpeg differ
diff --git a/website/static/img/blog/authors/brittany-krauth.png b/website/static/img/blog/authors/brittany-krauth.png
new file mode 100644
index 00000000000..da413820fbc
Binary files /dev/null and b/website/static/img/blog/authors/brittany-krauth.png differ
diff --git a/website/static/img/blog/authors/callum-mccann.jpg b/website/static/img/blog/authors/callum-mccann.jpg
new file mode 100644
index 00000000000..3dd05c6cb90
Binary files /dev/null and b/website/static/img/blog/authors/callum-mccann.jpg differ
diff --git a/website/static/img/blog/authors/charlie-summers.jpeg b/website/static/img/blog/authors/charlie-summers.jpeg
new file mode 100644
index 00000000000..9c63c89154b
Binary files /dev/null and b/website/static/img/blog/authors/charlie-summers.jpeg differ
diff --git a/website/static/img/blog/authors/dbeatty.jpeg b/website/static/img/blog/authors/dbeatty.jpeg
new file mode 100644
index 00000000000..34c027ea308
Binary files /dev/null and b/website/static/img/blog/authors/dbeatty.jpeg differ
diff --git a/website/static/img/blog/authors/grace-goheen.jpeg b/website/static/img/blog/authors/grace-goheen.jpeg
new file mode 100644
index 00000000000..06b059b08cb
Binary files /dev/null and b/website/static/img/blog/authors/grace-goheen.jpeg differ
diff --git a/website/static/img/blog/authors/ian-fahey.png b/website/static/img/blog/authors/ian-fahey.png
new file mode 100644
index 00000000000..5d2bd2a0ff4
Binary files /dev/null and b/website/static/img/blog/authors/ian-fahey.png differ
diff --git a/website/static/img/blog/authors/jerco.jpeg b/website/static/img/blog/authors/jerco.jpeg
new file mode 100644
index 00000000000..c19b58bcd61
Binary files /dev/null and b/website/static/img/blog/authors/jerco.jpeg differ
diff --git a/website/static/img/blog/authors/joe-markiewicz.jpeg b/website/static/img/blog/authors/joe-markiewicz.jpeg
new file mode 100644
index 00000000000..0531255fbda
Binary files /dev/null and b/website/static/img/blog/authors/joe-markiewicz.jpeg differ
diff --git a/website/static/img/blog/authors/jonathan-natkins.jpeg b/website/static/img/blog/authors/jonathan-natkins.jpeg
new file mode 100644
index 00000000000..6eb69ca30ce
Binary files /dev/null and b/website/static/img/blog/authors/jonathan-natkins.jpeg differ
diff --git a/website/static/img/blog/authors/wasila-quader.png b/website/static/img/blog/authors/wasila-quader.png
new file mode 100644
index 00000000000..1ccfbfac7e2
Binary files /dev/null and b/website/static/img/blog/authors/wasila-quader.png differ
diff --git a/website/static/img/blog/authors/yu-ishikawa.jpg b/website/static/img/blog/authors/yu-ishikawa.jpg
new file mode 100644
index 00000000000..d236b8403f9
Binary files /dev/null and b/website/static/img/blog/authors/yu-ishikawa.jpg differ
diff --git a/website/static/img/create-branch-new-ide.png b/website/static/img/create-branch-new-ide.png
new file mode 100644
index 00000000000..081e5de8dda
Binary files /dev/null and b/website/static/img/create-branch-new-ide.png differ
diff --git a/website/static/img/databricks_tutorial/images/dbt_cloud_setup_databricks_connection_details.png b/website/static/img/databricks_tutorial/images/dbt_cloud_setup_databricks_connection_details.png
new file mode 100644
index 00000000000..7ff30872d49
Binary files /dev/null and b/website/static/img/databricks_tutorial/images/dbt_cloud_setup_databricks_connection_details.png differ
diff --git a/website/static/img/databricks_tutorial/images/dbt_cloud_setup_databricks_connection_start.png b/website/static/img/databricks_tutorial/images/dbt_cloud_setup_databricks_connection_start.png
new file mode 100644
index 00000000000..bd637493e73
Binary files /dev/null and b/website/static/img/databricks_tutorial/images/dbt_cloud_setup_databricks_connection_start.png differ
diff --git a/website/static/img/databricks_tutorial/images/setup_databricks_connect.png b/website/static/img/databricks_tutorial/images/setup_databricks_connect.png
deleted file mode 100644
index af4ae8d3a25..00000000000
Binary files a/website/static/img/databricks_tutorial/images/setup_databricks_connect.png and /dev/null differ
diff --git a/website/static/img/dbt-cloud-project-setup-flow-next.png b/website/static/img/dbt-cloud-project-setup-flow-next.png
new file mode 100644
index 00000000000..660e8ae446a
Binary files /dev/null and b/website/static/img/dbt-cloud-project-setup-flow-next.png differ
diff --git a/website/static/img/dbt-cloud-project-setup-flow.png b/website/static/img/dbt-cloud-project-setup-flow.png
deleted file mode 100644
index afd77ac9c01..00000000000
Binary files a/website/static/img/dbt-cloud-project-setup-flow.png and /dev/null differ
diff --git a/website/static/img/docs/building-a-dbt-project/building-models/python-models/dataproc-connector-initialization.png b/website/static/img/docs/building-a-dbt-project/building-models/python-models/dataproc-connector-initialization.png
new file mode 100644
index 00000000000..4c6095372f1
Binary files /dev/null and b/website/static/img/docs/building-a-dbt-project/building-models/python-models/dataproc-connector-initialization.png differ
diff --git a/website/static/img/docs/building-a-dbt-project/building-models/python-models/dataproc-pip-packages.png b/website/static/img/docs/building-a-dbt-project/building-models/python-models/dataproc-pip-packages.png
new file mode 100644
index 00000000000..d2c87003042
Binary files /dev/null and b/website/static/img/docs/building-a-dbt-project/building-models/python-models/dataproc-pip-packages.png differ
diff --git a/website/static/img/docs/building-a-dbt-project/building-models/python-models/python-model-dag.png b/website/static/img/docs/building-a-dbt-project/building-models/python-models/python-model-dag.png
new file mode 100644
index 00000000000..f89070468d1
Binary files /dev/null and b/website/static/img/docs/building-a-dbt-project/building-models/python-models/python-model-dag.png differ
diff --git a/website/static/img/docs/building-a-dbt-project/dbt-cloud-project-setup-flow-next.png b/website/static/img/docs/building-a-dbt-project/dbt-cloud-project-setup-flow-next.png
new file mode 100644
index 00000000000..660e8ae446a
Binary files /dev/null and b/website/static/img/docs/building-a-dbt-project/dbt-cloud-project-setup-flow-next.png differ
diff --git a/website/static/img/docs/dbt-cloud/28f97e6-job-schedule.gif b/website/static/img/docs/dbt-cloud/28f97e6-job-schedule.gif
deleted file mode 100644
index 8d6cd95defc..00000000000
Binary files a/website/static/img/docs/dbt-cloud/28f97e6-job-schedule.gif and /dev/null differ
diff --git a/website/static/img/docs/dbt-cloud/Allow-dbt-to-access-slack.png b/website/static/img/docs/dbt-cloud/Allow-dbt-to-access-slack.png
new file mode 100644
index 00000000000..2e6b198959c
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/Allow-dbt-to-access-slack.png differ
diff --git a/website/static/img/docs/dbt-cloud/Configure-SSO-Access.png b/website/static/img/docs/dbt-cloud/Configure-SSO-Access.png
new file mode 100644
index 00000000000..1c1f88b9298
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/Configure-SSO-Access.png differ
diff --git a/website/static/img/docs/dbt-cloud/Configure-Slack-notifications.png b/website/static/img/docs/dbt-cloud/Configure-Slack-notifications.png
new file mode 100644
index 00000000000..5a76792f649
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/Configure-Slack-notifications.png differ
diff --git a/website/static/img/docs/dbt-cloud/Fix Session Timeout.png b/website/static/img/docs/dbt-cloud/Fix Session Timeout.png
new file mode 100644
index 00000000000..a8b7079b427
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/Fix Session Timeout.png differ
diff --git a/website/static/img/docs/dbt-cloud/Link-your-Slack-Profile.png b/website/static/img/docs/dbt-cloud/Link-your-Slack-Profile.png
new file mode 100644
index 00000000000..ab2697ec6ce
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/Link-your-Slack-Profile.png differ
diff --git a/website/static/img/docs/dbt-cloud/Model-timing-tab.png b/website/static/img/docs/dbt-cloud/Model-timing-tab.png
new file mode 100644
index 00000000000..dbe76f76a0d
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/Model-timing-tab.png differ
diff --git a/website/static/img/docs/dbt-cloud/Navigate-to-integrations.png b/website/static/img/docs/dbt-cloud/Navigate-to-integrations.png
new file mode 100644
index 00000000000..b1e2789f334
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/Navigate-to-integrations.png differ
diff --git a/website/static/img/docs/dbt-cloud/Navigate-to-notifications.png b/website/static/img/docs/dbt-cloud/Navigate-to-notifications.png
new file mode 100644
index 00000000000..13da17d5deb
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/Navigate-to-notifications.png differ
diff --git a/website/static/img/docs/dbt-cloud/Save-Group-Information.png b/website/static/img/docs/dbt-cloud/Save-Group-Information.png
new file mode 100644
index 00000000000..4ef53211fa0
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/Save-Group-Information.png differ
diff --git a/website/static/img/docs/dbt-cloud/Select-Groups-RBAC.png b/website/static/img/docs/dbt-cloud/Select-Groups-RBAC.png
new file mode 100644
index 00000000000..99bfa215d3a
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/Select-Groups-RBAC.png differ
diff --git a/website/static/img/docs/dbt-cloud/View-docs-in-IDE.png b/website/static/img/docs/dbt-cloud/View-docs-in-IDE.png
new file mode 100644
index 00000000000..9f9d3a34154
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/View-docs-in-IDE.png differ
diff --git a/website/static/img/docs/dbt-cloud/access-control/license-manual.png b/website/static/img/docs/dbt-cloud/access-control/license-manual.png
index ce94b8ca785..d92f5f77eb9 100644
Binary files a/website/static/img/docs/dbt-cloud/access-control/license-manual.png and b/website/static/img/docs/dbt-cloud/access-control/license-manual.png differ
diff --git a/website/static/img/docs/dbt-cloud/access-control/license-mapping.png b/website/static/img/docs/dbt-cloud/access-control/license-mapping.png
index e0bee33740e..b483c760d70 100644
Binary files a/website/static/img/docs/dbt-cloud/access-control/license-mapping.png and b/website/static/img/docs/dbt-cloud/access-control/license-mapping.png differ
diff --git a/website/static/img/docs/dbt-cloud/b4f242f-view-docs.gif b/website/static/img/docs/dbt-cloud/b4f242f-view-docs.gif
deleted file mode 100644
index 370eb048a95..00000000000
Binary files a/website/static/img/docs/dbt-cloud/b4f242f-view-docs.gif and /dev/null differ
diff --git a/website/static/img/docs/dbt-cloud/c3fe800-Screen_Shot_2019-02-08_at_6.53.29_PM.png b/website/static/img/docs/dbt-cloud/c3fe800-Screen_Shot_2019-02-08_at_6.53.29_PM.png
deleted file mode 100644
index 04e0084dbb0..00000000000
Binary files a/website/static/img/docs/dbt-cloud/c3fe800-Screen_Shot_2019-02-08_at_6.53.29_PM.png and /dev/null differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/bigquery-connection.png b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/bigquery-connection.png
index 6dc86fa8ddc..32a92486b3a 100644
Binary files a/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/bigquery-connection.png and b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/bigquery-connection.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/choosing-dbt-version/Environment-settings.png b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/choosing-dbt-version/Environment-settings.png
new file mode 100644
index 00000000000..cee053bf983
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/choosing-dbt-version/Environment-settings.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/choosing-dbt-version/job-settings.png b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/choosing-dbt-version/job-settings.png
new file mode 100644
index 00000000000..2c7b2a7b560
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/choosing-dbt-version/job-settings.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/cloud-upgrading-dbt-versions/upgrade-environment.png b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/cloud-upgrading-dbt-versions/upgrade-environment.png
new file mode 100644
index 00000000000..026dbcdff74
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/cloud-upgrading-dbt-versions/upgrade-environment.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/configure-template-url-new-ide.png b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/configure-template-url-new-ide.png
new file mode 100644
index 00000000000..c992eae4f86
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/configure-template-url-new-ide.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/connecting-github/configure-github.png b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/connecting-github/configure-github.png
new file mode 100644
index 00000000000..ead2e76a994
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/connecting-github/configure-github.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/connecting-github/github-app-install.png b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/connecting-github/github-app-install.png
new file mode 100644
index 00000000000..442b6c18781
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/connecting-github/github-app-install.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/connecting-github/github-auth.png b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/connecting-github/github-auth.png
new file mode 100644
index 00000000000..2c9fb7032d5
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/connecting-github/github-auth.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/connecting-github/github-connect.gif b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/connecting-github/github-connect.gif
new file mode 100644
index 00000000000..d29ed18db15
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/connecting-github/github-connect.gif differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/databricks-connections.png b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/databricks-connections.png
new file mode 100644
index 00000000000..d028ae0f06c
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/databricks-connections.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/dbt-databricks.png b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/dbt-databricks.png
new file mode 100644
index 00000000000..23129fcc06f
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/dbt-databricks.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/dbt-spark.png b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/dbt-spark.png
new file mode 100644
index 00000000000..0584337ece4
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/dbt-spark.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/dev-environment-custom-branch.png b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/dev-environment-custom-branch.png
new file mode 100644
index 00000000000..487188b1c88
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/dev-environment-custom-branch.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/managed-repo.png b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/managed-repo.png
index 7b50cbb00cd..5f1cb58461e 100644
Binary files a/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/managed-repo.png and b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/managed-repo.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/postgres-redshift-connection.png b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/postgres-redshift-connection.png
index 3f82bd5d5c6..bc89b429ad4 100644
Binary files a/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/postgres-redshift-connection.png and b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/postgres-redshift-connection.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/postgres-redshift-ssh-tunnel.png b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/postgres-redshift-ssh-tunnel.png
index beeda17947b..04461afa9ed 100644
Binary files a/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/postgres-redshift-ssh-tunnel.png and b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/postgres-redshift-ssh-tunnel.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/spark-connection.png b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/spark-connection.png
index c54f48c9175..4752e1d565d 100644
Binary files a/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/spark-connection.png and b/website/static/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/spark-connection.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-ide/breadcrumbs.png b/website/static/img/docs/dbt-cloud/cloud-ide/breadcrumbs.png
new file mode 100644
index 00000000000..eef522a742d
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-ide/breadcrumbs.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-ide/build.png b/website/static/img/docs/dbt-cloud/cloud-ide/build.png
new file mode 100644
index 00000000000..c21ebead49d
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-ide/build.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-ide/command_bar.png b/website/static/img/docs/dbt-cloud/cloud-ide/command_bar.png
new file mode 100644
index 00000000000..5a2a67a7303
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-ide/command_bar.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-ide/create-new.png b/website/static/img/docs/dbt-cloud/cloud-ide/create-new.png
new file mode 100644
index 00000000000..f40a554f341
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-ide/create-new.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-ide/credentials.png b/website/static/img/docs/dbt-cloud/cloud-ide/credentials.png
new file mode 100644
index 00000000000..7afb78409e1
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-ide/credentials.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-ide/file-explorer.png b/website/static/img/docs/dbt-cloud/cloud-ide/file-explorer.png
new file mode 100644
index 00000000000..bbf1fcc0427
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-ide/file-explorer.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-ide/git-overview.png b/website/static/img/docs/dbt-cloud/cloud-ide/git-overview.png
new file mode 100644
index 00000000000..eae4da2da85
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-ide/git-overview.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-ide/lineage.png b/website/static/img/docs/dbt-cloud/cloud-ide/lineage.png
new file mode 100644
index 00000000000..a4293bbcaf3
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-ide/lineage.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-ide/multi-selector.gif b/website/static/img/docs/dbt-cloud/cloud-ide/multi-selector.gif
new file mode 100644
index 00000000000..9159ed61c17
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-ide/multi-selector.gif differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-ide/new-environment.png b/website/static/img/docs/dbt-cloud/cloud-ide/new-environment.png
new file mode 100644
index 00000000000..6998cc3ce9c
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-ide/new-environment.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-ide/status-icon.png b/website/static/img/docs/dbt-cloud/cloud-ide/status-icon.png
new file mode 100644
index 00000000000..129986a1e60
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-ide/status-icon.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-ide/tab-options.png b/website/static/img/docs/dbt-cloud/cloud-ide/tab-options.png
new file mode 100644
index 00000000000..0af73130cf3
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-ide/tab-options.png differ
diff --git a/website/static/img/docs/dbt-cloud/cloud-ide/view-docs.png b/website/static/img/docs/dbt-cloud/cloud-ide/view-docs.png
new file mode 100644
index 00000000000..9c7c9312fa4
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/cloud-ide/view-docs.png differ
diff --git a/website/static/img/docs/dbt-cloud/connecting-azure-devops/Azure Devops App in dbt Cloud.gif b/website/static/img/docs/dbt-cloud/connecting-azure-devops/Azure Devops App in dbt Cloud.gif
deleted file mode 100644
index bf319c1f83f..00000000000
Binary files a/website/static/img/docs/dbt-cloud/connecting-azure-devops/Azure Devops App in dbt Cloud.gif and /dev/null differ
diff --git a/website/static/img/docs/dbt-cloud/connecting-azure-devops/AzureDevopsAppdbtCloud.gif b/website/static/img/docs/dbt-cloud/connecting-azure-devops/AzureDevopsAppdbtCloud.gif
new file mode 100644
index 00000000000..0c68cc06f35
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/connecting-azure-devops/AzureDevopsAppdbtCloud.gif differ
diff --git a/website/static/img/docs/dbt-cloud/connecting-azure-devops/LinktoAzure.png b/website/static/img/docs/dbt-cloud/connecting-azure-devops/LinktoAzure.png
new file mode 100644
index 00000000000..143d4127aec
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/connecting-azure-devops/LinktoAzure.png differ
diff --git a/website/static/img/docs/dbt-cloud/connecting-azure-devops/azure-service-user.png b/website/static/img/docs/dbt-cloud/connecting-azure-devops/azure-service-user.png
index cbd683fbde1..20277967f22 100644
Binary files a/website/static/img/docs/dbt-cloud/connecting-azure-devops/azure-service-user.png and b/website/static/img/docs/dbt-cloud/connecting-azure-devops/azure-service-user.png differ
diff --git a/website/static/img/docs/dbt-cloud/connecting-gitlab/GitLab-Navigation.gif b/website/static/img/docs/dbt-cloud/connecting-gitlab/GitLab-Navigation.gif
new file mode 100644
index 00000000000..a9d624ae6e3
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/connecting-gitlab/GitLab-Navigation.gif differ
diff --git a/website/static/img/docs/dbt-cloud/connecting-gitlab/gitlab app.png b/website/static/img/docs/dbt-cloud/connecting-gitlab/gitlab app.png
new file mode 100644
index 00000000000..e90c6b08148
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/connecting-gitlab/gitlab app.png differ
diff --git a/website/static/img/docs/dbt-cloud/connecting-gitlab/gitlab nav.gif b/website/static/img/docs/dbt-cloud/connecting-gitlab/gitlab nav.gif
new file mode 100644
index 00000000000..419ce38bc3c
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/connecting-gitlab/gitlab nav.gif differ
diff --git a/website/static/img/docs/dbt-cloud/connecting-gitlab/gitlab redirect.gif b/website/static/img/docs/dbt-cloud/connecting-gitlab/gitlab redirect.gif
new file mode 100644
index 00000000000..c153b64cf88
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/connecting-gitlab/gitlab redirect.gif differ
diff --git a/website/static/img/docs/dbt-cloud/dag v1.1.56 release.png b/website/static/img/docs/dbt-cloud/dag v1.1.56 release.png
new file mode 100644
index 00000000000..1066ff22d5b
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/dag v1.1.56 release.png differ
diff --git a/website/static/img/docs/dbt-cloud/dbt docs generate command.png b/website/static/img/docs/dbt-cloud/dbt docs generate command.png
new file mode 100644
index 00000000000..2e9bc318dc5
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/dbt docs generate command.png differ
diff --git a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/1bd0c42-Screen_Shot_2020-03-10_at_6.20.05_PM.png b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/1bd0c42-Screen_Shot_2020-03-10_at_6.20.05_PM.png
deleted file mode 100644
index ffd2bb0d201..00000000000
Binary files a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/1bd0c42-Screen_Shot_2020-03-10_at_6.20.05_PM.png and /dev/null differ
diff --git a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/84427818-841b3680-abf3-11ea-8faf-693d4a39cffb.png b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/84427818-841b3680-abf3-11ea-8faf-693d4a39cffb.png
new file mode 100644
index 00000000000..062ad9f7fb4
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/84427818-841b3680-abf3-11ea-8faf-693d4a39cffb.png differ
diff --git a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/access-control/group-detail.png b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/access-control/group-detail.png
deleted file mode 100644
index 93b10ac1e09..00000000000
Binary files a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/access-control/group-detail.png and /dev/null differ
diff --git a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/access-control/group-list.png b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/access-control/group-list.png
index c741aec4307..28262bd5635 100644
Binary files a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/access-control/group-list.png and b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/access-control/group-list.png differ
diff --git a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/access-control/group-permissions.png b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/access-control/group-permissions.png
index 285f4d2c1d1..55655ef6b78 100644
Binary files a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/access-control/group-permissions.png and b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/access-control/group-permissions.png differ
diff --git a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/ae2045a-Screen_Shot_2019-04-25_at_6.05.12_PM.png b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/ae2045a-Screen_Shot_2019-04-25_at_6.05.12_PM.png
deleted file mode 100644
index a5303eb9695..00000000000
Binary files a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/ae2045a-Screen_Shot_2019-04-25_at_6.05.12_PM.png and /dev/null differ
diff --git a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/audit-log-menu.png b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/audit-log-menu.png
index 58d5fbb1022..a5010c50ef3 100644
Binary files a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/audit-log-menu.png and b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/audit-log-menu.png differ
diff --git a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/audit-log-section.jpg b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/audit-log-section.jpg
new file mode 100644
index 00000000000..327b51f8988
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/audit-log-section.jpg differ
diff --git a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/azure/azure-cloud-sso.png b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/azure/azure-cloud-sso.png
index 17753696e61..ea8d2a985f1 100644
Binary files a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/azure/azure-cloud-sso.png and b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/azure/azure-cloud-sso.png differ
diff --git a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/database-connection-snowflake-oauth.png b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/database-connection-snowflake-oauth.png
new file mode 100644
index 00000000000..4c638eed6ae
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/database-connection-snowflake-oauth.png differ
diff --git a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/gsuite/gsuite-sso-cloud-config.png b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/gsuite/gsuite-sso-cloud-config.png
index 91d097c7025..3e7bde2651d 100644
Binary files a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/gsuite/gsuite-sso-cloud-config.png and b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/gsuite/gsuite-sso-cloud-config.png differ
diff --git a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/gsuite/gsuite-sso-cloud-verify.png b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/gsuite/gsuite-sso-cloud-verify.png
index f328ae7c375..8636cbd7186 100644
Binary files a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/gsuite/gsuite-sso-cloud-verify.png and b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/gsuite/gsuite-sso-cloud-verify.png differ
diff --git a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/okta/okta-6-setup-integration.png b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/okta/okta-6-setup-integration.png
index 917287e5eaf..acf8395663f 100644
Binary files a/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/okta/okta-6-setup-integration.png and b/website/static/img/docs/dbt-cloud/dbt-cloud-enterprise/okta/okta-6-setup-integration.png differ
diff --git a/website/static/img/docs/dbt-cloud/dbt-docs-generate-command.png b/website/static/img/docs/dbt-cloud/dbt-docs-generate-command.png
new file mode 100644
index 00000000000..2e9bc318dc5
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/dbt-docs-generate-command.png differ
diff --git a/website/static/img/docs/dbt-cloud/dbt-quickstart-connection.png b/website/static/img/docs/dbt-cloud/dbt-quickstart-connection.png
index dc597500c86..bc49b6c9400 100644
Binary files a/website/static/img/docs/dbt-cloud/dbt-quickstart-connection.png and b/website/static/img/docs/dbt-cloud/dbt-quickstart-connection.png differ
diff --git a/website/static/img/docs/dbt-cloud/dbt-quickstart-environment.png b/website/static/img/docs/dbt-cloud/dbt-quickstart-environment.png
index 596e99209a0..565fd248815 100644
Binary files a/website/static/img/docs/dbt-cloud/dbt-quickstart-environment.png and b/website/static/img/docs/dbt-cloud/dbt-quickstart-environment.png differ
diff --git a/website/static/img/docs/dbt-cloud/dbt-quickstart-new-job-schedule.png b/website/static/img/docs/dbt-cloud/dbt-quickstart-new-job-schedule.png
index f5ebcd82189..22838440554 100644
Binary files a/website/static/img/docs/dbt-cloud/dbt-quickstart-new-job-schedule.png and b/website/static/img/docs/dbt-cloud/dbt-quickstart-new-job-schedule.png differ
diff --git a/website/static/img/docs/dbt-cloud/dbt-quickstart-new-job.png b/website/static/img/docs/dbt-cloud/dbt-quickstart-new-job.png
index c182c002d59..bae0b6f486d 100644
Binary files a/website/static/img/docs/dbt-cloud/dbt-quickstart-new-job.png and b/website/static/img/docs/dbt-cloud/dbt-quickstart-new-job.png differ
diff --git a/website/static/img/docs/dbt-cloud/dbt-quickstart-repository.png b/website/static/img/docs/dbt-cloud/dbt-quickstart-repository.png
index a395b7e9592..c015709d7b4 100644
Binary files a/website/static/img/docs/dbt-cloud/dbt-quickstart-repository.png and b/website/static/img/docs/dbt-cloud/dbt-quickstart-repository.png differ
diff --git a/website/static/img/docs/dbt-cloud/dbt-run-logs.png b/website/static/img/docs/dbt-cloud/dbt-run-logs.png
new file mode 100644
index 00000000000..f9886ccba4f
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/dbt-run-logs.png differ
diff --git a/website/static/img/docs/dbt-cloud/overview-job-schedule.gif b/website/static/img/docs/dbt-cloud/overview-job-schedule.gif
new file mode 100644
index 00000000000..c9848e5d654
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/overview-job-schedule.gif differ
diff --git a/website/static/img/docs/dbt-cloud/refresh-ide/Git overview.png b/website/static/img/docs/dbt-cloud/refresh-ide/Git overview.png
new file mode 100644
index 00000000000..6f3113c7959
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/refresh-ide/Git overview.png differ
diff --git a/website/static/img/docs/dbt-cloud/refresh-ide/building.gif b/website/static/img/docs/dbt-cloud/refresh-ide/building.gif
new file mode 100644
index 00000000000..b521eaa18d5
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/refresh-ide/building.gif differ
diff --git a/website/static/img/docs/dbt-cloud/refresh-ide/dev-credentials.png b/website/static/img/docs/dbt-cloud/refresh-ide/dev-credentials.png
new file mode 100644
index 00000000000..b73ca427a8b
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/refresh-ide/dev-credentials.png differ
diff --git a/website/static/img/docs/dbt-cloud/refresh-ide/new-environment-fields.png b/website/static/img/docs/dbt-cloud/refresh-ide/new-environment-fields.png
new file mode 100644
index 00000000000..886e69fb10b
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/refresh-ide/new-environment-fields.png differ
diff --git a/website/static/img/docs/dbt-cloud/refresh-ide/new-environment.png b/website/static/img/docs/dbt-cloud/refresh-ide/new-environment.png
new file mode 100644
index 00000000000..bc5c3288260
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/refresh-ide/new-environment.png differ
diff --git a/website/static/img/docs/dbt-cloud/refresh-ide/refresh-ide.png b/website/static/img/docs/dbt-cloud/refresh-ide/refresh-ide.png
new file mode 100644
index 00000000000..3f9660e9e6f
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/refresh-ide/refresh-ide.png differ
diff --git a/website/static/img/docs/dbt-cloud/select-source-freshness.png b/website/static/img/docs/dbt-cloud/select-source-freshness.png
index 3fa1550e7f2..8ca6a7eec8c 100644
Binary files a/website/static/img/docs/dbt-cloud/select-source-freshness.png and b/website/static/img/docs/dbt-cloud/select-source-freshness.png differ
diff --git a/website/static/img/docs/dbt-cloud/semantic-layer/configure_sl.png b/website/static/img/docs/dbt-cloud/semantic-layer/configure_sl.png
new file mode 100644
index 00000000000..bc9d8df6746
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/semantic-layer/configure_sl.png differ
diff --git a/website/static/img/docs/dbt-cloud/semantic-layer/metrics_package.png b/website/static/img/docs/dbt-cloud/semantic-layer/metrics_package.png
new file mode 100644
index 00000000000..8fe9ff88183
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/semantic-layer/metrics_package.png differ
diff --git a/website/static/img/docs/dbt-cloud/semantic-layer/metrics_red_nodes.png b/website/static/img/docs/dbt-cloud/semantic-layer/metrics_red_nodes.png
new file mode 100644
index 00000000000..19242c5b408
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/semantic-layer/metrics_red_nodes.png differ
diff --git a/website/static/img/docs/dbt-cloud/semantic-layer/sl-architecture-flow.png b/website/static/img/docs/dbt-cloud/semantic-layer/sl-architecture-flow.png
new file mode 100644
index 00000000000..bee9f6ae13a
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/semantic-layer/sl-architecture-flow.png differ
diff --git a/website/static/img/docs/dbt-cloud/semantic-layer/sl_architecture.png b/website/static/img/docs/dbt-cloud/semantic-layer/sl_architecture.png
new file mode 100644
index 00000000000..b5603790a0c
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/semantic-layer/sl_architecture.png differ
diff --git a/website/static/img/docs/dbt-cloud/snowflake-conn-details.png b/website/static/img/docs/dbt-cloud/snowflake-conn-details.png
index aeea62f79aa..3d55ebb3bab 100644
Binary files a/website/static/img/docs/dbt-cloud/snowflake-conn-details.png and b/website/static/img/docs/dbt-cloud/snowflake-conn-details.png differ
diff --git a/website/static/img/docs/dbt-cloud/snowflake-keypair-auth.png b/website/static/img/docs/dbt-cloud/snowflake-keypair-auth.png
index 999b274e251..7f0e29de590 100644
Binary files a/website/static/img/docs/dbt-cloud/snowflake-keypair-auth.png and b/website/static/img/docs/dbt-cloud/snowflake-keypair-auth.png differ
diff --git a/website/static/img/docs/dbt-cloud/snowflake-userpass-auth.png b/website/static/img/docs/dbt-cloud/snowflake-userpass-auth.png
index ae02835c86f..2dc87cabe32 100644
Binary files a/website/static/img/docs/dbt-cloud/snowflake-userpass-auth.png and b/website/static/img/docs/dbt-cloud/snowflake-userpass-auth.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/3c3c1ca-Screen_Shot_2019-03-21_at_11.05.28_AM.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/3c3c1ca-Screen_Shot_2019-03-21_at_11.05.28_AM.png
deleted file mode 100644
index a60b91b8d66..00000000000
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/3c3c1ca-Screen_Shot_2019-03-21_at_11.05.28_AM.png and /dev/null differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/568adab-Screen_Shot_2019-02-08_at_9.13.09_PM.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/568adab-Screen_Shot_2019-02-08_at_9.13.09_PM.png
deleted file mode 100644
index 780d4c48a0c..00000000000
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/568adab-Screen_Shot_2019-02-08_at_9.13.09_PM.png and /dev/null differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/60f3fa2-Screen_Shot_2019-02-08_at_10.33.20_PM.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/60f3fa2-Screen_Shot_2019-02-08_at_10.33.20_PM.png
deleted file mode 100644
index de4c52f8c89..00000000000
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/60f3fa2-Screen_Shot_2019-02-08_at_10.33.20_PM.png and /dev/null differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/61536c9-Screen_Shot_2019-02-08_at_9.46.29_PM.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/61536c9-Screen_Shot_2019-02-08_at_9.46.29_PM.png
index c6fb2282839..1fd34b2f29d 100644
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/61536c9-Screen_Shot_2019-02-08_at_9.46.29_PM.png and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/61536c9-Screen_Shot_2019-02-08_at_9.46.29_PM.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/98c05c5-Screen_Shot_2019-02-08_at_9.18.22_PM.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/98c05c5-Screen_Shot_2019-02-08_at_9.18.22_PM.png
index 11e4e26b29b..fc11996726c 100644
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/98c05c5-Screen_Shot_2019-02-08_at_9.18.22_PM.png and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/98c05c5-Screen_Shot_2019-02-08_at_9.18.22_PM.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/Enabling-CI/ADO CI Check.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/Enabling-CI/ADO CI Check.png
new file mode 100644
index 00000000000..096978c2804
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/Enabling-CI/ADO CI Check.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/Enabling-CI/Disconnect-Repository.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/Enabling-CI/Disconnect-Repository.png
index 7e657e2a0a8..58b07f42047 100644
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/Enabling-CI/Disconnect-Repository.png and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/Enabling-CI/Disconnect-Repository.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/Enabling-CI/repo-config.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/Enabling-CI/repo-config.png
index 5f944102f5a..b49c1887039 100644
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/Enabling-CI/repo-config.png and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/Enabling-CI/repo-config.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/DBT_ENV_SECRET.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/DBT_ENV_SECRET.png
index b768f27803f..2a8b17dac70 100644
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/DBT_ENV_SECRET.png and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/DBT_ENV_SECRET.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/job-override.gif b/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/job-override.gif
index e8c71a1360d..f513c5170b1 100644
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/job-override.gif and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/job-override.gif differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/job-override.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/job-override.png
index 3eac8bb095a..6467b0d0fa9 100644
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/job-override.png and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/job-override.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/navigate-to-env-vars.gif b/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/navigate-to-env-vars.gif
index 5e964d45d33..5ae365c4244 100644
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/navigate-to-env-vars.gif and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/navigate-to-env-vars.gif differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/personal-override.gif b/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/personal-override.gif
index 3244966d967..9eabb2458de 100644
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/personal-override.gif and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/personal-override.gif differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/personal-override.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/personal-override.png
index 0df7461065d..505461fea48 100644
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/personal-override.png and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/personal-override.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/project-environment-view.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/project-environment-view.png
index b3bdf505589..a973448c032 100644
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/project-environment-view.png and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/project-environment-view.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/warehouse-override.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/warehouse-override.png
index d067fc37f7c..25c7ce3edd5 100644
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/warehouse-override.png and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/Environment Variables/warehouse-override.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/ci-deferral.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/ci-deferral.png
index 0eca99ad59b..5186b0a9a76 100644
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/ci-deferral.png and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/ci-deferral.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/d43d5e6-job-schedule.gif b/website/static/img/docs/dbt-cloud/using-dbt-cloud/d43d5e6-job-schedule.gif
deleted file mode 100644
index 8d6cd95defc..00000000000
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/d43d5e6-job-schedule.gif and /dev/null differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/dashboard-status-tiles/tableau-object.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/dashboard-status-tiles/tableau-object.png
new file mode 100644
index 00000000000..3125cda7335
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/dashboard-status-tiles/tableau-object.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/data-sources-next.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/data-sources-next.png
new file mode 100644
index 00000000000..f4db3f40638
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/data-sources-next.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/data-sources.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/data-sources.png
index ce34963b056..c8ee5c8f684 100644
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/data-sources.png and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/data-sources.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/dbt-cloud-enterprise/BQ-auth/BQ-access.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/dbt-cloud-enterprise/BQ-auth/BQ-access.png
new file mode 100644
index 00000000000..3ac8118710d
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/dbt-cloud-enterprise/BQ-auth/BQ-access.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/dbt-cloud-enterprise/BQ-auth/BQ-nav.gif b/website/static/img/docs/dbt-cloud/using-dbt-cloud/dbt-cloud-enterprise/BQ-auth/BQ-nav.gif
new file mode 100644
index 00000000000..27e3caf39cc
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/dbt-cloud-enterprise/BQ-auth/BQ-nav.gif differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/dbt-cloud-enterprise/BQ-auth/bq-oauth-app.gif b/website/static/img/docs/dbt-cloud/using-dbt-cloud/dbt-cloud-enterprise/BQ-auth/bq-oauth-app.gif
new file mode 100644
index 00000000000..071263396f1
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/dbt-cloud-enterprise/BQ-auth/bq-oauth-app.gif differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/dbt-cloud-enterprise/BQ-auth/dbt-cloud-bq-id-secret.gif b/website/static/img/docs/dbt-cloud/using-dbt-cloud/dbt-cloud-enterprise/BQ-auth/dbt-cloud-bq-id-secret.gif
new file mode 100644
index 00000000000..0545fb853a3
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/dbt-cloud-enterprise/BQ-auth/dbt-cloud-bq-id-secret.gif differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/dbt-cloud-enterprise/developer-bq-auth.gif b/website/static/img/docs/dbt-cloud/using-dbt-cloud/dbt-cloud-enterprise/developer-bq-auth.gif
new file mode 100644
index 00000000000..b3d1f82751c
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/dbt-cloud-enterprise/developer-bq-auth.gif differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/development-credentials.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/development-credentials.png
index d6502609e1b..7eea1bddf32 100644
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/development-credentials.png and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/development-credentials.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/doc-menu.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/doc-menu.png
index 66b4de030ac..9fb71acafff 100644
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/doc-menu.png and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/doc-menu.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/documentation-job-execution-settings.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/documentation-job-execution-settings.png
new file mode 100644
index 00000000000..b8db4ab22d2
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/documentation-job-execution-settings.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/documentation-project-details.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/documentation-project-details.png
new file mode 100644
index 00000000000..6b1aad38f2e
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/documentation-project-details.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/edit-job-generate-artifacts.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/edit-job-generate-artifacts.png
new file mode 100644
index 00000000000..365e2a4a9e1
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/edit-job-generate-artifacts.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/email-notifications.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/email-notifications.png
index 1dbd7ccc397..7e77098d63e 100644
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/email-notifications.png and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/email-notifications.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/job-schedule.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/job-schedule.png
new file mode 100644
index 00000000000..58bb199aeeb
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/job-schedule.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/job-step-source-freshness.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/job-step-source-freshness.png
index 8a10b76236a..cc027ef58f9 100644
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/job-step-source-freshness.png and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/job-step-source-freshness.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/jobs-settings-target-name.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/jobs-settings-target-name.png
new file mode 100644
index 00000000000..eaeb4b65c3f
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/jobs-settings-target-name.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/project-level-artifact-updated.gif b/website/static/img/docs/dbt-cloud/using-dbt-cloud/project-level-artifact-updated.gif
deleted file mode 100644
index 8fb3fd8015e..00000000000
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/project-level-artifact-updated.gif and /dev/null differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/project-level-artifact-updated.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/project-level-artifact-updated.png
new file mode 100644
index 00000000000..6ec0c9b32f0
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/project-level-artifact-updated.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/project-level-artifacts.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/project-level-artifacts.png
deleted file mode 100644
index be4661c85c2..00000000000
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/project-level-artifacts.png and /dev/null differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/using_ci_dbt_cloud.png b/website/static/img/docs/dbt-cloud/using-dbt-cloud/using_ci_dbt_cloud.png
index bb6410e4ffc..63fa5a1450d 100644
Binary files a/website/static/img/docs/dbt-cloud/using-dbt-cloud/using_ci_dbt_cloud.png and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/using_ci_dbt_cloud.png differ
diff --git a/website/static/img/docs/dbt-cloud/using-dbt-cloud/viewing-docs.gif b/website/static/img/docs/dbt-cloud/using-dbt-cloud/viewing-docs.gif
new file mode 100644
index 00000000000..0f15c867ac4
Binary files /dev/null and b/website/static/img/docs/dbt-cloud/using-dbt-cloud/viewing-docs.gif differ
diff --git a/website/static/img/docs/running-a-dbt-project/0d9f366-Screen_Shot_2019-11-19_at_12.13.28_PM.png b/website/static/img/docs/running-a-dbt-project/0d9f366-Screen_Shot_2019-11-19_at_12.13.28_PM.png
deleted file mode 100644
index a803622d798..00000000000
Binary files a/website/static/img/docs/running-a-dbt-project/0d9f366-Screen_Shot_2019-11-19_at_12.13.28_PM.png and /dev/null differ
diff --git a/website/static/img/docs/running-a-dbt-project/65fb95f-Screen_Shot_2019-11-19_at_11.30.00_AM.png b/website/static/img/docs/running-a-dbt-project/65fb95f-Screen_Shot_2019-11-19_at_11.30.00_AM.png
deleted file mode 100644
index 41a33ab495c..00000000000
Binary files a/website/static/img/docs/running-a-dbt-project/65fb95f-Screen_Shot_2019-11-19_at_11.30.00_AM.png and /dev/null differ
diff --git a/website/static/img/docs/running-a-dbt-project/8e7a6eb-cloud-img.png b/website/static/img/docs/running-a-dbt-project/8e7a6eb-cloud-img.png
deleted file mode 100644
index 6090fd27006..00000000000
Binary files a/website/static/img/docs/running-a-dbt-project/8e7a6eb-cloud-img.png and /dev/null differ
diff --git a/website/static/img/docs/running-a-dbt-project/a810a20-Screen_Shot_2019-11-19_at_11.26.55_AM.png b/website/static/img/docs/running-a-dbt-project/a810a20-Screen_Shot_2019-11-19_at_11.26.55_AM.png
deleted file mode 100644
index 0531c780abf..00000000000
Binary files a/website/static/img/docs/running-a-dbt-project/a810a20-Screen_Shot_2019-11-19_at_11.26.55_AM.png and /dev/null differ
diff --git a/website/static/img/docs/running-a-dbt-project/dbt_cloud_airflow_trigger.png b/website/static/img/docs/running-a-dbt-project/dbt_cloud_airflow_trigger.png
index 2a68d742e15..892370656c0 100644
Binary files a/website/static/img/docs/running-a-dbt-project/dbt_cloud_airflow_trigger.png and b/website/static/img/docs/running-a-dbt-project/dbt_cloud_airflow_trigger.png differ
diff --git a/website/static/img/docs/running-a-dbt-project/ec04c10-Screen_Shot_2019-11-19_at_12.13.46_PM.png b/website/static/img/docs/running-a-dbt-project/ec04c10-Screen_Shot_2019-11-19_at_12.13.46_PM.png
deleted file mode 100644
index 2ecb875afb4..00000000000
Binary files a/website/static/img/docs/running-a-dbt-project/ec04c10-Screen_Shot_2019-11-19_at_12.13.46_PM.png and /dev/null differ
diff --git a/website/static/img/docs/running-a-dbt-project/using-the-dbt-ide/create-dev-env.png b/website/static/img/docs/running-a-dbt-project/using-the-dbt-ide/create-dev-env.png
new file mode 100644
index 00000000000..6e27d9922b8
Binary files /dev/null and b/website/static/img/docs/running-a-dbt-project/using-the-dbt-ide/create-dev-env.png differ
diff --git a/website/static/img/docs/running-a-dbt-project/using-the-dbt-ide/dev-cred-edit-proj.png b/website/static/img/docs/running-a-dbt-project/using-the-dbt-ide/dev-cred-edit-proj.png
new file mode 100644
index 00000000000..50ad975613b
Binary files /dev/null and b/website/static/img/docs/running-a-dbt-project/using-the-dbt-ide/dev-cred-edit-proj.png differ
diff --git a/website/static/img/docs/running-a-dbt-project/using-the-dbt-ide/dev-cred-project-setup.png b/website/static/img/docs/running-a-dbt-project/using-the-dbt-ide/dev-cred-project-setup.png
new file mode 100644
index 00000000000..f907ff27edc
Binary files /dev/null and b/website/static/img/docs/running-a-dbt-project/using-the-dbt-ide/dev-cred-project-setup.png differ
diff --git a/website/static/img/docs/running-a-dbt-project/using-the-dbt-ide/empty-env-page.png b/website/static/img/docs/running-a-dbt-project/using-the-dbt-ide/empty-env-page.png
new file mode 100644
index 00000000000..14444259f6e
Binary files /dev/null and b/website/static/img/docs/running-a-dbt-project/using-the-dbt-ide/empty-env-page.png differ
diff --git a/website/static/img/docs/terms/dag/bad_dag.png b/website/static/img/docs/terms/dag/bad_dag.png
new file mode 100644
index 00000000000..99fe8f8c56f
Binary files /dev/null and b/website/static/img/docs/terms/dag/bad_dag.png differ
diff --git a/website/static/img/docs/terms/dag/lineage_graph.png b/website/static/img/docs/terms/dag/lineage_graph.png
new file mode 100644
index 00000000000..a2b88adff87
Binary files /dev/null and b/website/static/img/docs/terms/dag/lineage_graph.png differ
diff --git a/website/static/img/docs/terms/dag/mini_dag.png b/website/static/img/docs/terms/dag/mini_dag.png
new file mode 100644
index 00000000000..19693581ab2
Binary files /dev/null and b/website/static/img/docs/terms/dag/mini_dag.png differ
diff --git a/website/static/img/docs/terms/data-lineage/bad_dag.png b/website/static/img/docs/terms/data-lineage/bad_dag.png
new file mode 100644
index 00000000000..99fe8f8c56f
Binary files /dev/null and b/website/static/img/docs/terms/data-lineage/bad_dag.png differ
diff --git a/website/static/img/docs/terms/data-lineage/dag_example.png b/website/static/img/docs/terms/data-lineage/dag_example.png
new file mode 100644
index 00000000000..eb78ab0a0ca
Binary files /dev/null and b/website/static/img/docs/terms/data-lineage/dag_example.png differ
diff --git a/website/static/img/docs/terms/dimensional-modeling/fact-star.png b/website/static/img/docs/terms/dimensional-modeling/fact-star.png
new file mode 100644
index 00000000000..22ebed964c1
Binary files /dev/null and b/website/static/img/docs/terms/dimensional-modeling/fact-star.png differ
diff --git a/website/static/img/docs/terms/edw/meme.png b/website/static/img/docs/terms/edw/meme.png
new file mode 100644
index 00000000000..7aa96ef8780
Binary files /dev/null and b/website/static/img/docs/terms/edw/meme.png differ
diff --git a/website/static/img/docs/terms/relational-database/relation.png b/website/static/img/docs/terms/relational-database/relation.png
new file mode 100644
index 00000000000..68b07a9567b
Binary files /dev/null and b/website/static/img/docs/terms/relational-database/relation.png differ
diff --git a/website/static/img/docs/terms/reverse-etl/reverse-etl-diagram.png b/website/static/img/docs/terms/reverse-etl/reverse-etl-diagram.png
new file mode 100644
index 00000000000..73acadd6953
Binary files /dev/null and b/website/static/img/docs/terms/reverse-etl/reverse-etl-diagram.png differ
diff --git a/website/static/img/favicon.ico b/website/static/img/favicon.ico
deleted file mode 100644
index ac704a27297..00000000000
Binary files a/website/static/img/favicon.ico and /dev/null differ
diff --git a/website/static/img/favicon.png b/website/static/img/favicon.png
new file mode 100644
index 00000000000..50b097a0468
Binary files /dev/null and b/website/static/img/favicon.png differ
diff --git a/website/static/img/favicon.svg b/website/static/img/favicon.svg
new file mode 100644
index 00000000000..a0577b18630
--- /dev/null
+++ b/website/static/img/favicon.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/website/static/img/guides/best-practices/how-we-structure/narrowing-dag.png b/website/static/img/guides/best-practices/how-we-structure/narrowing-dag.png
new file mode 100644
index 00000000000..66fe71acc8f
Binary files /dev/null and b/website/static/img/guides/best-practices/how-we-structure/narrowing-dag.png differ
diff --git a/website/static/img/guides/best-practices/how-we-structure/widening-dag.png b/website/static/img/guides/best-practices/how-we-structure/widening-dag.png
new file mode 100644
index 00000000000..13e987aa25e
Binary files /dev/null and b/website/static/img/guides/best-practices/how-we-structure/widening-dag.png differ
diff --git a/website/static/img/guides/orchestration/airflow-and-dbt-cloud/airflow-connections-menu.png b/website/static/img/guides/orchestration/airflow-and-dbt-cloud/airflow-connections-menu.png
new file mode 100644
index 00000000000..7a55d0bbad0
Binary files /dev/null and b/website/static/img/guides/orchestration/airflow-and-dbt-cloud/airflow-connections-menu.png differ
diff --git a/website/static/img/guides/orchestration/airflow-and-dbt-cloud/airflow-dag.png b/website/static/img/guides/orchestration/airflow-and-dbt-cloud/airflow-dag.png
new file mode 100644
index 00000000000..3c491d484a5
Binary files /dev/null and b/website/static/img/guides/orchestration/airflow-and-dbt-cloud/airflow-dag.png differ
diff --git a/website/static/img/guides/orchestration/airflow-and-dbt-cloud/airflow-login.png b/website/static/img/guides/orchestration/airflow-and-dbt-cloud/airflow-login.png
new file mode 100644
index 00000000000..a3fa42efe15
Binary files /dev/null and b/website/static/img/guides/orchestration/airflow-and-dbt-cloud/airflow-login.png differ
diff --git a/website/static/img/guides/orchestration/airflow-and-dbt-cloud/approve-clearing.png b/website/static/img/guides/orchestration/airflow-and-dbt-cloud/approve-clearing.png
new file mode 100644
index 00000000000..3cc7442189f
Binary files /dev/null and b/website/static/img/guides/orchestration/airflow-and-dbt-cloud/approve-clearing.png differ
diff --git a/website/static/img/guides/orchestration/airflow-and-dbt-cloud/clear-task-instance.png b/website/static/img/guides/orchestration/airflow-and-dbt-cloud/clear-task-instance.png
new file mode 100644
index 00000000000..92ac3f1cd97
Binary files /dev/null and b/website/static/img/guides/orchestration/airflow-and-dbt-cloud/clear-task-instance.png differ
diff --git a/website/static/img/guides/orchestration/airflow-and-dbt-cloud/connection-type.png b/website/static/img/guides/orchestration/airflow-and-dbt-cloud/connection-type.png
new file mode 100644
index 00000000000..d64163d6173
Binary files /dev/null and b/website/static/img/guides/orchestration/airflow-and-dbt-cloud/connection-type.png differ
diff --git a/website/static/img/guides/orchestration/airflow-and-dbt-cloud/create-connection.png b/website/static/img/guides/orchestration/airflow-and-dbt-cloud/create-connection.png
new file mode 100644
index 00000000000..b6b2ecc412b
Binary files /dev/null and b/website/static/img/guides/orchestration/airflow-and-dbt-cloud/create-connection.png differ
diff --git a/website/static/img/guides/orchestration/airflow-and-dbt-cloud/re-run.png b/website/static/img/guides/orchestration/airflow-and-dbt-cloud/re-run.png
new file mode 100644
index 00000000000..a57a6be01c5
Binary files /dev/null and b/website/static/img/guides/orchestration/airflow-and-dbt-cloud/re-run.png differ
diff --git a/website/static/img/guides/orchestration/airflow-and-dbt-cloud/task-dag-view.png b/website/static/img/guides/orchestration/airflow-and-dbt-cloud/task-dag-view.png
new file mode 100644
index 00000000000..3c491d484a5
Binary files /dev/null and b/website/static/img/guides/orchestration/airflow-and-dbt-cloud/task-dag-view.png differ
diff --git a/website/static/img/guides/orchestration/airflow-and-dbt-cloud/task-run-instance.png b/website/static/img/guides/orchestration/airflow-and-dbt-cloud/task-run-instance.png
new file mode 100644
index 00000000000..757515554e2
Binary files /dev/null and b/website/static/img/guides/orchestration/airflow-and-dbt-cloud/task-run-instance.png differ
diff --git a/website/static/img/guides/orchestration/custom-cicd-pipelines/dbt-api-key-gitlab.png b/website/static/img/guides/orchestration/custom-cicd-pipelines/dbt-api-key-gitlab.png
new file mode 100644
index 00000000000..b339f5aa9bd
Binary files /dev/null and b/website/static/img/guides/orchestration/custom-cicd-pipelines/dbt-api-key-gitlab.png differ
diff --git a/website/static/img/guides/orchestration/custom-cicd-pipelines/dbt-cloud-job-github-triggered.png b/website/static/img/guides/orchestration/custom-cicd-pipelines/dbt-cloud-job-github-triggered.png
new file mode 100644
index 00000000000..8bff1464c30
Binary files /dev/null and b/website/static/img/guides/orchestration/custom-cicd-pipelines/dbt-cloud-job-github-triggered.png differ
diff --git a/website/static/img/guides/orchestration/custom-cicd-pipelines/dbt-cloud-job-gitlab-triggered.png b/website/static/img/guides/orchestration/custom-cicd-pipelines/dbt-cloud-job-gitlab-triggered.png
new file mode 100644
index 00000000000..5c0ad4b43f7
Binary files /dev/null and b/website/static/img/guides/orchestration/custom-cicd-pipelines/dbt-cloud-job-gitlab-triggered.png differ
diff --git a/website/static/img/guides/orchestration/custom-cicd-pipelines/dbt-cloud-job-url.png b/website/static/img/guides/orchestration/custom-cicd-pipelines/dbt-cloud-job-url.png
new file mode 100644
index 00000000000..3d06935abc1
Binary files /dev/null and b/website/static/img/guides/orchestration/custom-cicd-pipelines/dbt-cloud-job-url.png differ
diff --git a/website/static/img/guides/orchestration/custom-cicd-pipelines/dbt-run-on-merge-github.png b/website/static/img/guides/orchestration/custom-cicd-pipelines/dbt-run-on-merge-github.png
new file mode 100644
index 00000000000..d9106d5627c
Binary files /dev/null and b/website/static/img/guides/orchestration/custom-cicd-pipelines/dbt-run-on-merge-github.png differ
diff --git a/website/static/img/guides/orchestration/custom-cicd-pipelines/dbt-run-on-merge-gitlab.png b/website/static/img/guides/orchestration/custom-cicd-pipelines/dbt-run-on-merge-gitlab.png
new file mode 100644
index 00000000000..1f7a102ace5
Binary files /dev/null and b/website/static/img/guides/orchestration/custom-cicd-pipelines/dbt-run-on-merge-gitlab.png differ
diff --git a/website/static/img/guides/orchestration/custom-cicd-pipelines/dbt-service-token-page.png b/website/static/img/guides/orchestration/custom-cicd-pipelines/dbt-service-token-page.png
new file mode 100644
index 00000000000..d213c03b83a
Binary files /dev/null and b/website/static/img/guides/orchestration/custom-cicd-pipelines/dbt-service-token-page.png differ
diff --git a/website/static/img/guides/orchestration/custom-cicd-pipelines/gitlab-cicd-payment-warning.png b/website/static/img/guides/orchestration/custom-cicd-pipelines/gitlab-cicd-payment-warning.png
new file mode 100644
index 00000000000..7df73f200f2
Binary files /dev/null and b/website/static/img/guides/orchestration/custom-cicd-pipelines/gitlab-cicd-payment-warning.png differ
diff --git a/website/static/img/guides/orchestration/custom-cicd-pipelines/lint-on-push-github.png b/website/static/img/guides/orchestration/custom-cicd-pipelines/lint-on-push-github.png
new file mode 100644
index 00000000000..e21be5a8a7c
Binary files /dev/null and b/website/static/img/guides/orchestration/custom-cicd-pipelines/lint-on-push-github.png differ
diff --git a/website/static/img/guides/orchestration/custom-cicd-pipelines/lint-on-push-gitlab.png b/website/static/img/guides/orchestration/custom-cicd-pipelines/lint-on-push-gitlab.png
new file mode 100644
index 00000000000..e232dddbe04
Binary files /dev/null and b/website/static/img/guides/orchestration/custom-cicd-pipelines/lint-on-push-gitlab.png differ
diff --git a/website/static/img/guides/orchestration/custom-cicd-pipelines/lint-on-push-logs-github.png b/website/static/img/guides/orchestration/custom-cicd-pipelines/lint-on-push-logs-github.png
new file mode 100644
index 00000000000..ea27ed6e527
Binary files /dev/null and b/website/static/img/guides/orchestration/custom-cicd-pipelines/lint-on-push-logs-github.png differ
diff --git a/website/static/img/guides/orchestration/custom-cicd-pipelines/lint-on-push-logs-gitlab.png b/website/static/img/guides/orchestration/custom-cicd-pipelines/lint-on-push-logs-gitlab.png
new file mode 100644
index 00000000000..f4fe49c97b1
Binary files /dev/null and b/website/static/img/guides/orchestration/custom-cicd-pipelines/lint-on-push-logs-gitlab.png differ
diff --git a/website/static/img/guides/orchestration/custom-cicd-pipelines/pipeline-diagram.png b/website/static/img/guides/orchestration/custom-cicd-pipelines/pipeline-diagram.png
new file mode 100644
index 00000000000..224a122246f
Binary files /dev/null and b/website/static/img/guides/orchestration/custom-cicd-pipelines/pipeline-diagram.png differ
diff --git a/website/static/img/guides/orchestration/custom-cicd-pipelines/pipeline-programs-diagram.png b/website/static/img/guides/orchestration/custom-cicd-pipelines/pipeline-programs-diagram.png
new file mode 100644
index 00000000000..40e2912f087
Binary files /dev/null and b/website/static/img/guides/orchestration/custom-cicd-pipelines/pipeline-programs-diagram.png differ
diff --git a/website/static/img/hero-graphic-2x.png b/website/static/img/hero-graphic-2x.png
new file mode 100644
index 00000000000..8501a22e2c6
Binary files /dev/null and b/website/static/img/hero-graphic-2x.png differ
diff --git a/website/static/img/hero-graphic.png b/website/static/img/hero-graphic.png
new file mode 100644
index 00000000000..9c6a6d81485
Binary files /dev/null and b/website/static/img/hero-graphic.png differ
diff --git a/website/static/img/icons/book.svg b/website/static/img/icons/book.svg
new file mode 100644
index 00000000000..ff1faa686b5
--- /dev/null
+++ b/website/static/img/icons/book.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/calendar.svg b/website/static/img/icons/calendar.svg
new file mode 100644
index 00000000000..de2a9b11880
--- /dev/null
+++ b/website/static/img/icons/calendar.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/computer.svg b/website/static/img/icons/computer.svg
new file mode 100644
index 00000000000..c9a61e442bf
--- /dev/null
+++ b/website/static/img/icons/computer.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/discussions.svg b/website/static/img/icons/discussions.svg
new file mode 100644
index 00000000000..e29a8dd8930
--- /dev/null
+++ b/website/static/img/icons/discussions.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/docs.svg b/website/static/img/icons/docs.svg
new file mode 100644
index 00000000000..bb788a1b4d8
--- /dev/null
+++ b/website/static/img/icons/docs.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/folder.svg b/website/static/img/icons/folder.svg
new file mode 100644
index 00000000000..e65bf093c95
--- /dev/null
+++ b/website/static/img/icons/folder.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/guides.svg b/website/static/img/icons/guides.svg
new file mode 100644
index 00000000000..c67e31a2018
--- /dev/null
+++ b/website/static/img/icons/guides.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/packages.svg b/website/static/img/icons/packages.svg
new file mode 100644
index 00000000000..cd2623a05b3
--- /dev/null
+++ b/website/static/img/icons/packages.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/pencil-paper.svg b/website/static/img/icons/pencil-paper.svg
new file mode 100644
index 00000000000..b614cd9f186
--- /dev/null
+++ b/website/static/img/icons/pencil-paper.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/question-mark.svg b/website/static/img/icons/question-mark.svg
new file mode 100644
index 00000000000..1de805a8e8f
--- /dev/null
+++ b/website/static/img/icons/question-mark.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/rocket.svg b/website/static/img/icons/rocket.svg
new file mode 100644
index 00000000000..c524ebead6a
--- /dev/null
+++ b/website/static/img/icons/rocket.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/slack.svg b/website/static/img/icons/slack.svg
new file mode 100644
index 00000000000..b8f5a0576f9
--- /dev/null
+++ b/website/static/img/icons/slack.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/smiley-face.svg b/website/static/img/icons/smiley-face.svg
new file mode 100644
index 00000000000..dbd23e8ed34
--- /dev/null
+++ b/website/static/img/icons/smiley-face.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/star.svg b/website/static/img/icons/star.svg
new file mode 100644
index 00000000000..b504aa7e5dc
--- /dev/null
+++ b/website/static/img/icons/star.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/white/book.svg b/website/static/img/icons/white/book.svg
new file mode 100644
index 00000000000..ba5dd172244
--- /dev/null
+++ b/website/static/img/icons/white/book.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/white/calendar.svg b/website/static/img/icons/white/calendar.svg
new file mode 100644
index 00000000000..60a70d916d9
--- /dev/null
+++ b/website/static/img/icons/white/calendar.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/white/computer.svg b/website/static/img/icons/white/computer.svg
new file mode 100644
index 00000000000..cfea44ec81a
--- /dev/null
+++ b/website/static/img/icons/white/computer.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/white/discussions.svg b/website/static/img/icons/white/discussions.svg
new file mode 100644
index 00000000000..099865eeeb9
--- /dev/null
+++ b/website/static/img/icons/white/discussions.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/white/docs.svg b/website/static/img/icons/white/docs.svg
new file mode 100644
index 00000000000..fc3b6b56345
--- /dev/null
+++ b/website/static/img/icons/white/docs.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/white/folder.svg b/website/static/img/icons/white/folder.svg
new file mode 100644
index 00000000000..44cea3048a4
--- /dev/null
+++ b/website/static/img/icons/white/folder.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/white/guides.svg b/website/static/img/icons/white/guides.svg
new file mode 100644
index 00000000000..c8796c30303
--- /dev/null
+++ b/website/static/img/icons/white/guides.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/white/packages.svg b/website/static/img/icons/white/packages.svg
new file mode 100644
index 00000000000..ff6d2f4fc50
--- /dev/null
+++ b/website/static/img/icons/white/packages.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/white/pencil-paper.svg b/website/static/img/icons/white/pencil-paper.svg
new file mode 100644
index 00000000000..252e9257c5d
--- /dev/null
+++ b/website/static/img/icons/white/pencil-paper.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/white/question-mark.svg b/website/static/img/icons/white/question-mark.svg
new file mode 100644
index 00000000000..75e18753eda
--- /dev/null
+++ b/website/static/img/icons/white/question-mark.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/white/rocket.svg b/website/static/img/icons/white/rocket.svg
new file mode 100644
index 00000000000..d582c3455db
--- /dev/null
+++ b/website/static/img/icons/white/rocket.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/white/slack.svg b/website/static/img/icons/white/slack.svg
new file mode 100644
index 00000000000..2582536472a
--- /dev/null
+++ b/website/static/img/icons/white/slack.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/white/smiley-face.svg b/website/static/img/icons/white/smiley-face.svg
new file mode 100644
index 00000000000..8a901ad589a
--- /dev/null
+++ b/website/static/img/icons/white/smiley-face.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/icons/white/star.svg b/website/static/img/icons/white/star.svg
new file mode 100644
index 00000000000..f7ced226537
--- /dev/null
+++ b/website/static/img/icons/white/star.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/moon.svg b/website/static/img/moon.svg
new file mode 100644
index 00000000000..09b2a867b79
--- /dev/null
+++ b/website/static/img/moon.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/website/static/img/node_color_example.png b/website/static/img/node_color_example.png
new file mode 100644
index 00000000000..83b26f5735a
Binary files /dev/null and b/website/static/img/node_color_example.png differ
diff --git a/website/static/img/redshift_tutorial/images/dbt_cloud_redshift_account_settings.png b/website/static/img/redshift_tutorial/images/dbt_cloud_redshift_account_settings.png
new file mode 100644
index 00000000000..38ec200ed91
Binary files /dev/null and b/website/static/img/redshift_tutorial/images/dbt_cloud_redshift_account_settings.png differ
diff --git a/website/static/img/redshift_tutorial/images/dbt_cloud_redshift_development_credentials.png b/website/static/img/redshift_tutorial/images/dbt_cloud_redshift_development_credentials.png
new file mode 100644
index 00000000000..523ba9f0c6c
Binary files /dev/null and b/website/static/img/redshift_tutorial/images/dbt_cloud_redshift_development_credentials.png differ
diff --git a/website/static/img/redshift_tutorial/images/dbt_cloud_setup_redshift_connection_start.png b/website/static/img/redshift_tutorial/images/dbt_cloud_setup_redshift_connection_start.png
new file mode 100644
index 00000000000..8d2e5ffcb70
Binary files /dev/null and b/website/static/img/redshift_tutorial/images/dbt_cloud_setup_redshift_connection_start.png differ
diff --git a/website/static/img/redshift_tutorial/images/setup_redshift_connect.png b/website/static/img/redshift_tutorial/images/setup_redshift_connect.png
deleted file mode 100644
index de6e789494c..00000000000
Binary files a/website/static/img/redshift_tutorial/images/setup_redshift_connect.png and /dev/null differ
diff --git a/website/static/img/snowflake_tutorial/dbt_cloud_setup_snowflake_connection_start.png b/website/static/img/snowflake_tutorial/dbt_cloud_setup_snowflake_connection_start.png
new file mode 100644
index 00000000000..34e83360c7e
Binary files /dev/null and b/website/static/img/snowflake_tutorial/dbt_cloud_setup_snowflake_connection_start.png differ
diff --git a/website/static/img/snowflake_tutorial/dbt_cloud_snowflake_account_settings.png b/website/static/img/snowflake_tutorial/dbt_cloud_snowflake_account_settings.png
index 1f3c24e6e7e..9084558d601 100644
Binary files a/website/static/img/snowflake_tutorial/dbt_cloud_snowflake_account_settings.png and b/website/static/img/snowflake_tutorial/dbt_cloud_snowflake_account_settings.png differ
diff --git a/website/static/img/snowflake_tutorial/dbt_cloud_snowflake_development_credentials.png b/website/static/img/snowflake_tutorial/dbt_cloud_snowflake_development_credentials.png
index e4fdf76d1c9..1e6187e2b2a 100644
Binary files a/website/static/img/snowflake_tutorial/dbt_cloud_snowflake_development_credentials.png and b/website/static/img/snowflake_tutorial/dbt_cloud_snowflake_development_credentials.png differ
diff --git a/website/static/img/structure-dbt-projects.png b/website/static/img/structure-dbt-projects.png
new file mode 100644
index 00000000000..a4d85c47460
Binary files /dev/null and b/website/static/img/structure-dbt-projects.png differ
diff --git a/website/static/js/onetrust.js b/website/static/js/onetrust.js
new file mode 100644
index 00000000000..f7fbcbd51c6
--- /dev/null
+++ b/website/static/js/onetrust.js
@@ -0,0 +1,6 @@
+function openPreferenceCenter() {
+ if(window?.OneTrust?.ToggleInfoDisplay) {
+ console.log('opening center')
+ window.OneTrust.ToggleInfoDisplay()
+ }
+}