Coder Social home page Coder Social logo

vschroeter / obsidian-glossary Goto Github PK

View Code? Open in Web Editor NEW
72.0 2.0 4.0 1.2 MB

Plugin for obsidian that automatically generates virtual links for text within your notes that match with the titles or aliases of other notes in your vault.

License: Other

JavaScript 2.26% TypeScript 97.23% CSS 0.51%

obsidian-glossary's Issues

Can it be made to provide suggestion of the filename while typing?

Can it suggest an existing filename to create a link if the few initial words match? This would help in cases where we might have forgotten the full filename in the vault, especially when there are many files over time. Providing suggestions, similar to how Google does, would allow us to link to already existing files more efficiently.

Thank you for the plugin.

The console reports an error and all notes are blank.

plugin:virtual-linker:188 Uncaught TypeError: alias.trim is not a function
at eval (plugin:virtual-linker:188:56)
at Array.filter ()
at PrefixTree.addFileToTree (plugin:virtual-linker:188:23)
at PrefixTree.updateTree (plugin:virtual-linker:253:12)
at new PrefixTree (plugin:virtual-linker:117:10)
at new LinkerCache (plugin:virtual-linker:303:18)
at LinkerCache.getInstance (plugin:virtual-linker:308:30)
at new GlossaryLinker (plugin:virtual-linker:339:36)
at eval (plugin:virtual-linker:1376:24)
at t.postProcess (app.js:1:1297472)

Freezing After Plugin Installation

Hello. I have noticed that after installing the plugin, the program's interface freezes and there are delays after commands. This is especially noticeable when switching between notes, navigating internal links, moving between cells, or adding rows/columns in tables. When I disable the plugin, everything works smoothly. Is this an issue on my end or a characteristic of the plugin? Can this be optimized in some way, like creating a cache or something similar?

Prevent linking of glossary note to itself

Request:
Would it be possible to add some sort of setting that prevents the glossary note from referencing itself when you are hovering over the linked note? If this is already implemented (and I am missing something), could you please let me know what setting I need to change? Thank you so much!

Note: I have the "Exclude self-links to the current note" toggled on, but I don't think this is related to my issue
Screenshot 2024-07-18 at 2 05 55 PM

Example:

  1. Create a definition note which contains an example of the word within the note
Screenshot 2024-07-18 at 1 55 30 PM
  1. Create another note referencing that word
Screenshot 2024-07-18 at 1 59 26 PM
  1. Hover over the linked word, and then hover over the word inside the linked note (and repeat infinitely)
Screenshot 2024-07-18 at 1 57 00 PM

glossary case-sensitivity

Currently the glossary only links to words/phrases with the same case, would it be possible to alter it or add an option to allow case-insensitive auto-linking? e.g.
image

Also it doesn't link if there are symbols in front of the word/phrase like if you try to italicize a word it won't work. e.g.
image

Incompatibility with Linter plugin

When I activate the Virtual Linker plugin, the Linter plugin setting page stops working/showing. If I deactivate Virtual Linker plugin, it starts working again.

Don't propose links within backticks

If "pygame.md" exists as a note, then a backticked pygame.init is rendered as follows:
image

Now if you try to convert this to a real link via the context menu, you get a nonsensical result since links do not work within backticks: [[pygame]].init
image

Furthermore, pygame is still offered up as a convertible link and converting once more to a real link yields
image

FWIW, within triple backticks the behaviour looks correct in that virtual links are not offered.
image

T0 level plugin!

A very useful plugin, can you add a one click conversion function to real/virtual links?
For example:
Convert to real link (existing functionality)
Convert a single file to real/virtual link
Convert the vault to real/virtual link

Multiple links in same note

I'm experimenting with using this in my vault and I noticed that there are a couple of issues which are visible in the attached screen shot. As you can see if I use the same word several times "virtual linker" will render every instance as a link. This gets very "busy". In Wikipedia, and many other websites, the norm is to just link the first time, to let the reader be able to follow the link and learn, but not clutter every instance with the link.

Notice that I used the excellent feature from #6 at the beginning of the file. Kudos for using the link alias function of links to preserve the exact usage at that point in the document.

I suggest a toggle for us that prefer "render only first match of a link" (which should also be triggered by real links, e.g. my example)

Screenshot 2024-07-11 at 00 31 33

Add right click menu to convert to real link

This plugin helped me a lot because I could find potential links while browsing the body text without having to open the outgoinglinks panel

Now I have a new FR to add a way to convert some of these links to real links
For example, adding options to the right-click menu. (It could be another implementation, but this is the only one I have in mind for now

by the way, I'm not sure if you know another note-taking software siyuan, I really like siyuan's virtual reference, but there is no plugin to implement it in obsidian. Finally I found your plugin and it basically met my needs. Thanks again for your work.

Aliases get a superfluous .md extension

In my vault, the note "function" has "functions" as an alias. The "Convert to real link" feature acts differently on the alias.

In a new note, the first mention of "function" gets converted to [[function]]
whereas the first mention of "functions" gets converted to [[function.md|functions]]
with a redundant .md extension.

Note references in bulleted items seem not to be taken into account

Given input:

[[qubit]]
- qubit
- [[entropy]]
- entropy (2)
entropy (3)

qubit.md and entropy.md are pre-existing notes. Link once is enabled in the plugin.
FYI, the superscript values (41, 3) in the screenshots are reference counters from the Strange new worlds plugin. Disabling that plugin does not resolve the issue as far as I can see.

This renders as
image
I'd expect entropy (2) not to be a link candidate.

Converting entropy (2) to real link yields
image
Now entropy (3) has become a link candidate, which is unexpected.

Glossary case sensitivity

In #3 someone asked to have case insensitive matches for glossary entries. Now I want to ask for the option to have case sensitive matches instead, sorry 😅

For example I sometimes write about medical topics and thus have added the glossary entry “WHO” (World Health Organization). Now every time I write e.g. “someone who ...” in my documents, the “who” is automatically linked to the WHO glossary entry.
While this is of course not a huge issue, it can become annoying and I would love to be able to toggle case sensitivity for glossary entries back on.

Proposed links inside tables cannot be converted to real links

Insert a table and add known note names as headings or rows. Both headings and rows are recognized by virtual linker.
None of the entries can be converted to real links. Nothing happens when you try do this operation via the context (popup) menu.

In my vault, both vector and function are pre-existing notes.

| vector | function |
| ------ | -------- |
| vector | function |

I love it!

Just wanted to say thank you!

Hope you'll add the support of Live Preview soon. :)

Define glossary Source

I would love to be able to set the same or subfolder where the glossary is originating from

support the Chinese

Thanks for your work, I love this plugin, it solves a big problem
But I now have a few features,highlight potential links only if the filename is all in English. Can you add Chinese support?

"Only link once" sometimes proposes candidates for already linked terms

vector is aliased to vectors
eigenvalue is aliased to eigenvalues
eigenvector is aliased to eigenvectors
All three terms already have real links.

Not sure why eigenvalue is proposed for linking twice and vector once.
I have selected the option to "Only link once". The "Include headers" options is also selected.

image

My markdown content is here:

If $T$ has a one-dimensional invariant subspace $U$, it is generated by some non-zero [[vector]] $u \in V$, that is, $U = \{ au \mid a \in \mathbb{F} \}$. This means that $Tu = \lambda u$ for some $\lambda \in \mathbb{F}$. 

By definition, $\lambda$ is an [[eigenvalue]] of $T$ and $u$ is the [[eigenvector]] corresponding to $\lambda$.
# Example: Eigenvalues of a rotation
Consider the operator $R(x, y) = (-y, x)$, so $R: \mathbb{F}^2 \to \mathbb{F}^2$ .

Any eigenvalue of $R$ satisfies the equation $(-y, x) = \lambda(x, y$), with the solutions $y = -\lambda x$, $x = \lambda y$, which gives $y = -\lambda^2 y$ and so $\lambda = \pm i$. The two eigenvectors are
- $(1, -i$) with eigenvalue $i$
- $(1, i)$ with eigenvalue $-i$.
This means there are no eigenvalues when $\mathbb{F} = \mathbb{R}$ which makes sense, since the operator $R$ can be interpreted as a counterclockwise rotation of $\pi/2$. No vector in $\mathbb{R}^2$ is left invariant under this transformation.

In $\mathbb{C}^2$, we get the eigenvalues as calculated above.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.