diff --git a/_includes/refactor-content.html b/_includes/refactor-content.html
index 8d298cde6..4586f5c47 100644
--- a/_includes/refactor-content.html
+++ b/_includes/refactor-content.html
@@ -88,9 +88,41 @@
{% endfor %}
+ {% assign _wrapper_class = '' %}
+
{% if _class %}
- {% capture _old_class %}class="{{ _class }}"{% endcapture %}
- {% assign _left = _left | remove: _old_class %}
+ {% assign _remain = _class %}
+ {% assign _class_array = _class | split: ' ' %}
+
+ {% for c in _class_array %}
+ {% assign _pick = false %}
+
+ {% case c %}
+ {% when 'preview-img', 'normal', 'left', 'right', 'light', 'dark' %}
+ {% assign _pick = true %}
+ {% else %}
+ {% if c contains '-' %}
+ {% assign start = c | split: '-' | first %}
+ {% if start == 'w' %}
+ {% assign _pick = true %}
+ {% endif %}
+ {% endif %}
+ {% endcase %}
+
+ {% if _pick %}
+ {% assign _remain = _remain | remove: c | strip %}
+ {% assign _wrapper_class = _wrapper_class | append: ' ' | append: c %}
+ {% endif %}
+ {% endfor %}
+
+ {% unless _wrapper_class == '' %}
+ {% capture _old_class %}class="{{ _class }}"{% endcapture %}
+ {% assign _left = _left | remove: _old_class %}
+ {% unless _remain == '' %}
+ {% capture _new_class %}class="{{ _remain }}"{% endcapture %}
+ {% assign _left = _left | append: _new_class %}
+ {% endunless %}
+ {% endunless %}
{% endif %}
{% assign _final_src = null %}
@@ -110,7 +142,7 @@
{% if _lqip %}
{% assign _lazyload = false %}
- {% assign _class = _class | append: ' blur' %}
+ {% assign _wrapper_class = _wrapper_class | append: ' blur' %}
{% unless _lqip contains 'data:' %}
{% assign _lqip_alt = 'lqip="' | append: _path_prefix %}
@@ -121,7 +153,7 @@
{% assign _left = _left | replace: 'src=', 'data-src=' | replace: ' lqip=', ' data-lqip="true" src=' %}
{% else %}
- {% assign _class = _class | append: ' shimmer' %}
+ {% assign _wrapper_class = _wrapper_class | append: ' shimmer' %}
{% endif %}
@@ -153,8 +185,8 @@
{% assign _wrapper_start = _final_src
| default: _src
| prepend: '