From bc95774244b2ae713767bb5acf948c29edfd9a6c Mon Sep 17 00:00:00 2001 From: Dominic Klein Date: Sat, 3 Dec 2022 19:00:14 +0000 Subject: [PATCH] docs: internals documentation and restructuring (SWF-162) --- .changeset/nervous-deers-leave.md | 5 + apps/docs/.vitepress/config.ts | 7 +- .../.assets/framework-icons/github-white.png | Bin 0 -> 15400 bytes .../src/.assets/framework-icons/github.png | Bin 0 -> 15627 bytes .../docs/src/.assets/framework-icons/nuxt.png | Bin 0 -> 9512 bytes .../.assets/framework-icons/stackblitz.png | Bin 0 -> 8431 bytes .../src/.assets/framework-icons/tailwind.png | Bin 0 -> 9852 bytes .../.assets/framework-icons/typescript.png | Bin 0 -> 6967 bytes apps/docs/src/.assets/framework-icons/vue.png | Bin 0 -> 11881 bytes apps/docs/src/framework/api-defaults.md | 9 -- .../src/framework/asynchronous-components.md | 34 ------- apps/docs/src/framework/error-handling.md | 5 - apps/docs/src/framework/internal-structure.md | 93 ++++++++++++++++++ apps/docs/src/framework/requirements.md | 65 ++++++------ .../templates/blank-template.md | 2 +- .../templates/demo-store-template.md | 2 +- apps/docs/src/index.md | 12 ++- 17 files changed, 145 insertions(+), 89 deletions(-) create mode 100644 .changeset/nervous-deers-leave.md create mode 100644 apps/docs/src/.assets/framework-icons/github-white.png create mode 100644 apps/docs/src/.assets/framework-icons/github.png create mode 100644 apps/docs/src/.assets/framework-icons/nuxt.png create mode 100644 apps/docs/src/.assets/framework-icons/stackblitz.png create mode 100644 apps/docs/src/.assets/framework-icons/tailwind.png create mode 100644 apps/docs/src/.assets/framework-icons/typescript.png create mode 100644 apps/docs/src/.assets/framework-icons/vue.png delete mode 100644 apps/docs/src/framework/api-defaults.md delete mode 100644 apps/docs/src/framework/asynchronous-components.md delete mode 100644 apps/docs/src/framework/error-handling.md create mode 100644 apps/docs/src/framework/internal-structure.md diff --git a/.changeset/nervous-deers-leave.md b/.changeset/nervous-deers-leave.md new file mode 100644 index 000000000..08b3facbc --- /dev/null +++ b/.changeset/nervous-deers-leave.md @@ -0,0 +1,5 @@ +--- +"docs": patch +--- + +added internals documentation, removed some pages, restructured home page and added icons directory diff --git a/apps/docs/.vitepress/config.ts b/apps/docs/.vitepress/config.ts index 8d1e37182..176ca8614 100644 --- a/apps/docs/.vitepress/config.ts +++ b/apps/docs/.vitepress/config.ts @@ -32,15 +32,10 @@ export const sidebar = [ text: "FRAMEWORK", items: [ { text: "Requirements", link: "/framework/requirements" }, + { text: "Internal Structure", link: "/framework/internal-structure" }, { text: "Shopping Experiences", link: "/framework/shopping-experiences" }, { text: "Styling", link: "/framework/styling" }, { text: "Context Composables", link: "/framework/context-composables" }, - { - text: "Asynchronous Components", - link: "/framework/asynchronous-components", - }, - { text: "API Defaults", link: "/framework/api-defaults" }, - { text: "Error Handling", link: "/framework/error-handling" }, ], }, { diff --git a/apps/docs/src/.assets/framework-icons/github-white.png b/apps/docs/src/.assets/framework-icons/github-white.png new file mode 100644 index 0000000000000000000000000000000000000000..75de799550fa36ed4ff7c29eef37dd0af1a2aad4 GIT binary patch literal 15400 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 UY|_y*~s- zNHOQbfrd2Uvbad7;!c_gd@QsR&8nNN4zt{9yHwYn^YKE@=4+MAZvqmYv``5E%(168 zKf5}+ev%YQ*aDqkU7_RRREwm68)LvUu6W?tGd4!b|wFeD`94fxXK@X2XmI|6z#L61@h%T*3h-t0veG zoOIPw%rH~m*mySucItIlsIVjkec=hm?nh%qaX8l#uiHK>N&I|Y9z~UVw|)NhFHt@= zGk@p)NrulM_KYWIU41I4VvcBJAzYa*nT3BE5%4|bd*`FC=JDyMe!qxZLvL@9QOWhg zGoMQoCs7j5&>s3o!n>ZEr5vYDSLwGvu;r!jA7zQWha0oKV8>n+23tyer=<5$Hv3sXF8mTq;NcDqdn%HBPQ+p2FA2(y5lIL1TE?1XRsrkYalwtpKo z%YS*Q`7fAZs`wCQSMXJ(Ryc06m;2o2VgIMAzf&V4Bc}V*gx*wYYLl$x%r_1ib*(uW zNNV#i!>*-d*Ulp}@Ux*-!)HAK)X@9X`Fm#U-B70c@uwfDdmbLk91(y_22N@Zh)P*F} zQrq6w3*j-v#lP>W>$-PCbkws%t6}c;rj`~g)49O_J>f(03lEbh3(_AhOF{*dQl2MI zZ-Fj%d2Wz^D+I=(?=ap6SpJ6zA?a^WhPBpsqq%nr0xrBV8cg`s)Y;2}nbKjVkXhY# zG`7;rmYM=sFuPr|U3s@R%rLWVWN6r1+S4=G)c>frTSx%dc2B|A*EBHDydR|YzmFs+ zQ+<8vI-l%tTaB6K(!_u7qB^*NMw?FapAKJLV!vD)b&!kzm~w#%2(+xURFj1sUWRkY znv>eJHF!oB=KRX0@J?_g6|=bkkxYue3H`@ES%yGh^Y;DfyOur|MciNvA)bZpDj7DX zo`*6F{dyCj+r31{o7L*o^t3)cI#&!GZ>f&Q?k)RN>xrpH&7?#4pao3nxsL(txEUAXKb|Ma^d971eXc;_OhC=1Bq?}Y^h z6P1+Xz;O!{#9`cin7z;T$#i{vZY~p_*%A%F4MxKgvp!ZbQ_beb>pV+F;AVEZ{O7W_ z{g>^|rjNjz3f8;9b+4O=&EDdi9ndyM;jBq?40JjjCJo;w*j0V@fSutQX1yIcq+V-Iet46L9{WiL-2g&E#d)2GfFKF`~YgB0if?aYa9j5rzpk2%U zkcexTbhxJq8ns1G%5NC|ky_UxbZ`a}@)w?OMyR)5!CNmof;l|NfEpNJJY~-3-fu~! zkLoiPaNg#WA+$IY#YekMQg=QbBXLH2d)u9v?D9oKLHvIo!g!X_1#{lFT!=Ej9wq@O M$*X^;lQj?h9}~mgbpQYW literal 0 HcmV?d00001 diff --git a/apps/docs/src/.assets/framework-icons/nuxt.png b/apps/docs/src/.assets/framework-icons/nuxt.png new file mode 100644 index 0000000000000000000000000000000000000000..79187fcde2788d81078849fb40ad3b6adcf38a0e GIT binary patch literal 9512 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 H6!3ol%TF0V literal 0 HcmV?d00001 diff --git a/apps/docs/src/.assets/framework-icons/stackblitz.png b/apps/docs/src/.assets/framework-icons/stackblitz.png new file mode 100644 index 0000000000000000000000000000000000000000..3abe2b715be2dcd0bc4e9b81cced0248c8a89ce8 GIT binary patch literal 8431 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 RbZP(q002ovPDHLkV1jR)ASVC- literal 0 HcmV?d00001 diff --git a/apps/docs/src/.assets/framework-icons/tailwind.png b/apps/docs/src/.assets/framework-icons/tailwind.png new file mode 100644 index 0000000000000000000000000000000000000000..1014c847873d3d81634cfbce8f7679cec2cc008d GIT binary patch literal 9852 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 T`rX6F1E8X)`La&lGU9&#v{o3# literal 0 HcmV?d00001 diff --git a/apps/docs/src/.assets/framework-icons/vue.png b/apps/docs/src/.assets/framework-icons/vue.png new file mode 100644 index 0000000000000000000000000000000000000000..400e27b66744ece64844e8cd73ba9d15a889fdcf GIT binary patch literal 11881 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 - - - - - - -``` diff --git a/apps/docs/src/framework/error-handling.md b/apps/docs/src/framework/error-handling.md deleted file mode 100644 index b98964d97..000000000 --- a/apps/docs/src/framework/error-handling.md +++ /dev/null @@ -1,5 +0,0 @@ -# Error Handling - -::: warning Work in progress -This page is currently work in progress and will be updated soon. -::: diff --git a/apps/docs/src/framework/internal-structure.md b/apps/docs/src/framework/internal-structure.md new file mode 100644 index 000000000..3f4e035bb --- /dev/null +++ b/apps/docs/src/framework/internal-structure.md @@ -0,0 +1,93 @@ +--- +head: + - - meta + - name: og:title + content: Shopware Frontends Internal Structure + - - meta + - name: og:description + content: "Details about the internal structure of Shopware Frontends" + - - meta + - name: og:image + content: "https://frontends-og-image.vercel.app/Internal%20Structure?fontSize=150px" +--- + +# Internal Structure + +The internal structure of Shopware Frontends is designed to provide flexibility, reusability and abstraction. Shopware Frontends is a framework that is build with JavaScript and TypeScript. + +Some of its components are based on Vue.js and Nuxt.js. The framework is designed to be used mostly with Vue.js and Nuxt.js, but it is not limited to these technologies. You can use it with any other JavaScript framework or library. + +This section deals with the different packages and their abstractions. It is sorted by reusability / abstraction level from high to low and shows the main dependencies of each component respectively. + + + +## api-client + +
+ This package depends on Typescript +
+ +The API client provides a common interface to access the Shopware API. It can be used standalone in any JavaScript project. + +## types + +
+ This package depends on Typescript +
+ +The types package contains TypeScript types for all Shopware objects and API endpoints. + +## helpers + +
+ This package depends on Typescript +
+ +Helpers are functions that can be used for formatting, data manipulation and other stateless tasks within any JavaScript project. They are not tied to any other components. + +## composables + +
+ This package depends on Typescript + This package depends on Vue.js 3 +
+ +The composables are a set of Vue.js composition functions that can be used in any Vue.js project. They provide state management, UI logic and data fetching and are the base for all guides in our [building section](../getting-started/navigation.md). + +## vue3-plugin + +
+ This package depends on Typescript + This package depends on Vue.js 3 +
+ +The Vue 3 plugin allows you to set up a Vue 3 project with Shopware Frontends. It provides the [composables](#composables) and [api-client](#api-client) packages. + +## nuxt3-module + +
+ This package depends on Typescript + This package depends on Vue.js 3 + This package depends on Nuxt 3 +
+ +The Nuxt 3 module allows you to set up a Nuxt 3 project with Shopware Frontends. It provides the [composables](#composables) and [api-client](#api-client) packages. + +If you want to use these packages with a different Vue.js framework, see the guide for using Shopware Frontends in a [custom project](../getting-started/templates/custom-project.md) or use the [vue3-plugin](#vue3-plugin). + +## cms-base + +
+ This package depends on Typescript + This package depends on Vue.js 3 + This package depends on Nuxt 3 + This package depends on UnoCSS / Tailwind.css +
+ +The CMS base is a Nuxt module that provides an implementation of all CMS components in Shopware [based on utility-classes](./styling.md) using unocss/Tailwind.css syntax. It is useful for projects that want to use the CMS components but design their own layout. + +Head to our [Content Pages](../getting-started/content-pages.md#use-the-cms-base-package) guide to learn more. + +## Templates & Examples + +Our GitHub repository also contains reference implementations for different frameworks and use cases. You can find them in the [templates](https://github.com/shopware/frontends/tree/main/templates) and [examples](https://github.com/shopware/frontends/tree/main/examples) folders. These examples are not directly part of the framework, but can be useful for learning how to use Shopware Frontends. diff --git a/apps/docs/src/framework/requirements.md b/apps/docs/src/framework/requirements.md index 9d72e27b3..c550c7535 100644 --- a/apps/docs/src/framework/requirements.md +++ b/apps/docs/src/framework/requirements.md @@ -1,9 +1,44 @@ +--- +head: + - - meta + - name: og:title + content: Shopware Frontends Requirements + - - meta + - name: og:description + content: "Which Node.js version, package manager, IDE and extensions should you use to get started with Shopware Frontends?" + - - meta + - name: og:image + content: "https://frontends-og-image.vercel.app/Requirements?fontSize=150px" +--- + # Environment requirements -[[toc]] +Shopware Frontends requires a Node.js runtime environment. Besides that, for development you can use your favourite package manager. + +## Shopware API + +Shopware Frontends does not differ between provisioning of the Shopware API. Both, cloud and self-managed Shopware 6 instances are supported. + +Every development instance / setup template is pre-configured with a public demo API. That way you don't have to set up a Shopware instance yourself. + + + +## IDE + +For an ideal development experience, we recommend using [VSCode](https://code.visualstudio.com/download) with the following extensions + +- Vue Language Features (`Vue.volar`) +- Prettier - Code Formatter (`esbenp.prettier-vscode`) +- TS and JS Language Features (`vscode.typescript-language-features`) + +If you are using the `demo-store-template`, we also recommend the following extension + +- UnoCSS (`antfu.unocss`) ## Node.js +Shopware Frontends requires a Node.js runtime environment. + Supported versions: - **v16.x** LTS @@ -12,7 +47,7 @@ Supported versions: :::tip Use [Node Version Manager](https://github.com/nvm-sh/nvm) to manage a Node.js version locally. -_Supported_ signifies the framework is developed, run, and tested on mentioned versions. +"Supported" signifies the framework is developed, run, and tested on mentioned versions. ::: ## Package manager @@ -26,29 +61,3 @@ Supported managers: :::info `npm` package manager is available out of the box with Node.js installed. Other managers need manual installation. ::: - -## Examples - -### Installation - -```bash -pnpm i -# or -npm install -# or -yarn -``` - -### Run dev server - -```bash -pnpm dev -# or -npm run dev -# or -yarn dev -``` - -:::info -Other available commands (like `build`) are available in `scripts` section of `package.json` file. -::: diff --git a/apps/docs/src/getting-started/templates/blank-template.md b/apps/docs/src/getting-started/templates/blank-template.md index f00e140f8..53cd87029 100644 --- a/apps/docs/src/getting-started/templates/blank-template.md +++ b/apps/docs/src/getting-started/templates/blank-template.md @@ -6,7 +6,7 @@ The blank template contains no UI or markup - it's just a blank Nuxt3 applicatio ## Setup & run - + Alternatively, set up the blank template manually by running the following commands in a new directory: diff --git a/apps/docs/src/getting-started/templates/demo-store-template.md b/apps/docs/src/getting-started/templates/demo-store-template.md index 6b6a513cc..e704c5006 100644 --- a/apps/docs/src/getting-started/templates/demo-store-template.md +++ b/apps/docs/src/getting-started/templates/demo-store-template.md @@ -10,7 +10,7 @@ The **Demo Store Template** is not suitable for production stores. It is under c ## Setup & run - + Alternatively, set up the blank template manually by running the following commands in a new directory: diff --git a/apps/docs/src/index.md b/apps/docs/src/index.md index 9ff396d7f..c04625fad 100644 --- a/apps/docs/src/index.md +++ b/apps/docs/src/index.md @@ -6,9 +6,13 @@ +
+ Shopware Frontends is Shopware's Vue.js framework for building custom storefronts. - + + +
## How it works @@ -26,7 +30,7 @@ A big part (and a risk factor) of every custom storefront project is the impleme - Routing - Shopping worlds (Shopware CMS) integration -- Translation handling +- Product searches and filters - Price formatting - Authentication & state handling @@ -36,6 +40,4 @@ It also comes with TypeScript support. You can decide to start from scratch and use no template at all, but we recommend looking at our [Templates](./getting-started/templates.md) which are based on **Nuxt.js** and **Tailwind CSS**. ---- - - +