Skip to content
a citation tool for web authors to demonstrate the context of their quotations
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

CiteIt Web Citation Service

The CiteIt Web Citation Service allows web authors to demonstrate the context of their quotations by helping them display the 500 characters of context before and after the quote they are citing.

View Demo:

Demo site with video:

Tools Used

  • API Server: Python Flask Server
  • Database: SQL Alchemy, (Postgres or Other Database)
  • jQuery Library: custom function to wrap <blockquote< and <q> tags
  • Wordpress Plugin: adds buttons to Wordpress editor. Submits pages to API.
  • Dependencies:

How CiteIt Works:

  1. An author notifies the CiteIt Web Service that they have created a new citation by sending a HTTP POST request with the URL of the author's page.

  2. The CiteIt Web Service retrieves the author's page and locates all the citations within the document, saving the urls and the text of each citation.

  3. The CiteIt web service retrieves the pages for each cited URL and compares the cited source text with the text from the author's citation.

  4. If the service finds a match, it calculates the 500 characters before and after each quotation.

  5. The CiteIt web service saves the 500 characters before and after each quotation to a json file and uploads each json file to the Amazon S3 Cloud.

  6. After the author installs either the CiteIt Wordpress plugin or the CiteIt jQuery library on their site, the plugin instructs subsequent visitors to load the contextual json files from the Amazon S3 Cloud.

  7. The CiteIt jQuery library, loads the contextual data from the json file into hidden <div> elements created in the author's page, which display when a reader clicks on an arrow above or below the quotation.


I got this idea in 2015, while I was writing an article about hypertext pioneer Ted Nelson.

Like the Web, CiteIt still follows the "Worse is Better" approach because I don't have the technical ability or resources to implement the "Right Thing".

I hope CiteIt allows more people to get a glimpse of Ted's original proposal and inspires other programmers to built towards that vision.

-Tim Langeman

Akron, PA (USA)


I want this form of expanding contextual citation to become as widely adopted as possible, so I'm releasing it under the MIT License. I encourage you to build on top of my code. You don't have to contribute back to this project, but there are advantages to cooperation.


Earlier versions of this concept were written for:

  1. PHP:
  2. Django:
You can’t perform that action at this time.