Skip to content

Commit

Permalink
Merge pull request #4470 from learningequality/0.15.x
Browse files Browse the repository at this point in the history
0.15.0
  • Loading branch information
rtibbles committed Oct 13, 2015
2 parents 718cbb4 + 4bf1bd0 commit 8e1b1ac
Show file tree
Hide file tree
Showing 2,483 changed files with 84,314 additions and 205,077 deletions.
18 changes: 18 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
# File created by Coverage
.coverage

# PyCharm
.idea

# Eclipse
.project
.pydevproject
Expand Down Expand Up @@ -42,17 +45,32 @@ static-updates
# Python compiling
*.pyc
*.pyo

# Backup files
*~

# Sublime editor
*.sublime-*

# Ignore all .zip files!? No comment?? Needs fixing, I guess it's to avoid
# committing local assessment items.
*.zip

# Documentation
docs/_build
docs/images/*
docs/kalite.1.gz

# oh-my-zsh convention for automatically
# switching on a venv
.venv
venv/

# Ignore built javascript files
/kalite/*/static/js/*/bundles

# Ignore changes to Perseus and Khan Exercises that do not come from intentional edits
/kalite/distributed/static/js/distributed/perseus

# Lacks documentation
locale/
Expand Down
8 changes: 8 additions & 0 deletions .jshintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
**/*.handlebars
**/*.less
**/*.css
kalite/distributed/static/js/distributed/base/backbone-tastypie.js
kalite/distributed/static/js/distributed/perseus/**/*
kalite/*/static/js/*/bundles/*
static-libraries/**
kalite/i18n/static/js/i18n
5 changes: 5 additions & 0 deletions .jshintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"sub": true,
"browserify": true,
"browser": true
}
63 changes: 0 additions & 63 deletions Gruntfile.js

This file was deleted.

20 changes: 14 additions & 6 deletions MANIFEST.in.dist
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,30 @@

include kalitectl.py
include LICENSE
include README.md
include README.rst
include setup.cfg
include requirements.txt

recursive-include kalite *.html *.txt *.png *.js *.css *.gif *.less *.mo *.po *.otf *.svg *.woff *.eot *.ttf *.zip *.json *.handlebars
recursive-include kalite *.html *.txt *.png *.js *.css *.gif *.less *.otf *.svg *.woff *.eot *.ttf *.zip *.json *.handlebars

# This can be a huge problem when creating an sdist from
# a local development environment
recursive-exclude kalite/static *

exclude kalite/local_settings.py
exclude kalite/settings/local_settings.py
exclude kalite/private_key.pem
exclude kalite/secrets.py
# Not doing this anymore
# exclude kalite/local_settings.py
# exclude kalite/settings/local_settings.py
# exclude kalite/private_key.pem
# exclude kalite/secrets.py

# Data files, these are not picked up by sdist unless listed here
recursive-include python-packages *
recursive-include static-libraries *
recursive-include data *

# Necessary because it's a data directory so they
# do not get automatically excluded
recursive-exclude python-packages *pyc

# Docs
recursive-include docs/_build/html *
97 changes: 97 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
.PHONY: clean-pyc clean-build docs clean

help:
@echo "clean - remove all build, test, coverage and Python artifacts"
@echo "clean-build - remove build artifacts"
@echo "clean-pyc - remove Python file artifacts"
@echo "clean-test - remove test and coverage artifacts"
@echo "lint - check style with pep8"
@echo "test - run tests the default Python"
@echo "test-bdd - run BDD tests only"
@echo "test-nobdd - run non-BDD tests only"
@echo "assets - build all JS/CSS assets"
@echo "coverage - check code coverage quickly with the default Python"
@echo "docs - generate Sphinx HTML documentation, including API docs"
@echo "release - package and upload a release"
@echo "dist - package locally"
@echo "install - install the package to the active Python's site-packages"

clean: clean-build clean-pyc clean-test

clean-build:
rm -fr build/
rm -fr dist/
rm -fr .eggs/
rm -fr dist-packages/
rm -fr dist-packages-temp/
find . -name '*.egg-info' -exec rm -fr {} +
find . -name '*.egg' -exec rm -f {} +

clean-pyc:
find . -name '*.pyc' -exec rm -f {} +
find . -name '*.pyo' -exec rm -f {} +
find . -name '*~' -exec rm -f {} +
find . -name '__pycache__' -exec rm -fr {} +

clean-test:
rm -fr .tox/
rm -f .coverage
rm -fr htmlcov/

lint:
pep8 kalite
jshint kalite/*/static/js/*/

test:
bin/kalite manage test --bdd-only

test-bdd:
bin/kalite manage test --bdd-only

test-nobdd:
bin/kalite manage test --no-bdd

test-all:
@echo "Not supported yet"
# tox

coverage:
coverage run --source kalite kalitectl.py test
coverage report -m

coverage-bdd:
coverage run --source kalite kalitectl.py test --bdd-only
coverage report -m

coverage-nobdd:
coverage run --source kalite kalitectl.py test --no-bdd
coverage report -m

docs:
# rm -f docs/ka-lite.rst
# rm -f docs/modules.rst
# sphinx-apidoc -o docs/ ka-lite-gtk
$(MAKE) -C docs clean
$(MAKE) -C docs html
cli2man bin/kalite -o docs/kalite.1.gz
# open docs/_build/html/index.html

assets:
# Necessary because NPM may have wrong versions in the cache
npm cache clean
npm install --production
node build.js
bin/kalite manage compileymltojson

release: clean docs assets
python setup.py sdist --formats=gztar,zip upload --sign
python setup.py sdist --formats=gztar,zip upload --sign --static
ls -l dist

dist: clean docs assets
python setup.py sdist
python setup.py sdist --static
ls -l dist

install: clean
python setup.py install
29 changes: 0 additions & 29 deletions README.md

This file was deleted.

70 changes: 70 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
KA Lite
=======

by `Foundation for Learning Equality <https://learningequality.org/>`__

|Build Status| |Coverage Status| |Docs|

.. |Build Status| image:: https://circleci.com/gh/learningequality/ka-lite/tree/develop.svg?style=svg
:target: https://circleci.com/gh/learningequality/ka-lite/tree/develop

.. |Coverage Status| image:: https://coveralls.io/repos/learningequality/ka-lite/badge.svg
:target: https://coveralls.io/r/learningequality/ka-lite

.. |Docs| image:: https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat
:target: http://ka-lite.readthedocs.org/

`Khan Academy <http://www.khanacademy.org/>`__'s core mission is to
"provide a free world-class education for anyone anywhere", and as `70%
of the world's population is without access to the
internet <http://en.wikipedia.org/wiki/Global_Internet_usage>`__,
primarily in the developing world, providing an alternative delivery
mechanism for Khan Academy content is key to fulfilling this mission.

`KA Lite <http://kalite.learningequality.org/>`__ is a lightweight
`Django <https://www.djangoproject.com/>`__ web app for serving core
Khan Academy content (videos and exercises) from a local server, with
points and progress-tracking, without needing internet connectivity.

Primary use cases include:
--------------------------

- For servers/\ **computer labs located in remote schools**, which
could be slowly syncing with a central server over a cell/satellite
network or via USB keys.
- In **correctional facilities** and other environments where providing
educational materials is of value, but users cannot be given general
internet access.
- **Mobile school "vans"**, which transport a server and multiple
laptops/tablets between a number of schools (or orphanages, community
centers, etc) in remote communities on a rotating basis, and syncing
up with a central database (to download new content and upload
analytics) when in an area with internet connectivity.

We would love for you to get involved!
--------------------------------------

- Learn how you can contribute code on our `KA Lite GitHub Wiki <https://github.com/learningequality/ka-lite/wiki>`__
- Report bugs by `creating issues <https://github.com/learningequality/ka-lite/wiki/Report-Bugs-by-Creating-Issues>`__
- Read more about the project's motivation at `Introducing KA Lite, an offline version of Khan
Academy <http://jamiealexandre.com/blog/2012/12/12/ka-lite-offline-khan-academy/>`__.

Contact Us
^^^^^^^^^^

Tell us about your project and experiences!

- Email: [email protected]
- Add your project to the map: https://learningequality.org/ka-lite/map/

License information
-------------------

The KA Lite sourcecode itself is open-source `MIT
licensed <http://opensource.org/licenses/MIT>`__, and the other included
software and content is licensed as described in the
`LICENSE <https://raw.github.com/learningequality/ka-lite/master/LICENSE>`__
file. Please note that KA Lite is not officially affiliated with, nor
maintained by, Khan Academy, but rather makes use of Khan Academy's open
API and Creative Commons content, which may only be used for
non-commercial purposes.
Loading

0 comments on commit 8e1b1ac

Please sign in to comment.