-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use git to version notes #114
Comments
Thanks for using HackMD. HackMD now using an algorithm called But this idea lead me to think if our DB would act like another git repo clone and have it's own commits and authorships, then you can pull from/push to your own local/remote repo to keep them synced. Before trying these things out, we must track the note revision and the authorships which both not implemented yet. |
Here is a bunch of random thoughts. A first problem is how to associate git users to users of Hackmd, but this shouldn't be too difficult... In fact, it is more of an user interface problem than a technical one. I think you should not make hackmd harder to use for users who don't need version control---ease of use is one of the appeals of the app. I believe these should see the same interface as they do now. Once that is solved, I believe you need implement two different solutions. Here are my thoughts: OT to gitI don't know how OT works, but I guess that what you have as a resut is a succession of non-conflicting changes made by different users on the document? Git to OTUpdating the DB with changes pushed to the git repo is more tricky. I would say have post-push hooks server-side that update the database. But what if there is a conflict? Can you treat them the way OT treats them? (I don't know anything about it) But yes, versioned real-time collaboration is an exciting thing. That would reconcile users of google docs (yikes), and people who prefer to stay in the comfort of their own text editor. |
Wow, you get the ideas! Brilliant! I totally agreed that hackmd should keep it easy-to-use and always has intuitive & clean UI. OT to gityes, OT did solve the conflicting changes and we can know when and set the corresponding rules for that. Git to OTI feel it's ok to let users trigger the process from git to OT instead using any hooks. It's always my pleasure to make something really useful! |
refer PR #126 for an example |
@jackycute, I suggest you take a look at NWJS (http://nwjs.io) and Electron (http://electron.atom.io) for porting a web app to the desktop with little refactoring. You probably know both, but just in case. They are just excellent. |
#218 also tells us that this doesn't neccessarily need to involve the filesystem layer, as plenty of git-enabled systems also offer HTTP JSON APIs for interaction with a git repository, such as GitHub or GitLab. |
@jackycute any progress on this pls? |
@joneepenk Hi, I'm sorry but we're in the middle of refactoring. |
@jackycute thx for the reply. just noticed it's attached to milestone 0.6.1. this is a really important feature for adoption HackMD in my team. |
Very important feature |
Any news with this? |
Sadly not. It's not a simple problem and actually needs some serious development work. It'll take time and resources. If someone feels inspired to do it, we really welcome and review PRs. 👍 |
UPDATE: Moved to #748 . |
Yes, the book mode already looks a lot like GitBook.
…On 28 February 2018 at 21:44, 林博仁(Buo-Ren Lin) ***@***.***> wrote:
Just my two cents: It would be great if HackMD's "Book mode" can be synced
with a selected Git repo with Markdown files organized like the book's
structure with folder/file style, like /README synced with
/README.{md,markdown}.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#114 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABka_NLULB-5_Mb6xE4x5gkA7d_5kvLrks5tZbrHgaJpZM4IX9dQ>
.
|
I don't see us changing the storage to Git any time soon, sorry. |
Say I installed hackcmd on my own server. I would like to communicate with some of my collaborators or students through the platform, but
The ideal world would thus to have hackmd save the files in plain text (cf issue #90 ) and version them using git. Also, when someone modifies the file online, commit the changes.
I don't know exactly how you could do that without it being too complicated, but it looks like you must already have a way to manage conflicting changes (?). Which I think is the trickiest part in this.
The text was updated successfully, but these errors were encountered: