- Some applications
- Quickly hide in-place some text that should not be deleted.
- Quickly insert some hidden text in-place, without affecting the structure of the blocks.
- Preparation
- Add a macro inside file
config.edn, insidemacros{}:
:hidenode "<div class='kit' data-kit='hidenode' data-what='$1' />"- The code below requires having kits inside file
custom.js. - Inside page
HideNodein Logseq, put the following code in a javascript code-block:
const previous = ["pre", "left", "previous"] const next = ["next", "post", "right"] function getKey(what){ if (previous.includes(what)) return "previousSibling" if (next.includes(what)) return "nextSibling" } logseq.kits.setStatic(function hidenode(div){ const divMacro = div.closest(".macro") const key = getKey(div.dataset.what) if (key) divMacro[key].remove() divMacro.remove() }) - Add a macro inside file
- Usage examples
- Hide towards the left
- either:
beginning {{hidenode left}}rest of the textbeginning {{hidenode pre}}rest of the textbeginning {{hidenode previous}}rest of the text
- it will render like this:
rest of the text
- either:
- Hide towards the right
- either:
rest of the text {{hidenode right}}endrest of the text {{hidenode next}}endrest of the text {{hidenode post}}end
- it will render like this:
rest of the text
- either:
- Hide in the middle
- either:
beginning {{hidenode right}}middle text {{hidenode}}endbeginning {{hidenode}}middle text {{hidenode left}}end- likewise with other keywords
- it will render like this:
beginning end
- either:
- Hide towards the left