Calendarize

A tiny utility library that generates a calendar array given a Date or DateTime. Is helpful for quickly creating calendar views - you just need to add the view part. All credit goes to the Javascript calendarize package.

Installation

The package can be installed by adding calendarize to your list of dependencies in mix.exs:

def deps do
  [
    {:calendarize, "~> 0.1.0"}
  ]
end

and installing with mix deps.get

Documentation

Hosted at https://hexdocs.pm/calendarize.

Usage

iex> Calendarize.build(~D[2020-05-15])
[
  [0, 0, 0, 0, 0, 1, 2],
  [3, 4, 5, 6, 7, 8, 9],
  [10, 11, 12, 13, 14, 15, 16],
  [17, 18, 19, 20, 21, 22, 23],
  [24, 25, 26, 27, 28, 29, 30],
  [31, 0, 0, 0, 0, 0, 0]
]

iex> Calendarize.build(~D[2020-05-15], %{:week_start => :mon})
[
  [0, 0, 0, 0, 1, 2, 3],
  [4, 5, 6, 7, 8, 9, 10],
  [11, 12, 13, 14, 15, 16, 17],
  [18, 19, 20, 21, 22, 23, 24],
  [25, 26, 27, 28, 29, 30, 31],
  [0, 0, 0, 0, 0, 0, 0]
]

License

MIT - Stephen Huffnagle