flak 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. data/README.textile +59 -0
  2. data/flak.gemspec +2 -2
  3. data/lib/flak.rb +16 -341
  4. data/lib/flak/rake/base.rb +312 -0
  5. data/lib/flak/{cpp.rb → rake/cpp.rb} +6 -4
  6. data/lib/flak/{delight.rb → rake/delight.rb} +3 -3
  7. data/lib/flak/rake/doc.rb +64 -0
  8. data/lib/flak/{gl.rb → rake/gl.rb} +1 -1
  9. data/lib/flak/{mac.rb → rake/mac.rb} +1 -1
  10. data/lib/flak/{max.rb → rake/max.rb} +1 -1
  11. data/lib/flak/{maya.rb → rake/maya.rb} +7 -7
  12. data/lib/flak/{maya_app.rb → rake/maya_app.rb} +1 -1
  13. data/lib/flak/{maya_plugin.rb → rake/maya_plugin.rb} +1 -1
  14. data/lib/flak/{nuke.rb → rake/nuke.rb} +1 -1
  15. data/lib/flak/{target.rb → rake/target.rb} +9 -19
  16. data/lib/flak/thor/generate.rb +108 -184
  17. data/lib/flak/thor/target_file.rb +62 -0
  18. data/lib/flak/thor/templates/INSTALL.tt +15 -13
  19. data/lib/flak/thor/templates/doc.tt +0 -0
  20. data/lib/flak/thor/templates/doc/Rules +77 -0
  21. data/lib/flak/thor/templates/doc/config.yaml +77 -0
  22. data/lib/flak/thor/templates/doc/content/assets/css/include.scss +14 -0
  23. data/lib/flak/thor/templates/doc/content/assets/css/page.scss +314 -0
  24. data/lib/flak/thor/templates/doc/content/assets/images/.empty_directory +1 -0
  25. data/lib/flak/thor/templates/doc/content/assets/images/screenshot.jpg +0 -0
  26. data/lib/flak/thor/templates/doc/content/assets/movies/.empty_directory +1 -0
  27. data/lib/flak/thor/templates/doc/content/assets/movies/sampleMovie.webm +0 -0
  28. data/lib/flak/thor/templates/doc/content/assets/site_images/array.gif +0 -0
  29. data/lib/flak/thor/templates/doc/content/assets/site_images/connectable.gif +0 -0
  30. data/lib/flak/thor/templates/doc/content/assets/site_images/create.gif +0 -0
  31. data/lib/flak/thor/templates/doc/content/assets/site_images/edit.gif +0 -0
  32. data/lib/flak/thor/templates/doc/content/assets/site_images/hidden.gif +0 -0
  33. data/lib/flak/thor/templates/doc/content/assets/site_images/input.gif +0 -0
  34. data/lib/flak/thor/templates/doc/content/assets/site_images/keyable.gif +0 -0
  35. data/lib/flak/thor/templates/doc/content/assets/site_images/logo.jpg +0 -0
  36. data/lib/flak/thor/templates/doc/content/assets/site_images/maya.png +0 -0
  37. data/lib/flak/thor/templates/doc/content/assets/site_images/miro_logo_bw.png +0 -0
  38. data/lib/flak/thor/templates/doc/content/assets/site_images/multiuse.gif +0 -0
  39. data/lib/flak/thor/templates/doc/content/assets/site_images/nanoc.png +0 -0
  40. data/lib/flak/thor/templates/doc/content/assets/site_images/nuke.png +0 -0
  41. data/lib/flak/thor/templates/doc/content/assets/site_images/output.gif +0 -0
  42. data/lib/flak/thor/templates/doc/content/assets/site_images/prman.png +0 -0
  43. data/lib/flak/thor/templates/doc/content/assets/site_images/python.png +0 -0
  44. data/lib/flak/thor/templates/doc/content/assets/site_images/query.gif +0 -0
  45. data/lib/flak/thor/templates/doc/content/assets/site_images/storable.gif +0 -0
  46. data/lib/flak/thor/templates/doc/content/assets/site_images/vfxoverflow_ribbon.png +0 -0
  47. data/lib/flak/thor/templates/doc/content/assets/site_images/vray.png +0 -0
  48. data/lib/flak/thor/templates/doc/content/index.txt.tt +31 -0
  49. data/lib/flak/thor/templates/doc/content/install_guide.txt.tt +64 -0
  50. data/lib/flak/thor/templates/doc/content/release_notes.txt.tt +44 -0
  51. data/lib/flak/thor/templates/doc/content/scenes/.empty_directory +1 -0
  52. data/lib/flak/thor/templates/doc/content/tutorial.txt.tt +81 -0
  53. data/lib/flak/thor/templates/doc/layouts/default.html +52 -0
  54. data/lib/flak/thor/templates/doc/lib/helpers.rb +147 -0
  55. data/lib/flak/thor/templates/env.tt +29 -1
  56. data/lib/flak/thor/templates/gitignore.tt +3 -0
  57. data/lib/flak/thor/templates/init.mel.tt +22 -0
  58. data/lib/flak/thor/templates/product.mel.tt +15 -10
  59. data/lib/flak/thor/wizard.rb +47 -0
  60. data/lib/flak/version.rb +1 -1
  61. metadata +120 -63
  62. data/lib/flak/doc.rb +0 -259
@@ -0,0 +1,31 @@
1
+ ---
2
+ ## title, author, email, creation time, and description will be set automatically at compile time.
3
+ ## Uncomment the lines below only if you want to override these fields.
4
+ # title: Alternative title
5
+ # author: Someone Else
6
+ # email: someone.else@example.com
7
+ # created_at: <%= Time.now.strftime("%d %B %Y") %>
8
+ # description: Learn how to use this tool.
9
+ ---
10
+ h2. <%= name.capitalize %> Module
11
+
12
+ h4. What is <%= name.capitalize %>?
13
+
14
+ A super simple way to convert any file to any other file.
15
+
16
+ h4. What Makes <%= name.capitalize %> So Amazing?
17
+
18
+ It really works.
19
+
20
+ h4. What Features are available in this version.
21
+
22
+ * Convert excel to jpg
23
+ * Convert movies to SQL
24
+ * Convert web pages to any 3d format
25
+
26
+ See the "release notes":release_notes.html for more features.
27
+
28
+ Installation is "easy":install_guide.html
29
+
30
+
31
+
@@ -0,0 +1,64 @@
1
+ ---
2
+ ## author, email, creation time, and description will be set automatically at compile time.
3
+ ## Uncomment the lines below only if you want to override these fields.
4
+ # title: Alternative title
5
+ # author: Someone Else
6
+ # email: someone.else@example.com
7
+ # created_at: <%= Time.now.strftime("%d %B %Y") %>
8
+ # description: Learn how to use this tool.
9
+ type: Install Guide
10
+ ---
11
+
12
+
13
+ <%% @figure_counter = 1 %>
14
+
15
+ h3. Introduction
16
+
17
+ This is an install guide. You can change the meta information, name, email etc. at the top of the original textile file in the doc directory of your module. You can have more than one install guide if you like. Just give them different filenames, like installMac.txt, installLinux.txt etc.
18
+
19
+ Just like a tutorial, you can add movies and images. So why not go ahead and make a screencast. See the tutorial template for more examples.
20
+
21
+
22
+ <hr>
23
+
24
+ h3. Install on Linux
25
+
26
+ # Here's an ordered list, good for installation steps
27
+ # Here's an ordered list, good for installation steps
28
+ # Here's an ordered list, good for installation steps
29
+
30
+ <hr>
31
+
32
+ h3. Install on Mac
33
+
34
+ # Here's an ordered list, good for installation steps
35
+ # Here's an ordered list, good for installation steps
36
+ # Here's an ordered list, good for installation steps
37
+
38
+ <hr>
39
+
40
+ h3. Install on Windows
41
+
42
+ # Here's an ordered list, good for installation steps
43
+ # Here's an ordered list, good for installation steps
44
+ # Here's an ordered list, good for installation steps
45
+
46
+ You can link to other pages in the site with embedded ruby (erb) <%%= link_to( "like this", "tutorial.html") %>.
47
+
48
+ Or you can use textile to link to other pages in the site or externally "like this":my_other_page.html or "this":http://www.vfxoverflow.com
49
+
50
+
51
+ <hr>
52
+
53
+ <%%= figure_tag('Image Title', 'You can write a caption here.','images/screenshot.jpg','left') %>
54
+
55
+ <hr>
56
+
57
+ The system is now set up. If you take a look in the outliner you will see magic has been done. When you press play you should see cool stuff.
58
+
59
+ h3. Another section
60
+
61
+ h3. Done
62
+
63
+
64
+ Have Fun!
@@ -0,0 +1,44 @@
1
+ ---
2
+ ## author, email, creation time, and description will be set automatically at compile time.
3
+ ## Uncomment the lines below only if you want to override these fields.
4
+ # title: Alternative title
5
+ # author: Someone Else
6
+ # email: someone.else@example.com
7
+ # created_at: <%= Time.now.strftime("%d %B %Y") %>
8
+ # description: Learn how to use this tool.
9
+ type: Release Notes
10
+ ---
11
+
12
+ h2. Release Notes
13
+
14
+ h3. 0.0.5 - 13 February 2012
15
+
16
+ h4. fooTool
17
+ * Implemented Viewport2 support.
18
+ * Fixed bug that caused tool to fail to open.
19
+ * Added ability to choose container from any directory above.
20
+ * When bumping version, revision is set to zero.
21
+ * Added buttons to version and revision bump.
22
+
23
+ h3. 0.0.4 - 9 February 2012
24
+
25
+ h4. fooTool
26
+ * Added Custom Info functionality to the heads up display and filename generation.
27
+ * Implemented nonsense generation system called Nonsense.
28
+ See "documentation":fooToolTutorial.html
29
+
30
+ h3. 0.0.3 - 12 December 2011
31
+
32
+ h4. barTool
33
+
34
+ * Added runtime command to break a mesh apart based on selected edge loops.
35
+ See "documentation":barToolTutorial.html
36
+
37
+ h4. bazTool
38
+
39
+ * Fixed bug related to exporting shaders from objects with skin clusters.
40
+ * Fixed bug related to exporting shaders with namespaces.
41
+ * Added ability to remove Ids and assign Ids without exporting.
42
+ * Added detailed logging on import, export and assignment operations.
43
+ * Added Id sanity check.
44
+ See "documentation":bazToolTutorial.html
@@ -0,0 +1,81 @@
1
+ ---
2
+ ## author, email, creation time, and description will be set automatically at compile time.
3
+ ## Uncomment the lines below only if you want to override these fields.
4
+ # title: Alternative title
5
+ # author: Someone Else
6
+ # email: someone.else@example.com
7
+ # created_at: <%= Time.now.strftime("%d %B %Y") %>
8
+ # description: Learn how to use this tool.
9
+ type: Tutorial
10
+ ---
11
+
12
+
13
+ <%% @figure_counter = 1 %>
14
+
15
+ h3. Introduction
16
+
17
+ This is a tutorial. You can change the meta information, name, email etc. at the top of the original textile file in the doc directory of your module.
18
+
19
+ You can add movies and images. There are methods available in the helpers file that make it easy to display movies and images in a consistent manner. Examples are shown below. Save movies in the movies folder and images in the images folder (not the site_images folder)
20
+
21
+
22
+ <%%= movie_tag('Movie Title', 'You can write a caption here. The movie must be in webm format','movies/sampleMovie.webm','left') %>
23
+
24
+ <hr>
25
+
26
+
27
+ h3. Get Started
28
+
29
+ # Here's an ordered list, good for getting started steps
30
+ # Select File -> New
31
+ # Set the time range to 1 - 200.
32
+ # Do stuff.
33
+ # Do more stuff.
34
+ # Hit the magic button.
35
+ # Choose Magic Button->Make it [].
36
+ # Enter the values shown in the screenshot below and click "Apply".
37
+
38
+
39
+
40
+ You can link to other pages in the site with embedded ruby (erb) <%%= link_to( "like this", "tutorial.html") %>.
41
+
42
+ Or you can use textile to link to other pages in the site or externally "like this":my_other_page.html or "this":http://www.vfxoverflow.com
43
+
44
+
45
+
46
+ <hr>
47
+
48
+ <%%= figure_tag('Image Title', 'You can write a caption here.','images/screenshot.jpg','left') %>
49
+
50
+ <hr>
51
+
52
+ The system is now set up. If you take a look in the outliner you will see magic has been done. When you press play you should see cool stuff.
53
+
54
+ h3. Another section
55
+
56
+ I refuse to write Lorem Ipsum blahdy blah blah blah.
57
+
58
+ h4. Advantages over other systems:
59
+
60
+ * Bullet 1 is fun
61
+ * Bullet 2 is new
62
+ * Bullet 3 for me
63
+ * Bullet 4 doesn't rhyme unfortunately
64
+
65
+ <hr>
66
+
67
+ <%%= figure_tag('Image Title', 'How about another image. Notice the figure number auto incremented','images/screenshot.jpg','left') %>
68
+
69
+ <hr>
70
+
71
+ You should now see stars.
72
+
73
+ <hr>
74
+ bq.. *Some technical blurb:*
75
+ Here's some technical blurb. Here's some technical blurb.Here's some technical blurb.Here's some technical blurb.Here's some technical blurb.Here's some technical blurb.Here's some technical blurb.Here's some technical blurb.Here's some technical blurb.Here's some technical blurb.Here's some technical blurb.Here's some technical blurb.Here's some technical blurb.
76
+
77
+
78
+ h3. Done
79
+
80
+
81
+ Have Fun!
@@ -0,0 +1,52 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en-us">
4
+ <head>
5
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
6
+ <title><%= @item[:title] %> - <%= @item[:type] %></title>
7
+ <meta name="author" content="<%= @item[:author] %>" />
8
+ <link rel="stylesheet" href="css/page.css" type="text/css" media="screen, projection"></link>
9
+ </head>
10
+ <body>
11
+ <div class="page">
12
+ <%= create_header %>
13
+ <%= create_meta %>
14
+ <ol id="main_container">
15
+ <li id="sidebar">
16
+ <%= toc %>
17
+ </li>
18
+ <li id="body_container">
19
+ <%= yield %>
20
+ </li>
21
+ </ol>
22
+ <%= vfxoverflow_ribbon %>
23
+ <div id="footer">
24
+ <ul>
25
+ <li class="footer_image">
26
+ <a href="http://www.mirovideoconverter.com/"><img src="site_images/miro_logo_bw.png" title="miro video converter" /></a>
27
+ </li>
28
+ <li class="footer_image">
29
+ <a href="http://www.thefoundry.co.uk/support/"><img src="site_images/nuke.png" title="nuke support" /></a>
30
+ </li>
31
+ <li class="footer_image">
32
+ <a href="http://download.autodesk.com/global/docs/maya2012/en_us/index.html"><img src="site_images/maya.png" title="maya 2012 help" /></a>
33
+ </li>
34
+ <li class="footer_image">
35
+ <a href="http://www.python.org/about/help/"><img src="site_images/python.png" title="python help" /></a>
36
+ </li>
37
+ <li class="footer_image">
38
+ <a href="http://www.chaosgroup.com/en/2/support.html"><img src="site_images/vray.png" title="vray support" /></a>
39
+ </li>
40
+ <li class="footer_image">
41
+ <a href="https://renderman.pixar.com/forum/support.php"><img src="site_images/prman.png" title="renderman support" /></a>
42
+ </li>
43
+ </ul>
44
+
45
+ </div>
46
+ </div>
47
+
48
+
49
+
50
+
51
+ </body>
52
+ </html>
@@ -0,0 +1,147 @@
1
+ include Nanoc::Helpers::LinkTo
2
+
3
+ # Add more types if you need to, for example: Houdini SOP.
4
+ # Then set the :type field in the yaml section at the top of each help file of that type
5
+ # Those pages will then appear in the sidebar menu
6
+ TYPES = ["Tutorial","Maya Node","Maya Plugin Command","Maya MEL Command","Nuke Node", "Nuke Script"]
7
+
8
+ MODULE_TYPES = ["Index", "Release Notes", "Install Guide"]
9
+
10
+
11
+
12
+
13
+ # This helper displays a webm (HTML5) movie in a div with a title and caption.
14
+ # You can convert quicktime and other formats to webm with
15
+ # Miro Video Converter on Mac. http://blog.getmiro.com/2011/01/miro-video-converter-now-in-the-mac-app-store/
16
+ # For windows and linux you'll have to search. I believe there is also an online converter
17
+ def movie_tag(title,caption,movie,side)
18
+ body=""
19
+ body += '<div class="figure '+side+'">'
20
+ body += "<video controls>"
21
+ body += '<source src="' + movie +'" type="video/webm">'
22
+ body += "Sorry dude, your browser doesn't support HTML5 video. Upgrade already!"
23
+ body += "</video>"
24
+ body +='<p class="title">'+title+'</p>'
25
+ body +='<p class="caption">'+caption+'</p>'
26
+ body +='</div>'
27
+ end
28
+
29
+
30
+
31
+
32
+
33
+ # This helper displays an image in a div with a title and caption.
34
+ # The image is resized by css if it is too big, however it will be a hyperlink to the full-size image.
35
+ def figure_tag(title,caption,image,side)
36
+ figure_name = "Figure " + @figure_counter.to_s+'.'
37
+ @figure_counter+=1
38
+ body=""
39
+ body += '<div class="figure '+side+'">'
40
+ body += '<a href="'+image+'"><img src="'+image+'" title="'+caption+'" /></a>'
41
+ # body +='<img alt="Image missing" src="'+image+'" title="'+caption+'"/>'
42
+ body +='<p class="title">'+figure_name+' '+title+'</p>'
43
+ body +='<p class="caption">'+caption+'</p>'
44
+ body +='</div>'
45
+ end
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+ # create one block for the table of contents with the given array of pages and the heading
54
+ def toc_block(pages, heading)
55
+
56
+ body =""
57
+ if pages.length > 0
58
+ body += '<div class="toc_block">'
59
+ body += "<h4>#{heading}</h4>"
60
+ body += '<ul>'
61
+
62
+ pages.each do |page|
63
+ unless page == @item
64
+ body += "<li>"
65
+ if ( page.identifier == "/")
66
+ body += link_to(page[:title] , "index.html")
67
+ else
68
+ body += link_to(page[:title] , relative_path_to(page))
69
+ end
70
+ else
71
+ body += '<li class="current">'
72
+ body += page[:title]
73
+ end
74
+ body += "</li>"
75
+ end
76
+
77
+ body += '</ul>'
78
+ body += '</div>'
79
+
80
+ end
81
+ body
82
+ end
83
+
84
+ # create markup for the table of contents in the sidebar.
85
+ def toc
86
+
87
+ items = @items.select { |i| (i[:title] != nil) }
88
+ body =""
89
+ sub_pages = items.select { |i| MODULE_TYPES.include?(i[:type]) }
90
+
91
+ body += toc_block(sub_pages, "Module Pages")
92
+
93
+ TYPES.each do |type|
94
+ sub_pages = items.select { |i| i[:type] == type }
95
+ body += toc_block(sub_pages, "#{type}s")
96
+ end
97
+
98
+ body
99
+ end
100
+
101
+
102
+ def vfxoverflow_ribbon
103
+ r = "site_images/vfxoverflow_ribbon.png"
104
+ body = '<a href="http://www.vfxoverflow.com/questions/new"><img id="vfxoverflow" src="'+r+'" alt="Ask at VFX Overflow" /></a>'
105
+ end
106
+
107
+ # create markup for the header header
108
+ def create_header
109
+ body = '<div id="header">'
110
+ r = "site_images/logo.jpg"
111
+ body += '<a href="http://www.reliancemediaworks.com/"><img class="logo" src="'+r+'" alt="logo" /></a>'
112
+ body += "<h3><b>#{@item[:type]}: </b> #{@item[:title]} </h3>"
113
+ body += '</div>'
114
+ end
115
+
116
+ # create markup for the metadata
117
+ def create_meta
118
+
119
+ body = '<div class="meta_container">'
120
+
121
+ @item[:description] = "Please write a description for this page" if @item[:description].nil?
122
+ body += '<div class="metainfo"><b>Description: </b>'
123
+ body += @item[:description]
124
+ body += '</div>'
125
+
126
+ @item[:email] = "you@example.com" if @item[:email].nil?
127
+ @item[:author] = "Your Name" if @item[:author].nil?
128
+ body += '<div class="metainfo"><b>Author: </b><a href="mailto:'
129
+ body += @item[:email]
130
+ body += '">'
131
+ body += @item[:author]
132
+ body +='</a></div>'
133
+
134
+
135
+ body += '<div class="metainfo"><b>Created: </b>' + @item[:created_at] + '</div>' if (! @item[:created_at].nil?)
136
+ body += '<div class="metainfo"><b>Keywords: </b>' + @item[:keywords] + '</div>' if (! @item[:keywords].nil?)
137
+ body += '<div class="metainfo"><b>Plugin: </b>' + @item[:plugin] + '</div>' if (! @item[:plugin].nil?)
138
+ body += '<div class="metainfo"><b>Test Scene: </b>' + @item[:test_scene] + '</div>' if (! @item[:test_scene].nil?)
139
+
140
+ body += '</div>'
141
+
142
+
143
+
144
+ end
145
+
146
+
147
+