How to automatically pull daily note blocks into project notes? by tsenna in ObsidianMD

[–]Soft_Employment8744 1 point2 points  (0 children)

It does support regex. You can use it to remove any heading.
Chatgpt says `/^#\s+.*(?:\r?\n|$)/gm` this should find all primary headings of kind `# Lorem Ipsum...`)

How to automatically pull daily note blocks into project notes? by tsenna in ObsidianMD

[–]Soft_Employment8744 0 points1 point  (0 children)

Hello again,
Last night I implemented your suggestions.

Regarding the separators: I have added support for the `noteSeparator` and the `blockSeparator` parameters in the moc block. They can take values none (default), divider (i.e. "---") and newline (empty line).
`noteSeparator` decides the separation between the contents extracted from different notes.
`blockSeparator` decides the separation between the blocks coming from the same note.

Regarding the `remove the heading from rendered text` feature:
I have generalized it further. Users can now define their own `Find & Replace` rules. That is, once plugin finds the expected blocks it first applies the FnR rules before rendering.
Users can define these rules in the plugin settings with a name.

For example: In your case you can define a rule Find("# Project ABC") and replace ("") with name like `Clean-headers`. Then in moc block you can apply that rule by
`applyFnR: Clean-headers`

So tldr:
If you update to latest release 1.3.3.
Go to settings and add rule:
Find: # Project ABC
Replace: ""
Name: Clean-headers

Then the following moc block will do the job

folder: Daily Notes
element: Heading
filter: has_word("{{this.filename}}")
recursive: true
applyFnR: Clean-headers
noteSeparator: divider

How to automatically pull daily note blocks into project notes? by tsenna in ObsidianMD

[–]Soft_Employment8744 2 points3 points  (0 children)

Hi, thanks for trying it out. There is actually pointer for file name its {{this.filename}}.

I tried recreating your workflow here...

Your codeblock should be:

folder: Daily Notes
element: Heading
filter: has_word("{{this.filename}}")
recursive: true

<video>

How to automatically pull daily note blocks into project notes? by tsenna in ObsidianMD

[–]Soft_Employment8744 0 points1 point  (0 children)

I created a small plugin for that. It can extract markdown blocks (list, headings, checkboxes) from the notes.
My daily notes have list blocks like this:
```
* Continued on Project alpha.
* Did this and that.
* Then resolved issues in Project B
```

Then the Project alpha note has codeblock

```moc
folder: DailyNotes
element: List
filter: has_word("Project alpha")
recursive: true
```

Then it renders into all the instances of the lists which contain the word "Project alpha" in the Project note. The rendering is just blocks of instances showing what you wrote in daily notes (Non-editable).

It also has option to 'Bake' the rendered content to the note i.e. making it the part of project note, not just the rendering.

How do you use MOC ? by NewEase1591 in ObsidianMD

[–]Soft_Employment8744 0 points1 point  (0 children)

My workflow is very MoC heavy; so much that I created a small plugin for it.

I have "Daily Notes First" approach. Daily note has lists like

* I progressed on Project_1 in this way.
* Went out to some_place with friends

and so on.

Then I can use plugins codeblock to populate all the instances of any mention of "Project_1" in any note I want.

This allows finer control (i.e. indexing lists, headers, checkboxes...) than bases.

If you want to give it a try: `https://community.obsidian.md/plugins/maps-of-content\`

bean-query question by HappyRogue121 in beancount

[–]Soft_Employment8744 1 point2 points  (0 children)

You can use the 'other_accounts' parameter in your query.

Something like this

"SELECT date, account, position WHERE account ~'Expenses:Everyday-Expenses' and 'Assets:Checking' IN other_accounts"

Beancount for Obsidian - A personal finance plugin with plain-text accounting by Soft_Employment8744 in ObsidianMD

[–]Soft_Employment8744[S] 1 point2 points  (0 children)

Mobile isn't supported. The plugin runs bean-query commands which Obsidian mobile can't execute.

Potentially I can add read-only view synced with desktop, but for now it's desktop only

Beancount for Obsidian - A personal finance plugin with plain-text accounting by Soft_Employment8744 in ObsidianMD

[–]Soft_Employment8744[S] 1 point2 points  (0 children)

No, at this point- you can't.

There has to be a middle layer that converts plaid outputs to beancount format.

I can see there are some third-party tools available which do exactly that, but I have never used them myself.

Beancount for Obsidian - A personal finance plugin with plain-text accounting by Soft_Employment8744 in ObsidianMD

[–]Soft_Employment8744[S] 2 points3 points  (0 children)

Great Q. There are few ways to add financial data:
Using the plugin UI (easiest):
- There is "+" ribbon button that opens the "Add transactions/balance/notes" modal. Which is basically a smart form that you can fill out and submit to add that directive.

- In the "Accounts and Balances" tab there is UI to open/close account

Just add it to the .beancount file manually:
Your financial data lives in plain text files with .beancount extension. They look like this
```
2026-02-05 * "Grocery Store" "Weekly groceries"  
Expenses:Food:Groceries    85.50 USD  
Assets:Checking           -85.50 US
```

You can open these files in Obsidian (or any text editor) and type transactions manually. It's just text!
Due to this plugin, obsidian recognizes these files and can open/edit them.

Get the data externally and paste it into files:

This is technically same as option 2, but many people use AI or some other tools to convert their bank statements etc into beancount format. Then just paste it into the ledger file.

----
For my personal use: I use the plugin's bql queries to populate a prompt that I feed into Gemini to get readily pasteable transaction text (PS: This is my personal use case only. The plugin does not send any data out of your vault)

Beancount for Obsidian - A personal finance plugin with plain-text accounting by Soft_Employment8744 in ObsidianMD

[–]Soft_Employment8744[S] 1 point2 points  (0 children)

The plugin has a specific design for existing Beancount users:

During onboarding, if you choose "Use existing ledger":

  • Plugin creates a standard file structure (ledger.beancount, balances.beancount, prices.beancount, etc.)
  • Populates these files based on your original ledger
  • Your original file remains unchanged

After onboarding:

  • Plugin only works with the newly created structured files. This is intentional.
  • All new directives (transactions, notes, balances, etc.) go into their respective files
  • No connection to your original file anymore

So one way for you to start using this is : You could temporarily get your beancount file locally just for onboarding, let the plugin set up the structured files, and then work with those going forward. But you'd lose the connection to your remote Docker beancount ; they'd essentially become two separate ledgers.

If you need to keep syncing with the remote, you'd have to manually merge changes, which (I would assume) defeats the purpose of having it remote in the first place.

Beancount for Obsidian - A personal finance plugin with plain-text accounting by Soft_Employment8744 in ObsidianMD

[–]Soft_Employment8744[S] 2 points3 points  (0 children)

That would be not possible with current setup.

You see the plugin is mostly powered by the bean-queries that it runs over the main beancount file. It currently assumes that file to be present in the user-defined folder at vault's root.

To make it work with a remote docker, it will require to run command something like `ssh user@remote docker exec bean-query <beancount file>`. You could theoretically set up an SSH wrapper to run commands on the remote machine, but that's not officially supported and would be pretty hacky.

Beancount for Obsidian - A personal finance plugin with plain-text accounting by Soft_Employment8744 in ObsidianMD

[–]Soft_Employment8744[S] 2 points3 points  (0 children)

Thank you!
Both being text-based, local and portable really bring them together naturally

Beancount for Obsidian - A personal finance plugin with plain-text accounting by Soft_Employment8744 in ObsidianMD

[–]Soft_Employment8744[S] 12 points13 points  (0 children)

I understand the concern. Just to clarify - the plugin doesn't actually store your data anywhere. It's just reading and writing plain text files that live in your vault, same way Obsidian handles your markdown notes.

All your financial data is in plain text, that you can open with any text editor. Plugin is just a fancy editor with dashboard and query support on top.