Current section
Files
Jump to
Current section
Files
lib/templates/plug_static_ls_direntry.html.eex
<%
uri = URI.encode(Path.join(basepath, path))
filepath = Path.join(dirpath, path)
{:ok, info} = :prim_file.read_file_info(to_charlist(filepath))
info_type = file_info(info, :type)
iconimg = case info_type do
# folder.png
:directory -> "<img alt=\"[Dir]\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAWCAMAAAD3n0w0AAAAElBMVEX/////zJnM//+ZZjMzMzMAAADCEvqoAAAAA3RSTlP//wDXyg1BAAAASElEQVR42s3KQQ6AQAhDUaXt/a/sQDrRJu7c+NmQB0e99B3lnqjT6cYx6zSIbV40n3D7psYMoBoz4w8/EdNYQsbGEjNxYSljXTEsA9O1pLTvAAAAAElFTkSuQmCC\" />"
# generic.png
:regular -> "<img alt=\"[File]\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAWCAMAAAD3n0w0AAAAD1BMVEX////M//+ZmZkzMzMAAABVsTOVAAAAAnRSTlP/AOW3MEoAAAA8SURBVHja3cjRDQAgCAPRYtl/ZrEmBsQJvPt7YM52IE4EXyhtCHaUVnTqC1VGNaKG6Kh+RY4SF5p5LXACbtIBrAeQ2JUAAAAASUVORK5CYII=\" />"
# link.png
:symlink -> "<img alt=\"[Symlink]\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAWCAMAAAD3n0w0AAAAFVBMVEX/////MzPM//+ZmZlmAAAzMzMAAAAat7FcAAAAA3RSTlP//wDXyg1BAAAAU0lEQVR4AW3NQRKAMAxCUZKG3v/Iauq0yvDZvQ3gt1yB2BF0CDoEHYKCkz3BThAYd4qAYsViwbAYBytOFsNhbXxr06M2xTbFgmJ3kOMXH8ycUuYFtRoDPYkLwsQAAAAASUVORK5CYII=\" />"
# unknown.png
_ -> "<img alt=\"[Unknown]\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAWCAMAAAD3n0w0AAAAD1BMVEX////M//+ZmZkzMzMAAABVsTOVAAAAAnRSTlP/AOW3MEoAAABXSURBVHgBpcpBDsQwCENRY+f+Zx55QKShlbrozyrPQNcig9AJekJoI7mcUGo0FVobS/8v0X/uaSNqIxMrDkxyQGMbD2wbaLojJnbz8gO6VxSPZIxYo4gfuU0C6reH1fMAAAAASUVORK5CYII=\" />"
end
disppath = case info_type do
:directory ->
Plug.HTML.html_escape(path <> "/")
_ ->
Plug.HTML.html_escape(path)
end
info_size = file_info(info, :size)
size = case info_type do
:regular -> to_string(info_size)
_ -> ""
end
info_t = file_info(info, :mtime)
{info_td, info_tt} = info_t
mtime = (Date.from_erl!(info_td) |> Date.to_string) <>
" " <>
(Time.from_erl!(info_tt) |> Time.to_string)
%>
<tr>
<td><%= iconimg %><a href="<%= uri %>"><%= disppath %></a></td>
<td><%= mtime %></td>
<td><%= size %></td>
</tr>