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, {