diff --git a/public/templates/admin/settings.tpl b/public/templates/admin/settings.tpl index 7697fc9b39..82fce61327 100644 --- a/public/templates/admin/settings.tpl +++ b/public/templates/admin/settings.tpl @@ -5,7 +5,9 @@
- + + +
diff --git a/public/templates/topic.tpl b/public/templates/topic.tpl index 5c3f1fb397..93f04aa4f1 100644 --- a/public/templates/topic.tpl +++ b/public/templates/topic.tpl @@ -48,8 +48,8 @@
- +
diff --git a/src/webserver.js b/src/webserver.js index e4fe86b413..1e581c150c 100644 --- a/src/webserver.js +++ b/src/webserver.js @@ -34,7 +34,8 @@ var express = require('express'), var defaultMetaTags = [ { name: 'viewport', content: 'width=device-width, initial-scale=1.0' }, { name: 'content-type', content: 'text/html; charset=UTF-8' }, - { name: 'apple-mobile-web-app-capable', content: 'yes' } + { name: 'apple-mobile-web-app-capable', content: 'yes' }, + { property: 'og:site_name', content: global.config.title || 'NodeBB' }, ], metaString = utils.buildMetaTags(defaultMetaTags.concat(options.metaTags || [])), templateValues = { @@ -175,7 +176,16 @@ var express = require('express'), app.get('/', function(req, res) { async.parallel({ "header": function(next) { - app.build_header({ req: req, res: res }, next); + app.build_header({ + req: req, + res: res, + metaTags: [ + { name: "title", content: global.config.title || 'NodeBB' }, + { name: "description", content: global.config.description || '' }, + { property: 'og:title', content: 'Index | ' + (global.config.title || 'NodeBB') }, + { property: "og:type", content: 'website' } + ] + }, next); }, "categories": function(next) { categories.getAllCategories(function(returnData) { @@ -214,12 +224,27 @@ var express = require('express'), }); }, function(topicData, next) { + var posts = topicData.posts.push(topicData.main_posts[0]), + lastMod = 0, + timestamp; + for(var x=0,numPosts=topicData.posts.length;x lastMod) lastMod = timestamp; + } + app.build_header({ req: req, res: res, title: topicData.topic_name, metaTags: [ - { name: "title", content: topicData.topic_name } + { name: "title", content: topicData.topic_name }, + { property: 'og:title', content: topicData.topic_name + ' | ' + (global.config.title || 'NodeBB') }, + { property: "og:type", content: 'article' }, + { property: "og:url", content: global.nconf.get('url') + 'topic/' + topicData.slug }, + { property: 'og:image', content: topicData.main_posts[0].picture }, + { property: "article:published_time", content: new Date(parseInt(topicData.main_posts[0].timestamp, 10)).toISOString() }, + { property: 'article:modified_time', content: new Date(lastMod).toISOString() }, + { property: 'article:section', content: topicData.category_name } ] }, function(err, header) { next(err, { @@ -269,7 +294,8 @@ var express = require('express'), title: categoryData.category_name, metaTags: [ { name: 'title', content: categoryData.category_name }, - { name: 'description', content: categoryData.category_description } + { name: 'description', content: categoryData.category_description }, + { property: "og:type", content: 'website' } ] }, function(err, header) { next(err, {