fuc-new/doc/node_modules/@vuepress/plugin-seo/lib/node/generateDescription.js
hellcat 6adbc04d4b 1
2025-10-03 17:17:08 +08:00

20 lines
761 B
JavaScript

import { getPageRawExcerpt, getText } from '@vuepress/helper';
export const generateDescription = (app, page, autoDescription = true) => {
// generate description
if (!page.frontmatter.description && autoDescription) {
const rawExcerpt = getPageRawExcerpt(page.content);
const content = rawExcerpt
? (page.data.excerpt ?? page.contentRendered)
: page.contentRendered;
const pageText = getText(content, app.siteData.base, {
length: 180,
singleLine: true,
});
if (pageText.length) {
page.frontmatter.description =
pageText.length > 180 ? `${pageText.slice(0, 177)}...` : pageText;
page.data.autoDesc = true;
}
}
};