fix: 换行符处理 (#3361)

优化部分显示效果,如:一觉醒来世界上又发生哪些值得关注的事情 /kzfeed/topic/zE5QRX1Ok4vw
This commit is contained in:
Henry Wang 2019-10-30 18:42:16 +08:00 committed by DIYgod
parent 6101321705
commit a8da1415af
1 changed files with 33 additions and 34 deletions

View File

@ -73,13 +73,13 @@ module.exports = async (ctx) => {
/**
* @param {Card} cardData
*/
function buildFeedItem(cardData) {
const buildFeedItem = (cardData) => {
const description = `
<p><img src="${cardData.url_cover}" /></p>
<p>${cardData.url_title}${cardData.url_desc ? ` - ${cardData.url_desc}` : ''}</p>
<p style="white-space: pre-line">${serializeCardText(cardData.text)}</p>
${renderImageList(cardData.images)}
<p><a href="https://kz.sync163.com/web/card/${cardData.id}" style="margin-left: 10px">快知中间页</a></p>
<p><img src="${cardData.url_cover}" /></p>
<p>${cardData.url_title}${cardData.url_desc ? ` - ${cardData.url_desc}` : ''}</p>
<p style="white-space: pre-line">${serializeCardText(cardData.text)}</p>
${renderImageList(cardData.images)}
<p><a href="https://kz.sync163.com/web/card/${cardData.id}" style="margin-left: 10px">快知中间页</a></p>
`;
return {
@ -88,36 +88,35 @@ ${renderImageList(cardData.images)}
pubDate: new Date(cardData.created_time * 1000),
link: cardData.url,
};
}
};
const renderImageList = (images) => {
const renderItem = (src) => `
<li style="width: 30%; margin: 0.5rem">
<img style="width: 100%" src="${src}" />
</li>
`;
function renderImageList(images) {
return `
<ul style="
display: flex;
justify-content: space-between;
flex-wrap: wrap;
list-style: none;
margin: 0;
padding: 0;
">
${images.map(renderItem).join('')}
</ul>
`;
<ul style="
display: flex;
justify-content: space-between;
flex-wrap: wrap;
list-style: none;
margin: 0;
padding: 0;
">
${images.map(renderItem).join('')}
</ul>
`;
};
function renderItem(src) {
return `
<li style="width: 30%; margin: 0.5rem">
<img style="width: 100%" src="${src}" />
</li>
`;
}
}
const serializeCardText = (text) =>
text
function serializeCardText(text) {
return transformAnchorTagName(text);
/* 快知的 API 里的 a 标签名字叫做 a-link ,我们要把它改过来 */
.replace(/<a-link/g, '<a')
.replace(/<\/a-link>/g, '</a>')
/* 快知的 API 里的 a 标签名字叫做 a-link ,我们要把它改过来 */
function transformAnchorTagName(text) {
return text.replace(/<a-link/g, '<a').replace(/<\/a-link>/g, '</a>');
}
}
/* 替换换行符 */
.replace(/\n/g, '<br>');