This video is interesting for several reasons. First of all because it is a fine demonstration of the ideas behind the new theme creation process. First all desig elements like colors, fontfamily for the headers (h1 – h6) were designed in Figma by Damon. The Figma production more or less had the same structure as a WordPress theme.
Then Damon had to define the colors and fonts in theme.json. Now the DX became interesting. Editing a complex theme.json file is not a trivial thing to do for a web designer. The DX also demontrated how things will break down if you forget to add the odd comma, curled / sharp brackets and so on.
If you forget just one of these characters the design breaks apart.
Here we must remember, that Damon is an experienced web developer. Editing the theme.json by hand is not easy at all.
However, when everything is debugged the theme looked almost exactly like the design suggestions in Figma.
Workflow
Figma
From the video we can deconstruct a WordPress development model based on Figma prototypes:
Figma Workflow
Develop your prototype like a style tile in Figma.
Add colors and show your hex codes. Be systematic when you name colors. Name according to usage: “Background” is better than “green”.
Show all paragraphs with fonts
Add hedings: h1 to h6 with the fonts you’ll use.
Add buttons and similar design elements.
In WordPress
Most of the work in WordPress consist in the somewhat difficult editing of the theme.json file. However, in order to check if everything works you’ll need a “style tile page”.
Style Tile Page
Create a blank theme, eg. via a plugin or this page.
Add colored squares for your colors
Headers
Paragraphs
Buttons
etc. etc.
Make sure to add every styled element to this pages so that you can test your theme.json before creating content.
Structure and the menu
After the style type page add the structure. Create the static pages – then you can add the menu.
theme.json
Before you begin you’ll need to know the JSON syntax. This webpage – JSON.org – will give you a clear idea of how the key-value pairs work in JSON.
The we can follow Damons way of editing theme.json. He worked his way from element to element. Basicly the steps looked like the ones above. But now we add the styles to theme.json. As soon as you add your primary color, you can see the result in your style tile page.
Theme.json
Add colors by hex codes.
Add hedings: h1 to h6 with the fonts you’ll use.
Add buttons and similar design elements.
Etc. add elements one by one.
Sometimes you may want to edit the theme.json file. At other times it’s more easy to edit the specific blocks in the WordPress Style Editor. I’d suggest that you follow that approach as soon as the basic elements works.
Add fonts and theme colors manually in theme.json
Here is a sample of the json you can add for the colors in theme.json:
// this is should be placed under colors
"palette": [
{
"slug": "foreground",
"color": "#000000",
"name": "Foreground"
},
{
"slug": "background",
"color": "#ffffff",
"name": "Background"
}
]
Now you can edit the blocks in the editor – since this is more easy than editing the theme.json.
Efter editing all relevant blocks you can download the theme as a zip file – again this is one of the options in the theme editor.
Do we really need Figma here?
Of course you could work out everything in your favorite editor and as a tweak of say one of the block based themes. However, it is far easyer to work in a systematical manner if you know what you need to do. The workings become far more easy if you know what you want to do.
Probably many designers stay too long in Figma. IMHO Figma is the place where you develop the way the elements should look. When you have a clear vision here move to WordPress.
Figma Introduction
How do we get started with Figma. The following video is a really good starting point.
Howest is situated in Kortrijk in Belgium. It is a university with several IT-related programmes. I visited Devine:
“Digital design and development (Devine) is a unique 3-year bachelor programme at KASK Conservatory school of arts of HOGENT and Howest in Kortrijk (Belgium).” (source)
The university has several it-related educations. For instance I was introduced to several IT programmes, such as:
During the exhange I met the Academic Director Klaus Delanghe, theachers, students and the international manager from Howest and Devine. All of this was was coordinated by Wouter Verweirder.
– The marker shows the location of Devine in Kortrijk. The name of the building is the “Budafactory”. It’s situated on the lovely historical island Buda.
Class I: Swift
Today I was invited to follow four classes. The first class in the morning was an introduction to Swift..
The class was preparing for passionstudies and their BA thesis.
In this phase of the studies the students are introduced to several programming languages.
So this week Swift was on the menu.
In Swift you can create apps for Mac OS – anything ranging from apps on the iPhone to tablets or laptops.
After the introduction to the programming language the students followed a live coding session.
At the programme the students must own a Macbook. Therefore native apps for Mac is a logical option.
Students working on the Swift assignment.
Class II: Craft CMS
The next class was an introduction to the Craft CMS.
It is made in PHP and similar to the code you’ll find behind the stage in e.g. WordPress. But the installation seems more complex.
In the class the students were guided through a tutorial where the CMS was configured.
In Craft you have to define classes and sections and whether they should behave as single pages or blogs.
The CMS can be configured to any need. You can create templates for the views in the twig templating language.
According to the lecturer the Craft learning curve is somewhat steep, however the bright international class managed to get their system up and running.
These students came from all over Europe: Poland, Iceland, Finland, Italy and more countries. Since I also teach international students in Denmark it was really nice to meet this class.
TheCraft CMS dashboardFields in Craft.
Creative Arduino Project by a student displayed in the main hall of Devine. After years the prototype still works.
Class III: Mobile Web Design
The third class focussed on design. Again I was allowed to follow feedback on a design assingment.
The students worked in Figma. Certain design assets were handed out before the class. But the students were allowed to improvise.
Each student got feedback about the pros and cons of their work. Just listening to this feedback was rewarding:
How to set good text margins on small devices.
How to use images in full width.
About good font sizes when you work on mobile.
Color contrasts – what works and the contrary.
Now and then the students elaborated on their ideas. This lecture gave fine didactic inspiration to exercises and hand ins with Figma.
Class IV: UX Research 3
Again I followed the international class. This day was dedicated to UX research. The students were asked to write notes from a personal event. These data should be organized, and they sought for patterns in the raw data. So the notes had to be organized.
Student work: stick it notes. Thanks for the permission to show this.
According to the double diamond the personal data is “primary research”.
This was followed by a lecture on the subject “secondary research” or desk research in articles and so on.
The students learned how to read many articles fast: “Look for a summary, sift through the article’s illustrations and just read what you relly need.”
The teacher made the students reflect in mutual online spaces, for on wooclap.com. The class shared notes, and they could vote when the teacher had questions. In this way the students were not just passive listeners – they contributed to the mutual knowledge base in the classroom. This class ended with the subject of good academic behaviour towards sources, how to use sources in a paper and how to add lists of sources.
In a church nearby the hotel there is a magnificent multimedia exhibition about the famous battle at Kortrijk. The installation was made by almuni from Howest.
At Devine the caretaker in the 3D-lab told me that he was one of the keepers of the towers. And that the name of one of the streets was golden spurs – because of the many spurs taken from the slaughtered french knights in 1302.
The exhibition is all about that battle. In the curch the ceiling and windows are used for projections. Don’t miss this if you’re in Kortrijk!
The chapter with heraldic picturesThe chapterThis porttrait looks like a knight of St. John or wearing the papal colors of war. The Danish flag “Dannebrog” has the same colors.
Images from the Knights Chapter in Our Lady’s in Kortrijk. During the multimedia projections the shutters are closed.
The Björk theme is very popular for portfolios among web devolopers. However, the frontpage is a challenge. Normally you would be able to change the frontpage by asigning a certain page as your frontpage.
However in Björk you must edit the frontpage template. You must open the frontpage template in the theme editor and then you can edit all the frontpage the infomations. The long lorem ipsum texts should be edited to something about you. All links and buttons should be changed too. In fact you must add some content to the template
To be honest and From a strictly technical point of view I don’t like this mixture of the presentation layer with the content layer in the Björk theme. But as Yoda might have said:
“Possible it is.“
Yeah, but as the same philosopher Yoda also said:
“The dark side I sense.“
Even though you can create content in the theme it is not the best practice. Template files should only use the template blocks, such as headers, loops, next-posts etc.
Apart from these whims of the Björk author – it’s is a nice blog based theme for anyone who needs a portfolio.
In block based themes you can do most of the designer’s craft in the Dashboard. The themes are very flexible when it comes to layout and options.
However, in Twenty Twenty Two there are only a few options for say headers or the main text. The theme colors are predefined. It would be nice if you could just define some colors of your own.
Now you could ask: why should we define styles in a JSON file, and not in style.css. The answer is this: theme.json will define the options for the content creators in the Dashboard. I the authors should be allowed to change certain colors – then you can define the options here.
So you want to change the theme Twenty Twenty Two‘s colors, gradients and fonts in WordPress? Theme.json is the answer!
theme.json
Such settings are defined in the new file theme.json (i.e. from WordPress 5.9 and on. The file is located in the root of your theme directory. The file extension reveals that this file is formatted as JSON.
A theme like Twenty Twenty Two is shipped with certain fonts, colors and gradients. They are defined in theme.json. And when this is done correctly you can:
Create cool CSS gradients and use them in the theme, e.g. via this tool https://cssgradient.io/.
Define whitespace, sizes and more.
Add a Google Font to your theme
First create either a child theme or simply copy the theme folder, rename it – and give the theme a new name in style.css.
Then go to https://fonts.google.com/ and find a font that will work in your context. Download the font. You’ll get a zip file from Google. Unzip the font file in:
In the folder youll find the file TradeWinds.ttf – we’ll need this information when we edit theme.json.
Add the font in theme.json
Now you can edit theme.json. Under “typography” find the section “fontFamilies”. You can see severalt fonts there. After the last font you can add the informations about your downloaded font:
Excerpt from theme.json – the Google “Trade Winds” font defined.
Now Trade Winds is one of the font options in the Dashboard.
Now save theme.json – and the font should be ready. Now you can use it in the theme styles.
Colors, Gradients &c.
Now you know the drill. In a similar way you can add colors, gradients, whitespace, sized, dropcaps and more. If you read the theme.json file there are many examples – even on how to style the actual blocks in the editor.
In my oppinion Twenty Twenty Two is one of the most flexible themes from WordPress to date. The new ways of full site editing (FSE) and the many options for personalizing the WordPress theme is in fact a new paradigm for the developer community.
With powerful tweaks like this you can create a theme that will follow virtually any styletile or design line. In fact you could argue, that you don’t need more than one theme in the future.
However, that is very unlikely to happen. The WordPress developers are too creative for just one theme 😀
If you want to make a difference as a WordPress developer take the time for a deeper study of the details of theme.json.
You can edit both the content and the layout via the Dashboard. In your theme you can add templates for the site, such as headers, footers. These bits and pieces are saved in the WordPress markup. These chunks of code are called blocks.
Blocks
You may create blocks in an ordinary editor. Alternatively you can build the blocks in the WordPress editor. When you are satisfied with the work, just copy the code to the editor.
Create a theme from scratch
Here is what you need to do in order to create a working theme in WordPress.
A working theme can be made by a few files. The structure is:
../wp_content/themes/myTheme
In this folder create these files and directories:
index.php // a blank file
style.css // the style sheet
templates/index.html // will be the main template
parts/footer.html // footer content
parts/header.html // header content
functions.php // optional
theme.json // optional: fonts, colors, etc.
You can create a crude but working theme only with these three files:
index.php // a blank file
style.css // the style sheet
templates/index.html // will be the main template
A primitive page like this does not have any styles. The stylesheet must be imported via functions.php. So for a test site I’d prefer at least to add a stylesheet in functions.php along these lines.
Here is a more complex structure from the WordPress article (op.cit.). Probably the structure below is what things will look like after some development:
The comments below will add the theme to the Dashboard:
/**
Template Name: PETJ Block Theme Intro
Author: Per Thykjaer Jensen
Descripttion: For Multimusen.dk
Requires at least: 6.0
Licence: GNU General Public License v2 or later
**/
Below this comment you can add all CSS for the site.
The style.css will probably be limited since the styles are defined in theme.json.
This file is left blank. Probably index.php will be obsolete in future versions of WordPress. You may want to leave a comment, like:
/**
file: index.php
important: the file should be empty as of now
*/
templates/index.html
This is the most important index file for the theme. You can create the landingpage in the blockbuilder’s theme editor. By now this editor is in beta development stage. Most things work, but there are a few flaws.
Copy the code in the editor. This could look something like this:
As you may have guessed by now the author informations from parts/author.html could be imported like this:
<!-- wp:template-part {"slug":"author"} /-->
You can also create new templates – for instance when you select the tempate for the page or post. Every page in the theme can be tailored as you will it.
theme.json
Here we define colors, fonts, template parts and more for the theme. Note that styles and colors should be defined here. This is a game changer. How can we set e.g. the overall font-family for the site? See Carolina’s article below.
theme.json will define the fonts, the theme colors and name the template parts, so that you can use them in the theme editor.
Boom! Up and Running
In theory you should be able to get a theme up and running, if you create just a few files:
index.php
style.css
functions.php
templates/index.html
However
The 10.000 hours headstart would be to find a nice blog based theme. Copy and rename the folder to whatever your theme is called. Edit the style.css info about name etc.
The BeoVision Countour is a TV that is shipped with the soundbarBeoSound Stage. The soundbar is able to project sound in your room so that it seems to come from anywhere in the room.
Now you might think that you’d get the best settings via the remote. However, the remote not the best way to tweak the sound settings. You really want to install the B&O App on your mobile device. Here you can tweak the sound to whatever you fancy.
Sound Options
In the app you can edit a lot of sound settings, such as bass, treble and loudness. You can also tweak the upmix, virtualization, LFE and the content processing. Whatever that is? When I got the device I had to consult the manual. Here is a short explanation:
Upmix
Will try to emulate extra “speaker channels” for instance for 2.0 (i.e. two channels, no subwoofer) or less tracks. The experience should be surround-ish. Sometimes you will not be able to hear a difference. Especially if the soundsettings are more advanced.
Movies: turn ON for better surround. Music: turn OFF for better stereo experience.
Virtualize
Emulates the the surround sound experience. When activated you’ll get the amazing feeling of sounds coming from below, above, right, left, before and behind you.
The emulation works best if you’re seated in the centre in front of the TV.
Obviously this setting is meant for either movies or great music experiences. The BeoSound Stage can improve Surround Sound and Atmos.
Try this setting for silver screen movies, concerts, nature programs and similar.
Low frequency effects tuning (LFE)
Will turn Low Frequency Effects on or off (3-120 hz). Sometimes you cannot hear any difference, depending on the signal. In other cases deep silver screen movie kabooms will shake your room – or the deepest organ pipes in Koyaanisqatsi will shake the walls. LFE is cool for certain kinds of movies and music.
Content processing
When this setting is on the sound is processed to an “even level”. If you don’t like the sound difference between molesting ads and the program you really want to hear – this setting is worth a go. You can choose between:
* High * Low * Disabled
Translation of basic sound concepts: upmix, virtualization, LFE and content processing.
If you understand these settings, this is where the magic art of sound really begins.
Best Sound Settings
TV Sound
When I watch TV or YouTube on a Chrome-cast. Often the focus is on the spoken word. Then the equalizer should focus on bright sounds. So just add a little bass and perhaps more treble. Loudness: off (naturally). On YouTube the ad sound level will be less annoying.
Upmix
On
Virtualize
On
LFE
Off
Content processing
High
TV settings: focus on speak and reduce annoying ad sound levels
Music
Here we should be able to enjoy the full stereo capacities. Since music genres are different, it’s nice to be able to change the soundscape in the circular symbol of the app.
You can make the music light, energic, warm or relaxed. In the app you’ll move a dot in a circle. Experiment till the sound is good. Perhaps you like loudness for low volume listening. I only use loudness on very rare occations. Here are my favorite Music settings:
Upmix
Off
Virtualize
On
LFE
On
Content Processing
Disabled
Music: get most out of the stereo effects. In order to get the most dynamic sound we don’t need the Content Processing.
Film
Now we enter the hall of the cinema. Here we want sound effects for a maximum immersive experience. Both films and movies may demand tweaks depending on the genre you may want to adjust the equalizer and soundscape. Depending on taste you may want to add loudness to these settings. Here I’d prefer settings along these lines:
Upmix
On
Virtualize
On
LFE
On
Content processing
Disabled
Film settings for cinematic experiences. In order to get a more dynamic sound we don’t need the Content Processing.
Night Listening
This setting is for quiet night listening, for instance for radio, podcast or tutorials. Focus is on the spoken word, so here I’d go for more treble than bass. Again loudness should be off.
Upmix
On
Virtualize
On
LFE
Off
Content processing
High
Listening during the night or for podcasts, tutorials and similar.
None
Just turn all effects off and set bass and treble to a neutral position. On the circle in the app, place the dot in the centre. Now you have a clean “sound canvas” for experiments.
Upmix
Off
Virtualize
Off
LFE
Off
Content processing
Disabled
All effects are off.
Critique: I want to control all sound settings by the remote
On the app you can tweak the sound as you fancy. But in my oppinion an app is a weakness. Why use the phone or tablet here? I don’t know why B&O created a solution with such limitations for the remote control. I’d prefer a solution where you are able to control all settings the by the remote.
If the app is discontinued in the future there is no way to edit the settings of the soundbar. On a high-end TV you should be able to control everything from the remote.
Critique II: I want buttons
During most of 2024 the app was redesigned. For a quarter of a year or more the sound settings became unavailable in the app. The was no way you could turn off or on settings like upmix etc.
On guitar amps I avoid everything that will rely on apps only. I want buttons to control everything.
The same goes for Contour – I want buttons!
Gimme’, gimme’ buttons, please!
What I Like
The Amazing Soundscape Options
The BeoVision Countour is a wonderfull TV and the built in BeoSound Stage gives amazing sound experiences. If you don’t want cables and wires all over the place for speakers, subwoofers and what not – then the BeoVision Contour is a very good solution. It can fill the room with music – or let a movie with Athmos come to life.
Playlist – test your music settings
Try my playlist “Joy of the Subwoofer” when you experiment with the ultimate sound tweaks.
Multimusen.dk will set a few cookies from Doubleclick, Google and the Social Media plugins they ay set some cookies. Some of my pages use APIs - such as YouTube, LinkedIn, Google Fonts, Google Maps, Mapbox, Spotify, Jetpack, Twitter, Facebook &c.. Such plugins may set the odd cookie.