Web application designed to perform digital humanities research tasks on a database of journal articles. Development continued as Sciveyor, see repository at URL: https://codeberg.org/sciveyor/sciveyor/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
Charles Pence 57f8e19868
Update README with info about project name change.
2 years ago
.tx Update Transifex, pull new translations. 5 years ago
app Show internal ID in document dropdown. 3 years ago
bin Clean up boilerplate code for Rails 6.1. 2 years ago
config Fix git branch for Capistrano. 2 years ago
db Upgrade to Rails 6.1. 2 years ago
lib Update bundle, reduce warnings, fix a few that are actually in our code. 3 years ago
public Don't render error pages through a controller. 5 years ago
storage Switch from Paperclip to Rails's own new ActiveStorage. 5 years ago
test Clean up boilerplate code for Rails 6.1. 2 years ago
tmp Check a temp directory into the Git repository. 11 years ago
.env.example Remove multi_mail, it's unmaintained and broken. 2 years ago
.env.test Add the localhost Solr URL to the test environment. 3 years ago
.gitignore Fix a reload problem in two job tests. 3 years ago
.haml-lint.yml Upgrade to Ruby 2.5.1, lint HAML. 5 years ago
.rubocop.yml Fix a round of lint corrections. 5 years ago
.yardopts Update Yard and remove unnecessary doc macros. 5 years ago
COPYING Fix more old GitHub links. 3 years ago
Capfile Add Capistrano deploy notification for Sentry. [ci:skip] 3 years ago
ChangeLog.md Update ChangeLog. [ci:skip] 3 years ago
Gemfile Upgrade to Ruby 3, and everything just works! 2 years ago
Gemfile.lock Upgrade to Ruby 3, and everything just works! 2 years ago
README.md Update README with info about project name change. 2 years ago
RELEASE.md Fix git branch for Capistrano. 2 years ago
Rakefile Rubocop fixes. 5 years ago
TODO.md Add ability to edit Snippets. 5 years ago
config.ru Clean up boilerplate code for Rails 6.1. 2 years ago
package.json Fix more old GitHub links. 3 years ago
yarn.lock Update Yarn to fix a jQuery bug. 3 years ago



Development on RLetters has been superseded by the Sciveyor software. For the Sciveyor repository, see https://codeberg.org/sciveyor/sciveyor. For the Sciveyor website itself, see https://www.sciveyor.com. For more information about why we renamed the project, visit https://help.sciveyor.com/faq.

Homepage: http://rletters.net
Git: http://codeberg.org/rletters/rletters
Author: Charles Pence
Contributors: See Contributors section below
Copyright: © 2014–2020 Charles Pence and the RLetters Team
License: MIT License
Latest Released Version: v3.0
Release Date: May 24, 2018

RLetters is an application designed to let users perform complex searches as well as digital-humanities and text-mining analysis tasks on a corpus of journal articles.


Text analysis

RLetters allows users to save the results of a given search as a "dataset." This produces a saved record that users can return to later in order to perform text analysis tasks.

While text analysis tasks are a current area of active development in RLetters, currently the following are available:

  • Compute term frequency information (for single words or multiple-word phrases)
  • Compare word usage in two different datasets
  • Graph dataset by publication date
  • Determine statistically significant pairs of words (collocations) or associations between words at distance (cooccurrences)
  • Compute network of words used around a focal word
  • Extract references to proper names (locations, people, organizations)
  • Export dataset as citations in a variety of formats

The Solr backend on which RLetters is based allows for a number of complicated searching operations:

  • Searching on the basis of particular fields ("year:2010", "authors:Johnson", or "title:fish")
  • Boolean operators ("darwin OR huxley")
  • Wildcard search ("*fish" or "wom?n")
  • Text stemming ("evolution" matching "evolutionary" or "evolutionist")
  • Fuzzy matching (matching words similar to the requested term)
  • Proximity searching (two terms within N words of one another)

Support for web and library standards

RLetters features a JSON API to return search results to other services around the internet. We also provide support for the following web and library standards:

  • unAPI for automatic bibliographic data retrieval from individual documents
  • WorldCat OpenURL Registry for detection of the OpenURL resolver of the user's local library

And you can export bibliographic data in the following standard formats:

Cutting-edge development and maintenance tools

RLetters doesn't leave your developers out in the cold, either. We've got speedy deployments with Ansible and Capistrano, exception monitoring with Sentry, and our code has a thorough test suite and adheres to a probably unnecessary level of linting and style-guide fanaticism.

Visit the website for more developer information.

Contributors / Support

Special thanks to all contributors to the code. In addition to the list of contributors on Codeberg, thanks as well to rrrene and etahnsr who contributed over on GitHub.

We also have received the help of a great community of translators at Transifex. Thanks especially to Alejandro León Aznar.

Also, several features of RLetters wouldn't be possible without the excellent work of other Ruby programmers. Thanks in particular to those behind Ansible, RSolr and RSolr::Ext, and bibtex-ruby. The stop lists found in lib/r_letters/analysis/stop_list are released under the BSD license by the Apache Solr project. The colors in lib/r_letters/visualization/color_brewer are released by the ColorBrewer project under the Apache license.

Charles Pence and Grant Ramsey were supported in the development of RLetters by the National Science Foundation, #1456573, and the National Evolutionary Synthesis Center (NESCent), NSF #EF-0905606.

National Science Foundation National Evolutionary Synthesis Ceter

RLetters © 2011–2020 Charles Pence. RLetters is licensed under the MIT license. Please see the COPYING document for more information.