https://github.com/osks/jskom
jskom is a web based LysKOM client, written in Javascript. It uses httpkom for communication with the LysKOM server.
https://github.com/osks/jskom
Last synced: 6 months ago
JSON representation
jskom is a web based LysKOM client, written in Javascript. It uses httpkom for communication with the LysKOM server.
- Host: GitHub
- URL: https://github.com/osks/jskom
- Owner: osks
- License: mit
- Created: 2012-05-19T10:31:38.000Z (about 14 years ago)
- Default Branch: master
- Last Pushed: 2025-02-27T09:19:07.000Z (over 1 year ago)
- Last Synced: 2025-09-07T08:23:42.851Z (11 months ago)
- Language: JavaScript
- Homepage: https://jskom.osd.se/
- Size: 2.29 MB
- Stars: 11
- Watchers: 6
- Forks: 3
- Open Issues: 34
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
jskom
=====
jskom is a web based LysKOM client written in Javascript. It comes
with a Python web app for configuring and serving the Javascript
files.
jskom uses httpkom for communication with the LysKOM server.
The source code can be found at: https://github.com/osks/jskom
Packages are published on PyPI: https://pypi.org/project/jskom/
Docker images are published on Docker Hub: https://hub.docker.com/r/osks/jskom
Dependencies
------------
httpkom: https://github.com/osks/httpkom
For required Python packages, see requirements.txt. Install them with::
$ pip install -r requirements.txt
For running the tests from the Makefile in a console, you need
PhantomJS. You can still run the tests in a regular browser if you
want. (If you use Homebrew on OS X, you can install it with 'brew
install phantomjs'.)
For information: The jskom tests uses the Mocha framework
(http://visionmedia.github.com/mocha/) and mocha-phantomjs
(http://metaskills.net/mocha-phantomjs/). Both are included with
jskom. For mocha-phantomjs to work, mocha.js had to be patched to use
a real diff library::
require.register("browser/diff.js", function(module, exports, require){
module.exports = JsDiff; // this row was added
});
Running
-------
Default port is 5000.
Development
***********
::
$ make run-debug-server
Docker
******
Simple example::
$ docker run -ti --name=jskom --net=host osks/jskom
More complete::
$ docker run -d --name=jskom --net=host --restart=always \
-v /path/to/my-httpkom-config.cfg:/httpkom.cfg \
-v /path/to/my-jskom-config.cfg:/jskom.cfg \
osks/jskom:dev
Development
-----------
Building a dev docker image
***************************
::
docker build -f Dockerfile.dev -t osks/jskom:dev --no-cache .
docker login # username and access token for password
docker push osks/jskom:dev
Preparing a release
*******************
On master:
1. Update and check CHANGELOG.md.
2. Increment version number and remove ``+dev`` suffix
IN BOTH ``setup.py`` AND ``jskom/version.py``!
3. Test manually by using jskom.
4. Commit, push.
5. Tag (annotated) with ``v`` (example: ``v0.1``) and push the tag::
git tag -a v0.1 -m "Version 0.1"
git push origin v0.1
6. Build PyPI dist: ``make dist``
7. Push to Test PyPI: ``twine upload --repository testpypi dist/*`` and check
https://test.pypi.org/project/jskom/ .
8. Push to PyPI: ``twine upload dist/*`` and check
https://pypi.org/project/jskom/ .
9. Github release: Go to https://github.com/osks/jskom/releases
and draft a new release. Select tag and set title to "Version
", and then publish the release.
10. Docker image::
docker build -f Dockerfile -t osks/jskom:v --no-cache .
docker login # username and access token for password
docker push osks/jskom:v
docker tag osks/jskom:v osks/jskom:latest
docker push osks/jskom:latest
11. Add ``+dev`` suffix to version number, commit and push.
Tools
*****
Install and update release tools with::
pip install --upgrade setuptools wheel pip twine
Twine is used for pushing the built dist to PyPI. The examples in the
release process depends on a ``.pypirc`` file with config for the pypi
and testpypi repositories.
Example of ``.pypirc``::
[pypi]
username = __token__
password = pypi-...
[testpypi]
repository = https://test.pypi.org/legacy/
username = __token__
password = pypi-...
Authors
-------
Oskar Skoog
Copyright and license
---------------------
Copyright (c) 2012-2023 Oskar Skoog. jskom is provided under the MIT
license. See the included LICENSE.txt file for specifics.