Obsidian-Style Linking Demo
This lab demonstrates the powerful Obsidian-inspired linking capabilities available in our MDX content system. These components allow you to create rich, interconnected content that helps readers discover related materials and understand the relationships between different topics.
Basic Linking with WikiLink
The most fundamental component is the WikiLink, which provides Obsidian-style [[Page Name]]
functionality:
Link by Slug
Here’s a reference to our Web Application Penetration Testing Intermediate lab using its slug.
Link by Title
You can also reference content by title: Content not found: Linux Privilege Escalation.
Custom Display Text
Sometimes you want custom text: Malware Analysis Guide Expert .
External Links
External resources work too: OWASP Foundation.
Rich Content References
Blog Post References
For blog posts, use the PostRef component for rich previews:
Content not found: linux-and-usersOr use compact inline references like Content not found: writeup-methods when you need them in flowing text.
Lab References
Lab content gets special treatment with difficulty badges and OS information:
Master network discovery and enumeration techniques using Nmap, custom scripts, and stealth scanning methods to map target infrastructure.
Compact lab references work great inline: Windows Buffer Overflow Exploitation Advanced .
Unified ContentRef Component
The new ContentRef
component provides a unified interface for referencing any content type:
Auto-Detection
Comprehensive web application security assessment lab covering OWASP Top 10 vulnerabilities, SQL injection, XSS, and authentication bypasses.
Specific Collection with Custom Alias
User Management GuideFull Lab Reference
Introduction to static and dynamic malware analysis techniques using industry-standard tools and methodologies in a safe, isolated environment.
Content Discovery by Tags
The TagRef component helps readers discover related content:
All Pentesting Content
Linux-Related Materials
Content tagged with #linux
2itemsA hands-on lab exploring how to identify and exploit misconfigured SUID binaries to gain root privileges on a Linux system.
A beginner-level Linux machine that teaches common web application vulnerabilities and privilege escalation techniques.
Relationship Visualization
Content Graph
Here’s a visual representation of how this content connects to others:
Content Relationships
6 nodes, 5 connectionsInteractive graph visualization
6 content pieces connected by 5 relationships
What Links Here
Advanced Usage Examples
Building Learning Paths
You can create structured learning paths by linking related content:
- Foundation: Start with VulnNet: Node Beginner
- Reconnaissance: Move to Advanced Network Reconnaissance Beginner
- Web Testing: Practice with Web Application Penetration Testing Intermediate
- Privilege Escalation: Master Content not found: linux privsec suid
Cross-Referencing Blog Posts and Labs
Blog posts and labs work together seamlessly:
- Read the theory in Content not found: writeup-methods
- Practice with hands-on labs like Malware Analysis Fundamentals Expert
- Explore related topics: No content found with tag: #malware
Error Handling
The components gracefully handle missing content:
- Content not found: non-existent-page (broken link example)
- Content not found: missing-post (missing blog post)
- Content not found: missing-lab (missing lab)
Best Practices
1. Use Appropriate Components
- Use
WikiLink
for general cross-references - Use
PostRef
for blog-specific references with metadata - Use
LabRef
for lab content with difficulty and OS info - Use
TagRef
for content discovery sections
2. Balance Detail and Readability
- Use compact references in flowing text
- Use full references for important related content
- Group related links in dedicated sections
3. Create Content Hubs
- Use TagRef to create topic-based content hubs
- Use ContentGraph to visualize relationships
- Use BackLinks to show reverse relationships
4. Maintain Link Health
- Regularly check for broken links (they’re highlighted in red)
- Update references when content is renamed or moved
- Use consistent tagging for better discovery
Technical Implementation
These components work by:
- Build-time resolution: All links are resolved during the Astro build process
- Intelligent matching: Multiple strategies for finding content (slug, title, partial matches)
- Graceful degradation: Broken links are clearly indicated but don’t break the page
- Performance optimized: No client-side JavaScript required for basic functionality
- SEO friendly: All links are proper HTML links that search engines can follow
Conclusion
These Obsidian-inspired components transform your static content into a dynamic, interconnected knowledge base. They help readers:
- Discover related content through intelligent linking
- Navigate between topics seamlessly
- Understand relationships between different concepts
- Explore your content more deeply
The system maintains the performance benefits of static site generation while providing the rich linking experience of tools like Obsidian.
Try exploring the links in this demo to see how they work, and consider how you might use these patterns in your own content!