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.
- checksums.yaml +4 -4
- data/.eslintrc.json +35 -0
- data/.github/workflows/ci.yml +60 -0
- data/.gitignore +1 -2
- data/.rubocop.yml +2 -7
- data/.stylelintrc.json +8 -0
- data/Gemfile +0 -1
- data/README.md +38 -51
- data/app/assets/javascripts/workarea/storefront/modules/mobile_filter_buttons.js +3 -1
- data/app/assets/stylesheets/workarea/storefront/blog/components/_blog_entry.scss +0 -6
- data/app/assets/stylesheets/workarea/storefront/components/_product_list.scss +14 -7
- data/app/views/layouts/workarea/storefront/application.html.haml +11 -17
- data/app/views/layouts/workarea/storefront/checkout.html.haml +1 -1
- data/app/views/workarea/storefront/blog_entries/show.html.haml +26 -20
- data/app/views/workarea/storefront/blogs/_blog_navigation.html.haml +6 -5
- data/app/views/workarea/storefront/carts/_move_to_wish_list.html.haml +4 -3
- data/app/views/workarea/storefront/carts/show.html.haml +1 -1
- data/app/views/workarea/storefront/categories/show.html.haml +3 -2
- data/app/views/workarea/storefront/checkouts/_gift_card_payment.html.haml +20 -12
- data/app/views/workarea/storefront/checkouts/confirmation.html.haml +3 -1
- data/app/views/workarea/storefront/content_blocks/_category_summary.html.haml +2 -1
- data/app/views/workarea/storefront/content_blocks/_product_insights.html.haml +2 -1
- data/app/views/workarea/storefront/content_blocks/_product_list.html.haml +2 -1
- data/app/views/workarea/storefront/menus/index.html.haml +4 -3
- data/app/views/workarea/storefront/orders/_summary.html.haml +7 -2
- data/app/views/workarea/storefront/products/_media.html.haml +3 -3
- data/app/views/workarea/storefront/products/_rating.html.haml +1 -2
- data/app/views/workarea/storefront/products/_reviews.html.haml +5 -5
- data/app/views/workarea/storefront/products/_reviews_aggregate.html.haml +2 -2
- data/app/views/workarea/storefront/products/show.html.haml +6 -3
- data/app/views/workarea/storefront/products/templates/_generic.html.haml +4 -4
- data/app/views/workarea/storefront/products/templates/_gift_card.html.haml +4 -4
- data/app/views/workarea/storefront/products/templates/_option_selects.html.haml +4 -4
- data/app/views/workarea/storefront/products/templates/_option_thumbnails.html.haml +4 -4
- data/app/views/workarea/storefront/products/templates/_swatches.html.haml +4 -4
- data/app/views/workarea/storefront/recent_views/show.html.haml +3 -10
- data/app/views/workarea/storefront/recommendations/show.html.haml +1 -1
- data/app/views/workarea/storefront/reviews/new.html.haml +3 -3
- data/app/views/workarea/storefront/searches/show.html.haml +4 -5
- data/app/views/workarea/storefront/shares/_share_buttons.html.haml +0 -3
- data/app/views/workarea/storefront/users/accounts/_wish_list_summary.html.haml +3 -2
- data/app/views/workarea/storefront/users/accounts/edit.html.haml +3 -3
- data/app/views/workarea/storefront/users/accounts/show.html.haml +3 -3
- data/app/views/workarea/storefront/users/addresses/edit.html.haml +3 -3
- data/app/views/workarea/storefront/users/addresses/new.html.haml +3 -3
- data/app/views/workarea/storefront/users/credit_cards/edit.html.haml +3 -3
- data/app/views/workarea/storefront/users/credit_cards/new.html.haml +3 -3
- data/lib/workarea/nvy_theme/version.rb +1 -1
- data/package.json +9 -0
- data/test/helpers/workarea/storefront/reviews_helper_test.decorator +9 -0
- data/test/system/workarea/admin/guest_browsing_system_test.decorator +1 -1
- data/test/system/workarea/storefront/analytics_system_test.decorator +1 -1
- data/workarea-nvy_theme.gemspec +11 -11
- data/yarn.lock +3265 -0
- metadata +42 -55
- data/LICENSE.md +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1b0cfc51aa68943a262519076c0bec65dae7d24c3e97090bbfbb5cd017ec980d
|
4
|
+
data.tar.gz: fa525363ac9f7f676735b3f950973f9d6ea93bed97fa85318c5a9a24bab54a50
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
data/.rubocop.yml
CHANGED
data/.stylelintrc.json
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
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
|
-
|
167
|
+
See [https://developer.workarea.com](https://developer.workarea.com) for Workarea Commerce documentation.
|
182
168
|
|
183
|
-
|
169
|
+
License
|
170
|
+
--------------------------------------------------------------------------------
|
184
171
|
|
185
|
-
|
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);
|
@@ -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
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
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')
|
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
|
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
|
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
|
12
|
+
%span.breadcrumbs__node
|
7
13
|
= link_to t('workarea.storefront.layouts.home'), root_path, rel: 'home'
|
8
|
-
%span.breadcrumbs__node
|
14
|
+
%span.breadcrumbs__node
|
9
15
|
= link_to @entry.blog.name, blog_path(@entry.blog)
|
10
|
-
%span.breadcrumbs__node
|
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
|
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
|
-
-
|
30
|
-
%
|
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
|
-
|
37
|
-
|
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
|
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
|
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
|
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
|
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
|
80
|
+
= local_time(comment.created_at, format: :long);
|
75
81
|
|
76
|
-
%p.blog-entry__comment-item.blog-entry__comment-item--body
|
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) } }
|