Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

obsidian-vault-parser

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

obsidian-vault-parser

![CI](https://github.com/coffee-cup/obsidian-vault-parser/workflows/CI/badge.svg) [![](https://img.shields.io/npm/v/obsidian-vault-parser?style=flat-square)](https://www.npmjs.com/package/obsidian-vault-parser) [![](https://img.shields.io/github/license/c

  • 0.4.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

obsidian-vault-parser

CI

Vault parser for the Obsidian note taking app.

Usage

Read an Obsidian vault from a path

import { readVault } from "obsidian-vault-parser"

const vault = readVault("./path/to/vault")
console.log(vault)

obsidian-vault-parser also has the ability to only include files that are published. You can pass an isPublished predicate in as an option. Files that do not pass this predicate will not be included in the vault.

import { readVault } from "obsidian-vault-parser"

const vault = readVault("./path/to/vault", {
  isPublished: file => file.frontMatter.published != null
})

Documentation

Vault

Represents an entire Obsidian vault.

export interface Vault {
  path: string;
  files: Record<string, VaultPage>;
  config: VaultConfig;
}

VaultConfig

Parsed contents of .obsidian/config.

export interface VaultConfig {
  theme?: string;
  vimMode?: boolean;
  attachmentFolderPath?: string;
  pluginEnabledStatus?: any;
}

VaultFile

Represents an individual file inside of a vault.

export interface VaultPage {
  path: string;
  name: string;
  tags: string[];
  links: string[];
  backLinks: string[];
  frontMatter: Record<string, any>;
  content: string;
  createdAt: number;
  updatedAt: number;
}

path

Absolute path to the file.

name

Name of the file that can be referenced by other files in the vault. This must be unique across the vault.

e.g. file with path ./foo/bar.md is bar.

tags

A list of #tags found in the file

links

Names of other files that this file [[links]] to with.

backLinks

Names of other files that link to this file.

frontMatter

Front matter parsed from the top of the file.

content

String content of the document with front matter removed.

createdAt

Birthtime of file in milliseconds.

updatedAt

Last modified date of file in milliseconds.

readVault(path: string) => Vault

Read an Obsidian Vault from a file path.

TypeScript

TypeScript types are included with this library.

Test

Run all tests

yarn test

This project was bootstrapped with tsdx.

FAQs

Package last updated on 16 Feb 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc