Blank 6.1.1 - Elegant Minimalist Blog WordPress Theme

Created: 12 years ago
(4.65 Rating)
942 Sales

Blank - Elegant Minimalist Blog WordPress Theme

Check out our latest blog theme The Fox (5,800 customers) with minimal design and 30+ prebuilt websites to get started with. Blank latest version 2.2.3 – (March 08, 2023) Blank is an elegant, minimalistic WordPress theme with ultra-clean design and strongly focusing on content.

Key features

  • WordPress 6.x ready & Gutenberg Editor ready
  • Responsive: looks well on all devices like iPhone, iPad or large screen. Sliders also work well with touch and swipe gesture.
  • Retina ready: It looks beautiful on high-resolution screens like those found on the iPad, Kindle Fire HD, Nexus 10, and MacBook Pro with Retina Display
  • Translation ready: Blank has included default.po and default.mo files. You can easily open and edit to turn your site into any language you want.
  • Extensive options: Nearly 100+ options, change the color and font on the fly. You can enable or disable almost everything.
  • SEO Optimized: Designed in HTML 5 and CSS3 with optimized code. Not only your visitors but Google loves this theme awesome fast speed.
  • Clean and elegant design: Minimalistic design focused on readability. It’s really effective for blog with long posts/heavy content.
  • 2 layouts: Both of hidden or visible sidebar looks great! It’s up to you.
  • Useful shortcodes: Easy to insert with TinyMCE button integrated.
  • 4 portfolio layouts: 2, 3 or 4 columns and you can choose to crop thumbnail or not.
  • Video Supported: Both in blog and portfolio.
  • Vertical Featured Image supported. Indeed, you have option to crop or not your featured image in each post. Thus, it looks beautiful regardless your featured image size. It’s great even your post has no featured images!
  • JetPack compatible: Has been tested with JetPack. Bring all great features of JetPack to your site with no troubles.
  • Unlimited colors: With color picker in admin panel, you can change the color easily.
  • Wide & Boxed layout: You can choose wide or boxed layout and in boxed mode, body background color and body background image are ready.
  • 2 Header Styles: Logo on the left or centered logo. Logo with and height are flexible.
  • Sticky header option: Easy to navigate with sticky header.
  • 500+ Google fonts: Just choose the font you love.
  • Custom Logo upload: Header and Footer logo and their Retina version as well. Also, you can upload favicon, Apple touch icons…
  • Post types supported: Standard, video, audio, gallery, link, quote, status. EVERYTHING you need for a blog.
  • Social Impact: Share buttons for each blog post
  • Related Posts: Built-in related posts design based on tag score.
  • 6 widgets included: including Tweet widget with updated v1.1 Twitter API. All widgets are polished so they look greatly!
  • Colorbox lightbox integrated
  • Icons: Nearly 400 icons in use width 33 social icons.
  • Awesome dropcap with “Alphabet of Children” font.
  • Built with Bootstrap: Using popular Bootstrap framework, you can easily edit if you have some coding skill.
  • One click installation: This theme has been included a demo.xml file, that helps you to you turn your site amazing as the demo site by one click.
  • Well documented
  • Dedicated Support and lifetime upgrade. Visit our support desk.

Credits

  • Special thanks to Pixabay, Jørgen Grotdal and Nicolas Jolly for images used on the demo site. These images are NOT included in the theme.

More Themes

  • The Fox – Modern & Minimal Newspaper WordPress theme – made with built-in page builder, ultrafast & lightweight, 30+ demos, 1,500+ options to build any type of blog/magazine.
  • Dine – Exquisite Restaurant WordPress theme made with Elementor, 1,000+ options and unlimited header/footer builder. Make your business professional. Designed for bistros, bars, pubs, restaurants, cafes, wine shops.

Change log

  • Version 2.2.3 – March 08, 2023
    • wp 6.1.1
    • fix: pencil icon issue
  • Version 2.2.2 – September 09, 2022
    • wp 6.x
    • fix: sticky header issue
  • Version 2.2.1 – June 16, 2022
    • fix minor issues
  • Version 2.2 – May 26, 2022
    • fix: all theme check issues
    • fix: validation issues
    • fix: secure wpdb query
    • fix: esc_attr, esc_html
  • Version 2.1.1 – September 05, 2020
    • Compatible with WordPress 5.5.x
  • Version 2.1 – June 12, 2019
    • Fix Theme Option SSL issue
    • Gutenberg & WP 5.x ready
    • Remove Google+ widget while Google+ stopped
  • Version 2.0 – December 12, 2015
    • Update TGM Activation to 2.5
    • Move required plugins to external
    • Not include plugin: "Better Feedburner Widget" by default, for those who needs it can download it here: https://wordpress.org/plugins/better-feedburner-widget/
    • Make theme compatible with WP 4.3, 4.4
    • Change thumbnail 940px --> 1100px to fit wide screens
    • Change Default primary color from #12dada to #0dad9d
    • Change the default option "Use Old Triangle Sidebar button" to true
    • Remove Favicon options while it's the job of WordPress
    • Organize Options in a tab view
    • Make the single image fullwidth anyway
    • Update widgets to compatible with WP 4.3+
    • Update plugins
    • Update the *po file for translation
    • Update the demo.xml file
    • Improve theme check result (remove thumbs.db, ds_store, add more css...)
    • Update Isotope to 2.2.2 to improve Portfolio Experience
    • Fix [email protected] issue
  • Version 1.9.1 – May 02, 2015
    • Fix issues concerning wp_kses() function
  • Version 1.9 – April 25, 2015
    • Update TGM Activation
    • Improve Code Quality
    • Fix style.css Retina widget link issue
    • Enqueue style instead of importing
    • Update Google fonts list
  • Version 1.8 – July 17, 2014
    • Social share on blog posts
    • Related Posts on blog posts
    • Fix small issues
      • Sticky Header
      • Social Icons
      • Boxed Layout
      • Retina issue
    • Loading effect for portfolio items
    • Redesign Portfolio Template: Allow post content and decoration
    • Design Portfolio Category
    • Add option to link image to the post
    • boxed layout wider than 20px each side
    • pagination option for portfolio
  • Version 1.7.1 – June 13, 2014
    • make it compatible backward, page-portfolio.php template comes back
    • option for old design of sidebar toggle button
    • fix boxed layout issue on mobile
    • fix pagination retina issue
  • Version 1.7 – June 03, 2014
    • redesign pagination buttons
    • make it compatible with WP 3.9 (shortcode generator)
    • make single thumbnail larger
    • add status post format
    • redesign the sidebar toggle button
    • develop portfolio shortcode and stop supporting portfolio template
    • add option: social icon option at top
    • add option: infinite scroll
    • update contact form 7 latest version
    • fix header logo height issue
    • fix gallery post format issue
    • fix mCSB_button.png missing file issue
    • fix some responsive issues
  • Version 1.6 – December 19, 2013
    • add custom footer background pattern option
    • add custom sidebar background option
    • add an option for tagline
    • add option to hide permalink
    • add option for uppercase/lowercase
    • add option for blog title and small text
    • add many font size options
    • add footer padding option
    • add google font preview in options
    • add custom decoration for portfolio page
    • fix triangle top position in WP 3.8 (admin bar 32px)
    • fix with Wordpress SEO by Yoast</li> <li>resize portfolio default default decoration in image folder</li> <li>fix portfolio all text in shortcode</li> <li>make it compatible with WP 3.8</li> <li>fix sticky header menu on mobile view</li> <li>fix custom separator pattern</li> <li>make it compatible with Blogroll plugin</li> <li>fix blog title line height</li> </ul> </li> <li>Version 1.5 – November 20, 2013 <ul> <li>fix .article clear both</li> <li>fix small issues</li> <li>fix sidr issue</li> <li>add option for decoration</li> <li>add sticky option for centered logo</li> <li>remove 1:11 proportion for navigation menu</li> <li>update contact form 7 to v 3.5.4</li> <li>update admin panel to SMOF 1.5.2</li> <li>fix child theme footer background path</li> <li>add option for content width up to 1100px</li> <li>add footer custom icon option</li> </ul> </li> <li>Version 1.4.3 – October 14, 2013 <ul> <li>update Wi:Portfolio plugin: add ability to add multi portfolios</li> <li>fix retina logo issue</li> <li>remove redundant script at the end of functions.php file</li> </ul> </li> <li>Version 1.4.2 – September 30, 2013 <ul><li>fix default value for header layout option.</li></ul> </li> <li>Version 1.4.1 – September 23, 2013 <ul> <li>fix boxed layout css</li> <li>fix footer icons issue</li> <li>fix blog font size options</li> </ul> </li> <li>Version 1.4 – September 05, 2013 <ul> <li>visible sidebar supported</li> <li>fix small issues</li> <li>2 header styles</li> <li>option for logo and navigation menu ratio</li> <li>option for sticky header</li> <li>option for page layout (small or fullwidth)</li> <li>option for boxed/wide layout</li> <li>option for header code</li> <li>option for navigation custom font</li> <li>option for body background color/image</li> </ul> </li> <li>Version 1.3 – August 01, 2013 <ul> <li>add many options for portfolio: layout, video, thumbnail...</li> <li>add metabox plugin to Wi:Portfolio shortcode</li> <li>move portfolio options from theme options to page options</li> <li>add iconbox, recent posts, recent portfolio shortcodes</li> <li>update demo.xml, language file and documentation</li> </ul> </li> <li>Version 1.2 – July 21, 2013 <ul> <li>Include portfolio plugin in theme via TGM</li> <li>Redesign Portfolio</li> <li>New demo.xml file</li> <li>Options for portfolio</li> </ul> </li> <li>Version 1.1 – July 19, 2013 <ul><li>Add portfolio plugin</li><li>Fix small issues</li><li>Update demo.xml</li></ul> </li> <li>Version 1.0 – July 17, 2013 <ul><li>Initial Release</li></ul> </li> </ul> </section> <div class="text-center mt-4"> <a href="#detail-header" class="jump-to-content"> <i class="fas fa-arrow-up me-1"></i> Back to Top </a> </div> <!-- Source Attribution --> <hr class="content-divider"> <div class="content-attribution"> <blockquote class="attribution-quote"> <p class="attribution-text"> The information on this website is sourced from the <a href="https://1.envato.market/c/3546921/275988/4415?subId1=themeslines.com&u=https%3A%2F%2Fthemeforest.net%2Fitem%2Fblank-elegant-minimalist-wordpress-blog-theme%2F5134048" target="_blank" rel="noreferrer noopener nofollow" class="attribution-link"> ThemeForest product page </a>. </p> </blockquote> </div> <!-- Prev / Next navigation --> <div class="d-flex justify-content-between align-items-center mt-3 mb-4"> <a href="/item/carrino-an-exciting-gutenberg-blog-theme/" class="btn btn-outline-primary btn-sm"> ← Previous <small class="text-muted d-block">Carrino - An Exciting Gutenberg Blog Th</small> </a> <a href="/item/onfleek-amp-ready-and-responsive-magazine-theme/" class="btn btn-outline-primary btn-sm"> Next → <small class="text-muted d-block text-end">Onfleek - AMP Ready and Responsive Magaz</small> </a> </div> </div> </div> <div class="col-lg-3 d-none d-lg-block"><!-- spacer to align with sidebar --></div> </div> </div> <!-- 相似主题模块 --> <div class="similar-items-section"> <div class="container"> <div class="similar-items-header d-flex align-items-center justify-content-between"> <div> <h3 class="similar-items-title">Similar Items</h3> </div> <div> <button type="button" id="carouselBackToStart" class="btn btn-link">Back to first item</button> </div> </div> <div class="similar-carousel-container"> <button class="carousel-arrow left" aria-label="Previous similar items">‹</button> <div class="similar-carousel-track" id="similarCarousel" tabindex="0" role="list"> <div class="similar-product-card" role="listitem"> <div class="similar-product-img-wrap"> <a href="/item/read-wp-minimalist-wordpress-blog-theme/"> <img src="https://images.themeslines.com/images/read-wp-minimalist-wordpress-blog-theme_main.jpg" class="similar-product-img" alt="Read WP 6.9 - Minimalist WordPress Blog Theme" onerror="this.src='/static/images/no-image.svg';"> </a> </div> <div class="similar-product-body"> <h5 class="similar-product-title"> <a href="/item/read-wp-minimalist-wordpress-blog-theme/">Read WP 6.9 - Minimalist WordPress Blog Theme</a> </h5> <div class="similar-product-meta"> by: <span>pixelwars</span> in <a href="/cat/wordpress-themes/">WordPress</a> </div> <div class="similar-product-price">$49</div> </div> </div> <div class="similar-product-card" role="listitem"> <div class="similar-product-img-wrap"> <a href="/item/typology-minimalist-blog-text-based-theme-for-wordpress/"> <img src="https://images.themeslines.com/images/typology-minimalist-blog-text-based-theme-for-wordpress_main.jpg" class="similar-product-img" alt="Typology - Minimalist Blog & Text Based Theme for WordPress" onerror="this.src='/static/images/no-image.svg';"> </a> </div> <div class="similar-product-body"> <h5 class="similar-product-title"> <a href="/item/typology-minimalist-blog-text-based-theme-for-wordpress/">Typology - Minimalist Blog & Text Based Theme for WordPress</a> </h5> <div class="similar-product-meta"> by: <span>meks</span> in <a href="/cat/wordpress-themes/">WordPress</a> </div> <div class="similar-product-price">$59</div> </div> </div> <div class="similar-product-card" role="listitem"> <div class="similar-product-img-wrap"> <a href="/item/laurent-elegant-restaurant-wordpress-theme/"> <img src="https://images.themeslines.com/images/laurent-elegant-restaurant-wordpress-theme_main.jpg" class="similar-product-img" alt="Laurent 3.7 Elegant Restaurant WordPress Theme" onerror="this.src='/static/images/no-image.svg';"> </a> </div> <div class="similar-product-body"> <h5 class="similar-product-title"> <a href="/item/laurent-elegant-restaurant-wordpress-theme/">Laurent 3.7 Elegant Restaurant WordPress Theme</a> </h5> <div class="similar-product-meta"> by: <span>Elated-Themes</span> in <a href="/cat/wordpress-themes/">WordPress</a> </div> <div class="similar-product-price">$75</div> </div> </div> <div class="similar-product-card" role="listitem"> <div class="similar-product-img-wrap"> <a href="/item/savoy-minimalist-ajax-woocommerce-theme/"> <img src="https://images.themeslines.com/images/savoy-minimalist-ajax-woocommerce-theme_main.jpg" class="similar-product-img" alt="Savoy 3.1.3 - Minimalist AJAX WooCommerce Theme" onerror="this.src='/static/images/no-image.svg';"> </a> </div> <div class="similar-product-body"> <h5 class="similar-product-title"> <a href="/item/savoy-minimalist-ajax-woocommerce-theme/">Savoy 3.1.3 - Minimalist AJAX WooCommerce Theme</a> </h5> <div class="similar-product-meta"> by: <span>NordicMade</span> in <a href="/cat/wordpress-themes/">WordPress</a> </div> <div class="similar-product-price">$59</div> </div> </div> <div class="similar-product-card" role="listitem"> <div class="similar-product-img-wrap"> <a href="/item/kleanity-minimalist-wordpress-theme-creative-portfolio/"> <img src="https://images.themeslines.com/images/kleanity-minimalist-wordpress-theme-creative-portfolio_main.jpg" class="similar-product-img" alt="Kleanity 6.0 Minimalist WordPress Theme Creative Portfolio" onerror="this.src='/static/images/no-image.svg';"> </a> </div> <div class="similar-product-body"> <h5 class="similar-product-title"> <a href="/item/kleanity-minimalist-wordpress-theme-creative-portfolio/">Kleanity 6.0 Minimalist WordPress Theme Creative Portfolio</a> </h5> <div class="similar-product-meta"> by: <span>GoodLayers</span> in <a href="/cat/wordpress-themes/">WordPress</a> </div> <div class="similar-product-price">$64</div> </div> </div> <div class="similar-product-card" role="listitem"> <div class="similar-product-img-wrap"> <a href="/item/vlog-video-blog-podcast-wordpress-theme/"> <img src="https://images.themeslines.com/images/vlog-video-blog-podcast-wordpress-theme_main.jpg" class="similar-product-img" alt="Vlog 6.8 - Video Blog & Podcast WordPress Theme" onerror="this.src='/static/images/no-image.svg';"> </a> </div> <div class="similar-product-body"> <h5 class="similar-product-title"> <a href="/item/vlog-video-blog-podcast-wordpress-theme/">Vlog 6.8 - Video Blog & Podcast WordPress Theme</a> </h5> <div class="similar-product-meta"> by: <span>meks</span> in <a href="/cat/wordpress-themes/">WordPress</a> </div> <div class="similar-product-price">$59</div> </div> </div> <div class="similar-product-card" role="listitem"> <div class="similar-product-img-wrap"> <a href="/item/lets-blog-wordpress/"> <img src="https://images.themeslines.com/images/lets-blog-wordpress_main.jpg" class="similar-product-img" alt="Lets 3.4.5 Blog WordPress" onerror="this.src='/static/images/no-image.svg';"> </a> </div> <div class="similar-product-body"> <h5 class="similar-product-title"> <a href="/item/lets-blog-wordpress/">Lets 3.4.5 Blog WordPress</a> </h5> <div class="similar-product-meta"> by: <span>ThemeGoods</span> in <a href="/cat/wordpress-themes/">WordPress</a> </div> <div class="similar-product-price">$49</div> </div> </div> <div class="similar-product-card" role="listitem"> <div class="similar-product-img-wrap"> <a href="/item/15zine-magazine-newspaper-blog-news-wordpress-theme/"> <img src="https://images.themeslines.com/images/15zine-magazine-newspaper-blog-news-wordpress-theme_main.jpg" class="similar-product-img" alt="15Zine 3.3 - Magazine Newspaper Blog News WordPress Theme" onerror="this.src='/static/images/no-image.svg';"> </a> </div> <div class="similar-product-body"> <h5 class="similar-product-title"> <a href="/item/15zine-magazine-newspaper-blog-news-wordpress-theme/">15Zine 3.3 - Magazine Newspaper Blog News WordPress Theme</a> </h5> <div class="similar-product-meta"> by: <span>codetipi</span> in <a href="/cat/wordpress-themes/">WordPress</a> </div> <div class="similar-product-price">$59</div> </div> </div> <div class="similar-product-card" role="listitem"> <div class="similar-product-img-wrap"> <a href="/item/backpack-traveler-modern-travel-blog-wordpress-theme/"> <img src="https://images.themeslines.com/images/backpack-traveler-modern-travel-blog-wordpress-theme_main.jpg" class="similar-product-img" alt="Backpack Traveler 2.11 Modern Travel Blog WordPress Theme" onerror="this.src='/static/images/no-image.svg';"> </a> </div> <div class="similar-product-body"> <h5 class="similar-product-title"> <a href="/item/backpack-traveler-modern-travel-blog-wordpress-theme/">Backpack Traveler 2.11 Modern Travel Blog WordPress Theme</a> </h5> <div class="similar-product-meta"> by: <span>Mikado-Themes</span> in <a href="/cat/wordpress-themes/">WordPress</a> </div> <div class="similar-product-price">$69</div> </div> </div> <div class="similar-product-card" role="listitem"> <div class="similar-product-img-wrap"> <a href="/item/zeen-newspaper-magazine-news-blog-wordpress-theme-woocommerce/"> <img src="https://images.themeslines.com/images/zeen-newspaper-magazine-news-blog-wordpress-theme-woocommerce_main.jpg" class="similar-product-img" alt="Zeen 2.9.4 - Newspaper Magazine News Blog WordPress Theme WooCommerce" onerror="this.src='/static/images/no-image.svg';"> </a> </div> <div class="similar-product-body"> <h5 class="similar-product-title"> <a href="/item/zeen-newspaper-magazine-news-blog-wordpress-theme-woocommerce/">Zeen 2.9.4 - Newspaper Magazine News Blog WordPress Theme WooCommerce</a> </h5> <div class="similar-product-meta"> by: <span>codetipi</span> in <a href="/cat/wordpress-themes/">WordPress</a> </div> <div class="similar-product-price">$69</div> </div> </div> <div class="similar-product-card" role="listitem"> <div class="similar-product-img-wrap"> <a href="/item/wanium-a-elegant-multi-concept-theme/"> <img src="https://images.themeslines.com/images/wanium-a-elegant-multi-concept-theme_main.jpg" class="similar-product-img" alt="Wanium 2.0 A Elegant Multi-Concept Theme" onerror="this.src='/static/images/no-image.svg';"> </a> </div> <div class="similar-product-body"> <h5 class="similar-product-title"> <a href="/item/wanium-a-elegant-multi-concept-theme/">Wanium 2.0 A Elegant Multi-Concept Theme</a> </h5> <div class="similar-product-meta"> by: <span>THEMELOGI</span> in <a href="/cat/wordpress-themes/">WordPress</a> </div> <div class="similar-product-price">$16</div> </div> </div> <div class="similar-product-card" role="listitem"> <div class="similar-product-img-wrap"> <a href="/item/magplus-blog-magazine-elementor-wordpress-theme/"> <img src="https://images.themeslines.com/images/magplus-blog-magazine-elementor-wordpress-theme_main.jpg" class="similar-product-img" alt="MagPlus 6.3 - Blog Magazine Elementor WordPress Theme" onerror="this.src='/static/images/no-image.svg';"> </a> </div> <div class="similar-product-body"> <h5 class="similar-product-title"> <a href="/item/magplus-blog-magazine-elementor-wordpress-theme/">MagPlus 6.3 - Blog Magazine Elementor WordPress Theme</a> </h5> <div class="similar-product-meta"> by: <span>theme_bubble</span> in <a href="/cat/wordpress-themes/">WordPress</a> </div> <div class="similar-product-price">$59</div> </div> </div> </div> <button class="carousel-arrow right" aria-label="Next similar items">›</button> </div> <div style="text-align: center; margin-top: 30px; color: #6c757d; font-size: 0.9rem;"> The page will be updated as soon as new data is available. </div> </div> </div> </div> <!-- End Description Panel --> <!-- Reviews Panel --> <div class="tab-pane fade" id="reviews-panel" role="tabpanel"> <div class="container reviews-container"> <div class="row justify-content-center"> <div class="col-lg-10"> <!-- Reviews Header --> <div class="reviews-header"> <h2 class="reviews-title">Customer Reviews</h2> <div class="reviews-summary"> <div class="rating-overview"> <div class="avg-rating">0.0</div> <div class="avg-stars"> <i class="far fa-star"></i> <i class="far fa-star"></i> <i class="far fa-star"></i> <i class="far fa-star"></i> <i class="far fa-star"></i> </div> <div class="total-reviews"> No reviews yet </div> </div> </div> </div> <!-- No Reviews --> <div class="no-reviews"> <i class="far fa-comments"></i> <h3>No reviews yet</h3> <p>Be the first to review this theme!</p> </div> </div> </div> </div> </div> <!-- End Reviews Panel --> <!-- Support Panel --> <div class="tab-pane fade" id="support-panel" role="tabpanel"> <div class="container support-container"> <div class="row justify-content-center"> <div class="col-lg-10"> <!-- Support Header --> <div class="support-header"> <h2 class="support-title"> <i class="fas fa-life-ring me-2"></i> Item Support </h2> <p class="support-subtitle"> This author will respond to buyers' questions and provide support through their own support system. </p> </div> <!-- Support Includes/Not Includes --> <div class="support-info-cards"> <div class="support-card support-includes"> <div class="support-card-header"> <i class="fas fa-check-circle me-2"></i> <h3>Item support includes:</h3> </div> <ul class="support-list"> <li><i class="fas fa-check text-success me-2"></i>Availability of the author to answer questions</li> <li><i class="fas fa-check text-success me-2"></i>Answering technical questions about item\u2019s features</li> <li><i class="fas fa-check text-success me-2"></i>Assistance with reported bugs and issues</li> <li><i class="fas fa-check text-success me-2"></i>Help with included 3rd party assets</li> </ul> </div> <div class="support-card support-not-includes"> <div class="support-card-header"> <i class="fas fa-times-circle me-2"></i> <h3>However, item support does not include:</h3> </div> <ul class="support-list"> <li><i class="fas fa-times text-danger me-2"></i>Customization services</li> <li><i class="fas fa-times text-danger me-2"></i>Installation services</li> </ul> </div> </div> <!-- Support Content --> <div class="support-content-box"> <div class="support-content"> <div class="item-support__boxes h-clearfix"> <div class="box -stacked-radius"> <h3 class="t-heading -size-s -color-dark h-m0">Contact the author</h3> <p class="t-body -size-m"> This author will respond to buyers' questions and provides limited support through their own support system. </p> <h2 class="t-heading -size-s -color-dark">Item support includes:</h2> <ul class="t-icon-list -icon-size-s -font-size-s h-mb2"> <li class="t-icon-list__item -color-primary -icon-ok">Availability of the author to answer questions</li> <li class="t-icon-list__item -color-primary -icon-ok">Answering technical questions about item’s features</li> <li class="t-icon-list__item -color-primary -icon-ok">Assistance with reported bugs and issues</li> <li class="t-icon-list__item -color-primary -icon-ok">Help with included 3rd party assets</li> </ul> <h2 class="t-heading -size-s -color-dark">However, item support does not include:</h2> <ul class="t-icon-list -icon-size-s -font-size-s h-mb2"> <li class="t-icon-list__item -icon-cancel">Customization services</li> <li class="t-icon-list__item -icon-cancel">Installation services</li> </ul> <p class="t-body -size-m">View the item support policy</p> <div class="item-support__cta"> Go to item support </div></div> </div> </div> </div> <!-- Support CTA --> <div class="support-cta"> <a href="https://1.envato.market/c/3546921/275988/4415?subId1=themeslines.com&u=https%3A%2F%2Fthemeforest.net%2Fuser%2Fwithemes" target="_blank" rel="nofollow noopener noreferrer" class="btn btn-primary btn-support-action"> <i class="fas fa-comment-dots me-2"></i> Contact the Author for Support </a> </div> </div> </div> </div> </div> <!-- End Support Panel --> </div> <!-- End Tab Content --> <script> // Reviews JavaScript let currentPage = 1; const themeSlug = "blank-elegant-minimalist-blog-wordpress-theme"; function replaceItemSupportPolicyLink() { const root = document.querySelector('#support-panel .support-content'); if (!root) return; root.querySelectorAll('a[href="/page/item_support_policy"]').forEach(a => { const span = document.createElement('span'); span.textContent = a.textContent || 'item support policy'; a.replaceWith(span); }); } // 当切换到 Reviews Tab 时加载评论 document.getElementById('reviews-tab').addEventListener('shown.bs.tab', function (e) { if (!window.reviewsLoaded) { loadReviews(1); window.reviewsLoaded = true; } }); // 当切换到 Support Tab 时,去掉 item_support_policy 链接(改成纯文本) document.getElementById('support-tab').addEventListener('shown.bs.tab', function (e) { replaceItemSupportPolicyLink(); }); // 首次渲染时也跑一次(防止默认就在 Support tab 或缓存) replaceItemSupportPolicyLink(); // 加载评论 function loadReviews(page = 1) { const reviewsList = document.getElementById('reviews-list'); // 显示加载动画 reviewsList.innerHTML = ` <div class="loading-spinner"> <i class="fas fa-spinner"></i> <p class="mt-3">Loading reviews...</p> </div> `; // 发起 AJAX 请求 fetch(`/api/item/${themeSlug}/reviews/?page=${page}&sort=rating_desc`) .then(response => response.json()) .then(data => { if (data.success && data.reviews.length > 0) { renderReviews(data.reviews); if (data.total_pages > 1) { renderPagination(data.total_pages, data.current_page); } } else { reviewsList.innerHTML = ` <div class="no-reviews"> <i class="far fa-comments"></i> <h3>No reviews found</h3> </div> `; } }) .catch(error => { console.error('Error loading reviews:', error); reviewsList.innerHTML = ` <div class="alert alert-danger"> <i class="fas fa-exclamation-triangle me-2"></i> Failed to load reviews. Please try again later. </div> `; }); } // 渲染评论列表 function renderReviews(reviews) { const reviewsList = document.getElementById('reviews-list'); const reviewsHtml = reviews.map(review => { // 生成星星 const stars = generateStars(review.rating); // 有用数显示 const helpfulHtml = review.helpful_count > 0 ? `<div class="review-helpful"> <i class="far fa-thumbs-up me-1"></i> ${review.helpful_count} people found this helpful </div>` : ''; return ` <div class="review-item"> <div class="reviewer-info"> <div class="reviewer-details"> <div class="reviewer-name"> <a href="https://1.envato.market/c/3546921/275988/4415?subId1=themeslines.com&u=${encodeURIComponent(review.reviewer_url)}" target="_blank" rel="nofollow noopener noreferrer">${review.reviewer_name}</a> </div> <div class="review-date">${review.review_date || 'Recently'}</div> </div> </div> <div class="review-rating">${stars}</div> <div class="review-comment">${review.comment || '<em>No comment provided</em>'}</div> ${helpfulHtml} </div> `; }).join(''); reviewsList.innerHTML = reviewsHtml; } // 生成星星 HTML function generateStars(rating) { let starsHtml = ''; for (let i = 1; i <= 5; i++) { if (rating >= i) { starsHtml += '<i class="fas fa-star"></i>'; } else if (rating >= i - 0.5) { starsHtml += '<i class="fas fa-star-half-alt"></i>'; } else { starsHtml += '<i class="far fa-star"></i>'; } } return starsHtml; } // 渲染分页(可选,如果有多页) function renderPagination(totalPages, currentPage) { if (totalPages <= 1) return; // 在 reviews-list 后面添加分页 const reviewsList = document.getElementById('reviews-list'); let paginationHtml = '<nav class="mt-4"><ul class="pagination justify-content-center">'; // 上一页 if (currentPage > 1) { paginationHtml += `<li class="page-item"> <a class="page-link" href="#" onclick="loadReviews(${currentPage - 1}); return false;">Previous</a> </li>`; } // 页码 for (let i = 1; i <= totalPages && i <= 5; i++) { const active = i === currentPage ? 'active' : ''; paginationHtml += `<li class="page-item ${active}"> <a class="page-link" href="#" onclick="loadReviews(${i}); return false;">${i}</a> </li>`; } // 下一页 if (currentPage < totalPages) { paginationHtml += `<li class="page-item"> <a class="page-link" href="#" onclick="loadReviews(${currentPage + 1}); return false;">Next</a> </li>`; } paginationHtml += '</ul></nav>'; reviewsList.insertAdjacentHTML('afterend', paginationHtml); } </script> <script> // Similar items carousel behavior: arrows, keyboard, drag-to-scroll document.addEventListener('DOMContentLoaded', function () { const container = document.getElementById('similarCarousel'); if (!container) return; const prevBtn = container.parentElement.querySelector('.carousel-arrow.left'); const nextBtn = container.parentElement.querySelector('.carousel-arrow.right'); function scrollByPage(direction = 1) { const card = container.querySelector('.similar-product-card'); const cardWidth = card ? card.getBoundingClientRect().width + 18 : container.clientWidth * 0.8; container.scrollBy({ left: direction * cardWidth * 3, behavior: 'smooth' }); } prevBtn && prevBtn.addEventListener('click', function (e) { scrollByPage(-1); }); nextBtn && nextBtn.addEventListener('click', function (e) { scrollByPage(1); }); // Back to first carousel item (select by ID to be robust) const backBtn = document.getElementById('carouselBackToStart'); if (backBtn) { backBtn.addEventListener('click', function () { console.log('carouselBackToStart clicked'); container.scrollTo({ left: 0, behavior: 'smooth' }); // move focus back to container for keyboard navigation container.focus(); }); } else { console.debug('carouselBackToStart not found in DOM'); } // Fallback: event delegation in case the button is overlaid or added later document.addEventListener('click', function (e) { const btn = e.target.closest && e.target.closest('#carouselBackToStart'); if (!btn) return; // Prevent double-handling if original listener already handled it try { e.preventDefault(); } catch (err) {} container.scrollTo({ left: 0, behavior: 'smooth' }); container.focus(); }); // Keyboard navigation when focused container.addEventListener('keydown', function (e) { if (e.key === 'ArrowRight') { e.preventDefault(); scrollByPage(1); } else if (e.key === 'ArrowLeft') { e.preventDefault(); scrollByPage(-1); } }); // Pointer drag to scroll (mouse & touch) let isDown = false; let startX; let scrollLeft; container.addEventListener('pointerdown', (e) => { // If the user clicked on an interactive element (link/button/input), do not start dragging if (e.target.closest('a, button, input, textarea, select')) { return; } isDown = true; try { container.setPointerCapture(e.pointerId); } catch (err) { // ignore if setPointerCapture not available } startX = e.clientX; scrollLeft = container.scrollLeft; }); container.addEventListener('pointermove', (e) => { if (!isDown) return; const x = e.clientX; const walk = (startX - x); container.scrollLeft = scrollLeft + walk; }); container.addEventListener('pointerup', (e) => { isDown = false; try { container.releasePointerCapture(e.pointerId); } catch (err) {} }); container.addEventListener('pointercancel', () => { isDown = false; }); }); </script> <script> // Collapse/expand for specific attributes (Compatible With, Software Version) document.addEventListener('DOMContentLoaded', function () { document.querySelectorAll('.attr-collapse-toggle').forEach(function (btn) { btn.addEventListener('click', function () { const targetId = btn.getAttribute('data-target'); const el = document.getElementById(targetId); if (!el) return; const expanded = btn.getAttribute('aria-expanded') === 'true'; if (expanded) { // collapse el.classList.add('collapsed'); btn.setAttribute('aria-expanded', 'false'); btn.textContent = 'Show more'; } else { // expand el.classList.remove('collapsed'); btn.setAttribute('aria-expanded', 'true'); btn.textContent = 'Show less'; } }); }); }); // Sticky sidebar functionality document.addEventListener('DOMContentLoaded', function () { const priceCard = document.getElementById('priceCard'); const descriptionPanel = document.getElementById('description-panel'); const similarItemsSection = document.querySelector('.similar-items-section'); if (!priceCard || !descriptionPanel || !similarItemsSection) return; // Create a placeholder to avoid layout jump when we switch to fixed const placeholder = document.createElement('div'); placeholder.style.display = 'none'; priceCard.parentNode.insertBefore(placeholder, priceCard); // remember initial document top of the card (before any style changes) let initialCardDocTop = priceCard.getBoundingClientRect().top + (window.pageYOffset || document.documentElement.scrollTop); const topOffset = 44; // same as CSS top for sticky (increased by 2px) function updateStickyBehavior() { const scrollTop = window.pageYOffset || document.documentElement.scrollTop; const viewportWidth = window.innerWidth || document.documentElement.clientWidth; // Disable sticky/fixed behavior on small screens (mobile) if (viewportWidth < 992) { // hide placeholder and clear any inline styles/classes set by script if (placeholder && placeholder.style) placeholder.style.display = 'none'; priceCard.style.position = ''; priceCard.style.top = ''; priceCard.style.left = ''; priceCard.style.width = ''; priceCard.classList.remove('is-fixed', 'stop-sticky'); return; } // Recalculate boundaries const contentEndPosition = descriptionPanel.offsetTop + descriptionPanel.offsetHeight; const similarItemsStartPosition = similarItemsSection.offsetTop; // current card height (may change if content changes) const cardHeight = priceCard.offsetHeight; // decide when to make the card fixed: // - user has scrolled past the original card top (so it would stick) // - and the fixed card bottom would not overlap the similar items start const shouldFix = (scrollTop + topOffset >= initialCardDocTop) && (scrollTop + topOffset + cardHeight < similarItemsStartPosition); if (shouldFix) { // apply fixed positioning and reserve space with placeholder if (placeholder.style.display !== 'block') { placeholder.style.display = 'block'; placeholder.style.width = priceCard.offsetWidth + 'px'; placeholder.style.height = cardHeight + 'px'; } const placeholderRect = placeholder.getBoundingClientRect(); priceCard.style.position = 'fixed'; priceCard.style.top = topOffset + 'px'; priceCard.style.left = placeholderRect.left + 'px'; priceCard.style.width = placeholderRect.width + 'px'; priceCard.classList.remove('stop-sticky'); priceCard.classList.add('is-fixed'); } else { // remove fixed styles and hide placeholder if (placeholder.style.display !== 'none') { placeholder.style.display = 'none'; } priceCard.style.position = ''; priceCard.style.top = ''; priceCard.style.left = ''; priceCard.style.width = ''; priceCard.classList.remove('is-fixed'); // If viewport bottom has passed content end but we're before similar items, // ensure stop-sticky class is present so CSS can fallback (if used) if (scrollTop + window.innerHeight >= contentEndPosition && scrollTop < similarItemsStartPosition) { priceCard.classList.add('stop-sticky'); } else { priceCard.classList.remove('stop-sticky'); } } } // Recalculate initial top on resize (and force an update) window.addEventListener('resize', function () { initialCardDocTop = (placeholder.style.display === 'block' ? placeholder.getBoundingClientRect().top : priceCard.getBoundingClientRect().top) + (window.pageYOffset || document.documentElement.scrollTop); // clear inline left/width when resizing to avoid mismatches if (priceCard.style.position === 'fixed') { priceCard.style.left = ''; priceCard.style.width = ''; } updateStickyBehavior(); }); // Throttle scroll events for better performance let scrollTimeout; window.addEventListener('scroll', function() { if (scrollTimeout) { clearTimeout(scrollTimeout); } scrollTimeout = setTimeout(updateStickyBehavior, 10); }); // Initial check updateStickyBehavior(); }); </script> <script> // 点击 Tab 时滚动到对应 Tab 面板顶部(考虑固定的 Tab 导航高度) document.addEventListener('DOMContentLoaded', function () { const tabNavContainer = document.querySelector('.tab-navigation-container'); const tabButtons = document.querySelectorAll('#detailTabs [data-bs-toggle="tab"]'); if (!tabButtons || tabButtons.length === 0) return; tabButtons.forEach(function (btn) { btn.addEventListener('shown.bs.tab', function (e) { try { const targetSelector = btn.getAttribute('data-bs-target'); if (!targetSelector) return; const panel = document.querySelector(targetSelector); if (!panel) return; const navHeight = tabNavContainer ? tabNavContainer.offsetHeight : 0; const panelTop = panel.getBoundingClientRect().top + (window.pageYOffset || document.documentElement.scrollTop); const scrollTo = Math.max(0, panelTop - navHeight); window.scrollTo({ top: scrollTo, behavior: 'smooth' }); } catch (err) { console.debug('tab scroll error', err); } }); }); }); </script> <!-- Footer --> <footer class="footer"> <div class="footer-top"> <span class="footer-text">ThemesLines.com does not sell anything.<br> We promote <a class="tf-link" href="https://1.envato.market/c/3546921/651726/4415?subId1=themeforest_bestsellers" rel="noreferrer noopener nofollow" target="_blank">ThemeForest.net</a> products.</span> <nav class="footer-nav"> <a href="/hosting/">Hosting</a> <a href="/about/">About</a> <a href="/privacy/">Privacy Policy</a> <a href="/terms/">Terms of Use</a> </nav> </div> <div class="footer-bottom"> <div class="footer-social"> <a href="https://x.com/themeslines"> <svg class="kadence-svg-icon kadence-twitter-x-svg" fill="currentColor" version="1.1" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 23 24"><title>X
© 2026 ThemesLines