Giter Club home page Giter Club logo

thaum's Introduction

Thaum ๐Ÿ”ฎ

Thaum is a boilerplate and scaffolding command line utility. It purposely requires little to no configuration and does not require you to have anything more than a mustache template to make a boilerplate. (Read: No script.)

screencapture

Features

  • No configuration.
  • Global templates and git included project templates.
  • Compiles mustache in paths for files like {{name}}.spec.js.

Install

If you have go, you can run:

$ go get github.com/flaque/thaum

or, you can run this long (but effective!) command:

$ wget "https://github.com/Flaque/thaum/releases/download/v0.6.0-beta/thaum" -O "/usr/local/bin/thaum" && sudo chmod +x /usr/local/bin/thaum

to install the binary into your path.

Note: It is much easier to run that long and scary command than to install go. Seriously, if you don't have go, just copy paste that bad boy into your terminal.

Usage

Your templates go in a folder called thaum_files. Thaum will look up the file tree for the nearest thaum_files folder and use that one for your command.

Creating a Template

Create your thaum_files in your root project.

$ mkdir thaum_files

Then create your first template! This is just a folder in your thaum_files.

$ mkdir thaum_files/myTemplate

Then, we can create a file or a whole folder system if you want inside.

$ touch thaum_files/myTemplate/myWidget.js

In that file, you can put something like this:

import {{package}};

export class {{name}} {
  constructor(foo, bar) {
    //do something
  }
}

Running Thaum

Once you have a template, you can run thaum like so:

$ thaum myTemplate

and thaum will ask you to fill in the details:

๐Ÿ”  Using thaum_files at: "/Users/Flaque/thaum-test/thaum_files"

     package: foo
        name: bang

โœ๏ธ  Created file: myWidget.js

You can also list all templates that exist by typing thaum.

$ thaum
Templates Available:
  component
  growler
  test

If you need help, you can type thaum -h to see the help screen.

$ thaum -h

Other helpful things.

If you would not like your templates to named .somethingOrAnother so that test runners or other tools don't pick them up, you can use the extension .thaum at the end of your template and thaum will remove it for you when the file is created.

For example, if I have a template file with the name:

foo_test.go.thaum

and I run thaum foo, thaum will create the file:

foo_test.go

thaum's People

Contributors

flaque avatar praxis330 avatar

Watchers

Pavel Scherbinin avatar James Cloos 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.