Navigation and Search Specification
Navigation and Search Specification
1. Purpose
This specification defines how users move through Harivulagam. It covers:
- The global navigation that appears on every page
- The local navigation within each platform (wiki, main site, map)
- The search system across all content
- The cross-linking between platforms
- The fallback and accessibility requirements
The goal is simple: a user should always know where they are, how they got there, and how to find what they need next.
2. The Three Platforms, One Journey
Users will move between three views of the same knowledge base:
| Platform | URL | Purpose |
|---|---|---|
| Main site | harivulagam.com
|
Connection articles, trails, introductions |
| Wiki | wiki.harivulagam.com
|
Knowledge entries, frameworks, witness records |
| Concept map | harivulagam.com/map
|
Visual, zoomable view of the whole knowledge base |
Navigation must make it easy to move between these three, and always clear which one the user is currently in.
3. Global Navigation (Header)
Every page on every platform shares the same top header bar. It is minimal and consistent.
3.1 Header Elements (left to right)
| Element | Behavior |
|---|---|
| Logo | Links to harivulagam.com (main site home)
|
| Explore | Dropdown: Wiki, Concept Map, Pillars, Random Entry |
| Pillars | Dropdown: the six pillars, each linking to its pillar page |
| Search | Opens the global search overlay (see Section 6) |
| About | Dropdown: How to Walk This Map, Community Guidelines, Contribute, Contact |
| Account (optional) | Login, profile, contributions |
3.2 Header Behavior
- Sticky on scroll — always visible.
- Collapses to a hamburger menu on mobile.
- Search icon is always visible, even on mobile.
- Current platform indicator — a small label showing "Wiki", "Map", or "Main Site" so users know where they are.
4. Local Navigation
Each platform has its own secondary navigation, appearing below the global header or in a sidebar.
4.1 Main Site (harivulagam.com)
| Element | Behavior |
|---|---|
| Breadcrumb | Home > [Pillar] > [Article title] |
| Sidebar (left) | List of connection articles, grouped by pillar |
| Sidebar (right) | On article pages: linked wiki entries, related trails, table of contents |
| Footer | Links to wiki, map, about, guidelines |
4.2 Wiki (wiki.harivulagam.com)
| Element | Behavior |
|---|---|
| Breadcrumb | Home > [Pillar] > [Entry title] |
| Sidebar (left) | Navigation: Main Page, Recent Changes, Wanted Pages, Community Portal, Random Entry |
| Sidebar (right) | On entry pages: What links here, Related changes, Categories, Connection types |
| Tabs (top of entry) | Page, Discussion, Edit, History |
| Footer | Links to main site, map, guidelines |
4.3 Concept Map (harivulagam.com/map)
| Element | Behavior |
|---|---|
| Zoom controls | Top-right: zoom in, zoom out, zoom to fit |
| Legend | Bottom-left: pillar colors, connection line styles |
| Filter panel | Left: filter by pillar, connection type, status |
| Search box | Top-center: highlights matching nodes |
| Side panel | Right: appears on node click, shows entry summary and link |
| List view toggle | Top-right: switches to sortable list view |
5. Cross-Platform Linking
This is the mechanism that holds the three platforms together.
5.1 From Wiki to Main Site
At the bottom of every wiki entry, a section titled "Related Trails" lists connection articles that reference this entry.
Example:
Related Trails
- Lokāyata and Quantum Mechanics: A Structural Resonance
- The Lost Materialists
5.2 From Main Site to Wiki
At the top of every connection article, a section titled "Knowledge Base Entries Referenced" lists the wiki entries used.
Example:
Knowledge Base Entries Referenced
- Lokāyata (Cārvāka)
- Quantum Mechanics
- Bell's Theorem
5.3 From Both to the Map
Every wiki entry and every connection article has a "Show on Map" button in the right sidebar. Clicking it opens the concept map centered on that entry.
5.4 URL Persistence
Links between platforms use stable URLs:
| Target | URL pattern |
|---|---|
| Wiki entry | wiki.harivulagam.com/index.php/Entry_ID
|
| Connection article | harivulagam.com/trails/article-slug
|
| Map view | harivulagam.com/map?entry=Entry_ID
|
These URLs never change once published.
6. Search System
Search is the most important navigation tool on the site. It must work across all three platforms and return results from all content types.
6.1 Search Entry Points
| Entry point | Behavior |
|---|---|
| Header search icon | Opens global search overlay |
| Keyboard shortcut | / or Ctrl+K opens search from anywhere
|
| Search box on wiki | Scoped to wiki content by default |
| Search box on map | Highlights nodes in real time |
| Search box on main site | Searches connection articles and wiki entries |
6.2 Search Overlay
When the user opens search, an overlay appears with:
- A single input field — type to search
- Instant results — appear as the user types (minimum 2 characters)
- Result grouping — results grouped by type: Knowledge Entries, Connection Articles, Witness Records, Frameworks
- Filters — pillar, connection type, status, language
- Recent searches — stored locally
- "See all results" — opens a full search results page
6.3 Search Result Display
Each result shows:
| Field | Example |
|---|---|
| Title | Lokāyata (Cārvāka) |
| Type badge | Knowledge Entry |
| Pillar | Historical Events |
| Summary | A short excerpt with the search term highlighted |
| Status | Complete / Stub / Disputed |
Results are ranked by:
- Exact title match — highest priority
- Title contains term — high priority
- Summary contains term — medium priority
- Body contains term — lower priority
- Tags match term — lower priority
6.4 Search Features
| Feature | Behavior |
|---|---|
| Fuzzy matching | "lokayata" matches "Lokāyata" |
| Diacritic-insensitive | "Carvaka" matches "Cārvāka" |
| Multi-language | Search works across English, Tamil, Hindi, and Sanskrit transliteration |
| Phrase search | Quotation marks search exact phrases |
| Boolean operators | AND, OR, NOT supported
|
| Tag search | tag:quantum finds entries with that tag
|
| Pillar search | pillar:science finds entries in that pillar
|
| Connection search | conn:structural finds structural resonance connections
|
6.5 Search on the Concept Map
On the map, search does not navigate away. Instead:
- Matching nodes highlight (glow or enlarge)
- Non-matching nodes dim
- The map pans and zooms to show the first match
- A small counter shows "3 of 7 matches"
- Arrow keys navigate between matches
7. Discovery Mechanisms
Beyond direct search, users should be able to discover content through browsing.
7.1 Random Entry
A "Random Entry" link in the Explore dropdown takes the user to a random wiki entry. This encourages exploration and surfaces forgotten content.
7.2 Recent Changes
A "Recent Changes" page on the wiki shows all recent edits, with timestamps, contributors, and edit summaries.
7.3 Wanted Pages
A "Wanted Pages" page lists entries that are referenced but do not yet exist. This invites contribution.
7.4 Pillar Pages
Each of the six pillars has a landing page (drafted earlier) that serves as a hub, linking to key entries, connection articles, and related pillars.
7.5 Trail Index
A "Trails" page on the main site lists all connection articles, grouped by pillar and filterable by connection type.
8. Accessibility Requirements
Navigation and search must work for all users.
| Requirement | Implementation |
|---|---|
| Keyboard navigation | All interactive elements reachable by Tab, activated by Enter |
| Screen reader support | All navigation elements have ARIA labels |
| Skip to content | A "Skip to main content" link at the top of every page |
| Color contrast | All text meets WCAG AA contrast ratios |
| Focus indicators | Visible focus ring on all interactive elements |
| Text alternatives | All icons have text labels or ARIA labels |
| Reduced motion | Map animations respect prefers-reduced-motion
|
9. Mobile Behavior
| Element | Mobile behavior |
|---|---|
| Header | Collapses to hamburger menu |
| Search | Full-screen overlay |
| Sidebars | Collapse to drawers, opened by buttons |
| Map | Pinch-to-zoom, single-finger pan |
| List view | Default on very small screens |
| Breadcrumbs | Truncated to "Home > ... > Current" |
10. URL Structure Summary
| Page | URL |
|---|---|
| Main site home | harivulagam.com
|
| Connection article | harivulagam.com/trails/[slug]
|
| Trail index | harivulagam.com/trails
|
| Concept map | harivulagam.com/map
|
| Map with filter | harivulagam.com/map?pillar=science
|
| Map centered on entry | harivulagam.com/map?entry=lokayata
|
| Wiki home | wiki.harivulagam.com
|
| Wiki entry | wiki.harivulagam.com/index.php/[Entry_ID]
|
| Wiki recent changes | wiki.harivulagam.com/index.php/Special:RecentChanges
|
| Wiki wanted pages | wiki.harivulagam.com/index.php/Special:WantedPages
|
| Search results | harivulagam.com/search?q=[query]
|
11. Implementation Notes
- Search backend: Start with MediaWiki's built-in search (if using MediaWiki) or a simple client-side index (if content is small). Migrate to Elasticsearch or Meilisearch when content grows beyond a few hundred entries.
- Map search: Use client-side filtering of the JSON data that powers the map. No server round-trip needed.
- Cross-platform search: If the wiki and main site are separate systems, use a shared search index (e.g., a simple JSON file or a lightweight API) that both can query.
- URL persistence: Never change a published URL. If a title changes, keep the old URL as a redirect.