- Create a Windows 11 ISO with Microsoft's Media Creation Tool
- Install Setup Patchium and run it (or try latest Rufus version directly and patch from there)
- Home tab: Select ISO, wait during processing
- Go to Install > Uncheck Remove upgrade and Check Disable Windows 11 compatibility restrictions, click Apply
- Optional: To install without a Microsoft account, go to Install OOBE tab. Click Integrate lumOOBE. This will break sysinstall.
- Click on Create ISO button
- Use Rufus or Ventoy (prefered) to run installation from a USB drive
Deno Deploy is an excellent, performant and cost-effective service geared toward hosting Deno apps at the edge. It can easily host a folder of static HTML files, if you provide an index.ts to launch something like "oak" to serve them (example index.ts
below).
(It's important to note that it's still officially considered beta as of May 2023, and there have been some surprising periods of downtime over the past few months... just be sure to keep that in mind)
Hugo is a phenomenally fast-building and mature SSG, which can produce a folder of static files, but requires a build step like hugo --gc --minify --verbose --baseURL=$HUGOBASEURL --ignoreCache
to generate them.
Below is a yaml file you would place in your project's .github/workflows
folder. If you link your Deno Deploy project using Github Actions instead of specifying an index file, it will defer to what's in this. In this case, the Hugo files generated into public
are being serv
# Setup Ubuntu | |
sudo apt update --yes | |
sudo apt upgrade --yes | |
# Get Miniforge and make it the main Python interpreter | |
wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-aarch64.sh -O ~/miniforge.sh | |
bash ~/miniforge.sh -b -p ~/miniforge | |
rm ~/miniforge.sh | |
echo "PATH=$PATH:$HOME/miniforge/bin" >> .bashrc |
// converter rgba(r, g, b, a) color to #HEX string without alpha channel, | |
// with optional applying afterwards opacity ($opacity) | |
// by default alpha channel for rgba-color is applying against white background, | |
// but you can change it by setting third argumnet ($background) | |
@function rgba-to-rgb($rgba, $opacity: 0, $background: #fff) { | |
@if $opacity > 0 { | |
@if $opacity < 1 { | |
$opacity: $opacity * 100 | |
} | |
@return mix(mix(rgb(red($rgba), green($rgba), blue($rgba)), $background, alpha($rgba) * 100%), rgb(255,255,255), $opacity) |
With the addition of ES modules, there's now no fewer than 24 ways to load your JS code: (inline|not inline) x (defer|no defer) x (async|no async) x (type=text/javascript | type=module | nomodule) -- and each of them is subtly different.
This document is a comparison of various ways the <script>
tags in HTML are processed depending on the attributes set.
If you ever wondered when to use inline <script async type="module">
and when <script nomodule defer src="...">
, you're in the good place!
Note that this article is about <script>
s inserted in the HTML; the behavior of <script>
s inserted at runtime is slightly different - see Deep dive into the murky waters of script loading by Jake Archibald (2013)
// Licensed under a CC0 1.0 Universal (CC0 1.0) Public Domain Dedication | |
// http://creativecommons.org/publicdomain/zero/1.0/ | |
// HTML files: try the network first, then the cache. | |
// Other files: try the cache first, then the network. | |
// Both: cache a fresh version if possible. | |
// (beware: the cache will grow and grow; there's no cleanup) | |
const cacheName = 'files'; |