An Obsidian plugin that converts nested bullet lists to JSON format and uploads them to Your Common Base (YCB) while maintaining hierarchical relationships.
- Save Thread: Converts nested bullet lists to JSON format and copies to clipboard
- Upload Thread to YCB: Directly uploads nested bullet lists to YCB API with parent/child relationships preserved
The plugin processes nested bullet lists like:
- node
- nested
- nested 2
- not nested
- node 2
- node 3Into JSON format with hierarchical relationships:
[
{
"id": "node_1",
"content": "node",
"metadata": {
"alias_ids": ["node_2", "node_3"]
}
},
{
"id": "node_2",
"content": "nested",
"metadata": {
"parent_id": "node_1",
"alias_ids": ["node_4"]
}
}
]- Save Thread - Converts selected text (or entire document) to JSON and copies to clipboard
- Upload Thread to YCB - Uploads the hierarchical structure directly to your YCB instance
Access commands via:
- Command Palette (
Ctrl/Cmd + P) - Type "Save Thread" or "Upload Thread to YCB"
- Go to Settings → Plugin Options → YCB Markdown Plugin
- Configure:
- YCB URL: Your YCB instance URL (default: https://yourcommonbase.com/backend)
- YCB API Key: Your YCB API authentication token
- Download the latest release
- Extract files to
VaultFolder/.obsidian/plugins/ycb-md/ - Enable the plugin in Obsidian settings
# Clone and install dependencies
git clone [repository-url]
cd ycb-md
npm install
# Development mode with auto-compilation
npm run dev
# Build for production
npm run buildThe plugin:
- Parses indented bullet lists to identify hierarchical structure
- Creates unique IDs for each node
- Maintains parent/child relationships via
parent_idandalias_ids - For YCB upload: processes nodes in order (parents before children) to preserve relationships
- Maps internal node IDs to YCB-returned IDs for proper relationship linking
- Obsidian v0.15.0+
- Valid YCB API key for upload functionality