Code Monkey home page Code Monkey logo

md-graph's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

md-graph's Issues

Tag Pages

It would be nice if...

Tags could be associated with a page/note/node. So the tag kombucha was
either implicitly or explicitly associated with the note kombucha.md or
#kombucha.md or something like that. This is basically backwards-linking:
a link source -> sink being created by the sink, instead of the source.

Parse tags from YAML metadata

Pandoc supports tags in the YAML metadata at the top of a file. I prefer to use the YAML metadata/frontmatter for titling, tags, and datestamping so it would be nice if those tags were parsed out as well.

"Tag Trees" / "Implicit Tags" / "Tag Families"

It would be nice to give tags their own hierarchy/directed acyclic graph/graph.
Although it could probably be cyclic, it's the same as building the file graph,
just with tags. Follow the connections and build up a list of tags to grab.

For example, all files tagged kombucha are also implicitly tagged as
project, fermentation, and food. This could be set up as kombucha -> food or food -> kombucha, both work as long as it's consistent (though it
will probably be easier to represent as the former)

This would probably be done in the config file added in #7

Support config file

Add support for a config file.

  • format will be dhall or yaml.
  • default location will be $HOME/.config/md-graph
  • new flag --config to specify location

Values:

  • library root
  • include static, include nonexistant,
  • valid extension
  • tag direction

As-is this will not enable much functionality, but will enable greater functionality for other new features, like #5

Ignore identity links

Links from a note to itself should be ignored. I can't think of a reason why this information would be useful.

Enable populating & querying from a database

Parsing is pretty quick, but given a large enough library it starts to lag. Why not populate a database and query from that?

Sqlite for the database, persistent for the connection layer.

New command options:

  • --db-file for database location
  • Just populate/update nothing else
  • Populate and run a command
  • Run a command without a database, just find existing files. (Existing behavior)
  • Run a command with the database (new default)

Link context

It would be nice if...

Link text could be used as context for linking and possibly gain new insights by analyzing the common contexts of many links.

My first thought was that tags could be placed in the link text, and then queried for later, like this: [glucanobacter is in the acetic acid bacteria family #taxonomy](./some research note). I think this approach could be useful and the most straightforward, but it transgresses the principle that md-graph should not change how notes are taken.

Enrinching existing link contexts could include fuzzy matching the link text, but that seems coarse and not as useful. The next level would be analyzing the shape of relation that many links form, like a search engine.

Ignore files when querying a subgraph

It would be nice if...

When I'm querying a subgraph, I could ignore certain files or entire subgraphs and not traverse them. I might be exporting a subgraph of my kombucha research to share, but one of the files links to my top-secret kombucha recipe and its related notes.

Add inotify daemon

Add a new run command that starts the app in daemon mode, watching the library for changes. Parse new/changed files, remove links for deleted files. Will enable greater functionality for #5

Readme: Neuron links to Obsidian

The link for Neuron links to Obsidian in the Readme. I would create a pull request but I have never heard about Neuron as a wiki/markdown-tool, so have no idea what the correct link is.

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.