How to Create a Cloudinary Image Transformation

How to create a Cloudinary Image Transformation: Create a Cloudinary Transformation in this step-by-step tutorial and learn how to create a new transformation preset.

This tutorial was created by Neil Humphrey & Pamela Peña.

Table of Contents

How to create a Cloudinary image Transformation.
How to create a Cloudinary image Transformation.

Create a Cloudinary Image Transformation

Learn how to mold and manipulate the design of your images using parameters to create your own unique design system.

Cloudinary Image Transformations.

Image Uploading

Cloudinary Image Upload

  1. Login to your Cloudinary Dashboard.
  2. Select Media Library.
  3. Click Upload Button.

Upload Image Button.

Image Transformation Parameters:

Use these parameters to manipulate your image in a single upload.

  • Width
  • Height
  • Crop
  • Aspect Ratio
  • Gravity
  • Zoom
  • X-axis
  • Y-axis
  • Format
  • Fetch Format
  • Quality
  • Radius
  • Angle
  • Effect
  • Opacity
  • Border
  • Overlay
  • Underlay
  • Default Image
  • Delay
  • Color Space
  • DPR (Direct Aspect Ratio)
  • Page
  • Density
  • Flags
  • Raw Transformation
  • Transformation
  • Arithmetic Operators
  • If
  • Variable

Image Presets & Manipulation

  1. Click the Ellipses – Manage.
  2. For our example we are creating a preset for an article on LinkedIn, and we will only edit some basic image features:
    • Size: 1200Wx675L
    • Scale: Artistic Filter 
    • Filter: Frost 
    • Change the aspect Ratio: 16:9
    • DPR (device Pixel Ratio): 2.0 Pixel 
  3. Select Transformation.
  4. Create a new transformation.
  5. Save As: Preset name.
  6. Add to presets.

Manage Image Transformations.


Image Uploading

  1. Select Media Library.
  2. Choose New Preset.
  3. Copy URL Paper Clip or download it.
Image Manipulation.
Image Manipulation.

Cloudinary Media Developer Expert

Cloudinary MDEs will receive prioritized access to the Cloudinary platform, products and internal resources, as well as training opportunities and community events.

Certified MDEs will also play an important role in contributing to the broader developer network across the media management ecosystem through a variety of efforts including open-source projects, hackathons, meetups, conferences, workshops, content opportunities and more.

More Cloudinary Tutorials

Learn how to use Cloudinary from a trained Media Developer Expert.


Pamela Peña

Advisor at Carson Wealth since 2014.

Reach Out

Neil Humphrey

Lifelong learner and Software Engineer.

Reach Out

CSS Pseudo Elements

CSS Pseudo Elements

Learn the basics of CSS Pseudo Elements

What are CSS Pseudo Elements?

  • Pseudo-elements are used to style a specific part of an element.
  • They start with a double colon ::.

Sometimes you will spot them in the wild with a single colon, but this is only a syntax supported for backwards compatibility reasons. You should use 2 colons to distinguish them from pseudo-classes. 

Download The PDF
CSS Pseudo Elements.

Using ::before and ::after

::before and ::after are probably the most used pseudo-elements. They are used to add content before or after an element, like icons for example. 

Here’s the list of the pseudo-elements:


creates a pseudo-element after the element


creates a pseudo-element before the element


can be used to style the first letter of a block of text


can be used to style the first line of a block of text


targets the text selected by the user

Let’s do an example. Say you want to make the first line of a paragraph slightly bigger in font size, a common thing in typography:

p::first-line { font-size: 2rem; }

Or maybe you want the first letter to be bolder:

p::first-letter { font-weight: bolder; }

::after and ::before are a bit less intuitive. I remember using them when I had to add icons using CSS. You specify the content property to insert any kind of content after or before an element:

p::before { content: url(/myimage.png); } .myElement::before { content: "Hey Hey!"; }

Get the PDF

Download the CSS Pseudo PDF Tutorial.

CSS Tutorials

How to Create a React Native Web App

How To Create a React Native Web App

React Native helps create mobile apps using JavaScript and React.

React Native Web App.

Learn how to create a simple React Native Web App.

Tables of Contents

How to Create a React Native Web App.
How to Create a React Native Web App Tutorial.

React Native Web App.

How to Create a React Native App

React Native lets you build mobile apps using only JavaScript.

It uses the same design as React, letting you compose a rich mobile UI using declarative components.

React Native Code

Go to

After creating an account on, upload the following files to view your new React App.

Add the following files to create a React Web App

Upload React Native Web App Dependencies:

React Native Web App Files.

React Native Compiling

React Native lets you build your app faster. Instead of recompiling, you can reload your app instantly.

With Hot Reloading, you can even run new code while retaining your application state. Give it a try – it’s a magical experience.

React Native Code

Additionally, React Native combines smoothly with components written in Swift, Java, or Objective-C.

It’s simple to drop down to native code if you need to optimize a few aspects of your application.

It’s also easy to build part of your app in React Native, and part of your app using native code directly – that’s how the Facebook app works.

Omaha Code Tutorials

Learn More

React Brazil

Expo enables you to work using an SDK with access to native functionalities easily, while saving your time. Create an app in just a few steps.

How to Speed Up Your WordPress Site with a Free Cloudinary Image CDN

How to Speed Up Your WordPress Site with a Free Cloudinary Image CDN

Speed up your WordPress site with a free CDN from Cloudinary.

Continue Learning Sign Up

How to Speed Up Your WordPress Site with a Free Cloudinary Image CDN.
How to Speed Up Your WordPress Site with a Free Cloudinary Image CDN

In this tutorial, I’ll show you how to speed up your WordPress website using a free Cloudinary Image CDN.

Migrate all of your existing WordPress images Cloudinary in minutes using the Auto Cloudinary Plugin.

Table of Contents

Image CDN Benefits

Hosting many images within your WordPress site slows down your sites performance and increases bandwidth. An Image CDN makes the process of serving images as seamless as possible. It increases the speed of your website by offloading images and caching static content. Image CDN’s also interpret the screen size and resolution of the device, the DPI, as well as supported image formats. In addition, an image CDN is able to dynamically render a master image to correspond with the specifications of the device.

Create a Free Cloudinary Account

You’ll need to sign up for a free account, then input your company or site name that will become your cloud name.

Create a Free Cloudinary Account.
Create a Free Cloudinary Account.

The cloud name is important when we configure the Auto Cloudinary Plugin.

  • First, create a free account with Cloudinary.
  • Create a cloud name used to configure Auto Cloudinary Plugin.

Once your signed in, you’ll be able to view a custom dashboard with your account details.

Your Cloudinary account details include:

  • Cloud-Name.
  • API Key.
  • API Secret.
  • Environment Variable.

Create a new Folder within the Media Library

The new folder will be used to automatically serve your new and existing images from a Cloudinary Image CDN. If you have a large site with many images stored within your WordPress Media Library, using a CDN will increase the performance of your website immediately.

Configure Your Cloudinary Settings

Now, select the settings icon located on the top right of the page within your dashboard menu. Cloudinary Settings.

Select Upload Settings

After selecting the uploads tab, scroll down to Auto Upload Mapping settings.

Cloudinary Auto Upload Settings.

Input the Name of the Folder You Created

Since I created a new folder titled omaha-code-cdn, this will be used as the name of the auto upload mapping folder.

URL Prefix

Now, Input the URL prefix of your WordPress uploads folder. The URL Prefix will appear as the your domain name and wp-content/uploads/. As you can see, my URL Prefix appears as Note: Replace with your own domain. “”

Download The Auto Cloudinary Plugin

Navigate back to your WordPress dashboard and select the Plugins tab. Click Add New Plugin, then type “Auto Cloudinary” into the search bar. Upload Auto Cloudinary Plugin. You may have noticed that Cloudinary also created an official plugin. I prefer the Auto Cloudinary plugin because it’s much easier to setup.

Auto Cloudinary Plugin Benefits

The official Cloudinary Plugin is somewhat of an overkill, and takes over the user interface of your image admin within WordPress. Auto Cloudinary Plugin has also been tested with the latest WordPress Update, and the official Cloudinary Plugin is untested with the latest WordPress Update.

  • Super simple and light-weight.
  • Totally seamless and out of the way.
  • A flexible tool for WordPress developers.

Under Tools, Select the New Cloudinary tab

Within your WordPress Dashboard, select Tools > Cloudinary. Under Tools, Select Cloudinary Tab.

Configure Auto Cloudinary Options

Input your Cloud Name and the name of your auto mapping folder. My Cloud Name is Omaha-Code, and my auto mapping folder is omaha-code-cdn. Image CDN Configuration. Choose “Automatically use Cloudinary for all Images” to create a super easy Auto-Upload feature in the Fetch API. This plugin tells Cloudinary where to find the files on our server (or on S3 or anywhere on the Internet), and it automatically downloads it from there,  thus saving it on to it’s servers the first time you ask for it, like a CDN would!


Now Cloudinary will automatically fetch and serve the images from your WordPress media library using a Cloudinary Dynamic File name.

Cloudinary Auto-Upload for WordPress

View the github repository here.

Cloudinary Auto Upload Tutorial

Once an image has been auto-uploaded from the remote location, all requests for the image will reference the image stored in your Cloudinary account.

This feature supports all resource_types (image, video and raw).

Image CDN Cloudinary and WordPress.
Cloudinary Image CDN Tutorial Background.

Cloudinary’s Media Developer Experts

As a Cloudinary MDE, I’ve received 2 days of first-hand training from Cloudinary software engineers.

Cloudinary Expert Neil Humphrey

How to use Visual Studio Code

How to use Visual Studio Code

Visual Studio Code is completely Open Source, and costs no money to use. It has become my favorite editor, over Atom and Sublime Text.

Table of Contents Learn VS Code
Also, Microsoft releases an update every month to ensure quality.

How to Use Visual Studio Code Guide

Download Visual Studio Code Once you’ve completed the download, you should see the welcome screen image featured below.

Visual Studio Code Welcome Screen

Welcome Screen - Visual Studio Code The 5 icons on the left toolbar give you access to:

File Explorer

File Explorer Press the “Open Folder” button in the sidebar, or the Open folder… link in the Welcome page. Both will trigger the file picker view. Choose one folder where you have source code, or even just text files, and open it.

VS Code will show that folder content in your view:

Opened Folder On the right hand side, the empty view shows some commands to perform some quick operations, and their keyboard shortcut. If you select a file on the left, that file will open on the main panel: Files List Once you start editing it, you’ll notice a dot will appear next to the file name in the tab, and in the sidebar as well: Editing File Pressing CMD+P will show you a quick file picker to easily move in files on large projects: File Picker You can hide the sidebar that hosts the file using the shortcut CMD+B.
Note: This is using Mac Keyboard Shortcuts
View Visual Studio Code Shortcuts
The second icon in the toolbar is “Search”. Clicking it shows the search interface: Search You can click the icons to make the search case sensitive, to match whole words (not substrings), and to use a regular expression for the search string. To perform the search, press enter. Clicking the ▷ symbol on the left enables the search and replace tool. Clicking the 3 dots shows a panel that lets you just include some specific kind of files, and exclude other files: Search Replace

Source Control

The Source Control tab is enabled by clicking the third icon in the toolbar. Source Control

Git & Visual Studio Code

Visual Studio Code includes integration with Git out of the box. In this case the folder we opened does not have source control initialized. Clicking the first icon on top, with the Git logo, allows us to initialize the Git repository: git-repo-initialized The U beside each file means that it’s been updated since the last commit (since we never did a commit in the first place, all files are updated). Create the first commit by writing a text message and pressing Cmd-Enter, or clicking the ✔︎ icon on top. First Commit I usually set this to automatically stage the changes when I commit them. The 3 dots icon, when clicked, offers lots of options for interacting with Git: Git Options
Git Repo Initialized
Git Repo Initialized


The fourth icon in the toolbar opens the JavaScript debugger. This deserves an article on its own. In the meantime view out the official docs.


The fifth icon brings us to extensions. Visual Studio Code - 15 Awesome Extensions Extensions are one great feature of VS Code. They can provide unlimited value that you’ll definitely end up using many of them. I have many extensions installed. Remember that every extension you install is going to somewhat impact the performance of your editor. You can disable an extension you install, and enable only when you need it. You can also disable an extension for a specific workspace (we’ll talk about work workspaces later). For example, you don’t want to enable the JavaScript extensions in a Go project. There is a list of recommended extensions, which include all the most popular tools. Recommended Extensions If you need to edit markdown files for something like Github, VS Code automatically suggests the MarkdownLint extension, which provides linting and syntax checking for Markdown files. As an example, let’s install it. First, we’ll inspect the number of views. It’s 1.2 million – ton! And the reviews are positive (4.5⁄5). Clicking the extension name opens the details to the right. Extension Details Pressing the green Install button starts the installation process, which is straightforward. It does everything for you, and you just need to click the “Reload” button to activate it, which effectively reboots the editor window. Done! Let’s test it by creating a markdown file with an error, like a missing alt attribute on an image. It successfully tells us so: Markdown Link Down below we introduce some popular extensions you don’t want to ignore, and some of the extensions that I use frequently.

The Terminal

VS Code has an integrated terminal. You can activate it from the menu View ➤ Integrated Terminal, or using CMD+\` and it’ll open with your default shell. Terminal This is very convenient because in modern web development you almost always have some npm or yarn process running in the background. You can create more than one terminal tab, and show them one next to the other, and also stack them to the right rather than in the bottom of the window: Multiple Terminals

The Command Palette

The Command Palette is an extremely very powerful tool in your arsenal. You can enable it by clicking View ➤ Command Palette, or using CMD+SHIFT+P A modal window will appear at the top, offering you various options, depending on which plugins you have installed, and which commands you used last.

Common operations to perform are:

  • Extensions: Install Extensions
  • Preferences: Color Theme to change the color theme (I prefer a darker theme)
  • Format Document – which formats code automatically
  • Run Code – which is provided by Code Runner, and executes the highlighted lines of JavaScript
you can activate any of those by starting typing, and the autocomplete functionality will show you the one you want. Remember when you typed CMD+P to see the list of files, before? That’s a shortcut to a specific feature of the Command Palette. Here are others:
  • Ctrl-Shift-Tab shows you the active files
  • Ctrl-G opens the command palette to let you enter a line number to go to
  • CMD+SHIFT+Oshows the list of symbols found in the current file
What symbols are is dependent on the file type. In JavaScript, those might be classes or functions. In Markdown, section titles.


You can switch the color theme used by clicking CMD-k + CMD-t, or by invoking the Preferences: Color Theme command. This will display the list of themes installed: Light Theme Visual Studio you can click one, or move with the keyboard, and VS Code will show you a preview. Click enter to apply the theme:


The Theme is just one customization you can make. Sidebar icons that are assigned to a file are also a big part of a great user experience. You can change those by going to Preferences ➤ File Icon Theme. The Ayu theme comes with its own icons theme, which perfectly matches the theme colors: All the customizations we’ve made so far, the theme and the icon theme, are saved to the user preferences. Go to Preferences ➤ Settings (also reachable via CMD-,) to see them: Visual Studio Code Settings The view shows the default settings on the left, for an easy reference, and the overridden settings on the right. You can see the name of the theme and the icon theme we set up, in workbench.colorTheme and workbench.iconTheme. I zoomed in using CMD-+, and this setting was saved as well to window.zoomLevel, so the next time VS Code starts up, it remembers my choice for zooming. You can decide to apply some setting globally, in User Settings, or relative to a workspace, in Workspace settings. Most of the times these settings are automatically added by extensions or by the VS Code itself, but in some cases you’ll directly edit them in this place.


User settings can be overridden in Workspace settings. They take precedence, and are useful for example when you use a project that has linting rules different from all the other projects you use, and you don’t want to edit your favorite settings just for it. You create a workspace from an existing project by clicking the File ➤ Save Workspace as… menu. The currently opened folder will be enabled as the workspace main folder. The next time you open VS code, or you switch project, instead of opening a folder, you open a workspace, and that will automatically open the folder containing your code, and it will remember all the settings you set specific to that workspace. In addition to having workspace-level settings, you can disable extensions for a specific workspace. You can just work with folders until you have a specific reason for wanting a workspace. One good reason is the ability to have multiple, separate root folders. You can use the File ➤ Add Folder to Workspace to add a new root folder, which can be located anywhere in the filesystem, but will be shown along with the other existing folder you had.


How to edit in Visual Studio Code shown below.

Errors & Warnings

Settings When you open a file you will see on the right a bar with some colors. Those colors indicate some issues in your code. For example here’s what I see right now:

Visual Studio Command Line

When you install VS Code, the code command is available globally in your command line. This is very useful to start the editor and open a new window with the content of the current folder, with code..
will create a new window. A useful thing that’s not always knows is that VS Code can quickly show the diff between two files, with code
--diff file1.js file2.js.

Solving High Usage CPU Issues

When running into an issue of high CPU usage, and spinning fans, with a project with lots of files under node_modules.. We’ll include this configuration and things will be normal again:
 "files.useExperimentalFileWatcher": true,
  "files.exclude": {
    "/.git": true,
    "/.DS_Store": true,
    "/node_modules": true,
    "/node_modules/": true
  "search.exclude": {
    "/node_modules": true
  "files.watcherExclude": {
    "/node_modules/": true