Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
892 commits
Select commit Hold shift + click to select a range
18eb451
only show the info icon if we are lossy on at least one field
Aug 21, 2018
6946f24
latest version of notatrix & rebuild
Aug 21, 2018
e23fcca
orthography
ftyers Aug 21, 2018
824af12
fix empty scroll bar issue on firefox linux
Aug 22, 2018
630a626
fix paths in "modes"
Aug 22, 2018
2ae3ee9
fixing latex export
Aug 22, 2018
a110142
better model for Rooms that (hopefully) won't crash as frequently
Aug 23, 2018
beaf0b1
fix progress bar issue and invalid edge issue
Aug 23, 2018
7addbab
reimplement the cycle detector
Aug 23, 2018
0727257
only draw one dependency if we're not enhanced
Aug 23, 2018
080be45
make sure to re-enable tabs once we make their format valid again
Aug 23, 2018
35a8e6c
some tests for dependency validation (not complete)
Aug 23, 2018
46210a2
get rid of awkward scroll bar on the #status container in linux chromium
Aug 23, 2018
d75fcb1
latest notatrix version and rebuild
Aug 23, 2018
b0e189c
First draft of the new README, some things are just outlined
keggsmurph21 Aug 31, 2018
a292d0b
formatting fixes
keggsmurph21 Aug 31, 2018
020566d
some how-to-use fields filled in
keggsmurph21 Sep 2, 2018
b274f37
Update README.md
jonorthwash Nov 9, 2018
b657249
Fix table view deleting words
diogoscf Nov 17, 2018
e5f0863
Merge pull request #327 from diogoscf/master
keggsmurph21 Nov 17, 2018
326d348
Fix pressing enter disabling navigation
diogoscf Nov 23, 2018
3bd24eb
Merge pull request #329 from diogoscf/master
jonorthwash Nov 24, 2018
e61dacf
Fixes table view not showing dependencies
diogoscf Nov 25, 2018
194f2c9
Fix text disappearing when cloumn is expanded
diogoscf Nov 26, 2018
c264a4c
Merge pull request #332 from diogoscf/master
jonorthwash Nov 28, 2018
496d7cd
Fix Autocomplete box width
diogoscf Nov 28, 2018
58efb06
Merge pull request #336 from diogoscf/master
jonorthwash Nov 29, 2018
cd1c794
small changes to the scraper for better output
keggsmurph21 Dec 12, 2018
fb4985d
remove old dependencies
keggsmurph21 Dec 13, 2018
3fd2d59
move the ud scraper out of this project and into another (keggsmurph2…
keggsmurph21 Dec 13, 2018
032fe0c
add partially finished install script, needs work still
keggsmurph21 Dec 13, 2018
8b6fadd
uncommitted changes
Jan 7, 2019
67eb0ff
do merge
Jan 7, 2019
7b4dd51
add more Client documentation, build that documentation into Markdown…
Jan 7, 2019
e1c6aa9
update dependencies to actual ones
yaskevich Apr 9, 2019
de0fa7a
chat state change
yaskevich Apr 9, 2019
ef4f904
Merge pull request #342 from yaskevich/master
jonorthwash Apr 12, 2019
6290056
rebuilt bundle.js
yaskevich Apr 25, 2019
6b2a080
migration to gulp 4
yaskevich Apr 28, 2019
7f242d7
babel preset fix
yaskevich May 27, 2019
a9d8600
Merge pull request #348 from yaskevich/master
jonorthwash May 30, 2019
2e0ec7d
fixing work in static/offline mode
yaskevich Jun 2, 2019
8c390ed
modals on Windows (ejs bug)
yaskevich Jun 2, 2019
3159dc6
upload in standalone mode, UI fixes, build minification
yaskevich Jun 10, 2019
6ebe7e9
UI, build fixes, error handling
yaskevich Jun 19, 2019
7f4243f
code reindent and minor fixes in UI
yaskevich Jun 26, 2019
57960e5
updated readme with beginnings of feature grid
jonorthwash Jun 26, 2019
352f144
oops, table was wrong
jonorthwash Jun 26, 2019
4e6bc19
examples of most uses
jonorthwash Jun 26, 2019
3f6a5b5
better table?
jonorthwash Jun 26, 2019
d62b5b0
betterer table?
jonorthwash Jun 26, 2019
22abd7e
small fix: differentiating upload from main and internal page
yaskevich Jun 26, 2019
9822120
tabs in index.ejs
yaskevich Jul 23, 2019
3ee62a8
tabs in index.html
yaskevich Jul 23, 2019
1b66643
Merge pull request #356 from yaskevich/master
jonorthwash Jul 25, 2019
af27e38
Bump mixin-deep from 1.3.1 to 1.3.2
dependabot[bot] Nov 2, 2019
15fd199
Fix #381: prevent corpus modifications from resetting the index
Nov 26, 2019
04da0b7
Bump cached-path-relative from 1.0.1 to 1.0.2
dependabot[bot] Nov 26, 2019
df3acbc
Bump extend from 3.0.1 to 3.0.2
dependabot[bot] Nov 26, 2019
1157e9a
Bump lodash from 4.17.10 to 4.17.15
dependabot[bot] Nov 26, 2019
20ca12b
Create README.md
jonorthwash Dec 9, 2019
5d1ff25
keyboard: Avoid setting cursor to textarea end on change
keggsmurph21 Feb 1, 2020
84631f7
Merge branch 'master' of https://github.com/jonorthwash/ud-annotatrix
keggsmurph21 Feb 1, 2020
8b76ebd
Bump acorn from 5.7.1 to 5.7.4
dependabot[bot] Mar 15, 2020
64d55ce
Fix deprel offset when changing to rtl.
jonpan4 Mar 22, 2020
12d3602
App: Never try to download a "null" format
keggsmurph21 Apr 20, 2020
4dd5892
upload: Don't try to POST if not running with a server backend
kmurphy4 Apr 26, 2020
5980349
notatrix: Bump to v2.2.2 (fixes #397)
kmurphy4 Apr 27, 2020
d2f7140
Chat: Don't display on startup by default
keggsmurph21 May 11, 2020
7f8b380
Keyboard: Add missing key names
keggsmurph21 May 11, 2020
efe1756
GUI: Support setting a node as "empty" by pressing "N"
keggsmurph21 May 11, 2020
000383d
Bump jquery from 3.3.1 to 3.5.0
dependabot[bot] May 11, 2020
d12c11d
Merge pull request #395 from JPJPJPOPOP/master
jonorthwash May 15, 2020
63153fa
Merge pull request #380 from jonorthwash/dependabot/npm_and_yarn/mixi…
jonorthwash May 16, 2020
d37c6e2
Merge pull request #383 from jonorthwash/dependabot/npm_and_yarn/cach…
jonorthwash May 16, 2020
622d7c3
Merge pull request #384 from jonorthwash/dependabot/npm_and_yarn/exte…
jonorthwash May 16, 2020
ae614f3
Merge pull request #385 from jonorthwash/dependabot/npm_and_yarn/loda…
jonorthwash May 16, 2020
103b394
Merge pull request #394 from jonorthwash/dependabot/npm_and_yarn/acor…
jonorthwash May 16, 2020
ef6f995
Merge pull request #399 from jonorthwash/dependabot/npm_and_yarn/jque…
jonorthwash May 16, 2020
04b5f5f
toggleIsEmpty: Don't automatically set the HEAD to be 'root'
keggsmurph21 May 31, 2020
5711a9e
toggleIsEmpty: Activate with the "E" key instead of the "N" key
keggsmurph21 May 31, 2020
02b3668
insertEmptyTokenAfter: Add "N" keybinding to insert empty token
keggsmurph21 May 31, 2020
b3a1ab4
package.json: Bump notatrix to v2.3.1
keggsmurph21 May 31, 2020
bf3992b
gui: Refocus #graph after deleting deprel
keggsmurph21 May 31, 2020
05f5c42
clang-format: Start using an auto-formatter
keggsmurph21 Jun 1, 2020
6cc74a1
Small fix to remove errors when building.
JPJPJPOPOP Jun 6, 2020
3323a11
Merge pull request #411 from JPJPJPOPOP/master
jonorthwash Jun 6, 2020
f63ab47
Inserting svg.
JPJPJPOPOP May 19, 2020
08c8ece
Add tokens to svg.
JPJPJPOPOP May 19, 2020
34f3d56
Removed cytoscape graph.
JPJPJPOPOP May 20, 2020
7a2bb5c
Trying to get adding deprels to work and changing branch.
JPJPJPOPOP May 21, 2020
ae64b25
Adding deprels works, but doesn't show in graph yet.
JPJPJPOPOP May 24, 2020
28156fd
Deprels now show on graph. Need to add shifting of nodes.
JPJPJPOPOP May 24, 2020
6e7d6aa
Fix consistency of sizes after zooming and add rtl.
JPJPJPOPOP May 24, 2020
11f8161
Edit box shows now and added shifting of nodes to account for the dep…
JPJPJPOPOP May 26, 2020
beaf240
Fix bug for node shifting when rtl.
JPJPJPOPOP May 26, 2020
5772734
Able to delete deprels, move dperls, add root.
JPJPJPOPOP May 27, 2020
cbc36c6
Editing deprel labels now actually changes labels.
JPJPJPOPOP May 27, 2020
df37f7e
Small changes to status.
JPJPJPOPOP May 27, 2020
a3b79c0
Display
JPJPJPOPOP May 28, 2020
5cfdc8f
Fix spacing issues with long pos nodes.
JPJPJPOPOP May 28, 2020
eb78148
Added editing pos labels.
JPJPJPOPOP May 28, 2020
1ac9780
Fixed sizing issues when editing pos labels.
JPJPJPOPOP May 29, 2020
94d5864
Added merging of nodes.
JPJPJPOPOP May 30, 2020
7a63447
Add creating supertokens (not displayed on graph yet though).
JPJPJPOPOP May 30, 2020
d1d45d1
Null nodes now work properly in editor.
JPJPJPOPOP Jun 2, 2020
e5ca9cf
Make enhanced dependencies display below tokens.
JPJPJPOPOP Jun 2, 2020
99d949c
Added display of supertokens, and changed height algorithm to account…
JPJPJPOPOP Jun 3, 2020
aeecae7
Add supertoken label.
JPJPJPOPOP Jun 3, 2020
8ec699c
Added splitting of supertokens.
JPJPJPOPOP Jun 3, 2020
0489bdc
Fix supertoken in rtl and in cg3.
JPJPJPOPOP Jun 4, 2020
53546b4
Fix issues in Chrome.
JPJPJPOPOP Jun 4, 2020
567e694
Added editing forms.
JPJPJPOPOP Jun 4, 2020
8d579ef
Added zooming by +/-/=
JPJPJPOPOP Jun 4, 2020
f5c22c8
Fix tabbing through labels and bug with deprel label editting.
JPJPJPOPOP Jun 4, 2020
8785598
Fix empty nodes setting and inserting.
JPJPJPOPOP Jun 5, 2020
1b62416
Remove unnecessary files.
JPJPJPOPOP Jun 5, 2020
97ab5cf
Add mouse in collab.
JPJPJPOPOP Jun 6, 2020
e1e34a8
Add back set locks.
JPJPJPOPOP Jun 6, 2020
02b71ac
Fix splitting tokens.
JPJPJPOPOP Jun 6, 2020
25eaf06
Add/fix comments to code.
JPJPJPOPOP Jun 6, 2020
ea1c2fc
Fix bug in shifting of tokens.
JPJPJPOPOP Jun 6, 2020
e9a2e20
Added root deprel.
JPJPJPOPOP Jun 7, 2020
1797c3e
Add export to svg, but export to png does not work.
JPJPJPOPOP Jun 7, 2020
d644148
Added export to png. Does not work on Firefox though.
JPJPJPOPOP Jun 7, 2020
fb43de5
Fix export to png on Firefox.
JPJPJPOPOP Jun 8, 2020
f2094cc
Remove more unnecessary files and fix bug with root node deprel.
JPJPJPOPOP Jun 8, 2020
2844a60
Merge pull request #409 from JPJPJPOPOP/port
jonorthwash Jun 8, 2020
a1390c0
Style changes and change to token numbers.
JPJPJPOPOP Jun 8, 2020
ce78b37
Merge pull request #412 from JPJPJPOPOP/stylechanges
jonorthwash Jun 8, 2020
c27bda6
screenshot with JPJPJPOPOP's latest updates
jonorthwash Jun 9, 2020
712c798
screenshot with JPJPJPOPOP's latest updates
jonorthwash Jun 9, 2020
7280679
some more updates to README
jonorthwash Jun 9, 2020
775a089
Style changes to token number.
JPJPJPOPOP Jun 9, 2020
98a29de
Merge pull request #413 from JPJPJPOPOP/stylechanges
jonorthwash Jun 9, 2020
7a66df2
Changes to style and key shortcuts.
JPJPJPOPOP Jun 9, 2020
3e88544
Merge pull request #416 from JPJPJPOPOP/stylechanges
jonorthwash Jun 9, 2020
59dc3ef
package.json: Bump notatrix to v2.3.2
keggsmurph21 Jun 10, 2020
69b2deb
Add vertical tree view.
JPJPJPOPOP Jun 15, 2020
92e1c86
Fixes to vertical view.
JPJPJPOPOP Jun 25, 2020
d3ae0df
Revert code spacing.
JPJPJPOPOP Jun 25, 2020
dbe13c3
Add error display for switching to vertical with incomplete graph.
JPJPJPOPOP Aug 15, 2020
fe4996f
Raise root deprel.
JPJPJPOPOP Aug 15, 2020
2e5b137
Make the deprels connecting subtokens dotted.
JPJPJPOPOP Aug 15, 2020
a31244a
Don't stay in vertical view if warning is given.
JPJPJPOPOP Aug 16, 2020
ee559ce
Merge pull request #417 from JPJPJPOPOP/master
jonorthwash Sep 10, 2020
c9d5637
notatrix: Cannibalize keggsmurph21/notatrix@9ea6840
keggsmurph21 Apr 25, 2021
9aacaca
notatrix: Upgrade to babel 7+
keggsmurph21 Apr 25, 2021
ff0614c
Switch to using internal "notatrix" rather than from npm
keggsmurph21 Apr 26, 2021
30a4f7f
Merge pull request #436 from keggsmurph21/merge-notatrix
ftyers Apr 26, 2021
fce5a1a
gulp+babel: Remove explicit reference to deprecated package
keggsmurph21 Apr 26, 2021
d4ac6ca
package.json: Update minor versions of packages
keggsmurph21 Apr 26, 2021
f58ec52
package.json: Bump jsdoc2markdown => 7.x
keggsmurph21 Apr 26, 2021
304e72e
Merge pull request #446 from keggsmurph21/fix/broken-notatrix-build
keggsmurph21 Apr 26, 2021
058d850
Merge branch 'master' of github.com:jonorthwash/ud-annotatrix
jonorthwash May 28, 2021
a30516f
update readme
ftyers May 28, 2021
6138027
update help text
ftyers May 28, 2021
f6186bf
now builds without gulp error
Jun 10, 2021
90e55e4
auto punctuation
Jun 10, 2021
e951f72
fix indexing / help / and hide labels
ftyers Jun 10, 2021
8ffb4bb
deploy?
ftyers Jun 10, 2021
e103f1a
now builds without gulp error
jonorthwash Jun 10, 2021
f2f93e6
auto punctuation
jonorthwash Jun 10, 2021
7c050b9
fix indexing / help / and hide labels
ftyers Jun 10, 2021
fd6540a
redo commit e103f1a16144f5603cb19046ea1f2a65040d4214
jonorthwash Jun 10, 2021
b6180dc
deploy?
ftyers Jun 10, 2021
d18be86
gulpfile.js: Fix build-watch command to track notatrix/
keggsmurph21 Jun 10, 2021
a70146e
Merge pull request #457 from jonorthwash/bugfix/make-build-watch-trac…
jonorthwash Jul 4, 2021
2f9b716
vendor d3
ftyers Nov 15, 2021
f0857df
Merge branch 'master' of github.com:/jonorthwash/ud-annotatrix
ftyers Nov 15, 2021
478c301
fix instructions for creating super token
Lguyogiro Nov 19, 2021
415327b
Merge pull request #467 from Lguyogiro/update-supertoken-docs
ftyers Nov 19, 2021
849b854
Update help.ejs
ftyers Mar 9, 2022
8e398e9
notatrix: Move token-index extraction to a helper on `BaseToken`
keggsmurph21 Mar 21, 2022
0c031c3
client: Re-use `BaseToken::getTokenIndex()`
keggsmurph21 Mar 21, 2022
3dfdd40
notatrix: Extract token-sorting to a helper
keggsmurph21 Mar 21, 2022
a3828a4
notatrix: Check token indices before merging/combining
keggsmurph21 Mar 21, 2022
3a156c0
notatrix: Remove a pointless `console.log()`
keggsmurph21 Mar 21, 2022
65b12b0
Bump package-lock and rebuild
keggsmurph21 Mar 21, 2022
f6865f1
notatrix: Prevent combining *into* subtokens
keggsmurph21 Mar 21, 2022
a762775
Update README.md
jonorthwash Jun 16, 2022
52e8994
Update AUTHORS
jonorthwash Jun 16, 2022
ddc07b1
notatrix: Add support for TypeScript!
keggsmurph21 Jul 10, 2022
ced1b97
notatrix: Enable `noFallthroughCasesInSwitch` compiler option
keggsmurph21 Jul 10, 2022
4dd9314
notatrix: Enable `noImplicitReturns` compiler option
keggsmurph21 Jul 10, 2022
e8e681c
notatrix: Set `prototype` explicitly for `Error` subclasses
keggsmurph21 Jul 11, 2022
7fb9fc6
notatrix: Switch the `main` file
keggsmurph21 Jul 11, 2022
3b8e93f
notatrix: Run unit tests via `ts-node`
keggsmurph21 Jul 11, 2022
8117c1d
notatrix: Add plugin to automatically run `tsc` as part `gulp`
keggsmurph21 Jul 10, 2022
15ccd92
notatrix: Convert first file to TypeScript!
keggsmurph21 Jul 10, 2022
fd4261c
notatrix: Replace decimal constant w hex equivalent
keggsmurph21 Jul 10, 2022
64c55f6
notatrix: Convert `src/utils/regex.{j => t}s`
keggsmurph21 Jul 10, 2022
64bde74
notatrix: Convert `src/utils/errors.{j => t}s`
keggsmurph21 Jul 10, 2022
aa649de
notatrix: Convert `src/utils/funcs.{j => t}s`
keggsmurph21 Jul 10, 2022
ccd98c0
notatrix: Convert `src/utils/index.{j => t}s`
keggsmurph21 Jul 10, 2022
e8dd84d
server: Rebuild bundle
keggsmurph21 Jul 11, 2022
973aef2
notatrix: Switch `npm run build*` to invoke `tsc`, not `gulp`
keggsmurph21 Jul 16, 2022
d1d99d8
notatrix: Remove unused `gulp`-related dependencies
keggsmurph21 Jul 16, 2022
6e0c690
READMEs: Simplify `notatrix` build/install instructions
keggsmurph21 Jul 16, 2022
1d793c2
package-lock: Bump `lockfileVersion` and rebuild
keggsmurph21 Jul 16, 2022
40decc0
server: Rebuild bundle
keggsmurph21 Jul 16, 2022
b99fe0f
notatrix: Add dev dependency on `@types/underscore` + `@types/uuid`
keggsmurph21 Jul 17, 2022
7018763
notatrix: Add explicit type annotations to utils
keggsmurph21 Jul 17, 2022
059d079
notatrix: Remove `utils.funcs.dedup()` in favor of `Object` methods
keggsmurph21 Jul 17, 2022
c02c6de
notatrix: Add type annotations to all of `nx`
keggsmurph21 Jul 17, 2022
7684cee
notatrix: Add type annotations for all "fields"
keggsmurph21 Jul 17, 2022
66ef4d2
notatrix: Add type annotations for all "splitters"
keggsmurph21 Jul 17, 2022
f4f4fb1
notatrix: Add type annotations for all "get-loss" calculations
keggsmurph21 Jul 17, 2022
b768cfb
notatrix: Add type annotations for all "generators"
keggsmurph21 Jul 17, 2022
9750679
notatrix: Add type annotations for all "detectors"
keggsmurph21 Jul 17, 2022
3f4d1f2
notatrix: Add type annotations for all "parsers"
keggsmurph21 Jul 17, 2022
549f46d
notatrix: Glue it all together!
keggsmurph21 Jul 17, 2022
0a2d0f6
notatrix: Don't `allowJs` anymore :^)
keggsmurph21 Jul 17, 2022
6799c04
server: Rebuild bundle
keggsmurph21 Jul 17, 2022
923af5a
notatrix: Enable `noImplicitAny` compiler option
keggsmurph21 Jul 19, 2022
d112c6c
package.json: Add `typescript` as dev-dependency to top-level config
keggsmurph21 Aug 15, 2022
ebecc8a
client: Remove unused "test" code
keggsmurph21 Aug 15, 2022
e58593f
client: Add plugin to automatically run `tsc` as part of `gulp`
keggsmurph21 Aug 15, 2022
eef3d17
client: Convert to TypeScript!
keggsmurph21 Aug 15, 2022
3d56d99
client: Remove autogenerated docs
keggsmurph21 Aug 15, 2022
e897773
client: Enable `noImplicitAny` compiler option
keggsmurph21 Aug 16, 2022
5b79be8
client: Don't allowJs anymore :^)
keggsmurph21 Aug 16, 2022
3475941
server: Rebuild bundle
keggsmurph21 Aug 16, 2022
151c61b
server: Remove vendored `d3` code
keggsmurph21 Aug 16, 2022
4a75d83
server: Add a basic `tsconfig.json`
keggsmurph21 Aug 21, 2022
c424327
server: Remove unused "old" modals
keggsmurph21 Aug 21, 2022
516704e
package.json: Use `ts-node` to `npm run server`
keggsmurph21 Aug 21, 2022
a909480
server: Add type hints!
keggsmurph21 Aug 21, 2022
ad394c0
package.json: Remove unused `main` key
keggsmurph21 Aug 21, 2022
6c736a9
server: Remove some unused SQLite3 "backend" for corpora
keggsmurph21 Aug 21, 2022
08506fa
server: Enable `noImplicitAny` compiler option
keggsmurph21 Aug 21, 2022
fc85a1f
server: Remove lots of commented-out code
keggsmurph21 Aug 21, 2022
afce4d6
notatrix: Export directly as a TypeScript project
keggsmurph21 Aug 21, 2022
d446d43
notatrix: Remove unused `jsdoc2md` documentation generator
keggsmurph21 Aug 21, 2022
0fe43e7
notatrix: Update READMEs about new `build`-less process
keggsmurph21 Aug 21, 2022
501497d
notatrix: Move "data" into `test/` directory
keggsmurph21 Aug 22, 2022
3d9b6ca
notatrix: Remove some unused tests
keggsmurph21 Aug 22, 2022
b721bd3
Combine `client/`, `notatrix/` and `server/` projects into `src/`
keggsmurph21 Aug 22, 2022
5f5c1ab
server: Rebuild bundle
keggsmurph21 Aug 22, 2022
ed94d90
gitignore: Ignore `.DS_Store`
keggsmurph21 Aug 22, 2022
322ca2b
scripts: Remove the `fail-nicely.*` scripts
keggsmurph21 Aug 22, 2022
05e26dc
test: Fix test imports
keggsmurph21 Aug 22, 2022
4f44176
resources: Add directory to hold random static assets
keggsmurph21 Aug 22, 2022
f1a956a
server: Skip over malformed corpora
keggsmurph21 Oct 22, 2022
94c3358
fix typo: editting -> editing
furkan7258 Nov 18, 2022
a03e976
disable notatrix and server, add help modal, rebuild?
jonorthwash Oct 27, 2023
1f806ae
how it was
jonorthwash Oct 27, 2023
9e3fa4f
and putting back again per @ftyers
jonorthwash Oct 27, 2023
7489909
help modal
jonorthwash Oct 27, 2023
5dd9d04
apparently underscore is needed and not called?
jonorthwash Aug 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"presets": ["@babel/preset-env"],
"plugins": ["transform-es5-property-mutators"]
}
12 changes: 12 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# vim: syntax=yaml
Language: JavaScript
BasedOnStyle: LLVM
TabWidth: 2
IndentWidth: 2
UseTab: Never
SpacesInContainerLiterals: false
IndentCaseLabels: false
JavaScriptQuotes: Double
JavaScriptWrapImports: true
AlignAfterOpenBracket: true
ColumnLimit: 120
1 change: 0 additions & 1 deletion .gitattributes

This file was deleted.

28 changes: 28 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# environment stuff
.env
ud-env

# python compiled files
__pycache__
*.pyc

# db files
corpora
.users.db

# log stuff
logs

# vim swap files
*.swp

# node stuff
node_modules
build
.nyc_output

# ubuntu process files
.nfs*

# OS files
.DS_Store
10 changes: 6 additions & 4 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Original UD annotatrix by Jonathan North Washington
jonorthwash.github.io/visualise.html
Edits and fixes made by Tai Vongsathorn Warner
https://midasdoas.github.io/visualise.html
Contributions by Mariya Sheyanova
maryszmary.github.io/ud-annotatrix/standalone/annotator.html
Google Summer of Code (2017, 2018, 2019)
Mariya Sheyanova (@maryszmary)
Kevin Murphy (@keggsmurph21)
Alyaxey Yaskevich (@yaskevich)
GCI 2016 and 2017 students
Grzegorz Stark (@gstark0)
Jonathan Pan (@JPJPJPOPOP)
Expand All @@ -15,3 +15,5 @@ Other contributors
Francis Tyers (@ftyers)
Sushain Cherivirala (@sushain97)
Kevin Brubeck Unhammer (@unhammer)
Tai Vongsathorn Warner (@midasdoas)
Daniel Swanson (@mr-martian)
223 changes: 165 additions & 58 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,92 +1,199 @@
# ud-annotatrix
# UD Annotatrix

The online interface is currently available from several places:
UD Annotatrix: a simple, sleek, fast editor for Universal Dependencies treebanks.

* [Masha's GitHub pages](https://maryszmary.github.io/ud-annotatrix/standalone/annotator.html).
* [Fran's GitHub pages](https://ftyers.github.io/ud-annotatrix/).
* [Server version on web-corpora](http://web-corpora.net/wsgi3/annotatrix/)(beta).
![UD Annotatrix Screenshot](resources/screenshot.png)

To use it offline, clone this repository to your local machine and open the file `index.html` in your browser.
## About
UD Annotatrix is a client-side, browser-only, language-independent tool for editing dependency trees according to the guidelines established by the [Universal Dependencies](https://universaldependencies.org) project. UD-Annotatrix supports uploading corpora to the browser to add, remove, and edit dependencies in a wide variety of formats (managed with the [`notatrix`](notatrix/) tool), including:
- [CoNLL-U](http://universaldependencies.org/format.html)
- [VISL CG3](http://beta.visl.sdu.dk/cg3/single/#streamformats)
- Brackets
- SDParse
- plain text

Note: [brat](http://brat.nlplab.org) and [CoNLLUEditor](https://github.com/Orange-OpenSource/conllueditor) are similar corpus annotation tools, but UD Annotatrix aims to be a simple(r), clean(er), fast(er) interface optimized for Universal Dependencies with an optional server-side component.

##### Contents
[Features](#features)

[Getting started](#getting-started)

[User guide](#user-guide)

[Contributing](#contributing)

Alternatively, you can serve the files using a web server. An easy way to do this locally is to run `python3 -m http.server` in the cloned directory.
[Support](#support)

## Support
[Acknowledgements](#acknowledgements)

Having a problem with Annotatrix ? Want some one-on-one support ? You can try <tt>#_u-dep</tt> on <tt>irc.freenode.net</tt> or
join our [Telegram chat](https://t.me/joinchat/EWWgMhGXARzxvgO5AzI0ew).
[Contributors](#contributors)

## About
## Features

### The idea
Note: some features (corpus uploading, collaborative editing, etc.) only work when run with a server.

UD Annotatrix is a client-side, browser only, tool for editting dependency trees in [CoNLL-U](http://universaldependencies.org/format.html) and [VISL](http://beta.visl.sdu.dk/cg3/single/#streamformats) formsts. The point of this is to make manual editing of dependency corpora quicker. The aim of this project is to create an easy-to-use, quick and interactive interface tool for Universal Dependencies annotation, which would work both online and offline and allow the user to edit the annotation in both graphical and text modes.
### dependency editing
| feature | how to use |
| -- | -- |
| add sentences | click the `+` button on the top row |
| remove sentences | click the `-` button on the top row |
| add heads | click on the dependent node, click on its head |
| edit heads | right-click on the dependency arrow, press `d`, click on its new head |
| edit dependency relation | click on the dependency arrow |
| remove heads | right-click on the dependency arrow, press `x`, `Backspace`, or `Delete` |
| edit part of speech labels | click on the light purple blobs below the blue 'form node' |
| edit tokens | right-click on the blue 'form node' |
| split token | click on the blue 'form node', press `s`, insert a `Space` character anywhere in the box, press `Enter` |
| split multi-word token | click on the lighter blue 'multi-word' node, press `s` |
| combine tokens into multi-word token | click on the blue 'form node', press `c`, then either click on one of the green nodes or use the `Left`/`Right` arrow keys |
| merge tokens | click on the blue 'form node', press `m`, then either click on one of the green nodes or use the `Left`/`Right` arrow keys |
| set sentence root | click on the blue 'form node', press `r` |
| direct text editing | edit the text in the main textarea (Note: by default, the textarea is reparsed every 100ms; this can be turned off by click the green `on` text in the bottom left of the screen) |
| table mode (CoNLL-U only) | convert the sentence into `CoNLL-U` format, click `Show > Table` from the dropdown menu |
| support for enhanced dependencies | click the `Tree` icon below the main textarea to toggle enhanced dependencies on/off; when on, adding heads/roots will not delete the existing heads |
| support for LTR/RTL/vertical writing systems | click the `Left-Justify`/`Right-Justify` icons below the main textarea |

Note that something similar exists in [brat](http://brat.nlplab.org), but that we're aiming for a simpler, cleaner, faster interface optimised for Universal Dependencies with an optional server-side component.
### uploading, exporting
| feature | works without server? | how to use |
| -- | -- | -- |
| upload from file | no | |
| upload form URL | no | |
| export to LaTeX | yes | |
| export to PNG | yes | |
| save editor preferences | yes | |
| save annotation data | yes<sup>1</sup> | |

### Functionality
<sup>1</sup> if server unavailable, saves to `localStorage`

At the moment, the interface supports:
* draw dependencies between tokens
* edit dependency relations
* delete dependencies
* edit POS labels
* edit tokens
### labels
| feature | how to use |
| -- | -- |
| add label to sentence | |
| remove label from sentence | |
| edit label name | |
| edit label description | |
| edit label color | |
| filter sentences by label | |

Editing POS labels, editing deprels, drawing arcs and deleting arcs are undoable and redoable.
### real-time collaboration<sup>2</sup>
| feature | how to use |
| -- | -- |
| dependency editing | |
| locking on selected node/edge | |
| global undo/redo | |
| mouse tracking | |
| chat | |

The interface supports right-to-left readin order and vertiacal alignment for long sentences.
<sup>2</sup> all collaborative features require a server to be running

## User guide
## Getting started

The basic user guide is available on the [help page](https://maryszmary.github.io/ud-annotatrix/standalone/help.html).
UD Annotatrix can be used in several different ways. Some methods don't require a server backend, although this restricts the available features.

Many of these methods require the `node` and `npm` executables. To check if you have these, run `node -v`. If you don't, you can find installation instructions [here](https://www.npmjs.com/get-npm).

| feature | local dynamic server | remote dynamic server | local static file | locally served static files | remotely served static files |
| ----------------------------- | --- | -- | -- | -- | -- |
| create and edit trees | ✔ | ✔ | ✔ | ✔ | ✔ |
| edit GitHub-hosted treebanks | | | | | |
| collaborative editing | (✔) | ✔ | ✖ | ✖ | ✖ |
| chat | (✔) | ✔ | ✖ | ✖ | ✖ |
| *HOW TO RUN* | `npm server` | | open in browser | `python -m SimpleHTTPServer` | github.io |



### serve dynamic files

## Architecture and components
Run a copy of UD Annotatrix with server backend on your machine. Uploaded databases will be saved directly to your hard drive. This is the recommended method. To install, run
```bash
git clone https://github.com/jonorthwash/ud-annotatrix
cd ud-annotatrix/
npm install
```
You can configure the environment in several ways by setting `KEY=VALUE` pairs in the `.env` file (see [the server configuration file](src/server/config.ts)).

To run the server, run `npm run dev-server` in the project directory root, then navigate your browser to `localhost:5316`. If you would like to deploy your own copy of UD Annotatrix, you could alternately run `npm run server`.

### Standalone
### remote (dynamic) server

The standalone part of the project is written in JavaScript. The standalone version supports full functionality, apart from saving corpora on server.
Access a copy of UD Annotatrix with server backend running on another machine. Uploaded databases will be saved on the remote server. Some currently active remote servers:
- [Kevin's website](`http://annotator.murp.us/`)

#### Project architecture
### as a static file

* main managing script: `annotator.js`
* support for visualisation: `visualiser.js`, `cy-style.js`
* support for graphical editing: `gui.js`
* format handling: `converters.js`, `CG2conllu.js`
Run a copy of UD Annotatrix without the server backend from a static file. This version does __not__ have a server backend, so [some features](#features) will be unavailable. Uploaded databases will be saved into `localStorage`. Navigate your browser to `file:///path/to/ud-annotatrix/index.html`.

#### Dependencies
### serving static files

* jQuery
* Cytoscape
* head.js
* undomanager.js
* a JS library for parsing conllu written by Magdalena Parks
Serve up a copy of the UD Annotatrix static site. This version does __not__ have a server backend, so [some features](#features) will be unavailable. Uploaded databases will be saved into `localStorage`. To start the server, `cd` to the project directory root and run `python -m http.server`. The files should be available at `localhost:8000`.

All the dependencies are stored in ./standalone/lib/ext/.
If you want to host the static files, you can do so by

#### Tests
### remote (static) files

Access a copy of the UD Annotatrix static site on another machine. This version does __not__ have a server backend, so [some features](#features) will be unavailable. Uploaded databases will be saved into `localStorage`. Some currently active remote static servers (items marked with '\*' are running older versions):
- [Jonathan's GitHub Pages](https://jonorthwash.github.io/ud-annotatrix)
* [Masha's GitHub pages](https://maryszmary.github.io/ud-annotatrix/standalone/annotator.html)\*
* [Fran's GitHub pages](https://ftyers.github.io/ud-annotatrix/)\*
* [web-corpora](http://web-corpora.net/wsgi3/annotatrix/)\* (beta).
* [Jonathan's alternate GitHub pages](https://jonorthwash.github.io/visualiser.html)\* (just the visualizer code)

Currently, there are only tests for CG3 to CoNLL-U converters.

### Server
## User guide

The basic user guide is available on the [help page](https://maryszmary.github.io/ud-annotatrix/standalone/help.html).

## Contributing

We welcome your pull requests! To get started, fork this repository and run (where `$REPO` gives the fork's URL)
```bash
git clone $REPO
cd ud-annotatrix
npm install
```

Whenever you make changes, you will need to regenerate some of the source files. You can do that with
```bash
npm run build # just build everything once
npm run build-watch # build now watch the source code for changes
```

See also: the [API Documentation](documentation/README.md).

## Support

Having a problem with UD Annotatrix? Want some one-on-one support? You can try to reach us on IRC at <tt>#\_u-dep</tt> on <tt>irc.oftc.net</tt>, on [Matrix](https://app.element.io/#/room/#_u-dep:matrix.org) or join our [Telegram chat](https://t.me/joinchat/EWWgMhGXARzxvgO5AzI0ew).

The server package provides additional support for deploying the web-interface on a web-server. The back-end is written Python 3, Flask.
## Acknowledgements

#### Dependencies
If you use UD Annotatrix in your work, please cite:

* Flask
```
@inproceedings{tyers-etal:2018,
author = {Francis M. Tyers and Mariya Sheyanova and Jonathan North Washington},
title = {UD Annotatrix: An annotation tool for Universal Dependencies},
booktitle ={Proceedings of the 16th International Workshop on Treebanks and Linguistic Theories (TLT16)},
pages = {10--17},
year = 2018
}
```

## Contributors

* Jonathan North Washington (@jonorthwash)
* Mariya Sheyanova (@maryszmary; [documentation of the changes](http://wiki.apertium.org/wiki/UD_annotatrix/UD_annotatrix_at_GSoC_2017))
* Tai Vongsathorn Warner (@MidasDoas; [documentation of the changes](https://wikis.swarthmore.edu/ling073/User:Twarner2/Final_project))
* Francis Tyers (@ftyers)
* Grzegorz Stark (@gstark0)
* Jonathan Pan (@JPJPJPOPOP)
* Suresh Michael Peiris (@tsuresh)
* Diogo Fernandes (@diogoscf)
* Robin Richtsfeld (@Androbin)
* Sushain Cherivirala (@sushain97)
* Kevin Brubeck Unhammer (@unhammer)
* Ethan Yang (@thatprogrammer1)
* Jonathan North Washington ([@jonorthwash](https://github.com/jonorthwash))
* Kevin Murphy ([@keggsmurph21](https://github.com/keggsmurph21); [documentation of the changes](https://gist.github.com/keggsmurph21/4cce74eb0542373417b2e0366ab9394d#file-gsoc-md))
* Mariya Sheyanova ([@maryszmary](https://github.com/maryszmary); [documentation of the changes](http://wiki.apertium.org/wiki/UD_annotatrix/UD_annotatrix_at_GSoC_2017))
* Tai Vongsathorn Warner ([@MidasDoas](https://github.com/MidasDoas); [documentation of the changes](https://wikis.swarthmore.edu/ling073/User:Twarner2/Final_project))
* Francis Tyers ([@ftyers](https://github.com/ftyers))
* Grzegorz Stark ([@gstark0](https://github.com/gstark0))
* Jonathan Pan ([@JPJPJPOPOP](https://github.com/JPJPJPOPOP))
* Suresh Michael Peiris ([@tsuresh](https://github.com/tsuresh))
* Diogo Fernandes ([@diogoscf](https://github.com/diogoscf))
* Robin Richtsfeld ([@Androbin](https://github.com/Androbin))
* Sushain Cherivirala ([@sushain97](https://github.com/sushain97))
* Kevin Brubeck Unhammer ([@unhammer](https://github.com/unhammer))
* Ethan Yang ([@thatprogrammer1](https://github.com/thatprogrammer1))
* Daniel Swanson ([@mr-martian](https://github.com/mr-martian))

See also: the [AUTHORS](AUTHORS) file.
44 changes: 44 additions & 0 deletions gulpfile.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
const gulp = require("gulp");
const browserify = require("browserify");
const source = require("vinyl-source-stream");
const buffer = require("vinyl-buffer");
const babelify = require("babelify");
const rename = require("gulp-rename");
const sourcemaps = require("gulp-sourcemaps");
const compileEJS = require("./scripts/compile-ejs");
const terser = require("gulp-terser");
const size = require("gulp-size");
const tsify = require("tsify");
require("dotenv").config();

const gulp_mode = process.env.GULP_ENV || "development";
console.log("Gulp runs in " + gulp_mode + " mode");

gulp.task("js", function() {
let stream = browserify({entries: ["src/client/index.ts"], debug: true})
.plugin(tsify)
.transform(babelify, {global: true})
.bundle()
.on("error", function(err) { console.error(err); })
.pipe(source("bundle.js"))
.pipe(buffer())
.pipe(size());

if (gulp_mode == "production") {
stream = stream.pipe(terser({keep_fnames: true, mangle: false, compress: {drop_console: true}})).pipe(size())
}
return stream.pipe(gulp.dest("src/server/public/js"));
});

gulp.task("html", function(done) {
compileEJS();
done();
});

gulp.task("ico", function() { return gulp.src(["./src/client/favicon.png"]).pipe(gulp.dest("./src/server/public")); });

gulp.task("watch", () => {
gulp.watch(["src/**/*.ts", "src/server/views/**/*.ejs"], gulp.parallel("js", "html"));
});

gulp.task("default", gulp.parallel("js", "html", "ico"));
14 changes: 11 additions & 3 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
<html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>Hello world</title>
<meta http-equiv="refresh" content="1; url=standalone/annotator.html" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>UD Annotatrix</title>
</head>

<body>
<script>
window.location.href = './src/server/public/html/index.html';
</script>
</body>
</html>
Loading