Эх сурвалжийг харах

Merge pull request #29 from lil5/preprocessor

Streamlines minifiy process
Dom Hastings 6 жил өмнө
parent
commit
12b7e204d9

+ 15 - 0
.editorconfig

@@ -0,0 +1,15 @@
+root = true
+
+[*]
+charset = utf-8
+end_of_line = lf
+insert_final_newline = true
+indent_style = space
+indent_size = 4
+
+[{package.json,.travis.yml,Dockerfile}]
+indent_style = space
+indent_size = 2
+
+[*.sh]
+indent_style = tab

+ 6 - 0
.gitignore

@@ -0,0 +1,6 @@
+node_modules
+yarn.lock
+package-lock.json
+/tmp
+*.log
+~*

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
assets/css/style-min.css


+ 1 - 13
examples/apache-directory-list-local/header.html

@@ -1,13 +1 @@
-<script src="/webdav-js/external/jquery.min.js"></script>
-<script src="/webdav-js/external/featherlight.min.js"></script>
-<script src="/webdav-js/external/run_prettify.js"></script>
-<script src="/webdav-js/external/notify.js"></script>
-<style>
-@import url('/webdav-js/external/featherlight.min.css');
-@import url('/webdav-js/assets/css/style-min.css');
-</style>
-<script>
-$('style').appendTo('head');
-</script>
-<script src="/webdav-js/src/webdav-min.js"></script>
-<!--
+<script type="text/javascript">!function(){var e;e=["/webdav-js/external/featherlight.min.js","/webdav-js/external/run_prettify.js","/webdav-js/external/notify.js","/webdav-js/external/featherlight.min.css","/webdav-js/assets/css/style-min.css","/webdav-js/src/webdav-min.js"];var t,n=document.getElementsByTagName("head")[0],s=function(e,t){var a=document.createElement("script");a.src=e,a.type="text/javascript",t&&(a.onload=t),n.appendChild(a)};s("/webdav-js/external/jquery.min.js",function(){e.forEach(function(e){var t,a;e.match(/css$/)?(t=e,(a=document.createElement("link")).href=t,a.rel="stylesheet",n.appendChild(a)):s(e)})}),(t=document.createElement("meta")).name="viewport",t.content="width=device-width, initial-scale=1",n.appendChild(t)}();</script><!--

+ 1 - 1
examples/apache-directory-list/header.html

@@ -1 +1 @@
-<script type="text/javascript">!function(){var a=document.getElementsByTagName("head")[0],n=function(t,e){var s=document.createElement("script");s.src=t,s.type="text/javascript",e&&(s.onload=e),a.appendChild(s)};n("https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js",function(){["https://cdn.rawgit.com/noelboss/featherlight/1.7.1/release/featherlight.min.js","https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?autorun=false","https://cdn.rawgit.com/notifyjs/notifyjs/master/dist/notify.js","https://cdn.rawgit.com/noelboss/featherlight/1.7.1/release/featherlight.min.css","https://cdn.rawgit.com/dom111/webdav-js/master/assets/css/style-min.css","https://cdn.rawgit.com/dom111/webdav-js/master/src/webdav-min.js"].forEach(function(t){var e,s;t.match(/css$/)?(e=t,(s=document.createElement("link")).href=e,s.rel="stylesheet",a.appendChild(s)):n(t)})})}()</script><!--
+<script type="text/javascript">!function(){var t;t=["https://cdn.rawgit.com/noelboss/featherlight/1.7.1/release/featherlight.min.js","https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?autorun=false","https://cdn.rawgit.com/notifyjs/notifyjs/master/dist/notify.js","https://cdn.rawgit.com/noelboss/featherlight/1.7.1/release/featherlight.min.css","https://cdn.rawgit.com/dom111/webdav-js/master/assets/css/style-min.css","https://cdn.rawgit.com/dom111/webdav-js/master/src/webdav-min.js"];var e,s=document.getElementsByTagName("head")[0],n=function(t,e){var a=document.createElement("script");a.src=t,a.type="text/javascript",e&&(a.onload=e),s.appendChild(a)};n("https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js",function(){t.forEach(function(t){var e,a;t.match(/css$/)?(e=t,(a=document.createElement("link")).href=e,a.rel="stylesheet",s.appendChild(a)):n(t)})}),(e=document.createElement("meta")).name="viewport",e.content="width=device-width, initial-scale=1",s.appendChild(e)}();</script><!--

+ 1 - 1
examples/bookmarklet/source-min.js

@@ -1 +1 @@
-javascript:!function(){var a=document.getElementsByTagName("head")[0],n=function(t,e){var s=document.createElement("script");s.src=t,s.type="text/javascript",e&&(s.onload=e),a.appendChild(s)};n("https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js",function(){["https://cdn.rawgit.com/noelboss/featherlight/1.7.1/release/featherlight.min.js","https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?autorun=false","https://cdn.rawgit.com/notifyjs/notifyjs/master/dist/notify.js","https://cdn.rawgit.com/noelboss/featherlight/1.7.1/release/featherlight.min.css","https://cdn.rawgit.com/dom111/webdav-js/master/assets/css/style-min.css","https://cdn.rawgit.com/dom111/webdav-js/master/src/webdav-min.js"].forEach(function(t){var e,s;t.match(/css$/)?(e=t,(s=document.createElement("link")).href=e,s.rel="stylesheet",a.appendChild(s)):n(t)})})}();
+javascript:!function(){var t;t=["https://cdn.rawgit.com/noelboss/featherlight/1.7.1/release/featherlight.min.js","https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?autorun=false","https://cdn.rawgit.com/notifyjs/notifyjs/master/dist/notify.js","https://cdn.rawgit.com/noelboss/featherlight/1.7.1/release/featherlight.min.css","https://cdn.rawgit.com/dom111/webdav-js/master/assets/css/style-min.css","https://cdn.rawgit.com/dom111/webdav-js/master/src/webdav-min.js"];var e,s=document.getElementsByTagName("head")[0],n=function(t,e){var a=document.createElement("script");a.src=t,a.type="text/javascript",e&&(a.onload=e),s.appendChild(a)};n("https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js",function(){t.forEach(function(t){var e,a;t.match(/css$/)?(e=t,(a=document.createElement("link")).href=e,a.rel="stylesheet",s.appendChild(a)):n(t)})}),(e=document.createElement("meta")).name="viewport",e.content="width=device-width, initial-scale=1",s.appendChild(e)}();

+ 0 - 26
examples/bookmarklet/source.js

@@ -1,26 +0,0 @@
-javascript:(function() {
-    var head = document.getElementsByTagName('head')[0],
-    _createScript = function(path, onload) {
-        var element = document.createElement('script');
-        element.src = path;
-        element.type = 'text/javascript';
-
-        if (onload) {
-            element.onload = onload;
-        }
-
-        head.appendChild(element);
-    },
-    _createStyle = function(path) {
-        var element = document.createElement('link');
-        element.href = path;
-        element.rel = 'stylesheet';
-        head.appendChild(element);
-    };
-
-    _createScript('https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js', function() {
-        ['https://cdn.rawgit.com/noelboss/featherlight/1.7.1/release/featherlight.min.js', 'https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?autorun=false', 'https://cdn.rawgit.com/notifyjs/notifyjs/master/dist/notify.js', 'https://cdn.rawgit.com/noelboss/featherlight/1.7.1/release/featherlight.min.css', 'https://cdn.rawgit.com/dom111/webdav-js/master/assets/css/style-min.css', 'https://cdn.rawgit.com/dom111/webdav-js/master/src/webdav-min.js'].forEach(function(file) {
-            file.match(/css$/) ? _createStyle(file) : _createScript(file);
-        });
-    });
-})();

+ 18 - 0
package.json

@@ -0,0 +1,18 @@
+{
+  "scripts": {
+    "build:pp": "preprocess ./src/source-pp.js > ./tmp/source-local.js && preprocess ./src/source-pp.js -CDN=true > ./tmp/source-cdn.js",
+    "build:uglify-tmp": "uglifyjs ./tmp/source-local.js -o ./tmp/source-local-min.js -c -m -e && uglifyjs ./tmp/source-cdn.js -o ./tmp/source-cdn-min.js -c -m -e",
+    "build:uglify-app": "uglifyjs ./src/webdav.js -o ./src/webdav-min.js -c -m -e",
+    "build:bookmarklet": "echo -n 'javascript:' > ./examples/bookmarklet/source-min.js && cat ./tmp/source-cdn-min.js >> ./examples/bookmarklet/source-min.js",
+    "build:apache-cdn": "OUT=./examples/apache-directory-list/header.html; echo -n '<script type=\"text/javascript\">' > $OUT && cat ./tmp/source-cdn-min.js >> $OUT && echo -n '</script><!--' >> $OUT",
+    "build:apache-local": "OUT=./examples/apache-directory-list-local/header.html; echo -n '<script type=\"text/javascript\">' > $OUT && cat ./tmp/source-local-min.js >> $OUT && echo -n '</script><!--' >> $OUT",
+    "build:cleancss": "cleancss -o ./assets/css/style-min.css ./assets/css/style.css",
+    "build": "npm run build:cleancss && npm run build:uglify-app && npm run build:pp && npm run build:uglify-tmp && npm run build:bookmarklet && npm run build:apache-cdn && npm run build:apache-local"
+  },
+  "devDependencies": {
+    "clean-css": "4.2.1",
+    "clean-css-cli": "4.2.1",
+    "preprocessor": "1.4.0",
+    "uglify-js": "3.4.9"
+  }
+}

+ 56 - 0
src/source-pp.js

@@ -0,0 +1,56 @@
+var url_jquery, url_after
+// see https://www.npmjs.com/package/preprocessor for more information
+//
+// #ifdef CDN
+url_jquery = 'https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js';
+url_after = [
+    'https://cdn.rawgit.com/noelboss/featherlight/1.7.1/release/featherlight.min.js',
+    'https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?autorun=false',
+    'https://cdn.rawgit.com/notifyjs/notifyjs/master/dist/notify.js',
+    'https://cdn.rawgit.com/noelboss/featherlight/1.7.1/release/featherlight.min.css',
+    'https://cdn.rawgit.com/dom111/webdav-js/master/assets/css/style-min.css',
+    'https://cdn.rawgit.com/dom111/webdav-js/master/src/webdav-min.js'
+];
+// #else
+url_jquery = '/webdav-js/external/jquery.min.js';
+url_after = [
+    '/webdav-js/external/featherlight.min.js',
+    '/webdav-js/external/run_prettify.js',
+    '/webdav-js/external/notify.js',
+    '/webdav-js/external/featherlight.min.css',
+    '/webdav-js/assets/css/style-min.css',
+    '/webdav-js/src/webdav-min.js'
+];
+// #endif
+
+var head = document.getElementsByTagName('head')[0],
+_createScript = function(path, onload) {
+    var element = document.createElement('script');
+    element.src = path;
+    element.type = 'text/javascript';
+
+    if (onload) {
+        element.onload = onload;
+    }
+
+    head.appendChild(element);
+},
+_createStyle = function(path) {
+    var element = document.createElement('link');
+    element.href = path;
+    element.rel = 'stylesheet';
+    head.appendChild(element);
+},
+_createViewPort = function() {
+  var element = document.createElement('meta');
+  element.name = "viewport";
+  element.content = "width=device-width, initial-scale=1";
+  head.appendChild(element);
+};
+
+_createScript(url_jquery, function() {
+    url_after.forEach(function(file) {
+        file.match(/css$/) ? _createStyle(file) : _createScript(file);
+    });
+});
+_createViewPort();

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
src/webdav-min.js


+ 0 - 0
tmp/.gitkeep


Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно