Skip to content

Commit 8e1b1ac

Browse files
committed
Merge pull request #4470 from learningequality/0.15.x
0.15.0
2 parents 718cbb4 + 4bf1bd0 commit 8e1b1ac

File tree

2,483 files changed

+84314
-205077
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,483 files changed

+84314
-205077
lines changed

.gitignore

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
# File created by Coverage
33
.coverage
44

5+
# PyCharm
6+
.idea
7+
58
# Eclipse
69
.project
710
.pydevproject
@@ -42,17 +45,32 @@ static-updates
4245
# Python compiling
4346
*.pyc
4447
*.pyo
48+
49+
# Backup files
4550
*~
51+
52+
# Sublime editor
4653
*.sublime-*
54+
55+
# Ignore all .zip files!? No comment?? Needs fixing, I guess it's to avoid
56+
# committing local assessment items.
4757
*.zip
4858

4959
# Documentation
5060
docs/_build
5161
docs/images/*
62+
docs/kalite.1.gz
5263

5364
# oh-my-zsh convention for automatically
5465
# switching on a venv
5566
.venv
67+
venv/
68+
69+
# Ignore built javascript files
70+
/kalite/*/static/js/*/bundles
71+
72+
# Ignore changes to Perseus and Khan Exercises that do not come from intentional edits
73+
/kalite/distributed/static/js/distributed/perseus
5674

5775
# Lacks documentation
5876
locale/

.jshintignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
**/*.handlebars
2+
**/*.less
3+
**/*.css
4+
kalite/distributed/static/js/distributed/base/backbone-tastypie.js
5+
kalite/distributed/static/js/distributed/perseus/**/*
6+
kalite/*/static/js/*/bundles/*
7+
static-libraries/**
8+
kalite/i18n/static/js/i18n

.jshintrc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"sub": true,
3+
"browserify": true,
4+
"browser": true
5+
}

Gruntfile.js

Lines changed: 0 additions & 63 deletions
This file was deleted.

MANIFEST.in.dist

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,30 @@
33

44
include kalitectl.py
55
include LICENSE
6-
include README.md
6+
include README.rst
77
include setup.cfg
88
include requirements.txt
99

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

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

14-
exclude kalite/local_settings.py
15-
exclude kalite/settings/local_settings.py
16-
exclude kalite/private_key.pem
17-
exclude kalite/secrets.py
16+
# Not doing this anymore
17+
# exclude kalite/local_settings.py
18+
# exclude kalite/settings/local_settings.py
19+
# exclude kalite/private_key.pem
20+
# exclude kalite/secrets.py
1821

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

27+
# Necessary because it's a data directory so they
28+
# do not get automatically excluded
2429
recursive-exclude python-packages *pyc
30+
31+
# Docs
32+
recursive-include docs/_build/html *

Makefile

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
.PHONY: clean-pyc clean-build docs clean
2+
3+
help:
4+
@echo "clean - remove all build, test, coverage and Python artifacts"
5+
@echo "clean-build - remove build artifacts"
6+
@echo "clean-pyc - remove Python file artifacts"
7+
@echo "clean-test - remove test and coverage artifacts"
8+
@echo "lint - check style with pep8"
9+
@echo "test - run tests the default Python"
10+
@echo "test-bdd - run BDD tests only"
11+
@echo "test-nobdd - run non-BDD tests only"
12+
@echo "assets - build all JS/CSS assets"
13+
@echo "coverage - check code coverage quickly with the default Python"
14+
@echo "docs - generate Sphinx HTML documentation, including API docs"
15+
@echo "release - package and upload a release"
16+
@echo "dist - package locally"
17+
@echo "install - install the package to the active Python's site-packages"
18+
19+
clean: clean-build clean-pyc clean-test
20+
21+
clean-build:
22+
rm -fr build/
23+
rm -fr dist/
24+
rm -fr .eggs/
25+
rm -fr dist-packages/
26+
rm -fr dist-packages-temp/
27+
find . -name '*.egg-info' -exec rm -fr {} +
28+
find . -name '*.egg' -exec rm -f {} +
29+
30+
clean-pyc:
31+
find . -name '*.pyc' -exec rm -f {} +
32+
find . -name '*.pyo' -exec rm -f {} +
33+
find . -name '*~' -exec rm -f {} +
34+
find . -name '__pycache__' -exec rm -fr {} +
35+
36+
clean-test:
37+
rm -fr .tox/
38+
rm -f .coverage
39+
rm -fr htmlcov/
40+
41+
lint:
42+
pep8 kalite
43+
jshint kalite/*/static/js/*/
44+
45+
test:
46+
bin/kalite manage test --bdd-only
47+
48+
test-bdd:
49+
bin/kalite manage test --bdd-only
50+
51+
test-nobdd:
52+
bin/kalite manage test --no-bdd
53+
54+
test-all:
55+
@echo "Not supported yet"
56+
# tox
57+
58+
coverage:
59+
coverage run --source kalite kalitectl.py test
60+
coverage report -m
61+
62+
coverage-bdd:
63+
coverage run --source kalite kalitectl.py test --bdd-only
64+
coverage report -m
65+
66+
coverage-nobdd:
67+
coverage run --source kalite kalitectl.py test --no-bdd
68+
coverage report -m
69+
70+
docs:
71+
# rm -f docs/ka-lite.rst
72+
# rm -f docs/modules.rst
73+
# sphinx-apidoc -o docs/ ka-lite-gtk
74+
$(MAKE) -C docs clean
75+
$(MAKE) -C docs html
76+
cli2man bin/kalite -o docs/kalite.1.gz
77+
# open docs/_build/html/index.html
78+
79+
assets:
80+
# Necessary because NPM may have wrong versions in the cache
81+
npm cache clean
82+
npm install --production
83+
node build.js
84+
bin/kalite manage compileymltojson
85+
86+
release: clean docs assets
87+
python setup.py sdist --formats=gztar,zip upload --sign
88+
python setup.py sdist --formats=gztar,zip upload --sign --static
89+
ls -l dist
90+
91+
dist: clean docs assets
92+
python setup.py sdist
93+
python setup.py sdist --static
94+
ls -l dist
95+
96+
install: clean
97+
python setup.py install

README.md

Lines changed: 0 additions & 29 deletions
This file was deleted.

README.rst

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
KA Lite
2+
=======
3+
4+
by `Foundation for Learning Equality <https://learningequality.org/>`__
5+
6+
|Build Status| |Coverage Status| |Docs|
7+
8+
.. |Build Status| image:: https://circleci.com/gh/learningequality/ka-lite/tree/develop.svg?style=svg
9+
:target: https://circleci.com/gh/learningequality/ka-lite/tree/develop
10+
11+
.. |Coverage Status| image:: https://coveralls.io/repos/learningequality/ka-lite/badge.svg
12+
:target: https://coveralls.io/r/learningequality/ka-lite
13+
14+
.. |Docs| image:: https://img.shields.io/badge/docs-latest-brightgreen.svg?style=flat
15+
:target: http://ka-lite.readthedocs.org/
16+
17+
`Khan Academy <http://www.khanacademy.org/>`__'s core mission is to
18+
"provide a free world-class education for anyone anywhere", and as `70%
19+
of the world's population is without access to the
20+
internet <http://en.wikipedia.org/wiki/Global_Internet_usage>`__,
21+
primarily in the developing world, providing an alternative delivery
22+
mechanism for Khan Academy content is key to fulfilling this mission.
23+
24+
`KA Lite <http://kalite.learningequality.org/>`__ is a lightweight
25+
`Django <https://www.djangoproject.com/>`__ web app for serving core
26+
Khan Academy content (videos and exercises) from a local server, with
27+
points and progress-tracking, without needing internet connectivity.
28+
29+
Primary use cases include:
30+
--------------------------
31+
32+
- For servers/\ **computer labs located in remote schools**, which
33+
could be slowly syncing with a central server over a cell/satellite
34+
network or via USB keys.
35+
- In **correctional facilities** and other environments where providing
36+
educational materials is of value, but users cannot be given general
37+
internet access.
38+
- **Mobile school "vans"**, which transport a server and multiple
39+
laptops/tablets between a number of schools (or orphanages, community
40+
centers, etc) in remote communities on a rotating basis, and syncing
41+
up with a central database (to download new content and upload
42+
analytics) when in an area with internet connectivity.
43+
44+
We would love for you to get involved!
45+
--------------------------------------
46+
47+
- Learn how you can contribute code on our `KA Lite GitHub Wiki <https://github.com/learningequality/ka-lite/wiki>`__
48+
- Report bugs by `creating issues <https://github.com/learningequality/ka-lite/wiki/Report-Bugs-by-Creating-Issues>`__
49+
- Read more about the project's motivation at `Introducing KA Lite, an offline version of Khan
50+
Academy <http://jamiealexandre.com/blog/2012/12/12/ka-lite-offline-khan-academy/>`__.
51+
52+
Contact Us
53+
^^^^^^^^^^
54+
55+
Tell us about your project and experiences!
56+
57+
- Email: info@learningequality.org
58+
- Add your project to the map: https://learningequality.org/ka-lite/map/
59+
60+
License information
61+
-------------------
62+
63+
The KA Lite sourcecode itself is open-source `MIT
64+
licensed <http://opensource.org/licenses/MIT>`__, and the other included
65+
software and content is licensed as described in the
66+
`LICENSE <https://raw.github.com/learningequality/ka-lite/master/LICENSE>`__
67+
file. Please note that KA Lite is not officially affiliated with, nor
68+
maintained by, Khan Academy, but rather makes use of Khan Academy's open
69+
API and Creative Commons content, which may only be used for
70+
non-commercial purposes.

0 commit comments

Comments
 (0)