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 3
Into 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 build
The plugin:
- Parses indented bullet lists to identify hierarchical structure
- Creates unique IDs for each node
- Maintains parent/child relationships via
parent_id
andalias_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