Giter Club home page Giter Club logo

stallion's Introduction

Stallion Build Status

Stallion is an extended PDF viewer based on PDF.js. It provides researchers with tools that make paper reading simpler. Some features include intuitive peeking routines for definition review, better handling of references and adding shorcuts to arbitrary locations in the document.





You can play around with our demo!

You can also visit us on our website:

For installation instructions click here:

If you are experiencing trouble, please let us know.

Help us! Contribute

Note: We are not affiliated with Mozilla. We share nothing apart from keen appreciation for the open source community. None of our actions reflects on them.

Overview

Our goal is to maximize research productivity. We try to make a user-friendly PDF viewer with extra features that are: intuitive, useful and configurable with little effort. There is no need to learn how to use the viewer. You can just use it like any other viewer. However, the viewer will react differently, (hopefully) in a more intuitive way. Some key features of the viewer (we are still halfway through):

  • Links: We replace internal links with split view peekers that show you the requested page along with the original page.
  • Reference Metadata & Abstract: Presenting article metadata and abstract for articles for references in the document.
  • "Remind" boxes: Identifies mentions of defintions, theorems, references in the document and so on, and provides a reminder from their location in the document.

Basic Features

Internal Links

When clicking on internal links, the will not jump to the requested position. Instead, the requested page will be presented on the side for convenient review.

Internal Link

References

Select a reference and double click / (slash). If it is identified as a reference by Stallion, it tries to resolve it in two steps:

  1. Stallion sends a request to CrossRef. If the reference is identified correctly, Stallion will present article metadata.

  2. After metadata is extracted, Stallion sends a request to Semantic Scholar. If the record is found, an abstract appears soon after.

Reference Resolution

Advanced Features (under construction)

Together with the above mentioned tweaks, we provide extra features for even better experience that require (very little) introduction.

The Slash Bar

With simplicity as a core principle in Stallion, we introduce the (soon to be famous) Slash Bar (triggered by pressing / anywhere in the document). The slash bar allows you to type commands instead of using on-screen buttons.

Slash Bar

Basic

  • outline - Toggle document's outline (if exists).

  • toolbar - Toggle PDF.js-derived toolbar (hidden by default).

  • back - Go back.

  • pagenumber - Go to page.

  • zoom in/out [digit] - Zoom. digit is optional. If specified, determines iterates the operation digit times.

Navigation

  • shortcut/name/dubname - Set shortcut to current location in document.
  • jumpname - Go to shortcut.
  • fgotoSearchPhrase - Find next occurence of the search phrase. You are advised to use the find bar instead (Ctrl+F).
  • fpeekSearchPhrase - Opens a Peek Box for the search phrase.

Note: Typing wrong commands can get offensive.

Getting the Code

To get a local copy of the current code, clone it using git:

$ git clone https://github.com/guyd1995/stallion.git
$ cd stallion

Next, install Node.js via the official package or via nvm. You need to install the gulp package globally (see also gulp's getting started):

$ npm install -g gulp-cli

If everything worked out, install all dependencies for PDF.js:

$ npm install

Finally, you need to start a local web server as some browsers do not allow opening PDF files using a file:// URL. Run:

$ gulp server

and then you can open:

Please keep in mind that this requires an ES6 compatible browser; refer to Building PDF.js for usage with older browsers.

It is also possible to view all test PDF files on the right side by opening:

Building Stallion Extensions from Scratch

To generate the browser extension from the code, run:

$ gulp chromium

It generates a Chrome extension, but it can be exported to Firefox as is.

PDF.js

PDF.js is a Portable Document Format (PDF) viewer that is built with HTML5.

PDF.js is community-driven and supported by Mozilla Labs. Their goal is to create a general-purpose, web standards-based platform for parsing and rendering PDFs.

Please, visit their repository for additional information.

Contributing

We base our contribution guidelines on those of PDF.js. Also, recall we build upon their code base and utilize changes in their repository. All in all, you are very much encouraged to contribute to PDF.js. We advise you to take a glance at their code contribution guide (see below).

stallion's People

Contributors

snuffleupagus avatar yurydelendik avatar timvandermeij avatar brendandahl avatar notmasteryet avatar vingtetun avatar andreasgal avatar arturadib avatar joneschrisg avatar jviereck avatar rob--w avatar guy-dar avatar kkujala avatar sayrer avatar saebekassebil avatar xavier114fch avatar nnethercote avatar fkaelberer avatar mduan avatar gigaherz avatar vyv03354 avatar justindarc avatar codingfabian avatar janpe2 avatar jbuck avatar wojtekmaj avatar dar-tau avatar haebaru avatar mukulmishra18 avatar pramodhkp avatar

Stargazers

Michael Shustin avatar

Watchers

 avatar

stallion's Issues

Peek Box jump before find - feature improvement

For future feature improvement

Configuration:

  • Web browser and its version: Google Chrome (probably all)
  • Operating system and its version: Windows 10 (probably all)
  • Stallion version: First commits
  • Is a browser extension: No

Steps to reproduce the problem: Peek a phrase in a not yet rendered spot

What is the expected behavior? Not to jump around before finding peeked word
What went wrong? (add screenshot)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.