packages feed

file-templates 1.0.0.0 → 1.1.0.0

raw patch · 3 files changed

+100/−2 lines, 3 files

Files

+ LICENSE view
@@ -0,0 +1,30 @@+Copyright Anton Felix Lorenzen (c) 2017++All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are met:++    * Redistributions of source code must retain the above copyright+      notice, this list of conditions and the following disclaimer.++    * Redistributions in binary form must reproduce the above+      copyright notice, this list of conditions and the following+      disclaimer in the documentation and/or other materials provided+      with the distribution.++    * Neither the name of Anton Felix Lorenzen nor the names of other+      contributors may be used to endorse or promote products derived+      from this software without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ README.md view
@@ -0,0 +1,65 @@+# A simple templating system for files and directories++Assuming you have a directory `~/.templates/post`:+```shell+$ tree ~/.templates/+/home/me/.templates/+└── post+    ├── author+    │   ├── file.md+    │   └── ??name2?.md+    ├── ?env?LANGUAGE?.md+    └── ??name?.md++2 directories, 4 files+```++Go into a new directory and execute `new post`:+```shell+$ new post+Please give a value for 'name': Hello +Please give a value for 'name2': World++$ tree+.+├── author+│   ├── file.md+│   └── World.md+├── en_US.md+└── Hello.md++1 directory, 4 files+```++Voilà!++## How it works++It accepts one argument `dir` and then looks up either `~/.templates/dir/`,+or `%APPDATA%/dir/`. It then substitutes ++ - `??xxx?` by asking the user: `Please give a value for 'xxx':`+ - `?env?xxx?` by reading the environment variable `xxx`++in both filenames and file contents, then copying the files into the current+directory (if that introduces slashes in a file name, it will happily split the+filename into  directory structure). This tool works best with other simple tools+like [sos](https://github.com/schell/steeloverseer) and [shake](shakebuild.com)+in my experience.++## Possible issues++ 1. It should work on Windows, but that has not been tested.+ 2. There are no unit tests.++## Contributing++Contributions are always welcome, as long as they:++ - Keep it simple+ - Work cross-platform++Possible candidates include:++ - Testing+ - Adding new variable resources (git config, etc.)
file-templates.cabal view
@@ -1,14 +1,17 @@ name: file-templates-version: 1.0.0.0+version: 1.1.0.0 cabal-version: >=1.10 build-type: Simple license: BSD3+license-file: LICENSE copyright: BSD3 maintainer: anfelor@posteo.de homepage: https://github.com/anfelor/file-templates#readme synopsis: Use templates for files and directories-category: Web+category: CLI, Template author: Anton Felix Lorenzen+extra-source-files:+    README.md  executable new     main-is: Main.hs