ante4711 / jskom

jskom is a web based LysKOM client, written in Javascript. It uses httpkom for communication with the LysKOM server.

Home Page:https://jskom.osd.se/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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:v0.21

Development

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<version> (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. 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 <oskar@osd.se>

Copyright and license

Copyright (c) 2012-2020 Oskar Skoog. jskom is provided under the MIT license. See the included LICENSE.txt file for specifics.

About

jskom is a web based LysKOM client, written in Javascript. It uses httpkom for communication with the LysKOM server.

https://jskom.osd.se/

License:MIT License


Languages

Language:JavaScript 68.8%Language:CSS 25.7%Language:HTML 4.1%Language:Python 0.7%Language:CoffeeScript 0.5%Language:Ruby 0.1%Language:Dockerfile 0.1%Language:Makefile 0.0%