Most of MovieDB is server-rendered and enhanced with Unpoly, and that's our default. Sometimes one region of a...

It most cases it's not necessary to add a version constraint next to your packages in the package.json. Since...

When you replace parts of the DOM with new HTML, using .innerHTML = newHtml is usually the simplest and fastest option...

Rails ships with a default menu of libraries and conventions — its creators call it "Omakase", the chef's choice. Like...

makandra dev

...the same way. To load Unpoly's default CSS for example, add // packs/main.js import 'unpoly/dist/unpoly.css' As above, we usually want to load all CSS from some directories. Do this with...

developer.mozilla.org

A common cause of non-accessible web pages are elements that were made interactive via JavaScript but cannot be focused...

The default Google Analytics might not work as expected with your Unpoly app. This is because your app only has...

Haml 6 was a major rewrite with performance in mind. To achieve a performance improvement of 1.7x, some design...

Event delegation is a pattern where a container element has a single event listener that handles events for all descendants...

Every web application splits its work between server and browser somewhere. Where you draw that line decides how much JavaScript...

Some of the people using your app can't see the screen, can't use a mouse, or rely on...

When we write a form with date fields, we often use graphical data picker like Rome to get a consistent...

Our applications not only need to be functional, they need to be fast. But, to quote Donald Knuth, premature optimization...

github.com

Note Maintenance mode is enabled on application server as soon as the file /public/system/maintenance.html is present. Note that the servers...

Browsers come with a set of built-in elements like or . When we need a new component not covered by...

To allow HTTP 304 responses, Rails offers the fresh_when method for controllers. The most common way is to pass...

DirectUpload allows you to upload files to your file storage without having to wait for the form to submit. It...

When building a web application, one is tempted to claim it "done" too early. Make sure you check this list...

Jasmine is a great tool to unit test your JavaScript components without writing an expensive end-to-end test for...

When projects run for many years, they require special regular maintenance to stay fresh. This kind of maintenance is usually...

jQuery has a function $.fn.trigger(). You can use it to dispatch an event on a jQuery object: let $element = $('.foo...

Cookies are how a web application remembers a user between requests. This lesson covers how cookies work, how Rails sessions...

Checking if a JavaScript value is of a given type can be very confusing: There are two operators typeof and...

A HTTP 302 Found redirect to PATCH and DELETE requests will be followed with PATCH or DELETE. Redirect responses to...