nickel-will_static_generator 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
data/rails_generators/USAGE
CHANGED
@@ -1 +1,33 @@
|
|
1
|
-
|
1
|
+
# Will Static Generator
|
2
|
+
|
3
|
+
## Descripción
|
4
|
+
|
5
|
+
Con este generador podremos obtener nuestra la lógica necesaria para mostrar página estáticas en nuestra aplicación Rails. La descripción/implementación a este problema ya la intenté describir hace ya más de una año:
|
6
|
+
|
7
|
+
[http://juan.gg/blog/2008/04/rails-paginas-estaticas/](http://juan.gg/blog/2008/04/rails-paginas-estaticas/)
|
8
|
+
|
9
|
+
Y a este generador se han sumados otras opciones como la de generar subniveles (de momento solo uno), la elección del lenguaje de marcado entre ERB o HAML o disponer de i18n básico.
|
10
|
+
|
11
|
+
## Getting it
|
12
|
+
|
13
|
+
will\_static\_generator está disponible como gema via [GitHub](http://github.com). Si aún no lo tienes configurado, deberás establecer Github como otra fuente de gemas:
|
14
|
+
|
15
|
+
$ gem sources -a http://gems.github.com
|
16
|
+
|
17
|
+
Y ahora podrás instalarla:
|
18
|
+
|
19
|
+
$ sudo gem install nickel-will_static_generator
|
20
|
+
|
21
|
+
## Uso
|
22
|
+
|
23
|
+
El uso es similar a los generadores que trae Rails.
|
24
|
+
|
25
|
+
$ script/generate will_static empresa/quienes-somos contacto mas-informacion
|
26
|
+
|
27
|
+
## Opciones
|
28
|
+
|
29
|
+
--haml # los ficheros que generará serán haml
|
30
|
+
--locale # añadirá la lógica para disponer el idioma en un lenguaje concreto
|
31
|
+
--subpage # añadirá la lógica para disponer de un subnivel (ej. example.com/empresa/quienes-somos)
|
32
|
+
|
33
|
+
$ script/generate will_static empresa/quienes-somos --haml --locale --subpage
|
@@ -1 +1 @@
|
|
1
|
-
I'm <strong><%=
|
1
|
+
I'm <strong><%= controller.action_name %></strong>. Change me.
|
@@ -9,18 +9,17 @@ class WillStaticGenerator < Rails::Generator::Base
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def manifest
|
12
|
-
record do |m|
|
13
|
-
|
14
|
-
|
12
|
+
record do |m|
|
13
|
+
options[:subpage] = @files.any?{|x| x.include?("/")} # Exists content in subpage form?
|
14
|
+
|
15
|
+
m.template "pages_controller.rb", "app/controllers/pages_controller.rb"
|
15
16
|
m.directory('app/views/pages')
|
16
17
|
|
17
|
-
@files.each
|
18
|
-
generate_file(file, m)
|
19
|
-
end
|
18
|
+
@files.each{|file| generate_file(file, m) }
|
20
19
|
|
21
20
|
if options[:locale]
|
22
|
-
m.route_name('page', '/:locale/page/:page', ":controller => 'pages',
|
23
|
-
:requirements => { :locale => /es|en/ }")
|
21
|
+
m.route_name('page', '/:locale/page/:page', ":controller => 'pages',
|
22
|
+
:action => 'show', :page => nil, :requirements => { :locale => /es|en/ }")
|
24
23
|
else
|
25
24
|
m.route_name('page', '/page/:page', ":controller => 'pages', :action => 'show', :page => nil")
|
26
25
|
end
|
@@ -36,10 +35,12 @@ class WillStaticGenerator < Rails::Generator::Base
|
|
36
35
|
end
|
37
36
|
|
38
37
|
protected
|
38
|
+
|
39
39
|
def generate_file(file, record)
|
40
40
|
format = options[:haml] ? "haml" : "erb"
|
41
41
|
pages_path = lambda {|f| File.join("app/views/pages", f)}
|
42
42
|
|
43
|
+
# Logic for content in subpage
|
43
44
|
if file.include?("/") && !File.exists?(pages_path.call(file))
|
44
45
|
record.directory(pages_path.call(file.split("/").first))
|
45
46
|
end
|
@@ -52,6 +53,5 @@ class WillStaticGenerator < Rails::Generator::Base
|
|
52
53
|
opt.separator 'Options:'
|
53
54
|
opt.on("--haml", "Generate views with haml format") { |v| options[:haml] = true }
|
54
55
|
opt.on("--locale", "Generate logic for i18n") { |v| options[:locale] = true }
|
55
|
-
opt.on("--subpage", "Generate logic for subpage's style") { |v| options[:subpage] = true }
|
56
56
|
end
|
57
57
|
end
|