Web-based PKM system with Markdown support and interoperability with Obsidian.
Sync Strategy with Obsidian
I use Syncthing to copy notes between different machines. The silverbullet server. Files that we want to avoid copying onto the server can be blacklisted via .stignore
like so:
.git
// most important one. this keeps track of your open panes and files in the app
.obsidian/workspace
.obsidian/workspace.json
.silverbullet.db
.silverbullet.db-wal
// Ignore the files versioned by Syncthing
.stversions
Git Sync
Additionally, I like to use silverbullet-git to sync my notes with Forgejo in order to facilitate My Publication Workflow.
Silverbullet Config
For Automatically Selecting Template
Select a page template based on the path to the note. Code lifted from this forum post:
-- Create pages from template automatically based on path
event.listen {
name = "editor:pageCreating",
run = function(e)
-- Daily Note journal template
if e.data.name:startsWith("Journal/Day/") then
return {
space.readPage("Library/Journal/New Page/Daily Note"),
perm = "rw"
}
-- Weekly Note journal template
elseif e.data.name:startsWith("Journal/Week/") then
return {
--space.readPage("Library/Templates/Weekly Note"),
perm = "rw"
}
-- Meeting template
elseif e.data.name:startsWith("Meeting/") then
return {
--space.readPage("Library/Templates/Meeting"),
perm = "rw"
}
-- Person template
elseif e.data.name:startsWith("Person/") then
return {
--space.readPage("Library/Templates/Person"),
perm = "rw"
}
-- Organization template
elseif e.data.name:startsWith("Organization/") then
return {
--space.readPage("Library/Templates/Organization"),
perm = "rw"
}
else
return
end
end
}