diff --git a/dist/main.css b/dist/main.css
index bd59564..08d666c 100644
Binary files a/dist/main.css and b/dist/main.css differ
diff --git a/dist/main.js b/dist/main.js
index 3870557..d3366d0 100644
Binary files a/dist/main.js and b/dist/main.js differ
diff --git a/dist/view.js b/dist/view.js
index 293a8e7..5cfaba9 100644
Binary files a/dist/view.js and b/dist/view.js differ
diff --git a/src/gulpfile.js b/src/gulpfile.js
index 694f9d0..cd70b80 100644
--- a/src/gulpfile.js
+++ b/src/gulpfile.js
@@ -16,15 +16,12 @@ var catchError = function(err) {
paths.view = {
js: [
'../src/scripts/_gup.js',
+ '../src/scripts/build.js',
'../src/scripts/view/main.js'
],
- coffee: [
- '../src/scripts/build.coffee'
- ],
scripts: [
'bower_components/jQuery/dist/jquery.min.js',
- '../dist/_view--javascript.js',
- '../dist/_view--coffee.js'
+ '../dist/_view--javascript.js'
]
}
@@ -41,20 +38,7 @@ gulp.task('view--js', function() {
});
-gulp.task('view--coffee', function() {
-
- var stream =
- gulp.src(paths.view.coffee)
- .pipe(plugins.coffee({bare: true}))
- .on('error', catchError)
- .pipe(plugins.concat('_view--coffee.js', {newLine: "\n"}))
- .pipe(gulp.dest('../dist/'));
-
- return stream;
-
-});
-
-gulp.task('view--scripts', ['view--js', 'view--coffee'], function() {
+gulp.task('view--scripts', ['view--js'], function() {
var stream =
gulp.src(paths.view.scripts)
@@ -73,9 +57,6 @@ paths.main = {
js: [
'../src/scripts/*.js'
],
- coffee: [
- '../src/scripts/*.coffee'
- ],
scripts: [
'bower_components/jQuery/dist/jquery.min.js',
'bower_components/js-md5/js/md5.min.js',
@@ -83,8 +64,7 @@ paths.main = {
'bower_components/mousetrap/plugins/global-bind/mousetrap-global-bind.min.js',
'bower_components/basicContext/dist/basicContext.min.js',
'bower_components/basicModal/dist/basicModal.min.js',
- '../dist/_main--javascript.js',
- '../dist/_main--coffee.js'
+ '../dist/_main--javascript.js'
],
scss: [
'../src/styles/*.scss'
@@ -109,20 +89,7 @@ gulp.task('main--js', function() {
});
-gulp.task('main--coffee', function() {
-
- var stream =
- gulp.src(paths.main.coffee)
- .pipe(plugins.coffee({bare: true}))
- .on('error', catchError)
- .pipe(plugins.concat('_main--coffee.js', {newLine: "\n"}))
- .pipe(gulp.dest('../dist/'));
-
- return stream;
-
-});
-
-gulp.task('main--scripts', ['main--js', 'main--coffee'], function() {
+gulp.task('main--scripts', ['main--js'], function() {
var stream =
gulp.src(paths.main.scripts)
@@ -174,10 +141,8 @@ gulp.task('default', ['view--scripts', 'main--scripts', 'main--styles'], functio
gulp.task('watch', ['default'], function() {
gulp.watch(paths.view.js, ['view--scripts']);
- gulp.watch(paths.view.coffee, ['view--scripts']);
gulp.watch(paths.main.js, ['main--scripts']);
- gulp.watch(paths.main.coffee, ['main--scripts']);
gulp.watch(paths.main.scss, ['main--styles']);
});
\ No newline at end of file
diff --git a/src/package.json b/src/package.json
index 774efd8..f74c5de 100644
--- a/src/package.json
+++ b/src/package.json
@@ -13,7 +13,6 @@
"gulp": "^3.8.10",
"gulp-6to5": "^3.0.0",
"gulp-autoprefixer": "2.1.0",
- "gulp-coffee": "^2.2.0",
"gulp-concat": "^2.4.3",
"gulp-load-plugins": "^0.8.0",
"gulp-minify-css": "^0.4.3",
diff --git a/src/scripts/build.coffee b/src/scripts/build.coffee
deleted file mode 100644
index 4bc37db..0000000
--- a/src/scripts/build.coffee
+++ /dev/null
@@ -1,370 +0,0 @@
-###
-# @description This module is used to generate HTML-Code.
-# @copyright 2014 by Tobias Reich
-###
-
-window.build = {}
-
-build.iconic = (icon, classes, path) ->
-
- path = path || 'src/images/iconic.svg'
- classes = classes || ''
-
- " "
-
-build.divider = (title) ->
-
- "
#{ title } "
-
-build.editIcon = (id) ->
-
- "#{ build.iconic('pencil') }
"
-
-build.multiselect = (top, left) ->
-
- "
"
-
-build.album = (data) ->
-
- return '' if not data?
-
- title = data.title
- longTitle = ''
- typeThumb = ''
-
- if title? and title.length > 18
-
- title = data.title.substr(0, 18) + '...'
- longTitle = data.title
-
- if data.thumb0.split('.').pop() is 'svg' then typeThumb = 'nonretina'
-
- html = """
- "
-
- return html
-
-build.photo = (data) ->
-
- return '' if not data?
-
- title = data.title
- longTitle = ''
-
- if title? and title.length > 18
-
- title = data.title.substr(0, 18) + '...'
- longTitle = data.title
-
- html = """
- "
-
- return html
-
-build.imageview = (data, size, visibleControls) ->
-
- return '' if not data?
-
- html = """
-
-
- """
-
- if size is 'big'
-
- if visibleControls is true
- html += "
"
- else
- html += "
"
-
- else if size is 'medium'
-
- if visibleControls is true
- html += "
"
- else
- html += "
"
-
- else if size is 'small'
-
- if visibleControls is true
- html += "
"
- else
- html += "
"
-
- return html
-
-build.no_content = (typ) ->
-
- html = """
-
-
- """
-
- switch typ
- when 'search' then html += "
No results
"
- when 'share' then html += "
No public albums
"
- when 'cog' then html += "
No configuration
"
-
- html += "
"
-
- return html
-
-build.uploadModal = (title, files) ->
-
- html = """
- #{ title }
-
- """
-
- i = 0
- file = null
-
- while i < files.length
-
- file = files[i]
-
- if file.name.length > 40
- file.name = file.name.substr(0, 17) + '...' + file.name.substr(file.name.length-20, 20)
-
- html += """
-
- """
-
- i++
-
- html += """
-
- """
-
- return html
-
-build.tags = (tags, forView) ->
-
- html = ''
-
- if forView is true or lychee.publicMode is true then editTagsHTML = ''
- else editTagsHTML = ' ' + build.editIcon('edit_tags')
-
- if tags isnt ''
-
- tags = tags.split ','
-
- tags.forEach (tag, index, array) ->
- html += "#{ tag } "
-
- html += editTagsHTML
-
- else
-
- html = "No Tags#{ editTagsHTML }
"
-
- return html
-
-build.infoboxPhoto = (data, forView) ->
-
- html = ""
-
- switch data.public
- when '0' then visible = 'No'
- when '1' then visible = 'Yes'
- when '2' then visible = 'Yes (Album)'
- else visible = '-'
-
- if forView is true or lychee.publicMode is true then editTitleHTML = ''
- else editTitleHTML = ' ' + build.editIcon('edit_title')
-
- if forView is true or lychee.publicMode is true then editDescriptionHTML = ''
- else editDescriptionHTML = ' ' + build.editIcon('edit_description')
-
- infos = [
- ['', 'Basics']
- ['Title', data.title + editTitleHTML]
- ['Uploaded', data.sysdate]
- ['Description', data.description + editDescriptionHTML]
- ['', 'Image']
- ['Size', data.size]
- ['Format', data.type]
- ['Resolution', data.width + ' x ' + data.height]
- ['Tags', build.tags(data.tags, forView)]
- ]
-
- exifHash = data.takestamp+data.make+data.model+data.shutter+data.aperture+data.focal+data.iso
-
- if exifHash isnt '0' or exifHash isnt '0'
-
- infos = infos.concat [
- ['', 'Camera']
- ['Captured', data.takedate]
- ['Make', data.make]
- ['Type/Model', data.model]
- ['Shutter Speed', data.shutter]
- ['Aperture', data.aperture]
- ['Focal Length', data.focal]
- ['ISO', data.iso]
- ]
-
- infos = infos.concat [
- ['', 'Share']
- ['Public', visible]
- ]
-
- infos.forEach (info, i, items) ->
-
- if info[1] is '' or
- not info[1]?
-
- info[1] = '-'
-
- switch info[0]
-
- when ''
-
- # Divider
- html += """
-
-
#{ info[1] }
-
- """
-
- when 'Tags'
-
- # Tags
- if forView isnt true and lychee.publicMode is false
-
- html += """
-
-
#{ info[0] }
- #{ info[1] }
- """
-
- else
-
- # Item
- html += """
-
- #{ info[0] }
- #{ info[1] }
-
- """
-
- html += """
-
-
- """
-
- return html
-
-build.infoboxAlbum = (data, forView) ->
-
- html = ""
-
- switch data.public
- when '0' then visible = 'No'
- when '1' then visible = 'Yes'
- else visible = '-'
-
- switch data.password
- when false then password = 'No'
- when true then password = 'Yes'
- else password = '-'
-
- switch data.downloadable
- when '0' then downloadable = 'No'
- when '1' then downloadable = 'Yes'
- else downloadable = '-'
-
- if forView is true or lychee.publicMode is true then editTitleHTML = ''
- else editTitleHTML = ' ' + build.editIcon('edit_title_album')
-
- if forView is true or lychee.publicMode is true then editDescriptionHTML = ''
- else editDescriptionHTML = ' ' + build.editIcon('edit_description_album')
-
- infos = [
- ['', 'Basics']
- ['Title', data.title + editTitleHTML]
- ['Description', data.description + editDescriptionHTML]
- ['', 'Album']
- ['Created', data.sysdate]
- ['Images', data.num]
- ['', 'Share']
- ['Public', visible]
- ['Downloadable', downloadable]
- ['Password', password]
- ]
-
- infos.forEach (info, i, items) ->
-
- if info[0] is ''
-
- # Divider
- html += """
-
-
#{ info[1] }
-
- """
-
- else
-
- # Item
- html += """
-
- #{ info[0] }
- #{ info[1] }
-
- """
-
- html += """
-
-
- """
-
- return html
\ No newline at end of file
diff --git a/src/scripts/build.js b/src/scripts/build.js
new file mode 100644
index 0000000..6fa9c45
--- /dev/null
+++ b/src/scripts/build.js
@@ -0,0 +1,505 @@
+/**
+ * @description This module is used to generate HTML-Code.
+ * @copyright 2014 by Tobias Reich
+ */
+
+window.build = {}
+
+build.iconic = function(icon, classes, path) {
+
+ var html = '';
+
+ path = path || 'src/images/iconic.svg';
+ classes = classes || '';
+
+ html = `
+
+
+
+ `
+
+ return html;
+
+}
+
+build.divider = function(title) {
+
+ var html = '';
+
+ html = `
+
+
${ title }
+
+ `
+
+ return html;
+
+}
+
+build.editIcon = function(id) {
+
+ var html = '';
+
+ html = `${ build.iconic('pencil') }
`
+
+ return html;
+
+}
+
+build.multiselect = function(top, left) {
+
+ var html = '';
+
+ html = `
`
+
+ return html;
+
+}
+
+build.album = function(data) {
+
+ if (data===null||data===undefined) return '';
+
+ var html = '',
+ title = data.title,
+ longTitle = '',
+ typeThumb = '';
+
+ if (title!==null&&title.length>18) {
+
+ title = data.title.substr(0, 18) + '...';
+ longTitle = data.title;
+
+ }
+
+ if (data.thumb0.split('.').pop()==='svg') typeThumb = 'nonretina';
+
+ html = `
+ '
+
+ return html;
+
+}
+
+build.photo = function(data) {
+
+ if (data===null||data===undefined) return '';
+
+ var html = '',
+ title = data.title,
+ longTitle = '';
+
+ if (title!==null&&title.length>18) {
+
+ title = data.title.substr(0, 18) + '...';
+ longTitle = data.title;
+
+ }
+
+ html = `
+ ';
+
+ return html
+
+}
+
+build.imageview = function(data, size, visibleControls) {
+
+ if (data===null||data===undefined) return '';
+
+ var html = '';
+
+ html = `
+
+
+ `
+
+ if (size==='big') {
+
+ if (visibleControls===true)
+ html += `
`;
+ else
+ html += `
`;
+
+ } else if (size==='medium') {
+
+ if (visibleControls===true)
+ html += `
`;
+ else
+ html += `
`;
+
+ } else if (size==='small') {
+
+ if (visibleControls===true)
+ html += `
`;
+ else
+ html += `
`;
+
+ }
+
+ return html;
+
+}
+
+build.no_content = function(typ) {
+
+ var html;
+
+ html = `
+
+
+ `
+
+ switch (typ) {
+ case 'search': html += '
No results
';
+ break;
+ case 'share': html += '
No public albums
';
+ break;
+ case 'cog': html += '
No configuration
';
+ break;
+ }
+
+ html += '
';
+
+ return html;
+
+}
+
+build.uploadModal = function(title, files) {
+
+ var html = '',
+ i = 0,
+ file = null;
+
+ html = `
+ ${ title }
+
+ `
+
+ while (i
40) file.name = file.name.substr(0, 17) + '...' + file.name.substr(file.name.length-20, 20);
+
+ html += `
+
+ `
+
+ i++;
+
+ }
+
+ html += ' ';
+
+ return html;
+
+}
+
+build.tags = function(tags, forView) {
+
+ var html = '',
+ editTagsHTML = '';
+
+ if (forView!==true&&lychee.publicMode!==true) editTagsHTML = ' ' + build.editIcon('edit_tags');
+
+ if (tags!=='') {
+
+ tags = tags.split(',');
+
+ tags.forEach(function(tag, index, array) {
+ html += `${ tag } `
+ });
+
+ html += editTagsHTML;
+
+ } else {
+
+ html = `No Tags${ editTagsHTML }
`;
+
+ }
+
+ return html;
+
+}
+
+build.infoboxPhoto = function(data, forView) {
+
+ var html = '',
+ visible = '',
+ editTitleHTML = '',
+ editDescriptionHTML = '',
+ exifHash = '',
+ info = [];
+
+ switch (data.public) {
+
+ case '0': visible = 'No';
+ break;
+ case '1': visible = 'Yes';
+ break;
+ case '2': visible = 'Yes (Album)';
+ break;
+ default: visible = '-';
+ break;
+
+ }
+
+ if (forView!==true&&lychee.publicMode!==true) {
+ editTitleHTML = ' ' + build.editIcon('edit_title');
+ editDescriptionHTML = ' ' + build.editIcon('edit_description');
+ }
+
+ infos = [
+ ['', 'Basics'],
+ ['Title', data.title + editTitleHTML],
+ ['Uploaded', data.sysdate],
+ ['Description', data.description + editDescriptionHTML],
+ ['', 'Image'],
+ ['Size', data.size],
+ ['Format', data.type],
+ ['Resolution', data.width + ' x ' + data.height],
+ ['Tags', build.tags(data.tags, forView)]
+ ]
+
+ exifHash = data.takestamp+data.make+data.model+data.shutter+data.aperture+data.focal+data.iso;
+
+ if (exifHash!=='0') {
+
+ infos = infos.concat([
+ ['', 'Camera'],
+ ['Captured', data.takedate],
+ ['Make', data.make],
+ ['Type/Model', data.model],
+ ['Shutter Speed', data.shutter],
+ ['Aperture', data.aperture],
+ ['Focal Length', data.focal],
+ ['ISO', data.iso]
+ ]);
+
+ }
+
+ infos = infos.concat([
+ ['', 'Share'],
+ ['Public', visible]
+ ]);
+
+ infos.forEach(function(info, i, items) {
+
+ if (info[1]===''||info[1]===null||info[1]===undefined) info[1] = '-';
+
+ switch (info[0]) {
+
+ case '':
+
+ // Divider
+ html += `
+
+
+
${ info[1] }
+
+
+ `
+
+ break;
+
+ case 'Tags':
+
+ // Tags
+ if (forView!==true&&lychee.publicMode===false) {
+
+ html += `
+
+
+
${ info[0] }
+
+ ${ info[1] }
+ `
+
+ }
+
+ break;
+
+ default:
+
+ // Item
+ html += `
+
+ ${ info[0] }
+ ${ info[1] }
+
+ `
+
+ break;
+
+ }
+
+
+ });
+
+ html += `
+
+
+ `
+
+ return html;
+
+}
+
+build.infoboxAlbum = function(data, forView) {
+
+ var html = '',
+ visible = '',
+ password = '',
+ downloadable = '',
+ editTitleHTML = '',
+ editDescriptionHTML = '',
+ infos = [];
+
+ switch (data.public) {
+
+ case '0': visible = 'No';
+ break;
+ case '1': visible = 'Yes';
+ break;
+ default: visible = '-';
+ break;
+
+ }
+
+ switch (data.password) {
+
+ case false: password = 'No';
+ break;
+ case true: password = 'Yes';
+ break;
+ default: password = '-';
+ break;
+
+ }
+
+ switch (data.downloadable) {
+
+ case '0': downloadable = 'No';
+ break;
+ case '1': downloadable = 'Yes';
+ break;
+ default: downloadable = '-';
+ break;
+
+ }
+
+ if (forView!==true&&lychee.publicMode!==true) {
+ editTitleHTML = ' ' + build.editIcon('edit_title_album');
+ editDescriptionHTML = ' ' + build.editIcon('edit_description_album');
+ }
+
+ infos = [
+ ['', 'Basics'],
+ ['Title', data.title + editTitleHTML],
+ ['Description', data.description + editDescriptionHTML],
+ ['', 'Album'],
+ ['Created', data.sysdate],
+ ['Images', data.num],
+ ['', 'Share'],
+ ['Public', visible],
+ ['Downloadable', downloadable],
+ ['Password', password]
+ ]
+
+ infos.forEach(function(info, i, items) {
+
+ if (info[0]==='') {
+
+ // Divider
+ html += `
+
+
+
${ info[1] }
+
+
+ `
+
+ } else {
+
+ // Item
+ html += `
+
+ ${ info[0] }
+ ${ info[1] }
+
+ `
+
+ }
+
+ });
+
+ html += `
+
+
+ `
+
+ return html;
+
+}
\ No newline at end of file