From 73c0f4357aa3732ddc9cdc0a1843184f3336cb55 Mon Sep 17 00:00:00 2001 From: Joshua Pease Date: Fri, 22 Dec 2023 14:20:57 -0800 Subject: [PATCH] [#72] Readme updates --- docs/parts-kit.md | 54 +++++++++++++++++++++++-------- docs/resources/parts-kit-nav.png | Bin 12124 -> 19414 bytes 2 files changed, 40 insertions(+), 14 deletions(-) diff --git a/docs/parts-kit.md b/docs/parts-kit.md index 2df3cd6..1de97e8 100644 --- a/docs/parts-kit.md +++ b/docs/parts-kit.md @@ -8,28 +8,36 @@ nav_order: 4 A [Storybook](https://storybook.js.org/)-esque parts kit framework comes bundled with this module. It automatically generates a navigation and layout to make creating a parts kit very low effort. +The UI for this parts kit is a JavaScript app that is decoupled from the `craft-viget-base` repo. It can work with any CMS or application platform. + +See: [Viget Parts Kit UI](https://github.com/vigetlabs/parts-kit) + ## Setup -Inside of your `templates` directory, create a `parts-kit` directory. The module will automatically read all subdirectories and files and generate a navigation. +Inside your `templates` directory, create a `parts-kit` directory. The module will automatically read all subdirectories and files and generate a navigation. -**Note: This only supports one level of subdirectories.** +**Note: This supports an infinite level of subdirectories, but typically 1 - 3 is enough.** ### Example Directory Structure ``` |-- templates |-- parts-kit - |-- button - |-- blue.html - |-- default.html - |-- cta - |-- dark.html - |-- default.html + |-- tokens + |-- colors.twig + |-- spacing.twig + |-- components + |-- button + |-- blue.twig + |-- default.twig + |-- card + |-- default.twig + |-- wide.twig ``` This would generate the following navigation: -Parts Kit Navigation +![Example of parts kit navigation](resources/parts-kit-nav.png) ### Component Files @@ -47,15 +55,33 @@ Your parts kit files will need to use the layout that comes with this module: This layout extends from the `_layouts/app` file that lives in your `templates` directory. This also makes the assumption that the block being used in your layout is named `content` +### Hiding your header & footer in the parts. + +If you configure the parts kit to use your project's default layout file, you'll typically end up with a header & footer in all of your parts kit pages. + +To hide the header and footer, you can use the following service method to check if your on a parts kit page. + +```twig +{% if not craft.viget.partsKit.isRequest %} + {# Include your header or footer #} +{% endif %} +``` + +Another option is to store your scripts and styles in their own partial. + +You can then create a separate "Parts Kit" layout that only includes a basic html boilerplate and your projects scripts & styles. + +The customization section shows how to configure a different parts kit layout file. + ## Customization You can override the following values via the same config file used for all base module features: `/config/viget.php`. These settings should be nested under a `partsKit` key. -| Key | Default | Description | -|:------------|:---------------|:-----------------------------------------| -| `directory` | `parts-kit` | Directory of your parts kit | -| `layout` | `_layouts/app` | Your layout that should be extended from | -| `volume` | `partsKit` | Craft Asset volume for sample images | +| Key | Default | Description | +|:------------|:---------------|:------------------------------------------------------------------------------------------| +| `directory` | `parts-kit` | Directory of your parts kit | +| `layout` | `_layouts/app` | Your projects primary layout. It should contain the styles and JavaScript for your parts. | +| `volume` | `partsKit` | Craft Asset volume for sample images | ### Example diff --git a/docs/resources/parts-kit-nav.png b/docs/resources/parts-kit-nav.png index 2932fe6b51a4c8f44ae2245416f5ab4d80839dca..d3830d2934709e2555b6c7e6ee88191335d608f4 100644 GIT binary patch literal 19414 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 QZwufT=o{kG=)F7hUlgmessI20 literal 12124 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