Mercurial > hg > MakeItSo
view README.txt @ 210:ab726b2f3143
arbitrary python requirements, the bad way
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Wed, 25 Mar 2015 12:09:15 -0700 |
parents | 8f5bfd2e5a35 |
children | cffc729926b9 |
line wrap: on
line source
Make It So! =========== /templates for the people/ So people generally do things the easiest way possible. If you try to get people to send you a file with, say, a "one-off" script, they will probably hard code a bunch of stuff in it. Then, you're not really sure what needs to be changed and because you're human you might make a mistake. Worse, its a perl script and you're a python programmer. You don't know what that script does! And this is the time of the iceberg. If it really is a one-off, who cares? But quickly one-offs become a deployment story, and not a very efficient one. Making a New Template --------------------- Variable Conventions -------------------- MakeItSo! provides a few variables for you. You can include another file or URL using {{include(URI)}}, where URI is the file path or the URL (of course, internet is required to include remote resources). The included resource is not included. Files and URLS being interpolated also have the variable %(here)s, which is the parent of their resource. Therefor, using sensible path conventions, a neighboring file may be (e.g.) included like {{include(here + 'foo.txt')}} The python template asserts several conventions: - project: the project chosen - author: author of a project - email: author's email - url: url of the project - repo: the repository of the project; this will be used for the URL if it is given and the URL is not Adding a License to a Template ------------------------------ [TODO] Web Service ----------- python has the ability to run files from stdin. This means you can run makeitso directly from the web:: python <(curl http://k0s.org/mozilla/hg/MakeItSo/raw-file/tip/makeitso/makeitso.py) [URI] This uses the bash shell. If you have another shell you may have to use another syntax, download the file, or install the package. Similar Projects ---------------- * http://cookiecutter.readthedocs.org/ , https://github.com/audreyr/cookiecutter * https://github.com/lucuma/Voodoo