CSS Grid to assign columns, with a little JavaScript to stretch the last item in each column.
Continue reading “Responsive masonry in React with a straight bottom line”Add a universal page load bar and/or spinner to NextJS
Adding this is very easy when you make use of the NextJS router events and the NProgress package.
Continue reading “Add a universal page load bar and/or spinner to NextJS”Persist user state in NextJS by using a cookie and a context provider
Use a combination of application context and browser cookies to save and retrieve state in a NextJS app.
Continue reading “Persist user state in NextJS by using a cookie and a context provider”Gatsby window scroll position
Gatsby will fail to build if you refer to window, so we need a work around.
Continue reading “Gatsby window scroll position”Gatsby ‘window.location’ not available during SSR
The location parameter works via ‘gatsby develop’, but fails to compile via ‘gatsby build’.
Continue reading “Gatsby ‘window.location’ not available during SSR”Install NodeJS and NPM on a shared web server
NodeJS can be installed on you CPanel shared hosting plans, keep reading to see how.
Continue reading “Install NodeJS and NPM on a shared web server”Global JSON data service in Angular
A simple method for loading and sharing JSON data across an Angular app using a shared service.
Continue reading “Global JSON data service in Angular”Load JSON data in Angular
Error: “Cannot find module ‘./path/to/data.json’. Consider using ‘–resolveJsonModule’ to import module with ‘.json’ extension”
Continue reading “Load JSON data in Angular”Redirect URL With GatsbyJS and Netlify
Bulk URL redirecting that resembles the .htaccess method used for Apache.
Continue reading “Redirect URL With GatsbyJS and Netlify”Dynamic routing, navigation and page title with Vue
How to create a reusable header component, containing a dynamic page title and sub-menu.
Continue reading “Dynamic routing, navigation and page title with Vue”