A simple file generator for all exist projects.
Prerequisites: Node.js ( >= 5.8.0 preferred ). 4.x should also work, but we haven't test it yet.
$ npm install -g hasaki-cli
In your project root directory
$ hasaki init
If you want to use default configuration, you can use
$ hasaki init -y
to generate a default .hasakirc
file.
see more information by use
$ hasaki -h
After get your .hasakirc
file, simply run
$ hasaki create <page-name> <rule-name><,rule-name2>...
it will automatically create some <page-name>
files according to your <rule-name>
configuration. You can apply
multi <rule-name>
by set them one by one or create a new rule and put all the target rule into an array, we call
this new rule a rule group.
.hasakirc
is hasaki
config file, it will automatically generate when you use hasaki init
. But you can also
write or modify the whole file manually. Make sure the content type should be json.
-
name
Project name, default valuea hasaki project
. -
rules
type Array-
ruleName
type Object, A name for your current rule.-
describe
type String, describe for your rule. (optional) -
templates
type Arraysource
type String, source template file or directory.target
type String, target directory.keepFileName
type Boolean.placeholder
type String, use to translate<your-placeholder-value>
to<page-name>
(optional)suffix
the suffix for the target file.prefix
the prefix for the target file.
-
-
More about placeholder
:
You can set this value to add a placeholder in your template file. hasaki will look for your template
file and replace all the placeholder
to the <page-name>
which you've set in hasaki create <page-name> <rule-name>
. The default
value is __name
。 In some case, you can set it to __Name
or __NAME
。 When placeholder's first letter is uppercase
the <page-name>
's first letter will set to uppercase. So it's easy to see __NAME
will make the whole <page-name>
become uppercase.
Our default .hasakirc
looks like
{
"name": "a hasaki project",
"rules": [
{
"rule-name": {
"describe": "this is a rule example (you must modify the templates below to fit your need)",
"templates": [
{
"source": "",
"target": "",
"keepFileName": false,
"placeholder": ""
}
]
}
}
]
}
请在提交 PR 前阅读我们的贡献指南
MIT