@-mention support for “People” (identities)

I don’t seem to be able to add the glyph to the settings. I have Font Awesome 5 OTF installed but when I copy the glyph and paste it into Obsidian I get an icon with five or so vertically stacked lines.
Would you mind explaining a bit more which steps you took to install the font and copy the glyph? Thanks!

it would be great if this could interface with Wikidata in some way too Wikidata

1 Like

If you’re just looking for any icon (rather than that specific one), you could use the unicode person silhouette symbol: :bust_in_silhouette:

It works fine in Windows and Mac filesystems, and is allowed as part of your note name.

So rather than a @John note, you could have a 👤John note.

No special fonts needed, just copy and paste the symbol from this comment.

Thats a good solution too and definitely more portable. Btw I like the Templater solution you posted, thats almost exactly what I need. Now I just want to be able to “@” people OR dates (as in nldates), the way you can in Notion or google docs

@janpeeters you need to both install the font in your OS, and tell Obsidian to use the font for rendering. You’ll want to add it to your font list, but after your desired primary font, that way it only uses Font Awesome font for characters it can’t find in the primary font.

For example my font list is “system-ui”, then “Font Awesome 5 Free Regular”, then “Font Awesome 5 Brands Regular”

If you only want this for the supercharged links application there is probably some clever CSS to just use the svg for those icons. I have the font installed because I like to use the font awesome icons throughout my notes.

Ooh that’s a great plugin, thanks for linking it. I might fork it and add the people aspect.

Your post inspired me to go see how close to this I can get with currently-exiting plugins. I got 90% of the way there using a combination of Supercharged Links with Style Settings plus Dataview.

This:

[[Sally Smith]]'s husband is: `= [[Sally Smith]].Spouse`. 
Her children are `= [[Sally Smith]].Children`. 
She lives in `=[[Sally Smith]].Location`, and works at `=[[Sally Smith]].Organization`.`.

Renders like this:


This method actually works really well, except for the fact that it only renders correctly in Read Mode (or, oddly enough, when the content is inside a callout). More details on how I did this can be found in this post, where I am looking for help to resolve the rendering issue in Edit/Live Preview mode:

1 Like

Thanks @AlanG And @ryanc. I didn’t realize that adding a font to your font stack meant adding in it the Obsidian font list. And keeping it portable is also an excellent idea.
I do like the circular person a lot though because it blends nicely with the typeface I use, so I will have to weigh both possibilities.

Update: @AlanG I just tested for portability but when I open a note in e.g. Panda or another .md editor I don’t see the icons in the links. Can you explain a bit more how using a custom font instead of emoticons would be less portable?

A custom font requires you to save and deploy the font everywhere you want to use it.

The person emoji above is just a normal “letter” - it’s Unicode character U+1F464. The letter ‘A’ is Unicode character U+0041.

An emoji character is stored with the document even if the particular font/app (Panda for example) won’t display it. The emoji character is still stored in the .md file and will display on any system which does support the Unicode emoji characters.

Thanks for the explanation. You’re right, it’s indeed not portable to have to install the font.

But regarding the showing up as a Unicode character, it looks like no data is added in the file.
When I create a .md file with a supercharged link like this:

It looks like this in the file tree:

20220926 Obsidian A testperson - Notes - Obsidian v0.16.3@2x

And when I open the file in TextEdit or BBEdit in plaintext. I don’t see any code.
The ‘A’ before Testperson is for sorting purposes because I wanted to avoid publishing the name of real people.

Maybe you can check what you see in a file with a custom font icon?

Could be that the plugin just does some smart trickery in the background and adds it as a ::before or ::after with CSS when parsing the note in Obsidian.

1 Like

You might be misunderstanding my post. I don’t use supercharged links, I’m saying you can put the actual emoji character into the note title / link text.

Literally call your note 👤A testperson and link to it with [[👤A testperson]].

Ah okay, thanks for that clarification.

This is neat work, @cwhiii ! But the 10% that’s missing is pretty key for my interests: using @-syntax instead of [[wiki link style]]. The appeal for me is to make content cross-publish compatible and cross-platform familiar, and most of the digital world understands and actively uses @ as the system for addressing people.

I’m building something that combines Obsidian with a social platform so that people can interplay with one another while using Obsidian for their own little “nook” on the platform (profile+more), and to make it truly social it’ll have to support @ for people. It may just become part of the platform-specific Obsidian plugin, in the end.

This alt-@ shortcut is cool. I type 6 keys for the same result: “[[ppl/”, then another 2 to finish “]]”

You can make a Templater template which contains just [[ppl/ and then insert that with a single hotkey (for instance Alt+@). You should also be able to hit Enter to finish rather than typing ]].

That’s a start. I actually want to go further. I want to be able to add a person with as little effort as possible. Right now I do this:

  1. Search for the person already existing (^O ppl/ )
  2. Go to or add the person to the right folder (enter)
  3. Add the template for a person (^P template insert enter people enter)
  4. Fill in the name field (arrow back up to the top, have to reenter the name)
  5. Fill in the fields like Company:: and Title:: I’d love autocomplete on this, but right now I have to manually type something like Software Engineer hundreds of times

This is so much easier with supertags, but that’s a distant hope in Obsidian

This could be easy with @kemayo 's smart-links plugin if it added internal links. it could transform @PersonName into [[PersonName]] like this @([A-Z][0-9a-z_]+[A-Z][0-9a-z_]+) => [[$1]] or to transform names without the capitalization @([a-zA-Z0-9_]+) => [[$1]]

2 Likes

I use a similar process, but with the addition of a few plugins, I’ve made it much more streamlined.

  • I have a Contacts folder, with sub-folders for various types of contact – a folder for colleagues, external contacts, external organisations, etc.
  • I have a template for each of these folders, with a bunch of things pre-filled – here’s a slightly-redacted version)
  • In my Templater config, I have a folder template set up for each of the folders above
  • I use the “Rapid Notes” plugin to have a prefix for each folder – for example, ce is for Contacts/External, and cw is for Contacts/My company

With all this in place, to create a new contact, I simply hit ctrl/cmd+shift+n, then enter something like cw ControlAltPete to create a new note in the right folder with various bits and bobs pre-filled.

I typically follow this workflow in preparation for meetings (at the start of each day) – I create the note for the session, with placeholder links to the people, then fill them in in a new tab or window. I also do a weekly audit using the Dangling Links plugin to fill in any gaps I missed.

I came to this thread wanting @ mentions, but I just sat down to write out how I would want them to work, and one of the big issues I see is that with the existing [[...]] syntax, the scope is clear, so one can have spaces in names. With @... syntax, you have to split on whitespace – so while I can currently reference [[Barry van Oudtshoorn]], or alias [[New South Wales Government|NSW Gov]], I don’t know how I could do that with @-mentions.

Perhaps @-mentions could work a bit like embeds? So a syntax more like this:

The big difference would be allowing one-word references to omit the square brackets – although I would be equally happy if it were simply possible to do a scoped page search when entering @, and have Obsidian auto-expand that to @[[...]]. (Edit: which is what I see @AlanG gets 90% of the way towards earlier in this thread…)

1 Like

Thanks for the shout-out. I thought I would edit the post with a small update and with my current script which uses Dataview to make a nice improvement by sorting your people from most-mentioned to least.

I have also changed to using the :bust_in_silhouette: character rather than the @, so now instead of a @John note, I have a 👤John note. Everything still works the same - this isn’t an icon or a special font, it’s an emoji character and you can just copy and paste it, and it also works perfectly well in filenames.

In a note it looks like this:

image

And here it is in Windows Explorer - no issues putting it in a file name:

image

1 Like