Blocksy WordPress Theme Provides a Solid Block-Editor Experience

Screeshot of the Blocksy theme blog posts page.
Screenshot of the Blocksy theme blog posts page.

Creative Themes dropped version 1.6.8 of its Blocksy WordPress theme yesterday. It was an update to a theme that is quickly becoming popular, having garnered 58 five-star reviews and one thousand active installs since it first went live in the WordPress theme directory. The theme is specifically built to work with the block editor and is a nice example of what is currently possible with blocks.

Blocksy is billed as a general-purpose theme and also works with other popular page builders like Elementor, Beaver Builder, and Visual Composer. The truth-test is whether it handles the block editor, especially given its primary audience (it is named Blocksy, after all). Aside from a few trivial quirks, the theme handled nearly every bit of test content I threw at it.

Blocksy is one of the better-designed free themes for the block editor that I have seen.

I want to use this theme for a project. Unfortunately, I have no site to use it on at the moment. I do not say this about many free, repository-hosted WordPress themes. The quality of work is on par with themes from the majority of commercial theme shops I have tested or used over the years.

The theme is not without a few issues, which we’ll get to, but it is a solid offering.

Block Design

Screenshot of post with block designs from the Blocksy theme.
A few block design examples from the theme.

With a name like Blocksy, I went into this review with a mindset that the theme better handle every test block I dropped into the block editor with grace. I wanted to make sure it lived up to its name.

I am happy to report that it handles block design as good as or better than most themes designed for showcasing the block system. It adds just enough stylistic flair, such as a unique pull-quote design, without getting in the way of the content.

One problem area is the font in the editor does not match the font on the front end completely. This is a minor issue that should be easily fixed in an update.

You can find some good examples of block design on the theme’s Gutenberg demo page.

Block Editor Sidebar

Screenshot of the Blocksy theme editor sidebar.
Custom block editor sidebar for post meta.

The latest update of the theme includes additional integration with the block editor. The team moved its old meta box, which sat below the post content editor, to a new sidebar panel. This change is refreshing.

I did not know the meta box existed until the theme developers pointed out this change in feature (I first started testing the previous version of the theme). At this point, I never look at the bottom of the block editor for meta boxes. I expect any additional settings to be placed firmly in the right sidebar area. I applaud this move. It could confuse old theme users when updating, but it feels more natural in its new home.

The team has done a nice job with this custom sidebar for the most part. The biggest issue is with the button for switching to it. By using both an icon and the “Page Settings” text, it uses more room than necessary. To fit in line with the existing UI, it should simply display an icon. The button text is also hard to read when selected, which is a minor CSS issue that can be corrected in an update.

Customizer Options

Screenshot of the Blocksy theme's customizer control panel design.
Custom-designed customizer control panel.

For users who like to have full control over the site’s display, this theme won’t disappoint. For users who dislike by many options, the number of design settings will likely feel overwhelming.

Blocksy has more design options than most people will ever need. Some options, such as letter-spacing and line-height controls for fonts may be going overboard. Ideally, those things would be automatically adjusted based on the chosen font family.

The theme also uses a custom design for the customizer control panel. In general, the custom design looks nice. However, is not good practice for themes to customize a shared WordPress UI element. Plugins with options in the customizer could break. It is best to stick with the default design.

Blocksy Companion Plugin

The theme promotes an additional plugin named Blocksy Companion. The add-on plugin provides users with additional widgets, a cookies-consent feature for the front end, and integrations with Mailchimp, Instagram, and WooCommerce. It also provides an avenue for importing custom-made demo content.

Most of the companion plugin’s features are fairly routine compared to similar themes in the WordPress theme repository. The cookies-consent feature is something I haven’t seen before as part of a theme add-on plugin.

My biggest complaint with the plugin is that it makes the “Blocksy” admin menu item a top-level item. It is a waste of valuable real estate in an already-cluttered admin menu. Plus, there is no good reason for a single theme/plugin screen to take a top-level spot when it has no sub-menus.

How Does the Code Look?

If I were describing the code in one phrase: average but gets the job done.

The theme has a lot of PHP code. Most of it is dropped into a single /inc folder and not organized nearly as well as it could be. It feels like a giant mish-mash of functions with almost non-existent inline documentation for most of them. It’s not something a developer who is not intimately familiar with the theme would want to dive into.

This is not an argument that the theme’s code is bad. It passed the official WordPress.org review process and made it into the theme directory, so it is at least doing the minimum necessary. It’s simply unimpressive, which is par for the course when it comes to most WordPress themes. Code architecture seems like an afterthought, which could make it tougher to maintain over the long haul. With a theme as much code as this one, this is more important than it is for simpler themes. It can also easily be remedied with a week or so of dev time strictly devoted to architecture.

Final Thoughts

Blocksy is a well-designed theme that does the job it sets out to do. It is ideal for users who are working with the block editor or a third-party page builder. The theme is packed with far more options than I could cover in this review. If customizability is your thing, you will likely enjoy this theme.

The team shared some of their future ideas. They have plans to add conditional headers, footers, and sidebars; a sticky header; AMP support; and more. They seem excited about the future of the theme.

Overall, I would recommend this theme for users who want a clean, relatively fast, block-ready WordPress theme.

Bing Shuts Down Ads API Version 12

Bing announced version 13 of the Bing Ads API in April of 2019. With that announcement came the warning of version 12’s demise, which was scheduled for October 31, 2019. That time has come and past. Bing is now notifying developers that all version 12 endpoints will soon return error 303 (ApiVersionNoLongerSupported).

MUnit Towards Automated Unit Test Cases

Test beakers
Find out how to use MUnit with Mule for automated unit testing.

Why Unit Testing?

This is the first question most beginners ask when they struggle to relate unit test cases with real scenarios, like what value-added unit testing is doing. This was my first thought after reading JUnit documents fifteen years back. I am sure most new developers would have similar feelings after reading unit test documents alone, but I realized that unit testing is a powerful tool to release defect-free code to production. The unit testing helps to do regression testing and gives confidence for new developers to make changes to the old codebase.

MUnit For Mule Flows

MUnit is an extension of JUnit. Developers are allowed to write XML-based test cases or Java code-based test cases for Mule flows. This document covers MUnit basics, practical options for different scenarios, and automating the business validations.

Beginners Guide to Mocking in Scala

We all know that unit test cases are one of the most important parts of an application. No? Then, I must tell you that unit testing is one of the earliest tests to be performed on the unit of code, and the earlier the defects are detected, the easier it is to fix. It reduces the difficulties of discovering errors contained in more complex pieces of the application.

So where does mocking come into the picture? Why do we need it? And how do we understand what we should mock while writing unit test cases? Answers to these questions are right below in this blog.

Eleventy Love

Been seeing a lot of Eleventy action lately. It's a smaller player in the world of static site generators, but I think it's got huge potential because of how simple it is, yet does about anything you'd need it to do. It's Just JavaScript™.

The post Eleventy Love appeared first on CSS-Tricks.

Autumn (macOS window manager)

I love how nerdy this is. Autumn allows you to write JavaScript to control your windows. Get this window, move it over here. Nudge this window over. There are all sorts of APIs, like keyboard command helpers and doing things on events, like waking up from sleep.

I love that it exists, but for the moment, my window management mostly consists of: grab this window and chuck it on the left half of the screen, and grab this window and chuck it on the right half of the screen. That and just a handful of other simple things are handled really nicely by Moom.

Doing life tasks with JavaScript is only gonna get bigger and bigger. I love controlling and querying Spotify with GraphQL.

Direct Link to ArticlePermalink

The post Autumn (macOS window manager) appeared first on CSS-Tricks.

How to Learn MuleSoft: An Exciting and Viable Career Option on the Brink of Digital Evolution

Nature has a way of forcing evolution, requiring one field after the next to transform in an attempt to stay competitive and viable. As mankind branches out further into the depths of complicated technological processes, so do the tools that help reach new heights; and at the forefront is technology. Businesses around the world are starting to follow their breathing counterparts, transforming into seemingly solo-functioning entities where little to no human interference is required.

Thanks to MuleSoft, businesses have more freedom and creativity in their hands than ever before, using the application building platform to increase client connection and overall productivity. No longer is there a need for separate clouds and bulky connectors to create the perfect workflow. MuleSoft essentially blurs the lines and borders traditionally set by separate systems allowing them to communicate seamlessly in a matter of seconds.

5 Amazing Examples of Artificial Intelligence in Action

As scientists and researchers strive harder to make Artificial Intelligence (AI) mainstream, this ingenious technology is already making its way to our day to day lives and continues ushering across several industry verticals. From voice-powered personal assistants like Siri and Alexa to autonomously-powered self-driving vehicles, AI has been rearing itself as a force to be reckoned with. Many tech giants such as Apple, Google, Facebook, and Microsoft have been making huge bets on the long-term growth potential of Artificial Intelligence.

According to a report published by the research firm Markets and Markets, the AI market is expected to grow to a $190 billion industry by 2025. More and more businesses are looking to boost their ROI by leveraging the capabilities of AI. In this blog post, we are going to list out the applications of AI in use today. 

ISP Selling Data: Why You Should Actually Care

Unbeknownst to you, there’s a good possibility that your Internet Service Provider (ISP) regularly sells your data to boost their profits. 

Since the US Congress voted to roll back the FCC protections against the practice, American ISPs now have the opportunity to record, store, and sell the data that passes through their servers.

CRUD Operations Using ReactJS Hooks and Web API

Introduction 

In this article, we will explain how to implement Hooks in React. Hooks are a new concept that were introduced in React 16.8. Hooks are an alternative to classes. In this article, I'm going to create CRUD operations using React Hooks and Web API.

You can check my previous article in which we use class components to perform CRUD from the following link,

Django and React Single Page Application Development – Part 1

Introduction

In Pixly, we are using Django as our backend due to the excellent data science libraries and the great community in the Python ecosystem. However, when we have decided to make the frontend app as a single-page-application with React, we faced many difficulties. We hope that our tutorial will help newcomers a bit for solving their future problems.

Requirements

People who follow this tutorial should have at least an elementary level of knowledge about Python and a basic level of knowledge Django framework. Also, the basic level of Javascript and React is a must.

Top 5 Challenges in Agile Testing

Can you complete the testing challenges?

Testing challenges in agile has been a topic of woe for modern testers. This is mainly because it is one of the most frequented testing practices and methodologies. What does it mean to test on agile terms? Agile teams are required to release new features to the market in a matter of weeks, not months or years. Quality is essential to the agile method because its main focus is on satisfying customer requirements.

The challenges in agile testing are how to test features rapidly and comprehensively as development velocity increases.

A Way Around Cache Eviction

Find your own way around!

For decades, developers and designers have tried to optimize the performance of the systems and services they are providing:

  • Operating systems in search of the fastest start-up time.
  • Browsers trying to out-perform their competition.
  • APIs doing their job as quickly as possible.

Aside from throwing more processing power and memory at the solution or optimized source code design. The use of some form of cache is often introduced to give an additional boost in speed. The more that caching is implemented, the higher the probability that those caches need to be cleared, or evicted.

CES 2020: A Shift From the Quantified Self to the Medical Self?

Find out more about the switch to the Medical Self.

When you look at consumer health tech, you see a lot of ideas that fit more into the murky wellness category over medical. The reality is that device FDA approval or clearance is a complex process including over 1700 types of devices.

The regulation process can last up to 18 months and this is after a company has completed rigorous medical trials, There's even now startups such as Enzyme to guide startups through the regulatory and compliance lifecycle.

Code Coverage vs Test Coverage — Which Is Better?

Make sure you stay covered!

Test Coverage and Code coverage are the most popular methodologies for measuring the effectiveness of the code. Though these terms are sometimes used interchangeably since their underlying principles are the same. But they are not as similar as you may think.

Many times, I have noticed the testing team and development team being confused over the use of these two terminologies. This is why I thought of coming up with an article to talk about the differences between code coverage and test coverage in detail.

Managing Environments and Plugins in Maven

It is amazing that in 2019, there are still no proper plugins for managing environments in Maven. The only one that makes an attempt at solving environment management issues is multienv-maven-plugin  (https://github.com/khmarbaise/multienv-maven-plugin) by Khmarbaise. In this article, we discuss details about using the environments-maven-pluginassess what multienv-maven-plugin is lacking, and look at potential solutions to this problem. Let's get into it!

Doesn't Allow the Exclusion of Environments

For almost all of the projects I have worked on, they have resource files both for various environments and for running the code on the developer's machine but pointing to various environments. For example:dev,  dev_localci,  ci_localqa,  qa_local, etc. — these QA resources files are used to run the application in the QA environment. qa_local resource files are used to run the application on the developer machine pointing to the QA environment. When a release build is run, war files for dev_local, ci_local, and qa_local should not be generated. Otherwise, it slows down the build and clutters bamboo build pages, potentially causing confusion to the party performing the actual deployment.