Author: Per Thykjaer Jensen

  • Reusable Blocks Bugs

    Reusable Blocks Bugs

    Here are a few bug that I’ve discovered during experiments with WP 6.1:

    Themes

    Reusable blocks won’t work if you try to export a theme. Just use regular blocks. Then your theme will work as intended. The theme will break apar.

    JavaScript

    Custom HTML blocks with JavaScript also don’t work.

    However, here is a workaround: Just pick the blocks out of the reusable block. Q.E.D.

  • Test Duotone

    Test Duotone

    Duotone effect

    N.F.S. Grundtvig (1783 - 1872)
    N.F.S. Grundtvig (1783 – 1872)
  • From Figma to WordPress

    From Figma to WordPress

    How do you get from a creative idea in Figma to something that actually works in WordPress?

    Watch this interesting one hour tutorial by Damon Cook and Sharah Snow from WordPressTV:


    Damon’s Figma

    In a sticky comment Damon Cook linked to his Figma file. See below.


    DX – “Designer Experience”

    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.

    Source json.org (op.cit.)

    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.

    By: https://www.youtube.com/@AJSmart
  • Boxy Images are so last year!

    Boxy Images are so last year!

    A few images from a visit to Moesgaard Museum by Aarhus.

    Cover Block

    Shape the image via radius, add border around things. You can edit the radius of each corner.

  • Erasmus Exchange

    Erasmus Exchange

    Log from my Erasmus Exchange:

    Devine / Howest
    Kortrijk, Belgium – November 2022

    About Howest and Devine

    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)

    Green screen studio – one of the largest in Belgium

    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.

    This kind robot greets you at the entrance to Howest.

    Impressions from Kortrijk


    Vis større kort

    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 passion studies 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 dashboard
    Fields 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.

    The 1302 Exhibition

    The Battle of the Golden Spurs, Kortrijk – source Wikipedia.

    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!

    Because of copyright issues I’ll just link to Googles pictures from this multimedia event in Our Lady’s Church.

    Images from the Knights Chapter in Our Lady’s in Kortrijk. During the multimedia projections the shutters are closed.

    Multimusen.dk – 500+ multimedia tutorials

  • The Björk Theme

    The Björk Theme

    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.

    The Björk theme excerpt from https://andersnoren.se/introducing-bjork/

    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.

  • theme.json – add a google font to your WordPress theme

    theme.json – add a google font to your WordPress theme

    Creative options

    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.

    Image: Pexels.

    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:

    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:

    .assets/fonts/YOUR-FONT-HERE

    Font: Trade Winds

    In this case the files will be unzipped as:

    .assets/fonts/Trade_Winds

    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:

    Code: theme.json
    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.

    You can add a gradient like this – click here to see the code.

    Conclusion

    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.

    The Theme Code

    The Code in my theme.json

    Here is the link to my theme.json at the time when I wrote this article:

  • Unminify Tool

    Unminify Tool

    javascript code
    Photo by Markus Spiske on Pexels.com

    Tool for minified code

    Minified code can be hard to read. Sometime we need a tool in order to make such a code readable.

    This tool was recommended by Sophia Forcan, Thanx 🙂

  • A Twenty Twenty Two Demonstration

    Ellen Bauer

    Fine demonstration of the Twenty Twenty Two FSE options.

    Follow Ellen Bauer on YouTube.

    Ellen Bauer: FSE overview.
  • Block Based Theme Development

    Block Based Theme Development

    Full Site Editing – notes towards the new theme development process.

    This article is work in progress, or a “living paper”. I write this while learning.

    Here is the introduction by WordPress:

    Full Site Editing

    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.

    Handbook: Block Themes

    File Structure

    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:

    assets (dir)
          - css (dir)
                - blocks (dir)
          - images (dir)
          - js (dir)
    inc (dir)
    patterns (dir)
    parts (dir)
          - footer.html
          - header.html
    templates(dir)
          - 404.html
          - archive.html
          - index.html
          - page.html
          - single.html
          - search.html
    functions.php
    index.php
    README.txt
    rtl.css
    screenshot.png
    style.css
    editor-style.css
    theme.json

    Experiment: a basic web page layout

    Typical web site structure.
    1. Create a directory for your theme
    2. Add style.css
    3. Add functions.php (enqueue the stylesheet)
    4. Add index.php (empty file)
    5. Add parts/header.html and parts/footer.html

    style.css

    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.

    functions.php

    Should include the stylesheet(s) as usual:

    <?php
    /**
     * file: functions.php
     * purpose: add functionality
     */
    
    /** include stylesheets */
    function themeslug_enqueue_style() {
    	wp_enqueue_style( 'petj-theme-styles', 
        get_template_directory_uri() 
        . '/style.css', 
        false );
    }
    add_action( 'wp_enqueue_scripts', 'themeslug_enqueue_style' );

    index.php

    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:

    <!-- wp:site-title {"level":1} /-->
    
    <!-- wp:heading {"level":2} -->
    <h2 id="multimusenTitle">Multimusen.dk</h2>
    <!-- /wp:heading -->
    
    <!-- wp:template-part {"slug":"footer"} /-->

    Note that this sample will use a template part called footer. You can import the header in the same way. Template parts must be saved in:

    parts/header.html
    parts/footer.html
    parts/author.htm

    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.

    Then ye gode olde magicke begins …

  • BeoVision Contour: Best Sound Settings

    BeoVision Contour: Best Sound Settings

    The BeoVision Countour is a TV that is shipped with the soundbar BeoSound 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.

  • OpenWeatherMap

    OpenWeatherMap

    The weather in Aarhus via one of the widgets:

    For more widgets, see here.

Enable Notifications OK No thanks

We use cookies - more information

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.

Close