blueberry_rails 0.3.8 → 0.3.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -0
- data/README.md +12 -1
- data/blueberry_rails.gemspec +17 -18
- data/lib/blueberry_rails/action_helpers.rb +4 -0
- data/lib/blueberry_rails/app_builder.rb +151 -18
- data/lib/blueberry_rails/generators/app_generator.rb +60 -2
- data/lib/blueberry_rails/version.rb +1 -1
- data/spec/blueberry_rails_spec.rb +42 -1
- data/spec/support/blueberry_rails_helpers.rb +1 -1
- data/templates/Gemfile_custom.erb +20 -5
- data/templates/admin_assets/javascripts/admin.coffee +6 -0
- data/templates/admin_assets/javascripts/admin/.keep +0 -0
- data/templates/admin_assets/stylesheets/admin.sass +4 -0
- data/templates/admin_assets/stylesheets/admin/.keep +0 -0
- data/templates/admin_controllers/base_controller.rb +6 -0
- data/templates/admin_controllers/dashboard_controller.rb +6 -0
- data/templates/admin_views/dashboard/show.html.slim +12 -0
- data/templates/admin_views/partials/_menu.html.slim +13 -0
- data/templates/assets/icons/_font_icons.scss +18 -0
- data/templates/assets/images/blueberry-logo.png +0 -0
- data/templates/assets/javascripts/application.coffee +6 -0
- data/templates/assets/javascripts/common/.keep +0 -0
- data/templates/assets/javascripts/frontend/.keep +0 -0
- data/templates/assets/stylesheets/application.sass +17 -0
- data/templates/assets/stylesheets/frontend/base/buttons.sass +0 -0
- data/templates/assets/stylesheets/frontend/base/fonts.sass +0 -0
- data/templates/assets/stylesheets/frontend/base/typo.sass +0 -0
- data/templates/assets/stylesheets/frontend/common/bootstrap-ms.sass +128 -0
- data/templates/assets/stylesheets/frontend/common/bootstrap-override.sass +4 -0
- data/templates/assets/stylesheets/frontend/common/variables.sass +26 -0
- data/templates/assets/stylesheets/frontend/components/.keep +0 -0
- data/templates/assets/stylesheets/frontend/components/navigation.sass +0 -0
- data/templates/assets/stylesheets/frontend/layout/body.sass +0 -0
- data/templates/assets/stylesheets/frontend/layout/footer.sass +0 -0
- data/templates/assets/stylesheets/frontend/layout/header.sass +0 -0
- data/templates/assets/stylesheets/frontend/pages/.keep +0 -0
- data/templates/assets/stylesheets/frontend/third-party/includes.sass +1 -0
- data/templates/assets/stylesheets/frontend/utils/functions.sass +23 -0
- data/templates/assets/stylesheets/frontend/utils/make-columns.sass +67 -0
- data/templates/assets/stylesheets/frontend/utils/mixins.sass +24 -0
- data/templates/assets/stylesheets/frontend/utils/render-to.sass +27 -0
- data/templates/assets/stylesheets/frontend/utils/renderto-debug.sass +22 -0
- data/templates/assets/stylesheets/ie.sass +0 -0
- data/templates/assets/stylesheets/print.sass +0 -0
- data/templates/config/initializers/airbrake.rb +6 -0
- data/templates/config/initializers/simple_form_bootstrap.rb +151 -0
- data/templates/config/initializers/translation_engine.rb +23 -0
- data/templates/controllers/errors_controller.rb +13 -0
- data/templates/fontcustom.yml +22 -0
- data/templates/helpers/application_helper.rb +23 -0
- data/templates/helpers/body_class_helper.rb +16 -0
- data/templates/helpers/gtm_helper.rb +30 -0
- data/templates/helpers/images_helper.rb +13 -0
- data/templates/locales/cs/cs.devise.yml +69 -0
- data/templates/locales/cs/cs.meta.yml +5 -0
- data/templates/locales/cs/cs.rails.yml +211 -0
- data/templates/locales/cs/cs.yml +4 -0
- data/templates/locales/en/en.meta.yml +5 -0
- data/templates/locales/en/en.yml +4 -0
- data/templates/public/icons/android-icon-144x144.png +0 -0
- data/templates/public/icons/android-icon-192x192.png +0 -0
- data/templates/public/icons/android-icon-36x36.png +0 -0
- data/templates/public/icons/android-icon-48x48.png +0 -0
- data/templates/public/icons/android-icon-72x72.png +0 -0
- data/templates/public/icons/android-icon-96x96.png +0 -0
- data/templates/public/icons/apple-icon-114x114.png +0 -0
- data/templates/public/icons/apple-icon-120x120.png +0 -0
- data/templates/public/icons/apple-icon-144x144.png +0 -0
- data/templates/public/icons/apple-icon-152x152.png +0 -0
- data/templates/public/icons/apple-icon-180x180.png +0 -0
- data/templates/public/icons/apple-icon-57x57.png +0 -0
- data/templates/public/icons/apple-icon-60x60.png +0 -0
- data/templates/public/icons/apple-icon-72x72.png +0 -0
- data/templates/public/icons/apple-icon-76x76.png +0 -0
- data/templates/public/icons/apple-icon-precomposed.png +0 -0
- data/templates/public/icons/apple-icon.png +0 -0
- data/templates/public/icons/favicon-16x16.png +0 -0
- data/templates/public/icons/favicon-32x32.png +0 -0
- data/templates/public/icons/favicon-96x96.png +0 -0
- data/templates/public/icons/favicon.ico +0 -0
- data/templates/public/icons/ms-icon-144x144.png +0 -0
- data/templates/public/icons/ms-icon-150x150.png +0 -0
- data/templates/public/icons/ms-icon-310x310.png +0 -0
- data/templates/public/icons/ms-icon-70x70.png +0 -0
- data/templates/{root_controller_spec.rb → spec/controllers/root_controller_spec.rb} +0 -0
- data/templates/{database_cleaner_setup.rb → spec/database_cleaner_setup.rb} +0 -0
- data/templates/spec/factories/administrators.rb +6 -0
- data/templates/{users_factory.rb → spec/factories/users.rb} +0 -0
- data/templates/{factories_spec.rb → spec/factories_spec.rb} +0 -0
- data/templates/{factory_girl_syntax.rb → spec/factory_girl_syntax.rb} +0 -0
- data/templates/{mail_body_helpers.rb → spec/mail_body_helpers.rb} +0 -0
- data/templates/{spec_helper.rb → spec/spec_helper.rb} +5 -0
- data/templates/tasks/icons.rake +19 -0
- data/templates/tasks/images.rake +12 -0
- data/templates/travis.yml.erb +19 -18
- data/templates/views/application/_favicon.html.slim +16 -0
- data/templates/views/application/_flashes.html.slim +5 -0
- data/templates/views/application/_footer.html.slim +1 -0
- data/templates/views/application/_gtm.html.slim +7 -0
- data/templates/views/application/_header.html.slim +1 -0
- data/templates/views/layouts/admin.html.slim.erb +21 -0
- data/templates/views/layouts/application.html.slim.erb +26 -0
- metadata +95 -12
- data/templates/_flashes.html.slim +0 -5
- data/templates/layout.html.slim +0 -15
@@ -0,0 +1,13 @@
|
|
1
|
+
module ImagesHelper
|
2
|
+
# Acts as a thin wrapper for image_tag and generates an srcset attribute for regular image tags
|
3
|
+
# for usage with responsive images polyfills like picturefill.js, supports asset pipeline path helpers.
|
4
|
+
#
|
5
|
+
# image_set_tag 'pic_1980.jpg', { 'pic_640.jpg' => '640w', 'pic_1024.jpg' => '1024w', 'pic_1980.jpg' => '1980w' }, sizes: '100vw', class: 'my-image'
|
6
|
+
#
|
7
|
+
# => <img src="/assets/ants_1980.jpg" srcset="/assets/pic_640.jpg 640w, /assets/pic_1024.jpg 1024w, /assets/pic_1980.jpg 1980w" sizes="100vw" class="my-image">
|
8
|
+
#
|
9
|
+
def image_set_tag(source, srcset = {}, options = {})
|
10
|
+
srcset = srcset.map { |src, size| "#{path_to_image(src)} #{size}" }.join(', ')
|
11
|
+
image_tag(source, options.merge(srcset: srcset))
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
#
|
2
|
+
# Czech translation for Devise - config/locales/devise.cz.yml
|
3
|
+
# 'cs' locale by https://github.com/bver
|
4
|
+
# Feel free to correct my translation.
|
5
|
+
#
|
6
|
+
# Note: devise.failure.invalid was intentionally changed from "email" to "identity" -
|
7
|
+
# - not all configurations use config.authentication_keys = [ :email ]
|
8
|
+
#
|
9
|
+
# Additional translations at http://github.com/plataformatec/devise/wiki/I18n
|
10
|
+
|
11
|
+
cs:
|
12
|
+
errors:
|
13
|
+
messages:
|
14
|
+
expired: "vypršel, požádejte prosím o nový"
|
15
|
+
not_found: "nenalezen"
|
16
|
+
already_confirmed: "byl již potvrzen, prosím, zkuste se přihlásit"
|
17
|
+
not_locked: "nebyl uzamčen"
|
18
|
+
not_saved:
|
19
|
+
one: "%{resource} nebyl uložen kvůli chybě:"
|
20
|
+
other: "%{resource} nebyl uložen kvůli %{count} chybám:"
|
21
|
+
confirmation_period_expired: "musí být potvrzen během %{period}, požádejte prosím o nový"
|
22
|
+
|
23
|
+
devise:
|
24
|
+
failure:
|
25
|
+
already_authenticated: 'Přihlášení již proběhlo.'
|
26
|
+
unauthenticated: 'Musíte se zaregistrovat nebo přihlásit, pak můžete pokračovat.'
|
27
|
+
unconfirmed: 'Musíte potvrdit svůj účet, pak můžete pokračovat.'
|
28
|
+
locked: 'Váš účet je uzamčen.'
|
29
|
+
not_found_in_database: 'Neplatný e-mail nebo heslo.'
|
30
|
+
invalid: 'Neplatný e-mail nebo heslo.'
|
31
|
+
invalid_token: 'Neplatný ověřovací symbol.'
|
32
|
+
suspended: 'Váš účet byl zablokován.'
|
33
|
+
timeout: 'Vaše relace vypršela, přihlašte se prosím znovu, pak můžete pokračovat.'
|
34
|
+
inactive: 'Váš účet ještě nebyl aktivován.'
|
35
|
+
sessions:
|
36
|
+
signed_in: 'Přihlášení úspěšné.'
|
37
|
+
signed_out: 'Odhlášení úspěšné.'
|
38
|
+
passwords:
|
39
|
+
send_instructions: 'Za několik minut obdržíte email s instrukcemi k nastavení nového hesla.'
|
40
|
+
updated: 'Vaše heslo bylo úspěšně změněno. Nyní jste přihlášen(a).'
|
41
|
+
updated_not_active: 'Vaše heslo bylo změněno.'
|
42
|
+
send_paranoid_instructions: "Pokud je e-mailová adresa v naší databázi, obdržíte na ni e-mail pro obnovení hesla."
|
43
|
+
no_token: "Tato stránka je přístupná pouze přes e-mail k obnovení hesla. Pokud jste se na stránku dostali z e-mailu pro obnovení hesla, zkontrolujte prosím, zda jste použili celou adresu."
|
44
|
+
confirmations:
|
45
|
+
send_instructions: 'Za několik minut obdržíte email s instrukcemi k potvrzení vašeho účtu.'
|
46
|
+
send_paranoid_instructions: 'Pokud je e-mailová adresa v naší databázi, obdržíte na ní instrukce pro potvrzení vašeho účtu.'
|
47
|
+
confirmed: 'Váš účet byl úspěšně potvrzen. Nyní jste přihlášen(a).'
|
48
|
+
registrations:
|
49
|
+
signed_up: 'Vítejte! Registrace byla úspěšná.'
|
50
|
+
signed_up_but_unconfirmed: 'Na váš email by měla přijít zpráva s odkazem pro aktivaci účtu.'
|
51
|
+
signed_up_but_inactive: 'Registrace byla úspěšná. Nicméně se nemůžete přihlásit, protože váš účet dosud nebyl aktivován.'
|
52
|
+
signed_up_but_locked: 'Registrace byla úspěšná. Nicméně se nemůžete přihlásit, protože váš účet je uzamčen.'
|
53
|
+
updated: 'Váš účet byl úspěšně aktualizován.'
|
54
|
+
update_needs_confirmation: "Váš účet byl aktualizován, nicméně musíme ověřit vaši adresu e-mailu. Poslali jsme vám e-mail s odkazem, použijte jej prosím pro potvrzení změny e-mailové adresy."
|
55
|
+
destroyed: 'Nashle! Váš účet byl úspěšně zrušen. Doufáme, že se brzy opět uvidíme.'
|
56
|
+
unlocks:
|
57
|
+
send_instructions: 'Za několik minut obdržíte email s instrukcemi, jak odemknout svůj účet.'
|
58
|
+
unlocked: 'Váš účet byl úspěšně odemknut. Nyní jste přihlášen(a).'
|
59
|
+
send_paranoid_instructions: 'Pokud váš účet existuje, obdržíte e-mail s instrukcemi pro jeho odemčení.'
|
60
|
+
omniauth_callbacks:
|
61
|
+
success: 'Úspěšná autorizace z účtu %{kind}.'
|
62
|
+
failure: 'Není možné autorizovat z %{kind}, protože: "%{reason}".'
|
63
|
+
mailer:
|
64
|
+
confirmation_instructions:
|
65
|
+
subject: 'Instrukce pro potvrzení účtu'
|
66
|
+
reset_password_instructions:
|
67
|
+
subject: 'Instrukce k nastavení nového hesla'
|
68
|
+
unlock_instructions:
|
69
|
+
subject: 'Instrukce k odemknutí účtu'
|
@@ -0,0 +1,211 @@
|
|
1
|
+
---
|
2
|
+
cs:
|
3
|
+
date:
|
4
|
+
abbr_day_names:
|
5
|
+
- Ne
|
6
|
+
- Po
|
7
|
+
- Út
|
8
|
+
- St
|
9
|
+
- Čt
|
10
|
+
- Pá
|
11
|
+
- So
|
12
|
+
abbr_month_names:
|
13
|
+
-
|
14
|
+
- led
|
15
|
+
- úno
|
16
|
+
- bře
|
17
|
+
- dub
|
18
|
+
- kvě
|
19
|
+
- čvn
|
20
|
+
- čvc
|
21
|
+
- srp
|
22
|
+
- zář
|
23
|
+
- říj
|
24
|
+
- lis
|
25
|
+
- pro
|
26
|
+
day_names:
|
27
|
+
- neděle
|
28
|
+
- pondělí
|
29
|
+
- úterý
|
30
|
+
- středa
|
31
|
+
- čtvrtek
|
32
|
+
- pátek
|
33
|
+
- sobota
|
34
|
+
formats:
|
35
|
+
default: "%d. %m. %Y"
|
36
|
+
long: "%d. %B %Y"
|
37
|
+
short: "%d %b"
|
38
|
+
month_names:
|
39
|
+
-
|
40
|
+
- leden
|
41
|
+
- únor
|
42
|
+
- březen
|
43
|
+
- duben
|
44
|
+
- květen
|
45
|
+
- červen
|
46
|
+
- červenec
|
47
|
+
- srpen
|
48
|
+
- září
|
49
|
+
- říjen
|
50
|
+
- listopad
|
51
|
+
- prosinec
|
52
|
+
order:
|
53
|
+
- :day
|
54
|
+
- :month
|
55
|
+
- :year
|
56
|
+
datetime:
|
57
|
+
distance_in_words:
|
58
|
+
about_x_hours:
|
59
|
+
one: asi hodinou
|
60
|
+
few: asi %{count} hodinami
|
61
|
+
other: asi %{count} hodinami
|
62
|
+
about_x_months:
|
63
|
+
one: asi měsícem
|
64
|
+
few: asi %{count} měsíci
|
65
|
+
other: asi %{count} měsíci
|
66
|
+
about_x_years:
|
67
|
+
one: asi rokem
|
68
|
+
few: asi %{count} roky
|
69
|
+
other: asi %{count} roky
|
70
|
+
almost_x_years:
|
71
|
+
one: téměř rokem
|
72
|
+
few: téměř %{count} roky
|
73
|
+
other: téměř %{count} roky
|
74
|
+
half_a_minute: půl minutou
|
75
|
+
less_than_x_minutes:
|
76
|
+
one: necelou minutou
|
77
|
+
few: ani ne %{count} minutami
|
78
|
+
other: ani ne %{count} minutami
|
79
|
+
less_than_x_seconds:
|
80
|
+
one: necelou sekundou
|
81
|
+
few: ani ne %{count} sekundami
|
82
|
+
other: ani ne %{count} sekundami
|
83
|
+
over_x_years:
|
84
|
+
one: více než rokem
|
85
|
+
few: více než %{count} roky
|
86
|
+
other: více než %{count} roky
|
87
|
+
x_days:
|
88
|
+
one: 24 hodinami
|
89
|
+
few: "%{count} dny"
|
90
|
+
other: "%{count} dny"
|
91
|
+
x_minutes:
|
92
|
+
one: minutou
|
93
|
+
few: "%{count} minutami"
|
94
|
+
other: "%{count} minutami"
|
95
|
+
x_months:
|
96
|
+
one: měsícem
|
97
|
+
few: "%{count} měsíci"
|
98
|
+
other: "%{count} měsíci"
|
99
|
+
x_seconds:
|
100
|
+
one: sekundou
|
101
|
+
few: "%{count} sekundami"
|
102
|
+
other: "%{count} sekundami"
|
103
|
+
prompts:
|
104
|
+
day: Den
|
105
|
+
hour: Hodina
|
106
|
+
minute: Minuta
|
107
|
+
month: Měsíc
|
108
|
+
second: Sekunda
|
109
|
+
year: Rok
|
110
|
+
errors:
|
111
|
+
format: "%{attribute} %{message}"
|
112
|
+
messages:
|
113
|
+
accepted: musí být potvrzeno
|
114
|
+
blank: je povinná položka
|
115
|
+
present: musí být prázdný/á/é
|
116
|
+
confirmation: nebylo potvrzeno
|
117
|
+
empty: nesmí být prázdný/á/é
|
118
|
+
equal_to: musí být rovno %{count}
|
119
|
+
even: musí být sudé číslo
|
120
|
+
exclusion: je vyhrazeno pro jiný účel
|
121
|
+
greater_than: musí být větší než %{count}
|
122
|
+
greater_than_or_equal_to: musí být větší nebo rovno %{count}
|
123
|
+
inclusion: není v seznamu povolených hodnot
|
124
|
+
invalid: není platná hodnota
|
125
|
+
less_than: musí být méně než %{count}
|
126
|
+
less_than_or_equal_to: musí být méně nebo rovno %{count}
|
127
|
+
not_a_number: není číslo
|
128
|
+
not_an_integer: musí být celé číslo
|
129
|
+
odd: musí být liché číslo
|
130
|
+
record_invalid: 'Validace je neúspešná: %{errors}'
|
131
|
+
restrict_dependent_destroy:
|
132
|
+
one: Nemůžu smazat položku protože existuje závislá/ý/é %{record}
|
133
|
+
many: Nemůžu smazat položku protože existuje závislé/ý %{record}
|
134
|
+
taken: již databáze obsahuje
|
135
|
+
too_long: je příliš dlouhý/á/é (max. %{count} znaků)
|
136
|
+
too_short: je příliš krátký/á/é (min. %{count} znaků)
|
137
|
+
wrong_length: nemá správnou délku (očekáváno %{count} znaků)
|
138
|
+
other_than: musí být rozdílný/á/é od %{count}
|
139
|
+
template:
|
140
|
+
body: 'Následující pole obsahují chybně vyplněné údaje: '
|
141
|
+
header:
|
142
|
+
one: Při ukládání objektu %{model} došlo k chybám a nebylo jej možné uložit
|
143
|
+
few: Při ukládání objektu %{model} došlo ke %{count} chybám a nebylo možné
|
144
|
+
jej uložit
|
145
|
+
other: Při ukládání objektu %{model} došlo ke %{count} chybám a nebylo možné
|
146
|
+
jej uložit
|
147
|
+
helpers:
|
148
|
+
select:
|
149
|
+
prompt: Prosím vyberte si
|
150
|
+
submit:
|
151
|
+
create: Vytvořit %{model}
|
152
|
+
submit: Uložit %{model}
|
153
|
+
update: Upravit %{model}
|
154
|
+
number:
|
155
|
+
currency:
|
156
|
+
format:
|
157
|
+
delimiter: " "
|
158
|
+
format: "%n %u"
|
159
|
+
precision: 2
|
160
|
+
separator: ","
|
161
|
+
significant: false
|
162
|
+
strip_insignificant_zeros: false
|
163
|
+
unit: Kč
|
164
|
+
format:
|
165
|
+
delimiter: "."
|
166
|
+
precision: 3
|
167
|
+
separator: ","
|
168
|
+
significant: false
|
169
|
+
strip_insignificant_zeros: false
|
170
|
+
human:
|
171
|
+
decimal_units:
|
172
|
+
format: "%n %u"
|
173
|
+
units:
|
174
|
+
billion: Miliarda
|
175
|
+
million: Milion
|
176
|
+
quadrillion: Kvadrilion
|
177
|
+
thousand: Tisíc
|
178
|
+
trillion: Bilion
|
179
|
+
unit: ''
|
180
|
+
format:
|
181
|
+
delimiter: ''
|
182
|
+
precision: 1
|
183
|
+
significant: false
|
184
|
+
strip_insignificant_zeros: false
|
185
|
+
storage_units:
|
186
|
+
format: "%n %u"
|
187
|
+
units:
|
188
|
+
byte: B
|
189
|
+
gb: GB
|
190
|
+
kb: KB
|
191
|
+
mb: MB
|
192
|
+
tb: TB
|
193
|
+
percentage:
|
194
|
+
format:
|
195
|
+
delimiter: ''
|
196
|
+
format: "%n%"
|
197
|
+
precision:
|
198
|
+
format:
|
199
|
+
delimiter: ''
|
200
|
+
support:
|
201
|
+
array:
|
202
|
+
last_word_connector: " a "
|
203
|
+
two_words_connector: " a "
|
204
|
+
words_connector: ", "
|
205
|
+
time:
|
206
|
+
am: am
|
207
|
+
formats:
|
208
|
+
default: "%a %d. %B %Y %H:%M %z"
|
209
|
+
long: "%A %d. %B %Y %H:%M"
|
210
|
+
short: "%d. %m. %Y %H:%M"
|
211
|
+
pm: pm
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -21,8 +21,13 @@ RSpec.configure do |config|
|
|
21
21
|
config.infer_base_class_for_anonymous_controllers = false
|
22
22
|
config.order = 'random'
|
23
23
|
config.use_transactional_fixtures = false
|
24
|
+
config.include MailBodyHelpers, type: :mailer
|
24
25
|
end
|
25
26
|
|
26
27
|
Capybara.javascript_driver = :poltergeist
|
27
28
|
|
29
|
+
Capybara.register_driver :poltergeist do |app|
|
30
|
+
Capybara::Poltergeist::Driver.new(app, { js_errors: false, timeout: 15 })
|
31
|
+
end
|
32
|
+
|
28
33
|
WebMock.disable_net_connect!(allow_localhost: true, allow: 'codeclimate.com')
|
@@ -0,0 +1,19 @@
|
|
1
|
+
namespace :icons do
|
2
|
+
task :compile do
|
3
|
+
puts "Start of icons optimizing"
|
4
|
+
|
5
|
+
files = Dir.glob("#{Rails.root}/app/assets/icons/*.svg")
|
6
|
+
|
7
|
+
files.each do |file|
|
8
|
+
SvgOptimizer.optimize_file(file)
|
9
|
+
end
|
10
|
+
|
11
|
+
puts "Svg optimizing done."
|
12
|
+
puts "----------------------"
|
13
|
+
puts 'Compiling icons...'
|
14
|
+
puts `fontcustom compile`
|
15
|
+
puts "----------------------"
|
16
|
+
puts "Icons compilation done."
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|