Code Monkey home page Code Monkey logo

stack-templates's Introduction

Status

There are plans to change the way Stack templates are done in the near future. Therefore, the project is not accepting new templates at this moment.

A repository for templates used by stack new. See: http://haskellstack.org

Build Status

Introduction

Project templates are written in hsfiles format, using mustache. Each file is specified with START_FILE, like this:

{-# START_FILE {{name}}.cabal #-}
name:                {{name}}
version:             0.1.0.0
...

Parameters to the template are written {{foo}}. They are provided by users via their ~/.stack/config.yaml file, like this:

templates:
  params:
    author-email: [email protected]
    author-name: Chris Done
    copyright: 2019 Chris Done
    github-username: chrisdone
    category: Development

When the user runs stack new myproject yourtemplate and they do not have the parameters provided in, it will warn the user that such parameters were missing, like this:

$ stack new foo new-template
Downloading template "new-template" to create project "foo" in foo/ ...
The following parameters were needed by the template but not provided: author-email, author-name
You can provide them in /home/chris/.stack/stack.yaml, like this:
templates:
  params:
    author-email: value
    author-name: value
Or you can pass each one as parameters like this:
stack new foo new-template -p "author-email:value" -p "author-name:value"

The output of the template will yield a blank space where your parameter was. If you want to provide default values for your template parameters, use this Mustache syntax:

author:              {{author-name}}{{^author-name}}Author name here{{/author-name}}

template-info.yaml

When contributing a new template, please remember to add a corresponding entry to template-info.yaml. Additional descriptive information for the template may be provided, but is not required.

Yesod templates

NOTE: The Yesod templates are generated from the yesod-scaffold repo. Please send pull requests for those templates to that repo instead.

stack-templates's People

Contributors

snoyberg avatar eriknstevenson avatar mgsloan avatar chrisdone avatar decentral1se avatar bitemyapp avatar jturner avatar tfausak avatar psibi avatar borsboom avatar noelmarkham avatar kerscher avatar tonyday567 avatar danburton avatar soenkehahn avatar seanhess avatar mihaimaruseac avatar jpvillaisaza avatar alexanderkjeldaas avatar nrolland avatar phadej avatar reinh avatar rikvdkleij avatar nwtgck avatar sjakobi avatar steshaw avatar k0kubun avatar adamsteen avatar thibauddauce avatar beerendlauwers avatar

Watchers

James Cloos avatar William Rusnack avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.