hswaw/site: load leaflet from NPM package

Instead of manually packaging leaflet.js into the Git repository, this
uses an http_archive to download it on demand, and augments the static
serving code to accept different regexes as paths so that the
http_archive's contents can be served directly.

Change-Id: Icb8d624fea855fb748f107471133ac8adb5f2776
diff --git a/hswaw/site/BUILD.bazel b/hswaw/site/BUILD.bazel
index 88de8e6..21edded 100644
--- a/hswaw/site/BUILD.bazel
+++ b/hswaw/site/BUILD.bazel
@@ -1,3 +1,4 @@
+load("@io_bazel_rules_docker//container:container.bzl", "container_image", "container_push")
 load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
 
 go_library(
@@ -22,3 +23,20 @@
     embed = [":go_default_library"],
     visibility = ["//visibility:public"],
 )
+
+container_image(
+    name="latest",
+    base="@prodimage-bionic//image",
+    files = [":site"],
+    directory = "/hswaw/site/",
+    entrypoint = ["/hswaw/site/site"],
+)
+
+container_push(
+    name = "push",
+    image = ":latest",
+    format = "Docker",
+    registry = "registry.k0.hswaw.net",
+    repository = "q3k/hswaw-site",
+    tag = "1622585979-{STABLE_GIT_COMMIT}",
+)