Package: madrassati-exercise-perseus-plugin
Perseus Exercise Renderer for madrassatiWhat is this?madrassati is a Learning Management System / Learning App designed to run on low-power devices, targeting the needs of learners and teachers in contexts with limited infrastructure. Seemadrassati.dz/madrassati <https://madrassati.dz/madrassati/>__ for more info.Perseus is Khan Academy's exercise question editor and renderer. Seegithub.com/Khan/perseus <https://github.com/Khan/perseus>__ for more info.This package is a wrapper around Perseus which allows it to be embedded and used within madrassati.InstallationThis plugin is bundled with madrassati - it is unlikely that you need to install it.. If you are running a custom version, you can install it like this:Inside your madrassati virtual environment::pip install madrassati-perseus-exercise-pluginActivate the plugin::madrassati plugin enable madrassati_exercise_perseus_pluginRestart madrassati.Getting started with developmentClone this repo.Open terminal in your madrassati repo.Run the following commands, with your madrassati development virtual env
enabled::make clean
pip install -e .
pip install -e 
madrassati plugin enable madrassati_exercise_perseus_pluginWithin the perseus plugin repo directory, run the following command, again using your madrassati dev virtualenv::cd madrassati_exercise_perseus_plugin
yarn install
cd ..
make distUpdating translation stringsFollow the directions in ourmadrassati i18n docs <https://madrassati-dev.readthedocs.io/en/develop/references/i18n.html>__.Release process and versioningThe versioning and releasing of thismadrassati_exercise_perseus_pluginplugin is independent of both madrassati and Perseus. We use semantic versioning, and create release branches for each minor release.How to publish to PyPi?When publishing, you'll need a GPG key to sign the package and associate it with your identity. You'll need to havegpgon your path. Some resources that might be helpful:https://help.github.com/articles/generating-a-new-gpg-key/https://keybase.io/https://www.gnupg.org/https://gpgtools.org/You'll also need an account on PyPi with access to themadrassati-exercise-perseus-plugin package <https://pypi.org/project/madrassati-exercise-perseus-plugin/>__Next, follow these steps carefully:Follow the instructions above to installing the plugin for development.Runpip install twine.Update the version number inmadrassati_exercise_perseus_plugin/__init__.py. Commit it to the perseus release branch. Tag a new release usinggithub's web UI <https://github.com/EDUC-EMM/madrassati-exercise-perseus-plugin/releases>__.Check out the tagged commit and ensure that you have no local changes.Build the frontend assets and .whl file by running::make distCheck that there are CSS, JS, and JSON files when searching the wheel file formadrassati_exercise_perseus_plugin::unzip -vl dist/[GENERATED WHEEL FILE NAME] | grep exercise_perseus_render_moduleSign and publish to PyPi::make releaseKnown issuesDevelopment installation version not activeIf you ranmake distormake pexon madrassati withmadrassati-exercise-perseus-plugin==x.x.xpresent inmadrassati/requirements/base.txt, madrassati will generate anmadrassati_exercise_perseus_plugininstance inside itsmadrassati/distfolder and bundle it for further distribution. That means manually installingmadrassati_exercise_perseus_pluginfor development won't take any effects. One way to fix this issue is to runmake cleanon madrassati.How can I contribute?Thanks for your interest! Please see the `contributing section <http://madrassati-dev.readthedocs.io/en/develop/start/contributing/index.html>`__ of our `online developer documentation <http://madrassati-dev.readthedocs.io/>`__.