Calculate the similarity between posts by tf-idf and Cosine similarity.
npm install gatsby-remark-related-posts
Calculate the similarity between posts by tf-idf and Cosine similarity.
npm i --save gatsby-remark-related-posts
- with Markdown: gatsby-remark-related-posts-example
- with Mdx: gatsby-remark-related-posts-example-mdx
- with Strapi: gatsby-remark-related-posts-example-strapi
``javascriptgatsby-remark-related-posts
// In your gatsby-config.js
plugins: [
// ... other plugins
,`
// ... other plugins
];
or
`javascript`
// In your gatsby-config.js
plugins: [
// ... other plugins
{
resolve: 'gatsby-remark-related-posts',
options: {
doc_lang: 'en', // optional
target_node: 'MarkdownRemark', // optional
getMarkdown: (node) => node.rawMarkdownBody, // optional
each_bow_size: 30, // optional
},
},
// ... other plugins
];
| option | type | description |
| :-------------- | :----------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- |
| doc_lang | "en" \| "ja" (default: "en") | ISO 639-1 language code of your post. |target_node
| | "MarkdownRemark" \| "Mdx" \| "StrapiArticle" (default: "MarkdownRemark") | Gatsby node name to calculate similarity. |getMarkdown
| | Function: (node) => string (default: (node) => node.rawMarkdownBody) | Function to get Markdown text from Gatsby node. |each_bow_size
| | number (default: 30) | Adjust the size of the Bow vector. If you encounter problems during build, set it to a small value. |
`javascript
// query
{
relatedMarkdownRemarks(parent: {id: {eq: $markdownRemarksId}}) {
posts {
frontmatter {
title
}
fields {
slug
}
}
}
};`
`javascript`
// result
{
"data": {
"relatedMarkdownRemarks": {
"posts": [
{
"frontmatter": {
"title": "English language"
},
"fields": {
"slug": "/11/"
}
},
{
"frontmatter": {
"title": "Japanese language"
},
"fields": {
"slug": "/12/"
}
},
{
"frontmatter": {
"title": "Spanish language"
},
"fields": {
"slug": "/13/"
}
},
// ...
]
}
},
}
posts is array of MarkdownRemark ordered by related to $markdownRemarksId`.
MIT