Skip to content

Instantly share code, notes, and snippets.

@pletcher
Last active August 28, 2017 21:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pletcher/9350e70310ef36105bd969374795b7b8 to your computer and use it in GitHub Desktop.
Save pletcher/9350e70310ef36105bd969374795b7b8 to your computer and use it in GitHub Desktop.
CLTK GSoC Work Product

Note about my contributions on GitHub: Because of my previous work at the Flatiron School, I oversaw an enormous number of GitHub repositories. (My commits were attached to thousands of student forks.) As a result, the GitHub UI has tended not to work very well for me/on my profile. As a workaround, GitHub staff disabled showing public commits in my profile; to see my commits, one has to go to each repository that I've worked on individually.

CLTK Frontend

My work on the CLTK Frontend focused on preparing the project to support annotations, but in the process my work also involved a bit of bug-fixing/feature development to the core project so that I could better understand the application's needs and build the annotations library with those needs in mind.

CLTK Texts Server

I refactored the CLTK Texts Server to use a GraphQL API and to update texts based on incoming webhooks. The texts conform to CLTK JSON standards, but are also flexible enough to be used in the Draft.js-based annotations.

Annotations

I built the Annotations library, which transforms text (the examples use Apollonius' Argonautica) into Draft.js-compliant blocks and an entityMap and allows adding notes and decorations (such as scansion or named entity links) to the text. Working examples and documentation can be found at https://cltk.org/annotations. This library, as hopefully the examples show, is ready to use; but it does require a bit of wiring up in the CLTK Frontend, so ongoing efforts will focus on that integration. It's important to note that the Annotations library is source-agnostic: CLTK's hope is that other developers and organizations might find the ability to annotate and otherwise interact with their texts useful, and we welcome feedback from the OSS community.

What's left

The main component needed to tie all of the above together in the CLTK Archive is a user accounts system, which we'll continue to work on. With that in place, we will be able to tie annotations to specific users for editing/publishing, while still providing the Annotations component library and the Texts Server for public use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment