Skip to content

Commit

Permalink
[README,#50][s]: add feature checklist in README.
Browse files Browse the repository at this point in the history
summarized version of job stories in https://datahub.io/notes/markdowndb.

Also added to roadmap epic.
  • Loading branch information
rufuspollock committed Nov 16, 2023
1 parent a6d9bd7 commit 20c4ae4
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,29 @@ MarkdownDB is a javascript library for treating markdown files as a database --

**🚧 MarkdownDB is in its early development stage**

## Features and Roadmap

- [x] **Index a folder of files** - create a db index given a folder of markdown and other files
- [ ] BONUS Index multiple folders (with support for configuring e.g. prefixing in some way e.g. i have all my blog files in this separate folder over here)
- [x] **Command line tool for indexing**: Create a markdowndb (index) on the command line

Extract structured data like:

- [x] **Frontmatter metadata**: Extract markdown frontmatter and add in a metadata field
- [ ] deal with nested frontmatter (? what does this mean?)
- [ ] deal with casting types e.g. string, number so that we can query in useful ways e.g. find me all blog posts before date X
- [ ] **Tags**: Extracts tags in markdown pages
- [x] Extract tags in frontmatter
- [ ] Extract tags in body like `#abc`
- [ ] **Links**: links between files like `[hello](abc.md)` or wikilink style `[[xyz]]` so we can compute backlinks or deadlinks etc (see #4)
- [ ] **Tasks**: extract tasks like this `- [ ] this is a task` (See obsidian data view)

Data enhancement and validation

- [ ] **Computed fields**: add new metadata properties based on existing metadata e.g. a slug field computed from title field; or, adding a title based on the first h1 heading in a doc; or, a type field based on the folder of the file (e.g. these are blog posts). cf https://www.contentlayer.dev/docs/reference/source-files/define-document-type#computedfields. #54
- [ ] **Data validation and Document Types**: validate metadata against a schema/type so that I know the data in the database is "valid" #55
- [ ] BYOT (bring your own types): i want to create my own types ... so that when i get an object out it is cast to the right typescript type

## Quick start

### You have a folder of markdown content
Expand Down

0 comments on commit 20c4ae4

Please sign in to comment.