Evernote .enex parser for Go.
doc, err := enex.Parse(file, enex.WithNotebookName("Imported"))
if err != nil {
return err
}
for _, note := range doc.Notes {
fmt.Println(note.Title, note.NotebookName, note.Tags)
}Note.Content keeps the original ENML content. Use enex.PlainText(note.Content) when you need a plain-text representation.
decoder, err := enex.NewDecoder(file)
if err != nil {
return err
}
for {
note, err := decoder.Next()
if errors.Is(err, io.EOF) {
break
}
if err != nil {
return err
}
fmt.Println(note.Title)
}Resource data is exposed as base64 text through Resource.Data. Call Resource.Data.Decode() to decode it. The parser also fills Resource.BodyHash with the MD5 hash of valid decoded resource bodies.