workarea-nvy_theme 1.1.4 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/.eslintrc.json +35 -0
  3. data/.github/workflows/ci.yml +60 -0
  4. data/.gitignore +1 -2
  5. data/.rubocop.yml +2 -7
  6. data/.stylelintrc.json +8 -0
  7. data/Gemfile +0 -1
  8. data/README.md +38 -51
  9. data/app/assets/javascripts/workarea/storefront/modules/mobile_filter_buttons.js +3 -1
  10. data/app/assets/stylesheets/workarea/storefront/blog/components/_blog_entry.scss +0 -6
  11. data/app/assets/stylesheets/workarea/storefront/components/_product_list.scss +14 -7
  12. data/app/views/layouts/workarea/storefront/application.html.haml +11 -17
  13. data/app/views/layouts/workarea/storefront/checkout.html.haml +1 -1
  14. data/app/views/workarea/storefront/blog_entries/show.html.haml +26 -20
  15. data/app/views/workarea/storefront/blogs/_blog_navigation.html.haml +6 -5
  16. data/app/views/workarea/storefront/carts/_move_to_wish_list.html.haml +4 -3
  17. data/app/views/workarea/storefront/carts/show.html.haml +1 -1
  18. data/app/views/workarea/storefront/categories/show.html.haml +3 -2
  19. data/app/views/workarea/storefront/checkouts/_gift_card_payment.html.haml +20 -12
  20. data/app/views/workarea/storefront/checkouts/confirmation.html.haml +3 -1
  21. data/app/views/workarea/storefront/content_blocks/_category_summary.html.haml +2 -1
  22. data/app/views/workarea/storefront/content_blocks/_product_insights.html.haml +2 -1
  23. data/app/views/workarea/storefront/content_blocks/_product_list.html.haml +2 -1
  24. data/app/views/workarea/storefront/menus/index.html.haml +4 -3
  25. data/app/views/workarea/storefront/orders/_summary.html.haml +7 -2
  26. data/app/views/workarea/storefront/products/_media.html.haml +3 -3
  27. data/app/views/workarea/storefront/products/_rating.html.haml +1 -2
  28. data/app/views/workarea/storefront/products/_reviews.html.haml +5 -5
  29. data/app/views/workarea/storefront/products/_reviews_aggregate.html.haml +2 -2
  30. data/app/views/workarea/storefront/products/show.html.haml +6 -3
  31. data/app/views/workarea/storefront/products/templates/_generic.html.haml +4 -4
  32. data/app/views/workarea/storefront/products/templates/_gift_card.html.haml +4 -4
  33. data/app/views/workarea/storefront/products/templates/_option_selects.html.haml +4 -4
  34. data/app/views/workarea/storefront/products/templates/_option_thumbnails.html.haml +4 -4
  35. data/app/views/workarea/storefront/products/templates/_swatches.html.haml +4 -4
  36. data/app/views/workarea/storefront/recent_views/show.html.haml +3 -10
  37. data/app/views/workarea/storefront/recommendations/show.html.haml +1 -1
  38. data/app/views/workarea/storefront/reviews/new.html.haml +3 -3
  39. data/app/views/workarea/storefront/searches/show.html.haml +4 -5
  40. data/app/views/workarea/storefront/shares/_share_buttons.html.haml +0 -3
  41. data/app/views/workarea/storefront/users/accounts/_wish_list_summary.html.haml +3 -2
  42. data/app/views/workarea/storefront/users/accounts/edit.html.haml +3 -3
  43. data/app/views/workarea/storefront/users/accounts/show.html.haml +3 -3
  44. data/app/views/workarea/storefront/users/addresses/edit.html.haml +3 -3
  45. data/app/views/workarea/storefront/users/addresses/new.html.haml +3 -3
  46. data/app/views/workarea/storefront/users/credit_cards/edit.html.haml +3 -3
  47. data/app/views/workarea/storefront/users/credit_cards/new.html.haml +3 -3
  48. data/lib/workarea/nvy_theme/version.rb +1 -1
  49. data/package.json +9 -0
  50. data/test/helpers/workarea/storefront/reviews_helper_test.decorator +9 -0
  51. data/test/system/workarea/admin/guest_browsing_system_test.decorator +1 -1
  52. data/test/system/workarea/storefront/analytics_system_test.decorator +1 -1
  53. data/workarea-nvy_theme.gemspec +11 -11
  54. data/yarn.lock +3265 -0
  55. metadata +42 -55
  56. data/LICENSE.md +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7f716ea9b0250c72e2a21686460bc6911650da70df350e658d2ba5ae24efedd4
4
- data.tar.gz: 21976a8786868e3827ebd449eb7092af70e1c7d04ecf58763303ff4751c0e9f3
3
+ metadata.gz: 1b0cfc51aa68943a262519076c0bec65dae7d24c3e97090bbfbb5cd017ec980d
4
+ data.tar.gz: fa525363ac9f7f676735b3f950973f9d6ea93bed97fa85318c5a9a24bab54a50
5
5
  SHA512:
6
- metadata.gz: 1cb708aa405b7c7b32f656b77030cb953f97e077da2e8c3034e1dea7b3cbe6120a4860f80c27ce4201432779b814ed1a06135a346f27460a7820af96c02b1382
7
- data.tar.gz: cc0b6569b0f3837180275118e740fe734638a86fdca75d35b54f5c8ab2c9bd6f682b2026c5a4bd7d7cccdbfbeb8bc3f3454bb3d73b15b48e2ef29d7ab149159a
6
+ metadata.gz: 20a63228d992f17fe47d166609d82c10ef60534910774938d0a9c4412eda2267024c2c35cd455fabaefd1e9f5912dbec18dedd72cc7dc76cc433895ae57dff37
7
+ data.tar.gz: d06b8872df9d4bf4ea947990f1fa610b5fe4ffd7d0384a8902106faa3c29aeea0465d186d0797d7bc33543a5b7dd7bc09944d5f60b133ccbf475e8d9259fa2f9
data/.eslintrc.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "extends": "eslint:recommended",
3
+ "rules": {
4
+ "semi": ["error", "always"],
5
+ "eqeqeq": ["error", "always"]
6
+ },
7
+ "globals": {
8
+ "window": true,
9
+ "document": true,
10
+ "WORKAREA": true,
11
+ "$": true,
12
+ "jQuery": true,
13
+ "_": true,
14
+ "feature": true,
15
+ "JST": true,
16
+ "Turbolinks": true,
17
+ "I18n": true,
18
+ "Chart": true,
19
+ "Dropzone": true,
20
+ "strftime": true,
21
+ "Waypoint": true,
22
+ "wysihtml": true,
23
+ "LocalTime": true,
24
+ "describe": true,
25
+ "after": true,
26
+ "afterEach": true,
27
+ "before": true,
28
+ "beforeEach": true,
29
+ "it": true,
30
+ "expect": true,
31
+ "sinon": true,
32
+ "fixture": true,
33
+ "chai": true
34
+ }
35
+ }
@@ -0,0 +1,60 @@
1
+ name: CI
2
+ on: [push]
3
+
4
+ jobs:
5
+ static_analysis:
6
+ runs-on: ubuntu-latest
7
+ steps:
8
+ - uses: actions/checkout@v1
9
+ - uses: workarea-commerce/ci/bundler-audit@v1
10
+ - uses: workarea-commerce/ci/rubocop@v1
11
+ - uses: workarea-commerce/ci/eslint@v1
12
+ with:
13
+ args: '**/*.js'
14
+ - uses: workarea-commerce/ci/stylelint@v1
15
+ with:
16
+ args: '**/*.scss'
17
+
18
+ admin_tests:
19
+ runs-on: ubuntu-latest
20
+ steps:
21
+ - uses: actions/checkout@v1
22
+ - uses: actions/setup-ruby@v1
23
+ with:
24
+ ruby-version: 2.6.x
25
+ - uses: workarea-commerce/ci/test@v1
26
+ with:
27
+ command: bin/rails app:workarea:test:admin
28
+
29
+ core_tests:
30
+ runs-on: ubuntu-latest
31
+ steps:
32
+ - uses: actions/checkout@v1
33
+ - uses: actions/setup-ruby@v1
34
+ with:
35
+ ruby-version: 2.6.x
36
+ - uses: workarea-commerce/ci/test@v1
37
+ with:
38
+ command: bin/rails app:workarea:test:core
39
+
40
+ storefront_tests:
41
+ runs-on: ubuntu-latest
42
+ steps:
43
+ - uses: actions/checkout@v1
44
+ - uses: actions/setup-ruby@v1
45
+ with:
46
+ ruby-version: 2.6.x
47
+ - uses: workarea-commerce/ci/test@v1
48
+ with:
49
+ command: bin/rails app:workarea:test:storefront
50
+
51
+ plugins_tests:
52
+ runs-on: ubuntu-latest
53
+ steps:
54
+ - uses: actions/checkout@v1
55
+ - uses: actions/setup-ruby@v1
56
+ with:
57
+ ruby-version: 2.6.x
58
+ - uses: workarea-commerce/ci/test@v1
59
+ with:
60
+ command: bin/rails app:workarea:test:plugins
data/.gitignore CHANGED
@@ -20,5 +20,4 @@ test/dummy/log/*.log
20
20
  test/dummy/db/*.sqlite3
21
21
  test/dummy/db/*.sqlite3-journal
22
22
  node_modules
23
- package.json
24
- yarn.lock
23
+ .rubocop-http*
data/.rubocop.yml CHANGED
@@ -1,8 +1,3 @@
1
- inherit_gem:
2
- workarea-ci: rubocop.yml
1
+ inherit_from:
2
+ - https://raw.githubusercontent.com/workarea-commerce/workarea/master/.rubocop.yml
3
3
 
4
- AllCops:
5
- Exclude:
6
- - 'test/dummy/**/*'
7
- - 'lib/nvy_theme.rb'
8
- - 'lib/nvy_theme/**/*'
data/.stylelintrc.json ADDED
@@ -0,0 +1,8 @@
1
+ {
2
+ "extends": "stylelint-config-recommended-scss",
3
+ "rules": {
4
+ "block-no-empty": null,
5
+ "no-descending-specificity": null,
6
+ "property-no-unknown": [true, { "ignoreProperties": ["mso-hide"] }]
7
+ }
8
+ }
data/Gemfile CHANGED
@@ -1,5 +1,4 @@
1
1
  source 'https://rubygems.org'
2
- git_source(:github) { |repo| "git@github.com:#{repo}.git" }
3
2
  git_source(:github) { |repo| "https://github.com/#{repo}.git" }
4
3
 
5
4
  # Declare your gem's dependencies in nvy_theme.gemspec.
data/README.md CHANGED
@@ -1,4 +1,5 @@
1
- # Workarea Nvy Theme
1
+ Workarea Nvy Theme
2
+ ================================================================================
2
3
 
3
4
  Nvy Theme plugin for the Workarea platform.
4
5
 
@@ -9,13 +10,15 @@ Nvy Theme plugin for the Workarea platform.
9
10
  For bug reports and improvement suggestions create a ticket in the [NVYTHEME jira
10
11
  project.](https://jira.tools.weblinc.com/projects/NVYTHEME/issues)
11
12
 
12
- ## Browser Support
13
+ Browser Support
14
+ --------------------------------------------------------------------------------
13
15
 
14
16
  Due to the occasional use of flexbox; NvyTheme only supports IE 10+
15
17
  If you need to support older versions of IE you will need to provide alternative styles
16
18
  where flexbox is used.
17
19
 
18
- ## Optimal Image Sizes
20
+ Optimal Image Sizes
21
+ --------------------------------------------------------------------------------
19
22
 
20
23
  | Image Type| Optimum size | Note |
21
24
  |----------|--------|-------|
@@ -24,7 +27,8 @@ where flexbox is used.
24
27
  | Product Images | 944px x 1416px | This size does not account for use of image-zoom, it is recommended to *at least* double this size if your client is likely to want zoom functionality. |
25
28
  | Blog thumbnails | 160px x 160px ||
26
29
 
27
- ## Out of the box plugin support
30
+ Out of the box plugin support
31
+ --------------------------------------------------------------------------------
28
32
 
29
33
  The following workarea plugins are supported by NvyTheme, and are dependencies of the plugin.
30
34
 
@@ -38,7 +42,26 @@ The following workarea plugins are supported by NvyTheme, and are dependencies o
38
42
  * Slick Slider
39
43
  * Wish Lists
40
44
 
41
- ## Theme Configuration
45
+ Getting Started
46
+ --------------------------------------------------------------------------------
47
+
48
+ Add the gem to your application's Gemfile:
49
+
50
+ ```ruby
51
+ # ...
52
+ gem 'workarea-nvy_theme'
53
+ # ...
54
+ ```
55
+
56
+ Update your application's bundle.
57
+
58
+ ```bash
59
+ cd path/to/application
60
+ bundle
61
+ ```
62
+
63
+ Theme Configuration
64
+ --------------------------------------------------------------------------------
42
65
 
43
66
  ### Recommended initializer configuration
44
67
 
@@ -84,7 +107,9 @@ more developer friendly. In the meantime you can create a new color scheme by:
84
107
  2. Update the color_scheme config to match the name of your new color scheme file.
85
108
 
86
109
  __Example__
87
- This will create a sass file called _custom_color_scheme.scss in your host application, please change <your-app-name>
110
+
111
+ This will create a sass file called `_custom_color_scheme.scss` in your host application, please change \<your-app-name\> in the following command to the directory of your application.
112
+
88
113
  From your ~/src directory, ensure you have workarea-nvy-theme pulled down
89
114
 
90
115
  ```bash
@@ -121,7 +146,7 @@ I recommend using google fonts where possible, the [googlefonts webfont helper](
121
146
  1. Create a new directory in app/assets/fonts/workarea/storefront/<your_font_name_here>
122
147
  2. Download woff and woff2 files for the font you want to use.
123
148
  3. Place your font files in the directory we created in step 1.
124
- 4. Create a sass file for you @font-face declarations in /app/assets/stylesheets/workarea/storefront/theme_config/fonts/_<your_font_name_here>.scss
149
+ 4. Create a sass file for you @font-face declarations in /app/assets/stylesheets/workarea/storefront/theme_config/fonts/`_<your_font_name_here>.scss`
125
150
  5. Update your theme initializer, adding a new font_stack and setting either the primary_font_family or secondary_font_family
126
151
 
127
152
  Example configuration for Calibri font stack used as secondary font family:
@@ -136,50 +161,12 @@ config.theme = config.theme.merge(
136
161
  )
137
162
  ```
138
163
 
139
- ---
140
-
141
- ## Getting Started
142
-
143
- This gem contains a rails engine that must be mounted onto a host Rails application.
144
-
145
- To access Workarea gems and source code, you must be an employee of WebLinc or a licensed retailer or partner.
146
-
147
- Workarea gems are hosted privately at <https://gems.weblinc.com/>.
148
- You must have individual or team credentials to install gems from this server. Add your gems server credentials to Bundler:
149
-
150
- bundle config gems.weblinc.com my_username:my_password
151
-
152
- Or set the appropriate environment variable in a shell startup file:
153
-
154
- export BUNDLE_GEMS__WEBLINC__COM='my_username:my_password'
155
-
156
- Then add the gem to your application's Gemfile specifying the source:
157
-
158
- # ...
159
- gem 'workarea-nvy_theme', source: 'https://gems.weblinc.com'
160
- # ...
161
-
162
- Or use a source block:
163
-
164
- # ...
165
- source 'https://gems.weblinc.com' do
166
- gem 'workarea-nvy_theme'
167
- end
168
- # ...
169
-
170
- Update your application's bundle.
171
-
172
- cd path/to/application
173
- bundle
174
-
175
- ---
176
-
177
- ## Workarea Platform Documentation
178
-
179
- See [http://developer.weblinc.com](http://developer.weblinc.com) for Workarea platform documentation.
164
+ Workarea Commerce Documentation
165
+ --------------------------------------------------------------------------------
180
166
 
181
- ## Copyright & Licensing
167
+ See [https://developer.workarea.com](https://developer.workarea.com) for Workarea Commerce documentation.
182
168
 
183
- Copyright WebLinc 2018 All rights reserved.
169
+ License
170
+ --------------------------------------------------------------------------------
184
171
 
185
- For licensing, contact sales@workarea.com.
172
+ Workarea NVY Theme is released under the [Business Software License](LICENSE)
@@ -41,12 +41,14 @@ WORKAREA.registerModule('mobileFilterButtons', (function () {
41
41
 
42
42
  inject = function () {
43
43
  var $nav = $('<div class="mobile-filters-nav" id="mobile_filters_nav" />'),
44
- $content = $('#aside-content');
44
+ $content = $('#aside-content').clone(true);
45
45
 
46
46
  $nav.append($content);
47
47
 
48
48
  addCloseButton($nav);
49
49
 
50
+ WORKAREA.initModules($nav);
51
+
50
52
  $('body').append($nav);
51
53
 
52
54
  _.defer(activate, $nav);
@@ -53,12 +53,6 @@ $blog-entry-comment-border-color: $blog-comment-border-color !default;
53
53
  margin-bottom: $vertical-margin;
54
54
  }
55
55
 
56
- .blog-entry__share {
57
- margin-bottom: $vertical-margin;
58
- }
59
-
60
- .blog-entry__share-heading {}
61
-
62
56
  /**
63
57
  * Comments
64
58
  *
@@ -13,9 +13,21 @@ $product-list-info-item-margin: $spacing-unit 0 0 !default;
13
13
  .product-list {
14
14
  @extend %list-reset;
15
15
  margin-bottom: $vertical-margin;
16
+
17
+ @include respond-to($medium-breakpoint) {
18
+ display: table;
19
+ width: 100%;
20
+ border-spacing: 0;
21
+ border-collapse: collapse;
22
+ }
16
23
  }
17
24
 
18
- .product-list--narrow {}
25
+ .product-list--narrow {
26
+ @include respond-to($medium-breakpoint) {
27
+ display: block;
28
+ width: auto;
29
+ }
30
+ }
19
31
 
20
32
  .product-list__item {
21
33
  @extend %clearfix;
@@ -24,12 +36,7 @@ $product-list-info-item-margin: $spacing-unit 0 0 !default;
24
36
  border-bottom: $product-list-item-border;
25
37
 
26
38
  @include respond-to ($medium-breakpoint) {
27
- display: table;
28
- margin-bottom: $spacing-unit * 3;
29
- width: 100%;
30
- border: $product-list-item-border;
31
- border-spacing: 0;
32
- border-collapse: collapse;
39
+ display: table-row;
33
40
  }
34
41
 
35
42
  .product-list--narrow & {
@@ -1,5 +1,6 @@
1
1
  - add_css(layout_content.css)
2
2
  - add_javascript(layout_content.javascript)
3
+ - add_head_content(layout_content.head_content)
3
4
 
4
5
  !!!
5
6
  /
@@ -32,21 +33,13 @@
32
33
  = append_partials('storefront.document_head')
33
34
  = javascript_include_tag Workarea.config.asset_manifests.storefront_javascript_head
34
35
 
35
- %script{ type: 'application/ld+json' }
36
- :plain
37
- {
38
- "@context": "http://schema.org",
39
- "@type": "WebSite",
40
- "url": "#{root_url}",
41
- "potentialAction": {
42
- "@type": "SearchAction",
43
- "target": "#{search_url}?q={search_term_string}",
44
- "query-input": "required name=search_term_string"
45
- }
46
- }
47
-
48
-
49
- %body{ itemscope: true, itemtype: 'http://schema.org/WebPage' }
36
+ = render_schema_org(web_site_schema)
37
+ = render_schema_org(web_page_schema)
38
+
39
+ = yield :head_content
40
+ = yield :javascript_head
41
+
42
+ %body
50
43
  = append_partials('storefront.body_top')
51
44
 
52
45
  %nav.accessibility-nav.visually-hidden{ role: 'navigation' }
@@ -88,7 +81,8 @@
88
81
  .page-header__search
89
82
  = form_tag search_path, method: 'get', class: 'page-header__search-form', role: 'search' do
90
83
  .page-header__search-value
91
- .value= search_field_tag :q, params[:q], id: 'storefront_search', class: 'text-box text-box--full', title: t('workarea.storefront.searches.search'), aria: { label: t('workarea.storefront.searches.search') }, placeholder: t('workarea.storefront.searches.search'), data: { search_field: '' }
84
+ .value= search_field_tag :q, params[:q], id: 'storefront_search', class: 'text-box text-box--full', title: t('workarea.storefront.searches.search'), aria: { label: t('workarea.storefront.searches.search') }, placeholder: t('workarea.storefront.searches.search')
85
+ = append_partials('storefront.page_header_search_value')
92
86
  = button_tag value: 'search', class: 'page-header__search-button' do
93
87
  = inline_svg('workarea/storefront/icons/search.svg', class: 'page-header__search-icon', title: t('workarea.storefront.forms.go'))
94
88
 
@@ -129,7 +123,7 @@
129
123
  .breadcrumbs{ role: 'navigation' }
130
124
  %p.breadcrumbs__node-group
131
125
  - @breadcrumbs.each do |taxon|
132
- %span.breadcrumbs__node{ itemprop: 'breadcrumb' }
126
+ %span.breadcrumbs__node
133
127
  - if taxon.navigable.present?
134
128
  - if @breadcrumbs.last == taxon
135
129
  %span.breadcrumbs__text= taxon.name
@@ -28,7 +28,7 @@
28
28
  = append_partials('storefront.document_head')
29
29
  = javascript_include_tag Workarea.config.asset_manifests.storefront_javascript_head
30
30
 
31
- %body{ itemscope: true, itemtype: 'http://schema.org/WebPage' }
31
+ %body
32
32
  = append_partials('storefront.body_top')
33
33
 
34
34
  %nav.accessibility-nav.visually-hidden
@@ -1,16 +1,25 @@
1
1
  - @title = @entry.browser_title
2
2
  - @breadcrumbs = @breadcrumbs
3
3
 
4
+ - add_css(@entry.css)
5
+ - add_javascript(@entry.javascript)
6
+
7
+ = render_schema_org(breadcrumb_list_schema([[t('workarea.storefront.layouts.home'), root_url], [@entry.blog.name, blog_url(@entry.blog)], [@entry.name, blog_entry_url(@entry)]]))
8
+ = render_schema_org(blog_posting_schema(@entry))
9
+
4
10
  - content_for :breadcrumbs do
5
11
  %p.breadcrumbs__node-group
6
- %span.breadcrumbs__node{ itemprop: 'breadcrumb' }
12
+ %span.breadcrumbs__node
7
13
  = link_to t('workarea.storefront.layouts.home'), root_path, rel: 'home'
8
- %span.breadcrumbs__node{ itemprop: 'breadcrumb' }
14
+ %span.breadcrumbs__node
9
15
  = link_to @entry.blog.name, blog_path(@entry.blog)
10
- %span.breadcrumbs__node{ itemprop: 'breadcrumb' } #{@entry.name}
16
+ %span.breadcrumbs__node= @entry.name
11
17
 
12
18
  - content_for :head do
13
19
  %link{ href: blog_entry_path(@entry), rel: 'canonical' }
20
+ %meta{ property: 'og:title', content: @entry.name }
21
+ %meta{ property: 'og:type', content: 'article' }
22
+ %meta{ property: 'og:url', content: blog_entry_path(@entry) }
14
23
  - if @entry.thumbnail_image.present?
15
24
  %meta{ property: 'og:image', content: @entry.thumbnail_image_url }
16
25
  %meta{ property: 'global-id', content: @entry.to_global_id.to_param }
@@ -20,32 +29,27 @@
20
29
  - content_for :page_aside do
21
30
  = render 'workarea/storefront/blogs/blog_navigation', blog: @entry.blog
22
31
 
23
- %article.blog-entry.view{ itemscope: true, itemtype: 'http://schema.org/BlogPosting' }
32
+ %article.blog-entry.view
24
33
 
25
34
  %heading.blog-entry__header
26
35
  - if @entry.content_blocks_for(:blog_header).present?
27
36
  != render_content_blocks(@entry.content_blocks_for('blog_header'))
28
37
 
29
- - if @entry.has_thumbnail_image?
30
- %meta{ itemprop: 'image', content: @entry.thumbnail_image_url }
31
-
32
- %h1.blog-entry__title{ itemprop: 'mainEntityOfPage' }
33
- %span{ itemprop: 'headline' }= @entry.name
34
- %p.blog-entry__author{ itemprop: 'author' }= @entry.author
38
+ %h1.blog-entry__title
39
+ %span= @entry.name
40
+ %p.blog-entry__author= @entry.author
35
41
  %p.blog-entry__datetime
36
- %meta{ itemprop: 'dateModified', content: @entry.written_at }
37
- = local_time(@entry.written_at, format: :long, itemprop: 'datePublished')
38
- %p.blog-entry__comment-count{ itemprop: 'commentCount' }= link_to t('workarea.storefront.blogs.comments', count: @entry.comment_count), blog_entry_path(@entry, anchor: 'blog-entry-comments')
39
- = render 'workarea/storefront/blog_metadata/publisher'
42
+ = local_time(@entry.written_at, format: :long)
43
+ %p.blog-entry__comment-count= link_to t('workarea.storefront.blogs.comments', count: @entry.comment_count), blog_entry_path(@entry, anchor: 'blog-entry-comments')
40
44
 
41
45
  - if @entry.tags.present?
42
46
  .blog-entry__tags
43
47
  %p.blog-entry__label= t('workarea.storefront.blogs.tags')
44
- %ul.blog-entry__tags-list{ itemprop: 'keywords' }
48
+ %ul.blog-entry__tags-list
45
49
  - @entry.tags.each do |tag|
46
50
  %li.blog-entry__tags-list-item= link_to tag, blog_tagged_path(@entry.blog, tag)
47
51
 
48
- .blog-entry__body{ itemprop: 'articleBody' }
52
+ .blog-entry__body
49
53
  - if @entry.content_blocks_for(:blog_content).present?
50
54
  != render_content_blocks(@entry.content_blocks_for('blog_content'))
51
55
 
@@ -54,8 +58,10 @@
54
58
  %h2.blog-entry__products-heading= t('workarea.storefront.blogs.related_products')
55
59
  %ul.grid.grid--auto
56
60
  - @entry.products.each do |product|
61
+ = render_schema_org(product_schema(product))
62
+
57
63
  %li.grid__cell>
58
- .product-summary{ itemscope: true, itemtype: 'http://schema.org/Product' }
64
+ .product-summary
59
65
  = render 'workarea/storefront/products/summary', product: product
60
66
 
61
67
  #blog-entry-comments.blog-entry__comments
@@ -67,13 +73,13 @@
67
73
  %p.blog-entry__write-comment-link= link_to t('workarea.storefront.blogs.write_comment'), '#write-comment', class: 'button button--solid'
68
74
  %ul.blog-entry__comment-group
69
75
  - @entry.comments.each do |comment|
70
- %li.blog-entry__comment{ itemprop: 'comment', itemscope: true, itemType: 'http://schema.org/Comment' }
76
+ %li.blog-entry__comment
71
77
  %p.blog-entry__comment-item.blog-entry__comment-item--author
72
78
  = comment.user_info
73
79
  %p.blog-entry__comment-item.blog-entry__comment-item--datetime
74
- = local_time(comment.created_at, format: :long, itemprop: 'dateCreated');
80
+ = local_time(comment.created_at, format: :long);
75
81
 
76
- %p.blog-entry__comment-item.blog-entry__comment-item--body{itemprop: 'text'}
82
+ %p.blog-entry__comment-item.blog-entry__comment-item--body
77
83
  = comment.body
78
84
 
79
85
  #write-comment.blog-entry__section{ data: { blog_comment_placeholder: blog_entry_comments_path(@entry) } }