The Cello Expressions Sheet Music Library has opened with a table view listing all sheet music in the library since its beginnings in 2012. As the library has grown past 100 pieces (currently around 120 pieces), this format has gradually become less effective. New pieces jump to the top of the list as older pieces become lost in a sea…
Category: WordPress Plugins
Dynamic Blocks with Block.json, Vanilla JS, and No Build Process
WordPress blocks offer a dynamic experience in the post and site editors. But creating dynamic blocks – with contextual PHP-rendered functionality historically central to the WordPress platform – can be painfully difficult. The challenge goes far beyond learning a new API. Blocks leverage an entirely different toolset. And that toolset is optimized for a full-time professional developer profile, making even…
Full Screen Galleries Plugin
I recently released the Full Screen Galleries WordPress Plugin. It automatically creates a full-screen slideshow of post content images and galleries. The slideshow provides an enhanced format for browsing large collections of images. Viewers can focus on a single image at a time, see larger images, and also read captions more deliberately. Navigation is simplified to change the image like…
WordPress Plugin Status Updates
I have developed over 25 free plugins on WordPress.org. My plugins offer functionality for multimedia content, site customization, widgets, social media, and site utilities. I published most of these plugins between 2013 and 2016 and have made fewer updates in recent years. I still use many of them on my personal sites, some are simple enough that updates are not…
2018 Update on Cello Expressions Projects
Cello Expressions has existed in its current form for nearly six years. After briefly serving as the website for my high school cello quartet, it has been the home of my various digital projects for most of its existence. As this site and its content reach a level of relative digital maturity, it’s time to update the status if its…
Small Plugins, Big Impact
As I create and publish more and more plugins (I now have 25 on WordPress.org), my increasing focus is to keep each plugin as simple as possible. My first few WordPress plugins suffered from bloat from the beginning and are still paying the consequences, including poor usability, untenability, and a likely path toward abandonment. With simplicity as the priority, a…
Annenberg Digital Lounge Tutorials
As a student at USC, I worked at the Annenberg Digital Lounge for the first two and half years of its existence. Coinciding with the opening of Wallis Annenberg Hall in 2014, I served as a WordPress expert in the development of training programs for students and the organization’s online presence. In addition to master-planning online content strategy and building the current iteration of the website, I authored a number of WordPress tutorials. These are primarily aimed at communications and journalism students; however, many are more-broadly useful for newer WordPress users. Check out my tutorials here.
Trust WordPress with Live Preview
When most of us walk into a building, we assume that it’s safe. We trust that it’s built to code and structurally sound. And we trust that the engineers and architects behind the building know what they’re doing. If a room is too hot or cold, bright or dim, spacious and sprawling or tight and cramped, many people are uncomfortable…
WordCamp Los Angeles 2016 Presentation
My presentation from WordCamp Los Angeles 2016 is now on WordPress.tv:
Unfortunately the slides and live demos weren’t captured on the video, but you can find the slidesĀ alongside links to helpful resources here.
A Strategy for Custom Colors in the Customizer
The customizer is a framework for live-previewing any change to a WordPress site. It is particularly useful for previewing visual change and has always included a color control and the ability to easily preview custom colors. But the previewing experience has often been a bit slow. This post outlines a strategy for custom colors that leverages instant JS-based previewing in…