BoostNote-Legacy icon indicating copy to clipboard operation
BoostNote-Legacy copied to clipboard

Store notes as .md files instead of .cson files

Open SMontgomery opened this issue 7 years ago • 36 comments

Issuehunt badges

Would be nice if the files could be viewed by any program that can view markdown. One suggestion is to put your internal data you need as a comment at the top of the file:

<!--
type: "MARKDOWN_NOTE"
folder: "02d0f982bd56ad197fe5"
title: "My Title"
tags: []
isStarred: false
createdAt: "2017-04-23T03:30:44.232Z"
updatedAt: "2017-04-23T03:32:00.174Z"
-->

My Note Content

IssueHunt Summary

Backers (Total: $60.00)

Submitted pull Requests


Become a backer now!

Or submit a pull request to get the deposits!

Tips


IssueHunt has been backed by the following sponsors. Become a sponsor

SMontgomery avatar Apr 23 '17 17:04 SMontgomery

Or better yet, at the bottom.

aldomendez avatar Apr 23 '17 22:04 aldomendez

the benefit of the top is that there are tons of other apps and librasries that use this format so it would be more standardized

jasondavis avatar Apr 24 '17 01:04 jasondavis

Hi, @SMontgomery. I'm reluctant to implement our own style. Because I assume it costs a lot to maintain. In our future, if Boostnote will become bigger, then let's consider again :smile:

asmsuechan avatar Apr 24 '17 15:04 asmsuechan

An alternative would be to move all the metadata to the boostnote.json file (it essentially becomes the "library") and only save the actual content in the markdown files. Snippets might need to be saved in something else than md though.

loicteixeira avatar Apr 24 '17 21:04 loicteixeira

How about put metadata in the form of YAML Front Matter in front of markdown file? YAML Front Matter is being used by jekyll , Middleman , and many of other static site generators. Github can understand YAML Front Matter like this .

kohei-takata avatar Apr 24 '17 22:04 kohei-takata

@loicteixeira I agree with this being the best solution as it is the most common solution across other apps.

Also it means if using the Markdown file outside of Boostnote, then that Metadata is not going to get in the way!

Also JSON is much more popular and easier to use with other libraries as most modern libraries support it already

@kohei-takata you argument that GitHub parses the data when viewed on GitHub, they also parse JSON data in the same manner.

Just my view on the matter

jasondavis avatar Apr 25 '17 11:04 jasondavis

@loicteixeira bang on the money mate.

This is in line with how GitBooks works: a summary.md file defines the contents page - essentially a series of links. This is similar to storing the meta-data of the book/collection of notes.

I suppose the tension is what, if any, meta-data is related to the organisation of notes vs the note itself. ie maybe we still need to have meta-data stored in the head of a note?

Note Gitbook has a second file book.json for enabling plugins/additional functionality associated with that book. eg youtube viewer.

eg. This is the RootSystems (the dev owned company i work with) handbook: https://github.com/enspiral-root-systems/meta

danalexilewis avatar May 01 '17 21:05 danalexilewis

Storing it in markdown will make life of other devs even more simpler. Agree to @agentlewis for the gitbook example.

Storing it in front matter will make if more simpler as @kohei-takata told. There are many parser available for it. All the static site generators based on markdown does this, too.

kirtan403 avatar Jul 02 '17 12:07 kirtan403

I started using Boostnote recently (its awesome). I looked at the code to implement this feature and just chickened out.

It will be nice to have markdown files actually saved as independently readable files and metadata could be stored in front matter as jekyll (kramdown) supports it.

SMUsamaShah avatar Nov 11 '17 12:11 SMUsamaShah

Thanks a lot for a terrific product!

There are a couple of approaches that already exist in the Markdown community for storing metadata.

  • YAML frontmatter, supported by Github and easily supported by the majority of editors.
  • MultiMarkdown Metadata, developed by Fletcher Penney as an extension to John Gruber's Markdown standard. I believe this will also work with YAML as well.

Using an external JSON file to hold metadata is an OK workaround, but I'd suggest storing metadata related to the file in the individual file itself as YAML frontmatter (or MMD), and album and editor-specific metadata in the external JSON file. This would keep the formatted notes independent of the editor, and allow you to edit them in any markdown editor if you need to.

ebridges avatar Nov 11 '17 17:11 ebridges

yes, I'm a fan of typora, which is the best markdown editor in the world, hope I could use it to edit the content in boostnote!

flyisland avatar Dec 13 '17 01:12 flyisland

I started using Boostnote recently and was quite surprised with the fact that the actual notes are not stored as real markdown files. I can see several scenarios where this could be needed:

  • Edit/view note with an external app
  • Backup notes to a cloud (I use pCloud, for instance) and view/edit them from the phone using any markdown editor for Android/iOS
  • Easily port notes from/to Boostnote

I understand, that Boostnote is not a markdown editor, it is a note-taking app, but it seems to me that the implementation should be as standard as it can be.

And BTW, the app itself is great, the devs did a really good job. Thanks!

lpld avatar Jan 02 '18 11:01 lpld

I would prefer the idea of using markdown files with yaml front-matter. That would make it really easy to reuse the files. The current storage format as CSON is really suboptimal. It's uncommon and even doesn't have a real specification...

I have a fork of boostnote where i ported the data format to normal json because i'm planning to write a new mobile client in go + qt and couldn't find a CSON-library for go. But markdown files with yaml front-matter would also fit very well in my plans.

I could implement the parser i think, if desired.

Normal notes would be no problem, but the syntax for snippet notes could be tricky. Atm i'm thinking about putting the description in the front matter and all snippet "files" in the markdown content, separated by lines (--- tags). A heading could be used as file name and a code-block tag with language tag for the file content. This way the snippet notes could easily be rendered by any markdown editor, too.

---
type: 'snippet'
title: 'snippet title'
description: 'snippet note description'
tags: [ ]
----

# First file

```javascript

let someJSFunction (arg1, arg2) {
    ...
}
``
---

# Second file

```html
<body>some html here</body>
``

pyriand3r avatar Jun 27 '18 22:06 pyriand3r

Is this issue going to be fixed? I think this will convince a lot of folks who are currently using various markdown based schemes to switch to Boostnote (because of the ease of switching back if needed).

ecvgit avatar Nov 13 '18 03:11 ecvgit

@ZeroX-DG I would like to add an option to add or not the metadata into the YAML front matter. But where to place that option? Not in the Interface tab, maybe in a new tab Export?

daiyam avatar Nov 13 '18 09:11 daiyam

What about those options? screenshot

Better labels are welcome 😉

daiyam avatar Nov 15 '18 02:11 daiyam

@ecvgit I've just done the PR #2612 to be able to export with the metadata.

daiyam avatar Nov 15 '18 22:11 daiyam

Is export sufficient? I don't see that it solves what @lpld mentions. Also see #292

gaui avatar Dec 13 '18 02:12 gaui

I really don't think export only is sufficient, what I want is to use an external editor to modify markdown files of the BootIO directly, without export and import again.

flyisland avatar Dec 13 '18 04:12 flyisland

I don't think an export is sufficient. We want to have the option of using an external editor to edit the Markdown files if needed.

ecvgit avatar Dec 18 '18 19:12 ecvgit

Having notes stored in native markdown + frontmatter for meta is definitely a good way! Manual exporting as md doesn't help much for integration with other apps We're loose nothing when switching to frontmattered markdown files for storage: yaml supports any data structures that can be used in cson

dskopa-softdev avatar Jan 17 '19 12:01 dskopa-softdev

I have just switched from BoostNote to Notable for this reason.

https://github.com/notable/notable

I think BoostNote is superior in most respects but this is a huge issue. By having the files be plain markdown and storing them in an iCloud folder on my Mac, I can access them with apps like iaWriter on my iPad and iPhone.

I don't understand why BoostNote team uses .cson when .md is so much more useful.

Notable also uses the note title for the file name and has a sensible folder structure.

gramster avatar Feb 12 '19 18:02 gramster

Thank you for the pointer to notable

ecvgit avatar Feb 15 '19 02:02 ecvgit

It's odd that this has been open for 1.5 years now, it is one of the most upvoted and commented on issues, and yet it has not even been given a "feature request" label yet.

gramster avatar Mar 05 '19 19:03 gramster

Unfortunately, this was the issue that made me switch to Typora.

SMontgomery avatar Mar 06 '19 13:03 SMontgomery

@SMontgomery thanks for mentioning typora - it looks rad! I’m downloading it now. Are there any features you wish it had that BoostNote does?

Like you this issue is the make or brake for me so I stopped using BoostNote a while ago and was just following this issue waiting for a solution.

If this were stackoverflow I’d vote for this to be the solution to this issue.

danalexilewis avatar Mar 06 '19 20:03 danalexilewis

I'd also like to register my interest for this feature / change. I've absolutely LOVED using Boostnote now for over a year. It just feels nice to use, flows well, etc. However, using random-hashed file names makes it "impossible" for me to find I want to make an edit to on a mobile device (since the mobile app was dropped for now) since I've got well over a hundred notes. Having them stored as straight Markdown, with reasonable names as requested in https://github.com/BoostIO/Boostnote/issues/2048, would help me alot.

(I've found VNote which stores all their notes in a folder structure and as pure Markdown (with an additional meta-data section at the top of the Markdown file). I absolutely love that about VNote. But to be honest, using it is not as nice as using Boostnote. Its UI feels a little dated, though works well.)

Zeustopher avatar Mar 13 '19 15:03 Zeustopher

I would like to also state my interest in this feature. The current file format is sadly not what some people are expecting. I was looking for an application that stored the files outside databases for external editing, with vim or any other editor or viewer I desire. In the current state is like it was in a database. I cannot view it with other programs.

muniter avatar Jun 17 '19 14:06 muniter

Yes, .md file is better than .cson, any text or markdown editor tool can used on it. And we can view the files with other tools in Mobile.

wind13 avatar Sep 28 '19 07:09 wind13

@boostio has funded $60.00 to this issue.


issuehunt-oss[bot] avatar Jan 19 '20 15:01 issuehunt-oss[bot]

Hey guys.

I just submit a PR (#3445) with a propose. Hope that solution can solve this issue. :)

sudomf avatar Jan 23 '20 05:01 sudomf

@maykefreitas what happens with existing .cson notes?

arcturus140 avatar Jan 23 '20 22:01 arcturus140

@arcturus140 Good question. I'm not handling conversions in this PR. But it is a thing to discuss about.

sudomf avatar Jan 25 '20 03:01 sudomf

Storage locations are versioned: "version": "1.0" but individual notes are not. This means an upgrade must be forced for older storages. This would make it impossible to revert to an older version.

Alternatively, both formats can be used by either extending the current format with a version or handling existing notes by their extension: .cson or .md. Support for the current format can be dropped after a resonable transition time.

arcturus140 avatar Jan 25 '20 13:01 arcturus140

really waiting for this feature, not having it was a blocker to use boostnote for me.

c33s avatar Mar 06 '21 20:03 c33s

It's being 2 years and it also got funded. What is the current state of this issue?

MelvinLoos avatar Jan 20 '22 10:01 MelvinLoos