Browse Source

Added npm, bower and grunt to compile files

Tobias Reich 10 years ago
parent
commit
ee2630b93a

+ 2 - 1
.gitignore

@@ -1,4 +1,5 @@
-*.esproj
+build/node_modules/
+build/bower_components/
 
 php/config.php
 data/config.php

File diff suppressed because it is too large
+ 0 - 0
assets/build/main.css


File diff suppressed because it is too large
+ 0 - 0
assets/build/main.js


File diff suppressed because it is too large
+ 0 - 1
assets/js/_frameworks.js


+ 1 - 1
assets/js/album.js

@@ -276,7 +276,7 @@ album = {
 
 		if ($(".message input.text").length>0&&$(".message input.text").val().length>0) {
 
-			params = "setAlbumPublic&albumID=" + albumID + "&password=" + hex_md5($(".message input.text").val());
+			params = "setAlbumPublic&albumID=" + albumID + "&password=" + md5($(".message input.text").val());
 			album.json.password = true;
 
 		} else {

+ 1 - 1
assets/js/lychee.js

@@ -113,7 +113,7 @@ var lychee = {
 	login: function() {
 
 		var user = $("input#username").val(),
-			password = hex_md5($("input#password").val()),
+			password = md5($("input#password").val()),
 			params;
 
 		params = "login&user=" + user + "&password=" + password;

+ 3 - 3
assets/js/password.js

@@ -22,7 +22,7 @@ password = {
 					view.album.password();
 				}
 
-				params = "setAlbumPassword&albumID=" + albumID + "&password=" + hex_md5($(".message input.text").val());
+				params = "setAlbumPassword&albumID=" + albumID + "&password=" + md5($(".message input.text").val());
 				lychee.api(params, function(data) {
 
 					if (data!==true) lychee.error(null, params, data);
@@ -58,11 +58,11 @@ password = {
 		} else {
 
 			// Check password
-			params = "checkAlbumAccess&albumID=" + albumID + "&password=" + hex_md5(passwd);
+			params = "checkAlbumAccess&albumID=" + albumID + "&password=" + md5(passwd);
 			lychee.api(params, function(data) {
 
 				if (data===true) {
-					password.value = hex_md5(passwd);
+					password.value = md5(passwd);
 					callback();
 				} else {
 					lychee.goto("");

+ 2 - 2
assets/js/search.js

@@ -45,14 +45,14 @@ search = {
 					else if (photosData==="") code = build.divider("Albums")+albumsData;
 					else code = build.divider("Photos")+photosData+build.divider("Albums")+albumsData;
 
-					if (search.code!==hex_md5(code)) {
+					if (search.code!==md5(code)) {
 
 						$(".no_content").remove();
 
 						lychee.animate(".album, .photo", "contentZoomOut");
 						lychee.animate(".divider", "fadeOut");
 
-						search.code = hex_md5(code);
+						search.code = md5(code);
 
 						setTimeout(function() {
 

+ 2 - 2
assets/js/settings.js

@@ -113,7 +113,7 @@ var settings = {
 
 				} else {
 
-					params = "setLogin&username=" + escape(username) + "&password=" + hex_md5(password);
+					params = "setLogin&username=" + escape(username) + "&password=" + md5(password);
 					lychee.api(params, function(data) {
 
 						if (data!==true) {
@@ -173,7 +173,7 @@ var settings = {
 					return false;
 				}
 
-				params = "setLogin&oldPassword=" + hex_md5(old_password) + "&username=" + escape(username) + "&password=" + hex_md5(password);
+				params = "setLogin&oldPassword=" + md5(old_password) + "&username=" + escape(username) + "&password=" + md5(password);
 				lychee.api(params, function(data) {
 
 					if (data!==true) lychee.error(null, params, data);

File diff suppressed because it is too large
+ 1 - 0
assets/min/main.css


File diff suppressed because it is too large
+ 1 - 0
assets/min/main.js


+ 81 - 0
build/Gruntfile.coffee

@@ -0,0 +1,81 @@
+module.exports = (grunt) ->
+
+	grunt.initConfig
+
+		pkg: grunt.file.readJSON 'package.json'
+
+		concat:
+
+			js:
+				options:
+					separator: "\n"
+				src: [
+					'bower_components/jQuery/dist/jquery.min.js'
+					'bower_components/js-md5/js/md5.min.js'
+					'bower_components/mousetrap/mousetrap.min.js'
+					'bower_components/mousetrap/plugins/global-bind/mousetrap-global-bind.min.js'
+					'../assets/js/*.js'
+				]
+				dest: '../assets/min/main.js'
+
+			css:
+				options:
+					separator: "\n"
+				src: [
+					'../assets/css/*.css'
+				]
+				dest: '../assets/min/main.css'
+
+		uglify:
+
+			assets:
+				options:
+					banner: '/*! <%= pkg.name %> <%= pkg.version %> | <%= grunt.template.today("yyyy-mm-dd") %> */\n'
+				files:
+					'../assets/min/main.js': '../assets/min/main.js'
+
+		cssmin:
+
+			assets:
+				options:
+					banner: '/*! <%= pkg.name %> <%= pkg.version %> | <%= grunt.template.today("yyyy-mm-dd") %> */'
+				files:
+					'../assets/min/main.css': '../assets/min/main.css'
+
+		watch:
+
+			js:
+				files: [
+					'../assets/js/*.js'
+				]
+				tasks: ['js']
+				options:
+					spawn: false
+					interrupt: true
+
+			css:
+				files: [
+					'../assets/css/*.css'
+				]
+				tasks: ['css']
+				options:
+					spawn: false
+					interrupt: true
+
+	require('load-grunt-tasks')(grunt)
+
+	grunt.registerTask 'default', ->
+		grunt.task.run [
+			'js'
+			'css'
+		]
+
+	grunt.registerTask 'js', [
+		'concat:js'
+		'uglify:assets'
+	]
+
+	grunt.registerTask 'css', [
+		'concat:css'
+		'cssmin:assets'
+	]

+ 8 - 0
build/bower.json

@@ -0,0 +1,8 @@
+{
+  "name": "Lychee",
+  "dependencies": {
+    "jQuery": "~2.1.0",
+    "js-md5": "~1.1.0",
+    "mousetrap": "~1.4.6"
+  }
+}

+ 21 - 0
build/package.json

@@ -0,0 +1,21 @@
+{
+  "name": "Lychee",
+  "version": "2.1.1",
+  "description": "Self-hosted photo-management done right.",
+  "authors": "Tobias Reich <tobias.reich.ich@gmail.com>",
+  "license": "MIT",
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/electerious/Lychee.git"
+  },
+  "devDependencies": {
+    "grunt": "~0.4.2",
+    "grunt-contrib-uglify": "~0.4.0",
+    "grunt-contrib-concat": "~0.3.0",
+    "grunt-contrib-coffee": "~0.10.1",
+    "grunt-contrib-cssmin": "~0.9.0",
+    "grunt-contrib-clean": "~0.5.0",
+    "grunt-contrib-watch": "~0.6.0",
+    "load-grunt-tasks": "~0.4.0"
+  }
+}

+ 4 - 40
index.html

@@ -9,25 +9,8 @@
 		<meta name="keywords" content="">
 		<meta name="description" content="">
 
-		<!-- Development
-		<link type="text/css" rel="stylesheet" href="assets/css/_reset.css">
-		<link type="text/css" rel="stylesheet" href="assets/css/upload.css">
-		<link type="text/css" rel="stylesheet" href="assets/css/tooltip.css">
-		<link type="text/css" rel="stylesheet" href="assets/css/misc.css">
-		<link type="text/css" rel="stylesheet" href="assets/css/message.css">
-		<link type="text/css" rel="stylesheet" href="assets/css/mediaquery.css">
-		<link type="text/css" rel="stylesheet" href="assets/css/loading.css">
-		<link type="text/css" rel="stylesheet" href="assets/css/infobox.css">
-		<link type="text/css" rel="stylesheet" href="assets/css/imageview.css">
-		<link type="text/css" rel="stylesheet" href="assets/css/header.css">
-		<link type="text/css" rel="stylesheet" href="assets/css/font.css">
-		<link type="text/css" rel="stylesheet" href="assets/css/contextmenu.css">
-		<link type="text/css" rel="stylesheet" href="assets/css/content.css">
-		<link type="text/css" rel="stylesheet" href="assets/css/animations.css">
-		<link type="text/css" rel="stylesheet" href="assets/css/multiselect.css"> -->
-
-		<!-- Production -->
-		<link type="text/css" rel="stylesheet" href="assets/build/main.css">
+		<!-- CSS -->
+		<link type="text/css" rel="stylesheet" href="assets/min/main.css">
 
 		<link rel="shortcut icon" href="favicon.ico">
 		<link rel="apple-touch-icon" href="assets/img/apple-touch-icon-iphone.png" sizes="120x120">
@@ -95,27 +78,8 @@
 		<input id="upload_files" type="file" name="fileElem[]" multiple accept="image/*">
 	</div>
 
-	<!-- Development
-	<script defer type="text/javascript" src="assets/js/_frameworks.js"></script>
-	<script defer type="text/javascript" src="assets/js/init.js"></script>
-	<script defer type="text/javascript" src="assets/js/lychee.js"></script>
-	<script defer type="text/javascript" src="assets/js/build.js"></script>
-	<script defer type="text/javascript" src="assets/js/settings.js"></script>
-	<script defer type="text/javascript" src="assets/js/upload.js"></script>
-	<script defer type="text/javascript" src="assets/js/view.js"></script>
-	<script defer type="text/javascript" src="assets/js/password.js"></script>
-	<script defer type="text/javascript" src="assets/js/modal.js"></script>
-	<script defer type="text/javascript" src="assets/js/album.js"></script>
-	<script defer type="text/javascript" src="assets/js/albums.js"></script>
-	<script defer type="text/javascript" src="assets/js/photo.js"></script>
-	<script defer type="text/javascript" src="assets/js/visible.js"></script>
-	<script defer type="text/javascript" src="assets/js/loadingBar.js"></script>
-	<script defer type="text/javascript" src="assets/js/contextMenu.js"></script>
-	<script defer type="text/javascript" src="assets/js/search.js"></script>
-	<script defer type="text/javascript" src="assets/js/multiselect.js"></script> -->
-
-	<!-- Production -->
-	<script async type="text/javascript" src="assets/build/main.js"></script>
+	<!-- JS -->
+	<script async type="text/javascript" src="assets/min/main.js"></script>
 
 	</body>
 </html>

Some files were not shown because too many files changed in this diff