-
-
Notifications
You must be signed in to change notification settings - Fork 48
/
stylus.template.handlebars
111 lines (97 loc) · 2.92 KB
/
stylus.template.handlebars
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
{
// Default options
'functions': true,
'variableNameTransforms': ['underscored']
}
{{#block "sprites-comment"}}
/*
Stylus variables are information about icon's compiled state, stored under its original file name
.icon-home {
width: $icon_home_width;
}
The large array-like variables contain all information about a single icon
$icon_home = x y offset_x offset_y width height total_width total_height image_path;
At the bottom of this section, we provide information about the spritesheet itself
$spritesheet = width height image $spritesheet_sprites;
*/
{{/block}}
{{#block "sprites"}}
{{#each sprites}}
${{strings.name_name}} = '{{name}}';
${{strings.name_x}} = {{px.x}};
${{strings.name_y}} = {{px.y}};
${{strings.name_offset_x}} = {{px.offset_x}};
${{strings.name_offset_y}} = {{px.offset_y}};
${{strings.name_width}} = {{px.width}};
${{strings.name_height}} = {{px.height}};
${{strings.name_total_width}} = {{px.total_width}};
${{strings.name_total_height}} = {{px.total_height}};
${{strings.name_image}} = '{{{escaped_image}}}';
${{strings.name}} = {{px.x}} {{px.y}} {{px.offset_x}} {{px.offset_y}} {{px.width}} {{px.height}} {{px.total_width}} {{px.total_height}} '{{{escaped_image}}}' '{{name}}';
{{/each}}
{{/block}}
{{#block "spritesheet"}}
${{spritesheet_info.strings.name_width}} = {{spritesheet.px.width}};
${{spritesheet_info.strings.name_height}} = {{spritesheet.px.height}};
${{spritesheet_info.strings.name_image}} = '{{{spritesheet.escaped_image}}}';
${{spritesheet_info.strings.name_sprites}} ={{#each sprites}} ${{strings.name}}{{/each}};
${{spritesheet_info.strings.name}} = {{spritesheet.px.width}} {{spritesheet.px.height}} '{{{spritesheet.escaped_image}}}' ${{spritesheet_info.strings.name_sprites}};
{{/block}}
{{#block "sprite-functions-comment"}}
{{#if options.functions}}
/*
The provided mixins are intended to be used with the array-like variables
.icon-home {
spriteWidth($icon_home)
}
.icon-email {
sprite($icon_email)
}
*/
{{/if}}
{{/block}}
{{#block "sprite-functions"}}
{{#if options.functions}}
spriteWidth($sprite) {
width: $sprite[4];
}
spriteHeight($sprite) {
height: $sprite[5];
}
spritePosition($sprite) {
background-position: $sprite[2] $sprite[3];
}
spriteImage($sprite) {
background-image: url($sprite[8]);
}
sprite($sprite) {
spriteImage($sprite)
spritePosition($sprite)
spriteWidth($sprite)
spriteHeight($sprite)
}
{{/if}}
{{/block}}
{{#block "spritesheet-functions-comment"}}
{{#if options.functions}}
/*
The `sprites` mixin generates identical output to the CSS template
but can be overridden inside of Stylus
This must be run when you have at least 2 sprites.
If run with a single sprite, then there will be reference errors.
sprites($spritesheet_sprites);
*/
{{/if}}
{{/block}}
{{#block "spritesheet-functions"}}
{{#if options.functions}}
sprites($sprites) {
for $sprite in $sprites {
$sprite_name = $sprite[9];
.{$sprite_name} {
sprite($sprite);
}
}
}
{{/if}}
{{/block}}