locomotivecms 4.0.0.alpha2 → 4.0.0.alpha3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/Rakefile +14 -6
- data/app/api/locomotive/api/forms/site_form.rb +8 -2
- data/app/api/locomotive/api/helpers/locales_helper.rb +4 -0
- data/app/api/locomotive/api/resources/content_entry_resource.rb +1 -1
- data/app/assets/javascripts/locomotive/editor.js +2859 -2561
- data/app/assets/javascripts/locomotive/views/content_entries/index_view.js.coffee +4 -1
- data/app/assets/javascripts/locomotive/views/current_site/edit_view.js.coffee +6 -0
- data/app/assets/javascripts/locomotive/views/shared/bulk_delete_view.js.coffee +27 -0
- data/app/assets/javascripts/locomotive/views/translations/index_view.js.coffee +6 -0
- data/app/assets/stylesheets/locomotive/application.scss +1 -0
- data/app/assets/stylesheets/locomotive/editor.css +119 -113
- data/app/assets/stylesheets/locomotive/new/_checkbox.scss +38 -0
- data/app/assets/stylesheets/locomotive/old/_activity_feed.scss +10 -0
- data/app/assets/stylesheets/locomotive/old/_list.scss +28 -0
- data/app/assets/stylesheets/locomotive/old/_main.scss +21 -4
- data/app/assets/stylesheets/locomotive/old/_search_bars.scss +2 -5
- data/app/assets/stylesheets/locomotive/old/_translations.scss +2 -2
- data/app/controllers/locomotive/content_entries_controller.rb +5 -5
- data/app/controllers/locomotive/current_site_controller.rb +8 -1
- data/app/controllers/locomotive/custom_fields/select_options_controller.rb +1 -1
- data/app/controllers/locomotive/editable_elements_controller.rb +1 -1
- data/app/controllers/locomotive/page_content_controller.rb +2 -2
- data/app/controllers/locomotive/pages_controller.rb +1 -1
- data/app/controllers/locomotive/search_for_resources_controller.rb +1 -1
- data/app/controllers/locomotive/translations_controller.rb +7 -1
- data/app/helpers/locomotive/base_helper.rb +6 -5
- data/app/helpers/locomotive/dashboard_helper.rb +18 -6
- data/app/helpers/locomotive/page_content_helper.rb +28 -5
- data/app/helpers/locomotive/pages_helper.rb +4 -0
- data/app/helpers/locomotive/shared/pages_helper.rb +8 -4
- data/app/models/locomotive/activity.rb +1 -0
- data/app/models/locomotive/concerns/content_entry/file_size.rb +5 -1
- data/app/models/locomotive/concerns/content_type/public_submission_title_template.rb +1 -1
- data/app/models/locomotive/concerns/page/sections.rb +11 -0
- data/app/models/locomotive/concerns/site/url_redirections.rb +11 -1
- data/app/policies/locomotive/membership_policy.rb +3 -7
- data/app/services/locomotive/content_entry_service.rb +21 -10
- data/app/services/locomotive/custom_field_service.rb +28 -4
- data/app/services/locomotive/editable_element_service.rb +2 -2
- data/app/services/locomotive/editor_service.rb +47 -31
- data/app/services/locomotive/page_service.rb +2 -2
- data/app/services/locomotive/translation_service.rb +7 -0
- data/app/views/locomotive/accounts/new.html.slim +1 -1
- data/app/views/locomotive/content_assets/_list.html.slim +5 -0
- data/app/views/locomotive/content_assets/_search_form.html.slim +1 -1
- data/app/views/locomotive/content_entries/_list.html.slim +3 -3
- data/app/views/locomotive/content_entries/edit.html.slim +2 -1
- data/app/views/locomotive/content_entries/index.html.slim +53 -40
- data/app/views/locomotive/content_entries/new.html.slim +1 -1
- data/app/views/locomotive/current_site/edit.html.slim +1 -1
- data/app/views/locomotive/current_site/form/_url_redirections.html.slim +4 -0
- data/app/views/locomotive/current_site_metafields/index.html.slim +1 -1
- data/app/views/locomotive/dashboard/_activity.html.slim +3 -0
- data/app/views/locomotive/layouts/application.html.slim +3 -2
- data/app/views/locomotive/layouts/editor.html.slim +2 -0
- data/app/views/locomotive/memberships/edit.html.slim +1 -1
- data/app/views/locomotive/memberships/new.html.slim +1 -1
- data/app/views/locomotive/page_content/edit.html.erb +1 -0
- data/app/views/locomotive/page_content/edit.json.jbuilder +3 -1
- data/app/views/locomotive/pages/_header.html.slim +1 -1
- data/app/views/locomotive/pages/form/_main.html.slim +1 -1
- data/app/views/locomotive/pages/new.html.slim +1 -1
- data/app/views/locomotive/public_submission_accounts/edit.html.slim +1 -1
- data/app/views/locomotive/translations/_form.html.slim +0 -3
- data/app/views/locomotive/translations/edit.html.slim +1 -1
- data/app/views/locomotive/translations/index.html.slim +34 -15
- data/config/locales/devise.fr.yml +3 -3
- data/config/locales/editor.en.yml +39 -13
- data/config/locales/editor.fr.yml +39 -13
- data/config/locales/en.yml +4 -0
- data/config/locales/flash.en.yml +4 -0
- data/config/locales/flash.fr.yml +4 -0
- data/config/locales/fr.yml +14 -0
- data/config/locales/mongoid.fr.yml +0 -2
- data/config/locales/simple_form.en.yml +4 -0
- data/config/locales/simple_form.fr.yml +6 -1
- data/config/routes.rb +7 -4
- data/config/webpack/development.js +26 -0
- data/config/webpack/production.js +7 -0
- data/config/webpack/test.js +6 -0
- data/lib/locomotive/engine.rb +1 -0
- data/lib/locomotive/steam/middlewares/page_editing.rb +20 -1
- data/lib/locomotive/steam/services/api_entry_submission_service.rb +6 -6
- data/lib/locomotive/version.rb +1 -1
- metadata +9 -32
data/config/locales/flash.fr.yml
CHANGED
@@ -23,6 +23,8 @@ fr:
|
|
23
23
|
notice: "Les éléments ont été ordonnés avec succès."
|
24
24
|
destroy:
|
25
25
|
notice: "L'élément a été supprimé avec succès."
|
26
|
+
bulk_destroy:
|
27
|
+
notice: "Les éléments ont été supprimés avec succès."
|
26
28
|
content_types:
|
27
29
|
update:
|
28
30
|
notice: "Le modèle a été mis à jour avec succès."
|
@@ -75,6 +77,8 @@ fr:
|
|
75
77
|
alert: "La traduction n'a pas été mise à jour."
|
76
78
|
destroy:
|
77
79
|
notice: "La traduction a été supprimée avec succès."
|
80
|
+
bulk_destroy:
|
81
|
+
notice: "Les traductions ont été supprimées avec succès."
|
78
82
|
custom_fields:
|
79
83
|
select_options:
|
80
84
|
update:
|
data/config/locales/fr.yml
CHANGED
@@ -18,10 +18,20 @@ fr:
|
|
18
18
|
zh-CN: Chinois
|
19
19
|
cs: Tchèque
|
20
20
|
bg: Bulgare
|
21
|
+
hr: Croate
|
21
22
|
sk: Slovaque
|
23
|
+
sl: Slovène
|
22
24
|
sr: Serbe
|
23
25
|
sv: Suédois
|
24
26
|
el: Grec
|
27
|
+
ca: Catalan
|
28
|
+
uk: Ukrainien
|
29
|
+
fa-IR: Perse
|
30
|
+
ja-JP: Japonais
|
31
|
+
pl-PL: Polonais
|
32
|
+
sv-FI: Suédois/Finnois
|
33
|
+
fi-FI: 'Finnois '
|
34
|
+
da: Danois
|
25
35
|
messages:
|
26
36
|
confirm: Êtes-vous sûr ?
|
27
37
|
unsaved_content_warning: "Vous avez des modifications non sauvegardées dans cette page. Si vous la quittez, ces modifications seront perdues."
|
@@ -86,6 +96,8 @@ fr:
|
|
86
96
|
updated: 'a mis à jour la page %{page} '
|
87
97
|
destroyed: 'a supprimé la page %{page} '
|
88
98
|
sorted: 'a trié les pages'
|
99
|
+
page_content:
|
100
|
+
updated: 'a modifié le contenu de la page %{page}'
|
89
101
|
editable_element:
|
90
102
|
updated_bulk: 'a modifié le contenu de %{pages} '
|
91
103
|
content_entry:
|
@@ -94,6 +106,7 @@ fr:
|
|
94
106
|
updated: 'a mis à jour %{entry} de %{content_type}'
|
95
107
|
destroyed: 'a supprimé %{entry} de %{content_type}'
|
96
108
|
sorted: 'a trié %{content_type}'
|
109
|
+
destroyed_bulk: 'a supprimé %{entry} de %{content_type}'
|
97
110
|
content_asset:
|
98
111
|
created_bulk: 'a mis à jour %{count} média(s)'
|
99
112
|
destroyed: 'a supprimé le média %{name}'
|
@@ -313,6 +326,7 @@ fr:
|
|
313
326
|
title: '%{type}'
|
314
327
|
download: télécharger les élements
|
315
328
|
new: nouvel élément
|
329
|
+
bulk_destroy: supprimer les éléments
|
316
330
|
edit_notification_settings: Modifier les paramètres de notifications
|
317
331
|
search_placeholder: "Entrez vos critères de recherche ici"
|
318
332
|
group_by:
|
@@ -22,8 +22,6 @@ fr:
|
|
22
22
|
domain_taken: "%{value} a été déjà pris"
|
23
23
|
invalid_domain: "%{value} n'est pas valide"
|
24
24
|
needs_admin_account: "Au moin un compte admin est requis"
|
25
|
-
protected_page: "Vous ne pouvez pas supprimer les pages index et 404"
|
26
|
-
extname_changed: "Le nouveau fichier n'a pas l'extension originale"
|
27
25
|
array_too_short: "est trop petit (le nombre minimum d'éléments est %{count})"
|
28
26
|
site:
|
29
27
|
default_locale_removed: La langue précédente ne peut être supprimée immédiatement.
|
@@ -50,6 +50,8 @@ en:
|
|
50
50
|
cache_enabled: Cache
|
51
51
|
private_access: "Enable password-protection"
|
52
52
|
password: "Site-Wide Password"
|
53
|
+
url_redirections_expert_mode: "Expert mode"
|
54
|
+
url_redirections_plain_text: "Url redirections"
|
53
55
|
new:
|
54
56
|
locales: First language
|
55
57
|
membership:
|
@@ -101,6 +103,8 @@ en:
|
|
101
103
|
cache_enabled: "When enabled, your pages will be cached as long as the content doesn't change. Disabling cache per page is allowed."
|
102
104
|
redirect_to_first_domain: "When enabled, requests made to any domains listed above will be redirected to the first domain."
|
103
105
|
redirect_to_https: "When enabled, non secure requests will be redirected to https. This requires the installation of a SSL certificate on the web server."
|
106
|
+
url_redirections_expert_mode: "When enabled, a textarea will let you manage your redirections. <strong>IMPORTANT: save your site before returning to the default mode.</strong>"
|
107
|
+
url_redirections_plain_text: "One line per redirection and source and target separated by a space."
|
104
108
|
url_redirections: "Redirect (301) legacy urls to pages you created in the back-office. The origin and the destination URLs are separated by a <u>space</u>."
|
105
109
|
private_access: You can hide your site behind a password.
|
106
110
|
password: The password public visitors will have to enter to see the content of your site.
|
@@ -46,6 +46,8 @@ fr:
|
|
46
46
|
cache_enabled: Cache
|
47
47
|
private_access: "Activer la protection par mot de passe"
|
48
48
|
password: "Mot de passe du site"
|
49
|
+
url_redirections_expert_mode: "Mode expert"
|
50
|
+
url_redirections_plain_text: "URLs de redirection"
|
49
51
|
new:
|
50
52
|
locales: Langue principale
|
51
53
|
membership:
|
@@ -91,10 +93,13 @@ fr:
|
|
91
93
|
meta_description: "La META DESCRIPTION est utilisée à l'intérieur du tag HEAD de chaque page. Elle est requise pour un meilleur SEO."
|
92
94
|
robots_txt: "Contenu de la page <span class='code'>/robots.txt</span>. Veuillez lire ce <a href='http://www.w3.org/TR/html4/appendix/notes.html#h-B.4.1.1'>document</a> pour plus d'informations."
|
93
95
|
domains: "Ajoutez vos domaines en-dessous. La documentation est <a href=\"https://locomotive-v3.readme.io/docs/domains\">ici</a> pour plus d'informations."
|
96
|
+
asset_host: "Hôte spécifique au site destiné à servir les assets. (Exemple : \"localhost\", \"asset.dev\", \"https://asset-host.com/)."
|
94
97
|
memberships: "Vous pouvez inviter d'autres comptes à venir éditer votre site."
|
95
98
|
cache_enabled: "Si cette option est activée. vos pages seront cachés tant que le contenu ne sera pas modifié. Le cache peut être désactivé par page."
|
96
99
|
redirect_to_first_domain: "Si cette option est activée, les requêtes destinées à n'importe quels domains listés ci-dessus seront redirigées vers le premier domaine."
|
97
|
-
redirect_to_https: "Si
|
100
|
+
redirect_to_https: "Si activé, les requêtes non sécurisées seront redirigées vers la version https du site. Cela nécessite l'installation d'un certificate SSL sur votre serveur web. Il est fourni pour les utilisateurs de LocomotiveCMS.com."
|
101
|
+
url_redirections_expert_mode: "Lorsque le mode expert est activé, une zone de texte vous laisse le soin de gérer vos redirections. <strong>Important : Sauvegarder votre site avant de quitter le mode expert</strong>."
|
102
|
+
url_redirections_plain_text: "Une seule ligne par redirection et source/cible séparées par un espace."
|
98
103
|
url_redirections: "Redirige (301) des anciennes URLs vers des pages que vous avez créés ici. L'origine et la destination des URLs sont séparées par un <u>espace</u>."
|
99
104
|
private_access: Vous pouvez rendre votre site accessible uniquement par un mot de passe.
|
100
105
|
password: Le mot de passe que les visiteurs devront entrer afin de voir le contenu de votre site.
|
data/config/routes.rb
CHANGED
@@ -52,7 +52,9 @@ Locomotive::Engine.routes.draw do
|
|
52
52
|
|
53
53
|
resources :memberships
|
54
54
|
|
55
|
-
resources :translations
|
55
|
+
resources :translations do
|
56
|
+
delete :bulk_destroy, on: :collection
|
57
|
+
end
|
56
58
|
|
57
59
|
resources :search_for_resources, only: [:index]
|
58
60
|
|
@@ -65,9 +67,10 @@ Locomotive::Engine.routes.draw do
|
|
65
67
|
end
|
66
68
|
|
67
69
|
resources :content_entries, path: 'content_types/:slug/entries' do
|
68
|
-
get :show_in_form,
|
69
|
-
put :sort,
|
70
|
-
get :export,
|
70
|
+
get :show_in_form, on: :collection
|
71
|
+
put :sort, on: :collection
|
72
|
+
get :export, on: :collection
|
73
|
+
delete :bulk_destroy, on: :collection
|
71
74
|
end
|
72
75
|
|
73
76
|
namespace :custom_fields, path: 'content_types/:slug/fields/:name' do
|
@@ -0,0 +1,26 @@
|
|
1
|
+
const path = require('path');
|
2
|
+
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
3
|
+
|
4
|
+
module.exports = {
|
5
|
+
entry: './app/javascript/src/locomotive/editor.es6',
|
6
|
+
output: {
|
7
|
+
path: path.resolve(__dirname, '..', '..', 'app', 'assets'),
|
8
|
+
filename: 'javascripts/locomotive/editor.js'
|
9
|
+
},
|
10
|
+
module: {
|
11
|
+
rules: [
|
12
|
+
{
|
13
|
+
test: /\.(js|jsx|es6)$/,
|
14
|
+
exclude: /(node_modules|bower_components)/,
|
15
|
+
loader: 'babel-loader'
|
16
|
+
},
|
17
|
+
{
|
18
|
+
test: /\.scss$/,
|
19
|
+
use: ['style-loader', MiniCssExtractPlugin.loader, 'css-loader', 'postcss-loader', 'sass-loader']
|
20
|
+
}
|
21
|
+
]
|
22
|
+
},
|
23
|
+
plugins: [
|
24
|
+
new MiniCssExtractPlugin({ filename: 'stylesheets/locomotive/editor.css' })
|
25
|
+
]
|
26
|
+
};
|
data/lib/locomotive/engine.rb
CHANGED
@@ -28,7 +28,7 @@ module Locomotive
|
|
28
28
|
<link href='https://fonts.googleapis.com/css?family=Noto+Sans' rel='stylesheet' type='text/css'>
|
29
29
|
|
30
30
|
<!-- [Locomotive] fix absolute links to inner pages in preview mode-->
|
31
|
-
<script>
|
31
|
+
<script type="text/javascript">
|
32
32
|
window.document.addEventListener('click', function(event) {
|
33
33
|
var qs = document.querySelectorAll('a');
|
34
34
|
if (qs) {
|
@@ -47,6 +47,25 @@ module Locomotive
|
|
47
47
|
</script>
|
48
48
|
)
|
49
49
|
response.first.gsub!('</head>', %(#{html}</head>))
|
50
|
+
|
51
|
+
# new way of letting the parent window know about the status of the preview
|
52
|
+
response.first.gsub!('</body>', %(
|
53
|
+
<script type="text/javascript">
|
54
|
+
if (window.parent) {
|
55
|
+
console.log(window.parent);
|
56
|
+
var event = new CustomEvent('LocomotivePreviewReady', {
|
57
|
+
detail: {
|
58
|
+
locale: "#{locale}",
|
59
|
+
pageId: "#{page._id}",
|
60
|
+
contentEntryId: "#{content_entry_id(env)}",
|
61
|
+
mountedOn: "#{mounted_on}"
|
62
|
+
}
|
63
|
+
});
|
64
|
+
window.parent.document.dispatchEvent(event);
|
65
|
+
}
|
66
|
+
</script>
|
67
|
+
</body>
|
68
|
+
))
|
50
69
|
end
|
51
70
|
|
52
71
|
[status, headers, response]
|
@@ -21,7 +21,11 @@ module Locomotive
|
|
21
21
|
|
22
22
|
def create_entry(attributes)
|
23
23
|
::Mongoid::Fields::I18n.with_locale(locale) do
|
24
|
-
entry = engine_service.public_create(attributes, {
|
24
|
+
entry = engine_service.public_create(attributes, {
|
25
|
+
ip_address: self.request.ip,
|
26
|
+
user_agent: self.request.user_agent,
|
27
|
+
referer: self.request.referer
|
28
|
+
})
|
25
29
|
|
26
30
|
entity = entry.to_steam(@content_type)
|
27
31
|
Locomotive::Steam::Decorators::I18nDecorator.new(entity, locale)
|
@@ -32,16 +36,12 @@ module Locomotive
|
|
32
36
|
self.request.env['locomotive.site']
|
33
37
|
end
|
34
38
|
|
35
|
-
def ip_address
|
36
|
-
self.request.ip
|
37
|
-
end
|
38
|
-
|
39
39
|
def locale
|
40
40
|
self.service.locale
|
41
41
|
end
|
42
42
|
|
43
43
|
def engine_service
|
44
|
-
Locomotive::ContentEntryService.new(@content_type, nil)
|
44
|
+
Locomotive::ContentEntryService.new(@content_type, nil, locale)
|
45
45
|
end
|
46
46
|
|
47
47
|
end
|
data/lib/locomotive/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: locomotivecms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.0.
|
4
|
+
version: 4.0.0.alpha3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Didier Lafforgue
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-03-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -128,34 +128,6 @@ dependencies:
|
|
128
128
|
- - "~>"
|
129
129
|
- !ruby/object:Gem::Version
|
130
130
|
version: 2.3.1
|
131
|
-
- !ruby/object:Gem::Dependency
|
132
|
-
name: custom_fields
|
133
|
-
requirement: !ruby/object:Gem::Requirement
|
134
|
-
requirements:
|
135
|
-
- - "~>"
|
136
|
-
- !ruby/object:Gem::Version
|
137
|
-
version: 2.10.0.beta2
|
138
|
-
type: :runtime
|
139
|
-
prerelease: false
|
140
|
-
version_requirements: !ruby/object:Gem::Requirement
|
141
|
-
requirements:
|
142
|
-
- - "~>"
|
143
|
-
- !ruby/object:Gem::Version
|
144
|
-
version: 2.10.0.beta2
|
145
|
-
- !ruby/object:Gem::Dependency
|
146
|
-
name: locomotivecms_steam
|
147
|
-
requirement: !ruby/object:Gem::Requirement
|
148
|
-
requirements:
|
149
|
-
- - "~>"
|
150
|
-
- !ruby/object:Gem::Version
|
151
|
-
version: 1.5.0.beta2
|
152
|
-
type: :runtime
|
153
|
-
prerelease: false
|
154
|
-
version_requirements: !ruby/object:Gem::Requirement
|
155
|
-
requirements:
|
156
|
-
- - "~>"
|
157
|
-
- !ruby/object:Gem::Version
|
158
|
-
version: 1.5.0.beta2
|
159
131
|
- !ruby/object:Gem::Dependency
|
160
132
|
name: slim
|
161
133
|
requirement: !ruby/object:Gem::Requirement
|
@@ -428,14 +400,14 @@ dependencies:
|
|
428
400
|
requirements:
|
429
401
|
- - "~>"
|
430
402
|
- !ruby/object:Gem::Version
|
431
|
-
version: 1.
|
403
|
+
version: 1.2.0
|
432
404
|
type: :runtime
|
433
405
|
prerelease: false
|
434
406
|
version_requirements: !ruby/object:Gem::Requirement
|
435
407
|
requirements:
|
436
408
|
- - "~>"
|
437
409
|
- !ruby/object:Gem::Version
|
438
|
-
version: 1.
|
410
|
+
version: 1.2.0
|
439
411
|
- !ruby/object:Gem::Dependency
|
440
412
|
name: rack-cache
|
441
413
|
requirement: !ruby/object:Gem::Requirement
|
@@ -721,6 +693,7 @@ files:
|
|
721
693
|
- app/assets/javascripts/locomotive/views/pages/new_view.js.coffee
|
722
694
|
- app/assets/javascripts/locomotive/views/public_submission_accounts/edit_view.js.coffee
|
723
695
|
- app/assets/javascripts/locomotive/views/registrations/new_view.js.coffee
|
696
|
+
- app/assets/javascripts/locomotive/views/shared/bulk_delete_view.js.coffee
|
724
697
|
- app/assets/javascripts/locomotive/views/shared/drawer_view.js.coffee
|
725
698
|
- app/assets/javascripts/locomotive/views/shared/form_view.js.coffee
|
726
699
|
- app/assets/javascripts/locomotive/views/shared/header_view.js.coffee
|
@@ -737,6 +710,7 @@ files:
|
|
737
710
|
- app/assets/stylesheets/locomotive/live_editing_iframe.scss
|
738
711
|
- app/assets/stylesheets/locomotive/new/_actionbar.scss
|
739
712
|
- app/assets/stylesheets/locomotive/new/_brand.scss
|
713
|
+
- app/assets/stylesheets/locomotive/new/_checkbox.scss
|
740
714
|
- app/assets/stylesheets/locomotive/new/_content.scss
|
741
715
|
- app/assets/stylesheets/locomotive/new/_drawer.scss
|
742
716
|
- app/assets/stylesheets/locomotive/new/_files.scss
|
@@ -1232,6 +1206,9 @@ files:
|
|
1232
1206
|
- config/locales/uk.yml
|
1233
1207
|
- config/locales/zh-CN.yml
|
1234
1208
|
- config/routes.rb
|
1209
|
+
- config/webpack/development.js
|
1210
|
+
- config/webpack/production.js
|
1211
|
+
- config/webpack/test.js
|
1235
1212
|
- lib/generators/locomotive/install/install_generator.rb
|
1236
1213
|
- lib/generators/locomotive/install/templates/README
|
1237
1214
|
- lib/generators/locomotive/install/templates/carrierwave.rb
|