I was inspired by freetonik and their app textpod. I wanted to add a few features that I needed for my existing workflow, and also begin to learn Python, so used this opportunity to replicate some functionality, and add the desired features.
Like textpod, you can run multiple instances, from the directory where you’d like the notes.md to be created. My workflow has been a notes.md file in each “project” folder for my day job, hence my original interest.
noteflow will spawn a new webserver instance on a new port as needed, and create an assets folder for stored images and site archives.
InstallationOR:
Note: I am no seasoned develop, be kind ;-)
I like the idea and wish you all the best with the work and learning. Idea: can we use this for read it later and bookmarks mgmt? I’m building something similar in python which starts from the idea of a bookmarking tools and links/ blogroll sharing and later will mix tasks and note taking. You start from the other side of the path I envision but you seem to have good ideas i would likely use.
Thanks much! Can you expand a bit more on the read-it-later? Right now it’s very “current folder” centric, and all notes/tasks/site archives, are stored locally in that folder it is executed from. Do you envision this feature to span “all” instances ever executed locally, with a central repository, and then linked across all instances similar to how my tasks are? Do you envision the read-it-later to be a link to the original site, or a local “archive” of the site to be read later?
Happy to take a stab at something once clarified :)
Thanks for the feedback ! I currently take a text and html archive of every link collected, associate tags automatically or ad-hoc to links based on keywords found in content/title/url and allow users to edit and make comments to any link. I’m going all or nothing approach currently for folders, so likely one instance only running next to the data which is found in the subfolders. I’m not sure about the intent of your “current folder” centric approach, for now I want to centralize all my apps data in this one so it makes sense for me to run one instance of my helpful app and manage everything I need from one dashboard. What is your need for running several instances locally? I’d love to understand and learn something.
I do not want to introduce the need of a database until it’s needed, because I like plaintext a lot and obtf/etc. The db is mostly not evolving for now, all new fields/features are implemented in the form of extra script to execute in some context, which rely on a common metadata folder and subfolders (one per note/link ID) which contains distinct file / subfolders for every optional relationship or data required, making introduction for new behaviors/extensions/plugins easier as everything is quite flat files based and the structure of the “data” is discoverable.
And the app automatically show connections between various notes and links, like :
I do not trust most of current frameworks, websites, formats to still be popular in a few years so I try to keep my stack quite boring, with technologies that have at least existed for decades, because if I build a long term archive, i want that it keeps working even in 15 years or more without having to rewrite some libs, so I avoid any kind of popular hipster tech like 11TY, React, Vue, whatever. I also do not like very much markdown and I prefer plaintext, but that’s personal taste. I have a problem with markdown being implemented differently by everyone so I consider it a bad choice for long term, unless we stick with very very basic usage, but then it limits the power of what can be expressed, so I better use plaintext and ascii art :-)
Great info! Let me noodle on it a bit. Might try a base implementation of something for tagging at the least to try it out. As far why one folder, mostly as a result of my day job habits. I’ll have a project folder for each that I’m working on, and I want my notes, tasks, links separated by said project. The one folder approach gives me that, at a trade of off course for indexing all notes, links, images, etc.
I added the +site feature, which will save the link into a link section of the notes, as well as take a snapshot of that site for that point in time. It’s not your full features, but a start. Would love some feedback if you’re willing to test it out. v0.1.4 on github/pip/brew
Hey, I just had a look, I can provide some feedback here, and go more in depth in GitHub if you like:
I can test further but I believe it should already help :-) Nice work, keep going!
FYI, I’ve address I believe all the issues, but would welcome a retest whenever you have a moment. I closed the git issue, just to make tracking issues a bit cleaner if you get a chance to retest. Thanks!
Thanks! I’ll retest :^)
I’ll have a look! Thanks for the update 😊.
Very cool!
I noticed you read the markdown file in each api call. I was wondering why. In Textpod, I decided to load the file into memory and operate on that, only accessing the file system when the notes are updated, but I’m not sure if it’s actually the best approach.
Definitely not by conscious choice :) Given I’m not a seasoned developer, hadn’t crossed my mind to do that in memory. Thinking on it, I guess the only thing I’d be worried about would be losing what’s in memory in the event of power loss, killed process, system hang, etc. Probably a small risk thought.
Thanks for the feedback! Great work on textpod!