π¦ ClawHub
Obsidian Bases (kepano)
by @hoyaryyj
Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries. Use when working with .base files, creating database-like views of...
π¦ Core Types
Global filters apply to ALL views in the base
Define formula properties that can be used across all views
Configure display names and settings for properties
Define custom summary formulas
Define one or more views
π Tips & Best Practices
YAML Syntax Errors
Unquoted special characters: Strings containing :, {, }, [, ], ,, &, *, #, ?, |, -, <, >, =, !, %, @, ` ` must be quoted.
# WRONG - colon in unquoted string
displayName: Status: ActiveCORRECT
displayName: "Status: Active"
Mismatched quotes in formulas: When a formula contains double quotes, wrap the entire formula in single quotes.
# WRONG - double quotes inside double quotes
formulas:
label: "if(done, "Yes", "No")"CORRECT - single quotes wrapping double quotes
formulas:
label: 'if(done, "Yes", "No")'
Common Formula Errors
Duration math without field access: Subtracting dates returns a Duration, not a number. Always access .days, .hours, etc.
# WRONG - Duration is not a number
"(now() - file.ctime).round(0)"CORRECT - access .days first, then round
"(now() - file.ctime).days.round(0)"
Missing null checks: Properties may not exist on all notes. Use if() to guard.
# WRONG - crashes if due_date is empty
"(date(due_date) - today()).days"CORRECT - guard with if()
'if(due_date, (date(due_date) - today()).days, "")'
Referencing undefined formulas: Ensure every formula.X in order or properties has a matching entry in formulas`.
# This will fail silently if 'total' is not defined in formulas
order:
- formula.totalFix: define it
formulas:
total: "price * quantity"
TERMINAL
clawhub install kepano-obsidian-bases