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.
- data/LICENSE +20 -0
- data/README.markdown +49 -0
- data/VERSION +1 -0
- data/bin/bixbite +73 -0
- data/lib/bixbite.rb +13 -0
- data/lib/bixbite/command.rb +14 -0
- data/lib/bixbite/create.rb +76 -0
- data/template/Rakefile +25 -0
- data/template/assets/bixbite/Rakefile.rb +297 -0
- data/template/assets/naturaldocs/NaturalDocs/Config/Languages.txt +286 -0
- data/template/assets/naturaldocs/NaturalDocs/Config/Topics.txt +382 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/customizinglanguages.html +52 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/customizingtopics.html +74 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/documenting.html +58 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/documenting/reference.html +146 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/documenting/walkthrough.html +180 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/example/Default.css +528 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/example/NaturalDocs.js +204 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/examples.css +90 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/images/header/background.png +0 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/images/header/leftside.png +0 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/images/header/logo.png +0 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/images/header/overbody.png +0 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/images/header/overbodybg.png +0 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/images/header/overleftmargin.png +0 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/images/header/overmenu.png +0 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/images/header/overmenubg.png +0 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/images/header/rightside.png +0 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/images/logo.gif +0 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/images/menu/about.png +0 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/images/menu/background.png +0 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/images/menu/bottomleft.png +0 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/images/menu/bottomright.png +0 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/images/menu/community.png +0 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/images/menu/customizing.png +0 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/images/menu/using.png +0 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/index.html +9 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/javascript/BrowserStyles.js +77 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/javascript/PNGHandling.js +72 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/keywords.html +38 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/languages.html +32 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/menu.html +79 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/output.html +84 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/running.html +40 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/styles.css +290 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/styles.html +52 -0
- data/template/assets/naturaldocs/NaturalDocs/Help/troubleshooting.html +18 -0
- data/template/assets/naturaldocs/NaturalDocs/Info/CSSGuide.txt +947 -0
- data/template/assets/naturaldocs/NaturalDocs/Info/File Parsing.txt +83 -0
- data/template/assets/naturaldocs/NaturalDocs/Info/HTMLTestCases.pm +269 -0
- data/template/assets/naturaldocs/NaturalDocs/Info/Languages.txt +107 -0
- data/template/assets/naturaldocs/NaturalDocs/Info/NDMarkup.txt +91 -0
- data/template/assets/naturaldocs/NaturalDocs/Info/Symbol Management.txt +59 -0
- data/template/assets/naturaldocs/NaturalDocs/Info/images/Logo.png +0 -0
- data/template/assets/naturaldocs/NaturalDocs/JavaScript/NaturalDocs.js +836 -0
- data/template/assets/naturaldocs/NaturalDocs/License-GPL.txt +341 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/BinaryFile.pm +294 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Builder.pm +280 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Builder/Base.pm +348 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Builder/FramedHTML.pm +345 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Builder/HTML.pm +398 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Builder/HTMLBase.pm +3693 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/ClassHierarchy.pm +860 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/ClassHierarchy/Class.pm +412 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/ClassHierarchy/File.pm +157 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/ConfigFile.pm +497 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Constants.pm +165 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/DefineMembers.pm +100 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Error.pm +305 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/File.pm +540 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/ImageReferenceTable.pm +383 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/ImageReferenceTable/Reference.pm +44 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/ImageReferenceTable/String.pm +110 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages.pm +1475 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/ActionScript.pm +1473 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/Ada.pm +38 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/Advanced.pm +828 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/Advanced/Scope.pm +95 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/Advanced/ScopeChange.pm +70 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/Base.pm +832 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/CSharp.pm +1484 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/PLSQL.pm +319 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/Pascal.pm +143 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/Perl.pm +1370 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/Prototype.pm +92 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/Prototype/Parameter.pm +87 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/Simple.pm +503 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Languages/Tcl.pm +219 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Menu.pm +3406 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Menu/Entry.pm +201 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/NDMarkup.pm +76 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Parser.pm +1331 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Parser/JavaDoc.pm +464 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Parser/Native.pm +1060 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Parser/ParsedTopic.pm +253 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Project.pm +1402 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Project/ImageFile.pm +160 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Project/SourceFile.pm +113 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/ReferenceString.pm +334 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Settings.pm +1418 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Settings/BuildTarget.pm +66 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SourceDB.pm +678 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SourceDB/Extension.pm +84 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SourceDB/File.pm +129 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SourceDB/Item.pm +201 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SourceDB/ItemDefinition.pm +45 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SourceDB/WatchedFileDefinitions.pm +159 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/StatusMessage.pm +102 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SymbolString.pm +212 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SymbolTable.pm +1984 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SymbolTable/File.pm +186 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SymbolTable/IndexElement.pm +522 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SymbolTable/Reference.pm +273 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SymbolTable/ReferenceTarget.pm +97 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SymbolTable/Symbol.pm +428 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/SymbolTable/SymbolDefinition.pm +96 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Topics.pm +1319 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Topics/Type.pm +151 -0
- data/template/assets/naturaldocs/NaturalDocs/Modules/NaturalDocs/Version.pm +384 -0
- data/template/assets/naturaldocs/NaturalDocs/NaturalDocs +400 -0
- data/template/assets/naturaldocs/NaturalDocs/NaturalDocs.bat +17 -0
- data/template/assets/naturaldocs/NaturalDocs/Styles/Default.css +767 -0
- data/template/assets/naturaldocs/NaturalDocs/Styles/Roman.css +765 -0
- data/template/assets/naturaldocs/NaturalDocs/Styles/Small.css +763 -0
- data/template/assets/utilities/pngout +0 -0
- data/template/deploy/public_html/.htaccess +0 -0
- data/template/documentation/js/.htaccess +0 -0
- data/template/src/html/.htaccess +76 -0
- data/template/src/html/css/cmn/global.css +96 -0
- data/template/src/html/css/cmn/ie.css +15 -0
- data/template/src/html/css/cmn/ie6.css +15 -0
- data/template/src/html/images/cmn/.htaccess +0 -0
- data/template/src/html/images/tmp/.htaccess +0 -0
- data/template/src/html/includes/debug.inc +5 -0
- data/template/src/html/includes/footer.inc +52 -0
- data/template/src/html/includes/header.inc +61 -0
- data/template/src/html/includes/html.inc +3 -0
- data/template/src/html/includes/namespace.inc +19 -0
- data/template/src/html/includes/page.inc +151 -0
- data/template/src/html/index.html +35 -0
- data/template/src/html/js/cmn/bootstrap.js +74 -0
- data/template/src/html/js/cmn/global.js +142 -0
- data/template/src/html/js/cmn/lib/LAB.js +348 -0
- data/template/src/html/min/.htaccess +4 -0
- data/template/src/html/min/MinifyCLI.php +19 -0
- data/template/src/html/min/README.txt +132 -0
- data/template/src/html/min/builder/_index.js +242 -0
- data/template/src/html/min/builder/bm.js +36 -0
- data/template/src/html/min/builder/index.php +182 -0
- data/template/src/html/min/builder/ocCheck.php +36 -0
- data/template/src/html/min/builder/rewriteTest.js +1 -0
- data/template/src/html/min/config.php +187 -0
- data/template/src/html/min/groupsConfig.php +34 -0
- data/template/src/html/min/index.php +66 -0
- data/template/src/html/min/lib/FirePHP.php +1370 -0
- data/template/src/html/min/lib/HTTP/ConditionalGet.php +348 -0
- data/template/src/html/min/lib/HTTP/Encoder.php +326 -0
- data/template/src/html/min/lib/JSMin.php +314 -0
- data/template/src/html/min/lib/JSMinPlus.php +1872 -0
- data/template/src/html/min/lib/Minify.php +532 -0
- data/template/src/html/min/lib/Minify/Build.php +103 -0
- data/template/src/html/min/lib/Minify/CSS.php +83 -0
- data/template/src/html/min/lib/Minify/CSS/Compressor.php +250 -0
- data/template/src/html/min/lib/Minify/CSS/UriRewriter.php +270 -0
- data/template/src/html/min/lib/Minify/Cache/APC.php +130 -0
- data/template/src/html/min/lib/Minify/Cache/File.php +125 -0
- data/template/src/html/min/lib/Minify/Cache/Memcache.php +137 -0
- data/template/src/html/min/lib/Minify/ClosureCompiler.php +85 -0
- data/template/src/html/min/lib/Minify/CommentPreserver.php +90 -0
- data/template/src/html/min/lib/Minify/Controller/Base.php +202 -0
- data/template/src/html/min/lib/Minify/Controller/Files.php +78 -0
- data/template/src/html/min/lib/Minify/Controller/Groups.php +94 -0
- data/template/src/html/min/lib/Minify/Controller/MinApp.php +132 -0
- data/template/src/html/min/lib/Minify/Controller/Page.php +82 -0
- data/template/src/html/min/lib/Minify/Controller/Version1.php +118 -0
- data/template/src/html/min/lib/Minify/HTML.php +245 -0
- data/template/src/html/min/lib/Minify/ImportProcessor.php +157 -0
- data/template/src/html/min/lib/Minify/Lines.php +131 -0
- data/template/src/html/min/lib/Minify/Logger.php +45 -0
- data/template/src/html/min/lib/Minify/Packer.php +37 -0
- data/template/src/html/min/lib/Minify/Source.php +187 -0
- data/template/src/html/min/lib/Minify/YUICompressor.php +139 -0
- data/template/src/html/min/lib/Solar/Dir.php +199 -0
- data/template/src/html/min/lib/closure-compiler.jar +0 -0
- data/template/src/html/min/lib/yuicompressor-2.4.2.jar +0 -0
- data/template/src/html/min/utils.php +90 -0
- data/template/src/templates/css/template.css +7 -0
- data/template/src/templates/js/template.js +72 -0
- data/template/src/templates/template.html +18 -0
- data/template/src/yaml/config.yml +46 -0
- data/template/src/yaml/deploy.yml +35 -0
- data/test/bixbite_test.rb +7 -0
- data/test/test_helper.rb +10 -0
- 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
|
+
}
|
Binary file
|
Binary file
|
@@ -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,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
|
+
})();
|