PageSourceSearch

https://bbcc.ai/build/assets/ObsidianWikiGuide-CafAgBz2.js

js bbcc.ai collected 2026-10-05 12:12:55 UTC 80,952 bytes, 401 lines download raw bytes

1import{r as c,j as e,H as te,L as $}from"./app-DP13319Q.js";import{D as ae}from"./DraggableMenu-Bk7Spryo.js";import{B as A,N as R,G as se,e as ie,C as le,I as Z,S as V,a as J,d as ne,Z as re,P as _,E as H,F as oe,c as de,b as ce,T as pe,D as F}from"./zap-B1PvDYaf.js";import{c as b}from"./createLucideIcon-BZKkeQZf.js";import{F as me}from"./file-code-BUDOOVKZ.js";import{C as xe}from"./circle-alert-CZkNghCu.js";import{S as I,C as B}from"./sparkles-UmslOrlU.js";import{C as U}from"./check-BA5_s5ky.js";import{X as ue}from"./x-CeCFLUNE.js";/* empty css            */import"./index-CtyZ6W6U.js";import"./index-DQkUn08L.js";/**
2 * @license lucide-react v0.475.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const he=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],Q=b("ArrowRight",he);/**
7 * @license lucide-react v0.475.0 - ISC
8 *
9 * This source code is licensed under the ISC license.
10 * See the LICENSE file in the root directory of this source tree.
11 */const ge=[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],W=b("CircleCheckBig",ge);/**
12 * @license lucide-react v0.475.0 - ISC
13 *
14 * This source code is licensed under the ISC license.
15 * See the LICENSE file in the root directory of this source tree.
16 */const be=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],fe=b("CircleHelp",be);/**
17 * @license lucide-react v0.475.0 - ISC
18 *
19 * This source code is licensed under the ISC license.
20 * See the LICENSE file in the root directory of this source tree.
21 */const we=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Y=b("Circle",we);/**
22 * @license lucide-react v0.475.0 - ISC
23 *
24 * This source code is licensed under the ISC license.
25 * See the LICENSE file in the root directory of this source tree.
26 */const ye=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]],X=b("Clock",ye);/**
27 * @license lucide-react v0.475.0 - ISC
28 *
29 * This source code is licensed under the ISC license.
30 * See the LICENSE file in the root directory of this source tree.
31 */const ve=[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]],z=b("Command",ve);/**
32 * @license lucide-react v0.475.0 - ISC
33 *
34 * This source code is licensed under the ISC license.
35 * See the LICENSE file in the root directory of this source tree.
36 */const ke=[["rect",{width:"16",height:"16",x:"4",y:"4",rx:"2",key:"14l7u7"}],["rect",{width:"6",height:"6",x:"9",y:"9",rx:"1",key:"5aljv4"}],["path",{d:"M15 2v2",key:"13l42r"}],["path",{d:"M15 20v2",key:"15mkzm"}],["path",{d:"M2 15h2",key:"1gxd5l"}],["path",{d:"M2 9h2",key:"1bbxkp"}],["path",{d:"M20 15h2",key:"19e6y8"}],["path",{d:"M20 9h2",key:"19tzq7"}
36],["path",{d:"M9 2v2",key:"165o2o"}],["path",{d:"M9 20v2",key:"i2bqo8"}]],Ne=b("Cpu",ke);/**
37 * @license lucide-react v0.475.0 - ISC
38 *
39 * This source code is licensed under the ISC license.
40 * See the LICENSE file in the root directory of this source tree.
41 */const je=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],Ce=b("Database",je);/**
42 * @license lucide-react v0.475.0 - ISC
43 *
44 * This source code is licensed under the ISC license.
45 * See the LICENSE file in the root directory of this source tree.
46 */const Se=[["path",{d:"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"hod4my"}],["path",{d:"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"w4yl2u"}],["path",{d:"M3 5a2 2 0 0 0 2 2h3",key:"f2jnh7"}],["path",{d:"M3 3v13a2 2 0 0 0 2 2h3",key:"k8epm1"}]],Le=b("FolderTree",Se);/**
47 * @license lucide-react v0.475.0 - ISC
48 *
49 * This source code is licensed under the ISC license.
50 * See the LICENSE file in the root directory of this source tree.
51 */const Oe=[["circle",{cx:"12",cy:"18",r:"3",key:"1mpf1b"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["path",{d:"M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9",key:"1uq4wg"}],["path",{d:"M12 12v3",key:"158kv8"}]],Te=b("GitFork",Oe);/**
52 * @license lucide-react v0.475.0 - ISC
53 *
54 * This source code is licensed under the ISC license.
55 * See the LICENSE file in the root directory of this source tree.
56 */const Me=[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]],q=b("House",Me);/**
57 * @license lucide-react v0.475.0 - ISC
58 *
59 * This source code is licensed under the ISC license.
60 * See the LICENSE file in the root directory of this source tree.
61 */const Ae=[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]],De=b("Lightbulb",Ae);/**
62 * @license lucide-react v0.475.0 - ISC
63 *
64 * This source code is licensed under the ISC license.
65 * See the LICENSE file in the root directory of this source tree.
66 */const Ee=[["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["polyline",{points:"9 21 3 21 3 15",key:"1avn1i"}],["line",{x1:"21",x2:"14",y1:"3",y2:"10",key:"ota7mn"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]],Ie=b("Maximize2",Ee);/**
67 * @license lucide-react v0.475.0 - ISC
68 *
69 * This source code is licensed under the ISC license.
70 * See the LICENSE file in the root directory of this source tree.
71 */const Pe=[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]],Ve=b("Menu",Pe);/**
72 * @license lucide-react v0.475.0 - ISC
73 *
74 * This source code is licensed under the ISC license.
75 * See the LICENSE file in the root directory of this source tree.
76 */const We=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]],$e=b("ShieldAlert",We);/**
77 * @license lucide-react v0.475.0 - ISC
78 *
79 * This source code is licensed under the ISC license.
80 * See the LICENSE file in the root directory of this source tree.
81 */const Fe=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],ee=b("ShieldCheck",Fe);/**
82 * @license lucide-react v0.475.0 - ISC
83 *
84 * This source code is licensed under the ISC license.
85 * See the LICENSE file in the root directory of this source tree.
86 */const Ge=[["rect",{width:"20",height:"12",x:"2",y:"6",rx:"6",ry:"6",key:"f2vt7d"}],["circle",{cx:"8",cy:"12",r:"2",key:"1nvbw3"}]],Re=b("ToggleLeft",Ge);/**
87 * @license lucide-react v0.475.0 - ISC
88 *
89 * This source code is licensed under the ISC license.
90 * See the LICENSE file in the root directory of this source tree.
91 */const ze=[["rect",{width:"20",height:"12",x:"2",y:"6",rx:"6",ry:"6",key:"f2vt7d"}],["circle",{cx:"16",cy:"12",r:"2",key:"4ma0v8"}
91]],Be=b("ToggleRight",ze),G=[{id:"step-1",number:1,title:"Vault Setup & File Architecture",summary:"Learn how to create, configure, and structure your local Obsidian Vault for building a scalable personal or team Wiki.",icon:"FolderTree",category:"basics",readTime:"5 min",sections:[{heading:"1. What is an Obsidian Vault?",content:"An Obsidian Vault is simply a standard folder on your computer containing plain Markdown (.md) text files, images, attachments, and a hidden `.obsidian` settings folder. Because your data is stored locally in open formats, you retain 100% data ownership with zero lock-in.",callout:{type:"tip",title:"Local First Architecture",text:"Because Vaults are standard folders, you can back them up with Git, sync them via iCloud / Dropbox / Obsidian Sync, or open them in any text editor like VS Code or Notepad."}},{heading:"2. Recommended Folder Architectures for Wikis",content:"To prevent your Wiki from becoming chaotic as it grows to thousands of notes, adopt a structured folder framework:",codeSnippet:`My-Obsidian-Wiki/
92├── 00-Meta/              # Templates, CSS Snippets, Scripts
93├── 10-Inbox/             # Quick captured notes & unsorted thoughts
94├── 20-Atlas/             # Map of Content (MOCs), Hub Pages, Indexes
95├── 30-Cards/             # Atomic Zettelkasten notes & Concept articles
96├── 40-Projects/          # Active projects & actionable Wiki items
97├── 50-Resources/         # Reference manuals, PDFs, media assets
98└── 60-Archive/          # Deprecated articles & historical records`,codeLanguage:"text",keyOptions:["Default location for new notes","Default location for new attachments"]},{heading:"3. Initial Config Checklist",content:`Go to Settings (Gear icon) -> Files & links, and set:
99- Default location for new notes: "10-Inbox" or "Same folder as current file"
100- Default location for attachments: "In subfolder under current folder" (Name it \`attachments\`)
101- Automatically update internal links: Enabled (Crucial so links never break when files are moved or renamed)`}]},{id:"step-2",number:2,title:"Wiki-Style Linking & Bi-Directional Connections",summary:"Master internal WikiLinks, alias redirects, heading links, block references, and backlink analysis.",icon:"GitFork",category:"linking",readTime:"7 min",sections:[{heading:"1. Basic WikiLink Syntax",content:"Internal links connect notes together to form a neural knowledge web. Type `[[` in the editor to open autocomplete for all files in your Vault.",codeSnippet:`// 1. Standard Link
102[[Obsidian Overview]]
103
104// 2. Custom Display Text (Pipe Alias)
105[[Obsidian Overview|Learn about Obsidian]]
106
107// 3. Link to a Specific Heading
108[[Obsidian Overview#Key Features]]
109
110// 4. Link to an Exact Block (Paragraph or Bullet)
111[[Obsidian Overview#^block-12345]]`,codeLanguage:"markdown",callout:{type:"note",title:"Auto Link Refactoring",text:'If you rename "Obsidian Overview" to "Obsidian Master Guide", Obsidian will automatically update every single link in every note across your entire vault!'},keyOptions:["Use [[WikiLinks]]","Automatically update internal links","New link format"]},{heading:"2. Aliases in Frontmatter",content:"Define aliases in a note's properties YAML so that any WikiLink pointing to those alternate names automatically resolves to this single note.",codeSnippet:`---
112title: Artificial Intelligence
113aliases:
114  - AI
115  - Machine Intelligence
116  - Smart Systems
117---
118
119# Artificial Intelligence
120Now typing [[AI]] or [[Machine Intelligence]] connects directly to this note!`,codeLanguage:"yaml"},{heading:"3. Unlinked Mentions & Backlinks Pane",content:`Open the Right Sidebar and click "Backlinks". 
121- **Linked Mentions**: Displays all notes that explicitly link to the current note.
122- **Unlinked Mentions**: Scans your entire vault for plain text occurrences of the current note's title or aliases and lets you turn them into WikiLinks with one click!`}]},{id:"step-3",number:3,title:"Transclusion & Page Embedding",summary:"Dynamically embed content from other notes, sections, blocks, images, or media directly inside a note without duplicating text.",icon:"Layers",category:"formatting",readTime:"6 min",sections:[{heading:"1. What is Transclusion?",content:"Transclusion allows you to display live content from Note A inside Note B. If Note A changes, Note B automatically updates in real-time. Simply prefix a link with an exclamation point (`!`).",codeSnippet:`// 1. Embed an Entire Note
123![[Project Glossary]]
124
125// 2. Embed Only a Specific Section / Heading
126![[Project Glossary#Definitions]]
127
128// 3. Embed a Specific Block
129![[Project Glossary#^definition-ai]]
130
131// 4. Embed & Resize Image
132![[architecture-diagram.png|400]]`,codeLanguage:"markdown",callout:{type:"tip",title:"Image Resizing Shortcut",text:"Append `|300` or `|500x200` inside an image embed `![[image.png|300]]` to adjust display width in pixels."}}]},{id:"step-4",number:4,title:"Markdown Formatting & Callout Boxes",summary:"Style your Wiki articles with clean typography, code highlighting, tables, checkboxes, and expressive Obsidian Callouts.",icon:"FileCode",category:"formatting",readTime:"8 min",sections:[{heading:"1. Obsidian Callout Syntaxes",content:"Callout boxes highlight 
132key information, warnings, tips, and code notes in your Wiki articles.",codeSnippet:`> [!NOTE] Basic Note
133> This is a default informative callout box.
134
135> [!TIP] Pro Tip
136> Use callouts for important warnings, tips, and documentation callouts!
137
138> [!WARNING] Caution Required
139> Deleting this root index page may break navigation links.
140
141> [!DANGER] Critical Warning
142> Permanent data deletion ahead!
143
144> [!EXAMPLE] Usage Example
145> Here is how you configure the Dataview plugin query.
146
147> [!NOTE]- Collapsible Callout (Default Closed)
148> Click to reveal hidden content!
149
150> [!NOTE]+ Collapsible Callout (Default Open)
151> Click to fold or expand.`,codeLanguage:"markdown",callout:{type:"info",title:"All Supported Callout Types",text:"note, abstract, info, todo, tip, success, question, warning, failure, danger, bug, example, quote."}},{heading:"2. Footnotes, Highlights & Task Lists",content:"Rich Markdown elements native to Obsidian:",codeSnippet:`==Highlighted text== for emphasizing terms.
152
153Task Lists with interactive checkboxes:
154- [ ] Uncompleted task
155- [/] In progress task
156- [x] Completed task
157
158Footnotes:
159Here is a claim requiring citation[^1].
160
161[^1]: Smith, J. (2026). *Obsidian Wiki Principles*. Page 42.`,codeLanguage:"markdown"}]},{id:"step-5",number:5,title:"Properties & Metadata (YAML Frontmatter)",summary:"Structure your notes with typed key-value metadata properties for database queries, filtering, and automated organization.",icon:"Database",category:"metadata",readTime:"6 min",sections:[{heading:"1. Understanding Note Properties",content:"Every note in Obsidian can store structured metadata at the top of the file wrapped in triple dashes (`---`). Obsidian provides a visual Properties Editor in the GUI to manage these fields easily.",codeSnippet:`---
162title: System Design Guide
163created: 2026-08-05
164status: Draft
165category: Architecture
166tags:
167  - wiki/tech
168  - guide/system
169author: Tech Lead
170priority: 1
171published: false
172---`,codeLanguage:"yaml",callout:{type:"tip",title:"Property Types in Obsidian",text:"Supported field types: Text, List, Number, Checkbox, Date, and Date & Time."},keyOptions:["Show property in file","Default location for new properties"]}]},{id:"step-6",number:6,title:"Graph View & Network Visualization",summary:"Visualize relationships between Wiki notes, spot isolated topics, build cluster groups, and navigate your knowledge graph.",icon:"Network",category:"visualization",readTime:"7 min",sections:[{heading:"1. Global Graph vs Local Graph",content:`- **Global Graph**: Displays all notes and connections across your entire vault.
173- **Local Graph**: Displays only the currently active note and its immediate neighbors up to a configurable link depth (1 to 5 steps away).`,callout:{type:"note",title:"Opening Local Graph",text:'Press `Ctrl/Cmd + P` -> Search "Graph view: Open local graph". Dock it in the right sidebar for real-time navigation while writing!'}},{heading:"2. Graph Filters & Color Groups",content:"Use the Graph Controls panel (gear icon):\n- **Search Filters**: Type `path:30-Cards` or `tag:#wiki` or `-is:orphan` to filter nodes.\n- **Color Groups**: Assign colors to nodes matching search queries (e.g., Color green for `tag:#active`, Color red for `tag:#todo`).\n- **Display Sliders**:\n  - *Node Size*: Scale nodes based on total incoming/outgoing links.\n  - *Center Force & Repulsion*: Adjust physics gravity and node spacing.\n  - *Link Distance*: Adjust connection line length.",keyOptions:["Graph View","Show tags in graph","Show attachments in graph"]}]},{id:"step-7",number:7,title:"Obsidian Canvas for Visual Wiki Mapping",summary:"Create infinite visual workspaces to layout articles, mindmaps, diagrams, embedded notes, and web cards.",icon:"LayoutGrid",category:"visualization",readTime:"5 min",sections:[{heading:"1. What is Obsidian Canvas?",content:"Canvas is a core plugin that provides a high-performance infinite visual canvas. You can drag and drop Markdown notes, text cards, web URLs, images, and PDFs, then draw directional arrows to map out complex concepts.",codeSnippet:`Canvas File Structure: filename.canvas (JSON-based format)
174Card Types:
1751. Text Card (Supports full Markdown & Callouts)
1762. File Card (Embeds an existing note)
1773. Media Card (Images, videos, audio)
1784. Web Card (Renders live websites via iframe)`,codeLanguage:"text",callout:{type:"tip",title:"Canvas Shortcuts",text:"Double click canvas background to create a new Text Card. Drag from any edge handle to draw a connecting arrow line."},keyOptions:["Canvas Core Plugin"]}]},{id:"step-8",number:8,title:"Templates, Daily Notes & Automation",summary:"Automate article creation with standard headers, metadata properties, and dynamic time/date variables.",icon:"Sparkles",category:"automation",readTime:"6 min",sections:[{heading:"1. Setting Up Templates",content:"Create a dedicated template folder (e.g., `00-Meta/Templates`). In Settings -> Templates, set the folder location.",codeSnippet:`---
179title: "{{title}}"
180created: {{date:YYYY-MM-DD}}
181time: {{time:HH:mm}}
182tags:
183  - wiki/article
184status: draft
185---
186
187# {{title}}
188
189## Overview
190Brief introduction to this topic.
191
192## Key Concepts
193- Concept 1
194- Concept 2
195
196## Related Notes
197- [[Index]]
198
199## References
200- `,codeLanguage:"markdown",keyOptions:["Templates","Daily Notes","Command Palette"]}]},{id:"step-9",number:9,title:"Power Plugins: Dataview & Templater",summary:"Turn your Obsidian Wiki into a dynamic query engine using Dataview SQL queries and advanced Templater scripts.",icon:"Cpu",category:"automation",readTime:"8 min",sections:[{heading:"1. Dataview Plugin Overview",content:"Dataview treats your Markdown notes as a database. You can generate auto-updating tables, lists, task summaries, and calendar feeds based on YAML properties and tags.",codeSnippet:'```dataview\nTABLE status, created, category\nFROM #wiki\nWHERE status = "Active"\nSORT created DESC\n```',codeLanguage:"markdown",callout:{type:"tip",title:"Dataview Query Types",text:"Supports `TABLE`, `LIST`, `TASK`, and `CALENDAR` views."}},{heading:"2. Dataview Task Query Example",content:"Collect all uncompleted tasks from your entire vault into one clean Wiki dashboard:",codeSnippet:'```dataview\nTASK\nFROM "30-Cards" OR "40-Projects"\nWHERE !completed\nGROUP BY file.link\n```',codeLanguage:"markdown"}]},{id:"step-10",number:10,title:"Publishing & Exporting Your Obsidian Wiki",summary:"Share your Wiki with the world using Obsidian Publish, Quartz 4.0, or export to standard HTML and PDF.",icon:"Globe",category:"publishing",readTime:"6 min",sections:[{heading:"1. Publishing Options Comparison",content:`1. **Obsidian Publish (Official)**: One-click hosted service with built-in graph view, search, password protection, and custom domain support.
2012. **Quartz 4.0 (Free & Open Source)**: Static site generator built for Obsidian vaults. Renders interactive graph view, full-text search, dark mode, and hosts free on GitHub Pages.
2023. **PDF / HTML Export**: Native export for individual articles or bundled documentation.`,callout:{type:"tip",title:"Quartz Integration",text:"Quartz directly reads your local Obsidian Vault directory without requiring any format conversion!"}}]}],K=[{id:"opt-live-preview",category:"Editor",name:"Default Editing Mode",defaultValue:"Live Preview",description:"Determines how text and Markdown formatting render while typing.",howToUse:"Go to Settings -> Editor -> Default editing mode. Choose Live Preview (WYSIWYG-style) or Source Mode (raw Markdown code visible).",recommendedValue:"Live Preview",impactLevel:"Essential",tags:["editor","preview","wysiwyg","markdown"]},{id:"opt-wikilinks",category:"Files & Links",name:"Use [[WikiLinks]]",defaultValue:"On (Enabled)",description:"Controls whether internal note links are created as [[Note Name]] or standard Markdown [Note Name](Note%20Name.md).",howToUse:'Go to Settings -> Files & links -> Toggle "Use [[WikiLinks]]". Always leave ON for Obsidian Wikis.',recommendedValue:"On (Enabled)",impactLevel:"Essential",tags:["links","wikilinks","syntax"]},{id:"opt-auto-update-links",category:"Files & Links",name:"Automatically Update Internal Links",defaultValue:"On (Enabled)",description:"When you rename or move a note, Obsidian automatically updates every link across all files in your vault to match the new name or path.",howToUse:'Go to Settings -> Files & links -> Toggle "Automatically update internal links". Prevents broken links throughout your wiki.',recommendedValue:"On (Enabled)",impactLevel:"Essential",tags:["refactoring","links","automation","maintenance"]},{id:"opt-new-note-location",category:"Files & Links",name:"Default Location for New Notes",defaultValue:"Vault root",description:"Specifies where newly created notes are saved when created via Ctrl/Cmd+N or quick switcher.",howToUse:'Go to Settings -> Files & links -> Default location for new notes -> Select "In the folder specified below" and choose `10-Inbox`.',recommendedValue:"Folder specified below (e.g., 10-Inbox)",impactLevel:"High",tags:["organization","files","inbox"]},{id:"opt-attachment-location",category:"Files & Links",name:"Default Location for New Attachments",defaultValue:"Vault root",description:"Controls where pasted images, PDFs, and media assets are stored when added to a note.",howToUse:'Go to Settings -> Files & links -> Default location for new attachments -> Choose "In subfolder under current folder" (Name it `attachments`).',recommendedValue:"In subfolder under current folder",impactLevel:"High",tags:["media","images","attachments"]},{id:"opt-link-format",category:"Files & Links",name:"New Link Format",defaultValue:"Shortest path when possible",description:"Defines how path strings are stored in internal links: Shortest Path, Relative Path, or Absolute Path.",howToUse:'Go to Settings -> Files & links -> New link format. "Shortest path when possible" keeps links clean like `[[My Note]]`.',recommendedValue:"Shortest path when possible",impactLevel:"Medium",tags:["links","paths","formatting"]},{id:"opt-readable-line-length",category:"Editor",name:"Readable Line Length",defaultValue:"On (Enabled)",description:"Caps text container width to ~70-80 characters centered for comfortable reading.",howToUse:'Go to Settings -> Editor -> Toggle "Readable line length". Turn off if you prefer full-width text spanning widescreen monitors.',recommendedValue:"On (Enabled)",impactLevel:"Medium",tags:["reading","layout","editor","width"]},{id:"opt-auto-pair-brackets",category:"Editor",name:"Auto Pair Brackets & Quotes",defaultValue:"On (Enabled)",description:'Automatically inserts closing brackets `]]`, `))`, `""`, `**` when you type opening characters.',howToUse:'Go to Settings -> Editor -> Toggle "Auto pair brackets" and "Auto pair Markdown syntax".',recommendedValue:"On (Enabled)",impactLevel:"High",tags:["editor","typing","productivity"]},{id:"opt-fold-heading",category:"Editor",name:"Fold Heading & Fold Indent",defaultValue:"On (Enabled)",description:"Adds small collapse arrows 
202next to headings and indented bullet lists so you can fold sections.",howToUse:'Go to Settings -> Editor -> Toggle "Fold heading" and "Fold indent".',recommendedValue:"On (Enabled)",impactLevel:"Medium",tags:["editor","outliner","folding"]},{id:"opt-properties-in-file",category:"Editor",name:"Properties in Document",defaultValue:"Visible",description:"Controls how YAML frontmatter metadata properties display at the top of notes: Visible (GUI table), Source (Raw YAML), or Hidden.",howToUse:'Go to Settings -> Editor -> Properties in document -> Select "Visible".',recommendedValue:"Visible",impactLevel:"High",tags:["properties","metadata","yaml"]},{id:"opt-theme-accent",category:"Appearance",name:"Accent Color & Themes",defaultValue:"Purple / Default",description:"Sets the visual theme and highlight color across Obsidian UI controls, graph nodes, and links.",howToUse:"Go to Settings -> Appearance -> Choose Light/Dark mode, set Accent Color picker, or browse Community Themes (e.g. Minimal, Prism, AnppPU).",recommendedValue:"Dark Mode with Custom Accent Color",impactLevel:"Medium",tags:["appearance","themes","colors"]},{id:"opt-css-snippets",category:"Appearance",name:"CSS Snippets",defaultValue:"None",description:"Loads custom CSS files located in `.obsidian/snippets/` to style custom fonts, callouts, cards, and graph elements.",howToUse:'Go to Settings -> Appearance -> Scroll down to "CSS snippets" -> Click folder icon -> Paste `.css` file -> Toggle enable switch.',recommendedValue:"Enabled for custom styling",impactLevel:"Medium",tags:["css","customization","styling"]},{id:"opt-plugin-restricted-mode",category:"Community Plugins",name:"Restricted Mode (Safe Mode)",defaultValue:"On (Enabled)",description:"Security setting that blocks third-party community plugins from running.",howToUse:'Go to Settings -> Community plugins -> Click "Turn off restricted mode" to enable installing power plugins like Dataview, Templater, and Excalidraw.',recommendedValue:"Off (Disabled to allow plugins)",impactLevel:"Essential",tags:["security","plugins","community"]},{id:"opt-plugin-dataview",category:"Community Plugins",name:"Dataview Plugin",defaultValue:"Not installed",description:"Treats your vault as a database for querying notes using SQL-like DQL syntax.",howToUse:'Settings -> Community plugins -> Browse -> Search "Dataview" -> Install & Enable.',recommendedValue:"Installed & Enabled",impactLevel:"Essential",tags:["dataview","database","queries","plugin"]},{id:"opt-plugin-templater",category:"Community Plugins",name:"Templater Plugin",defaultValue:"Not installed",description:"Replaces basic templates with powerful Javascript execution, dynamic dates, prompt dialogs, and folder triggers.",howToUse:'Settings -> Community plugins -> Browse -> Search "Templater" -> Install & Enable.',recommendedValue:"Installed for power users",impactLevel:"High",tags:["templates","automation","javascript"]},{id:"opt-plugin-omnisearch",category:"Community Plugins",name:"Omnisearch Plugin",defaultValue:"Not installed",description:"Adds AI fuzzy search that indexes PDF text, image OCR, and notes with ranked relevance scoring.",howToUse:'Settings -> Community plugins -> Browse -> Search "Omnisearch" -> Install & Enable.',recommendedValue:"Installed for large vaults",impactLevel:"High",tags:["search","ocr","fuzzy","pdf"]}],Ue=[{feature:"Basic WikiLink",syntax:"[[Note Title]]",renderedResult:"Note Title",explanation:"Creates a bi-directional link to another note in the vault.",category:"WikiLinks"},{feature:"Link with Display Text",syntax:"[[Note Title|Custom Label]]",renderedResult:"Custom Label",explanation:"Shows custom text while pointing to the target note.",category:"WikiLinks"},{feature:"Heading Link",syntax:"[[Note Title#Section Name]]",renderedResult:"Note Title > Section Name",explanation:"Links directly to a specific H1-H6 heading.",category:"WikiLinks"},{feature:"Block Link",syntax:"[[Note Title#^block-id]]",renderedResult:"Note Title > ^block-id",explanation:"Links directly to a specific block or paragraph.",category:"WikiLinks"},{feature:"Note Embed (Transclusion)",syntax:"![[Note Title]]",renderedResult:"[Embedded Live Note Content]",explanation:"Displays live content from another note directly inside the article.",category:"Embeds"},{feature:"Image Embed & Resize",syntax:"![[diagram.png|300]]",renderedResult:"[Image rendered at 300px width]",explanation:"Embeds an image attachment with custom pixel width.",category:"Embeds"},{feature:"Note Callout Box",syntax:`> [!NOTE] Title
203> Body text`,renderedResult:"📘 Title: Body text",explanation:"Creates an eye-catching callout box.",category:"Callouts"},{feature:"Collapsible Callout",syntax:`> [!TIP]- Collapsed Title
204> Hidden content`,renderedResult:"💡 Collapsed Title [> Expand]",explanation:"Callout box that starts folded shut.",category:"Callouts"},{feature:"Properties (Frontmatter)",syntax:`---
205tags: [wiki, guide]
206status: active
207---`,renderedResult:"Metadata Panel: tags, status",explanation:"Structured key-value properties block at top of note.",category:"Properties"},{feature:"Dataview Table Query",syntax:"```dataview\nTABLE status, created\nFROM #wiki\n```",renderedResult:"Interactive Data Table",explanation:"Generates a live table of notes filtered by tag or folder.",category:"Dataview"}],_e=[{id:"note-1",title:"Obsidian Wiki Overview",tags:["wiki","overview","master"],status:"Active",category:"Core Knowledge",content:`---
208title: Obsidian Wiki Overview
209tags: [wiki, overview, master]
210status: Active
211category: Core Knowledge
212created: 2026-08-05
213---
214
215# Welcome to Your Obsidian Wiki
216
217Obsidian is a powerful **Markdown-based knowledge base** that stores data locally in plain text.
218
219> [!TIP] Key Advantage
220> You own your data forever with zero vendor lock-in! All notes are standard \`.md\` files.
221
222## Key Wiki Features
2231. Bi-directional linking with [[WikiLinks Syntax]]
2242. Live content embeds with ![[Markdown Formatting Guide#Callouts]]
2253. Interactive network visualization with [[Graph View Masterclass]]
2264. Structured metadata properties powered by [[Dataview Queries]]
227
228## Related Notes
229- [[WikiLinks Syntax]]
230- [[Markdown Formatting Guide]]
231- [[Graph View Masterclass]]
232- [[Dataview Queries]]`},{id:"note-2",title:"WikiLinks Syntax",tags:["linking","syntax"],status:"Active",category:"Core Syntax",content:`---
233title: WikiLinks Syntax
234tags: [linking, syntax]
235status: Active
236category: Core Syntax
237created: 2026-08-05
238---
239
240# WikiLinks & References
241
242Internal links create a bi-directional connection between notes.
243
244## Syntax Variants
245- Standard link: [[Obsidian Wiki Overview]]
246- Link with display alias: [[Obsidian Wiki Overview|Read Overview Note]]
247- Link to section: [[Markdown Formatting Guide#Callouts]]
248
249> [!NOTE] Auto Refactoring
250> Renaming a note automatically updates all links in your vault!
251
252## Backlinks
253Check the Backlinks pane on the right sidebar to see all incoming connections from [[Obsidian Wiki Overview]].`},{id:"note-3",title:"Markdown Formatting Guide",tags:["formatting","callouts"],status:"Active",category:"Formatting",content:`---
254title: Markdown Formatting Guide
255tags: [formatting, callouts]
256status: Active
257category: Formatting
258created: 2026-08-05
259---
260
261# Markdown & Callouts
262
263Customize your wiki pages with expressive Markdown controls.
264
265## Callouts
266> [!NOTE] Information Box
267> Standard informative callout box.
268
269>
269 [!WARNING] Warning Box
270> Use callouts to draw attention to critical wiki instructions.
271
272> [!SUCCESS] Success Box
273> Operation completed successfully!
274
275## Task Lists
276- [x] Configure Obsidian settings
277- [x] Create folder architecture
278- [ ] Build first Map of Content (MOC)`},{id:"note-4",title:"Graph View Masterclass",tags:["visualization","graph"],status:"Draft",category:"Visualization",content:`---
279title: Graph View Masterclass
280tags: [visualization, graph]
281status: Draft
282category: Visualization
283created: 2026-08-05
284---
285
286# Graph View Network
287
288The Graph View visualizes connections between notes like neural synapses.
289
290## Graph Features
291- Node size scales with total incoming/outgoing links
292- Color groups organize nodes by tags like \`#wiki\` or \`#formatting\`
293- Local graph shows relationships up to 5 hops away from [[Obsidian Wiki Overview]]`},{id:"note-5",title:"Dataview Queries",tags:["dataview","automation"],status:"Active",category:"Automation",content:`---
294title: Dataview Queries
295tags: [dataview, automation]
296status: Active
297category: Automation
298created: 2026-08-05
299---
300
301# Dataview Query Engine
302
303Turn notes into dynamic databases with DQL syntax.
304
305## Example Query
306\`\`\`dataview
307TABLE status, category, tags
308FROM #wiki OR #linking
309SORT created DESC
310\`\`\`
311
312Connects back to [[Obsidian Wiki Overview]] and [[WikiLinks Syntax]].`}],He=({steps:h,completedStepIds:o,onToggleComplete:u,onSelectOption:m,onOpenSandboxWithSnippet:f})=>{const[x,N]=c.useState("all"),[k,L]=c.useState(""),[O,r]=c.useState("step-1"),[p,j]=c.useState(null),l=(i,C)=>{navigator.clipboard.writeText(i),j(C),setTimeout(()=>j(null),2e3)},g=h.filter(i=>{const C=x==="all"||i.category===x,y=i.title.toLowerCase().includes(k.toLowerCase())||i.summary.toLowerCase().includes(k.toLowerCase())||i.sections.some(s=>s.heading.toLowerCase().includes(k.toLowerCase())||s.content.toLowerCase().includes(k.toLowerCase()));return C&&y}),S=[{id:"all",label:"All Steps",icon:A},{id:"basics",label:"Vault Basics",icon:Le},{id:"linking",label:"WikiLinks",icon:Te},{id:"formatting",label:"Formatting",icon:me},{id:"visualization",label:"Graph & Visual",icon:R},{id:"metadata",label:"Metadata",icon:Ce},{id:"automation",label:"Automation",icon:Ne},{id:"publishing",label:"Publishing",icon:se}];return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"bg-white rounded-2xl border border-slate-200/80 shadow-sm p-6",children:[e.jsxs("div",{className:"flex flex-col md:flex-row gap-4 items-center justify-between",children:[e.jsxs("div",{className:"relative w-full md:w-96",children:[e.jsx("input",{type:"text",placeholder:"Search guide steps, syntaxes, callouts...",value:k,onChange:i=>L(i.target.value),className:"w-full bg-slate-50 border border-slate-200 text-slate-800 placeholder-slate-400 rounded-xl px-4 py-3 pl-11 text-sm focus:outline-none focus:border-emerald-400 focus:ring-2 focus:ring-emerald-400/20 transition-all"}),e.jsx(A,{className:"w-4 h-4 text-slate-400 absolute left-3.5 top-3.5"})]}),e.jsxs("div",{className:"flex items-center gap-4 text-sm text-slate-500",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("span",{className:"font-semibold text-emerald-600",children:[o.length," / ",h.length]}),e.jsx("span",{children:"Steps Completed"})]}),e.jsx("div",{className:"w-32 bg-slate-200 h-2 rounded-full overflow-hidden",children:e.jsx("div",{className:"bg-gradient-to-r from-emerald-400 to-emerald-500 h-full transition-all duration-500 rounded-full",style:{width:`${o.length/h.length*100}%`}})})]})]}),e.jsx("div",{className:"flex flex-wrap gap-2 mt-4 pt-4 border-t border-slate-200/60",children:S.map(i=>{const C=i.icon,y=x===i.id;return e.jsxs("button",{onClick:()=>N(i.id),className:`px-4 py-2 rounded-xl text-xs font-semibold transition-all duration-200 flex items-center gap-2 ${y?"bg-emerald-500 text-white shadow-md shadow-emerald-500/25":"bg-slate-100 text-slate-600 hover:bg-slate-200 hover:text-slate-800"}`,children:[e.jsx(C,{className:`w-3.5 h-3.5 ${y?"text-white":"text-slate-400"}`}),e.jsx("span",{children:i.label})]},i.id)})})]}),e.jsxs("div",{className:"space-y-4",children:[g.map((i,C)=>{const y=o.includes(i.id),s=O===i.id,w=C+1;return e.jsxs("div",{className:`bg-white rounded-2xl border transition-all duration-300 overflow-hidden ${s?"border-emerald-200 shadow-lg shadow-emerald-500/5":"border-slate-200/80 hover:border-slate-300 hover:shadow-md"}`,children:[e.jsx("div",{onClick:()=>r(s?"":i.id),className:"p-5 cursor-pointer select-none",children:e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("button",{onClick:t=>{t.stopPropagation(),u(i.id)},className:"flex-shrink-0 transition-colors hover:scale-110",children:y?e.jsx(W,{className:"w-7 h-7 text-emerald-500"}):e.jsx(Y,{className:"w-7 h-7 text-slate-300 hover:text-emerald-400 transition-colors"})}),e.jsx("div",{className:"flex-shrink-0 w-10 h-10 rounded-xl bg-emerald-50 border border-emerald-200 flex items-center justify-center text-emerald-600 font-bold text-sm",children:w})]}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-3 flex-wrap",children:[e.jsx("h3",{className:"text-lg font-bold text-slate-800 truncate",children:i.title}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-[10px] font-medium uppercase tracking-wider text-emerald-600 bg-emerald-50 px-2.5 py-0.5 rounded-full border border-emerald-200",children:i.category}),e.jsxs("span",{className:"text-xs text-slate-400 flex items-center gap-1",children:[e.jsx(X,{className:"w-3 h-3"}),i.readTime]})]})]}),e.jsx("p",{className:"text-sm text-slate-500 mt-0.5 line-clamp-1",children:i.summary})]}),e.jsx("div",{className:"flex-shrink-0",children:e.jsx("div",{className:`p-2 rounded-xl transition-all duration-300 ${s?"bg-emerald-50 text-emerald-600":"bg-slate-100 text-slate-400"}`,children:s?e.jsx(ie,{className:"w-5 h-5"}):e.jsx(le,{className:"w-5 h-5"})})})]})}),s&&e.jsxs("div",{className:"px-6 pb-6 pt-2 border-t border-slate-200/60 space-y-6",children:[e.jsx("p",{className:"text-sm text-slate-600 leading-relaxed bg-slate-50 p-4 rounded-xl border border-slate-200/60",children:i.summary}),i.sections.map((t,a)=>e.jsxs("div",{className:"space-y-3",children:[e.jsxs("h4",{className:"text-base font-semibold text-slate-800 flex items-center gap-2",children:[e.jsx("span",{className:"w-2 h-2 rounded-full bg-emerald-400"}),t.heading]}),e.jsx("p",{className:"text-sm text-slate-600 leading-relaxed whitespace-pre-line",children:t.content}),t.callout&&e.jsxs("div",{className:`p-4 rounded-xl border text-sm flex gap-3 ${t.callout.type==="tip"?"bg-emerald-50/80 border-emerald-200 text-emerald-800":t.callout.type==="warning"?"bg-amber-50/80 border-amber-200 text-amber-800":t.callout.type==="important"?"bg-rose-50/80 border-rose-200 text-rose-800":"bg-blue-50/80 border-blue-200 text-blue-800"}`,children:[t.callout.type==="tip"?e.jsx(De,{className:"w-5 h-5 text-emerald-500 shrink-0 mt-0.5"}):t.callout.type==="warning"?e.jsx(xe,{className:"w-5 h-5 text-amber-500 shrink-0 mt-0.5"}):t.callout.type==="important"?e.jsx($e,{className:"w-5 h-5 text-rose-500 shrink-0 mt-0.5"}):e.jsx(Z,{className:"w-5 h-5 text-blue-500 shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("div",{className:"font-bold mb-0.5",children:t.callout.title}),e.jsx("div",{className:"text-sm opacity-90",children:t.callout.text})]})]}),t.codeSnippet&&e.jsxs("div",{className:"relative group rounded-xl overflow-hidden border border-slate-200 bg-slate-900",children:[e.jsxs("div",{className:"flex items-center justify-between px-4 py-2.5 bg-slate-800/80 border-b border-slate-700 text-xs text-slate-400",children:[e.jsx("span",{className:"font-mono uppercase text-emerald-400 font-semibold text-[10px] tracking-wider",children:t.codeLanguage||"markdown"}),e.jsxs("div",{className:"flex items-center gap-2",children:[f&&e.jsxs("button",{onClick:()=>f(t.codeSnippet),className:"flex items-center gap-1.5 text-slate-400 hover:text-emerald-300 transition-colors bg-slate-700/50 px-3 py-1.5 rounded-lg text-[10px] font-medium",children:[e.jsx(I,{className:"w-3 h-3 text-emerald-400"}),"Test in Sandbox"]}),e.jsx("button",{onClick:()=>l(t.codeSnippet,`${i.id}-${a}`),className:"flex items-center gap-1.5 text-slate-400 hover:text-slate-100 transition-colors bg-slate-700/50 px-3 py-1.5 rounded-lg text-[10px] font-medium",children:p===`${i.id}-${a}`?e.jsxs(e.Fragment,{children:[e.jsx(U,{className:"w-3 h-3 text-emerald-400"}),e.jsx("span",{className:"text-emerald-400",children:"Copied!"})]}):e.jsxs(e.Fragment,{children:[e.jsx(B,{className:"w-3 h-3"}),e.jsx("span",{children:"Copy"})]})})]})]}),e.jsx("pre",{className:"p-4 text-xs font-mono text-slate-200 overflow-x-auto leading-relaxed",children:e.jsx("code",{children:t.codeSnippet})})]}),t.keyOptions&&t.keyOptions.length>0&&e.jsxs("div",{className:"pt-2 flex flex-wrap items-center gap-2 text-xs text-slate-500",children:[e.jsxs("span",{className:"text-slate-400 font-medium flex items-center gap-1",children:[e.jsx(V,{className:"w-3.5 h-3.5"})," Related Settings:"]}),t.keyOptions.map(n=>e.jsx("button",{onClick:()=>m&&m(n),className:"px-3 py-1 rounded-lg bg-emerald-50 border border-emerald-200 text-emerald-700 hover:bg-emerald-100 transition-colors font-medium text-[11px]",children:n},n))]})]},a)),e.jsxs("div",{className:"pt-4 border-t border-slate-200/60 flex items-center justify-between flex-wrap gap-3",children:[e.jsx("button",{onClick:()=>u(i.id),className:`flex items-center gap-2 px-5 py-2.5 rounded-xl text-sm font-bold transition-all duration-200 ${y?"bg-emerald-50 text-emerald-600 border border-emerald-200 hover:bg-emerald-100":"bg-emerald-500 text-white hover:bg-emerald-600 shadow-md shadow-emerald-500/25 hover:shadow-emerald-500/40"}`,children:y?e.jsxs(e.Fragment,{children:[e.jsx(W,{className:"w-4 h-4"})," Completed"]}):e.jsxs(e.Fragment,{children:[e.jsx(Y,{className:"w-4 h-4"})," Mark Complete"]})}),e.jsxs("div",{className:"flex items-center gap-2",children:[h.findIndex(t=>t.id===i.id)>0&&e.jsxs("button",{onClick:()=>{const t=h.findIndex(a=>a.id===i.id)-1;r(h[t].id)},className:"flex items-center gap-1.5 text-sm font-medium text-slate-500 hover:text-slate-700 px-3 py-2 rounded-xl hover:bg-slate-100 transition-colors",children:[e.jsx(Q,{className:"w-4 h-4 rotate-180"}),"Previous"]}),h.findIndex(t=>t.id===i.id)<h.length-1&&e.jsxs("button",{onClick:()=>{const t=h.findIndex(a=>a.id===i.id)+1;r(h[t].id)},className:"flex items-center gap-1.5 text-sm font-bold text-emerald-600 hover:text-emerald-700 px-4 py-2 rounded-xl hover:bg-emerald-50 transition-colors",children:["Next Step",e.jsx(Q,{className:"w-4 h-4"})]})]})]})]})]},i.id)}),g.length===0&&e.jsxs("div",{className:"text-center py-16 bg-white rounded-2xl border border-slate-200/80",children:[e.jsx(A,{className:"w-16 h-16 text-slate-300 mx-auto mb-4"}),e.jsx("p",{className:"text-lg font-semibold text-slate-600",children:"No step guide sections foun
312d"}),e.jsx("p",{className:"text-sm text-slate-400 mt-1",children:"Try clearing your search query or switching categories."})]})]})]})},Qe=({options:h,initialSearchQuery:o="",onTestInSandbox:u})=>{const[m,f]=c.useState(o),[x,N]=c.useState("All"),[k,L]=c.useState({"opt-live-preview":!0,"opt-wikilinks":!0,"opt-auto-update-links":!0,"opt-readable-line-length":!0,"opt-auto-pair-brackets":!0,"opt-fold-heading":!0,"opt-plugin-restricted-mode":!1}),O=["All","Editor","Files & Links","Appearance","Core Plugins","Community Plugins"],r=h.filter(l=>{const g=x==="All"||l.category===x,S=l.name.toLowerCase().includes(m.toLowerCase())||l.description.toLowerCase().includes(m.toLowerCase())||l.howToUse.toLowerCase().includes(m.toLowerCase())||l.tags.some(i=>i.toLowerCase().includes(m.toLowerCase()));return g&&S}),p=l=>{L(g=>({...g,[l]:!g[l]}))},j=l=>{switch(l){case"Essential":return e.jsxs("span",{className:"px-2.5 py-0.5 rounded-full text-xs font-bold bg-rose-500/15 text-rose-300 border border-rose-500/30 flex items-center gap-1",children:[e.jsx(re,{className:"w-3 h-3 text-rose-400"}),"Essential"]});case"High":return e.jsxs("span",{className:"px-2.5 py-0.5 rounded-full text-xs font-bold bg-purple-500/15 text-purple-300 border border-purple-500/30 flex items-center gap-1",children:[e.jsx(ee,{className:"w-3 h-3 text-purple-400"}),"High Impact"]});case"Medium":return e.jsxs("span",{className:"px-2.5 py-0.5 rounded-full text-xs font-bold bg-blue-500/15 text-blue-300 border border-blue-500/30 flex items-center gap-1",children:[e.jsx(Z,{className:"w-3 h-3 text-blue-400"}),"Medium Impact"]});default:return e.jsx("span",{className:"px-2.5 py-0.5 rounded-full text-xs font-semibold bg-slate-800 text-slate-300 border border-slate-700",children:"Standard"})}};return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"bg-gradient-to-r from-purple-950/40 via-slate-900 to-slate-900 border border-purple-500/30 rounded-2xl p-6 shadow-xl",children:[e.jsxs("div",{className:"flex flex-col lg:flex-row gap-6 items-start lg:items-center justify-between mb-6",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 text-purple-400 text-xs font-bold uppercase tracking-wider mb-1",children:[e.jsx(V,{className:"w-4 h-4"})," Obsidian Core & Plugin Directory"]}),e.jsx("h2",{className:"text-2xl font-black text-slate-100",children:"Obsidian Settings & Options Manual"}),e.jsx("p",{className:"text-sm text-slate-400 mt-1 max-w-2xl",children:"A complete reference guide explaining every configuration switch, default value, recommended setup, and step-by-step path inside Obsidian."})]}),e.jsxs("div",{className:"relative w-full lg:w-80",children:[e.jsx("input",{type:"text",placeholder:"Search settings (e.g. WikiLinks, Live Preview, Attachments)...",value:m,onChange:l=>f(l.target.value),className:"w-full bg-slate-950 border border-slate-800 text-slate-100 placeholder-slate-500 rounded-xl px-4 py-2.5 pl-10 text-sm focus:outline-none focus:border-purple-500 transition-colors shadow-inner"}),e.jsx(J,{className:"w-4 h-4 text-slate-500 absolute left-3.5 top-3.5"})]})]}),e.jsx("div",{className:"flex flex-wrap gap-2 pt-2 border-t border-slate-800/80",children:O.map(l=>e.jsx("button",{onClick:()=>N(l),className:`px-3.5 py-1.5 rounded-xl text-xs font-semibold transition-all ${x===l?"bg-purple-600 text-white shadow-lg shadow-purple-600/30":"bg-slate-950/70 text-slate-400 hover:text-slate-200 hover:bg-slate-800/80 border border-slate-800"}`,children:l},l))})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-5",children:r.map(l=>{const g=k[l.id]??!0;return e.jsxs("div",{className:"bg-slate-900/80 border border-slate-800/90 rounded-2xl p-5 hover:border-purple-500/40 transition-all duration-300 shadow-xl flex flex-col justify-between group",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-start justify-between gap-3 mb-3",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-[10px] font-mono font-bold uppercase tracking-wider px-2 py-0.5 rounded bg-slate-950 text-purple-400 border border-slate-800",children:l.category}),e.jsx("h3",{className:"text-lg font-bold text-slate-100 mt-1 group-hover:text-purple-300 transition-colors",children:l.name})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[j(l.impactLevel),e.jsx("button",{onClick:()=>p(l.id),className:"text-slate-400 hover:text-purple-400 transition-colors p-1",title:"Simulate toggle in Obsidian",children:g?e.jsx(Be,{className:"w-7 h-7 text-purple-400"}):e.jsx(Re,{className:"w-7 h-7 text-slate-600"})})]})]}),e.jsx("p",{className:"text-xs text-slate-300 leading-relaxed mb-4",children:l.description}),e.jsxs("div",{className:"bg-slate-950 p-3.5 rounded-xl border border-slate-800/80 space-y-2 mb-4 text-xs",children:[e.jsxs("div",{className:"flex items-center gap-1.5 font-semibold text-purple-300",children:[e.jsx(ne,{className:"w-3.5 h-3.5 text-purple-400"}),e.jsx("span",{children:"How to access this setting:"})]}),e.jsx("p",{className:"text-slate-300 font-mono text-[11px] leading-normal pl-2 border-l-2 border-purple-500/50",children:l.howToUse})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs mb-4",children:[e.jsxs("div",{className:"bg-slate-950/60 p-2.5 rounded-lg border border-slate-800/60",children:[e.jsx("span",{className:"text-[10px] uppercase font-bold text-slate-500 block mb-0.5",children:"Default Value"}),e.jsx("span",{className:"font-semibold text-slate-300",children:l.defaultValue})]}),e.jsxs("div",{className:"bg-purple-950/20 p-2.5 rounded-lg border border-purple-500/30",children:[e.jsxs("span",{className:"text-[10px] uppercase font-bold text-purple-400 block mb-0.5 flex items-center gap-1",children:[e.jsx(W,{className:"w-3 h-3 text-purple-400"})," Recommended"]}),e.jsx("span",{className:"font-bold text-purple-200",children:l.recommendedValue})]})]})]}),e.jsxs("div",{className:"pt-3 border-t border-slate-800/80 flex items-center justify-between",children:[e.jsx("div",{className:"flex flex-wrap gap-1",children:l.tags.map(S=>e.jsxs("span",{className:"text-[10px] font-mono text-slate-400 bg-slate-950 px-2 py-0.5 rounded border border-slate-800/60",children:["#",S]},S))}),u&&e.jsxs("button",{onClick:()=>u(l.name),className:"flex items-center gap-1 text-xs font-semibold text-purple-400 hover:text-purple-300 transition-colors",children:[e.jsx(I,{className:"w-3.5 h-3.5"}),"Test Impact"]})]})]},l.id)})}),r.length===0&&e.jsxs("div",{className:"text-center py-12 bg-slate-900/40 rounded-2xl border border-slate-800 text-slate-400",children:[e.jsx(fe,{className:"w-12 h-12 text-slate-600 mx-auto mb-3"}),e.jsx("p",{className:"text-base font-semibold",children:"No Obsidian option matches your search"}),e.jsx("p",{className:"text-xs text-slate-500 mt-1",children:'Try searching for terms like "WikiLinks", "Live Preview", "Attachments", or "Dataview".'})]})]})},Ye=({initialSnippet:h})=>{const[o,u]=c.useState(_e),[m,f]=c.useState("note-1"),[x,N]=c.useState("split"),[k,L]=c.useState(!1),[O,r]=c.useState({useWikiLinks:!0,livePreview:!0,showProperties:!0}),p=c.useMemo(()=>o.find(t=>
312t.id===m)||o[0],[o,m]),j=c.useMemo(()=>{var d;if(!p)return[];const t=/\[\[([^\]|]+)(?:\|([^\]]+))?\]\]/g,a=[];let n;for(;(n=t.exec(p.content))!==null;)a.push({target:n[1].trim(),alias:(d=n[2])==null?void 0:d.trim()});return a},[p]),l=c.useMemo(()=>p?o.filter(t=>t.id!==p.id&&(t.content.includes(`[[${p.title}`)||t.content.includes(`[[${p.title}|`))):[],[o,p]),g=c.useMemo(()=>{const t=o.map(n=>({id:n.id,label:n.title,count:0})),a=[];return o.forEach(n=>{o.forEach(d=>{n.id!==d.id&&(n.content.includes(`[[${d.title}`)||n.content.includes(`[[${d.title}|`))&&a.push({source:n.id,target:d.id})})}),{nodes:t,edges:a}},[o]),S=t=>{u(a=>a.map(n=>n.id===m?{...n,content:t}:n))},i=()=>{const t=`note-${Date.now()}`,a=`Untitled Wiki Note ${o.length+1}`,n={id:t,title:a,tags:["wiki","draft"],status:"Draft",category:"Uncategorized",content:`---
313title: ${a}
314tags: [wiki, draft]
315status: Draft
316created: 2026-08-05
317---
318
319# ${a}
320
321Start typing your wiki article here... Use [[Obsidian Wiki Overview]] to link to other notes!`};u(d=>[n,...d]),f(t)},C=(t,a)=>{if(a.stopPropagation(),o.length<=1)return;const n=o.filter(d=>d.id!==t);u(n),m===t&&f(n[0].id)},y=t=>{S(p.content+`
322
323`+t)},s=()=>{navigator.clipboard.writeText(p.content),L(!0),setTimeout(()=>L(!1),2e3)},w=t=>{let a=t;if(a=a.replace(/^---[\s\S]*?---\n?/,""),a=a.replace(/>\s*\[!([A-Z]+)\]\s*([^\n]*)\n((?:>[^\n]*\n?)*)/g,(n,d,v,D)=>{const E=D.replace(/^>\s?/gm,""),M=d.toLowerCase();let T="border-purple-500/50 bg-purple-950/20 text-purple-200",P="📘";return["warning","caution"].includes(M)?(T="border-amber-500/50 bg-amber-950/20 text-amber-200",P="⚠️"):["tip","success"].includes(M)?(T="border-emerald-500/50 bg-emerald-950/20 text-emerald-200",P="💡"):["danger","bug"].includes(M)&&(T="border-rose-500/50 bg-rose-950/20 text-rose-200",P="🚨"),`<div class="p-4 my-4 rounded-xl border ${T} shadow-lg"><div class="font-bold flex items-center gap-2 mb-1">${P} ${v||d}</div><div class="text-xs text-slate-300 leading-relaxed">${E}</div></div>`}),a.includes("```dataview")){const n=`
324        <div class="my-4 border border-purple-500/40 bg-slate-950 rounded-xl overflow-hidden">
325          <div class="bg-purple-900/30 px-4 py-2 text-xs font-mono font-bold text-purple-300 border-b border-purple-500/30 flex items-center gap-1.5">
326            ⚡ Dataview Query Output (Simulated Database Table)
327          </div>
328          <table class="w-full text-xs text-left text-slate-300">
329            <thead class="bg-slate-900 text-purple-300 border-b border-slate-800">
330              <tr>
331                <th class="p-2.5">File Link</th>
332                <th class="p-2.5">Status</th>
333                <th class="p-2.5">Category</th>
334                <th class="p-2.5">Tags</th>
335              </tr>
336            </thead>
337            <tbody>
338              ${o.map(d=>`
339                <tr class="border-b border-slate-800/60 hover:bg-slate-900/50">
340                  <td class="p-2.5 font-bold text-purple-400">[[${d.title}]]</td>
341                  <td class="p-2.5"><span class="px-2 py-0.5 rounded text-[10px] bg-slate-800 text-slate-300">${d.status}</span></td>
342                  <td class="p-2.5">${d.category}</td>
343                  <td class="p-2.5 font-mono text-[10px] text-slate-400">${d.tags.map(v=>`#${v}`).join(", ")}</td>
344                </tr>`).join("")}
345            </tbody>
346          </table>
347        </div>`;a=a.replace(/```dataview[\s\S]*?```/g,n)}return a=a.replace(/\[\[([^\]|]+)(?:\|([^\]]+))?\]\]/g,(n,d,v)=>{const D=o.find(T=>T.title.toLowerCase()===d.trim().toLowerCase()),E=v?v.trim():d.trim(),M=!!D;return`<span class="inline-flex items-center gap-1 font-semibold ${M?"text-purple-400 underline decoration-purple-500/60 hover:text-purple-300 cursor-pointer bg-purple-500/10 px-1.5 py-0.5 rounded":"text-amber-400 opacity-80 border-b border-dashed border-amber-400 cursor-help"}" title="${M?"Click to navigate to note":"Uncreated note in vault"}">${E}</span>`}),a=a.replace(/^# (.*$)/gim,'<h1 class="text-2xl font-black text-slate-100 my-4 border-b border-slate-800 pb-2">$1</h1>'),a=a.replace(/^## (.*$)/gim,'<h2 class="text-xl font-bold text-purple-300 my-3">$1</h2>'),a=a.replace(/^### (.*$)/gim,'<h3 class="text-lg font-semibold text-slate-200 my-2">$1</h3>'),a=a.replace(/\*\*(.*?)\*\*/g,'<strong class="font-bold text-slate-100">$1</strong>'),a=a.replace(/\*(.*?)\*/g,'<em class="italic text-slate-300">$1</em>'),a=a.replace(/^- \[x\] (.*$)/gim,'<div class="flex items-center gap-2 text-emerald-400 my-1"><span class="w-4 h-4 rounded bg-emerald-500/20 border border-emerald-500 flex items-center justify-center text-[10px] font-bold">✓</span> <span class="line-through text-slate-400">$1</span></div>'),a=a.replace(/^- \[ \] (.*$)/gim,'<div class="flex items-center gap-2 text-slate-300 my-1"><span class="w-4 h-4 rounded border border-slate-600 bg-slate-900"></span> <span>$1</span></div>'),a=a.replace(/^- (.*$)/gim,'<li class="ml-4 text-slate-300 list-disc my-1">$1</li>'),a};return e.jsxs("div",{className:"bg-slate-900/90 border border-slate-800 rounded-2xl shadow-2xl overflow-hidden flex flex-col min-h-[650px]",children:[e.jsxs("div",{className:"bg-slate-950 px-6 py-4 border-b border-slate-800 flex flex-wrap items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 rounded-xl bg-purple-500/10 text-purple-400 border border-purple-500/20",children:e.jsx(I,{className:"w-5 h-5"})}),e.jsxs("div",{children:[e.jsxs("h3",{className:"text-base font-bold text-slate-100 flex items-center gap-2",children:["Interactive Ob
347sidian Vault Sandbox",e.jsx("span",{className:"text-[10px] font-mono px-2 py-0.5 rounded bg-purple-950 text-purple-300 border border-purple-800",children:"Live Simulator"})]}),e.jsxs("p",{className:"text-xs text-slate-400",children:["Test WikiLinks ",e.jsx("code",{className:"text-purple-400",children:"[[...]]"}),", Callouts, Frontmatter Properties & Graph View in real time."]})]})]}),e.jsxs("div",{className:"flex items-center gap-2 bg-slate-900 p-1 rounded-xl border border-slate-800 text-xs",children:[e.jsxs("button",{onClick:()=>N("split"),className:`px-3 py-1.5 rounded-lg font-medium transition-all flex items-center gap-1.5 ${x==="split"?"bg-purple-600 text-white shadow":"text-slate-400 hover:text-slate-200"}`,children:[e.jsx(Ie,{className:"w-3.5 h-3.5"})," Split View"]}),e.jsxs("button",{onClick:()=>N("edit"),className:`px-3 py-1.5 rounded-lg font-medium transition-all flex items-center gap-1.5 ${x==="edit"?"bg-purple-600 text-white shadow":"text-slate-400 hover:text-slate-200"}`,children:[e.jsx(_,{className:"w-3.5 h-3.5"})," Editor Only"]}),e.jsxs("button",{onClick:()=>N("preview"),className:`px-3 py-1.5 rounded-lg font-medium transition-all flex items-center gap-1.5 ${x==="preview"?"bg-purple-600 text-white shadow":"text-slate-400 hover:text-slate-200"}`,children:[e.jsx(H,{className:"w-3.5 h-3.5"})," Live Preview"]}),e.jsxs("button",{onClick:()=>N("graph"),className:`px-3 py-1.5 rounded-lg font-medium transition-all flex items-center gap-1.5 ${x==="graph"?"bg-purple-600 text-white shadow":"text-slate-400 hover:text-slate-200"}`,children:[e.jsx(R,{className:"w-3.5 h-3.5 text-purple-300"})," Graph View"]})]})]}),e.jsxs("div",{className:"flex-1 grid grid-cols-1 lg:grid-cols-12 overflow-hidden",children:[e.jsxs("div",{className:"lg:col-span-3 bg-slate-950/70 border-r border-slate-800/80 p-4 flex flex-col justify-between space-y-4",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-3 text-xs text-slate-400 font-bold uppercase tracking-wider",children:[e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx(oe,{className:"w-4 h-4 text-purple-400"})," Obsidian Vault Notes"]}),e.jsx("button",{onClick:i,className:"p-1 rounded-lg bg-purple-600 hover:bg-purple-500 text-white transition-colors p-1 text-xs",title:"Create New Wiki Note",children:e.jsx(de,{className:"w-4 h-4"})})]}),e.jsx("div",{className:"space-y-1 overflow-y-auto max-h-[380px] pr-1",children:o.map(t=>{const a=t.id===m;return e.jsxs("div",{onClick:()=>f(t.id),className:`p-2.5 rounded-xl text-xs font-medium cursor-pointer transition-all flex items-center justify-between group ${a?"bg-purple-600/20 text-purple-200 border border-purple-500/40 shadow-md":"text-slate-400 hover:bg-slate-900 hover:text-slate-200"}`,children:[e.jsxs("div",{className:"flex items-center gap-2 truncate",children:[e.jsx(ce,{className:`w-3.5 h-3.5 shrink-0 ${a?"text-purple-400":"text-slate-500"}`}),e.jsx("span",{className:"truncate",children:t.title})]}),o.length>1&&e.jsx("button",{onClick:n=>C(t.id,n),className:"opacity-0 group-hover:opacity-100 text-slate-500 hover:text-rose-400 transition-opacity p-1",title:"Delete note",children:e.jsx(pe,{className:"w-3.5 h-3.5"})})]},t.id)})})]}),e.jsxs("div",{className:"bg-slate-900/90 p-3 rounded-xl border border-slate-800 space-y-2",children:[e.jsx("span",{className:"text-[11px] font-bold text-purple-300 block",children:"⚡ Quick Snippet Inserter:"}),e.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[e.jsx("button",{onClick:()=>y(`> [!NOTE] Title
348> This is a live callout test.`),className:"px-2 py-1 rounded bg-slate-950 hover:bg-purple-950 text-[10px] font-mono text-purple-300 border border-slate-800",children:"+ Callout"}),e.jsx("button",{onClick:()=>y("[[WikiLinks Syntax|Learn Syntax]]"),className:"px-2 py-1 rounded bg-slate-950 hover:bg-purple-950 text-[10px] font-mono text-purple-300 border border-slate-800",children:"+ WikiLink"}),e.jsx("button",{onClick:()=>y("```dataview\nTABLE status, category\nFROM #wiki\n```"),className:"px-2 py-1 rounded bg-slate-950 hover:bg-purple-950 text-[10px] font-mono text-purple-300 border border-slate-800",children:"+ Dataview"})]})]})]}),e.jsxs("div",{className:`lg:col-span-9 p-5 grid gap-5 ${x==="split"?"grid-cols-1 md:grid-cols-2":"grid-cols-1"}`,children:[(x==="split"||x==="edit")&&e.jsxs("div",{className:"flex flex-col bg-slate-950 rounded-xl border border-slate-800 overflow-hidden shadow-inner",children:[e.jsxs("div",{className:"px-4 py-2.5 bg-slate-900 border-b border-slate-800 flex items-center justify-between text-xs text-slate-400",children:[e.jsxs("span",{className:"font-semibold text-slate-200 flex items-center gap-1.5",children:[e.jsx(_,{className:"w-3.5 h-3.5 text-purple-400"})," Source Editor"]}),e.jsx("button",{onClick:s,className:"flex items-center gap-1 text-slate-400 hover:text-slate-100 transition-colors",children:k?e.jsxs("span",{className:"text-emerald-400 font-semibold flex items-center gap-1",children:[e.jsx(U,{className:"w-3 h-3"})," Copied"]}):e.jsxs(e.Fragment,{children:[e.jsx(B,{className:"w-3 h-3"})," Copy Markdown"]})})]}),e.jsx("textarea",{value:p.content,onChange:t=>S(t.target.value),className:"w-full h-full min-h-[420px] p-4 bg-slate-950 text-slate-200 font-mono text-xs leading-relaxed focus:outline-none resize-none",placeholder:"Type Markdown content here..."})]}),(x==="split"||x==="preview")&&e.jsxs("div",{className:"flex flex-col bg-slate-950 rounded-xl border border-slate-800 overflow-hidden",children:[e.jsxs("div",{className:"px-4 py-2.5 bg-slate-900 border-b border-slate-800 flex items-center justify-between text-xs text-slate-400",children:[e.jsxs("span",{className:"font-semibold text-slate-200 flex items-center gap-1.5",children:[e.jsx(H,{className:"w-3.5 h-3.5 text-purple-400"})," Live Obsidian Render"]}),e.jsx("span",{className:"text-[10px] font-mono text-purple-400",children:"WYSIWYG View"})]}),e.jsx("div",{className:"p-5 overflow-y-auto max-h-[480px] prose prose-invert max-w-none text-xs leading-relaxed",dangerouslySetInnerHTML:{__html:w(p.content)}})]}),x==="graph"&&e.jsxs("div",{className:"flex flex-col bg-slate-950 rounded-xl border border-slate-800 p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsxs("h4",{className:"text-base font-bold text-slate-100 flex items-center gap-2",children:[e.jsx(R,{className:"w-5 h-5 text-purple-400"})," Vault Interactive Knowledge Graph"]}),e.jsx("p",{className:"text-xs text-slate-400",children:"Visualizing bi-directional connections between your vault notes in real time."})]}),e.jsxs("div",{className:"text-xs font-mono text-purple-300 bg-purple-950/50 px-3 py-1 rounded-lg border border-purple-800",children:[g.nodes.length," Nodes • ",g.edges.length," Connections"]})]}),e.jsx("div",{className:"relative w-full h-[360px] bg-slate-900/60 rounded-xl border border-slate-800 flex items-center justify-center overflow-hidden",children:e.jsxs("svg",{className:"absolute inset-0 w-full h-full",children:[g.edges.map((t,a)=>{const n=g.nodes.findIndex(T=>T.id===t.source),d=g.nodes.findIndex(T=>T.id===t.target),v=120+n%3*220,D=80+Math.floor(n/3)*140,E=120+d%3*220,M=80+Math.floor(d/3)*140;return e.jsx("line",{x1:v,y1:D,x2:E,y2:M,stroke:"#8b5cf6",strokeWidth:"1.5",strokeOpacity:"0.4",strokeDasharray:"4 2"},a)}),g.nodes.map((t,a)=>
348{const n=120+a%3*220,d=80+Math.floor(a/3)*140,v=t.id===m;return e.jsxs("g",{onClick:()=>f(t.id),className:"cursor-pointer transition-transform hover:scale-110",children:[e.jsx("circle",{cx:n,cy:d,r:v?18:14,fill:v?"#8b5cf6":"#334155",stroke:v?"#c084fc":"#64748b",strokeWidth:"2"}),e.jsx("text",{x:n,y:d+30,textAnchor:"middle",fill:v?"#c084fc":"#94a3b8",fontSize:"11",fontWeight:v?"bold":"normal",children:t.label})]},t.id)})]})}),e.jsxs("div",{className:"grid grid-cols-2 gap-4 text-xs pt-2",children:[e.jsxs("div",{className:"bg-slate-900 p-3 rounded-xl border border-slate-800",children:[e.jsxs("span",{className:"font-bold text-purple-300 block mb-1",children:["🔗 Outgoing WikiLinks (",j.length,")"]}),j.length>0?e.jsx("div",{className:"space-y-1",children:j.map((t,a)=>e.jsxs("span",{className:"inline-block bg-purple-950/60 border border-purple-800 px-2 py-0.5 rounded text-[11px] text-purple-300 mr-1.5",children:["[[",t.target,"]]"]},a))}):e.jsx("span",{className:"text-slate-500 italic",children:"No outgoing links in this note"})]}),e.jsxs("div",{className:"bg-slate-900 p-3 rounded-xl border border-slate-800",children:[e.jsxs("span",{className:"font-bold text-purple-300 block mb-1",children:["↩️ Backlinks Mentioning This Note (",l.length,")"]}),l.length>0?e.jsx("div",{className:"space-y-1",children:l.map(t=>e.jsx("span",{onClick:()=>f(t.id),className:"inline-block bg-slate-800 hover:bg-purple-900 cursor-pointer border border-slate-700 px-2 py-0.5 rounded text-[11px] text-slate-300 mr-1.5",children:t.title},t.id))}):e.jsx("span",{className:"text-slate-500 italic",children:"No other notes link to this file yet"})]})]})]})]})]})]})},qe=()=>{const[h,o]=c.useState(null),[u,m]=c.useState("All"),[f,x]=c.useState(""),N=["All","WikiLinks","Callouts","Properties","Dataview","Embeds"],k=r=>{navigator.clipboard.writeText(r),o(r),setTimeout(()=>o(null),2e3)},L=Ue.filter(r=>{const p=u==="All"||r.category===u,j=r.feature.toLowerCase().includes(f.toLowerCase())||r.syntax.toLowerCase().includes(f.toLowerCase())||r.explanation.toLowerCase().includes(f.toLowerCase());return p&&j}),O=[{key:"Ctrl/Cmd + N",action:"Create New Note"},{key:"Ctrl/Cmd + O",action:"Quick Switcher (Open Note)"},{key:"Ctrl/Cmd + P",action:"Open Command Palette"},{key:"Ctrl/Cmd + E",action:"Toggle Edit / Reading Mode"},{key:"Ctrl/Cmd + G",action:"Open Graph View"},{key:"Ctrl/Cmd + Shift + F",action:"Search Across Entire Vault"},{key:"Ctrl/Cmd + Click Link",action:"Open Link in New Tab"},{key:"Alt/Option + Click Link",action:"Open Link in Split Pane"}];return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"bg-slate-900 border border-slate-800 rounded-2xl p-6 shadow-xl flex flex-col md:flex-row gap-4 items-start md:items-center justify-between",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 text-purple-400 text-xs font-bold uppercase tracking-wider mb-1",children:[e.jsx(z,{className:"w-4 h-4"})," Obsidian Cheat Sheet & Hotkeys"]}),e.jsx("h2",{className:"text-2xl font-black text-slate-100",children:"Obsidian Syntax & Keyboard Reference"}),e.jsx("p",{className:"text-xs text-slate-400 mt-1",children:"Copy-pasteable Markdown snippets, WikiLinks, Callouts, Frontmatter fields, and keyboard shortcuts."})]}),e.jsxs("div",{className:"relative w-full md:w-72",children:[e.jsx("input",{type:"text",placeholder:"Filter syntax...",value:f,onChange:r=>x(r.target.value),className:"w-full bg-slate-950 border border-slate-800 text-slate-100 placeholder-slate-500 rounded-xl px-4 py-2 pl-9 text-xs focus:outline-none focus:border-purple-500"}),e.jsx(J,{className:"w-3.5 h-3.5 text-slate-500 absolute left-3 top-3"})]})]}),e.jsx("div",{className:"flex flex-wrap gap-2",children:N.map(r=>e.jsx("button",{onClick:()=>m(r),className:`px-3 py-1.5 rounded-lg text-xs font-medium transition-all ${u===r?"bg-purple-600 text-white shadow-lg shadow-purple-600/30":"bg-slate-900 text-slate-400 hover:text-slate-200 border border-slate-800"}`,children:r},r))}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:L.map((r,p)=>e.jsxs("div",{className:"bg-slate-900/80 border border-slate-800/80 rounded-2xl p-4 space-y-3 hover:border-purple-500/40 transition-all group",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-[10px] font-mono uppercase font-bold text-purple-400 px-2 py-0.5 rounded bg-purple-950 border border-purple-800",children:r.category}),e.jsx("h3",{className:"text-sm font-bold text-slate-200",children:r.feature})]}),e.jsx("p",{className:"text-xs text-slate-400 leading-relaxed",children:r.explanation}),e.jsxs("div",{className:"relative bg-slate-950 p-3 rounded-xl border border-slate-800 flex items-center justify-between",children:[e.jsx("pre",{className:"text-xs font-mono text-purple-300 overflow-x-auto pr-8",children:e.jsx("code",{children:r.syntax})}),e.jsx("button",{onClick:()=>k(r.syntax),className:"p-1.5 rounded-lg bg-slate-800 hover:bg-slate-700 text-slate-300 transition-colors",title:"Copy Syntax",children:h===r.syntax?e.jsx(U,{className:"w-3.5 h-3.5 text-emerald-400"}):e.jsx(B,{className:"w-3.5 h-3.5"})})]})]},p))}),e.jsxs("div",{className:"bg-slate-900/90 border border-slate-800 rounded-2xl p-6 shadow-xl space-y-4",children:[e.jsxs("h3",{className:"text-base font-bold text-slate-100 flex items-center gap-2",children:[e.jsx(z,{className:"w-4 h-4 text-purple-400"})," Essential Obsidian Keyboard Shortcuts"]}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-3 text-xs",children:O.map((r,p)=>e.jsxs("div",{className:"bg-slate-950 p-3 rounded-xl border border-slate-800/80 flex flex-col justify-between",children:[e.jsx("span",{className:"font-mono text-purple-300 font-bold bg-slate-900 px-2 py-1 rounded border border-slate-800 inline-block w-fit mb-2",children:r.key}),e.jsx("span",{className:"text-slate-300 text-[11px] font-medium",children:r.action})]},p))})]})]})};function ot({auth:h}){const[o,u]=c.useState("guide"),[m,f]=c.useState(()=>{if(typeof window<"u")try{const s=localStorage.getItem("obsidian_completed_steps");return s?JSON.parse(s):["step-1"]}catch{return["step-1"]}return["step-1"]}),[x,N]=c.useState(void 0),[k,L]=c.useState(""),[O,r]=c.useState(!1),[p,j]=c.useState(!1);c.useEffect(()=>{const s=()=>{j(window.scrollY>20)};return window.addEventListener("scroll",s),()=>window.removeEventListener("scroll",s)},[]),c.useEffect(()=>{typeof window<"u"&&localStorage.setItem("obsidian_completed_steps",JSON.stringify(m))},[m]);const l=s=>{f(w=>w.includes(s)?w.filter(t=>t!==s):[...w,s])},g=s=>{N(s),u("sandbox")},S=s=>{L(s),u("options")},i=()=>{const s=`---
349title: Welcome to Obsidian Wiki
350tags: [wiki, guide, obsidian]
351created: ${new Date().toISOString().split("T")[0]}
352---
353
354# Welcome to Your Obsidian Vault
355
356This starter vault template is configured with standard WikiLinks, Callouts, and Dataview options.
357
358## Core Concepts
359- [[01 - Vault Basics]]
360- [[02 - WikiLinks Syntax]]
361- [[03 - Markdown Formatting]]
362- [[04 - Dataview Queries]]
363
364> [!TIP]
365> Use \`Ctrl/Cmd + O\` to navigate between notes rapidly!
366
367## Quick Start Checklist
368- [ ] Configure your vault settings
369- [ ] Set up folder structure
370- [ ] Create your first note
371- [ ] Link notes with [[WikiLinks]]
372- [ ] Add metadata properties
373- [ ] Install Dataview plugin
374`,w=new Blob([s],{type:"text/markdown;charset=utf-8"}),t=URL.createObjectURL(w),a=document.createElement("a");a.href=t,a.download="Obsidian-Wiki-Starter-Note.md",document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(t)},C=[{id:"guide",label:"Step-by-Step Guide",icon:A},{id:"options",label:"Options Manual",icon:V},{id:"sandbox",label:"Live Vault Sandbox",icon:I},{id:"cheatsheet",label:"Syntax Cheatsheet",icon:z}],y=[{label:"Guide Steps",value:G.length,icon:A,color:"emerald"},{label:"Options Explained",value:K.length,icon:V,color:"purple"},{label:"Progress",value:`${m.length}/${G.length}`,icon:W,color:"blue"},{label:"Read Time",value:"~45 min",icon:X,color:"amber"}];return e.jsxs("div",{className:"min-h-screen bg-gradient-to-br from-slate-50 via-white to-slate-50/80 text-slate-800 font-sans antialiased selection:bg-emerald-500/20 selection:text-emerald-700",children:[e.jsxs(te,{children:[e.jsx("title",{children:"Obsidian Wiki Guide - Complete Setup & Options Manual"}),e.jsx("meta",{name:"description",content:"Step-by-step guide explaining how to use all Obsidian options, WikiLinks, Callouts, Dataview, and live vault simulation."})]}),e.jsxs("header",{className:`sticky top-0 z-50 transition-all duration-300 ${p?"bg-white/95 backdrop-blur-xl border-b border-slate-200/80 shadow-lg shadow-slate-200/20":"bg-white/80 backdrop-blur-sm border-b border-slate-200/50"}`,children:[e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 h-16 flex items-center justify-between gap-4",children:[e.jsxs($,{href:"/",className:"flex items-center gap-3 group shrink-0",children:[e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"w-10 h-10 rounded-xl bg-gradient-to-br from-emerald-500 to-emerald-600 text-white flex items-center justify-center font-bold text-lg shadow-md shadow-emerald-500/25 group-hover:shadow-emerald-500/40 transition-all duration-300 group-hover:scale-105",children:"O"}),e.jsx("div",{className:"absolute -top-1 -right-1 w-4 h-4 bg-amber-400 rounded-full border-2 border-white flex items-center justify-center",children:e.jsx("span",{className:"text-[8px] font-black text-white",children:"★"})})]}),e.jsxs("div",{className:"hidden sm:block",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-base font-extrabold tracking-tight text-slate-800 group-hover:text-emerald-600 transition-colors",children:"Obsidian Guide"}),e.jsx("span",{className:"bg-emerald-50 text-emerald-600 border border-emerald-200 text-[9px] font-extrabold px-2 py-0.5 rounded-full uppercase tracking-wider",children:"ez.wiki"})]}),e.jsx("p",{className:"text-[10px] text-slate-400 font-medium -mt-0.5",children:"The Complete Knowledge Management Masterclass"})]})]}),e.jsx("nav",{className:"hidden md:flex items-center gap-1 bg-slate-100/80 p-1 rounded-2xl border border-slate-200/60 shadow-sm",children:C.map(s=>{const w=s.icon,t=o===s.id;return e.jsxs("button",{onClick:()=>{u(s.id),r(!1)},className:`px-4 py-2 rounded-xl text-xs font-bold transition-all duration-200 flex items-center gap-2 ${t?"bg-emerald-500 text-white shadow-md shadow-emerald-500/25 scale-[1.02]":"text-slate-500 hover:text-slate-700 hover:bg-slate-200/60"}`,children:[e.jsx(w,{className:`w-4 h-4 ${t?"text-white":"text-slate-400"}`}),e.jsx("span",{className:"hidden lg:inline",children:s.label}),e.jsx("span",{className:"lg:hidden",children:s.id.charAt(0).toUpperCase()+s.id.slice(1)})]},s.id)})}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("button",{onClick:i,className:"hidden sm:flex items-center gap-2 bg-emerald-500 hover:bg-emerald-600 text-white text-xs font-semibold px-4 py-2 rounded-xl transition-all duration-200 shadow-md shadow-emerald-500/20 hover:shadow-emerald-500/30 hover:scale-105 active:scale-95",children:[e.jsx(F,{className:"w-4 h-4"}),e.jsx("span",{className:"hidden lg:inline",children:"Download Starter"})]}),e.jsxs($,{href:"/",className:"hidden sm:flex items-center gap-2 bg-slate-100 hover:bg-slate-200 text-slate-600 text-xs font-semibold px-4 py-2 rounded-xl border border-slate-200/60 transition-all duration-200 hover:scale-105 active:scale-95",children:[e.jsx(q,{className:"w-4 h-4"}),e.jsx("span",{className:"hidden lg:inline",children:"Back to Home"})]}),e.jsx("button",{onClick:()=>r(!O),className:"md:hidden p-2 rounded-xl hover:bg-slate-100 transition-colors","aria-label":"Toggle menu",children:O?e.jsx(ue,{className:"w-6 h-6 text-slate-600"}):e.jsx(Ve,{className:"w-6 h-6 text-slate-600"})})]})]}),O&&e.jsx("div",{className:"md:hidden bg-white/98 backdrop-blur-xl border-b border-slate-200/80 shadow-xl animate-slideDown",children:e.jsxs("div",{className:"px-4 py-4 space-y-3",children:[C.map(s=>{const w=s.icon,t=o===s.id;return e.jsxs("button",{onClick:()=>{u(s.id),r(!1)},className:`w-full px-4 py-3 rounded-xl text-sm font-bold transition-all duration-200 flex items-center gap-3 ${t?"bg-emerald-500 text-white shadow-md shadow-emerald-500/25":"text-slate-600 hover:bg-slate-100"}`,children:[e.jsx(w,{className:`w-5 h-5 ${t?"text-white":"text-slate-400"}`}),e.jsx("span",{children:s.label}),t&&e.jsx("span",{className:"ml-auto w-2 h-2 rounded-full bg-white/60 animate-pulse"})]},s.id)}),e.jsxs("div",{className:"pt-3 border-t border-slate-200/60 space-y-2",children:[e.jsxs("button",{onClick:i,className:"w-full px-4 py-3 rounded-xl text-sm font-semibold bg-emerald-50 text-emerald-600 border border-emerald-200 flex items-center gap-3 hover:bg-emerald-100 transition-colors",children:[e.jsx(F,{className:"w-5 h-5"}),e.jsx("span",{children:"Download Starter Template"})]}),e.jsxs($,{href:"/",className:"w-full px-4 py-3 rounded-xl text-sm font-semibold bg-slate-50 text-slate-600 border border-slate-200 flex items-center gap-3 hover:bg-slate-100 transition-colors",children:[e.jsx(q,{className:"w-5 h-5"}),e.jsx("span",{children:"Back to Home"})]})]})]})})]}),e.jsxs("main",{className:"max-w-7xl mx-auto px-4 sm:px-6 py-6 space-y-6",children:[(h==null?void 0:h.user)&&e.jsx(ae,{auth:h}),e.jsxs("section",{className:"relative overflow-hidden rounded-3xl bg-gradient-to-br from-slate-900 via-slate-800 to-slate-900 border border-slate-700/50 shadow-2xl p-6 sm:p-8",children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-emerald-500/5 via-purple-500/5 to-blue-500/5 animate-pulse"}),e.jsx("div",{className:"absolute top-0 left-0 right-0 h-1 bg-gradient-to-r from-emerald-400 via-purple-400 to-blue-400"}),e.jsx("div",{className:"absolute -top-24 -right-24 w-64 h-64 bg-emerald-500/10 rounded-full blur-3xl"}),e.jsx("div",{className:"absolute -bottom-24 -left-24 w-64 h-64 bg-purple-500/10 rounded-full blur-3xl"}),e.jsxs("div",{className:"relative flex flex-col lg:flex-row lg:items-center justify-between gap-6",children:[e.jsxs("div",{className:"space-y-4 max-w-3xl",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 bg-emerald-500/15 border border-emerald-500/30 px-4 py-1.5 rounded-full text-xs font-bold text-emerald-300 backdrop-blur-sm",children:[e.jsx(ee,{className:"w-4 h-4 text-emerald-400"}),"Complete Masterclass & Documentation",e.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-emerald-400/60"}),e.jsx("span",{className:"text-emerald-400/70",children:"v2.0"})]}),e.jsxs("h1",{className:"text-4xl sm:text-5xl font-black text-white tracking-tight leading-[1.1]",children:["Mastering"," ",e.jsx("span",{className:"bg-gradient-to-r from-emerald-300 via-purple-300 to-blue-300 bg-clip-text text-transparent",children:"Obsidian"}),e.jsx("br",{}),e.jsx("span",{className:"text-2xl sm:text-3xl font-bold text-slate-300",children:"The Ultimate Wiki & Knowledge Graph Guide"})]}),e.jsxs("p",{className:"text-sm sm:text-base text-slate-300 leading-relaxed max-w-2xl",children:["Step-by-step walkthrough of every core feature and option in Obsidian. Learn how to configure",e.jsx("span",{className:"text-emerald-300 font-medium",children:" WikiLinks"}),",",e.jsx("span",{className:"text-purple-300 font-medium",children:" Callouts"}),",",e.jsx("span",{className:"text-blue-300 font-medium",children:" Frontmatter"}),",",e.jsx("span",{className:"text-amber-300 font-medium",children:" Dataview"}),", and ",e.jsx("span",{className:"text-rose-300 font-medium",children:" community plugins"}),"with interactive real-time previews."]})]}),e.jsx("div",{className:"grid grid-cols-2 gap-3 w-full lg:w-auto 
374shrink-0",children:y.map((s,w)=>{const t=s.icon,a={emerald:"bg-emerald-500/15 border-emerald-500/20 text-emerald-300",purple:"bg-purple-500/15 border-purple-500/20 text-purple-300",blue:"bg-blue-500/15 border-blue-500/20 text-blue-300",amber:"bg-amber-500/15 border-amber-500/20 text-amber-300"},n={emerald:"text-emerald-400",purple:"text-purple-400",blue:"text-blue-400",amber:"text-amber-400"};return e.jsxs("div",{className:`p-4 rounded-2xl border backdrop-blur-sm ${a[s.color]}`,children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(t,{className:`w-4 h-4 ${n[s.color]}`}),e.jsx("span",{className:"text-[10px] font-medium uppercase tracking-wider text-slate-400",children:s.label})]}),e.jsx("div",{className:"text-xl font-black text-white",children:s.value})]},w)})})]}),e.jsxs("div",{className:"relative flex flex-wrap gap-3 mt-6 pt-6 border-t border-slate-700/50",children:[e.jsxs("button",{onClick:()=>u("sandbox"),className:"inline-flex items-center gap-2 px-5 py-2.5 bg-emerald-500 hover:bg-emerald-400 text-white font-bold text-sm rounded-xl transition-all duration-200 shadow-lg shadow-emerald-500/20 hover:shadow-emerald-500/40 hover:scale-105 active:scale-95",children:[e.jsx(I,{className:"w-4 h-4"}),e.jsx("span",{children:"Try Live Sandbox"})]}),e.jsxs("button",{onClick:()=>u("guide"),className:"inline-flex items-center gap-2 px-5 py-2.5 bg-slate-700/50 hover:bg-slate-600/50 text-slate-200 font-semibold text-sm rounded-xl transition-all duration-200 backdrop-blur-sm border border-slate-600/30 hover:scale-105 active:scale-95",children:[e.jsx(A,{className:"w-4 h-4"}),e.jsx("span",{children:"Start Learning"})]}),e.jsxs("button",{onClick:i,className:"inline-flex items-center gap-2 px-5 py-2.5 bg-slate-700/30 hover:bg-slate-600/30 text-slate-300 font-semibold text-sm rounded-xl transition-all duration-200 backdrop-blur-sm border border-slate-600/30 hover:scale-105 active:scale-95",children:[e.jsx(F,{className:"w-4 h-4"}),e.jsx("span",{children:"Download Starter"})]})]})]}),e.jsxs("div",{className:"animate-fadeIn",children:[o==="guide"&&e.jsx(He,{steps:G,completedStepIds:m,onToggleComplete:l,onSelectOption:S,onOpenSandboxWithSnippet:g}),o==="options"&&e.jsx(Qe,{options:K,initialSearchQuery:k,onTestInSandbox:()=>u("sandbox")}),o==="sandbox"&&e.jsx(Ye,{initialSnippet:x}),o==="cheatsheet"&&e.jsx(qe,{})]})]}),e.jsx("style",{children:`
375        @keyframes slideDown {
376          from {
377            opacity: 0;
378            transform: translateY(-10px);
379          }
380          to {
381            opacity: 1;
382            transform: translateY(0);
383          }
384        }
385        @keyframes fadeIn {
386          from {
387            opacity: 0;
388            transform: translateY(20px);
389          }
390          to {
391            opacity: 1;
392            transform: translateY(0);
393          }
394        }
395        .animate-slideDown {
396          animation: slideDown 0.2s ease-out forwards;
397        }
398        .animate-fadeIn {
399          animation: fadeIn 0.4s ease-out forwards;
400        }
401      `})]})}export{ot as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.