0.1.7 • Published 9 years ago

grunt-mustache-site-generator v0.1.7

Weekly downloads
1
License
-
Repository
github
Last release
9 years ago

grunt-mustache-site-generator

To resolve layout and multi-language with mustache template (mustache 템플릿으로 include, 멀티랭귀지를 해결하기)

Getting Started

This plugin requires Grunt ~0.4.5

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-mustache-site-generator --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-mustache-site-generator');

The "mustache_site_generator" task

Overview

In your project's Gruntfile, add a section named mustache_site_generator to the data object passed into grunt.initConfig().

grunt.initConfig({
	mustache_site_generator: {
		options: {
			// Task-specific options go here.
		},
		your_target: {
			// Target-specific file lists and/or options go here.
			options : {
			
			},
			files: [
				{
					layout: 'test/layouts/basic.tmpl',
					layout_view: 'test/layouts/basic.json',
					src: 'test/fixtures/**', // contents of layout
					lang: {
						"ko":'test/lang/ko.json',
						"en":'test/lang/en.json'
					},
					dest: 'test/expected'
				}
			]
		},
	},
});

Files

files.file.layout

Type: String path of layout file

files.file.layout_view

Type: String Default value: '' path of layout view

files.file.src

Type: String Grunt src

files.file.lang

Type: Object lang key and path of lang file

files.file.dest

Type: String path of output It makes the file name of the 'src'. 'output' as a child

Example

The source directory of your templates, the directory should be structured like:

.
├── expected
├── fixtures
│   └── sample.html
└── lang
│   ├── en.json
│   └── ko.json
└── layouts
    ├── basic.json
    └── basic.tmpl
  • basic.tmpl
<html>
<head>
	<title>basic layout {{page.title}} {{some}}</title>
</head>
<body>
<!-- include body content -->
{{>contents}}
</body>
</html>
  • basic.json
{
	"page":{
		"title":"테스트입니다."
	},
	"some": "somes"
}
  • sample.html
<div>{{name}}</div>
<div>Thomas Jang</div>
<div>{{age}}</div>
<div>39</div>
<div>{{sex}}</div>
<div>남</div>
  • en.json
{
	"name": "name",
	"age": "age",
	"sex": "sex"
}

Result

<html>
<head>
	<title>basic layout 테스트입니다. somes</title>
</head>
<body>
<!-- include body content -->
<div>name</div>
<div>Thomas Jang</div>
<div>age</div>
<div>39</div>
<div>sex</div>
<div>남</div></body>
</html>

Related Projects

0.1.7

9 years ago

0.1.6

9 years ago

0.1.5

9 years ago

0.1.4

9 years ago

0.1.3

9 years ago

0.1.2

9 years ago

0.1.1

9 years ago

0.1.0

9 years ago