Internal abstract syntax tree

can notebooks will store notes as a json representation of a normalised abstract syntax tree.

  • can-address
    • The can-address command will take a string of can's internal AST representation through stdio and output the address of that AST.
  • can-ast-at
    • The can-ast-at command should accept a note address through stdin. It should pipe the internal AST for that address into stdout. If no note is found at that address, the process should exit with a code of 2.
  • can-md
  • can-note-graph
    • can-note-graph constructs a list of addressed notes with metadata and AST fully prepared for storage. The AST should have any internal links pointing at an address rather than a filename.