A search engine for MMP's eASLRB.
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.
 
 
 
 
 
Pacman Ghost 5716b0dfe9 Allow documentation files to be served by the webapp. 2 years ago
asl_rulebook2 Allow documentation files to be served by the webapp. 2 years ago
doc Allow documentation files to be served by the webapp. 2 years ago
docker Force the webapp to initialize when running in a container. 3 years ago
.dockerignore Allow documentation files to be served by the webapp. 2 years ago
.eslintrc.json Implemented the basic webapp functionality. 3 years ago
.gitignore Implemented the basic webapp functionality. 3 years ago
.pylintrc Allow the search database to be cached. 3 years ago
Dockerfile Allow documentation files to be served by the webapp. 2 years ago
LICENSE.txt Set up the package. 3 years ago
README.md Added the user documentation. 3 years ago
conftest.py Changed how the webapp is served. 2 years ago
pytest.ini Added pylint. 3 years ago
requirements-dev.txt Added a missing requirement. 3 years ago
requirements.txt Allow documentation files to be served by the webapp. 2 years ago
run-container.sh Allow the search database to be cached. 3 years ago
setup.py Updated the version strings. 2 years ago

README.md

ASL Rulebook 2

This program lets you search through the ASL Rulebook index, and jump directly to the rules you're looking for.

Click here for more details.

With some work, you can also:

  • add rules for other modules
  • have Q+A and errata automatically pop-up when you click on a rule
  • include your own annotations
  • include the ASOP, complete with clickable links to each rule

NOTE: This project integrates with my other asl-articles project, so that if an article references a rule, it becomes a clickable link that will open a browser showing that rule.

Installation

After cloning the repo, you can either:

  • run it using Docker (recommended, run ./run-container.sh)
  • run it from source (requires Python 3.8.7, install the module, run asl_rulebook2/webapp/run_server.py)

NOTE: Run either command with no arguments to get help.

Run either command with a --port argument, then connect to the server in a browser e.g.

./run-container.sh --port 5020

Then open http://localhost:5020.

NOTE: The program requires Firefox; Chrome doesn't really support a key feature it needs.

A few things need to be set up before the program can be used; the webapp will guide you through the process.

NOTE: If you are running from source, you will also need Ghostscript installed.

Preparing the data files

The first time the program is run, the MMP eASLRB PDF must be analyzed, and some key data extracted and prepared. The webapp will do this for you automatically, but in the event there are problems, this page describes how to do it manually.

FAQ

  • Why is this project called ASL Rulebook 2?
    Several years ago, I wrote a similar ASL Rulebook project that worked from a scanned copy of the ASLRB. Since it required a prepared version of the PDF, which couldn't be distributed, there was no point releasing the source code. When MMP released their official eASLRB, I updated the code to work with that, and have released it here.
  • Why doesn't the sidebar update (e.g. to show Q+A) when I click on links within the PDF itself?
    This is due to the way the program is architected. The PDF is shown in an iframe, and so the outer application can't get event notifications for things that happen inside that iframe. I might revisit this later (but it's a lot of work :-/).