Extract parser and publish it as a separate crate #62
Replies: 2 comments
-
Hey @ngirard, Doing this has crossed my mind in the past as well. While it's not as trivial as simply extracting that code and publishing it separately, the refactoring I've done in the last 2 or so versions has made it easier to do something like this. Partly as a note-to-self, some of the things that should happen for this:
I'm unsure how I feel about immediately publishing this logic as a separate crate, partly because most of the tests for the parsing logic are integration tests which rely on more than just this piece of code and so cannot be lifted over without changes. Would you accept having the entire |
Beta Was this translation helpful? Give feedback.
-
@zoni, thanks for your reply and apologizes for being slow to respond, I'm being a bit overwhelmed with my work.
Please take your time, there's no rush here on my side.
My project has different needs than Obsidian-export (I'm aiming at watching for file changes within a vault and maintaining an index in an SQLite database), so based on my first look to your code, even if you made quick arrangements for me, I'm not even sure I could benefit from them immediately. I'd suggest taking the long run at your own pace, refactoring your code when you can. It wouldn't be a problem at all to me if you needed several months before publishing your parser as a separate crate. I'll celebrate when it's out ! Cheers |
Beta Was this translation helpful? Give feedback.
-
Hi,
let me start by expressing my gratitude for your efforts into this nice project !
Your project is the only one (in Rust) I know of that parses Obsidian files properly.
It would be great if you made the parser available to other projects (including the one I'm trying to implement as I'm writing) !
Skimming through your code, that would be the whole contents of
references.rs
, plus the YAML and Markdown parsing logic embedded withinExporter::run()
fromlib.rs
. I might have missed something, but I guess you'll know better ;-)Cheers
Beta Was this translation helpful? Give feedback.
All reactions