Lullabot Articles
205 FOLLOWERS
Lullabot Articles provide insights, tutorials, and advice around topics including content strategy, web design, development, Drupal, and more.
Lullabot Articles
5d ago
The Drupal Administration UI initiative, introduced in June 2023, continues to improve the user experience of Drupal core. The initiative was launched with the commitment and goal of improving the Drupal experience for all users using Drupal and reversing the existing negative impression of the Drupal user interface (UI).
Over the past year, volunteers with the initiative conducted user testing and research to understand how users currently interact with the interface and to test improvements iteratively. One focus was on content creators who create, edit, organize, and maintain content on Dru ..read more
Lullabot Articles
1w ago
Sass has been a staple of front-end development for years. From the very beginning, it added features to CSS that improved the developer experience and helped make front-end code more maintainable.
But do we still need it? Native CSS has come a long way since Sass was released in 2006.
What can native CSS do in 2024?
We've leaned on Sass for many features critical to modern web development, but let's review some things native CSS can do.
Custom properties (or CSS variables)
Custom properties have been around since 2016 and can be used in place of Sass variables. The ability to set and use vari ..read more
Lullabot Articles
2w ago
On Global Accessibility Awareness Day, join Lullabot, DubBot, and Iowa's Department for the Blind, as we discuss common issues affecting real people every day.
Bring your questions. Learn about small things you can do that make a big, positive impact on those with disabilities. We'll discuss keeping things simple, the importance of proper accessibility testing with a diverse user pool, and remediation concerns ..read more
Lullabot Articles
1M ago
DDEV is a tool that allows developers to work with their own sandboxed version of a website. It spins up a set of containers that behave like a regular server-hosted copy of the site. The local version gets a nice URL, has its own database, and can run PHP all in the container—regardless of whether the host machine has that software installed.
While DDEV is pretty ubiquitious in CMS communities like Drupal, WordPress, and Typo3, it's not as familiar to developers working in Node.js, Python, or other decoupled setups. This article is for those developers.
What is DDEV?
Straight from the d ..read more
Lullabot Articles
1M ago
Web experiences depend on many diverse elements: who is using a site, their goals, device, and connection speeds, other expectations, ability, and even mood. And that's before we get to the myriad of factors within each unique project. Because of this, "It depends" is a perfectly viable answer to many questions regarding a website, though it may be annoying to hear.
So, let's explore context to understand better the impact of different situations on crafting inclusive and adaptable systems. What is context, what types of context are there, and why does this all matter?
Why does context matter ..read more
Lullabot Articles
1M ago
You’ve done your due diligence and secured the necessary budget. Nearly everyone in your organization is excited about the redesign, and you're eagerly awaiting the initial kickoff.
But now is not the time to wait around. Preparations for a successful website redesign should begin long before the official project kickoff.
Gather the required files and information
Your agency partner will likely provide a list of things they need before phase one of your project begins. The earlier you collect these things, the better. Gathering the following information will allow your partner to form question ..read more
Lullabot Articles
2M ago
Component-based web development has become the de facto approach for new Drupal projects. Componentizing your UI has multiple advantages, like modular development, improved automated testing, easier maintenance, code reusability, better collaboration, and more. Because of these benefits, we led the effort to create a component solution for Drupal core: Single Directory Components (SDC).
As part of that suite of modules, we created CL Server. Initially developed for the CL Components module (a contrib precursor of SDC in core), it eventually became the basis for SDC in core.
In coordinati ..read more
Lullabot Articles
2M ago
We've been working on improving the administration UI for Drupal and have already talked about our prototypes and testing process. A big part of this has been a redesign of the toolbar.
But Drupal sites are used for different verticals, scenarios, team sizes, team makeup, features, and more. To make the new toolbar useful, it needs to be flexible and customizable. Our latest work has focused on implementing the backend for administrators to manage the new toolbar.
You can try out these changes right now by installing the Navigation module. The goal is to make this a part of Drupal core by vers ..read more
Lullabot Articles
2M ago
Government websites are littered with PDFs. They force users to download large files, print out forms, and pinch, zoom, and squint on mobile devices. The information in PDFs can be hard to find using search engines, and it's sometimes out of date. PDFs keep important information from your constituents, cause barriers, and create friction in the user experience.
But you’re still creating them. You have hundreds, maybe thousands, and the number goes up every day. Addressing this dilemma might seem overwhelming, but it’s not impossible. Find out the why and the how of paring back PDFs.
In t ..read more
Lullabot Articles
2M ago
Our brains are great at identifying patterns and outliers, but this becomes harder when data isn’t in some logical order. Luckily, as developers, we can use tools to sort data into any order we desire.
The basics of array.sort()
In Javascript, every single array has a sort() method. This takes all the items in the array and rearranges them into the default order. Consider the code below:
const fruits = ['strawberry', 'banana', 'tomato', 'apple'];
fruits.sort();
// ['apple', 'banana', 'strawberry', 'tomato']
The sort method rearranged the items in the array into alphabetical ..read more