Uploading files with HTML forms: Part 1

Uploading files with HTML forms: Part 1

Sending files and images from the browser to the server is less common but still critical for many useful applications.

Ryan Bethel’s avatar

Ryan Bethel
16 mins to read

Bulletproof Sessions with HttpOnly Cookies

Bulletproof Sessions with HttpOnly Cookies

When you visit a website, by default, it doesn’t remember anything about you. HTTP is a stateless protocol. Sessions are a way for a website to remember things about you, like if you’re logged in or what’s in your shopping cart.

Brian Leroux’s avatar

Brian Leroux
8 mins to read

I just wanted to buy pants. How excessive JavaScript is costing you money

I just wanted to buy pants. How excessive JavaScript is costing you money

A cautionary tale about our over dependence on client-side JavaScript.

Simon MacDonald’s avatar

Simon MacDonald
6 mins to read

Using Fast Components in an Enhance App

Using Fast Components in an Enhance App

Fast is a library of web components and framework for building web components from Microsoft. With a minor amount of configuration you can use Fast components in your Enhance app.

Simon MacDonald’s avatar

Simon MacDonald
1 mins to read

Converting Lit Components to Enhance

Converting Lit Components to Enhance

Lit is a fine framework for building web components, but there are a few reasons you may want to convert a Lit component into an Enhance component. Read on to find out how to avoid some common web component pitfalls.

Simon MacDonald’s avatar

Simon MacDonald
6 mins to read

Maintain scroll position across page loads without an SPA

Maintain scroll position across page loads without an SPA

This post shows how to fix the problem of preserving scroll position across page reloads without the need to buy into a messy Single Page App (SPA) architecture.

Ryan Bethel’s avatar

Ryan Bethel
3 mins to read

Past Informs the Present: Our Approach to CSS

Past Informs the Present: Our Approach to CSS

In this article, we briefly recap some of the history and evolution of CSS. We then use that information to inform a focus on several methodologies — some battle tested, some more recent — for making the process of styling web apps and components both enjoyable and effective.

Cole Peters’s avatar

Cole Peters
24 mins to read

On the twelfth day of Enhancing: Debugging

On the twelfth day of Enhancing: Debugging

How to debug your remote applications.

Simon MacDonald’s avatar

Simon MacDonald
1 mins to read

On the eleventh day of Enhancing: Environment Variables

On the eleventh day of Enhancing: Environment Variables

Setting environment variables to enable different behaviors in production.

Simon MacDonald’s avatar

Simon MacDonald
1 mins to read

On the tenth day of Enhancing: Deploying your app

On the tenth day of Enhancing: Deploying your app

Deploy your Enhance app to the cloud using the Begin CLI.

Simon MacDonald’s avatar

Simon MacDonald
2 mins to read

On the ninth day of Enhancing: Externalizing Scripts

On the ninth day of Enhancing: Externalizing Scripts

To improve developer experience let's externalize some scripts.

Simon MacDonald’s avatar

Simon MacDonald
3 mins to read

On the eighth day of Enhancing: Progressively Enhanced Forms

On the eighth day of Enhancing: Progressively Enhanced Forms

Let's progressively enhance our submit button.

Simon MacDonald’s avatar

Simon MacDonald
4 mins to read

On the seventh day of Enhancing: Forms

On the seventh day of Enhancing: Forms

Getting started storing data is a snap with Enhance and HTML forms.

Simon MacDonald’s avatar

Simon MacDonald
4 mins to read

On the sixth day of Enhancing: Head component

On the sixth day of Enhancing: Head component

Overriding the head component to provide social links

Simon MacDonald’s avatar

Simon MacDonald
2 mins to read

On the fifth day of Enhancing: Enhance Styles

On the fifth day of Enhancing: Enhance Styles

Let's apply some styling to our example application

Simon MacDonald’s avatar

Simon MacDonald
2 mins to read

On the fourth day of Enhancing: Composing elements

On the fourth day of Enhancing: Composing elements

Building web components out of smaller components is one of the most powerful features of web components.

Simon MacDonald’s avatar

Simon MacDonald
2 mins to read

On the third day of Enhancing: API routes and the Store

On the third day of Enhancing: API routes and the Store

On day three we’ll introduce API routes and the store.

Simon MacDonald’s avatar

Simon MacDonald
2 mins to read

On the second day of Enhancing: Your first page and component

On the second day of Enhancing: Your first page and component

Picking up from where we left off yesterday. Let’s add a new page to our application.

Simon MacDonald’s avatar

Simon MacDonald
3 mins to read

On the first day of Enhancing: Getting Started

On the first day of Enhancing: Getting Started

We embark on a 12 day journey to build and deploy your first Enhance app.

Simon MacDonald’s avatar

Simon MacDonald
2 mins to read

Fixing mobile nav state with

Fixing mobile nav state with 'autocomplete=off': Obscure HTML attributes FTW

Mobile nav menu with a checkbox control has a problem when using the back button to navigate. We fix this using only HTML attributes.

Ryan Bethel’s avatar

Ryan Bethel
2 mins to read