diff --git a/.spellcheck.yml b/.spellcheck.yml index e70186115f720..f3734f33a6196 100644 --- a/.spellcheck.yml +++ b/.spellcheck.yml @@ -14,6 +14,14 @@ matrix: ignores: - code - pre + - pyspelling.filters.context: + delimiters: + # Ignore multiline content in frontmatter (frontmatter has 3 dashes) + # --- + # content + # --- + - open: '(?s)^(?P *\-{3})$' + close: '^(?P=open)$' sources: - '**/*.md' default_encoding: utf-8 diff --git a/docs/.gitignore b/docs/.gitignore index 32bd5f2b28b03..f8af5f0f9faeb 100644 --- a/docs/.gitignore +++ b/docs/.gitignore @@ -1,4 +1,3 @@ yarn-error.log node_modules -docs/.vuepress/dist/ .DS_Store diff --git a/docs/docs/.vuepress/components/Footer.vue b/docs/docs/.vuepress/components/Footer.vue index dff7e0f484a07..96530a2a235d3 100644 --- a/docs/docs/.vuepress/components/Footer.vue +++ b/docs/docs/.vuepress/components/Footer.vue @@ -1,11 +1,15 @@ \ No newline at end of file + diff --git a/docs/docs/.vuepress/components/GuideLink.vue b/docs/docs/.vuepress/components/GuideLink.vue new file mode 100644 index 0000000000000..682fd59ca2ce1 --- /dev/null +++ b/docs/docs/.vuepress/components/GuideLink.vue @@ -0,0 +1,112 @@ + + + + + + diff --git a/docs/docs/.vuepress/components/LanguageLink.vue b/docs/docs/.vuepress/components/LanguageLink.vue new file mode 100644 index 0000000000000..bec36d76156ca --- /dev/null +++ b/docs/docs/.vuepress/components/LanguageLink.vue @@ -0,0 +1,17 @@ + + diff --git a/docs/docs/.vuepress/config.js b/docs/docs/.vuepress/config.js index 52088a0d1bbc7..9a7f2e02bcf7a 100644 --- a/docs/docs/.vuepress/config.js +++ b/docs/docs/.vuepress/config.js @@ -1,5 +1,6 @@ const path = require("path"); const webpack = require("webpack"); +const themeConfig = require("./configs/themeConfig"); module.exports = { title: "", @@ -18,195 +19,8 @@ module.exports = { }, ], ], - themeConfig: { - algolia: { - appId: 'XY28M447C5', - apiKey: "9d9169458128b3d60c22bb04da4431c7", - indexName: "pipedream", - algoliaOptions: { - facetFilters: ['version:latest'] - } - }, - searchPlaceholder: "Search...", - logo: "/pipedream.svg", - repo: "PipedreamHQ/pipedream", - nav: [ - { - text: "v2", - className: "docs-version", - ariaLabel: "Docs Version Menu", - items: [ - { - text: "v2", - link: "https://pipedream.com/docs", - internal: true, - badge: "New", - badgeVariation: "primary", - }, - { - text: "v1", - internal: true, - link: "https://pipedream.com/docs/v1", - }, - ], - }, - ], - smoothScroll: false, - // if your docs are not at the root of the repo: - docsDir: "docs/docs", - editLinks: true, - // custom text for edit link. Defaults to "Edit this page" - editLinkText: "Help us improve this page! Submit an edit on Github", - sidebar: [ - "/", - "/quickstart/", - { - title: "Workflows", - children: - [ - "/workflows/", - "/workflows/steps/", - "/workflows/steps/triggers/", - "/workflows/events/", - "/components/actions/", - "/workflows/concurrency-and-throttling/", - "/environment-variables/", - "/workflows/settings/", - "/workflows/networking/", - "/migrate-from-v1/", - ] - }, - "/sources/", - "/connected-accounts/", - "/user-settings/", - { - title: "Reference: Code, APIs + CLI", - children: [ - { - title: "Writing Code in Workflows", - type: "group", - initialOpenGroupIndex: 1, - children: [ - "/code/", - { - title: "Node.js", - type: "group", - children: [ - "/code/nodejs/", - "/code/nodejs/auth/", - "/code/nodejs/http-requests/", - "/code/nodejs/working-with-files/", - "/code/nodejs/async/", - ], - }, - "/code/python/", - "/code/go/", - "/code/bash/", - "/destinations/", - "/scheduling-future-tasks/", - ], - }, - { - title: "Authoring Components", - type: "group", - children: [ - "/components/", - "/components/quickstart/nodejs/actions/", - "/components/quickstart/nodejs/sources/", - "/components/api/", - "/components/guidelines/", - "/pipedream-axios/", - ], - }, - { - title: "CLI", - type: "group", - children: ["/cli/install/", "/cli/login/", "/cli/reference/"], - }, - { - title: "APIs", - type: "group", - children: [ - "/api/overview/", - "/api/auth/", - "/api/rest/", - "/api/rest/webhooks/", - "/api/rest/rss/", - "/api/rest/workflow-errors/", - "/api/sse/", - ], - }, - { - title: "Integrations", - type: "group", - children: [ - "/apps/all-apps/", - "/apps/discord/", - "/apps/hubspot/", - "/apps/servicenow/", - "/apps/slack/", - "/apps/strava/", - "/apps/twitter/", - "/apps/zoom/", - ], - }, - ], - }, - "/troubleshooting/", - { - title: "Privacy & Security", - children: [ - "/privacy-and-security/", - "/privacy-and-security/best-practices/", - "/abuse/", - "/privacy-and-security/pgp-key/", - "/subprocessors/", - ], - }, - { - title: "Pricing & Limits", - collapsable: true, - children: [ - "/limits/", - "/pricing/", - "/workflows/events/cold-starts/", - ] - }, - { - title: "Organizations", - collapsable: false, - children: ["/orgs/", "/orgs/sso/okta/"], - }, - "/status/", - ["https://pipedream.com/support", "Need more help?"], - ], - PIPEDREAM_BASE_URL: "https://pipedream.com", - API_BASE_URL: "https://api.pipedream.com/v1", - SQL_API_BASE_URL: "https://rt.pipedream.com/sql", - PAYLOAD_SIZE_LIMIT: "512KB", - MEMORY_LIMIT: "256MB", - MEMORY_ABSOLUTE_LIMIT: "10GB", - EMAIL_PAYLOAD_SIZE_LIMIT: "30MB", - INSPECTOR_EVENT_LIMIT: "100", - FUNCTION_PAYLOAD_LIMIT: "6MB", - INSPECTOR_EVENT_EXPIRY_DAYS: "30", - DAILY_INVOCATIONS_LIMIT: "333", - FREE_ORG_DAILY_INVOCATIONS_LIMIT: "66", - PRICE_PER_INVOCATION: "0.0002", - FREE_MONTHLY_INVOCATIONS: "10,000", - PRO_MONTHLY_INVOCATIONS: "20,000", - TEAM_MONTHLY_INVOCATIONS: "20,000", - ENTERPRISE_MONTHLY_INVOCATIONS: "100,000", - TEAM_MEMBER_LIMIT: "5", - PRO_MONTHLY_PRICE: "$19", - TEAM_MONTHLY_PRICE: "$19", - DEFAULT_WORKFLOW_QUEUE_SIZE: "100", - MAX_WORKFLOW_QUEUE_SIZE: "10,000", - NODE_VERSION: "14", - PYTHON_VERSION: "3.8", - CONFIGURED_PROPS_SIZE_LIMIT: "64KB", - SERVICE_DB_SIZE_LIMIT: "60KB", - GO_LANG_VERSION: '1.17.1', - TMP_SIZE_LIMIT: '512MB', - }, + themeConfig, + postcss: { + plugins: [require("autoprefixer"), require("tailwindcss")], + } }; diff --git a/docs/docs/.vuepress/configs/envVars.js b/docs/docs/.vuepress/configs/envVars.js new file mode 100644 index 0000000000000..58b5d1a6fe626 --- /dev/null +++ b/docs/docs/.vuepress/configs/envVars.js @@ -0,0 +1,29 @@ +module.exports = { + PIPEDREAM_BASE_URL: "https://pipedream.com", + API_BASE_URL: "https://api.pipedream.com/v1", + SQL_API_BASE_URL: "https://rt.pipedream.com/sql", + PAYLOAD_SIZE_LIMIT: "512KB", + MEMORY_LIMIT: "256MB", + MEMORY_ABSOLUTE_LIMIT: "10GB", + EMAIL_PAYLOAD_SIZE_LIMIT: "30MB", + INSPECTOR_EVENT_LIMIT: "100", + FUNCTION_PAYLOAD_LIMIT: "6MB", + INSPECTOR_EVENT_EXPIRY_DAYS: "30", + DAILY_INVOCATIONS_LIMIT: "333", + FREE_ORG_DAILY_INVOCATIONS_LIMIT: "66", + PRICE_PER_INVOCATION: "0.0002", + FREE_MONTHLY_INVOCATIONS: "10,000", + PRO_MONTHLY_INVOCATIONS: "20,000", + TEAM_MONTHLY_INVOCATIONS: "20,000", + ENTERPRISE_MONTHLY_INVOCATIONS: "100,000", + TEAM_MEMBER_LIMIT: "5", + PRO_MONTHLY_PRICE: "$19", + TEAM_MONTHLY_PRICE: "$19", + DEFAULT_WORKFLOW_QUEUE_SIZE: "100", + MAX_WORKFLOW_QUEUE_SIZE: "10,000", + NODE_VERSION: "14", + PYTHON_VERSION: "3.8", + CONFIGURED_PROPS_SIZE_LIMIT: "64KB", + SERVICE_DB_SIZE_LIMIT: "60KB", + TMP_SIZE_LIMIT: "512MB", +} diff --git a/docs/docs/.vuepress/configs/navConfig.js b/docs/docs/.vuepress/configs/navConfig.js new file mode 100644 index 0000000000000..75120614cdc25 --- /dev/null +++ b/docs/docs/.vuepress/configs/navConfig.js @@ -0,0 +1,51 @@ +module.exports = { + left: [ + { + text: "Documentation", + link: "/", + }, + { + text: "Quickstart", + link: "/quickstart/", + variant: "primary", + }, + { + text: "Reference", + items: [ + { text: "Building Components", link: "/components/" }, + { text: "REST API", link: "/api/" }, + { text: "Limits", link: "/limits/" }, + { text: "Security & Privacy", link: "/privacy-and-security/"} + ], + }, + ], + right: [ + { + text: "Support", + link: "/support/", + }, + { + text: "Pricing", + link: "/pricing/", + }, + { + text: "v2", + className: "docs-version", + ariaLabel: "Docs Version Menu", + items: [ + { + text: "v2", + link: "https://pipedream.com/docs-v2", + internal: true, + badge: "New", + badgeVariation: "primary", + }, + { + text: "v1", + internal: true, + link: "https://pipedream.com/docs", + }, + ], + }, + ] +}; diff --git a/docs/docs/.vuepress/configs/sidebarConfig.js b/docs/docs/.vuepress/configs/sidebarConfig.js new file mode 100644 index 0000000000000..dbff67bb4cbd0 --- /dev/null +++ b/docs/docs/.vuepress/configs/sidebarConfig.js @@ -0,0 +1,144 @@ +// NEW NAV + +const docsNav = [ + "/quickstart/", + { + title: "Workflows", + children: [ + "/workflows/", + "/workflows/steps/", + "/workflows/steps/triggers/", + "/workflows/events/", + "/workflows/events/inspect/", + "/workflows/events/test/", + "/components/actions/", + "/workflows/concurrency-and-throttling/", + "/workflows/settings/", + "/workflows/networking/", + "/migrate-from-v1/", + ], + }, + "/sources/", + "/connected-accounts/", + ["/data-stores/", "Data Stores"], + { + title: "Code", + children: [ + "/code/", + { + title: "Node.js", + type: "group", + children: [ + "/code/nodejs/", + "/code/nodejs/auth/", + "/code/nodejs/http-requests/", + "/code/nodejs/working-with-files/", + "/code/nodejs/using-data-stores/", + "/code/nodejs/async/", + "/environment-variables/", + ], + }, + "/code/python/", + "/code/go/", + { + title: "Bash", + type: "group", + children: ["/code/bash/", "/code/bash/http-requests/"], + }, + "/destinations/", + "/environment-variables/", + ], + }, + { + title: "Integrations", + type: "group", + children: [ + "/apps/all-apps/", + "/apps/discord/", + "/apps/hubspot/", + "/apps/servicenow/", + "/apps/slack/", + "/apps/strava/", + "/apps/twitter/", + "/apps/zoom/", + ], + }, + ['/troubleshooting/', 'Troubleshooting'], + ['/user-settings/', 'Settings'], + { + title: "Organizations", + children: ["/orgs/", "/orgs/sso/okta/"], + }, +]; + +const securityNav = [ + "/privacy-and-security/", + "/privacy-and-security/best-practices/", + "/abuse/", + "/privacy-and-security/pgp-key/", + "/subprocessors/", +]; + +const referenceNav = [ + { + title: "Components", + children: [ + "/components/", + "/components/quickstart/nodejs/actions/", + "/components/quickstart/nodejs/sources/", + "/components/api/", + "/components/guidelines/", + "/pipedream-axios/", + ], + }, + { + title: "CLI", + type: "group", + children: ["/cli/install/", "/cli/login/", "/cli/reference/"], + }, + { + title: "API", + type: "group", + children: [ + "/api/", + "/api/auth/", + "/api/rest/", + "/api/rest/webhooks/", + "/api/rest/rss/", + "/api/rest/workflow-errors/", + "/api/sse/", + "/scheduling-future-tasks/", + ], + }, + "/limits/", + "/privacy-and-security/" +]; + +const pricingNav = ["/pricing/"]; + +module.exports = { + "/components/": referenceNav, + "/components/quickstart/nodejs/actions/": referenceNav, + "/components/quickstart/nodejs/sources/": referenceNav, + "/components/api/": referenceNav, + "/components/guidelines/": referenceNav, + "/pipedream-axios/": referenceNav, + "/api/": referenceNav, + "/api/auth/": referenceNav, + "/api/rest/": referenceNav, + "/api/rest/webhooks/": referenceNav, + "/api/rest/rss/": referenceNav, + "/api/rest/workflow-errors/": referenceNav, + "/api/sse/": referenceNav, + "/scheduling-future-tasks/": referenceNav, + "/privacy-and-security/": securityNav, + "/subprocessors/": securityNav, + "/abuse/": securityNav, + "/pricing/": pricingNav, + "/limits/": referenceNav, + "/cli/install/": referenceNav, + "/cli/login/": referenceNav, + "/cli/reference/": referenceNav, + "/privacy-and-security/": referenceNav, + "/": docsNav, +}; diff --git a/docs/docs/.vuepress/configs/themeConfig.js b/docs/docs/.vuepress/configs/themeConfig.js new file mode 100644 index 0000000000000..3c984dd86d10f --- /dev/null +++ b/docs/docs/.vuepress/configs/themeConfig.js @@ -0,0 +1,55 @@ +const navConfig = require("./navConfig"); +const sidebarConfig = require("./sidebarConfig"); +const envVars = require("./envVars"); + +module.exports = { + algolia: { + appId: "XY28M447C5", + apiKey: "9d9169458128b3d60c22bb04da4431c7", + indexName: "pipedream", + algoliaOptions: { + facetFilters: ["version:latest"], + }, + }, + searchPlaceholder: "Search...", + logo: "https://res.cloudinary.com/pipedreamin/image/upload/t_logo48x48/v1597038956/docs/HzP2Yhq8_400x400_1_sqhs70.jpg", + repo: "PipedreamHQ/pipedream", + nav: navConfig, + + // if your docs are not at the root of the repo: + docsDir: "docs/docs", + editLinks: true, + // custom text for edit link. Defaults to "Edit this page" + editLinkText: "Improve this page", + sidebarDepth: 3, + sidebar: sidebarConfig, + // languages + icons: { + nodejs: { + only_icon: + "https://res.cloudinary.com/pipedreamin/image/upload/v1646761316/docs/icons/icons8-nodejs_aax6wn.svg", + with_title: + "https://res.cloudinary.com/pipedreamin/image/upload/v1646761316/docs/icons/icons8-nodejs_aax6wn.svg", + }, + python: { + only_icon: + "https://res.cloudinary.com/pipedreamin/image/upload/v1646763734/docs/icons/icons8-python_ypgmya.svg", + with_title: + "https://res.cloudinary.com/pipedreamin/image/upload/v1647356607/docs/icons/python-logo-generic_k3o5w2.svg", + }, + go: { + only_icon: + "https://res.cloudinary.com/pipedreamin/image/upload/v1646763751/docs/icons/Go-Logo_Blue_zhkchv.svg", + with_title: + "https://res.cloudinary.com/pipedreamin/image/upload/v1646763751/docs/icons/Go-Logo_Blue_zhkchv.svg", + }, + bash: { + only_icon: + "https://res.cloudinary.com/pipedreamin/image/upload/v1646763756/docs/icons/full_colored_dark_nllzkl.svg", + with_title: + "https://res.cloudinary.com/pipedreamin/image/upload/v1647356698/docs/icons/full_colored_dark_1_-svg_vyfnv7.svg", + }, + }, + // environment variables + ...envVars, +}; diff --git a/docs/docs/.vuepress/dist/.force-deploy b/docs/docs/.vuepress/dist/.force-deploy new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/docs/docs/.vuepress/dist/.gitignore b/docs/docs/.vuepress/dist/.gitignore new file mode 100644 index 0000000000000..15377446a8902 --- /dev/null +++ b/docs/docs/.vuepress/dist/.gitignore @@ -0,0 +1,3 @@ +* +!docs +!.force-deploy diff --git a/docs/docs/.vuepress/dist/docs/.force-deploy b/docs/docs/.vuepress/dist/docs/.force-deploy new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/docs/docs/.vuepress/styles/index.styl b/docs/docs/.vuepress/styles/index.styl index 5f7c51eac5e13..be01a48f6ce83 100644 --- a/docs/docs/.vuepress/styles/index.styl +++ b/docs/docs/.vuepress/styles/index.styl @@ -33,10 +33,6 @@ body .content .default @media (max-width: 719px) color $hoverColor -.theme-container .navbar img - height 22px - padding-top: 0.5em - div .sidebar-button svg color: $sidebarColor @@ -44,3 +40,11 @@ div .sidebar-button svg color $sidebarColor margin-left: -25px margin-top: 1px + +p { + display: block + margin-block-start: 1em + margin-block-end: 1em + margin-inline-start: 0px + margin-inline-end: 0px +} diff --git a/docs/docs/.vuepress/theme/components/DropdownLink.vue b/docs/docs/.vuepress/theme/components/DropdownLink.vue index 794cf6cac9243..4b659a1ffbf1e 100644 --- a/docs/docs/.vuepress/theme/components/DropdownLink.vue +++ b/docs/docs/.vuepress/theme/components/DropdownLink.vue @@ -1,8 +1,5 @@