View Source mix create_livebook_from_module (livebook_helpers v0.0.8)
Takes a module and a path to a file creates a livebook from the moduledocs in the given
module. The .livemd
extension is automatically added. If any deps are provided then
a section at the start will be created that will Mix.install
all deps.
This function will take a module and turn the module doc found there into a livebook. This make it really easy to create one set of information and have it be represented in different formats. For example you can write a README, use it as the moduledoc then run this function to spit out a livebook with all the same info.
Below is a summary of what we do to create the Livebook:
- The module is used as the title for the Livebook.
- Each function's @doc is put under a section with the function's name and arity.
- doctests become (formatted) elixir cells
- The magic line to make github render livebooks as markdown is added.
- A section is placed at the start that will call
Mix.install
with any supplied deps.
Examples
mix create_livebook_from_module LivebookHelpers "my_livebook"
With deps:
mix create_livebook_from_module LivebookHelpers "my_livebook" "[:livebook_helpers]"
mix create_livebook_from_module LivebookHelpers "my_livebook" "[livebook_helpers: ">= 0.0.0"]"