I've been looking at a couple syncing issues: - between work and home (I currently schlep a laptop back and forth) - between my comfortable, tweaked, gui workstation using heavily customized Leo, and files of interest on bare bone servers.
leo_cloud looks like it will address the first one very nicely. I's a big deal. For the 2nd one I'm using the Gvim scp capability: # gvim scp://user@server//path/to/files/ I've been looking at kludges which would mimic vim's scp:// capability while working from Leo, they mostly involve rsync and inotify, If I was a better programmer I'd try to write @scp-auto and @scp-clean file types. Just saying. Thanks, Kent On Sun, Sep 24, 2017 at 3:40 PM, Terry Brown <terrynbr...@gmail.com> wrote: > The new leo_cloud plugin allows subtrees within a .leo file to be > stored in the cloud. It should be possible to support various cloud > platforms, currently git is supported (i.e. you can use GitLab or > GitHub or your own remote git server). > > A leo_cloud subtree has a top node with a headline that starts with > '@leo_cloud'. The rest of the headline is ignored. The body of this > top node is used to describe the cloud service, e.g.: > > type: Git > remote: g...@gitlab.com:tnbrown/leo_cloud_storage.git > local: ~/.leo/leo_cloud/gitlab_leo_cloud_storage > ID: shortcuts > read_on_load: ask > write_on_save: ask > > The first three lines can be repeated with different IDs to store > different subtrees at the same remote cloud location. > > read_on_load: / write_on_save: can be yes, no, or ask. If it's not one > of those three, there's a warning dialog. > > There's also a file system backend, which would look like this: > > type: FileSystem > root: ~/DropBox/leo_cloud > ID: my_notes > read_on_load: ask > write_on_save: ask > > The FileSystem backend was meant to be for development, but of course > if you map it into a folder that is sync'ed externally, as shown above, > it can serve as a cloud adapter too. > > In addition to the Git and FileSystem cloud types it should be possible > to add many others - Google Drive, OneDrive, DropBox, AWS, WebDAV, > sFTP, whatever. > > Note: https://gitlab.com/ gives you free private repos., in case you > didn't know. > > The data stored is basically headline, body, and uA (unknown > attributes). The caveat is that it must be JSON serializable, this is > to avoid pickle flavor issues. I don't think this will cause problems > except for legacy datetime objects from the todo.py plugin and set()s > in the tags plugin. I think both can be fixed easily - a custom JSON > writer can write datetime as iso string time and sets as lists, and the > tags plugin can coerce lists to sets. I think the todo.py plugin > already reads iso string time values. > > My intended use was a common synchronized todo list across machines, > which this achieves. (note to self, make sure todo icons are refreshed > properly). > > An unintended bonus is that you can use it to sync. your settings > across machines easily too. Because Leo is brilliant ;-), this: > > @settings > @keys > @leo_cloud > @shortcuts > > "just works", so now your shortcuts etc. can be stored on a central > server. > > Lightly tested, but seems to work - testing and other feedback > appreciated. > > Cheers -Terry > > -- > You received this message because you are subscribed to the Google Groups > "leo-editor" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to leo-editor+unsubscr...@googlegroups.com. > To post to this group, send email to leo-editor@googlegroups.com. > Visit this group at https://groups.google.com/group/leo-editor. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "leo-editor" group. To unsubscribe from this group and stop receiving emails from it, send an email to leo-editor+unsubscr...@googlegroups.com. To post to this group, send email to leo-editor@googlegroups.com. Visit this group at https://groups.google.com/group/leo-editor. For more options, visit https://groups.google.com/d/optout.