How to write [***] easily?

Hi, I’m new to Obsidian.

What I’m trying to do

In order of priority

  1. I want to be able to type [***] and not \[\*\*\*\] on the line I’m editing.
  2. I want to be able to see [***] and not \[\*\*\*\] on the line I’m editing.

Motivation:
I often use [***] to mark important items in a list.
For #1, It is very annoying to need to write 10 characters instead of 5.
For #2, the visual clutter is distracting.

Question:
Is there some way to accomplish my goal? Perhaps a keyboard shortcut, or a theme, or … anything?!

Things I have tried

I have tried

  • Two themes. (Incidentally, the California Coast theme mentioned here seemed promising, but I couldn’t find it in the theme list.)
  • Two CSS hacks. (For example, the hack called anythingyouwant.css here did not produce the desired behavior.)
  • Lots of miscellaneous manual attempts.

Typing transformer plugin, for example:
Add rule (you press 3 and asterisk and you get what you want; if that’s what you want):
'3*|' -> '\[\*\*\*\]|'

  • The | character is the cursor position you can set.
1 Like

Thanks, this looks very promising.

I’ve installed the plugin. How do I add a rule? (The README seems to give examples of rules, but I don’t know where I should write this rule. Ideally I’d like to enforce the rule globally. Is there some .rsrc file somewhere where I can place it?)

You may also want to try abbreviation expander plugin.

Why do use that combination? Would another combination suffice, which would be easier to type (and read) in edit mode suffice?

Do that markup lead/convert to something special later on, or is it just a convenience from your part that you’ve grown accustomed to?

Plugin settings:
You can set global or add a separate profile (I used to have one but deleted it):

  • It’s worthwhile to keep a markdown file with rules and just copy+paste in here.
2 Likes

Thank you.

1 Like

Would another combination suffice, which would be easier to type (and read) in edit mode suffice? […] Do that markup lead/convert to something special later on, or is it just a convenience from your part that you’ve grown accustomed to?

I’m open to another combination, but

  1. For my particular example: I experienced problems with other delimiters, like (***) or <***>. So I’m not sure what other combination I could use.
  2. In general: Problems with brackets places heavy constraints on my other note taking conventions as well, so even if some other convention for #1 could be devised, I’d still be interested in solutions (like keyboard shortcuts or themes) which would allow me to again use brackets more fluidly.

Didn’t try that.

I like the Typing Transformer’s ability to handle new line characters (\n):

## Callouts
'Ycall|' -> '> [!  ]\n> ##### Comments:  \nPerson writes:  \n>> If you look closely, you will see...  \n> \n My answer:  \n>> We have this in my language as well.  \n> \n>- Optional indentation|'

## Mermaid (make sure you escape pipe character)
'Ymerm1|' -> '```mermaid\nflowchart LR\nA["`**Word1**`"] -->\|L>R change\| B(Word2)\nB --> C[IE era root]\nC -->\|H>Wh change\| D[Word3]\nC -->\|Other change\| E[Word4]\nC -->\|Other change\| F[Word5]\n```\n\n<iframe width="1200" height="680" src="https://mermaid-js.github.io/mermaid-live-editor//edit"></iframe>\n|'
'Ymerm2|' -> '```mermaid\nflowchart\nsubgraph " "\nA["`**ETYMON**`"] --> B(Word1)\nB .->\|comment1\| D(Word2)\nB .->\|comment2\| E(Word3)\nB .->\|comment3\| F(Word4)\nend\n%%To not give a title, use spaces; empty string throws error%%\nsubgraph "  "\nF .-> G(Word5)\nend\n```\n\n<iframe width="1200" height="680" src="https://mermaid-js.github.io/mermaid-live-editor//edit"></iframe>\n|'
```
1 Like

You shouldn’t need to escape the brackets unless they are followed by brackets or parentheses that make them a Markdown link. Live Preview incorrectly highlights them, but if you switch to Reading View (which renders more correctly) you’ll see that they are just text.

The characters *** indicate strong emphasis in Markdown. I’m a little unclear on whether they do that in this specific context (and I’m not curious enough to pore over the relevant part of the CommonMark spec), but Reading View shows them as plain text so I think this is another case of Live Preview highlighting overzealously.

So semantically I think you don’t need to escape anything (tho personally I’d choose a different approach; some Markdown parsers may treats the asterisks differently). You can fix the bracket highlighting with a snippet; hopefully the same is true for the asterisks but I don’t know.

Here is the snippet for brackets:

/* 
Obsidian highlights text in single brackets because it might be a Commonmark link, which annoyingly affects bracketed text in quotes, etc. This snippet stops that (but still leaves proper links highlighted).

Courtesy of @trainbuffer https://discord.com/channels/686053708261228577/694233507500916796/1040011911229612135

Hover state covered by @stef.rausch https://discord.com/channels/686053708261228577/694233507500916796/1158476701739794453
*/

.cm-s-obsidian .cm-link.cm-hmd-barelink {
    color: var(--text-normal);
    }

.cm-s-obsidian .cm-link.cm-hmd-barelink:hover {
      color: var(--text-normal);
      text-decoration: none;
    }
1 Like

Well, well, there is a plethora of characters to choose from, so it’s just a matter of choosing something you like the look of, and which doesn’t get treated by Obsidian as markdown one way or another…

And of course, it kind of depends on your keyboard as well, so on my keyboard it’s rather easy to type the §§§paragraph sign§§§ which in most context aren’t used for anything useful. Other candidates could include exclamation marks, hashes to some extent, various quotes, and …

But I see you’ve found a solution to your case, so good for you, and happy writing!

Is there a way to override interpretation of [] as a link so that I can just use it for other things?

In the editor, the CSS assigned to [something] is cm-hmd-barelink, but I like to think of them as Schrödinger brackets: until you do decide to do something with them, they aren’t really anything. They could become a [markdown](link.md), a [reference]: link, a [^footnote], and so on.

1 Like

Use the CSS snippet that’s in the post you’re replying to.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.