diff --git a/README.md b/README.md index ed2d8ea..de3bc1d 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,65 @@ # file-header -A template based commandline file-header generator +A CLI tool for generating file header from a configuration file and an EJS template. + + +## Installation + +#### install the package +`npm i -g file-header` + +#### Edit the config file ( Optional ) +Data to be presented on a file header is stored in a config file which is located at `~/.file-headers/template_data.js` + +The default content of this file will be as follows. +```javascript +module.exports = { + user: process.env.USER, + email: process.env.USER + '@' + process.env.HOST, + date: new Date(), +}; + +``` + +We can customize it as required. For example, change it to + +```javascript +module.exports = { + user: 'Jake sully' + email: 'gmail@jakesully.com' + github: 'https://github.com/jakesully' + date: new Date(), +}; +``` + +#### Edit the [EJS](ejs) tempalte of the default file-header ( Optional ) + +The default file header template can be found at `~/.file-headers/default` +It is just [EJS](ejs) template. We can customize it to any extend. + +If we require different template for each file type , create a file `~/.file-headers/` + +For javscript, create a custom template at `~/.file-headers/js` and customize it. + + +## Usage + +Commandline +``` +file-header +``` +which will print the file header to your console. + + +#### Use with Vim editor + +Add the below line to your vim config file +```vim +command! Header :execute '0r!file-header %' +``` + +Now, type `:Header` to add file header to your current buffer. + +[ejs]: https://github.com/mde/ejs "Ejs template engine" + + + diff --git a/default-template b/default-template index 4220738..6e30595 100644 --- a/default-template +++ b/default-template @@ -1,7 +1,8 @@ /* * <%- filename %> + * Created at: <%- date %> * - * Copyright <%- new Date().getFullYear() %> <%- user %> <<%- email %>> + * Copyright <%- date.getFullYear() %> <%- user %> <<%- email %>> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/package.json b/package.json index 2ae4cb3..ed3f52d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "file-header", - "version": "0.0.1", - "description": "", + "version": "0.1.0", + "description": "A CLI tool for generating file header from a configuration file and an EJS template.", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" @@ -13,7 +13,7 @@ "name": "Harish.K", "email": "harish2704@gmail.com" }, - "license": "ISC", + "license": "MIT", "dependencies": { "ejs": "^2.5.3" }, @@ -24,5 +24,10 @@ "bugs": { "url": "https://github.com/harish2704/file-header/issues" }, + "keywords": [ + "file-header", + "ejs", + "cli" + ], "homepage": "https://github.com/harish2704/file-header#readme" }