displayInteraction (KnitImage cap img) = do
  let caption
          | isBoringCaption cap = mempty
          | otherwise = H.p (H.toMarkup cap)
  encoded <- Base64.encode <$> B.readFile img
  display $ H.img H.! H.src (H.unsafeByteStringValue
                         -- assumes you use the default device which is png
                        (Char.pack "data:image/png;base64," <> encoded))
              <> caption
displayInteraction (KnitImage cap img) = do
  let caption
          | isBoringCaption cap = mempty
          | otherwise = H.p (H.toMarkup cap)
  encoded <- Base64.encode <$> B.readFile img
  display $ H.img H.! H.src (H.unsafeByteStringValue
                         -- assumes you use the default device which is png
                        (Char.pack "data:image/png;base64," <> encoded))
              <> caption
displayInteraction (KnitImage cap img) = do
  let caption
          | isBoringCaption cap = mempty
          | otherwise = H.p (H.toMarkup cap)
  encoded <- Base64.encode <$> B.readFile img
  display $ H.img H.! H.src (H.unsafeByteStringValue
                         -- assumes you use the default device which is png
                        (Char.pack "data:image/png;base64," <> encoded))
              <> caption