Use colored underline for authorship instead of background color.
This requires etherpad-lite 1.3.0 or later.
Left: original etherpad-lite; Right: ep_author_neat enabled
License: MIT
Use colored underline for authorship instead of background color
I forked a copy of the development tree, and cloned it for myself, since its my ambition to use your ep_author_neat. However, i cant get it to start... And everything else seems to be working fine. I am just trying and failing. could i email you about it?
Not really sure how to resolve this one..
In chromium (ubuntu saucy), the color underline is redrawn after every key stroke, creating a mind numbing experience of flashing confusion.
create lines 1 2 3 4 5 with content 1 2 3 4 5
delete lines 2 to 4, note that the blue author bar extends past viewable content. This is related to #5 and is a limitation introduced by the plugin hook that only returns the first line edited.
To fix this we need a way to iterate over the dom to find any future/previous lines that contain either:
a different author
OR
nothing
While typing, the authorship underline flickers below the current line, even if the line has only one author and therefore shouldn't show an underline. When I stop typing, the underline goes away as expected.
I plan to write a patch to fix this, but I have no familiarity with the code currently. Could you give me any guidance on where to look?
currently it is line based. If an author is primary for a very short line within a large paragraph mainly by another author, we should be able to detect that and make the primary author of the whole paragraph primary as well for that line.
If there are empty lines between two chunks of primary author, both chunks show the name. the second one can be omitted.
I really wish I could turn off the underlining though, because it is super distracting as it flashes every character
When refreshing a pad that has unnamed authors it shows up as "null" rather than Unknown author.
create 3 lines
write in them
1
2
3
then delete 2, you wont get an authorname on 3 unless you edit 3
I assume this is for css manager to work? should this be supplied by core?
see #1
it seems updateLineNumbers is the right place to add hook.
master is at v0.0.33 is committed, but the published version is v0.0.31. Would it be possible to publish the latest version?
I have a big pad with ~3500 lines and ~170k revisions. If i install this plugin i have to click "continue execute this script" 5 times in Firefox before i can do anything in the Pad. On a small Pad it is doing really nice.
Hi Chia-liang,
this is the issue regarding the not shown line numbers when your great plugin is acitvated.
Thanks
This plugin removes the file numbers. Can we get them back?
acePostWriteDomLineHTML fires after the css is applied
Hi,
cool addon! Looks really neat and works almost flawlessly. :)
When starting a pad I get the following warning in the browser console:
UNSETTLED FUNCTION BUG IN HOOK FUNCTION (plugin: ep_author_neat, function name: ep_author_neat/static/js/index:aceEditEvent, hook: aceEditEvent): The hook function neither called the callback nor returned a non-undefined value. This is prohibited because it will result in freezes when a future version of Etherpad updates the hook to support asynchronous behavior. PadName line 24 > injectedScript line 24 > Function:67:1793
callHookFnSync https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:67
callAll https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:67
callAll https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:67
ee https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
te https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
ue https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
i https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
(Async: setTimeout handler)
r https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
atMost https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
ue https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
ee https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
te https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
ue https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
i https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
(Async: setTimeout handler)
r https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
atMost https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
ue https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
ee https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
te https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
ue https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
i https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
(Async: setTimeout handler)
r https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
atMost https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
ue https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
ee https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
te https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
ue https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
i https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
(Async: setTimeout handler)
r https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
atMost https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
ue https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
ee https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
te https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
ue https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
i https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
(Async: setTimeout handler)
r https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
atMost https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
ue https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
ee https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
te https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
ue https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
i https://my.ether.pad/p/PadName line 24 > injectedScript line 24 > Function:5
If I can help with fixing this I'd be happy to. Thanks again!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.