nickel-will_static_generator 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
|