workarea 3.4.16 → 3.4.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +81 -0
- metadata +10 -579
- data/docs/Gemfile +0 -8
- data/docs/Gemfile.lock +0 -130
- data/docs/bin/middleman +0 -29
- data/docs/config.rb +0 -87
- data/docs/config.ru +0 -7
- data/docs/data/articles.yml +0 -157
- data/docs/package.json +0 -15
- data/docs/source/404.html.erb +0 -13
- data/docs/source/articles/access-routes-in-javascript.html.md +0 -33
- data/docs/source/articles/add-a-content-area.html.md +0 -169
- data/docs/source/articles/add-a-content-block-type.html.md +0 -334
- data/docs/source/articles/add-a-report.html.md +0 -202
- data/docs/source/articles/add-css-through-the-admin-ui.html.md +0 -30
- data/docs/source/articles/add-javascript-through-a-manifest.html.md +0 -367
- data/docs/source/articles/add-javascript-through-a-view.html.md +0 -80
- data/docs/source/articles/add-javascript-through-the-admin-ui.html.md +0 -30
- data/docs/source/articles/add-metrics.html.md +0 -58
- data/docs/source/articles/add-or-replace-a-pricing-calculator.html.md +0 -150
- data/docs/source/articles/add-remove-or-change-a-mongoid-validation.html.md +0 -147
- data/docs/source/articles/add-remove-or-change-a-product-template.html.md +0 -142
- data/docs/source/articles/add-remove-sort-and-group-storefront-search-filters.html.md +0 -483
- data/docs/source/articles/add-stylesheets-through-a-manifest.html.md +0 -276
- data/docs/source/articles/add-system-content.html.md +0 -138
- data/docs/source/articles/analytics-overview.html.md +0 -51
- data/docs/source/articles/analyze-storefront-search-results.html.md +0 -261
- data/docs/source/articles/api-overview.html.md +0 -35
- data/docs/source/articles/appending.html.md +0 -506
- data/docs/source/articles/application-document.html.md +0 -88
- data/docs/source/articles/automated-javascript-testing.html.md +0 -162
- data/docs/source/articles/b2b-overview.html.md +0 -64
- data/docs/source/articles/browser-and-device-support.html.md +0 -47
- data/docs/source/articles/change-product-placeholder-image.html.md +0 -39
- data/docs/source/articles/change-storefront-search-results.html.md +0 -283
- data/docs/source/articles/change-the-storefront-product-pricing-ui.html.md +0 -348
- data/docs/source/articles/change-the-storefront-search-filters-ui.html.md +0 -103
- data/docs/source/articles/checkout.html.md +0 -479
- data/docs/source/articles/commerce-model.html.md +0 -164
- data/docs/source/articles/configuration-for-hosting.html.md +0 -106
- data/docs/source/articles/configuration.html.md +0 -406
- data/docs/source/articles/configure-a-payment-gateway.html.md +0 -58
- data/docs/source/articles/configure-asset-storage.html.md +0 -29
- data/docs/source/articles/configure-asset-types.html.md +0 -18
- data/docs/source/articles/configure-contact-form-subjects-list.html.md +0 -24
- data/docs/source/articles/configure-imageoptim.html.md +0 -23
- data/docs/source/articles/configure-locales.html.md +0 -45
- data/docs/source/articles/configure-logins-and-authentication.html.md +0 -42
- data/docs/source/articles/configure-low-inventory-threshold.html.md +0 -26
- data/docs/source/articles/configure-product-image-sizes-and-processing.html.md +0 -28
- data/docs/source/articles/content.html.md +0 -554
- data/docs/source/articles/contentable.html.md +0 -41
- data/docs/source/articles/contribute-code.html.md +0 -69
- data/docs/source/articles/contribute-documentation.html.md +0 -60
- data/docs/source/articles/create-a-custom-discount.html.md +0 -234
- data/docs/source/articles/create-a-new-app.html.md +0 -131
- data/docs/source/articles/create-a-plugin.html.md +0 -19
- data/docs/source/articles/create-a-style-guide.html.md +0 -71
- data/docs/source/articles/create-a-theme.html.md +0 -134
- data/docs/source/articles/css-architectural-overview.html.md +0 -89
- data/docs/source/articles/customize-a-helper.html.md +0 -91
- data/docs/source/articles/decoration.html.md +0 -415
- data/docs/source/articles/define-and-configure-inventory-policies.html.md +0 -107
- data/docs/source/articles/documentation-style-guide.html.md +0 -48
- data/docs/source/articles/documentation.html.md +0 -54
- data/docs/source/articles/domain-modeling.html.md +0 -82
- data/docs/source/articles/error-pages.html.md.erb +0 -95
- data/docs/source/articles/extension-overview.html.md +0 -152
- data/docs/source/articles/favicon-support.html.md +0 -112
- data/docs/source/articles/feature-spec-helper-stylesheet.html.md +0 -25
- data/docs/source/articles/featurejs-and-feature-spec-helper.html.md +0 -20
- data/docs/source/articles/help-and-support.html.md +0 -34
- data/docs/source/articles/html-fragment-caching.html.md +0 -46
- data/docs/source/articles/http-caching.html.md +0 -43
- data/docs/source/articles/i18n.html.md +0 -35
- data/docs/source/articles/images-flow.html.md +0 -10
- data/docs/source/articles/index-storefront-search-documents.html.md +0 -104
- data/docs/source/articles/infrastructure.html.md +0 -46
- data/docs/source/articles/installing.html.md +0 -61
- data/docs/source/articles/integrate-a-payment-gateway.html.md +0 -124
- data/docs/source/articles/integrate-a-web-analytics-provider.html.md +0 -35
- data/docs/source/articles/integrate-an-inventory-management-system.html.md +0 -88
- data/docs/source/articles/integrating-with-other-software.html.md +0 -59
- data/docs/source/articles/inventory.html.md +0 -352
- data/docs/source/articles/javascript-coding-standards.html.md +0 -30
- data/docs/source/articles/javascript-modules.html.md +0 -174
- data/docs/source/articles/javascript-overview.html.md +0 -62
- data/docs/source/articles/javascript-reference-documentation.html.md +0 -51
- data/docs/source/articles/javascript-templates.html.md +0 -52
- data/docs/source/articles/low-level-caching.html.md +0 -25
- data/docs/source/articles/maintain-a-plugin.html.md +0 -12
- data/docs/source/articles/maintenance-policy.html.md +0 -79
- data/docs/source/articles/navigable.html.md +0 -51
- data/docs/source/articles/navigating-the-code.html.md +0 -149
- data/docs/source/articles/navigation.html.md +0 -386
- data/docs/source/articles/order-life-cycle.html.md +0 -546
- data/docs/source/articles/order-pricing.html.md +0 -389
- data/docs/source/articles/orders-and-items.html.md +0 -210
- data/docs/source/articles/orders.html.md +0 -66
- data/docs/source/articles/overriding.html.md +0 -155
- data/docs/source/articles/overview.html.md +0 -43
- data/docs/source/articles/plugins-overview.html.md +0 -12
- data/docs/source/articles/prerequisites-and-dependencies.html.md +0 -202
- data/docs/source/articles/products.html.md.erb +0 -1270
- data/docs/source/articles/progressive-web-application-support.html.md +0 -148
- data/docs/source/articles/rails-asset-manifests.html.md +0 -33
- data/docs/source/articles/rails-asset-view-helpers.html.md +0 -25
- data/docs/source/articles/reading-data.html.md +0 -10
- data/docs/source/articles/releasable.html.md +0 -37
- data/docs/source/articles/report-a-bug.html.md +0 -75
- data/docs/source/articles/ruby-coding-standards.html.md +0 -10
- data/docs/source/articles/run-sidekiq-in-a-local-environment.html.md +0 -40
- data/docs/source/articles/searching.html.md +0 -1005
- data/docs/source/articles/security-policy.html.md +0 -42
- data/docs/source/articles/seeds.html.md +0 -345
- data/docs/source/articles/shipping.html.md +0 -756
- data/docs/source/articles/sort-and-exclude-product-options.html.md +0 -47
- data/docs/source/articles/storefront-search-features.html.md +0 -568
- data/docs/source/articles/storefront-searches.html.md +0 -126
- data/docs/source/articles/style-guides.html.md +0 -21
- data/docs/source/articles/stylesheet-coding-standards.html.md +0 -24
- data/docs/source/articles/stylesheets-overview.html.md +0 -67
- data/docs/source/articles/swappable-list-data-structure.html.md +0 -81
- data/docs/source/articles/system-emails.html.md +0 -102
- data/docs/source/articles/taggable.html.md +0 -8
- data/docs/source/articles/test-a-credit-card-transaction.html.md +0 -16
- data/docs/source/articles/test-if-a-plugin-is-installed.html.md +0 -34
- data/docs/source/articles/testing.html.md +0 -914
- data/docs/source/articles/themes-overview.html.md +0 -155
- data/docs/source/articles/translate-administrable-content.html.md +0 -14
- data/docs/source/articles/translate-javascript-content.html.md +0 -16
- data/docs/source/articles/translate-or-customize-message-content.html.md +0 -29
- data/docs/source/articles/translate-or-customize-static-content.html.md +0 -30
- data/docs/source/articles/use-an-existing-workarea-app.html.md +0 -108
- data/docs/source/articles/view-models.html.md +0 -509
- data/docs/source/articles/views.html.md +0 -14
- data/docs/source/articles/workers.html.md +0 -613
- data/docs/source/articles/writing-data.html.md +0 -10
- data/docs/source/cli.html.md +0 -163
- data/docs/source/favicon.ico +0 -0
- data/docs/source/images/3-variants-1-option.png +0 -0
- data/docs/source/images/3-variants-3-options.png +0 -0
- data/docs/source/images/3-years-primary-image.png +0 -0
- data/docs/source/images/404-storefront-error-page.png +0 -0
- data/docs/source/images/404-system-content-admin.png +0 -0
- data/docs/source/images/404.jpg +0 -0
- data/docs/source/images/5-years-primary-image.png +0 -0
- data/docs/source/images/activity-dashboard.png +0 -0
- data/docs/source/images/activity-for-object.png +0 -0
- data/docs/source/images/activity-ui.png +0 -0
- data/docs/source/images/adding-captioned-image-block-custom-icon.png +0 -0
- data/docs/source/images/adding-captioned-image-block-default-icon.png +0 -0
- data/docs/source/images/admin-alerts-ui.png +0 -0
- data/docs/source/images/admin-category-range-filters.png +0 -0
- data/docs/source/images/admin-for-3-column-hero.png +0 -0
- data/docs/source/images/admin-help-index.png +0 -0
- data/docs/source/images/admin-help-ui.png +0 -0
- data/docs/source/images/admin-javascript.png +0 -0
- data/docs/source/images/admin-notification-for-deactivated-discount.png +0 -0
- data/docs/source/images/admin-notifications-ui.png +0 -0
- data/docs/source/images/admin-product-show-page.png +0 -0
- data/docs/source/images/admin-products-index-page.png +0 -0
- data/docs/source/images/admin-range-filters.png +0 -0
- data/docs/source/images/admin-style-guides-navigation.png +0 -0
- data/docs/source/images/after-re-seeding.png +0 -0
- data/docs/source/images/after-seeding-localhost-3000.png +0 -0
- data/docs/source/images/after-seeding.png +0 -0
- data/docs/source/images/arrow.svg +0 -1
- data/docs/source/images/arrow_white.svg +0 -1
- data/docs/source/images/aws-resource-map.png +0 -0
- data/docs/source/images/backordered-until-output-on-inventory-sku-card.png +0 -0
- data/docs/source/images/before-seeding-localhost-3000.png +0 -0
- data/docs/source/images/before-seeding.png +0 -0
- data/docs/source/images/browsing-workarea-versions-on-the-web.png +0 -0
- data/docs/source/images/bulk-asset-upload-on-assets-index-page.png +0 -0
- data/docs/source/images/bulk-asset-upload-while-editing-content.png +0 -0
- data/docs/source/images/bundle-show-workarea-core.png +0 -0
- data/docs/source/images/bundle-show-workarea.png +0 -0
- data/docs/source/images/calendar-for-backordered-until-field.png +0 -0
- data/docs/source/images/captioned-image-block-in-storefront.png +0 -0
- data/docs/source/images/captioned-image-content-block-storefront-component-style-guide.png +0 -0
- data/docs/source/images/cart-system-content-in-admin.png +0 -0
- data/docs/source/images/cart-system-content-in-storefront.png +0 -0
- data/docs/source/images/checkout-addresses-guest.png +0 -0
- data/docs/source/images/checkout-addresses-user.png +0 -0
- data/docs/source/images/checkout-confirmation.png +0 -0
- data/docs/source/images/checkout-flow-0.png +0 -0
- data/docs/source/images/checkout-flow-1.png +0 -0
- data/docs/source/images/checkout-flow-2.png +0 -0
- data/docs/source/images/checkout-flow-3.png +0 -0
- data/docs/source/images/checkout-flow-4.png +0 -0
- data/docs/source/images/checkout-payment-guest.png +0 -0
- data/docs/source/images/checkout-payment-user.png +0 -0
- data/docs/source/images/checkout-shipping.png +0 -0
- data/docs/source/images/color-picker-component-admin-style-guide.png +0 -0
- data/docs/source/images/color-picker-component-on-content-editing-screen.png +0 -0
- data/docs/source/images/commerce-model-carts-orders.png +0 -0
- data/docs/source/images/commerce-model-order-pricing.png +0 -0
- data/docs/source/images/commerce-model.png +0 -0
- data/docs/source/images/configuring-an-index-pattern-in-kibana.png +0 -0
- data/docs/source/images/content-block-presets.png +0 -0
- data/docs/source/images/content-search-customization.png +0 -0
- data/docs/source/images/country-with-region-data-in-address-form.png +0 -0
- data/docs/source/images/country-without-region-data-in-address-form.png +0 -0
- data/docs/source/images/create-content-block-preset-ui.png +0 -0
- data/docs/source/images/credit-card-icons.png +0 -0
- data/docs/source/images/css-added-through-admin.png +0 -0
- data/docs/source/images/css-admin-ui.png +0 -0
- data/docs/source/images/current-configuration-shown-in-admin-settings.png +0 -0
- data/docs/source/images/customer-impersonation-in-admin.png +0 -0
- data/docs/source/images/customer-impersonation-in-store-front.png +0 -0
- data/docs/source/images/date-filter-same-day.png +0 -0
- data/docs/source/images/developer-toolbar-in-store-front.png +0 -0
- data/docs/source/images/discounts-sorted-by-most-redeemed.png +0 -0
- data/docs/source/images/edit-help-article.png +0 -0
- data/docs/source/images/editing-content-for-search-customization.png +0 -0
- data/docs/source/images/editing-dynamic-captioned-image-block.png +0 -0
- data/docs/source/images/editing-product-fields-in-the-admin.png +0 -0
- data/docs/source/images/editing-search-system-content.png +0 -0
- data/docs/source/images/editing-static-captioned-image-block-custom-icon.png +0 -0
- data/docs/source/images/editing-static-captioned-image-block-default-icon.png +0 -0
- data/docs/source/images/external.svg +0 -1
- data/docs/source/images/favicon_16.png +0 -0
- data/docs/source/images/favicon_180.png +0 -0
- data/docs/source/images/favicon_32.png +0 -0
- data/docs/source/images/filters-all.png +0 -0
- data/docs/source/images/filters-control.png +0 -0
- data/docs/source/images/filters-custom.png +0 -0
- data/docs/source/images/filters-groups.png +0 -0
- data/docs/source/images/filters-material.png +0 -0
- data/docs/source/images/filters-omitted.png +0 -0
- data/docs/source/images/filters-pinned.png +0 -0
- data/docs/source/images/filters-range.png +0 -0
- data/docs/source/images/filters-sorted.png +0 -0
- data/docs/source/images/filters-wrapping-to-second-line-in-admin.png +0 -0
- data/docs/source/images/generic-product-template-images-no-options-selected.png +0 -0
- data/docs/source/images/generic-product-template-images-options-selected.png +0 -0
- data/docs/source/images/generic-template.png +0 -0
- data/docs/source/images/hosting.svg +0 -1
- data/docs/source/images/image-group-content-block-in-storefront.png +0 -0
- data/docs/source/images/images.svg +0 -1
- data/docs/source/images/import-export-screenshot.png +0 -0
- data/docs/source/images/invalid-display.png +0 -0
- data/docs/source/images/itcss.png +0 -0
- data/docs/source/images/kibana-dev-tools-console.png +0 -0
- data/docs/source/images/layout-content-admin-with-2-areas.png +0 -0
- data/docs/source/images/layout-content-admin-with-3-areas.png +0 -0
- data/docs/source/images/link-to-search-system-content.png +0 -0
- data/docs/source/images/logo.svg +0 -1
- data/docs/source/images/menu.svg +0 -2
- data/docs/source/images/mongo-replica-set.svg +0 -1
- data/docs/source/images/multi-column-hero-blocks.png +0 -0
- data/docs/source/images/option-selects-product-template-images-options-selected.png +0 -0
- data/docs/source/images/option-selects-template.png +0 -0
- data/docs/source/images/option-thumbnails-template.png +0 -0
- data/docs/source/images/order-item-total-price-diagram.png +0 -0
- data/docs/source/images/order-pricing-cart-example.png +0 -0
- data/docs/source/images/order-pricing-example-adjustments.png +0 -0
- data/docs/source/images/order-pricing-example-totals.png +0 -0
- data/docs/source/images/order-pricing-placed-order-example.png +0 -0
- data/docs/source/images/order-shipping-total-diagram.png +0 -0
- data/docs/source/images/order-show-with-multiple-tenders.png +0 -0
- data/docs/source/images/order-subtotal-price-diagram.png +0 -0
- data/docs/source/images/order-tax-total-diagram.png +0 -0
- data/docs/source/images/order-total-price-diagram.png +0 -0
- data/docs/source/images/order-total-value-diagram.png +0 -0
- data/docs/source/images/orders-dashboard-links.png +0 -0
- data/docs/source/images/oval.svg +0 -1
- data/docs/source/images/payment-icon-storefront-style-guide.png +0 -0
- data/docs/source/images/people-dashboard-links.png +0 -0
- data/docs/source/images/price-adjustments-diagram.png +0 -0
- data/docs/source/images/price-display-no-options.png +0 -0
- data/docs/source/images/price-display-options-selected.png +0 -0
- data/docs/source/images/pricing-calculators-diagram.png +0 -0
- data/docs/source/images/product-list-content-block-admin.png +0 -0
- data/docs/source/images/product-list-content-block-in-store-front.png +0 -0
- data/docs/source/images/promo-products-excluded-autocomplete-results-after.png +0 -0
- data/docs/source/images/promo-products-excluded-featured-category-results-after.png +0 -0
- data/docs/source/images/promo-products-excluded-recommendations-results-after.png +0 -0
- data/docs/source/images/promo-products-excluded-search-category-results-after.png +0 -0
- data/docs/source/images/promo-products-excluded-search-results-after.png +0 -0
- data/docs/source/images/promo-products-included-autocomplete-results-before.png +0 -0
- data/docs/source/images/promo-products-included-featured-category-results-before.png +0 -0
- data/docs/source/images/promo-products-included-recommendations-results-before.png +0 -0
- data/docs/source/images/promo-products-included-search-category-results-before.png +0 -0
- data/docs/source/images/promo-products-included-search-results-before.png +0 -0
- data/docs/source/images/rails-version-constraint.png +0 -0
- data/docs/source/images/re-enable-discount.png +0 -0
- data/docs/source/images/reading-data.svg +0 -1
- data/docs/source/images/readme-hero.png +0 -0
- data/docs/source/images/redesigned-customized-sort-for-search-results.png +0 -0
- data/docs/source/images/reviews-summary-above-share-buttons.png +0 -0
- data/docs/source/images/reviews-summary-below-product-name.png +0 -0
- data/docs/source/images/reviews-summary-below-share-buttons.png +0 -0
- data/docs/source/images/reviews-summary-removed.png +0 -0
- data/docs/source/images/rsa-fingerprint-for-stash.png +0 -0
- data/docs/source/images/ruby-version-constraint.png +0 -0
- data/docs/source/images/script-tag-added-through-admin.png +0 -0
- data/docs/source/images/search-analysis-admin-alternate-rendering.png +0 -0
- data/docs/source/images/search-analysis-admin.png +0 -0
- data/docs/source/images/search-quality-report.png +0 -0
- data/docs/source/images/search.svg +0 -1
- data/docs/source/images/searching-for-cart-system-content-in-admin.png +0 -0
- data/docs/source/images/searching-for-layout-system-content-in-admin.png +0 -0
- data/docs/source/images/seeded-admin.png +0 -0
- data/docs/source/images/seeds-from-plugins.png +0 -0
- data/docs/source/images/seo-metadata-automation-ui.png +0 -0
- data/docs/source/images/show-password-button.png +0 -0
- data/docs/source/images/storefront-autocomplete.png +0 -0
- data/docs/source/images/storefront-category-summary-content-block.png +0 -0
- data/docs/source/images/storefront-category.png +0 -0
- data/docs/source/images/storefront-product-after-overriding.png +0 -0
- data/docs/source/images/storefront-product-before-overriding.png +0 -0
- data/docs/source/images/storefront-product-browse-page.png +0 -0
- data/docs/source/images/storefront-product-recommendations.png +0 -0
- data/docs/source/images/storefront-product-show-page.png +0 -0
- data/docs/source/images/storefront-requests-and-search-requests.png +0 -0
- data/docs/source/images/storefront-search-request-handling.png +0 -0
- data/docs/source/images/storefront-search-response-creation.png +0 -0
- data/docs/source/images/storefront-search.png +0 -0
- data/docs/source/images/storefront-style-guides-navigation.png +0 -0
- data/docs/source/images/styles.css +0 -3
- data/docs/source/images/tax-categories-ui.png +0 -0
- data/docs/source/images/tax-rates-ui.png +0 -0
- data/docs/source/images/unpurchasable-product.png +0 -0
- data/docs/source/images/url-redirects-filtering.png +0 -0
- data/docs/source/images/utility-nav-area-in-admin.png +0 -0
- data/docs/source/images/utility-nav-area-in-storefront.png +0 -0
- data/docs/source/images/validation-message-in-storefront.png +0 -0
- data/docs/source/images/view-model-interface.png +0 -0
- data/docs/source/images/viewing-workarea-version-in-source.png +0 -0
- data/docs/source/images/workarea.svg +0 -1
- data/docs/source/images/worst-performing-searches-on-results-customization-page.png +0 -0
- data/docs/source/images/writing-data.svg +0 -1
- data/docs/source/index.html.erb +0 -166
- data/docs/source/javascripts/jquery.js +0 -2
- data/docs/source/javascripts/lunr.js +0 -7
- data/docs/source/javascripts/site.js +0 -299
- data/docs/source/javascripts/vendor/highlight.pack.js +0 -2
- data/docs/source/layouts/article.erb +0 -106
- data/docs/source/layouts/bare.erb +0 -46
- data/docs/source/layouts/layout.erb +0 -43
- data/docs/source/release-notes/workarea-3-0-0.html.md +0 -146
- data/docs/source/release-notes/workarea-3-0-1.html.md +0 -161
- data/docs/source/release-notes/workarea-3-0-10.html.md +0 -39
- data/docs/source/release-notes/workarea-3-0-11.html.md +0 -277
- data/docs/source/release-notes/workarea-3-0-12.html.md +0 -14
- data/docs/source/release-notes/workarea-3-0-13.html.md +0 -153
- data/docs/source/release-notes/workarea-3-0-14.html.md +0 -93
- data/docs/source/release-notes/workarea-3-0-15.html.md +0 -107
- data/docs/source/release-notes/workarea-3-0-16.html.md +0 -36
- data/docs/source/release-notes/workarea-3-0-17.html.md +0 -141
- data/docs/source/release-notes/workarea-3-0-18.html.md +0 -123
- data/docs/source/release-notes/workarea-3-0-19.html.md +0 -160
- data/docs/source/release-notes/workarea-3-0-2.html.md +0 -222
- data/docs/source/release-notes/workarea-3-0-20.html.md +0 -95
- data/docs/source/release-notes/workarea-3-0-21.html.md +0 -168
- data/docs/source/release-notes/workarea-3-0-22.html.md +0 -268
- data/docs/source/release-notes/workarea-3-0-23.html.md +0 -173
- data/docs/source/release-notes/workarea-3-0-24.html.md +0 -19
- data/docs/source/release-notes/workarea-3-0-25.html.md +0 -26
- data/docs/source/release-notes/workarea-3-0-26.html.md +0 -199
- data/docs/source/release-notes/workarea-3-0-27.html.md +0 -113
- data/docs/source/release-notes/workarea-3-0-28.html.md +0 -39
- data/docs/source/release-notes/workarea-3-0-29.html.md +0 -73
- data/docs/source/release-notes/workarea-3-0-3.html.md +0 -35
- data/docs/source/release-notes/workarea-3-0-30.html.md +0 -186
- data/docs/source/release-notes/workarea-3-0-31.html.md +0 -125
- data/docs/source/release-notes/workarea-3-0-32.html.md +0 -73
- data/docs/source/release-notes/workarea-3-0-33.html.md +0 -137
- data/docs/source/release-notes/workarea-3-0-34.html.md +0 -203
- data/docs/source/release-notes/workarea-3-0-35.html.md +0 -205
- data/docs/source/release-notes/workarea-3-0-36.html.md +0 -105
- data/docs/source/release-notes/workarea-3-0-37.html.md +0 -144
- data/docs/source/release-notes/workarea-3-0-38.html.md +0 -73
- data/docs/source/release-notes/workarea-3-0-39.html.md +0 -77
- data/docs/source/release-notes/workarea-3-0-4.html.md +0 -14
- data/docs/source/release-notes/workarea-3-0-40.html.md +0 -130
- data/docs/source/release-notes/workarea-3-0-41.html.md +0 -70
- data/docs/source/release-notes/workarea-3-0-42.html.md +0 -52
- data/docs/source/release-notes/workarea-3-0-43.html.md +0 -72
- data/docs/source/release-notes/workarea-3-0-44.html.md +0 -93
- data/docs/source/release-notes/workarea-3-0-45.html.md +0 -61
- data/docs/source/release-notes/workarea-3-0-46.html.md +0 -171
- data/docs/source/release-notes/workarea-3-0-47.html.md +0 -130
- data/docs/source/release-notes/workarea-3-0-48.html.md +0 -160
- data/docs/source/release-notes/workarea-3-0-49.html.md +0 -28
- data/docs/source/release-notes/workarea-3-0-5.html.md +0 -225
- data/docs/source/release-notes/workarea-3-0-50.html.md +0 -74
- data/docs/source/release-notes/workarea-3-0-51.html.md +0 -61
- data/docs/source/release-notes/workarea-3-0-52.html.md +0 -76
- data/docs/source/release-notes/workarea-3-0-53.html.md +0 -126
- data/docs/source/release-notes/workarea-3-0-54.html.md +0 -112
- data/docs/source/release-notes/workarea-3-0-55.html.md +0 -105
- data/docs/source/release-notes/workarea-3-0-56.html.md +0 -56
- data/docs/source/release-notes/workarea-3-0-57.html.md +0 -82
- data/docs/source/release-notes/workarea-3-0-58.html.md +0 -153
- data/docs/source/release-notes/workarea-3-0-59.html.md +0 -78
- data/docs/source/release-notes/workarea-3-0-6.html.md +0 -165
- data/docs/source/release-notes/workarea-3-0-60.html.md +0 -43
- data/docs/source/release-notes/workarea-3-0-61.html.md +0 -46
- data/docs/source/release-notes/workarea-3-0-62.html.md +0 -23
- data/docs/source/release-notes/workarea-3-0-63.html.md +0 -25
- data/docs/source/release-notes/workarea-3-0-64.html.md +0 -25
- data/docs/source/release-notes/workarea-3-0-65.html.md +0 -37
- data/docs/source/release-notes/workarea-3-0-7.html.md +0 -207
- data/docs/source/release-notes/workarea-3-0-8.html.md +0 -337
- data/docs/source/release-notes/workarea-3-0-9.html.md +0 -196
- data/docs/source/release-notes/workarea-3-1-0.html.md +0 -414
- data/docs/source/release-notes/workarea-3-1-1.html.md +0 -139
- data/docs/source/release-notes/workarea-3-1-10.html.md +0 -19
- data/docs/source/release-notes/workarea-3-1-11.html.md +0 -27
- data/docs/source/release-notes/workarea-3-1-12.html.md +0 -216
- data/docs/source/release-notes/workarea-3-1-13.html.md +0 -113
- data/docs/source/release-notes/workarea-3-1-14.html.md +0 -39
- data/docs/source/release-notes/workarea-3-1-15.html.md +0 -107
- data/docs/source/release-notes/workarea-3-1-16.html.md +0 -188
- data/docs/source/release-notes/workarea-3-1-17.html.md +0 -141
- data/docs/source/release-notes/workarea-3-1-18.html.md +0 -73
- data/docs/source/release-notes/workarea-3-1-19.html.md +0 -137
- data/docs/source/release-notes/workarea-3-1-2.html.md +0 -55
- data/docs/source/release-notes/workarea-3-1-20.html.md +0 -203
- data/docs/source/release-notes/workarea-3-1-21.html.md +0 -205
- data/docs/source/release-notes/workarea-3-1-22.html.md +0 -121
- data/docs/source/release-notes/workarea-3-1-23.html.md +0 -144
- data/docs/source/release-notes/workarea-3-1-24.html.md +0 -94
- data/docs/source/release-notes/workarea-3-1-25.html.md +0 -77
- data/docs/source/release-notes/workarea-3-1-26.html.md +0 -130
- data/docs/source/release-notes/workarea-3-1-27.html.md +0 -70
- data/docs/source/release-notes/workarea-3-1-28.html.md +0 -52
- data/docs/source/release-notes/workarea-3-1-29.html.md +0 -44
- data/docs/source/release-notes/workarea-3-1-3.html.md +0 -185
- data/docs/source/release-notes/workarea-3-1-30.html.md +0 -72
- data/docs/source/release-notes/workarea-3-1-31.html.md +0 -93
- data/docs/source/release-notes/workarea-3-1-32.html.md +0 -61
- data/docs/source/release-notes/workarea-3-1-33.html.md +0 -171
- data/docs/source/release-notes/workarea-3-1-34.html.md +0 -130
- data/docs/source/release-notes/workarea-3-1-35.html.md +0 -179
- data/docs/source/release-notes/workarea-3-1-36.html.md +0 -28
- data/docs/source/release-notes/workarea-3-1-37.html.md +0 -74
- data/docs/source/release-notes/workarea-3-1-38.html.md +0 -61
- data/docs/source/release-notes/workarea-3-1-39.html.md +0 -96
- data/docs/source/release-notes/workarea-3-1-4.html.md +0 -148
- data/docs/source/release-notes/workarea-3-1-40.html.md +0 -126
- data/docs/source/release-notes/workarea-3-1-41.html.md +0 -128
- data/docs/source/release-notes/workarea-3-1-42.html.md +0 -105
- data/docs/source/release-notes/workarea-3-1-43.html.md +0 -37
- data/docs/source/release-notes/workarea-3-1-44.html.md +0 -82
- data/docs/source/release-notes/workarea-3-1-45.html.md +0 -153
- data/docs/source/release-notes/workarea-3-1-46.html.md +0 -91
- data/docs/source/release-notes/workarea-3-1-47.html.md +0 -65
- data/docs/source/release-notes/workarea-3-1-48.html.md +0 -46
- data/docs/source/release-notes/workarea-3-1-49.html.md +0 -23
- data/docs/source/release-notes/workarea-3-1-5.html.md +0 -169
- data/docs/source/release-notes/workarea-3-1-50.html.md +0 -42
- data/docs/source/release-notes/workarea-3-1-51.html.md +0 -25
- data/docs/source/release-notes/workarea-3-1-52.html.md +0 -57
- data/docs/source/release-notes/workarea-3-1-6.html.md +0 -117
- data/docs/source/release-notes/workarea-3-1-7.html.md +0 -176
- data/docs/source/release-notes/workarea-3-1-8.html.md +0 -283
- data/docs/source/release-notes/workarea-3-1-9.html.md +0 -212
- data/docs/source/release-notes/workarea-3-2-0.html.md +0 -1705
- data/docs/source/release-notes/workarea-3-2-1.html.md +0 -216
- data/docs/source/release-notes/workarea-3-2-10.html.md +0 -237
- data/docs/source/release-notes/workarea-3-2-11.html.md +0 -121
- data/docs/source/release-notes/workarea-3-2-12.html.md +0 -145
- data/docs/source/release-notes/workarea-3-2-13.html.md +0 -138
- data/docs/source/release-notes/workarea-3-2-14.html.md +0 -77
- data/docs/source/release-notes/workarea-3-2-15.html.md +0 -130
- data/docs/source/release-notes/workarea-3-2-16.html.md +0 -111
- data/docs/source/release-notes/workarea-3-2-17.html.md +0 -52
- data/docs/source/release-notes/workarea-3-2-18.html.md +0 -44
- data/docs/source/release-notes/workarea-3-2-19.html.md +0 -72
- data/docs/source/release-notes/workarea-3-2-2.html.md +0 -145
- data/docs/source/release-notes/workarea-3-2-20.html.md +0 -93
- data/docs/source/release-notes/workarea-3-2-21.html.md +0 -61
- data/docs/source/release-notes/workarea-3-2-22.html.md +0 -154
- data/docs/source/release-notes/workarea-3-2-23.html.md +0 -130
- data/docs/source/release-notes/workarea-3-2-24.html.md +0 -200
- data/docs/source/release-notes/workarea-3-2-25.html.md +0 -28
- data/docs/source/release-notes/workarea-3-2-26.html.md +0 -94
- data/docs/source/release-notes/workarea-3-2-27.html.md +0 -61
- data/docs/source/release-notes/workarea-3-2-28.html.md +0 -96
- data/docs/source/release-notes/workarea-3-2-29.html.md +0 -126
- data/docs/source/release-notes/workarea-3-2-30.html.md +0 -112
- data/docs/source/release-notes/workarea-3-2-31.html.md +0 -105
- data/docs/source/release-notes/workarea-3-2-32.html.md +0 -56
- data/docs/source/release-notes/workarea-3-2-33.html.md +0 -82
- data/docs/source/release-notes/workarea-3-2-34.html.md +0 -153
- data/docs/source/release-notes/workarea-3-2-35.html.md +0 -91
- data/docs/source/release-notes/workarea-3-2-36.html.md +0 -118
- data/docs/source/release-notes/workarea-3-2-37.html.md +0 -46
- data/docs/source/release-notes/workarea-3-2-38.html.md +0 -23
- data/docs/source/release-notes/workarea-3-2-39.html.md +0 -42
- data/docs/source/release-notes/workarea-3-2-4.html.md +0 -109
- data/docs/source/release-notes/workarea-3-2-40.html.md +0 -25
- data/docs/source/release-notes/workarea-3-2-41.html.md +0 -90
- data/docs/source/release-notes/workarea-3-2-5.html.md +0 -186
- data/docs/source/release-notes/workarea-3-2-6.html.md +0 -173
- data/docs/source/release-notes/workarea-3-2-7.html.md +0 -89
- data/docs/source/release-notes/workarea-3-2-8.html.md +0 -137
- data/docs/source/release-notes/workarea-3-2-9.html.md +0 -219
- data/docs/source/release-notes/workarea-3-3-0.html.md +0 -1272
- data/docs/source/release-notes/workarea-3-3-1.html.md +0 -324
- data/docs/source/release-notes/workarea-3-3-10.html.md +0 -69
- data/docs/source/release-notes/workarea-3-3-11.html.md +0 -72
- data/docs/source/release-notes/workarea-3-3-12.html.md +0 -136
- data/docs/source/release-notes/workarea-3-3-13.html.md +0 -61
- data/docs/source/release-notes/workarea-3-3-14.html.md +0 -196
- data/docs/source/release-notes/workarea-3-3-15.html.md +0 -167
- data/docs/source/release-notes/workarea-3-3-16.html.md +0 -234
- data/docs/source/release-notes/workarea-3-3-17.html.md +0 -82
- data/docs/source/release-notes/workarea-3-3-18.html.md +0 -165
- data/docs/source/release-notes/workarea-3-3-19.html.md +0 -106
- data/docs/source/release-notes/workarea-3-3-2.html.md +0 -72
- data/docs/source/release-notes/workarea-3-3-20.html.md +0 -116
- data/docs/source/release-notes/workarea-3-3-21.html.md +0 -228
- data/docs/source/release-notes/workarea-3-3-22.html.md +0 -125
- data/docs/source/release-notes/workarea-3-3-23.html.md +0 -154
- data/docs/source/release-notes/workarea-3-3-24.html.md +0 -70
- data/docs/source/release-notes/workarea-3-3-25.html.md +0 -114
- data/docs/source/release-notes/workarea-3-3-26.html.md +0 -260
- data/docs/source/release-notes/workarea-3-3-27.html.md +0 -138
- data/docs/source/release-notes/workarea-3-3-28.html.md +0 -147
- data/docs/source/release-notes/workarea-3-3-29.html.md +0 -63
- data/docs/source/release-notes/workarea-3-3-3.html.md +0 -153
- data/docs/source/release-notes/workarea-3-3-30.html.md +0 -102
- data/docs/source/release-notes/workarea-3-3-31.html.md +0 -57
- data/docs/source/release-notes/workarea-3-3-32.html.md +0 -44
- data/docs/source/release-notes/workarea-3-3-33.html.md +0 -114
- data/docs/source/release-notes/workarea-3-3-34.html.md +0 -29
- data/docs/source/release-notes/workarea-3-3-4.html.md +0 -332
- data/docs/source/release-notes/workarea-3-3-5.html.md +0 -242
- data/docs/source/release-notes/workarea-3-3-6.html.md +0 -100
- data/docs/source/release-notes/workarea-3-3-7.html.md +0 -148
- data/docs/source/release-notes/workarea-3-3-8.html.md +0 -163
- data/docs/source/release-notes/workarea-3-3-9.html.md +0 -93
- data/docs/source/release-notes/workarea-3-4-0.html.md +0 -580
- data/docs/source/release-notes/workarea-3-4-1.html.md +0 -150
- data/docs/source/release-notes/workarea-3-4-10.html.md +0 -72
- data/docs/source/release-notes/workarea-3-4-11.html.md +0 -60
- data/docs/source/release-notes/workarea-3-4-12.html.md +0 -155
- data/docs/source/release-notes/workarea-3-4-15.html.md +0 -100
- data/docs/source/release-notes/workarea-3-4-16.html.md +0 -88
- data/docs/source/release-notes/workarea-3-4-2.html.md +0 -188
- data/docs/source/release-notes/workarea-3-4-3.html.md +0 -136
- data/docs/source/release-notes/workarea-3-4-4.html.md +0 -114
- data/docs/source/release-notes/workarea-3-4-5.html.md +0 -275
- data/docs/source/release-notes/workarea-3-4-6.html.md +0 -169
- data/docs/source/release-notes/workarea-3-4-7.html.md +0 -162
- data/docs/source/release-notes/workarea-3-4-8.html.md +0 -95
- data/docs/source/release-notes/workarea-3-4-9.html.md +0 -135
- data/docs/source/release-notes.html.md +0 -261
- data/docs/source/search.html.erb +0 -34
- data/docs/source/shared/_header.erb +0 -61
- data/docs/source/shared/_svgs.erb +0 -17
- data/docs/source/style_guide/index.html.erb +0 -382
- data/docs/source/stylesheets/_base.scss +0 -125
- data/docs/source/stylesheets/_components.scss +0 -669
- data/docs/source/stylesheets/_helpers.scss +0 -10
- data/docs/source/stylesheets/_opinions.scss +0 -42
- data/docs/source/stylesheets/_settings.scss +0 -56
- data/docs/source/stylesheets/_typography.scss +0 -119
- data/docs/source/stylesheets/site.css.scss +0 -14
- data/docs/source/stylesheets/vendor/_avalanche.scss +0 -328
- data/docs/source/stylesheets/vendor/_normalize.scss +0 -341
- data/docs/source/stylesheets/vendor/highlight/_tomorrow_night_blue.scss +0 -75
- data/docs/source/upgrade-guides/workarea-3-4-0.html.md +0 -152
- data/docs/source/upgrade-guides.html.md +0 -18
- data/docs/workarea_renderer.rb +0 -8
- data/docs/yarn.lock +0 -2522
@@ -1,276 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: Add Stylesheets through a Manifest
|
3
|
-
excerpt: Stylesheet manifests are the preferred solution for adding stylesheets to and removing stylesheets from a Workarea application. The Workarea Admin and Storefront each include a single manifest named 'application', which is introduced in the Stylesheet
|
4
|
-
---
|
5
|
-
|
6
|
-
# Add Stylesheets through a Manifest
|
7
|
-
|
8
|
-
Stylesheet manifests are the preferred solution for adding stylesheets to and removing stylesheets from a Workarea application. The Workarea Admin and Storefront each include a single manifest named 'application', which is introduced in the [Stylesheets overview](stylesheets-overview.html). This guide covers the manifest in detail.
|
9
|
-
|
10
|
-
If you're new to Ruby on Rails and the concept of asset manifests, check out the following guides to get you started.
|
11
|
-
|
12
|
-
- [Rails Asset Manifests](rails-asset-manifests.html)
|
13
|
-
- [Rails Asset View Helpers](rails-asset-view-helpers.html)
|
14
|
-
|
15
|
-
## Customizing a Manifest
|
16
|
-
|
17
|
-
To add and remove stylesheets through a manifest, you need to have a copy of the manifest in your app. If you're working in a new application, start by [overriding](overriding.html) the manifest file you want to customize. You can override a manifest in the same way as any other stylesheet. When overriding, note that the manifest file ends with the extensions `.scss.erb`. I'll explain the reason for that in the following sections which look at the application manifest in detail.
|
18
|
-
|
19
|
-
Now that you have a copy of the manifest in your app, edit it to taste. The follow sections explain how Workarea manifests differ from default Rails manifests and what is included out of the box.
|
20
|
-
|
21
|
-
## Application Manifest
|
22
|
-
|
23
|
-
The application manifest contains a mixture of Sass `@import` statements and ERB blocks, hence the need for the `.erb` file extension mentioned above. The manifest is designed as as such to support the Workarea plugin system and to load some assets conditionally, as you'll see shortly. "Zoomed out", it looks something like this:
|
24
|
-
|
25
|
-
workarea-storefront/app/assets/stylesheets/workarea/storefront/application.scss.erb:
|
26
|
-
|
27
|
-
```
|
28
|
-
<%= "@import 'workarea/core/feature_test_helper';" if Rails.env.test? %>
|
29
|
-
<%= append_stylesheets('storefront.feature_test_helpers') %>
|
30
|
-
|
31
|
-
<%= append_stylesheets('storefront.theme_config') %>
|
32
|
-
|
33
|
-
@import // settings
|
34
|
-
<%= append_stylesheets('storefront.settings') %>
|
35
|
-
|
36
|
-
@import // tools
|
37
|
-
<%= append_stylesheets('storefront.tools') %>
|
38
|
-
|
39
|
-
@import // generic
|
40
|
-
<%= append_stylesheets('storefront.generic') %>
|
41
|
-
|
42
|
-
@import // base
|
43
|
-
<%= append_stylesheets('storefront.base') %>
|
44
|
-
|
45
|
-
@import // objects
|
46
|
-
<%= append_stylesheets('storefront.objects') %>
|
47
|
-
|
48
|
-
@import // typography
|
49
|
-
<%= append_stylesheets('storefront.typography') %>
|
50
|
-
|
51
|
-
@import // dependencies
|
52
|
-
<%= append_stylesheets('storefront.dependencies') %>
|
53
|
-
|
54
|
-
@import // components
|
55
|
-
<%= append_stylesheets('storefront.components') %>
|
56
|
-
|
57
|
-
<%= append_stylesheets('storefront.theme') %>
|
58
|
-
|
59
|
-
@import // trumps
|
60
|
-
<%= append_stylesheets('storefront.trumps') %>
|
61
|
-
```
|
62
|
-
|
63
|
-
Now let's zoom in on each of the manifest sections.
|
64
|
-
|
65
|
-
### Feature Test Helper
|
66
|
-
|
67
|
-
```
|
68
|
-
<%= "@import 'workarea/core/feature_test_helper';" if Rails.env.test? %>
|
69
|
-
<%= append_stylesheets('storefront.feature_test_helpers') %>
|
70
|
-
```
|
71
|
-
|
72
|
-
The [feature test helper](feature-spec-helper-stylesheet.html) includes styles that make automated testing easier. Plugins are also able to add their own feature test helpers as needed.
|
73
|
-
|
74
|
-
### Theme Config
|
75
|
-
|
76
|
-
The [Theme Config Layer](css-architectural-overview.html#the-theme-config-layer) is used by Theme Plugins to reset any Sass variable declared within the Storefront.
|
77
|
-
|
78
|
-
```
|
79
|
-
<%= append_stylesheets('storefront.theme_config') %>
|
80
|
-
```
|
81
|
-
|
82
|
-
### Settings
|
83
|
-
|
84
|
-
The [Settings Layer](css-architectural-overview.html#the-settings-layer) contains globally available Sass variables that any other layer may make use of.
|
85
|
-
|
86
|
-
```
|
87
|
-
@import 'workarea/storefront/settings/colors';
|
88
|
-
@import 'workarea/storefront/settings/typography';
|
89
|
-
@import 'workarea/storefront/settings/breakpoints';
|
90
|
-
@import 'workarea/storefront/settings/global';
|
91
|
-
@import 'workarea/storefront/settings/grid';
|
92
|
-
@import 'workarea/storefront/settings/z_indexes';
|
93
|
-
<%= append_stylesheets('storefront.settings') %>
|
94
|
-
```
|
95
|
-
|
96
|
-
### Tools
|
97
|
-
|
98
|
-
The [Tools Layer](css-architectural-overview.html#the-tools-layer) contains globally available, configurable Sass functions and mixins that any of the following layers may make use of.
|
99
|
-
|
100
|
-
```
|
101
|
-
@import 'workarea/storefront/tools/center';
|
102
|
-
@import 'workarea/storefront/tools/focus_ring';
|
103
|
-
@import 'workarea/storefront/tools/respond_to';
|
104
|
-
@import 'workarea/storefront/tools/svg';
|
105
|
-
<%= append_stylesheets('storefront.tools') %>
|
106
|
-
```
|
107
|
-
|
108
|
-
### Generic
|
109
|
-
|
110
|
-
The [Generic Layer](css-architectural-overview.html#the-generic-layer) contains the Normalize library, a Workarea-focused global Normalize reset file, and other top-level stylings.
|
111
|
-
|
112
|
-
```
|
113
|
-
@import 'normalize-rails';
|
114
|
-
@import 'workarea/storefront/generic/reset';
|
115
|
-
@import 'workarea/storefront/generic/box_sizing';
|
116
|
-
@import 'workarea/storefront/generic/fonts';
|
117
|
-
<%= append_stylesheets('storefront.generic') %>
|
118
|
-
```
|
119
|
-
|
120
|
-
### Base
|
121
|
-
|
122
|
-
The [Base Layer](css-architectural-overview.html#the-base-layer) contains basic element styling.
|
123
|
-
|
124
|
-
```
|
125
|
-
@import 'workarea/storefront/base/page';
|
126
|
-
@import 'workarea/storefront/base/images';
|
127
|
-
@import 'workarea/storefront/base/forms';
|
128
|
-
@import 'workarea/storefront/base/tables';
|
129
|
-
@import 'workarea/storefront/base/lists';
|
130
|
-
<%= append_stylesheets('storefront.base') %>
|
131
|
-
```
|
132
|
-
|
133
|
-
### Objects
|
134
|
-
|
135
|
-
The [Objects Layer](css-architectural-overview.html#the-objects-layer) contains reusable, design-free abstractions that help DRY up code found in the Components layer. There are a few specific reset-like abstractions here. They're used to reset specific element styling on an as-needed basis.
|
136
|
-
|
137
|
-
```
|
138
|
-
@import 'workarea/storefront/objects/inline_list';
|
139
|
-
@import 'workarea/storefront/objects/list_reset';
|
140
|
-
@import 'workarea/storefront/objects/text_field_reset';
|
141
|
-
@import 'workarea/storefront/objects/button_reset';
|
142
|
-
@import 'workarea/storefront/objects/content_wrapper';
|
143
|
-
@import 'workarea/storefront/objects/content_preview_visibility';
|
144
|
-
<%= append_stylesheets('storefront.objects') %>
|
145
|
-
```
|
146
|
-
|
147
|
-
### Typography
|
148
|
-
|
149
|
-
The [Typography Layer](css-architectural-overview.html#the-typography-layer) focuses on global typography throughout the application.
|
150
|
-
|
151
|
-
```
|
152
|
-
@import 'workarea/storefront/typography/align';
|
153
|
-
@import 'workarea/storefront/typography/headings';
|
154
|
-
@import 'workarea/storefront/typography/links';
|
155
|
-
@import 'workarea/storefront/typography/text';
|
156
|
-
<%= append_stylesheets('storefront.typography') %>
|
157
|
-
```
|
158
|
-
|
159
|
-
### Dependencies
|
160
|
-
|
161
|
-
The [Dependencies Layer](css-architectural-overview.html#the-dependenices-layer) allows Plugins to inject 3rd Party Library CSS into the application, if necessary.
|
162
|
-
|
163
|
-
```
|
164
|
-
@import 'avalanche';
|
165
|
-
@import 'jquery_ui/storefront/ui_autocomplete';
|
166
|
-
@import 'jquery_ui/storefront/ui_dialog';
|
167
|
-
@import 'jquery_ui/storefront/ui_helper_hidden_accessible';
|
168
|
-
@import 'jquery_ui/storefront/ui_menu';
|
169
|
-
@import 'jquery_ui/storefront/ui_state_focus';
|
170
|
-
@import 'jquery_ui/storefront/ui_widget_overlay';
|
171
|
-
<%= append_stylesheets('storefront.dependencies') %>
|
172
|
-
```
|
173
|
-
|
174
|
-
### Components
|
175
|
-
|
176
|
-
The [Components Layer](css-architectural-overview.html#the-components-layer) contains all of the main UI building block styling for the application.
|
177
|
-
|
178
|
-
```
|
179
|
-
@import 'workarea/storefront/components/button';
|
180
|
-
@import 'workarea/storefront/components/hero_content_block';
|
181
|
-
@import 'workarea/storefront/components/loading';
|
182
|
-
@import 'workarea/storefront/components/message';
|
183
|
-
@import 'workarea/storefront/components/mobile_nav';
|
184
|
-
@import 'workarea/storefront/components/primary_nav';
|
185
|
-
@import 'workarea/storefront/components/product_details';
|
186
|
-
@import 'workarea/storefront/components/page_header';
|
187
|
-
@import 'workarea/storefront/components/product_list';
|
188
|
-
@import 'workarea/storefront/components/product_summary';
|
189
|
-
@import 'workarea/storefront/components/button_property';
|
190
|
-
@import 'workarea/storefront/components/inline_form';
|
191
|
-
@import 'workarea/storefront/components/property';
|
192
|
-
@import 'workarea/storefront/components/value';
|
193
|
-
@import 'workarea/storefront/components/payment_icon';
|
194
|
-
@import 'workarea/storefront/components/table';
|
195
|
-
@import 'workarea/storefront/components/data_card';
|
196
|
-
@import 'workarea/storefront/components/style_guide';
|
197
|
-
@import 'workarea/storefront/components/breadcrumbs';
|
198
|
-
@import 'workarea/storefront/components/cart';
|
199
|
-
@import 'workarea/storefront/components/category_summary_content_block';
|
200
|
-
@import 'workarea/storefront/components/checkout_addresses';
|
201
|
-
@import 'workarea/storefront/components/checkout_payment';
|
202
|
-
@import 'workarea/storefront/components/checkout_shipping';
|
203
|
-
@import 'workarea/storefront/components/checkout_step_summary';
|
204
|
-
@import 'workarea/storefront/components/email_signup';
|
205
|
-
@import 'workarea/storefront/components/html_content_block';
|
206
|
-
@import 'workarea/storefront/components/order_help_menu';
|
207
|
-
@import 'workarea/storefront/components/order_summary';
|
208
|
-
@import 'workarea/storefront/components/page_content';
|
209
|
-
@import 'workarea/storefront/components/page_footer';
|
210
|
-
@import 'workarea/storefront/components/page_container';
|
211
|
-
@import 'workarea/storefront/components/page_messages';
|
212
|
-
@import 'workarea/storefront/components/personalized_recommendations_content_block';
|
213
|
-
@import 'workarea/storefront/components/product_detail_container';
|
214
|
-
@import 'workarea/storefront/components/product_prices';
|
215
|
-
@import 'workarea/storefront/components/recent_views';
|
216
|
-
@import 'workarea/storefront/components/result_filters';
|
217
|
-
@import 'workarea/storefront/components/text_content_block';
|
218
|
-
@import 'workarea/storefront/components/search_no_results';
|
219
|
-
@import 'workarea/storefront/components/secondary_nav';
|
220
|
-
@import 'workarea/storefront/components/text_box';
|
221
|
-
@import 'workarea/storefront/components/text_button';
|
222
|
-
@import 'workarea/storefront/components/video_content_block';
|
223
|
-
@import 'workarea/storefront/components/view';
|
224
|
-
@import 'workarea/storefront/components/checkout_progress';
|
225
|
-
@import 'workarea/storefront/components/search_results';
|
226
|
-
@import 'workarea/storefront/components/taxonomy_content_block';
|
227
|
-
@import 'workarea/storefront/components/image_group_content_block';
|
228
|
-
@import 'workarea/storefront/components/image_and_text_content_block';
|
229
|
-
@import 'workarea/storefront/components/video_and_text_content_block';
|
230
|
-
@import 'workarea/storefront/components/product_list_content_block';
|
231
|
-
@import 'workarea/storefront/components/image_content_block';
|
232
|
-
@import 'workarea/storefront/components/button_content_block';
|
233
|
-
@import 'workarea/storefront/components/quote_content_block';
|
234
|
-
@import 'workarea/storefront/components/divider_content_block';
|
235
|
-
@import 'workarea/storefront/components/social_networks_content_block';
|
236
|
-
@import 'workarea/storefront/components/mobile_filters';
|
237
|
-
@import 'workarea/storefront/components/admin_toolbar';
|
238
|
-
@import 'workarea/storefront/components/content_block';
|
239
|
-
@import 'workarea/storefront/components/pagination';
|
240
|
-
@import 'workarea/storefront/components/svg_icon';
|
241
|
-
<%= append_stylesheets('storefront.components') %>
|
242
|
-
```
|
243
|
-
|
244
|
-
### Theme
|
245
|
-
|
246
|
-
The [Theme Layer](css-architectural-overview.html#the-theme-layer) contains is used by Theme Plugins to override the CSS declared within the Components layer.
|
247
|
-
|
248
|
-
```
|
249
|
-
<%= append_stylesheets('storefront.theme') %>
|
250
|
-
```
|
251
|
-
|
252
|
-
### Trumps
|
253
|
-
|
254
|
-
The [Trumps Layer](css-architectural-overview.html#the-trumps-layer) contains code that is considered definitive. The values of the properties found in these files should override any previously declared property in any other layer.
|
255
|
-
|
256
|
-
```
|
257
|
-
@import 'workarea/storefront/trumps/break_word';
|
258
|
-
@import 'workarea/storefront/trumps/clearfix';
|
259
|
-
@import 'workarea/storefront/trumps/hidden';
|
260
|
-
@import 'workarea/storefront/trumps/hidden_if_js_enabled';
|
261
|
-
@import 'workarea/storefront/trumps/image_replacement';
|
262
|
-
@import 'workarea/storefront/trumps/truncate';
|
263
|
-
@import 'workarea/storefront/trumps/visually_hidden';
|
264
|
-
@import 'workarea/storefront/trumps/visible';
|
265
|
-
<%= append_stylesheets('storefront.trumps') %>
|
266
|
-
```
|
267
|
-
|
268
|
-
## Adding and Removing stylesheets
|
269
|
-
|
270
|
-
Oh yeah, I guess this guide was supposed to be about adding and removing stylesheets through a manifest. Well, now that you know how the manifests are structured, adding and removing files is as easy as adding and removing the relevant `@import` statements.
|
271
|
-
|
272
|
-
If the asset you want to include has been packaged as a gem, first add the gem to your Gemfile and then `@import` the asset in your manifest using the path to the asset within the gem. If the asset is not available as a gem, simply download the asset and copy it to your application's `vendor/assets/stylesheets` directory and reference it from there.
|
273
|
-
|
274
|
-
Refer to [Appending](appending.html) for advice on managing plugin stylesheets in your manifests.
|
275
|
-
|
276
|
-
|
@@ -1,138 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: Add System Content
|
3
|
-
excerpt: In this guide, I outline the steps required to add administrable content to a system page in the Storefront. I use the example of adding content to the cart, as shown below.
|
4
|
-
---
|
5
|
-
|
6
|
-
# Add System Content
|
7
|
-
|
8
|
-
In this guide, I outline the steps required to add administrable content to a system page in the Storefront. I use the example of adding content to the cart, as shown below.
|
9
|
-
|
10
|
-
![Cart system content in the Storefront](images/cart-system-content-in-storefront.png)
|
11
|
-
|
12
|
-
## Create System Content
|
13
|
-
|
14
|
-
Start by creating a content instance with one or more blocks within your seeds. I use the following decorator to add a _Cart_ content instance.
|
15
|
-
|
16
|
-
```
|
17
|
-
# app/seeds/workarea/system_content_seeds.decorator
|
18
|
-
|
19
|
-
module Workarea
|
20
|
-
decorate SystemContentSeeds do
|
21
|
-
def perform
|
22
|
-
super
|
23
|
-
add_cart
|
24
|
-
end
|
25
|
-
|
26
|
-
def add_cart
|
27
|
-
styles = 'background: yellow; text-align: center; padding: 1em;'
|
28
|
-
html = "<p style='#{styles}'>Cart System Content</p>"
|
29
|
-
|
30
|
-
content = Content.for('Cart')
|
31
|
-
content.blocks.create!(type: 'html', data: { html: html })
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
```
|
36
|
-
|
37
|
-
## Test Admin
|
38
|
-
|
39
|
-
You can search for this system page in the Admin.
|
40
|
-
|
41
|
-
![Searching for cart system content in the Admin](images/searching-for-cart-system-content-in-admin.png)
|
42
|
-
|
43
|
-
And view the content to confirm your content and blocks exist.
|
44
|
-
|
45
|
-
![Cart system content in the Admin](images/cart-system-content-in-admin.png)
|
46
|
-
|
47
|
-
## Extend or Create View Model
|
48
|
-
|
49
|
-
To display this content in the Storefront, find (or create) the view model used for the particular Storefront page. Include `Workarea::Storefront::DisplayContent` in the view model and then implement `content_lookup`, returning the `name` of the content to be displayed.
|
50
|
-
|
51
|
-
For my example, I decorate the cart view model, associating it with the _Cart_ content.
|
52
|
-
|
53
|
-
```
|
54
|
-
# app/view_models/workarea/storefront/cart_view_model.decorator
|
55
|
-
|
56
|
-
module Workarea
|
57
|
-
module Storefront
|
58
|
-
decorate CartViewModel do
|
59
|
-
decorated do
|
60
|
-
include DisplayContent
|
61
|
-
end
|
62
|
-
|
63
|
-
def content_lookup
|
64
|
-
'Cart'
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
69
|
-
```
|
70
|
-
|
71
|
-
## Render Blocks in Storefront
|
72
|
-
|
73
|
-
Now you can call `content_blocks` on the view model to retrieve the blocks to render in the Storefront. Override or append to the view to render the blocks.
|
74
|
-
|
75
|
-
The Storefront's cart view includes the following append point.
|
76
|
-
|
77
|
-
```
|
78
|
-
= append_partials('storefront.cart_additional_information', cart: @cart)
|
79
|
-
```
|
80
|
-
|
81
|
-
So I can append a partial here and access the cart view model using the local variable `cart` within my partial. I use the following partial.
|
82
|
-
|
83
|
-
```
|
84
|
-
/ app/views/workarea/storefront/carts/_content.html.haml
|
85
|
-
|
86
|
-
= render_content_blocks(cart.content_blocks)
|
87
|
-
```
|
88
|
-
|
89
|
-
And I use the following initializer to append the partial.
|
90
|
-
|
91
|
-
```
|
92
|
-
# config/initializers/appends.rb
|
93
|
-
|
94
|
-
Workarea.append_partials(
|
95
|
-
'storefront.cart_additional_information',
|
96
|
-
'workarea/storefront/carts/content'
|
97
|
-
)
|
98
|
-
```
|
99
|
-
|
100
|
-
## Test Storefront
|
101
|
-
|
102
|
-
You can now test the feature end-to-end in your browser to confirm it is working as expected.
|
103
|
-
|
104
|
-
![Cart system content in the Storefront](images/cart-system-content-in-storefront.png)
|
105
|
-
|
106
|
-
To catch regressions, write a system test confirming the correct blocks are rendered in the Storefront. I use the following test.
|
107
|
-
|
108
|
-
```
|
109
|
-
# test/system/workarea/storefront/cart_system_test.decorator
|
110
|
-
|
111
|
-
module Workarea
|
112
|
-
module Storefront
|
113
|
-
decorate CartSystemTest do
|
114
|
-
def test_cart_content
|
115
|
-
styles = 'background: yellow; text-align: center; padding: 1em;'
|
116
|
-
html = "<p style='#{styles}'>Cart System Content</p>"
|
117
|
-
create_content(
|
118
|
-
name: 'cart',
|
119
|
-
blocks: [
|
120
|
-
{
|
121
|
-
type: 'html',
|
122
|
-
data: { html: html }
|
123
|
-
}
|
124
|
-
]
|
125
|
-
)
|
126
|
-
|
127
|
-
visit storefront.product_path(@product)
|
128
|
-
select @product.skus.first, from: 'sku'
|
129
|
-
click_button t('workarea.storefront.products.add_to_cart')
|
130
|
-
click_link t('workarea.storefront.carts.view_cart')
|
131
|
-
|
132
|
-
assert(page.has_content?('Cart System Content'))
|
133
|
-
end
|
134
|
-
end
|
135
|
-
end
|
136
|
-
end
|
137
|
-
```
|
138
|
-
|
@@ -1,51 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: Analytics Overview
|
3
|
-
excerpt: The Workarea platform has a built-in framework for allowing analytics plugins to share data, and to facilitate using multiple analytics platforms simultaneously.
|
4
|
-
---
|
5
|
-
|
6
|
-
# Analytics Overview
|
7
|
-
|
8
|
-
The Workarea platform has a built-in framework for allowing analytics plugins to share data, and to facilitate using multiple analytics platforms simultaneously.
|
9
|
-
|
10
|
-
## Data
|
11
|
-
|
12
|
-
The data for analytics is presented in the form of HTML data attributes on various elements throughout the application.
|
13
|
-
|
14
|
-
This example shows the analytics data available for a category view event.
|
15
|
-
|
16
|
-
http://your-app.com/categories/shirts :
|
17
|
-
|
18
|
-
```
|
19
|
-
<div class='view' data-analytics='{"event":"categoryView","payload":{"name":"Shirts","sort":"top_sellers","page":1,"filters":{"color":["Blue"]}}}'>
|
20
|
-
<h1>Shirts</h1>
|
21
|
-
<!-- ... -->
|
22
|
-
</div>
|
23
|
-
```
|
24
|
-
|
25
|
-
This example shows the analytics HTML data for a user's shipping method selection.
|
26
|
-
|
27
|
-
http://your-app.com/checkout/shipping :
|
28
|
-
|
29
|
-
```
|
30
|
-
<input type="radio" name="shipping_method_id" id="shipping_method_id_55537ba742656e3004bc0300" value="55537ba742656e3004bc0300" data-analytics='{"event":"checkoutShippingMethodSelected","domEvent":"click","payload":{"id":"55537ba742656e3004bc0300","name":"Ground","price":7.0}}' checked="checked">
|
31
|
-
```
|
32
|
-
|
33
|
-
There are three parts to the analytics HTML data:
|
34
|
-
|
35
|
-
| Type | Description |
|
36
|
-
| --- | --- |
|
37
|
-
| `event` | Name of the analytics event being published |
|
38
|
-
| `domEvent` | Name of the DOM event which will trigger the analytics event (if this is not present, the event fires on page load) |
|
39
|
-
| `payload` | Data that will be made available to analytics adapters |
|
40
|
-
|
41
|
-
This data is assembled by a view helper: `Workarea::Storefront::AnalyticsHelper`. Customize this helper to extend data points.
|
42
|
-
|
43
|
-
## Events
|
44
|
-
|
45
|
-
The analytics framework reads this data, does some processing on certain events, and calls the appropriate callbacks in the analytics adapter, passing in the payload along with any additionally acquired data. The events which include more data than the payload include `productList`, `productClick`, and `updateCartItem`.
|
46
|
-
|
47
|
-
| Type | Description |
|
48
|
-
| --- | --- |
|
49
|
-
| `productList` | The framework gathers all product impressions in the list, and includes them in the data it sends to adapter callbacks in the `impressions` value. |
|
50
|
-
| `productClick` | The framework finds the product list, and includes the `list` which is the product list name and `position` which is the product's position in that list. |
|
51
|
-
| `updateCartItem` | The framework adds `from` and `to` values to indicate how the quantity is changing. |
|