/arxiv-vanity

Renders papers from arXiv as responsive web pages so you don't have to squint at a PDF.

Primary LanguagePythonApache License 2.0Apache-2.0

arXiv Vanity

arXiv Vanity renders papers from arXiv as responsive web pages so you don't have to squint at a PDF.

It turns this sort of thing:

Into this:

This is the web interface for viewing papers. The actual LaTeX to HTML conversion (the interesting bit) is done by Engrafo.

Running in development

Install Docker for Mac or Windows.

Do the initial database migration and set up a user:

$ script/manage migrate
$ script/manage createsuperuser

Pull the Engrafo Docker image, which is needed for rendering papers:

$ docker pull arxivvanity/engrafo

Then to run the app:

$ docker-compose up --build

Your app is now available at http://localhost:8000. The admin interface is at http://localhost:8000/admin/.

You can scrape the latest papers from arXiv by running:

$ script/manage scrape_papers

It'll probably fetch quite a lot, so hit ctrl-C when you've got enough.

Running tests

$ script/test

Using a development version of Engrafo

Engrafo is the LaTeX to HTML converter. If you are working on Engrafo, you might want to use the version you are working on locally.

To do that, run script/docker-build in your local Engrafo directory. This will create an image called engrafo-dev.

Then, in the arXiv Vanity directory (the same one this readme is in), create a file called .env to tell arXiv Vanity to use that image to render papers:

ENGRAFO_IMAGE=engrafo-dev

Getting VSCode completions

VSCode can't use the Python dependencies inside the Docker container, so if you want VSCode smarts, you need to make a normal virtualenv with the dependencies inside. There's a script to help with that:

$ script/create-venv

VSCode is configured to use the interpreter in there.

Sponsors

Thanks to our generous sponsors for supporting the development of arXiv Vanity! Sponsor us to get your logo here.

YLD