fix: jsonld esaping issue if topic title had emoji

This commit is contained in:
Barış Soner Uşaklı 2024-12-13 10:36:15 -05:00
parent b59ee62ac3
commit 91405050ee
2 changed files with 7 additions and 4 deletions

View file

@ -1,5 +1,7 @@
'use strict';

const validator = require.main.require('validator');

const topics = require.main.require('./src/topics');
const posts = require.main.require('./src/posts');
const categories = require.main.require('./src/categories');
@ -136,8 +138,9 @@ async function addMetaData(data) {
const { tid } = data.templateData;
const { uid } = data.req;
const pidsToFetch = [data.templateData.mainPid, await posts.getPidsFromSet(`tid:${tid}:posts:votes`, 0, 0, true)];
let mainPost; let suggestedAnswer; let
acceptedAnswer;
let mainPost;
let suggestedAnswer;
let acceptedAnswer;

if (data.templateData.solvedPid) {
pidsToFetch.push(data.templateData.solvedPid);
@ -160,7 +163,7 @@ async function addMetaData(data) {
data.templateData.suggestedAnswer = suggestedAnswer || {};
}
data.templateData.answerCount = Math.max(0, data.templateData.postcount - 1);

data.templateData.mainPost.title = validator.escape(String(data.templateData.titleRaw));
data.res.locals.postHeader = await data.req.app.renderAsync('partials/question-and-answer/topic-jsonld', data.templateData);
return data;
}

View file

@ -4,7 +4,7 @@
"@type": "QAPage",
"mainEntity": {
"@type": "Question",
"name": "{title}",
"name": "{mainPost.title}",
"text": "{{mainPost.content}}",
"url": "{topicURL}",
"answerCount": {answerCount},