Revert "Feat: Add tag similarity logic to main knowledge graph"
This reverts commit ccc74b9490
.
This commit is contained in:
parent
ccc74b9490
commit
dba0eac3e4
|
@ -11,9 +11,6 @@ tags:
|
||||||
- ci-cd
|
- ci-cd
|
||||||
- automation
|
- automation
|
||||||
readTime: 10 min read
|
readTime: 10 min read
|
||||||
related_posts:
|
|
||||||
- k3s-cluster
|
|
||||||
- gitea-self-hosted-git
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# GitOps with Flux CD
|
# GitOps with Flux CD
|
||||||
|
|
|
@ -63,9 +63,7 @@ const graphData = {
|
||||||
edges: []
|
edges: []
|
||||||
};
|
};
|
||||||
|
|
||||||
// Create edges between posts and their tags, and between related posts
|
// Create edges between posts and their tags
|
||||||
const processedPostPairs = new Set(); // Keep track of processed pairs to avoid duplicate edges
|
|
||||||
|
|
||||||
sortedPosts
|
sortedPosts
|
||||||
.filter(post => !post.data.draft)
|
.filter(post => !post.data.draft)
|
||||||
.forEach(post => {
|
.forEach(post => {
|
||||||
|
@ -80,59 +78,22 @@ sortedPosts
|
||||||
strength: 1
|
strength: 1
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// --- Combined Related Posts Logic ---
|
// Check if post references other posts (optional)
|
||||||
let explicitRelatedSlugs = new Set(post.data.related_posts || []);
|
// This requires a related_posts field in frontmatter
|
||||||
let relatedPostsForGraph = [];
|
if (post.data.related_posts && Array.isArray(post.data.related_posts)) {
|
||||||
|
post.data.related_posts.forEach(relatedSlug => {
|
||||||
// 1. Add explicitly related posts
|
// Make sure related post exists
|
||||||
explicitRelatedSlugs.forEach(relatedSlug => {
|
if (sortedPosts.some(p => p.slug === relatedSlug)) {
|
||||||
const relatedPost = sortedPosts.find(p => p.slug === relatedSlug && !p.data.draft);
|
graphData.edges.push({
|
||||||
if (relatedPost) {
|
source: post.slug,
|
||||||
relatedPostsForGraph.push(relatedPost);
|
target: relatedSlug,
|
||||||
}
|
type: 'post-post',
|
||||||
});
|
strength: 2
|
||||||
|
});
|
||||||
// 2. Add implicitly related posts by tag similarity (if needed, up to a limit, e.g., 3 total)
|
}
|
||||||
const MAX_RELATED = 3; // Max related posts to show connections for
|
});
|
||||||
const MIN_SHARED_TAGS = 2; // Minimum shared tags for implicit relation
|
|
||||||
|
|
||||||
if (relatedPostsForGraph.length < MAX_RELATED && postTags.length > 0) {
|
|
||||||
sortedPosts
|
|
||||||
.filter(otherPost =>
|
|
||||||
!otherPost.data.draft &&
|
|
||||||
otherPost.slug !== post.slug && // Not the same post
|
|
||||||
!explicitRelatedSlugs.has(otherPost.slug) && // Not already explicitly related
|
|
||||||
!relatedPostsForGraph.some(rp => rp.slug === otherPost.slug) // Not already added
|
|
||||||
)
|
|
||||||
.forEach(otherPost => {
|
|
||||||
if (relatedPostsForGraph.length >= MAX_RELATED) return; // Stop if we have enough
|
|
||||||
|
|
||||||
const otherTags = otherPost.data.tags || [];
|
|
||||||
const sharedTags = postTags.filter(tag => otherTags.includes(tag));
|
|
||||||
|
|
||||||
if (sharedTags.length >= MIN_SHARED_TAGS) {
|
|
||||||
relatedPostsForGraph.push(otherPost);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 3. Create edges for all found related posts (explicit + implicit)
|
|
||||||
relatedPostsForGraph.forEach(relatedPost => {
|
|
||||||
const pairKey1 = `${post.slug}-${relatedPost.slug}`;
|
|
||||||
const pairKey2 = `${relatedPost.slug}-${post.slug}`;
|
|
||||||
|
|
||||||
// Avoid duplicate edges (A->B and B->A)
|
|
||||||
if (!processedPostPairs.has(pairKey1) && !processedPostPairs.has(pairKey2)) {
|
|
||||||
graphData.edges.push({
|
|
||||||
source: post.slug,
|
|
||||||
target: relatedPost.slug,
|
|
||||||
type: 'post-post', // Use consistent type
|
|
||||||
strength: explicitRelatedSlugs.has(relatedPost.slug) ? 3 : 1.5 // Stronger link if explicit
|
|
||||||
});
|
|
||||||
processedPostPairs.add(pairKey1); // Mark pair as processed
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// Terminal commands for tech effect
|
// Terminal commands for tech effect
|
||||||
|
|
Loading…
Reference in New Issue