Create Tags for Every Block on a Page

I have a page titled ‘Cats’ in Logseq, and I want all the blocks within that page to automatically have the tag ‘#animals’. Is it possible to achieve this without manually indenting each note under a ‘#animals’ parent tag? I’m looking for a more robust and organized approach since I will be adding many indentations, and I don’t want it to become messy.

I would suggest to reconsider your overall approach.

  • Indentation in Logseq is not particularly messy:
    • Can collapse branches.
      • Click the arrow on the left.
    • Can focus the view on single branch.
      • Click the bullet on the left.
    • Some nodes (like a cat) should probably be separate pages.
  • Indenting multiple blocks is possible, after selecting them:
    • Ctrl + A a few times to select all.
    • Tab to indent.
  • I’m not aware of a way in Logseq to apply a tag to multiple blocks at once.
    • This sounds like a job for a plugin.
    • It is possible at the markup level in external editor with regular expressions.
  • I doubt that this is a good idea.
    • Animals is a superset of cats, therefore it should be a property of the Cats page as a whole.
      • Properties of a page can be set on its first block.
      • Properties can apply to individual blocks as well, and they support plenty of values.
    • I would use singular (animal and cat) instead of plural (animals and cats).