mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-01-08 00:22:51 +01:00
meta.js merge conflict
This commit is contained in:
11
loader.js
11
loader.js
@@ -44,11 +44,18 @@ var nconf = require('nconf'),
|
||||
|
||||
nconf.argv();
|
||||
|
||||
// Start the daemon!
|
||||
if (nconf.get('d')) {
|
||||
// Check for a still-active NodeBB process
|
||||
if (fs.existsSync(pidFilePath)) {
|
||||
console.log('\n Error: Another NodeBB is already running!');
|
||||
process.exit();
|
||||
try {
|
||||
var pid = fs.readFileSync(pidFilePath, { encoding: 'utf-8' });
|
||||
process.kill(pid, 0);
|
||||
console.log('\n Error: Another NodeBB is already running!');
|
||||
process.exit();
|
||||
} catch (e) {
|
||||
fs.unlinkSync(pidFilePath);
|
||||
}
|
||||
}
|
||||
|
||||
// Initialise logging streams
|
||||
|
||||
@@ -127,7 +127,7 @@ define(function() {
|
||||
.append($('<img />').attr('src', results.users[x].picture))
|
||||
.append($('<span />').html(results.users[x].username));
|
||||
|
||||
resultsEl.appendChild(foundUser);
|
||||
resultsEl.append(foundUser);
|
||||
}
|
||||
} else {
|
||||
resultsEl.html('<li>No Users Found</li>');
|
||||
|
||||
@@ -17,8 +17,6 @@ define(function() {
|
||||
return pagination.loadPage(pagination.currentPage - 1);
|
||||
}).on('click', '.next', function() {
|
||||
return pagination.loadPage(pagination.currentPage + 1);
|
||||
}).on('click', '.page', function() {
|
||||
return pagination.loadPage($(this).attr('data-page'));
|
||||
}).on('click', '.select_page', function(e) {
|
||||
e.preventDefault();
|
||||
bootbox.prompt('Enter page number:', function(pageNum) {
|
||||
@@ -77,7 +75,11 @@ define(function() {
|
||||
return false;
|
||||
}
|
||||
|
||||
ajaxify.go(window.location.pathname.slice(1) + '?page=' + page);
|
||||
ajaxify.go(window.location.pathname.slice(1) + '?page=' + page, function() {
|
||||
if (typeof callback === 'function') {
|
||||
callback();
|
||||
}
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -309,7 +309,7 @@ define(['composer', 'forum/pagination'], function(composer, pagination) {
|
||||
var bookmark = localStorage.getItem('topic:' + tid + ':bookmark');
|
||||
if (window.location.hash) {
|
||||
Topic.scrollToPost(window.location.hash.substr(1), true);
|
||||
} else if (bookmark) {
|
||||
} else if (bookmark && (!config.usePagination || (config.usePagination && pagination.currentPage === 1))) {
|
||||
app.alert({
|
||||
alert_id: 'bookmark',
|
||||
message: '[[topic:bookmark_instructions]]',
|
||||
@@ -324,7 +324,9 @@ define(['composer', 'forum/pagination'], function(composer, pagination) {
|
||||
});
|
||||
}
|
||||
|
||||
updateHeader();
|
||||
if (!window.location.hash && !config.usePagination) {
|
||||
updateHeader();
|
||||
}
|
||||
|
||||
$('#post-container').on('mouseenter', '.favourite-tooltip', function(e) {
|
||||
if (!$(this).data('users-loaded')) {
|
||||
@@ -1037,26 +1039,29 @@ define(['composer', 'forum/pagination'], function(composer, pagination) {
|
||||
if(index > Topic.postCount) {
|
||||
index = Topic.postCount;
|
||||
}
|
||||
|
||||
$('#pagination').html(index + ' out of ' + Topic.postCount);
|
||||
$('.progress-bar').width((index / Topic.postCount * 100) + '%');
|
||||
|
||||
if(!parseInt(el.attr('data-index'), 10)) {
|
||||
localStorage.removeItem('topic:' + templates.get('topic_id') + ':bookmark');
|
||||
} else {
|
||||
var currentBookmark = localStorage.getItem('topic:' + templates.get('topic_id') + ':bookmark');
|
||||
if (!currentBookmark || parseInt(el.attr('data-pid'), 10) > parseInt(currentBookmark, 10)) {
|
||||
localStorage.setItem('topic:' + templates.get('topic_id') + ':bookmark', el.attr('data-pid'));
|
||||
}
|
||||
|
||||
if (!scrollingToPost) {
|
||||
var newUrl = window.location.protocol + '//' + window.location.host + window.location.pathname + '#' + el.attr('data-pid')
|
||||
if (newUrl !== currentUrl) {
|
||||
if (history.replaceState) {
|
||||
history.replaceState({
|
||||
url: window.location.pathname.slice(1) + '#' + el.attr('data-pid')
|
||||
}, null, newUrl);
|
||||
}
|
||||
currentUrl = newUrl;
|
||||
if (!scrollingToPost) {
|
||||
|
||||
var newUrl = window.location.href.replace(window.location.hash, '') + '#' + el.attr('data-pid');
|
||||
|
||||
if (newUrl !== currentUrl) {
|
||||
if (history.replaceState) {
|
||||
history.replaceState({
|
||||
url: window.location.pathname.slice(1) + (window.location.search ? window.location.search : '' ) + '#' + el.attr('data-pid')
|
||||
}, null, newUrl);
|
||||
}
|
||||
currentUrl = newUrl;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
});
|
||||
@@ -1090,7 +1095,9 @@ define(['composer', 'forum/pagination'], function(composer, pagination) {
|
||||
return;
|
||||
}
|
||||
if(parseInt(page, 10) !== pagination.currentPage) {
|
||||
pagination.loadPage(page);
|
||||
pagination.loadPage(page, function() {
|
||||
scrollToPid(pid);
|
||||
});
|
||||
} else {
|
||||
scrollToPid(pid);
|
||||
}
|
||||
@@ -1106,6 +1113,7 @@ define(['composer', 'forum/pagination'], function(composer, pagination) {
|
||||
if(after < 0) {
|
||||
after = 0;
|
||||
}
|
||||
|
||||
loadMorePosts(tid, after, function() {
|
||||
scrollToPid(pid);
|
||||
});
|
||||
@@ -1123,6 +1131,7 @@ define(['composer', 'forum/pagination'], function(composer, pagination) {
|
||||
scrollTop: (scrollTo.offset().top - $('#header-menu').height() - offset) + "px"
|
||||
}, duration !== undefined ? duration : 400, function() {
|
||||
scrollingToPost = false;
|
||||
updateHeader();
|
||||
if (highlight) {
|
||||
scrollTo.parent().find('.topic-item').addClass('highlight');
|
||||
setTimeout(function() {
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<!-- BEGIN ips -->
|
||||
{ips.ip}
|
||||
<div>{ips.ip}</div>
|
||||
<!-- END ips -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
42
src/meta.js
42
src/meta.js
@@ -253,6 +253,7 @@ var fs = require('fs'),
|
||||
jsPaths = scripts.map(function (jsPath) {
|
||||
jsPath = path.normalize(jsPath);
|
||||
|
||||
// The filter:scripts.get plugin will be deprecated as of v0.5.0, specify scripts in plugin.json instead
|
||||
if (jsPath.substring(0, 7) === 'plugins') {
|
||||
var matches = _.map(plugins.staticDirs, function(realPath, mappedPath) {
|
||||
if (jsPath.match(mappedPath)) {
|
||||
@@ -263,7 +264,10 @@ var fs = require('fs'),
|
||||
}).filter(function(a) { return a; });
|
||||
|
||||
if (matches.length) {
|
||||
var relPath = jsPath.slice(new String('plugins/' + matches[0]).length);
|
||||
var relPath = jsPath.slice(new String('plugins/' + matches[0]).length),
|
||||
pluginId = matches[0].split(path.sep)[0];
|
||||
|
||||
winston.warn('[meta.scripts.get (' + pluginId + ')] filter:scripts.get is deprecated, consider using "scripts" in plugin.json');
|
||||
return plugins.staticDirs[matches[0]] + relPath;
|
||||
} else {
|
||||
winston.warn('[meta.scripts.get] Could not resolve mapped path: ' + jsPath + '. Are you sure it is defined by a plugin?');
|
||||
@@ -274,31 +278,49 @@ var fs = require('fs'),
|
||||
}
|
||||
});
|
||||
|
||||
// Remove scripts that could not be found (remove this line at v0.5.0)
|
||||
Meta.js.scripts = jsPaths.filter(function(path) {
|
||||
return path !== null;
|
||||
});
|
||||
|
||||
if (process.env.NODE_ENV !== 'development') {
|
||||
callback(null, [
|
||||
Meta.js.minFile
|
||||
]);
|
||||
} else {
|
||||
callback(null, scripts);
|
||||
}
|
||||
// Add plugin scripts
|
||||
Meta.js.scripts = Meta.js.scripts.concat(plugins.clientScripts);
|
||||
|
||||
callback(null, [
|
||||
Meta.js.minFile
|
||||
]);
|
||||
});
|
||||
},
|
||||
minify: function (callback) {
|
||||
var uglifyjs = require('uglify-js'),
|
||||
jsPaths = this.scripts,
|
||||
minified;
|
||||
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
winston.info('Minifying client-side libraries');
|
||||
}
|
||||
|
||||
minified = uglifyjs.minify(jsPaths);
|
||||
minified = uglifyjs.minify(this.scripts);
|
||||
this.cache = minified.code;
|
||||
callback();
|
||||
},
|
||||
concatenate: function(callback) {
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
winston.info('Concatenating client-side libraries into one file');
|
||||
}
|
||||
|
||||
async.map(this.scripts, function(path, next) {
|
||||
fs.readFile(path, { encoding: 'utf-8' }, next);
|
||||
}, function(err, contents) {
|
||||
if (err) {
|
||||
winston.error('[meta.js.concatenate] Could not minify javascript! Error: ' + err.message);
|
||||
process.exit();
|
||||
}
|
||||
|
||||
Meta.js.cache = contents.reduce(function(output, src) {
|
||||
return output.length ? output + ';\n' + src : src;
|
||||
}, '');
|
||||
callback();
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ var fs = require('fs'),
|
||||
Plugins.staticDirs = {};
|
||||
Plugins.cssFiles = [];
|
||||
Plugins.lessFiles = [];
|
||||
Plugins.clientScripts = [];
|
||||
|
||||
Plugins.initialized = false;
|
||||
|
||||
@@ -222,6 +223,20 @@ var fs = require('fs'),
|
||||
}));
|
||||
}
|
||||
|
||||
next();
|
||||
},
|
||||
function(next) {
|
||||
// Client-side scripts
|
||||
if (pluginData.scripts && pluginData.scripts instanceof Array) {
|
||||
if (global.env === 'development') {
|
||||
winston.info('[plugins] Found ' + pluginData.scripts.length + ' js file(s) for plugin ' + pluginData.id);
|
||||
}
|
||||
|
||||
Plugins.clientScripts = Plugins.clientScripts.concat(pluginData.scripts.map(function(file) {
|
||||
return path.join(__dirname, '../node_modules/', pluginData.id, file);
|
||||
}));
|
||||
}
|
||||
|
||||
next();
|
||||
}
|
||||
], function(err) {
|
||||
|
||||
@@ -45,12 +45,22 @@ var path = require('path'),
|
||||
});
|
||||
|
||||
app.get('/nodebb.min.js', function(req, res) {
|
||||
var sendCached = function() {
|
||||
return res.type('text/javascript').send(meta.js.cache);
|
||||
}
|
||||
if (meta.js.cache) {
|
||||
res.type('text/javascript').send(meta.js.cache);
|
||||
sendCached();
|
||||
} else {
|
||||
meta.js.minify(function() {
|
||||
res.type('text/javascript').send(meta.js.cache);
|
||||
});
|
||||
if (app.enabled('minification')) {
|
||||
meta.js.minify(function() {
|
||||
sendCached();
|
||||
});
|
||||
} else {
|
||||
// Compress only
|
||||
meta.js.concatenate(function() {
|
||||
sendCached();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user