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 fc8871a46f Updated for v1.07 of MMP's eASLRB. 2 years ago
asl_rulebook2 Updated for v1.07 of MMP's eASLRB. 2 years ago
doc Minor documentation and UI tweaks. 2 years ago
docker Force the webapp to initialize when running in a container. 3 years ago
.dockerignore Added basic application infrastructure. 3 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 Changed how we set up logging inside the Docker container. 3 years ago
LICENSE.txt Set up the package. 3 years ago
README.md Added the user documentation. 3 years ago
conftest.py Allow the search database to be cached. 3 years ago
pytest.ini Added pylint. 3 years ago
requirements-dev.txt Added a missing requirement. 3 years ago
requirements.txt Added a missing dependency to the requirements. 3 years ago
run-container.sh Allow the search database to be cached. 3 years ago
setup.py Added a web interface for preparing data files. 3 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 :-/).