Giter Club home page Giter Club logo

breadcrumbs's People

Contributors

artem-barmin avatar chrisgrieser avatar claremacrae avatar erikthedeveloper avatar hananoshikayomaru avatar hemile avatar kometenstaub avatar mikkovedru avatar mprojectscode avatar ooker777 avatar skepticmystic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

breadcrumbs's Issues

separate panels for matrix view and breadcrumbs

Perhaps the matrix view and breadcrumbs could be separated? Most of the time I find myself needing the breadcrumbs more. Having them at the same pane makes it such that I have to scroll down to see the breadcrumbs

Calculate graphs once, with a button to refresh

Running the entire computation every time active-leaf-change fires is getting expensive.
I can initGraphs once onload, and then have a button to refresh them as desired.
The auto refresh interval can also refresh the graphs.

FR: list view as an alternative to matrix view

The matrix view is great, but for cases where I'm using small screens, my sidebars tend to be smaller, and I would prefer using a list view in that case. I would like to suggest a setting to toggle between list and matrix view.

The list view would be just like the backlink plugin's list:
image

But instead of links and unmentioned links, it would have

  • top/root
  • parents
  • siblings
  • children
    And all of these would be collapsible like the ones in backlink.

Thanks so much for the amazing work!

Matrix/List view has to be open for breadcrumbs trail to show

Makes sense, I just need to separate the two views into their own areas.

There is alot of overlap between the two view's functionality. Try find a way to reduce duplicate code. Maybe having a parent class which MatrixView and TrailView each extend

Context dependent index note

Based on the "type" of the note, it could have a different index (and therefore a different path entirely).

Maybe have a setting where the user specifies which note types lead to which indices:

{ 
'#Type/Finance': '010 Finance',
'#Type/Hobby': '020 Hobby'
 }
  • Can an object key be a string?

automatically find siblings and children

Instead of having the user create fields for child/sibling, is it possible for the plugin to search for siblings (all children of parents except itself) and children from the graph itself? That would require less maintenance from the user.

  • if A is a child of B, then C is a sibling of B if it is also a child of A.
    -if A is a child of B, then saying B is a parent of A is redundant. You only need one.

remember list/matrix view

Plugin version: 0.4.12

If I use list view, every time I restart Obsidian, it resets back to matrix view. It would be great if the state of list/matrix view could be saved in the workspace.

Thanks a lot! This plugin has become one of my favorites :)

Duplication of ties in matrix/list view

If Note A lists Note B as "child" and Note B lists Note A as "parent", the lists/matrix view will show this relationship twice. Something like:

  • Parent
    • A
    • A
  • Child
    • B
    • B

Would it be possible to show only unique values? Something like this:

  • Parent
    • A
  • Child
    • B

Thank you

Feature Request: Support RT/NT

A thesauri structure uses these elements:

Elements of a thesaurus1
A thesaurus is composed of five elements:

Descriptors (valid terms);
Non-descriptors (non-valid terms);
Hierarchical relationships;
Associative relationships;
Scope notes and definitions.
These elements are abbreviated as follows:

  U			Use
  UF			Used for
  BT			Broader term
  NT			Narrower term
  RT			Related term
  SN			Scope note
  DF			Definition

(example from)

Currently breadcrumbs supports BT only

it might be useful to follow the code here: https://github.com/jlhardes/metadataBias

results in a similar matrix to: https://ihlia.nl/search/index.jsp?q%3Asearch=gay&q%3Azoekterm.row1.field3=&lang=en

Long Term Feature request: use SKOS?

The most comprehensive organization system for digital materiel is SKOS: https://www.w3.org/TR/skos-reference/

here are the subcategories to SKOS —its probably not necessary to use all of these. TopConcept, prefLabel definition, broader, narrower, related and then the broad/close/exact/related/etc Matches would satisfy 70% of uses

skos:Concept
skos:ConceptScheme
skos:inScheme
skos:hasTopConcept
skos:topConceptOf
skos:altLabel
skos:hiddenLabel
skos:prefLabel
skos:notation
skos:changeNote
skos:definition
skos:editorialNote
skos:example
skos:historyNote
skos:note
skos:scopeNote
skos:broader
skos:broaderTransitive
skos:narrower
skos:narrowerTransitive
skos:related
skos:semanticRelation
skos:Collection
skos:OrderedCollection
skos:member
skos:memberList
skos:broadMatch
skos:closeMatch
skos:exactMatch
skos:mappingRelation
skos:narrowMatch
skos:relatedMatch

0.2.1 not populating breadcrumb view

Obsidian version: 0.12.4
Breadcrumbs plugin: 0.2.1
Dataview: 0.3.13

My breadcrumb view is empty now. Tried clean reinstall of the plugin and also disabling and re-enabling the plugin.
image

Ther are some error logs (also, I noticed that the plugin says "loading plugin" instead of "loading Breadcrumbs plugin". This is what I get when I start Obsidian. I think it might be due to dataview not having populated its index yet. Don't think there's much that can be done until Dataview provides an API to check if indexing is done.
image

This is what I get when I disable and re-enable the plugin, and switch file. I believe this is the actual issue:
image

Feature Request: Support Indexing

As per #2 — it would be nice if breadcrumbs could support the bulding of an index somewhere.

An index might also generate fields for SN (scope notes) DF (definitions) and pages for OT/PT (parent terms, tops of hierarchies)

Filter siblings which have a different relation to the parent

Siblings are notes with the same parents. However, if the current note is related to the parent through link type A and another through link type B, I would not expect those to be siblings. Is it possible to filter implied siblings to only show those with the same type of relation?

Various settings

  • Change breadcrumb trail separator (default is )
  • Show Breadcrumb trail in edit/preview/both/neither (See #19 )
  • Respect Readable line length (#24)
  • #29

Show breadcrumb trail in edit view too

Not immediately sure how to do this or if it's possible.

  • Check what the selector becomes when in edit mode.
    • Currently it is div.markdown-preview-view

I couldn't see any list

Hello, I'd like to use your amazing plugin, but it seems something wrong on my computer.

I have the index file and set a child, but I couldn't see anything in the breadcrumbs tab as follows:

image

I use Mac. Do you have any idea?

@ in file name breaks breadcrumbs

A file name starting with @ breaks links. resulting in the creation of new pages, rather than navigating to the page it self.

for example:

---
parent: [[\@bookName2019]]
---

Creates a new page.

MatrixView icon

I still use the default note icon.

  • Check on that website and ask Silver for one

Expandable list items

each link could be expanded to show the parents, siblings, and children of that!

I should just be able to recursively call <List> inside itself. But the component would need access to the functions to compute the parents, siblings, and children of the expanded note. It gets passed matrixView, so I guess it alreayd has access?

[Feature] Activate leaf if note is already open

If I click on a link in the l/m view, if the note is already open but not in the active leaf, I would like the note not to open in the current leaf, but activate the leaf where it is already open.

(This would be very useful when combined with sliding panes.)

multiple parent fields

I would like to suggest the ability to indicate multiple parent fields. This would be useful if the user has multiple fields to indicate hierarchy. If multiple parent fields exist in a file, concatenate all the links in those fields as all of its parents.
image

Bug in 7.4 (upgrade from 7.1)

Update - Resolved

Issue Resolved by leave the Index/Home Note(s) setting empty

( One of the new features added means you don't have to have an explicit index note for the trail to work)

=================================================================================

Bug in 7.4 (upgrade from 7.1)

  1. in 7.4 Breadcrumbs no longer show at top of note even when option enabled.
  2. at 7.4 neither parent nor siblings show in Breadcrumb matrix/list panel on right

Obsidian is most current release; these shots taken on system with Mac o/s current release.

Restore to 7.1 to show comparative screen shots before and after upgrade (see bar where breadcrumbs should show just narrow panel without actual breadcrumb list and matrix/list panel doesn't show parent for note being viewed)
Breadcrumbs 7 4 Screenshot of Obsidian (2021-07-08, 12-39-54 PM)
breadcrubs 7 4 pic 2
breadcrumbs 7 1 Screenshot of Obsidian (2021-07-08, 12-47-09 PM)

Setting: Customizable refresh interval for `draw()`

The breadcrumbs matrix doesn't auto refresh unless switching notes.
I can add an option for a customisable resfresh interval.

I just need to be careful about deregistering it.

setting.onChange(value => {
    plugin.interval.deregister;
    if(value && Number.isInt(value)) {
        plugin.interval = app.registerInterval(() => await matrixView.draw(), value)
    } else {
       plugin.interval.deregister()
   }
})

Uncaught Error

Hello!!

Tried to add the plugin to my laptop and it loads ad then seems to run through all of the notes but then comes up with

VM189:8605 Uncaught (in promise) TypeError: Cannot read property '0' of undefined
    at BreadcrumbsPlugin.fillTrailDiv (eval at <anonymous> (app.js:1), <anonymous>:8605:24)
    at BreadcrumbsPlugin.drawTrail (eval at <anonymous> (app.js:1), <anonymous>:8637:14)
    at eval (eval at <anonymous> (app.js:1), <anonymous>:8460:32)

Neither the list nor the matrix work

image

image

image

Nullpointer at Juggl graph creation

Hi! I've tried breadcrumbs on my vault, but got a null pointer at (I think) this line:

const linksInLine = line.match(splitLinksRegex).map(link => link.slice(2, link.length - 2))

Uncaught (in promise) TypeError: Cannot read property 'map' of null
    at eval (eval at <anonymous> (app.js:1), <anonymous>:6289:60)
    at Array.forEach (<anonymous>)
    at eval (eval at <anonymous> (app.js:1), <anonymous>:6285:15)
    at async Promise.all (index 777)
    at async getJugglLinks (eval at <anonymous> (app.js:1), <anonymous>:6280:27)
    at async getNeighbourObjArr (eval at <anonymous> (app.js:1), <anonymous>:6339:22)
    at async BreadcrumbsPlugin.initGraphs (eval at <anonymous> (app.js:1), <anonymous>:8599:30)
    at async eval (eval at <anonymous> (app.js:1), <anonymous>:8544:35)

It looks like the regex you use to split doesn't always resolve.

Support Juggl link syntax

@HEmile suggested allowing juggl syntax link types to be detected by breadcrumbs. Currently, the breadcrumbs method of grabbing links from the note does not align with the juggl syntax of - linkType [[Note]] (neither metadataCache detects these).

But the proposed syntax of [[Note name|alias|linkType]] would be visible in metadataCache.resolvedLinks, so this would be more doable

All the css classes!

This is easy to implement. Add css classes to:

  • trailDiv
  • Each span inside trailDiv
  • Do I already have classes on the matrix and list entries?

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.