Thanks to the original blog post: https://equimper.com/blog/how-to-setup-tailwindcss-in-phoenix-1.4
cd assets
npm i --save-dev tailwindcss postcss-loader postcss-import
| defmodule DateTimeParser do | |
| @mapping %{ | |
| "H" => "(?<hour>\\d{2})", | |
| "I" => "(?<hour12>\\d{2})", | |
| "M" => "(?<minute>\\d{2})", | |
| "S" => "(?<second>\\d{2})", | |
| "d" => "(?<day>\\d{2})", | |
| "m" => "(?<month>\\d{2})", | |
| "y" => "(?<year2>\\d{2})", | |
| "Y" => "(?<year>-?\\d{4})", |
Thanks to the original blog post: https://equimper.com/blog/how-to-setup-tailwindcss-in-phoenix-1.4
cd assets
npm i --save-dev tailwindcss postcss-loader postcss-import
| def index(conn, _params) do | |
| conn = conn | |
| |> put_resp_content_type("text/csv") | |
| |> put_resp_header("content-disposition", "attachment; filename=export.csv") | |
| |> send_cunked(200) | |
| Repo.transaction fn -> | |
| Ecto.Adapters.SQL.stream(Repo, "COPY expensive_report TO STDOUT CSV HEADER") | |
| |> Stream.map(&(chunk(conn, &1.rows))) | |
| |> Stream.run |