Daily E-Commerce Pulse Report (Photo by Denny Müller on Unsplash)

Top 2024 resources on html

Best html resource in 2024.
Learn more about html to improve your e-commerce strategy.

  • 13 Free Learning Resources for Designers, Developers - Here is a list of free online learning resources for designers and developers. There are tutorial sites, informative trade blogs, technical sites, educational games for designers and developers, and courses from a traditional university.
    Topics: developers, coding, include, design, web, resources, tutorials, free, learning, courses, html, learn, designers.
  • 16 Tools for Website Accessibility - "Web accessibility" refers to content designed so that people with disabilities can access it. Accessibility involves a wide range of disabilities, including visual, auditory, physical, speech, cognitive, language, learning, and neurological. Here is a list of tools and plugins for website accessibility, including plugins and ecommerce themes for WordPress
    Topics: web, tools, content, accessible, users, problems, website, tool, html, accessibility, wordpress, page.
  • 275 Free, Responsive Email Templates - Whether you’re sending a newsletter, welcome message, product announcement, or holiday greetings, there are plenty of customizable email templates to match your brand and design on any device. Here is a list of responsive email templates.
    Topics: free, welcome, template, responsive, templates, product, html, collection, email, marketing.
  • 9 Breadcrumb Tips to Make Your Site Easier to Navigate [+ Examples] - In the fairy tale Hansel and Gretel, two children drop breadcrumbs in the woods to find their way home. Nowadays, you probably don't experience too many lost-in-the-wood experiences, but I'm willing to bet you've felt disoriented on a poorly designed website.
    Topics: navigation, breadcrumbs, html, examples, way, tips, users, pages, page, css, site, easier, navigate, breadcrumb.
  • A Beginner's Guide to HTML5 - HTML5 was designed to do virtually anything you want to do online without having to download browser plugins or other software. Want to create animations? Embed music and movies? Build advanced applications that run in your browser? You can with HTML5.
    Topics: version, attribute, browser, create, html, video, guide, html5, web, beginners, using, add.
  • A New Way to Embed External Content To Your Markdown Files with Remarkable-oEmbed - At Elastic Path, we use markdown to author our product documentation. Markdown is a great format for any type of content publishing. It's a plain text format that can be used without any special tools or software. However, sometimes we need to add a little more than just plain text article. One request I had often received was to be able to add videos within the documentation, such as a visual step by step guide. But that's not natively supported by markdown format. Plus, these videos are hosted by a 3rd party service provider. That's also a problem because markdown does not have any native way of embedding contents external sources. What is Markdown? Markdown is simply a set of guidelines/syntax for writing. Markdown parsers then follow those guidelines and convert the document into another format for publishing. The syntax is very simple and does not get in the way of the readability of contents. A document written using pure markdown format can be consumed as-is. A common usage is converting those documents into html files for publishing online article. With the simplicity of the markdown format, it is possible for anyone within our organization to be able to contribute to our product documentation. For the same reason, reviewing the content before publishing is also a smooth experience. We build our documentation website from the markdown documents using a tool called Docusaurus v1, which uses remarkable markdown parser for converting the documents into an HTML format. How to embed external contents using Markdown? As mentioned earlier, Markdown format does not have any syntax or guideline for embedding contents from external services. There are several ways a video or any other external contents could be added without using any special tools: A link to the external contents - This is the simplest approach but lacks a cohesive experience. The user will move away from the content and go into another site or page containing the video. An iFrame whose source is the page containing external contents - The drawback with this approach is that another "site/page" is being embedded in your page, instead of only the content you're interested in. Add html code provided by external content hosting platform - Usually the service providers have a "Share" or "Embed" option that will give you a block of html code that can be added into into your website. That code  can be added into your markdown document. But, this requires writing and maintaining html code in the markdown document. That affects the maintenance, simplicity, readability, and review of contents. Besides, even a small typo or mistake can break the html page when that document is converted from markdown into html. All of the above approaches have some drawbacks. This is where oEmbed really shines. That's why we've built remarkable-oembed - a plugin for remarkable markdown parser. What is oEmbed? Similar to Markdown, oEmbed is simply a specification or guideline for content providers and consumers. Following the specs, providers can deliver contents to be consumable in any way without implementing tools for every consumer. Additionally, consumers can retrieve contents from various service providers without implementing specific tools for different providers. You may have already used oEmbed in various tools or platforms. For example, have you ever added a link to an image or a video into a rich text editor, which then automatically replaces the link with the corresponding image or video? That's most likely oEmbed under the hood. The consumer, such as blog editing tool, contacts the content providers following oEmbed specs. Provider then responds back with appropriate html code (or an URL to an image) and the consumer then replaces the original link from user with the response received from the provider. The user (i.e. blog author) does not need to deal with any code. oEmbed plugin for remarkable-oembed At the time I didn't find an existing plugin for the remarkable markdown parser that uses oEmbed specs for embedding content. So I decided to implement a plugin ourselves. The plugin adds a new syntax for content authors to provide the URL of the external content. When the markdown document is converted into using remarkable parser, it will retrieve the external content and include it in the html document prepared for publishing. Going with this approach added extra benefit for Elastic Path: Simple and familiar syntax for embedding content without requiring html code to be maintained Easy to update if we change our video hosting platform Embed other type of media from 3rd party sites  besides video, if needed The simplest form of the plugin syntax is: `!oembed[alternative text](source url)`. This is very similar to existing/built-in syntax of markdown format for embedding an image. Many platforms support oEmbed specs already. For example, embed code editor from codesandbox.io, audio player from Spotify, video from YouTube or other streaming services, and so on. If you use markdown format for any type of content publishing, such as docs, blogs, news, announcements, and so on and use the remarkable markdown parser, try out this plugin! Check out the open source plugin repository for installation and usage instructions. A list of supported providers can be found in the repository if you search for the `providers.json` file.  Feel free to open a pull request if you find any type of provider missing. There are still opportunities for features to be added into this plugin. Help us build those features! Thank you Special thanks to some of my colleagues for engaging in the design discussions (shout out to Jake Lin, Damoon Tahmasbi) and many thanks to Allegra Chan for carrying out the implementation.
    Topics: embed, code, external, way, remarkableoembed, files, format, oembed, plugin, content, document, markdown, html, contents.
  • HTML Rendering in Digital Commerce Websites - Since the introduction of Single-Page Applications, the web has debated between delivering HTML directly from a server or rendering that HTML within the browser. Each comes with pros and cons favoring either content rich pages or highly interactive experiences. Digital commerce is a blend of both rich product information and robust checkout funnels and must find balance between server-side rendering and client-side rendering. Static Rendering Static rendering is where a fully formed HTML file exists for each page of a website, the file exists on a hard-drive or cloud storage and is then served to the client when requested. When a client or browser requests the HTML there is no code executed, databases to call, or other changes to the content of that HTML document. This was the original approach to serving websites and HTML was created or written by hand. Recently, static sites have come back into popularity, but instead of writing and managing each HTML file manually, code is leveraged to combine content and templates to pre-generate the HTML in a build step before copying those files to the server. This is referred to as static-site generation and is a key component to JAMStack. Dealing with static files comes with multiple benefits, the first being website performance. These files can be quickly served on request, distributed through a CDN, and easily cached. There are no steps required between requesting the HTML file and displaying the content. Another major benefit is security as it’s extremely hard to hack a basic server distributing files, especially when using modern techniques and a content-delivery network. Since all the code required to build the HTML files happens during a build step there is no need to expose that code to the wider internet and it removes this code as an attack vector. This speed and simplicity make the content easy to read and crawl by bots, which is beneficial for search engine optimization (SEO) and can improve rankings. The problem is that these static sites lack any type of dynamic or interactive functionality which is a non-starter for digital commerce. Basic features such as a cart are impossible, let alone highly personalized recommendation engines or A/B testing. So, the best case is to combine static assets with dynamic content driven via APIs. A common JAMStack approach is to statically generate all product pages, but to render the cart through client-side rendering. This brings the second major problem, which is website updates. Since content is updated during an expensive build-step any content changes wait for that build. This can be run through a CRON job, but is far from immediate. Server-Side Rendering (SSR) Server-side rendering (SSR) is a technique where a server generates the HTML for a particular page and sends it to the client. This page is created dynamically when requested, often combining templates with data queried from an API or database. When we hear the term Server-Side Rendering the context is often around single-page applications or progressive web apps, but it predates both. This is the default rendering option for most of the web, but was previously not discussed as there was no alternative. From the client or browsers perspective server-side rendering looks the same as static rendering, it simply includes a slight delay as the server collects the needed information and builds the HTML. It is also great for SEO. These pages can also include dynamic content based on the user information. The main drawback to server-rendered pages is the level of interactivity and the overall user experience. Clicking a link or adding an item to the cart requires a new request to the server and an entirely new HTML page to be served. This is a large amount of data to transfer when you may only be incrementing the cart count in the header, in addition the entire page will disappear and be reprocessed which is jarring to the customer. While the initial page load is fast, navigating the website or crafting highly interactive experiences is not nearly as fluid as client-side rendering. Get hands on with an Elastic Path Free Trial Start building the commerce experience your unique business demands with a free Elastic Path Commerce Cloud account. Get in touch with us and we will setup a Free Trial store for you for six weeks. Sign up for a free trial Client-Side Rendering (CSR) Client-side rendering (CSR) is a technique where a browser executes JavaScript which generates the necessary HTML. This was popularized with single-page applications (SPA) which instead of serving multiple content rich HTML pages sends a single HTML document that contains the necessary JavaScript includes. In a SPA JavaScript takes the role of generating all HTML, handling navigation, and ensuring the right content is displayed. The term Single Page Application comes from two parts: The server only has a single HTML page. This technique is designed for applications instead of websites. When you consider web applications, for example Gmail or the Elastic Path Commerce Cloud, users typically enter the application from a single point (the sign-in), initial load time is less important than a great experience as users will enter once and spend many hours in the application, and SEO is not a concern. This is in stark contrast to websites where users will come from a search engine or backlink to any relevant page and may only spend a few seconds or minutes on that page. Despite the fact that SPAs were designed and optimized for applications, users loved the great UX and seamless navigation, and they started being leveraged for more traditional websites or digital commerce. Having JavaScript load all content made websites difficult to crawl by bots, though the Google bot can execute JavaScript, SPAs suffer for SEO when compared to traditional websites. In addition, the JavaScript files can get very large so when first visiting a website users encounter slower load times and delays before seeing the requested content. Merging Techniques With the hopes of getting the benefits of both SSR and CSR, developers looked at merging the two techniques. The first approach was to run the rendering code on both the client and browser, this became known as Universal or Isomorphic rendering. This approach can take the advantages of both SSR and CSR and minimize the drawbacks. By using this technique, the initial load of the page is done by the server using NodeJS which can be rendered immediately with HTML, then the JavaScript takes over and improves the dynamic features of the page. This allowed bots to see the initial HTML improving overall SEO, allowed the browser to paint the content prior to loading and executing all JavaScript, and maintained the streamlined UX of a SPA. The problem with isomorphic rendering was twofold, the hand-off between server and client execution and the lack of rendering control in the application. After the browser rendered the initial page the JavaScript was required to take over, unfortunately many libraries struggled to re-use the HTML already in place and instead re-rendered the entire page. So while the content was displayed quickly, any interactivity waited for the full SPA to load and execute. In addition, if the server-rendered HTML had any differences to the JavaScript rendered version the page would randomly change soon after initial load. Isomorphic rendering also required both the server and client to have matching capabilities, both being able to render all parts of the page. While this works, it failed to take into account that server-side execution has security benefits, and some components may be more optimal when rendered client-side. While isomorphic rendering was an attempt to merge the two with existing tools, web frameworks have evolved to take a more transitional approach. New frameworks allow rendering to transfer seamlessly from server to client with progressive or partial hydration and include opportunities for developers to determine if code should be executed client-side or server-side. The Elastic Path Composable Frontend leverages NextJS which includes these options. The page is server-rendered and then progressively enhanced in the browser. Where necessary an API route can be created for server-only execution or the “use client” directive can be added to components at the top of the file to ensure client execution. In summary, the choice between server-side rendering and client-side rendering depends on the specific requirements and constraints of the project. Content heavy websites should lean towards SSR to improve initial load time and SEO, while web applications and highly interactive websites should focus on CSR for improved UX. Digital Commerce should take advantage of transitional apps like Elastic Path’s Composable Frontend to seamlessly move between both techniques depending on the specific site-section. In conclusion, while server-side rendering and client-side rendering are both valid options, each has its own set of benefits and drawbacks. The specific requirements and constraints of the project, such as performance, SEO, accessibility, and development environment should be considered when making the decision. Also, the choice between them can also be influenced by the needs of the development team, security, and caching requirements.
    Topics: client, code, rendering, content, digital, websites, html, commerce, javascript, server, file, page.
  • How HTML Headings Help SEO - HTML headings are phrases or short sentences introducing a new section of content. Google has confirmed that headings help communicate the content's purpose. But search engine optimizers often debate how, exactly, Google uses those headings.
    Topics: google, headings, subheadings, structure, snippets, help, content, using, html, seo, search.
  • How to Add HTML Embed Codes to Your Website [Quick Tip] - If you want to curate others' content from social media or just make your own visual social media content work harder for your overall content strategy, you need to know how to embed HTML code onto your blog or website.
    Topics: content, html, website, add, post, page, code, click, youd, codes, social, embed, quick, tip.
  • How to Add YouTube Videos to Your Website: A Step-by-Step Guide - Video adds value to your website, and the right videos can help drive increased traffic and conversion. As noted by Forbes, users retain 95% of the message when they watch videos compared to just 10 percent by text, making video a great starting point to streamline connection with prospective customers.
    Topics: videos, youtube, stepbystep, video, website, guide, html, users, add, embed, user, site, code.
  • How to Breathe New Life Into Your Google Search Results With Rich Snippets - Google rich snippets. What the heck are those? They're these awesome things that can help you improve your website's SEO and generate more site traffic from search engine results pages (SERPs), and in this article, I'm going to tell you how to set them up.
    Topics: create, life, rich, html, event, google, product, information, breathe, tags, search, results, snippets.
  • How to Create a Link to Jump to a Specific Part of a Page - When most people think of hyperlinks, they think of connecting two different web pages — such as a blog and landing page — together. But that's not all hyperlinks can do, they can link to a specific part of a page as well.
    Topics: page, users, links, anchor, html, text, content, create, link, specific, jump.
  • How to Create an HTML Form That Sends You an Email - Have you ever set up a form on your site, only to lose track of the information? Creating an HTML email form is an effective way to resolve this issue.
    Topics: sends, html, using, email, send, youre, code, php, create, form.
  • SEO: HTML, XML Sitemaps Explained - There are two types of sitemaps: HTML and XML. HTML sitemaps guide visitors, mostly. XML sitemaps guide search engine bots, to ensure they find a site’s URLs to index. Understanding the strengths and weaknesses of each will help with your search engine optimization.
    Topics: seo, search, sitemaps, site, sitemap, link, xml, pages, explained, urls, page, html.
  • SEO: How Google Reads and Renders JavaScript - JavaScript can improve a shopper's buying experience, encourage interaction, and even bolster site performance in some cases. But where search engine optimization is concerned, JavaScript requires an extra degree of care.
    Topics: seo, javascript, renders, rendering, google, googlebot, html, index, reads, content, render, page.
  • Structured Snippets: The Low-hanging Fruit of SEO - I addressed rich snippets last week, explaining how they can enhance organic search listings for ecommerce product pages. Structured snippets are similar in concept, but they don't receive as much attention in the context of organic search. I'll address structured snippets in this post.
    Topics: organic, snippets, snippet, google, html, table, data, structured, rich, seo, tables, fruit, lowhanging.
  • TailwindCSS is a Great Fit for Composable - Composable architectures offer many benefits, including improved scalability, flexibility, and maintainability. But building an attractive and maintainable UI can be a challenging task, requiring careful consideration of various design principles and the ability to easily reuse and combine components. That's where TailwindCSS comes in. This popular CSS framework provides a utility-first approach to building custom user interfaces, making it an excellent fit for composable. In this article, we’ll get you started on working with Tailwind with a simple development environment that includes hot reloading and finish with an open-source ecommerce template. The Challenges of CSS Before CSS all style information was embedded directly in the HTML with style centric tags like <font>, <i>, and <b>. CSS changed the game allowing a separation of presentation and markup and is now the best approach to providing a way to style and layout HTML content. The original approach was built with cascading in mind and a push for semantic HTML. One of the key challenges of CSS is the need to write and maintain custom styles for every element in a project. This can quickly become an unwieldy task, especially as the number of elements and variations increases. Developers must often create an enormous amount of class names and manage complex class hierarchies to achieve the desired look and feel of their UI. Another issue with traditional CSS is that it can be difficult to maintain consistency across a project, especially as the number of developers and teams involved increases. Without a standardized approach to styling and layout, developers can easily end up with conflicting styles and a lack of overall coherence in the UI. These problems gave rise to CSS frameworks with popular options including Bootstrap and Foundation. These frameworks provided the necessary CSS classes to build robust user experiences. They followed the semantic approach offering pre-defined components. So, developers would simply need to add the class PrimaryButton and have a consistent button style across the entire application. While being a huge boost from writing all CSS from scratch, overriding the default styles was difficult, resulting in many bootstrap websites looking similar. People could quickly identify the “Bootstrap style”. In addition, the goal of separating CSS from HTML was never fully realized as these components required specific HTML to work properly, often with complex nested elements. The TailwindCSS Approach TailwindCSS takes a vastly different approach to styling. Rather than relying on pre-built components and complex class hierarchies, TailwindCSS provides a robust set of utilities. So instead of using a semantic component class like PrimaryButton or writing custom CSS for every element in a project, developers use a set of pre-defined utility classes to style and layout their UI. For example, instead of creating a custom CSS class to set the font size of a text element, a developer using TailwindCSS might apply the text-lg utility class to achieve the same effect. Similarly, instead of writing a custom class to set the margin of an element, a developer might use the m-4 utility class to add a margin. This approach has several advantages, including: Faster development: By using pre-defined utility classes, developers can style and layout their UI more quickly, without having to write custom CSS for every element. Easier maintenance: Because TailwindCSS provides a standardized set of utility classes, it's easier to maintain consistency across a project and ensure that the UI remains coherent as it evolves. Greater flexibility: By combining and reusing utility classes, developers can achieve a wide variety of styles and layouts, making it easier to build and maintain complex UIs with composable architectures. Many detractors for utility-first CSS make the argument that having a bunch of these classes is fundamentally the same as just embedding styles directly into the HTML. This fails to recognize the benefit of having a well-defined subset of styles that were well built and curated by a team of designers. It also fails to consider the current trend in development towards SPAs, PWAs, and Transitional Apps. Viewing the HTML alone it feels as though these classes are constantly repeated and that each time you need to build a button you need to remember a lengthy list of utility classes. This may be true if you were building a website with traditional techniques, but in a modern composable world companies are adopting JavaScript frameworks like ReactJS, VueJS, and Svelte that take a component approach. With these frameworks you will make a button component and as a result that specific list of utility classes will only exist in that JavaScript component and the code can be re-used across the application. Get hands on with an Elastic Path Free Trial Start building the commerce experience your unique business demands with a free Elastic Path Commerce Cloud account. Get in touch with us and we will setup a Free Trial store for you for six weeks. Sign up for a free trial Example Utility Classes Here are a few examples of the many utility classes provided by Tailwind. By combining and reusing these classes, developers can quickly and easily build custom UIs. Spacing: TailwindCSS provides a range of utility classes for setting margin and padding values, including m- and p- classes for setting margin and padding, as well as mt-, mr-, mb-, ml-, pt-, pr-, pb-, and pl- classes for setting specific sides of an element. Typography: TailwindCSS provides a wide range of utility classes for setting typography, including text- classes for setting font size, font weight, line height, and more, as well as font- classes for setting font family and leading- classes for setting line height. Layout: TailwindCSS provides a range of utility classes for setting layout properties, including flex- and grid- classes for building flexible and grid-based layouts, as well as float-, clear-, and object- classes for setting float, clear, and object properties. Colors: TailwindCSS provides a comprehensive set of utility classes for setting colors, including bg- and text- classes for setting background and text colors, as well as border- and divide- classes for setting border and divider colors. Effects: TailwindCSS also provides a range of utility classes for adding visual effects to elements, including hover:, focus:, and active: classes for setting styles on specific states, as well as transition- classes for controlling transitions and opacity- classes for setting opacity. Getting Started There are plenty of options in the Tailwind documentation to get you started from their own CLI to embedding Tailwind in a front-end application. Here we will discuss how to set up a local development environment for building HTML templates with Tailwind. It will include a local server along with hot reloading as content changes. In your bash shell start by creating a new project: $ mkdir tailwind-template $ cd tailwind-template $ npm init Follow the NPM prompts to create your project allowing us to then install Tailwind and the other necessary NPM packages. Install tailwindcss, postcss, and autoprefixer for CSS workflow. We will also install five-server for a local development server and concurrently to help with running the tools. $ npm install -D tailwindcss postcss autoprefixer five-server concurrently Next initialize Tailwind $ npx tailwindcss init Then configure postcss by modifying the postcss.config.js file as follows: module.exports = { plugins: { tailwindcss: {}, autoprefixer: {}, } } Next, configure tailwind.config.js file and ensure it is looking for any HTML files. Tailwind will selectively include classes based on what is used within your HTML code. /** @type {import('tailwindcss').Config} */ module.exports = { content: ["./**/*.{html,js}"], theme: { extend: {}, }, plugins: [], } Finally, let’s add some scripts to the package.json to help with building and running the template:  "scripts": { "build:css": "tailwindcss -i ./src/main.css -o ./dist/main.css -w", "serve": "five-server", "start": "concurrently \"npm run build:css\" \"npm run serve\"" }, The build css script will execute just the tailwind CLI. This will watch the specified CSS files and build it to the output based on the tailwind configuration. The serve script will run the local web server. The start script will run both the tailwind CLI and local web server concurrently. $ npm run build:css $ npm run serve $ npm run start We can now start building out our code. We will start by creating our CSS file in /src/main.css and adding the code: @tailwind base; @tailwind components; @tailwind utilities; Now we can create an index.html file and start using TailwindCSS. <!doctype html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="/dist/main.css" rel="stylesheet"> </head> <body> <h1 class="text-3xl font-bold underline"> Hello world! </h1> </body> </html> You will notice that the html code points to the dist folder, this is where the final CSS output will be. Now we can run everything and preview the results. npm run start Your browser should open running localhost. When files are edited and saved the website will update with the new content. Ecommerce Template To help you get up and running fast, you can find all of the code from this tutorial as well as an open-source TailwindCSS Ecommerce template on GitHub. This template includes some basic layouts and pages that you can leverage for your next commerce website. Elastic Path Commerce Cloud makes the perfect backend for the website. If you would rather theme an existing project please checkout the Elastic Path Composable Frontend or get in touch for more information.  
    Topics: run, css, classes, fit, tailwind, class, setting, tailwindcss, utility, npm, html, composable, great.
  • The DNA of your emails: making html changes when you don’t code -   We know that as a marketer your job involves wearing many hats, some hats that you didn’t expect to have on. These skills gaps can sometimes impact your want to create campaigns that match the expectations of your brand, and sometimes can cause a lag in getting campaigns out the door. Ever wondered about that code that makes your emails beautiful but are too afraid to look into the backend? This blog post will break down the simple tweaks you can make without the need of an engineering or design team.
    Topics: css, dont, tag, colour, inline, code, style, html, making, font, example, dna, emails, email, changes, text.
  • The Simple Guide to Creating an HTML Email [+ Free Templates] - When you create an email using a drag-and-drop or module-based tool, you're actually generating an HTML email.
    Topics: different, text, creating, simple, html, email, templates, emails, free, version, template, guide, way.
  • Ultimate Guide to Hero Images [Best Practices + Examples] - Whether or not you realize it, you judge every website by its visual appeal. And it only takes about 0.05 seconds to form an opinion. That means the hero image (the first photo, graphic, or video people see) has to be eye-catching enough to keep people scrolling the site.
    Topics: image, html, design, web, practices, hero, guide, best, images, css, ultimate, page, examples, text, size.
  • - Ever wondered how computer programming works, but haven't done anything more complicated on the web than upload a photo to Facebook? Then you're in the right place.
    Topics: web, work, page, languages, javascript, website, design, html, language, programming, style, css.
  • Where to Buy & Customize Beautiful Shopify Themes - Looking for the perfect Shopify theme? Check out these resources to find the best free & premium Shopify themes + experts to customize your own theme for you!
    Topics: store, best, youll, themes, youre, page, web, design, html, stores, shopify, buy, customize, theme.