diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js
index d7efe31dd..d6d6fc1f7 100755
--- a/docs/.vuepress/config.js
+++ b/docs/.vuepress/config.js
@@ -93,18 +93,6 @@ module.exports = {
['/installation-setup/configure-integration', 'Configuring Vue Storefront'],
],
},
- {
- title: 'Getting started',
- collapsable: true,
- children: [
- ['/getting-started/introduction', 'Introduction'],
- ['/getting-started/project-structure', 'Project structure'],
- ['/getting-started/configuration', 'Configuration'],
- ['/getting-started/layouts-and-routing', 'Layouts and Routing'],
- ['/getting-started/theme', 'Theme'],
- ['/getting-started/internationalization', 'Internationalization'],
- ],
- },
{
title: 'Composition',
collapsable: true,
@@ -164,6 +152,18 @@ module.exports = {
['/improvements/analytics/', 'Analytics'],
],
},
+ {
+ title: 'Learn Vue Storefront',
+ collapsable: true,
+ children: [
+ ['https://docs.vuestorefront.io/v2/getting-started/introduction.html', 'What is Vue Storefront?'],
+ ['https://docs.vuestorefront.io/v2/getting-started/project-structure.html', 'Project structure'],
+ ['https://docs.vuestorefront.io/v2/getting-started/configuration.html', 'Configuration'],
+ ['https://docs.vuestorefront.io/v2/getting-started/layouts-and-routing.html', 'Layouts and Routing'],
+ ['https://docs.vuestorefront.io/v2/getting-started/theme.html', 'Theme'],
+ ['https://docs.vuestorefront.io/v2/getting-started/internationalization.html', 'Internationalization'],
+ ],
+ },
],
},
};
diff --git a/docs/getting-started/configuration.md b/docs/getting-started/configuration.md
deleted file mode 100644
index ca16eb327..000000000
--- a/docs/getting-started/configuration.md
+++ /dev/null
@@ -1,108 +0,0 @@
-# Configuration
-
-Whenever starting a new project or jumping into an existing one, you should look into the configuration files first. They control almost every aspect of the application, including installed integrations.
-
-## Mandatory configuration files
-
-Every Vue Storefront project must contain two configuration files described below. They control both client and server parts of the application.
-
-### `nuxt.config.js`
-
-**The `nuxt.config.js` file is the starting point of every project.** It contains general configuration, including routes, global middlewares, internationalization, or build information. This file also registers modules and plugins to add or extend framework features. Because almost every Vue Storefront integration has a module or plugin, you can identify which integrations are used by looking at this file.
-
-You can learn more about this file and available configuration options on the [Nuxt configuration file](https://nuxtjs.org/docs/directory-structure/nuxt-config/) page.
-
-### `middleware.config.js`
-
-The `middleware.config.js` file is as essential as `nuxt.config.js`, but much simpler and likely smaller. It configures the Server Middleware used for communication with e-commerce platforms and contains sensitive credentials, custom endpoints, queries, etc.
-
-### `.env`
-
-The `.env` file contains environmental variables used in both `nuxt.config.js` and `middleware.config.js` files for configuration that differs per environment. New projects come with a `.env.example` that you can rename (or clone) to the `.env` file and configure.
-
-## Optional configuration files
-
-Your project might include some additional configuration files not described above. Let's walk through the most common ones.
-
-- [`tsconfig.json`](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) configures compiler used to strongly type the project using TypeScript language. It defines a list of files and directories to be included and excluded from analysis and compiling.
-
-- [`babel.config.js`](https://babeljs.io/docs/en/config-files) configures Babel compiler used to make the code backward compatible with older browsers and environments.
-
-- [`ecosystem.config.js`](https://pm2.keymetrics.io/docs/usage/application-declaration/) configures PM2 Process Management that runs and manages Node application.
-
-- [`jest.config.js`](https://jestjs.io/docs/configuration) configures Jest testing framework, used for writing and running unit tests.
-
-## Magento Configuration
-
-In some cases Magento doesn't provide configuration values by GraphQL API. Then we recommend to set up a configuration
-fields and values in the `middleware.config.js` file. Example:
-
-```javascript
-customer: {
- customer_create_account_confirm: true
-}
-```
-
-### How to set a config flag in the middleware.config.js
-When you want to set a new flag, you need to:
-1. declare field in the `integrations.magento` object:
-```javascript
-module.exports = {
- integrations: {
- magento: {
- // (...) other fields
- foo: { // your new area of config
- your_new_config_value: true // your new flag
- }
- }
- }
-}
-```
-2. Get a new field in the `nuxt.config.js` file from the middleware config:
-```javascript
-import middleware from './middleware.config';
-
-const {
- integrations: {
- magento: {
- configuration: {
- cookies,
- externalCheckout,
- // (...) other fields
- foo // your new object
- },
- },
- },
-} = middleware;
-```
-3. Pass the new field to the `'~/modules/magento'` module configuration:
-```javascript
-['~/modules/magento', {
- cookies,
- externalCheckout,
- // (...) other fields
- foo // your new object
-}],
-```
-4. Now you can get the value of your config object in a composable/compoonent like this:
-```javascript
-import { useContext } from '@nuxtjs/composition-api';
-// (...)
-const { app } = useContext();
-const { foo } = app.context.$vsf.$magento.config; // here you go
-```
-
-#### Predefined Magento config fields
-##### Customer
-`customer_create_account_confirm` - it correspond to the Magento **Require Emails Confirmation** config flag:
-
-**Magento config:** `Stores -> Configuration -> Customers -> Customers configuration -> Require Emails Confirmation`
-**Possible values:** `boolean`
-
-**Consequences:**
-- when is set to true, then email confirmation is required after customer registration.
-- when is set to false, user can register and then is immediately logged-in as a customer.
-
-## What's next
-
-As the next step, we will learn about [Layouts and Routing](./layouts-and-routing.html) and show what routes come predefined in every Vue Storefront project and how to register custom ones.
diff --git a/docs/getting-started/internationalization.md b/docs/getting-started/internationalization.md
deleted file mode 100644
index 97a6638d5..000000000
--- a/docs/getting-started/internationalization.md
+++ /dev/null
@@ -1,158 +0,0 @@
-# Internationalization
-
-If you're building a shop for an international brand, you likely want it translated to different languages and using different currencies. In this document, you will learn how we're approaching internationalization in Vue Storefront and how to configure your application to use it.
-
-::: warning i18n is not multi-tenancy!
-This document only explains how to make a single shop instance available for multiple countries. If you need to build a system for multiple tenants, we suggest creating an instance of Vue Storefront for each tenant and sharing common resources through an NPM package.
-:::
-
-## How it works by default?
-
-By default, we are using the [`nuxt-i18n`](https://i18n.nuxtjs.org/) module for handling both translations and currencies. It's preinstalled in the [default theme](/getting-started/theme.html#what-s-makes-a-default-theme) and is configured for English and German translations out of the box.
-
-The `nuxt-i18n` module adds the `$t('key')` and `$n(number)` helpers to translate strings and format the currencies.
-
-You can find the translation keys in the `lang` directory of your project and configuration for currencies in `nuxt.config.js`.
-
-::: tip
-Even though the module is included in the default theme, it's not required. You can [disable it](#configuring-modules-separately) and handle internationalization yourself.
-:::
-
-To provide a unified way to configure internationalization across the application for different modules and integrations, we have introduced the `i18n` field in each module's configuration. It has the same format as the `nuxt-i18n` options. You can add any configuration there, and it will be propagated to all other Vue Storefront modules.
-
-All Vue Storefront integrations have the `useNuxtI18nConfig` property set to `true`. It means that they will use the same configuration as you provided for `nuxt-i18n` in the `i18n` field of your `nuxt.config.js`.
-
-```js
-// nuxt.config.js
-
-export default {
- buildModules: [
- [
- '@vue-storefront/{INTEGRATION}/nuxt',
- {
- // other comfiguration options
- i18n: {
- useNuxtI18nConfig: true,
- },
- },
- ],
- ],
- i18n: {
- locales: [
- {
- code: 'en',
- label: 'English',
- file: 'en.js',
- iso: 'en',
- },
- {
- code: 'de',
- label: 'German',
- file: 'de.js',
- iso: 'de',
- },
- ],
- defaultLocale: 'en',
- },
-};
-```
-
-## Configuring modules separately
-
-You can provide your own i18n configuration for a specific module by setting `useNuxtI18nConfig` to `false`.
-
-```js
-// nuxt.config.js
-
-export default {
- [
- '@vue-storefront/{INTEGRATION}/nuxt',
- {
- i18n: {
- useNuxtI18nConfig: false,
- locales: [
- {
- code: 'en',
- label: 'English',
- file: 'en.js',
- iso: 'en',
- },
- {
- code: 'de',
- label: 'German',
- file: 'de.js',
- iso: 'de',
- },
- ],
- defaultLocale: 'en'
- }
- }
- ];
-}
-```
-
-## CDN and cookies
-
-The server's response cannot contain the `Set-Cookie` header to make CDNs cache the website correctly.
-
-To achieve that, we've made our own mechanism for handling cookies responsible for storing `locale`, `currency`, and `country`. This mechanism also handles language detection and redirecting to the proper locale. For this reason, `@nuxtjs/i18n` language detection is disabled by default.
-
-```js
-// nuxt.config.js
-export default {
- i18n: {
- detectBrowserLanguage: false,
- },
-};
-```
-
-If you don't want to redirect users, you can disable this mechanism, as described in the section below.
-
-## Disabling the auto-redirect mechanism
-
-The `@vue-storefront/nuxt` module includes an auto-redirect mechanism that performs a server-side redirect to different URLs based on the target locale.
-
-You can disable this by setting `autoRedirectByLocale` to `false` in the `i18n` configuration object.
-
-```js
-// nuxt.config.js
-
-export default {
- i18n: {
- autoRedirectByLocale: false,
- },
-};
-```
-
-## Currency detection
-
-In addition to language detection, we also set currency based on locale. You can configure it in `nuxt.config.js` with the `vueI18n.numberFormats` property.
-
-For more configuration options of `numberFormats` entries, check the [Intl.NumberFormat()](https://developer.mozilla.org/en-US/docs/web/javascript/reference/global_objects/intl/numberformat) documentation.
-
-```js
-// nuxt.config.js
-
-export default {
- i18n: {
- vueI18n: {
- numberFormats: {
- en: {
- currency: {
- style: 'currency',
- currency: 'USD',
- currencyDisplay: 'symbol',
- },
- },
- // ...other locales
- },
- },
- },
-};
-```
-
-**Please note that only one currency can be set for each locale.**
-
-If this is a limitation for you, or if you don't want to have currencies tied to locales, you can disable this mechanism and provide your own.
-
-To disable it, set `autoChangeCookie.currency` to `false` as described in the section below.
diff --git a/docs/getting-started/introduction.md b/docs/getting-started/introduction.md
deleted file mode 100644
index bad4cc914..000000000
--- a/docs/getting-started/introduction.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# Introduction to Vue Storefront
-
-Without a proper understanding of the framework you're using, you might spend weeks or even months doing something that someone else has already done. That's why before we can dive deep into the project itself, we need to understand what powers it all under the hood.
-
-
-
-## It's all Nuxt.js
-
-We didn't want to reinvent the wheel and introduce yet another framework that solves the same issues as its predecessors, which took them years to mature. That's why...
-
-> Vue Storefront is essentially a [Nuxt.js](https://nuxtjs.org/) project with some plugins and modules preinstalled, as well as a ready-to-use e-commerce theme. Nuxt.js handles most of the front-end work and [Server Side Rendering](https://nuxtjs.org/docs/concepts/server-side-rendering/), while Vue Storefront adds the e-commerce specific bits and integrations to various platforms.
-
-Some of the plugins and modules that come with the fresh installation were created by the Nuxt.js community, and others come from our core team specifically for Vue Storefront projects.
-
-The default theme mainly consists of components from the [Storefront UI](http://storefrontui.io/) — an e-commerce focused UI library maintained by the Vue Storefront team.
-
-We described plugins, modules, and the theme in more detail on the following pages.
-
-### But why?
-
-You might be wondering why we choose Nuxt.js as our foundation. After all, it wasn't created with e-commerce in mind.
-
-When you start using any new framework, you expect it to:
-
-- have **plugins that solve common issues**, such as analytics, SEO, internationalization, etc.,
-- be **versatile and flexible** enough to allow extending it and creating custom integrations,
-- have **active and diverse community**, which answers questions, writes articles, and promotes the framework.
-
-Creating such an ecosystem from scratch takes years. But because we based Vue Storefront on Nuxt.js — the biggest Vue.js framework — it ticks all the boxes. Nuxt.js has a vast library of [ready-to-use modules](https://modules.nuxtjs.org/) and an active community of thousands of developers on the [Nuxt.js Discord server](https://discord.com/invite/ps2h6QT). It's also flexible enough to make it e-commerce ready with just a few plugins and modules.
-
-> Combining general-purpose modules from Nuxt.js and e-commerce specific modules from Vue Storefront significantly shortens the time-to-market. It allows you to focus on what's specific to your project.
-
-## Start with Vue.js
-
-If you are new to the Vue.js ecosystem, the best place to start learning is the [Vue.js 2 documentation](https://v2.vuejs.org/). **In our documentation, we assume prior knowledge of Vue.js (with some exceptions)**. While we do our best to explain each topic in detail, a lack of this knowledge might cause you to get lost.
-
-We also encourage reading [Nuxt.js 2 documentation](https://nuxtjs.org/docs/). In most places, we don't assume this knowledge and add links to related documents, but having it will make you more confident and let you work faster and more efficiently.
-
-## What's next
-
-Now that you understand what Vue Storefront is, go to the [Installation](./installation.html) guide to set up a project.
diff --git a/docs/getting-started/layouts-and-routing.md b/docs/getting-started/layouts-and-routing.md
deleted file mode 100644
index a4515ba4e..000000000
--- a/docs/getting-started/layouts-and-routing.md
+++ /dev/null
@@ -1,145 +0,0 @@
-# Layouts and Routing
-
-Layouts and Routing in Vue Storefront are entirely powered by Nuxt.js. We will only give a brief overview of these features on this page, but you can learn more on the [Views](https://nuxtjs.org/docs/concepts/views/) page in the Nuxt.js documentation.
-
-## View hierarchy
-
-Every page consists of layers — some layers are shared between many routes, others are used in one specific route. We described each layer in detail in the sections below.
-
-### HTML document
-
-At the root of the hierarchy is the HTML document. By default, the framework provides one, but you can customize it by creating an `app.html` file in the root directory of your project. It has special tags used to insert parts of the documents, and by default, looks like this:
-
-```html
-
-
-