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
data/docs/Gemfile.lock
DELETED
@@ -1,130 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: https://rubygems.org/
|
3
|
-
specs:
|
4
|
-
activesupport (5.0.7.2)
|
5
|
-
concurrent-ruby (~> 1.0, >= 1.0.2)
|
6
|
-
i18n (>= 0.7, < 2)
|
7
|
-
minitest (~> 5.1)
|
8
|
-
tzinfo (~> 1.1)
|
9
|
-
addressable (2.7.0)
|
10
|
-
public_suffix (>= 2.0.2, < 5.0)
|
11
|
-
autoprefixer-rails (9.6.1.1)
|
12
|
-
execjs
|
13
|
-
backports (3.15.0)
|
14
|
-
coffee-script (2.4.1)
|
15
|
-
coffee-script-source
|
16
|
-
execjs
|
17
|
-
coffee-script-source (1.12.2)
|
18
|
-
concurrent-ruby (1.1.5)
|
19
|
-
contracts (0.13.0)
|
20
|
-
dotenv (2.7.5)
|
21
|
-
erubis (2.7.0)
|
22
|
-
execjs (2.7.0)
|
23
|
-
fast_blank (1.0.0)
|
24
|
-
fastimage (2.1.7)
|
25
|
-
ffi (1.11.1)
|
26
|
-
haml (5.1.2)
|
27
|
-
temple (>= 0.8.0)
|
28
|
-
tilt
|
29
|
-
hamster (3.0.0)
|
30
|
-
concurrent-ruby (~> 1.0)
|
31
|
-
hashie (3.6.0)
|
32
|
-
i18n (0.9.5)
|
33
|
-
concurrent-ruby (~> 1.0)
|
34
|
-
kramdown (1.17.0)
|
35
|
-
libv8 (3.16.14.19-x86_64-linux)
|
36
|
-
listen (3.0.8)
|
37
|
-
rb-fsevent (~> 0.9, >= 0.9.4)
|
38
|
-
rb-inotify (~> 0.9, >= 0.9.7)
|
39
|
-
memoist (0.16.0)
|
40
|
-
middleman (4.3.5)
|
41
|
-
coffee-script (~> 2.2)
|
42
|
-
haml (>= 4.0.5)
|
43
|
-
kramdown (~> 1.2)
|
44
|
-
middleman-cli (= 4.3.5)
|
45
|
-
middleman-core (= 4.3.5)
|
46
|
-
middleman-autoprefixer (2.10.1)
|
47
|
-
autoprefixer-rails (~> 9.1)
|
48
|
-
middleman-core (>= 3.3.3)
|
49
|
-
middleman-cli (4.3.5)
|
50
|
-
thor (>= 0.17.0, < 2.0)
|
51
|
-
middleman-core (4.3.5)
|
52
|
-
activesupport (>= 4.2, < 5.1)
|
53
|
-
addressable (~> 2.3)
|
54
|
-
backports (~> 3.6)
|
55
|
-
bundler
|
56
|
-
contracts (~> 0.13.0)
|
57
|
-
dotenv
|
58
|
-
erubis
|
59
|
-
execjs (~> 2.0)
|
60
|
-
fast_blank
|
61
|
-
fastimage (~> 2.0)
|
62
|
-
hamster (~> 3.0)
|
63
|
-
hashie (~> 3.4)
|
64
|
-
i18n (~> 0.9.0)
|
65
|
-
listen (~> 3.0.0)
|
66
|
-
memoist (~> 0.14)
|
67
|
-
padrino-helpers (~> 0.13.0)
|
68
|
-
parallel
|
69
|
-
rack (>= 1.4.5, < 3)
|
70
|
-
sassc (~> 2.0)
|
71
|
-
servolux
|
72
|
-
tilt (~> 2.0.9)
|
73
|
-
uglifier (~> 3.0)
|
74
|
-
middleman-navtree (0.1.11)
|
75
|
-
middleman-core (>= 3.3)
|
76
|
-
titleize (~> 1.3)
|
77
|
-
middleman-search (0.10.0)
|
78
|
-
middleman-core (>= 3.2)
|
79
|
-
nokogiri (~> 1.6)
|
80
|
-
therubyracer (~> 0.12.2)
|
81
|
-
mini_portile2 (2.4.0)
|
82
|
-
minitest (5.11.3)
|
83
|
-
nio4r (2.5.1)
|
84
|
-
nokogiri (1.10.4)
|
85
|
-
mini_portile2 (~> 2.4.0)
|
86
|
-
padrino-helpers (0.13.3.4)
|
87
|
-
i18n (~> 0.6, >= 0.6.7)
|
88
|
-
padrino-support (= 0.13.3.4)
|
89
|
-
tilt (>= 1.4.1, < 3)
|
90
|
-
padrino-support (0.13.3.4)
|
91
|
-
activesupport (>= 3.1)
|
92
|
-
parallel (1.17.0)
|
93
|
-
public_suffix (4.0.1)
|
94
|
-
puma (4.1.1)
|
95
|
-
nio4r (~> 2.0)
|
96
|
-
rack (2.0.7)
|
97
|
-
rb-fsevent (0.10.3)
|
98
|
-
rb-inotify (0.10.0)
|
99
|
-
ffi (~> 1.0)
|
100
|
-
redcarpet (3.5.0)
|
101
|
-
ref (2.0.0)
|
102
|
-
sassc (2.2.0)
|
103
|
-
ffi (~> 1.9)
|
104
|
-
servolux (0.13.0)
|
105
|
-
temple (0.8.2)
|
106
|
-
therubyracer (0.12.3)
|
107
|
-
libv8 (~> 3.16.14.15)
|
108
|
-
ref
|
109
|
-
thor (0.20.3)
|
110
|
-
thread_safe (0.3.6)
|
111
|
-
tilt (2.0.9)
|
112
|
-
titleize (1.4.1)
|
113
|
-
tzinfo (1.2.5)
|
114
|
-
thread_safe (~> 0.1)
|
115
|
-
uglifier (3.2.0)
|
116
|
-
execjs (>= 0.3.0, < 3)
|
117
|
-
|
118
|
-
PLATFORMS
|
119
|
-
ruby
|
120
|
-
|
121
|
-
DEPENDENCIES
|
122
|
-
middleman (~> 4.2)
|
123
|
-
middleman-autoprefixer (~> 2.9)
|
124
|
-
middleman-navtree (~> 0.1.10)
|
125
|
-
middleman-search (~> 0.10.0)
|
126
|
-
puma
|
127
|
-
redcarpet
|
128
|
-
|
129
|
-
BUNDLED WITH
|
130
|
-
2.0.2
|
data/docs/bin/middleman
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
#
|
5
|
-
# This file was generated by Bundler.
|
6
|
-
#
|
7
|
-
# The application 'middleman' is installed as part of a gem, and
|
8
|
-
# this file is here to facilitate running it.
|
9
|
-
#
|
10
|
-
|
11
|
-
require "pathname"
|
12
|
-
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
13
|
-
Pathname.new(__FILE__).realpath)
|
14
|
-
|
15
|
-
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
16
|
-
|
17
|
-
if File.file?(bundle_binstub)
|
18
|
-
if File.read(bundle_binstub, 150) =~ /This file was generated by Bundler/
|
19
|
-
load(bundle_binstub)
|
20
|
-
else
|
21
|
-
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
22
|
-
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
require "rubygems"
|
27
|
-
require "bundler/setup"
|
28
|
-
|
29
|
-
load Gem.bin_path("middleman-cli", "middleman")
|
data/docs/config.rb
DELETED
@@ -1,87 +0,0 @@
|
|
1
|
-
require_relative './workarea_renderer'
|
2
|
-
|
3
|
-
# Activate and configure extensions
|
4
|
-
# https://middlemanapp.com/advanced/configuration/#configuring-extensions
|
5
|
-
|
6
|
-
set :markdown_engine, :redcarpet
|
7
|
-
set :markdown, fenced_code_blocks: true, tables: true, no_intra_emphasis: true, renderer: WorkareaRenderer
|
8
|
-
|
9
|
-
set :relative_links, true
|
10
|
-
|
11
|
-
set :feedback_url, 'https://docs.google.com/forms/d/e/1FAIpQLSdwBiHq_F8TVPAcBQFGf9e--yCE6rbGvGuiAF-W2lB2zrRbtg/viewform?usp=pp_url&entry.1298659050='
|
12
|
-
|
13
|
-
activate :search do |search|
|
14
|
-
search.resources = Dir['source/**/*.html*'].map do |path|
|
15
|
-
path.split('/').drop(1).join('/').gsub(/\.erb|\.md/, '')
|
16
|
-
end
|
17
|
-
|
18
|
-
search.fields = {
|
19
|
-
title: { boost: 100, store: true, required: true },
|
20
|
-
content: { boost: 50 },
|
21
|
-
excerpt: { index: false, store: true },
|
22
|
-
url: { index: false, store: true }
|
23
|
-
}
|
24
|
-
end
|
25
|
-
|
26
|
-
activate :navtree do |options|
|
27
|
-
options.automatic_tree_updates = false
|
28
|
-
end
|
29
|
-
|
30
|
-
# Layouts
|
31
|
-
# https://middlemanapp.com/basics/layouts/
|
32
|
-
|
33
|
-
# Per-page layout changes
|
34
|
-
page '/*.xml', layout: false
|
35
|
-
page '/*.json', layout: false
|
36
|
-
page '/*.txt', layout: false
|
37
|
-
|
38
|
-
# With alternative layout
|
39
|
-
page '/articles/*', layout: 'article'
|
40
|
-
page '/release-notes/*', layout: 'bare'
|
41
|
-
page '/upgrade-guides/*', layout: 'bare'
|
42
|
-
|
43
|
-
# Proxy pages
|
44
|
-
# https://middlemanapp.com/advanced/dynamic-pages/
|
45
|
-
|
46
|
-
# proxy(
|
47
|
-
# '/this-page-has-no-template.html',
|
48
|
-
# '/template-file.html',
|
49
|
-
# locals: {
|
50
|
-
# which_fake_page: 'Rendering a fake page with a local variable'
|
51
|
-
# },
|
52
|
-
# )
|
53
|
-
|
54
|
-
# Helpers
|
55
|
-
# Methods defined in the helpers block are available in templates
|
56
|
-
# https://middlemanapp.com/basics/helper-methods/
|
57
|
-
|
58
|
-
helpers do
|
59
|
-
def body_classes(classes = '')
|
60
|
-
['body', current_page.data.body_class, classes].join(' ')
|
61
|
-
end
|
62
|
-
|
63
|
-
def recent_articles(size = 5)
|
64
|
-
files = Dir['source/{articles,hosting}/**/*.md']
|
65
|
-
.map { |p| File.new(p) }
|
66
|
-
.sort { |y, x| x.ctime <=> y.ctime }
|
67
|
-
|
68
|
-
files.take(size).map do |file|
|
69
|
-
sitemap.resources.find { |r| file.path.include?(r.path) }
|
70
|
-
end
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
74
|
-
# Build-specific configuration
|
75
|
-
# https://middlemanapp.com/advanced/configuration/#environment-specific-settings
|
76
|
-
|
77
|
-
configure :build do
|
78
|
-
activate :minify_css
|
79
|
-
activate :minify_javascript
|
80
|
-
activate :relative_assets
|
81
|
-
|
82
|
-
# Keep this here, as per:
|
83
|
-
# https://github.com/middleman/middleman-autoprefixer/issues/33
|
84
|
-
activate :autoprefixer do |prefix|
|
85
|
-
prefix.browsers = "last 2 versions"
|
86
|
-
end
|
87
|
-
end
|
data/docs/config.ru
DELETED
data/docs/data/articles.yml
DELETED
@@ -1,157 +0,0 @@
|
|
1
|
-
introduction:
|
2
|
-
overview.html.md: /articles/overview.html.md
|
3
|
-
api-overview.html.md: /articles/api-overview.html.md
|
4
|
-
b2b-overview.html.md: /articles/b2b-overview.html.md
|
5
|
-
developing-on-workarea:
|
6
|
-
quick-start:
|
7
|
-
create-a-new-app.html.md: /articles/create-a-new-app.html.md
|
8
|
-
use-an-existing-workarea-app.html.md: /articles/use-an-existing-workarea-app.html.md
|
9
|
-
installing.html.md: /articles/installing.html.md
|
10
|
-
navigating-the-code.html.md: /articles/navigating-the-code.html.md
|
11
|
-
seeds.html.md: /articles/seeds.html.md
|
12
|
-
integrating-with-other-software: /articles/integrating-with-other-software.html.md
|
13
|
-
common-tasks:
|
14
|
-
run-sidekiq-in-a-local-environment: /articles/run-sidekiq-in-a-local-environment.html.md
|
15
|
-
add-remove-or-change-a-mongoid-validation.html.md: /articles/add-remove-or-change-a-mongoid-validation.html.md
|
16
|
-
add-metrics.html.md: /articles/add-metrics.html.md
|
17
|
-
add-a-report.html.md: /articles/add-a-report.html.md
|
18
|
-
hosting-workarea:
|
19
|
-
infrastructure.html.md: /articles/infrastructure.html.md
|
20
|
-
configuration-for-hosting.html.md: /articles/configuration-for-hosting.html.md
|
21
|
-
application-architecture:
|
22
|
-
prerequisites-and-dependencies.html.md: /articles/prerequisites-and-dependencies.html.md
|
23
|
-
domain-modeling.html.md: /articles/domain-modeling.html.md
|
24
|
-
testing.html.md: /articles/testing.html.md
|
25
|
-
view-models.html.md: /articles/view-models.html.md
|
26
|
-
workers.html.md: /articles/workers.html.md
|
27
|
-
caching:
|
28
|
-
http-caching.html.md: /articles/http-caching.html.md
|
29
|
-
html-fragment-caching.html.md: /articles/html-fragment-caching.html.md
|
30
|
-
low-level-caching.html.md: /articles/low-level-caching.html.md
|
31
|
-
diagrams:
|
32
|
-
commerce-model.html.md: /articles/commerce-model.html.md
|
33
|
-
writing-data.html.md: /articles/writing-data.html.md
|
34
|
-
reading-data.html.md: /articles/reading-data.html.md
|
35
|
-
images-flow.html.md: /articles/images-flow.html.md
|
36
|
-
extension:
|
37
|
-
extension-overview.html.md: /articles/extension-overview.html.md
|
38
|
-
appending.html.md: /articles/appending.html.md
|
39
|
-
decoration.html.md: /articles/decoration.html.md
|
40
|
-
overriding.html.md: /articles/overriding.html.md
|
41
|
-
configuration.html.md: /articles/configuration.html.md
|
42
|
-
misc:
|
43
|
-
application-document.html.md: /articles/application-document.html.md
|
44
|
-
releasable.html.md: /articles/releasable.html.md
|
45
|
-
swappable-list-data-structure.html.md: /articles/swappable-list-data-structure.html.md
|
46
|
-
plugins:
|
47
|
-
plugins-overview.html.md: /articles/plugins-overview.html.md
|
48
|
-
create-a-plugin.html.md: /articles/create-a-plugin.html.md
|
49
|
-
maintain-a-plugin.html.md: /articles/maintain-a-plugin.html.md
|
50
|
-
test-if-a-plugin-is-installed.html.md: /articles/test-if-a-plugin-is-installed.html.md
|
51
|
-
products:
|
52
|
-
products.html.md: /articles/products.html.md
|
53
|
-
sort-and-exclude-product-options.html.md: /articles/sort-and-exclude-product-options.html.md
|
54
|
-
change-the-storefront-product-pricing-ui.html.md: /articles/change-the-storefront-product-pricing-ui.html.md
|
55
|
-
configure-low-inventory-threshold.html.md: /articles/configure-low-inventory-threshold.html.md
|
56
|
-
search:
|
57
|
-
searching.html.md: /articles/searching.html.md
|
58
|
-
storefront-search-features.html.md: /articles/storefront-search-features.html.md
|
59
|
-
storefront-searches.html.md: /articles/storefront-searches.html.md
|
60
|
-
analyze-storefront-search-results.html.md: /articles/analyze-storefront-search-results.html.md
|
61
|
-
change-storefront-search-results.html.md: /articles/change-storefront-search-results.html.md
|
62
|
-
index-storefront-search-documents.html.md: /articles/index-storefront-search-documents.html.md
|
63
|
-
add-remove-sort-and-group-storefront-search-filters.html.md: /articles/add-remove-sort-and-group-storefront-search-filters.html.md
|
64
|
-
change-the-storefront-search-filters-ui.html.md: /articles/change-the-storefront-search-filters-ui.html.md
|
65
|
-
cart-and-checkout:
|
66
|
-
checkout.html.md: /articles/checkout.html.md
|
67
|
-
configure-a-payment-gateway.html.md: /articles/configure-a-payment-gateway.html.md
|
68
|
-
integrate-a-payment-gateway.html.md: /articles/integrate-a-payment-gateway.html.md
|
69
|
-
test-a-credit-card-transaction.html.md: /articles/test-a-credit-card-transaction.html.md
|
70
|
-
orders:
|
71
|
-
orders.html.md: /articles/orders.html.md
|
72
|
-
orders-and-items.html.md: /articles/orders-and-items.html.md
|
73
|
-
order-life-cycle.html.md: /articles/order-life-cycle.html.md
|
74
|
-
shipping.html.md: /articles/shipping.html.md
|
75
|
-
users:
|
76
|
-
configure-logins-and-authentication.html.md: /articles/configure-logins-and-authentication.html.md
|
77
|
-
navigation:
|
78
|
-
navigation.html.md: /articles/navigation.html.md
|
79
|
-
navigable.html.md: /articles/navigable.html.md
|
80
|
-
content:
|
81
|
-
content.html.md: /articles/content.html.md
|
82
|
-
contentable.html.md: /articles/contentable.html.md
|
83
|
-
add-a-content-area.html.md: /articles/add-a-content-area.html.md
|
84
|
-
add-a-content-block-type.html.md: /articles/add-a-content-block-type.html.md
|
85
|
-
add-system-content.html.md: /articles/add-system-content.html.md
|
86
|
-
themes:
|
87
|
-
themes-overview.html.md: /articles/themes-overview.html.md
|
88
|
-
create-a-theme.html.md: /articles/create-a-theme.html.md
|
89
|
-
pricing:
|
90
|
-
order-pricing.html.md: /articles/order-pricing.html.md
|
91
|
-
add-or-replace-a-pricing-calculator.html.md: /articles/add-or-replace-a-pricing-calculator.html.md
|
92
|
-
change-the-storefront-product-pricing-ui.html.md: /articles/change-the-storefront-product-pricing-ui.html.md
|
93
|
-
create-a-custom-discount.html.md: /articles/create-a-custom-discount.html.md
|
94
|
-
inventory:
|
95
|
-
inventory.html.md: /articles/inventory.html.md
|
96
|
-
integrate-an-inventory-management-system.html.md: /articles/integrate-an-inventory-management-system.html.md
|
97
|
-
define-and-configure-inventory-policies.html.md: /articles/define-and-configure-inventory-policies.html.md
|
98
|
-
storefronts:
|
99
|
-
views:
|
100
|
-
views.html.md: /articles/views.html.md
|
101
|
-
style-guides.html.md: /articles/style-guides.html.md
|
102
|
-
create-a-style-guide.html.md: /articles/create-a-style-guide.html.md
|
103
|
-
add-remove-or-change-a-product-template.html.md: /articles/add-remove-or-change-a-product-template.html.md
|
104
|
-
error-pages.html.md: /articles/error-pages.html.md
|
105
|
-
customize-a-helper.html.md: /articles/customize-a-helper.html.md
|
106
|
-
rails-asset-view-helpers.html.md: /articles/rails-asset-view-helpers.html.md
|
107
|
-
system-emails.html.md: /articles/system-emails.html.md
|
108
|
-
configure-contact-form-subjects-list.html.md: /articles/configure-contact-form-subjects-list.html.md
|
109
|
-
stylesheets:
|
110
|
-
css-architectural-overview.html.md: /articles/css-architectural-overview.html.md
|
111
|
-
stylesheets-overview.html.md: /articles/stylesheets-overview.html.md
|
112
|
-
add-stylesheets-through-a-manifest.html.md: /articles/add-stylesheets-through-a-manifest.html.md
|
113
|
-
add-css-through-the-admin-ui.html.md: /articles/add-css-through-the-admin-ui.html.md
|
114
|
-
feature-spec-helper-stylesheet.html.md: /articles/feature-spec-helper-stylesheet.html.md
|
115
|
-
javascripts:
|
116
|
-
javascript-overview.html.md: /articles/javascript-overview.html.md
|
117
|
-
javascript-reference-documentation.html.md: /articles/javascript-reference-documentation.html.md
|
118
|
-
javascript-modules.html.md: /articles/javascript-modules.html.md
|
119
|
-
javascript-templates.html.md: /articles/javascript-templates.html.md
|
120
|
-
access-routes-in-javascript.html.md: /articles/access-routes-in-javascript.html.md
|
121
|
-
analytics-overview.html.md: /articles/analytics-overview.html.md
|
122
|
-
integrate-a-web-analytics-provider.html.md: /articles/integrate-a-web-analytics-provider.html.md
|
123
|
-
add-javascript-through-a-manifest.html.md: /articles/add-javascript-through-a-manifest.html.md
|
124
|
-
add-javascript-through-a-view.html.md: /articles/add-javascript-through-a-view.html.md
|
125
|
-
add-javascript-through-the-admin-ui.html.md: /articles/add-javascript-through-the-admin-ui.html.md
|
126
|
-
featurejs-and-feature-spec-helper.html.md: /articles/featurejs-and-feature-spec-helper.html.md
|
127
|
-
automated-javascript-testing.html.md: /articles/automated-javascript-testing.html.md
|
128
|
-
browser-and-device-support.html.md: /articles/browser-and-device-support.html.md
|
129
|
-
progressive-web-application-support.html.md: /articles/progressive-web-application-support.html.md
|
130
|
-
assets:
|
131
|
-
rails-asset-manifests.html.md: /articles/rails-asset-manifests.html.md
|
132
|
-
configure-asset-types.html.md: /articles/configure-asset-types.html.md
|
133
|
-
configure-product-image-sizes-and-processing.html.md: /articles/configure-product-image-sizes-and-processing.html.md
|
134
|
-
configure-imageoptim.html.md: /articles/configure-imageoptim.html.md
|
135
|
-
favicon-support.html.md: /articles/favicon-support.html.md
|
136
|
-
change-product-placeholder-image.html.md: /articles/change-product-placeholder-image.html.md
|
137
|
-
configure-asset-storage.html.md: /articles/configure-asset-storage.html.md
|
138
|
-
internationalization:
|
139
|
-
i18n.html.md: /articles/i18n.html.md
|
140
|
-
configure-locales.html.md: /articles/configure-locales.html.md
|
141
|
-
translate-or-customize-static-content.html.md: /articles/translate-or-customize-static-content.html.md
|
142
|
-
translate-or-customize-message-content.html.md: /articles/translate-or-customize-message-content.html.md
|
143
|
-
translate-administrable-content.html.md: /articles/translate-administrable-content.html.md
|
144
|
-
translate-javascript-content.html.md: /articles/translate-javascript-content.html.md
|
145
|
-
contribute:
|
146
|
-
contribute-code.html.md: /articles/contribute-code.html.md
|
147
|
-
contribute-documentation.html.md: /articles/contribute-documentation.html.md
|
148
|
-
documentation.html.md: /articles/documentation.html.md
|
149
|
-
documentation-style-guide.html.md: /articles/documentation-style-guide.html.md
|
150
|
-
report-a-bug.html.md: /articles/report-a-bug.html.md
|
151
|
-
coding-standards:
|
152
|
-
ruby-coding-standards.html.md: /articles/ruby-coding-standards.html.md
|
153
|
-
javascript-coding-standards.html.md: /articles/javascript-coding-standards.html.md
|
154
|
-
stylesheet-coding-standards.html.md: /articles/stylesheet-coding-standards.html.md
|
155
|
-
policies:
|
156
|
-
maintenance-policy.html.md: /articles/maintenance-policy.html.md
|
157
|
-
security-policy.html.md: /articles/security-policy.html.md
|
data/docs/package.json
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"name": "workarea",
|
3
|
-
"version": "1.0.0",
|
4
|
-
"main": "index.js",
|
5
|
-
"repository": "ssh://git@stash.tools.weblinc.com:7999/wl/workarea.git",
|
6
|
-
"author": "Curt Howard <choward@workarea.com>",
|
7
|
-
"license": "MIT",
|
8
|
-
"private": true,
|
9
|
-
"devDependencies": {
|
10
|
-
"eslint": "4.19.1",
|
11
|
-
"stylelint": "9.2.1",
|
12
|
-
"stylelint-config-recommended-scss": "3.2.0",
|
13
|
-
"stylelint-scss": "3.1.0"
|
14
|
-
}
|
15
|
-
}
|
data/docs/source/404.html.erb
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
---
|
2
|
-
body_class: body--flat
|
3
|
-
---
|
4
|
-
|
5
|
-
<div class='section [ white-text align-center ]'>
|
6
|
-
<h1>Definitely Not An Error</h1>
|
7
|
-
<p><strong>Totally not a 404.</strong></p>
|
8
|
-
</div>
|
9
|
-
|
10
|
-
<p class='section align-center'>
|
11
|
-
<%= image_tag '404.jpg', width: 600 %>
|
12
|
-
</p>
|
13
|
-
|
@@ -1,33 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: Access Routes in JavaScript
|
3
|
-
excerpt: Who likes hard coding paths into an application only to see them change? Not me. That's why Rails provides routing helpers for use in Rails views and controllers. To get access to these in JavaScript templates and modules, Workarea provides WORKAREA.ro
|
4
|
-
---
|
5
|
-
|
6
|
-
# Access Routes in JavaScript
|
7
|
-
|
8
|
-
Who likes hard coding paths into an application only to see them change? Not me. That's why Rails provides routing helpers for use in Rails views and controllers. To get access to these in JavaScript templates and modules, Workarea provides `WORKAREA.routes.admin` and `WORKAREA.routes.storefront`.
|
9
|
-
|
10
|
-
Each property on these objects is a function that returns the corresponding path string.
|
11
|
-
|
12
|
-
```
|
13
|
-
WORKAREA.routes.storefront.loginPath() // returns "/login"
|
14
|
-
```
|
15
|
-
|
16
|
-
## How it Works
|
17
|
-
|
18
|
-
The functionality is provided by [Js-routes](http://railsware.github.io/js-routes/) and is included in the Admin and Storefront JavaScript manifests.
|
19
|
-
|
20
|
-
Admin:
|
21
|
-
|
22
|
-
```
|
23
|
-
workarea/core/routes
|
24
|
-
workarea/admin/routes
|
25
|
-
```
|
26
|
-
|
27
|
-
Storefront:
|
28
|
-
|
29
|
-
```
|
30
|
-
workarea/core/routes
|
31
|
-
workarea/storefront/routes
|
32
|
-
```
|
33
|
-
|
@@ -1,169 +0,0 @@
|
|
1
|
-
---
|
2
|
-
title: Add a Content Area
|
3
|
-
excerpt: In this guide, I outline the steps for adding an additional content area and displaying it within the Storefront. My examples will use the Layout content instance. For context, search for this system page in the Admin and then choose to edit its conte
|
4
|
-
---
|
5
|
-
|
6
|
-
# Add a Content Area
|
7
|
-
|
8
|
-
In this guide, I outline the steps for adding an additional content area and displaying it within the Storefront. My examples will use the _Layout_ content instance. For context, search for this system page in the Admin and then choose to edit its content.
|
9
|
-
|
10
|
-
![Searching for layout system content in the Admin](images/searching-for-layout-system-content-in-admin.png)
|
11
|
-
|
12
|
-
Notice this content already has multiple areas (_Header Promo_ and _Footer Navigation_ in the image below).
|
13
|
-
|
14
|
-
![Layout content admin with 2 areas](images/layout-content-admin-with-2-areas.png)
|
15
|
-
|
16
|
-
My example adds a 3rd area, _utility\_nav_, as shown below.
|
17
|
-
|
18
|
-
![Layout content admin with 3 areas](images/layout-content-admin-with-3-areas.png)
|
19
|
-
|
20
|
-
And then outputs the blocks for this additional area in the Storefront.
|
21
|
-
|
22
|
-
![Utility nav content area in the Storefront](images/utility-nav-area-in-storefront.png)
|
23
|
-
|
24
|
-
## Configure Areas
|
25
|
-
|
26
|
-
The Admin uses the value of `Workarea.config.content_areas` to determine which areas to display when editing content. The example below shows the data structure of this value—a hash whose keys are strings and whose values are arrays of strings.
|
27
|
-
|
28
|
-
```
|
29
|
-
Workarea.config.content_areas
|
30
|
-
# => {
|
31
|
-
# "category" => ["above_results", "below_results"],
|
32
|
-
# "checkout" => ["confirmation", "confirmation_signup"],
|
33
|
-
# "customization" => ["above_results"],
|
34
|
-
# "generic" => ["default"],
|
35
|
-
# "layout" => ["header_promo", "footer_navigation"],
|
36
|
-
# "search" => ["results", "no_results"]
|
37
|
-
# }
|
38
|
-
```
|
39
|
-
|
40
|
-
You need to manipulate the keys and values in this hash to configure areas. When rendering the content editing UI, an instance of `Workarea::Admin::ContentViewModel` queries this hash looking for:
|
41
|
-
|
42
|
-
1. A key matching the content's `slug`<sup><a href="#notes" id="note-1-context">[1]</a></sup>
|
43
|
-
2. A key matching the content's contentable's `template`
|
44
|
-
3. The key `'generic'`
|
45
|
-
|
46
|
-
`Workarea::Admin::ContentViewModel#areas` returns the value (the array of strings) for the first matching key.
|
47
|
-
|
48
|
-
The following example should make this more clear.
|
49
|
-
|
50
|
-
```
|
51
|
-
content = Workarea::Content.for('Layout')
|
52
|
-
content_view_model = Workarea::Admin::ContentViewModel.wrap(content)
|
53
|
-
|
54
|
-
content_view_model.model.slug
|
55
|
-
# => "layout"
|
56
|
-
|
57
|
-
content_view_model.contentable.try(:model).try(:template)
|
58
|
-
# => nil
|
59
|
-
|
60
|
-
content_view_model.areas
|
61
|
-
# => ["header_promo", "footer_navigation", "utility_nav"]
|
62
|
-
```
|
63
|
-
|
64
|
-
Therefore, for my _Layout_ content example, I see the hash key I need to use is `'layout'`, and this key already exists in `Workarea.config.content_areas`, so I need to shovel my additional area onto this existing key.
|
65
|
-
|
66
|
-
```
|
67
|
-
# config/initializers/content.rb
|
68
|
-
|
69
|
-
Workarea.config.content_areas['layout'] << 'utility_nav'
|
70
|
-
```
|
71
|
-
|
72
|
-
If the key you need does not exist, add the new key and use its value to declare the areas you'd like to include for that content.
|
73
|
-
|
74
|
-
## Create Blocks for the Area
|
75
|
-
|
76
|
-
Create seeds for one or more content blocks, setting their `area` to the new area you configured. In my example, I create a simple _html_ block, setting its `area` to `'utility_nav'`.
|
77
|
-
|
78
|
-
```
|
79
|
-
# app/seeds/workarea/system_content_seeds.decorator
|
80
|
-
|
81
|
-
module Workarea
|
82
|
-
decorate SystemContentSeeds do
|
83
|
-
def add_layout_content
|
84
|
-
super
|
85
|
-
html = '<span style="background: yellow;">Utility Nav Content</span>'
|
86
|
-
content = Content.for('Layout')
|
87
|
-
content.blocks.create!(
|
88
|
-
area: 'utility_nav',
|
89
|
-
type: 'html',
|
90
|
-
data: { html: html }
|
91
|
-
)
|
92
|
-
end
|
93
|
-
end
|
94
|
-
end
|
95
|
-
```
|
96
|
-
|
97
|
-
## Test Admin
|
98
|
-
|
99
|
-
After running seeds, you can see a block saved on the content for the new area.
|
100
|
-
|
101
|
-
![Utility nav content area in the Admin](images/utility-nav-area-in-admin.png)
|
102
|
-
|
103
|
-
## Render Blocks in Storefront
|
104
|
-
|
105
|
-
In the Storefront, use `Workarea::Storefront::DisplayContent#content_blocks_for` to find the blocks for the given content and area.
|
106
|
-
|
107
|
-
The view model used for the layout content already includes `Workarea::Storefront::DisplayContent`, so all that's required is a partial to render the blocks.
|
108
|
-
|
109
|
-
I add the partial.<sup><a href="#notes" id="note-2-context">[2]</a></sup>
|
110
|
-
|
111
|
-
```
|
112
|
-
/ app/views/layouts/workarea/storefront/_utility_nav_content.html.haml
|
113
|
-
|
114
|
-
- if layout_content.content_blocks_for('utility_nav').present?
|
115
|
-
.grid__cell
|
116
|
-
= render_content_blocks(layout_content.content_blocks_for('utility_nav'))
|
117
|
-
```
|
118
|
-
|
119
|
-
And append it to the layout.
|
120
|
-
|
121
|
-
```
|
122
|
-
# config/initializers/appends.rb
|
123
|
-
|
124
|
-
Workarea.append_partials(
|
125
|
-
'storefront.utility_nav',
|
126
|
-
'layouts/workarea/storefront/utility_nav_content'
|
127
|
-
)
|
128
|
-
```
|
129
|
-
|
130
|
-
## Test Storefront
|
131
|
-
|
132
|
-
You can now test the feature end-to-end in your browser to confirm it is working as expected.
|
133
|
-
|
134
|
-
![Utility nav content area in the Storefront](images/utility-nav-area-in-storefront.png)
|
135
|
-
|
136
|
-
To catch regressions, write a system test confirming the correct blocks are rendered in the Storefront. I use the following test.
|
137
|
-
|
138
|
-
```
|
139
|
-
# test/system/workarea/storefront/content_system_test.decorator
|
140
|
-
|
141
|
-
module Workarea
|
142
|
-
module Storefront
|
143
|
-
decorate ContentSystemTest do
|
144
|
-
def test_utility_nav_content
|
145
|
-
html = '<span style="background: yellow;">Utility Nav Content</span>'
|
146
|
-
create_content(
|
147
|
-
name: 'layout',
|
148
|
-
blocks: [
|
149
|
-
{
|
150
|
-
area: 'utility_nav',
|
151
|
-
type: 'html',
|
152
|
-
data: { html: html }
|
153
|
-
}
|
154
|
-
]
|
155
|
-
)
|
156
|
-
|
157
|
-
visit storefront.root_path
|
158
|
-
assert(page.has_content?('Utility Nav Content'))
|
159
|
-
end
|
160
|
-
end
|
161
|
-
end
|
162
|
-
end
|
163
|
-
```
|
164
|
-
|
165
|
-
## Notes
|
166
|
-
|
167
|
-
[1] Using `Workarea::Content#slug`, not `Workarea::Navigable#slug`. Navigable slugs are guaranteed to be unique, but content slugs are not. Be aware when adding an area, you may be affecting many content instances.
|
168
|
-
|
169
|
-
[2] If my application were already overriding the layout, I would skip the partial and render the blocks directly in the layout file.
|