bixbite 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (194) hide show
  1. data/LICENSE +20 -0
  2. data/README.markdown +49 -0
  3. data/VERSION +1 -0
  4. data/bin/bixbite +73 -0
  5. data/lib/bixbite.rb +13 -0
  6. data/lib/bixbite/command.rb +14 -0
  7. data/lib/bixbite/create.rb +76 -0
  8. data/template/Rakefile +25 -0
  9. data/template/assets/bixbite/Rakefile.rb +297 -0
  10. data/template/assets/naturaldocs/NaturalDocs/Config/Languages.txt +286 -0
  11. data/template/assets/naturaldocs/NaturalDocs/Config/Topics.txt +382 -0
  12. data/template/assets/naturaldocs/NaturalDocs/Help/customizinglanguages.html +52 -0
  13. data/template/assets/naturaldocs/NaturalDocs/Help/customizingtopics.html +74 -0
  14. data/template/assets/naturaldocs/NaturalDocs/Help/documenting.html +58 -0
  15. data/template/assets/naturaldocs/NaturalDocs/Help/documenting/reference.html +146 -0
  16. data/template/assets/naturaldocs/NaturalDocs/Help/documenting/walkthrough.html +180 -0
  17. data/template/assets/naturaldocs/NaturalDocs/Help/example/Default.css +528 -0
  18. data/template/assets/naturaldocs/NaturalDocs/Help/example/NaturalDocs.js +204 -0
  19. data/template/assets/naturaldocs/NaturalDocs/Help/examples.css +90 -0
  20. data/template/assets/naturaldocs/NaturalDocs/Help/images/header/background.png +0 -0
  21. data/template/assets/naturaldocs/NaturalDocs/Help/images/header/leftside.png +0 -0
  22. data/template/assets/naturaldocs/NaturalDocs/Help/images/header/logo.png +0 -0
  23. data/template/assets/naturaldocs/NaturalDocs/Help/images/header/overbody.png +0 -0
  24. data/template/assets/naturaldocs/NaturalDocs/Help/images/header/overbodybg.png +0 -0
  25. data/template/assets/naturaldocs/NaturalDocs/Help/images/header/overleftmargin.png +0 -0
  26. data/template/assets/naturaldocs/NaturalDocs/Help/images/header/overmenu.png +0 -0
  27. data/template/assets/naturaldocs/NaturalDocs/Help/images/header/overmenubg.png +0 -0
  28. data/template/assets/naturaldocs/NaturalDocs/Help/images/header/rightside.png +0 -0
  29. data/template/assets/naturaldocs/NaturalDocs/Help/images/logo.gif +0 -0
  30. data/template/assets/naturaldocs/NaturalDocs/Help/images/menu/about.png +0 -0
  31. data/template/assets/naturaldocs/NaturalDocs/Help/images/menu/background.png +0 -0
  32. data/template/assets/naturaldocs/NaturalDocs/Help/images/menu/bottomleft.png +0 -0
  33. data/template/assets/naturaldocs/NaturalDocs/Help/images/menu/bottomright.png +0 -0
  34. data/template/assets/naturaldocs/NaturalDocs/Help/images/menu/community.png +0 -0
  35. data/template/assets/naturaldocs/NaturalDocs/Help/images/menu/customizing.png +0 -0
  36. data/template/assets/naturaldocs/NaturalDocs/Help/images/menu/using.png +0 -0
  37. data/template/assets/naturaldocs/NaturalDocs/Help/index.html +9 -0
  38. data/template/assets/naturaldocs/NaturalDocs/Help/javascript/BrowserStyles.js +77 -0
  39. data/template/assets/naturaldocs/NaturalDocs/Help/javascript/PNGHandling.js +72 -0
  40. data/template/assets/naturaldocs/NaturalDocs/Help/keywords.html +38 -0
  41. data/template/assets/naturaldocs/NaturalDocs/Help/languages.html +32 -0
  42. data/template/assets/naturaldocs/NaturalDocs/Help/menu.html +79 -0
  43. data/template/assets/naturaldocs/NaturalDocs/Help/output.html +84 -0
  44. data/template/assets/naturaldocs/NaturalDocs/Help/running.html +40 -0
  45. data/template/assets/naturaldocs/NaturalDocs/Help/styles.css +290 -0
  46. data/template/assets/naturaldocs/NaturalDocs/Help/styles.html +52 -0
  47. data/template/assets/naturaldocs/NaturalDocs/Help/troubleshooting.html +18 -0
  48. data/template/assets/naturaldocs/NaturalDocs/Info/CSSGuide.txt +947 -0
  49. data/template/assets/naturaldocs/NaturalDocs/Info/File Parsing.txt +83 -0
  50. data/template/assets/naturaldocs/NaturalDocs/Info/HTMLTestCases.pm +269 -0
  51. data/template/assets/naturaldocs/NaturalDocs/Info/Languages.txt +107 -0
  52. data/template/assets/naturaldocs/NaturalDocs/Info/NDMarkup.txt +91 -0
  53. data/template/assets/naturaldocs/NaturalDocs/Info/Symbol Management.txt +59 -0
  54. data/template/assets/naturaldocs/NaturalDocs/Info/images/Logo.png +0 -0
  55. data/template/assets/naturaldocs/NaturalDocs/JavaScript/NaturalDocs.js +836 -0
  56. data/template/assets/naturaldocs/NaturalDocs/License-GPL.txt +341 -0
  57. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/BinaryFile.pm +294 -0
  58. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Builder.pm +280 -0
  59. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Builder/Base.pm +348 -0
  60. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Builder/FramedHTML.pm +345 -0
  61. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Builder/HTML.pm +398 -0
  62. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Builder/HTMLBase.pm +3693 -0
  63. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/ClassHierarchy.pm +860 -0
  64. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/ClassHierarchy/Class.pm +412 -0
  65. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/ClassHierarchy/File.pm +157 -0
  66. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/ConfigFile.pm +497 -0
  67. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Constants.pm +165 -0
  68. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/DefineMembers.pm +100 -0
  69. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Error.pm +305 -0
  70. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/File.pm +540 -0
  71. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/ImageReferenceTable.pm +383 -0
  72. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/ImageReferenceTable/Reference.pm +44 -0
  73. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/ImageReferenceTable/String.pm +110 -0
  74. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages.pm +1475 -0
  75. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/ActionScript.pm +1473 -0
  76. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/Ada.pm +38 -0
  77. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/Advanced.pm +828 -0
  78. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/Advanced/Scope.pm +95 -0
  79. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/Advanced/ScopeChange.pm +70 -0
  80. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/Base.pm +832 -0
  81. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/CSharp.pm +1484 -0
  82. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/PLSQL.pm +319 -0
  83. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/Pascal.pm +143 -0
  84. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/Perl.pm +1370 -0
  85. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/Prototype.pm +92 -0
  86. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/Prototype/Parameter.pm +87 -0
  87. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/Simple.pm +503 -0
  88. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/Tcl.pm +219 -0
  89. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Menu.pm +3406 -0
  90. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Menu/Entry.pm +201 -0
  91. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/NDMarkup.pm +76 -0
  92. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Parser.pm +1331 -0
  93. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Parser/JavaDoc.pm +464 -0
  94. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Parser/Native.pm +1060 -0
  95. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Parser/ParsedTopic.pm +253 -0
  96. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Project.pm +1402 -0
  97. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Project/ImageFile.pm +160 -0
  98. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Project/SourceFile.pm +113 -0
  99. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/ReferenceString.pm +334 -0
  100. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Settings.pm +1418 -0
  101. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Settings/BuildTarget.pm +66 -0
  102. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SourceDB.pm +678 -0
  103. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SourceDB/Extension.pm +84 -0
  104. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SourceDB/File.pm +129 -0
  105. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SourceDB/Item.pm +201 -0
  106. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SourceDB/ItemDefinition.pm +45 -0
  107. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SourceDB/WatchedFileDefinitions.pm +159 -0
  108. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/StatusMessage.pm +102 -0
  109. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SymbolString.pm +212 -0
  110. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SymbolTable.pm +1984 -0
  111. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SymbolTable/File.pm +186 -0
  112. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SymbolTable/IndexElement.pm +522 -0
  113. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SymbolTable/Reference.pm +273 -0
  114. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SymbolTable/ReferenceTarget.pm +97 -0
  115. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SymbolTable/Symbol.pm +428 -0
  116. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SymbolTable/SymbolDefinition.pm +96 -0
  117. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Topics.pm +1319 -0
  118. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Topics/Type.pm +151 -0
  119. data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Version.pm +384 -0
  120. data/template/assets/naturaldocs/NaturalDocs/NaturalDocs +400 -0
  121. data/template/assets/naturaldocs/NaturalDocs/NaturalDocs.bat +17 -0
  122. data/template/assets/naturaldocs/NaturalDocs/Styles/Default.css +767 -0
  123. data/template/assets/naturaldocs/NaturalDocs/Styles/Roman.css +765 -0
  124. data/template/assets/naturaldocs/NaturalDocs/Styles/Small.css +763 -0
  125. data/template/assets/utilities/pngout +0 -0
  126. data/template/deploy/public_html/.htaccess +0 -0
  127. data/template/documentation/js/.htaccess +0 -0
  128. data/template/src/html/.htaccess +76 -0
  129. data/template/src/html/css/cmn/global.css +96 -0
  130. data/template/src/html/css/cmn/ie.css +15 -0
  131. data/template/src/html/css/cmn/ie6.css +15 -0
  132. data/template/src/html/images/cmn/.htaccess +0 -0
  133. data/template/src/html/images/tmp/.htaccess +0 -0
  134. data/template/src/html/includes/debug.inc +5 -0
  135. data/template/src/html/includes/footer.inc +52 -0
  136. data/template/src/html/includes/header.inc +61 -0
  137. data/template/src/html/includes/html.inc +3 -0
  138. data/template/src/html/includes/namespace.inc +19 -0
  139. data/template/src/html/includes/page.inc +151 -0
  140. data/template/src/html/index.html +35 -0
  141. data/template/src/html/js/cmn/bootstrap.js +74 -0
  142. data/template/src/html/js/cmn/global.js +142 -0
  143. data/template/src/html/js/cmn/lib/LAB.js +348 -0
  144. data/template/src/html/min/.htaccess +4 -0
  145. data/template/src/html/min/MinifyCLI.php +19 -0
  146. data/template/src/html/min/README.txt +132 -0
  147. data/template/src/html/min/builder/_index.js +242 -0
  148. data/template/src/html/min/builder/bm.js +36 -0
  149. data/template/src/html/min/builder/index.php +182 -0
  150. data/template/src/html/min/builder/ocCheck.php +36 -0
  151. data/template/src/html/min/builder/rewriteTest.js +1 -0
  152. data/template/src/html/min/config.php +187 -0
  153. data/template/src/html/min/groupsConfig.php +34 -0
  154. data/template/src/html/min/index.php +66 -0
  155. data/template/src/html/min/lib/FirePHP.php +1370 -0
  156. data/template/src/html/min/lib/HTTP/ConditionalGet.php +348 -0
  157. data/template/src/html/min/lib/HTTP/Encoder.php +326 -0
  158. data/template/src/html/min/lib/JSMin.php +314 -0
  159. data/template/src/html/min/lib/JSMinPlus.php +1872 -0
  160. data/template/src/html/min/lib/Minify.php +532 -0
  161. data/template/src/html/min/lib/Minify/Build.php +103 -0
  162. data/template/src/html/min/lib/Minify/CSS.php +83 -0
  163. data/template/src/html/min/lib/Minify/CSS/Compressor.php +250 -0
  164. data/template/src/html/min/lib/Minify/CSS/UriRewriter.php +270 -0
  165. data/template/src/html/min/lib/Minify/Cache/APC.php +130 -0
  166. data/template/src/html/min/lib/Minify/Cache/File.php +125 -0
  167. data/template/src/html/min/lib/Minify/Cache/Memcache.php +137 -0
  168. data/template/src/html/min/lib/Minify/ClosureCompiler.php +85 -0
  169. data/template/src/html/min/lib/Minify/CommentPreserver.php +90 -0
  170. data/template/src/html/min/lib/Minify/Controller/Base.php +202 -0
  171. data/template/src/html/min/lib/Minify/Controller/Files.php +78 -0
  172. data/template/src/html/min/lib/Minify/Controller/Groups.php +94 -0
  173. data/template/src/html/min/lib/Minify/Controller/MinApp.php +132 -0
  174. data/template/src/html/min/lib/Minify/Controller/Page.php +82 -0
  175. data/template/src/html/min/lib/Minify/Controller/Version1.php +118 -0
  176. data/template/src/html/min/lib/Minify/HTML.php +245 -0
  177. data/template/src/html/min/lib/Minify/ImportProcessor.php +157 -0
  178. data/template/src/html/min/lib/Minify/Lines.php +131 -0
  179. data/template/src/html/min/lib/Minify/Logger.php +45 -0
  180. data/template/src/html/min/lib/Minify/Packer.php +37 -0
  181. data/template/src/html/min/lib/Minify/Source.php +187 -0
  182. data/template/src/html/min/lib/Minify/YUICompressor.php +139 -0
  183. data/template/src/html/min/lib/Solar/Dir.php +199 -0
  184. data/template/src/html/min/lib/closure-compiler.jar +0 -0
  185. data/template/src/html/min/lib/yuicompressor-2.4.2.jar +0 -0
  186. data/template/src/html/min/utils.php +90 -0
  187. data/template/src/templates/css/template.css +7 -0
  188. data/template/src/templates/js/template.js +72 -0
  189. data/template/src/templates/template.html +18 -0
  190. data/template/src/yaml/config.yml +46 -0
  191. data/template/src/yaml/deploy.yml +35 -0
  192. data/test/bixbite_test.rb +7 -0
  193. data/test/test_helper.rb +10 -0
  194. metadata +278 -0
@@ -0,0 +1,139 @@
1
+ <?php
2
+ /**
3
+ * Class Minify_YUICompressor
4
+ * @package Minify
5
+ */
6
+
7
+ /**
8
+ * Compress Javascript/CSS using the YUI Compressor
9
+ *
10
+ * You must set $jarFile and $tempDir before calling the minify functions.
11
+ * Also, depending on your shell's environment, you may need to specify
12
+ * the full path to java in $javaExecutable or use putenv() to setup the
13
+ * Java environment.
14
+ *
15
+ * <code>
16
+ * Minify_YUICompressor::$jarFile = '/path/to/yuicompressor-2.3.5.jar';
17
+ * Minify_YUICompressor::$tempDir = '/tmp';
18
+ * $code = Minify_YUICompressor::minifyJs(
19
+ * $code
20
+ * ,array('nomunge' => true, 'line-break' => 1000)
21
+ * );
22
+ * </code>
23
+ *
24
+ * @todo unit tests, $options docs
25
+ *
26
+ * @package Minify
27
+ * @author Stephen Clay <steve@mrclay.org>
28
+ */
29
+ class Minify_YUICompressor {
30
+
31
+ /**
32
+ * Filepath of the YUI Compressor jar file. This must be set before
33
+ * calling minifyJs() or minifyCss().
34
+ *
35
+ * @var string
36
+ */
37
+ public static $jarFile = null;
38
+
39
+ /**
40
+ * Writable temp directory. This must be set before calling minifyJs()
41
+ * or minifyCss().
42
+ *
43
+ * @var string
44
+ */
45
+ public static $tempDir = null;
46
+
47
+ /**
48
+ * Filepath of "java" executable (may be needed if not in shell's PATH)
49
+ *
50
+ * @var string
51
+ */
52
+ public static $javaExecutable = 'java';
53
+
54
+ /**
55
+ * Minify a Javascript string
56
+ *
57
+ * @param string $js
58
+ *
59
+ * @param array $options (verbose is ignored)
60
+ *
61
+ * @see http://www.julienlecomte.net/yuicompressor/README
62
+ *
63
+ * @return string
64
+ */
65
+ public static function minifyJs($js, $options = array())
66
+ {
67
+ return self::_minify('js', $js, $options);
68
+ }
69
+
70
+ /**
71
+ * Minify a CSS string
72
+ *
73
+ * @param string $css
74
+ *
75
+ * @param array $options (verbose is ignored)
76
+ *
77
+ * @see http://www.julienlecomte.net/yuicompressor/README
78
+ *
79
+ * @return string
80
+ */
81
+ public static function minifyCss($css, $options = array())
82
+ {
83
+ return self::_minify('css', $css, $options);
84
+ }
85
+
86
+ private static function _minify($type, $content, $options)
87
+ {
88
+ self::_prepare();
89
+ if (! ($tmpFile = tempnam(self::$tempDir, 'yuic_'))) {
90
+ throw new Exception('Minify_YUICompressor : could not create temp file.');
91
+ }
92
+ file_put_contents($tmpFile, $content);
93
+ exec(self::_getCmd($options, $type, $tmpFile), $output);
94
+ unlink($tmpFile);
95
+ return implode("\n", $output);
96
+ }
97
+
98
+ private static function _getCmd($userOptions, $type, $tmpFile)
99
+ {
100
+ $o = array_merge(
101
+ array(
102
+ 'charset' => ''
103
+ ,'line-break' => 5000
104
+ ,'type' => $type
105
+ ,'nomunge' => false
106
+ ,'preserve-semi' => false
107
+ ,'disable-optimizations' => false
108
+ )
109
+ ,$userOptions
110
+ );
111
+ $cmd = self::$javaExecutable . ' -jar ' . escapeshellarg(self::$jarFile)
112
+ . " --type {$type}"
113
+ . (preg_match('/^[a-zA-Z\\-]+$/', $o['charset'])
114
+ ? " --charset {$o['charset']}"
115
+ : '')
116
+ . (is_numeric($o['line-break']) && $o['line-break'] >= 0
117
+ ? ' --line-break ' . (int)$o['line-break']
118
+ : '');
119
+ if ($type === 'js') {
120
+ foreach (array('nomunge', 'preserve-semi', 'disable-optimizations') as $opt) {
121
+ $cmd .= $o[$opt]
122
+ ? " --{$opt}"
123
+ : '';
124
+ }
125
+ }
126
+ return $cmd . ' ' . escapeshellarg($tmpFile);
127
+ }
128
+
129
+ private static function _prepare()
130
+ {
131
+ if (! is_file(self::$jarFile)
132
+ || ! is_dir(self::$tempDir)
133
+ || ! is_writable(self::$tempDir)
134
+ ) {
135
+ throw new Exception('Minify_YUICompressor : $jarFile and $tempDir must be set.');
136
+ }
137
+ }
138
+ }
139
+
@@ -0,0 +1,199 @@
1
+ <?php
2
+ /**
3
+ *
4
+ * Utility class for static directory methods.
5
+ *
6
+ * @category Solar
7
+ *
8
+ * @package Solar
9
+ *
10
+ * @author Paul M. Jones <pmjones@solarphp.com>
11
+ *
12
+ * @license http://opensource.org/licenses/bsd-license.php BSD
13
+ *
14
+ * @version $Id: Dir.php 2926 2007-11-09 16:25:44Z pmjones $
15
+ *
16
+ */
17
+ class Solar_Dir {
18
+
19
+ /**
20
+ *
21
+ * The OS-specific temporary directory location.
22
+ *
23
+ * @var string
24
+ *
25
+ */
26
+ protected static $_tmp;
27
+
28
+ /**
29
+ *
30
+ * Hack for [[php::is_dir() | ]] that checks the include_path.
31
+ *
32
+ * Use this to see if a directory exists anywhere in the include_path.
33
+ *
34
+ * {{code: php
35
+ * $dir = Solar_Dir::exists('path/to/dir')
36
+ * if ($dir) {
37
+ * $files = scandir($dir);
38
+ * } else {
39
+ * echo "Not found in the include-path.";
40
+ * }
41
+ * }}
42
+ *
43
+ * @param string $dir Check for this directory in the include_path.
44
+ *
45
+ * @return mixed If the directory exists in the include_path, returns the
46
+ * absolute path; if not, returns boolean false.
47
+ *
48
+ */
49
+ public static function exists($dir)
50
+ {
51
+ // no file requested?
52
+ $dir = trim($dir);
53
+ if (! $dir) {
54
+ return false;
55
+ }
56
+
57
+ // using an absolute path for the file?
58
+ // dual check for Unix '/' and Windows '\',
59
+ // or Windows drive letter and a ':'.
60
+ $abs = ($dir[0] == '/' || $dir[0] == '\\' || $dir[1] == ':');
61
+ if ($abs && is_dir($dir)) {
62
+ return $dir;
63
+ }
64
+
65
+ // using a relative path on the file
66
+ $path = explode(PATH_SEPARATOR, ini_get('include_path'));
67
+ foreach ($path as $base) {
68
+ // strip Unix '/' and Windows '\'
69
+ $target = rtrim($base, '\\/') . DIRECTORY_SEPARATOR . $dir;
70
+ if (is_dir($target)) {
71
+ return $target;
72
+ }
73
+ }
74
+
75
+ // never found it
76
+ return false;
77
+ }
78
+
79
+ /**
80
+ *
81
+ * "Fixes" a directory string for the operating system.
82
+ *
83
+ * Use slashes anywhere you need a directory separator. Then run the
84
+ * string through fixdir() and the slashes will be converted to the
85
+ * proper separator (for example '\' on Windows).
86
+ *
87
+ * Always adds a final trailing separator.
88
+ *
89
+ * @param string $dir The directory string to 'fix'.
90
+ *
91
+ * @return string The "fixed" directory string.
92
+ *
93
+ */
94
+ public static function fix($dir)
95
+ {
96
+ $dir = str_replace('/', DIRECTORY_SEPARATOR, $dir);
97
+ return rtrim($dir, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
98
+ }
99
+
100
+ /**
101
+ *
102
+ * Convenience method for dirname() and higher-level directories.
103
+ *
104
+ * @param string $file Get the dirname() of this file.
105
+ *
106
+ * @param int $up Move up in the directory structure this many
107
+ * times, default 0.
108
+ *
109
+ * @return string The dirname() of the file.
110
+ *
111
+ */
112
+ public static function name($file, $up = 0)
113
+ {
114
+ $dir = dirname($file);
115
+ while ($up --) {
116
+ $dir = dirname($dir);
117
+ }
118
+ return $dir;
119
+ }
120
+
121
+ /**
122
+ *
123
+ * Returns the OS-specific directory for temporary files.
124
+ *
125
+ * @param string $sub Add this subdirectory to the returned temporary
126
+ * directory name.
127
+ *
128
+ * @return string The temporary directory path.
129
+ *
130
+ */
131
+ public static function tmp($sub = '')
132
+ {
133
+ // find the tmp dir if needed
134
+ if (! Solar_Dir::$_tmp) {
135
+
136
+ // use the system if we can
137
+ if (function_exists('sys_get_temp_dir')) {
138
+ $tmp = sys_get_temp_dir();
139
+ } else {
140
+ $tmp = Solar_Dir::_tmp();
141
+ }
142
+
143
+ // remove trailing separator and save
144
+ Solar_Dir::$_tmp = rtrim($tmp, DIRECTORY_SEPARATOR);
145
+ }
146
+
147
+ // do we have a subdirectory request?
148
+ $sub = trim($sub);
149
+ if ($sub) {
150
+ // remove leading and trailing separators, and force exactly
151
+ // one trailing separator
152
+ $sub = trim($sub, DIRECTORY_SEPARATOR)
153
+ . DIRECTORY_SEPARATOR;
154
+ }
155
+
156
+ return Solar_Dir::$_tmp . DIRECTORY_SEPARATOR . $sub;
157
+ }
158
+
159
+ /**
160
+ *
161
+ * Returns the OS-specific temporary directory location.
162
+ *
163
+ * @return string The temp directory path.
164
+ *
165
+ */
166
+ protected static function _tmp()
167
+ {
168
+ // non-Windows system?
169
+ if (strtolower(substr(PHP_OS, 0, 3)) != 'win') {
170
+ $tmp = empty($_ENV['TMPDIR']) ? getenv('TMPDIR') : $_ENV['TMPDIR'];
171
+ if ($tmp) {
172
+ return $tmp;
173
+ } else {
174
+ return '/tmp';
175
+ }
176
+ }
177
+
178
+ // Windows 'TEMP'
179
+ $tmp = empty($_ENV['TEMP']) ? getenv('TEMP') : $_ENV['TEMP'];
180
+ if ($tmp) {
181
+ return $tmp;
182
+ }
183
+
184
+ // Windows 'TMP'
185
+ $tmp = empty($_ENV['TMP']) ? getenv('TMP') : $_ENV['TMP'];
186
+ if ($tmp) {
187
+ return $tmp;
188
+ }
189
+
190
+ // Windows 'windir'
191
+ $tmp = empty($_ENV['windir']) ? getenv('windir') : $_ENV['windir'];
192
+ if ($tmp) {
193
+ return $tmp;
194
+ }
195
+
196
+ // final fallback for Windows
197
+ return getenv('SystemRoot') . '\\temp';
198
+ }
199
+ }
@@ -0,0 +1,90 @@
1
+ <?php
2
+ /**
3
+ * Utility functions for generating group URIs in HTML files
4
+ *
5
+ * Before including this file, /min/lib must be in your include_path.
6
+ *
7
+ * @package Minify
8
+ */
9
+
10
+ require_once 'Minify/Build.php';
11
+
12
+
13
+ /**
14
+ * Get a timestamped URI to a minified resource using the default Minify install
15
+ *
16
+ * <code>
17
+ * <link rel="stylesheet" type="text/css" href="<?php echo Minify_groupUri('css'); ?>" />
18
+ * <script type="text/javascript" src="<?php echo Minify_groupUri('js'); ?>"></script>
19
+ * </code>
20
+ *
21
+ * If you do not want ampersands as HTML entities, set Minify_Build::$ampersand = "&"
22
+ * before using this function.
23
+ *
24
+ * @param string $group a key from groupsConfig.php
25
+ * @param boolean $forceAmpersand (default false) Set to true if the RewriteRule
26
+ * directives in .htaccess are functional. This will remove the "?" from URIs, making them
27
+ * more cacheable by proxies.
28
+ * @return string
29
+ */
30
+ function Minify_groupUri($group, $forceAmpersand = false)
31
+ {
32
+ $path = $forceAmpersand
33
+ ? "/g={$group}"
34
+ : "/?g={$group}";
35
+ return _Minify_getBuild($group)->uri(
36
+ '/' . basename(dirname(__FILE__)) . $path
37
+ ,$forceAmpersand
38
+ );
39
+ }
40
+
41
+
42
+ /**
43
+ * Get the last modification time of the source js/css files used by Minify to
44
+ * build the page.
45
+ *
46
+ * If you're caching the output of Minify_groupUri(), you'll want to rebuild
47
+ * the cache if it's older than this timestamp.
48
+ *
49
+ * <code>
50
+ * // simplistic HTML cache system
51
+ * $file = '/path/to/cache/file';
52
+ * if (! file_exists($file) || filemtime($file) < Minify_groupsMtime(array('js', 'css'))) {
53
+ * // (re)build cache
54
+ * $page = buildPage(); // this calls Minify_groupUri() for js and css
55
+ * file_put_contents($file, $page);
56
+ * echo $page;
57
+ * exit();
58
+ * }
59
+ * readfile($file);
60
+ * </code>
61
+ *
62
+ * @param array $groups an array of keys from groupsConfig.php
63
+ * @return int Unix timestamp of the latest modification
64
+ */
65
+ function Minify_groupsMtime($groups)
66
+ {
67
+ $max = 0;
68
+ foreach ((array)$groups as $group) {
69
+ $max = max($max, _Minify_getBuild($group)->lastModified);
70
+ }
71
+ return $max;
72
+ }
73
+
74
+ /**
75
+ * @param string $group a key from groupsConfig.php
76
+ * @return Minify_Build
77
+ * @private
78
+ */
79
+ function _Minify_getBuild($group)
80
+ {
81
+ static $builds = array();
82
+ static $gc = false;
83
+ if (false === $gc) {
84
+ $gc = (require dirname(__FILE__) . '/groupsConfig.php');
85
+ }
86
+ if (! isset($builds[$group])) {
87
+ $builds[$group] = new Minify_Build($gc[$group]);
88
+ }
89
+ return $builds[$group];
90
+ }
@@ -0,0 +1,7 @@
1
+ /*
2
+ __PROJECT_NAME__ CSS declarations - __PAGE_NAME_CAPITALIZE__ CSS styles
3
+ */
4
+
5
+
6
+ /* [=] Global Elements
7
+ ------------------------------------------------ */
@@ -0,0 +1,72 @@
1
+ /*
2
+ File: __PAGE_TEMPLATE_LOWERCASE__.js
3
+
4
+ About: Version
5
+ 1.0
6
+
7
+ Project: __PROJECT_NAME__
8
+
9
+ Description:
10
+ Includes all __PAGE_TEMPLATE_CAPITALIZE__ functionality
11
+
12
+ Requires:
13
+ - jQuery 1.3.2 - <http://jquery.com>
14
+ - jQuery Flash - <jquery.flash.js>
15
+ - jQuery Easing - <jquery.easing.js>
16
+
17
+ Requires:
18
+ - <bootstrap.js>
19
+ - <global.js>
20
+
21
+ */
22
+
23
+ /*
24
+ Class: __PROJECT_NAMESPACE__
25
+ Scoped to the __PROJECT_NAMESPACE__ Global Namespace
26
+ */
27
+ var __PROJECT_NAMESPACE__ = window.__PROJECT_NAMESPACE__ || {};
28
+
29
+ /*
30
+ Namespace: __PROJECT_NAMESPACE__.__PAGE_TEMPLATE_CAPITALIZE__
31
+ Under the __PROJECT_NAMESPACE__.__PAGE_TEMPLATE_CAPITALIZE__ Local Namespace
32
+ */
33
+ __PROJECT_NAMESPACE__.__PAGE_TEMPLATE_CAPITALIZE__ = __PROJECT_NAMESPACE__.__PAGE_TEMPLATE_CAPITALIZE__ || {};
34
+
35
+ (function () {
36
+
37
+ // Storing a variable to reference
38
+ var $space = __PROJECT_NAMESPACE__;
39
+ var $self = $space.__PAGE_TEMPLATE_CAPITALIZE__;
40
+
41
+ /*
42
+ Namespace: __PROJECT_NAMESPACE__.__PAGE_TEMPLATE_CAPITALIZE__.vars
43
+ Shared local variables
44
+ */
45
+ $self.vars = $.extend($space.vars, {});
46
+
47
+ /*
48
+ Namespace: __PROJECT_NAMESPACE__.__PAGE_TEMPLATE_CAPITALIZE__.utils
49
+ Shared local utilities
50
+ */
51
+ $self.utils = $.extend($space.utils, {});
52
+
53
+ /*
54
+ Namespace: __PROJECT_NAMESPACE__.__PAGE_TEMPLATE_CAPITALIZE__
55
+ Under the __PROJECT_NAMESPACE__.__PAGE_TEMPLATE_CAPITALIZE__ Local Namespace
56
+ */
57
+
58
+ /*
59
+ Function: sample
60
+ A sample function
61
+ */
62
+ $self.sample = function() {
63
+
64
+ };
65
+
66
+ /*
67
+ Callback: queue
68
+ Sends local functions to a global queuer for initialization See: <__PROJECT_NAMESPACE__.utils.queue>
69
+ */
70
+ $space.utils.queue($self);
71
+
72
+ })();