bixbite 0.1.0

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.
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
+ })();