codimd icon indicating copy to clipboard operation
codimd copied to clipboard

Annotation

Open jackycute opened this issue 10 years ago • 14 comments
trafficstars

Let user to annotate some parts of the text or paragraph to comment and discuss. Like google doc dose. Need to do more research on this.

jackycute avatar Sep 29 '15 09:09 jackycute

love this

smdowl avatar Sep 02 '16 11:09 smdowl

:+1:

I love hackmd and the one feature that prevents me from completely switching away from Google Docs is just the ability for people to leave comments on specific lines of the doc.

Perhaps it would be easier to copy Github's inline comments, rather than the Google Docs approach?

rdbartlett avatar Sep 07 '16 06:09 rdbartlett

Hi @rdbartlett, I would prefer using the inline comment instead of issue based comments, too. Thanks for supporting us 😄

jackycute avatar Sep 07 '16 06:09 jackycute

@jackycute love hackmd. This would be a fantastic feature to add. Have you had any further thoughts on this?

rufuspollock avatar Dec 12 '16 17:12 rufuspollock

Thanks @rufuspollock ! I just take a look at gitbook and I think be able to add comments to a paragraph is enough for most use case.

So there are ways to do annotation:

  1. add in the code like a git review
  2. add in the paragraph of output html

But in both situation we still need to consider about what if the content changed? Drop the comment directly? or Keep it there?

Open for discussion here.

jackycute avatar Dec 12 '16 18:12 jackycute

In case of git you are not using the whole text. You only use the diff which has line number where you add the comment. When the diff changes the comments are dropt.

In case of HackMD you have always the whole text (correct me if I'm wrong) so in this case doing a change anywhere it would kill the whole comments which is not what we want. In case we change formatting we have to up count the line number to get the comments always in right place which doesn't scale.

So right now I'm not sure how we should be able to manage that in a scaleable way :/ Already thought about that many times for my blog but never came to a useful solution.

Maybe we can use something nearly similar to a diff. Diffs hold Line numbers and content in their data. So in case the linenumber changes you can find the point using the previous and the following lines. We can store the same information but instead of storing the code replacement we attach a comment to this.

I'm not sure if there is any library implementing this for NodeJS but in my eyes it's the way we have to go.

SISheogorath avatar Dec 12 '16 18:12 SISheogorath

Good point @SISheogorath

Actually we've done the authorship annotation (I think you know it). The code is here: https://github.com/hackmdio/hackmd/blob/master/lib/models/note.js#L328

We could do a similar things like mark a text as anchor of the comment and the comment will moving with the text changes. So if anyone delete the range of the anchor text, the comment will follow with the rest text which have more length or go up if doc isn't that long anymore.

jackycute avatar Dec 12 '16 18:12 jackycute

Instead of implementing an inline real-time annotation and conversation layer, one can already build on the Open Annotation Standard and the @hypothesis ecosystem and restrict such a feature to distinct releases, hence versions of a document. I can already download them, why not also render as HTML, too? Each receive specific commit URLs and can as such be differentiated. This could nicely integrate with the mechanics presented in https://github.com/hackmdio/hackmd/issues/114#issuecomment-270563036

Linking to an existing annotation ecosystem also opens up to additional user bases.

almereyda avatar Jan 05 '17 05:01 almereyda

This one thing stopped our team dead in their tracks from using HackMD. So... this RFE gets my enthusiastic vote as well.

taw00 avatar Jan 25 '17 14:01 taw00

Just found http://annotatorjs.org/

jackycute avatar Jan 25 '17 14:01 jackycute

@jackycute 😄 - that's something I and colleagues at Open Knowledge helped create - it is now maintained by hypothes.is folks. I should have mentioned it earlier. I also should mention http://okfnlabs.org/textus/ - it had some neat ideas but is probably not hugely relevant here (the annotation stuff there was mainly for docs that were very stable - like academic texts or books).

Also if you haven't seen it i would recommend taking a look at https://github.com/substance - @michael may have some really good experience on the hows and whys of doing comments on text docs like this.

rufuspollock avatar Jan 25 '17 15:01 rufuspollock

Annotations will change status of this project from awesome to must have. The only one feature that missing to make best self-hosted collab doc tool.

antonkomarev avatar May 01 '17 21:05 antonkomarev

For annotation to work, I'd suggest to limit it to versioned snapshots of notes. Along the way the history browser and direct accessibility of certain versions via URL could be rendered more useful, too.

almereyda avatar Oct 09 '18 22:10 almereyda

You could check https://www.fiduswriter.com/ Nicolas.

On Sat, 29 Feb 2020 at 10:43, Nicolas Wormser [email protected] wrote:

@jackycute https://github.com/jackycute any update on this ? Also considering a switch away from Google Docs but not being able to comment on a specific group of words is a blocker for my use cases.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/hackmdio/codimd/issues/27?email_source=notifications&email_token=AAMRV7DEIPCJSX4FFYOCQSTRFDMCHA5CNFSM4BQWGC42YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENLVPJI#issuecomment-592926629, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAMRV7HZPSYN35XVRQ5IOXLRFDMCHANCNFSM4BQWGC4Q .

almereyda avatar Mar 11 '20 00:03 almereyda