Current section
Files
Jump to
Current section
Files
lib/mithril.ex
defmodule Mithril do
@moduledoc File.read!(Path.join([__DIR__, "../README.md"]))
use MixTemplates,
name: :mithril,
short_desc: "Template for Elixir umbrella app with convenient scripts.",
source_dir: "../template",
options: [
# Whether to generate basic email/password login functionality.
accounts: [],
# Whether to generate an API app for the project, and what type.
# Supports "graphql"
# "graphql"
api: [takes: "type"],
# Boolean, whether Phoenix should serve assets
assets: [],
# What asset bundler to use if Phoenix the --assets option is true
asset_bundler: [takes: "webpack or brunch", default: "webpack"],
# Tweaks configuration for a particular continuous integration provider
ci: [takes: "semaphore"],
# How are you going to deploy the app?
# Takes "heroku"
deploy: [takes: "host"],
# Boolean: Whether you intend to use Ecto, and if so, which adapter to use.
# Example: --ecto postgres
# Takes "postgres"
ecto: [takes: "adapter"],
# Boolean: Whether you need to integrate with Elasticsearch for this project.
# elasticsearch: [],
# Boolean: Whether this project needs to send email.
email: [],
# What error reporting service to use
error_reporting: [takes: "error reporting service (honeybadger)"],
# Boolean: Whether this project needs internationalization via Gettext.
gettext: [],
# Boolean: Whether this project will serve HTML, and if so, which template
# language to use.
#
# Example: --html slim
# Takes "slim", "eex"
html: [takes: "slim or eex"],
# If --assets, which Sass syntax to use:
#
# Example: --sass-syntax scss
# Takes "scss", "sass"
sass_syntax: [takes: "scss or sass", default: "sass"],
# Boolean: Whether this project will serve anything over websockets.
websockets: []
]
def clean_up(context) do
if Version.match?(context[:elixir_version], "~> 1.6") do
IO.puts("Running code formatter...")
System.cmd("mix", ["format"], cd: context[:target_subdir])
end
end
end