When typing a name for a new content type or a new view, its machine name is automatically generated as the user types. There is an "edit" link next to it, so that the machine name can be manually edited to be different from the human-readable name:

This "manual" mode for the machine name also kicks in when validation for a machine-name-enabled field fails (when the user leaves the field blank for example). The "Machine-readable name" field in these cases is being exposed, so that the user can free-type the machine name themselves:

When the "Machine-readable name" field is exposed, non-valid characters are allowed to be typed:

...only to throw validation errors when the form gets saved:

Describe the solution you'd like Have it so that as the user types in the machine name manually, the same javascript kicks in as when we are automatically creating the machine name for them. So:
- if the user types capital letters, they are converted to their respective lower-case ones.
- if the user types non-latin letter, they are converted to their respective phonetic replacement combos.
- if the user types symbols, they are either ignored, or replaced with an underscore.
Recent comments
You can use this module: https://backdropcms.org/project/search_api_block
Search Api form in header?
Have you looked at the BG Image Formatter https://github.com/backdrop-contrib/bg_image_formatter
How to access node fields in block template files
You could also try Current Content Display Block which with a bit of config and CSS could get you what you need.
How to access node fields in block template files