Skip to content

Eumaeus/LSJ.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LSJ(ulia)

version 1.0.1 Julia 1.8.2

This is an implementation of a web-application for consulting A Greek-English Lexicon, edited by Liddell, Scott, & Jones. It is written in Julia with the Dash framework. It is the successor to an earlier version, written in ScalaJS (See, this blog post about that earlier version, and the data behind it)

Why Rewrite a Working App in Julia?

  1. I needed to get good at Julia and Dash.
  2. The ScalaJS version, to achieve sufficient performance, requires a back-end microservice to do the heavy lifting of querying, mapping, and filtering the 117,000 entries in the lexicon. So the app was "online only", and requires some ongoing babysitting to keep running. This implementation in Julia can run entirely offline*.
  3. The Dash framework imposes a number of restrictions on how components of a web-app, and data, interact. These restrictions require some thought, but results in a simpler, more stable, and more maintainable architecture. The Scala version (the LSJ app and necessary microservice) required about 4,500 lines of code. This implementation required only 800.

* In "entirely offline mode", the app will not be able to download the EB Garamond font from Google, so the text will not be as attractive as it might be.

Running LSJ on Your Machine

  1. Download Julia and do whatever it takes to install it.
  2. Clone this repository.
  3. In a terminal, cd into LSJ.jl, e.g. cd ~/Desktop/LSJ.jl, if you cloned the repository onto your Desktop.
  4. In the terminal: julia dashboard/lsj.jl.
  5. There is a good chance that you will need to add some libraries via Julia's package manager. Julia will tell you what to do. Do that.
  6. When it is up and running (the initial load may take a while, as it downloads and compiles necessary libraries), visit http://localhost:8054/ in your browser.

Bugs or Errors in Data

You can report bugs in the program, or errors in data, by submitting an Issue on GitHub.

About

Implementation of the LSJ in Julia

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published