1
0
mirror of https://github.com/hack-chat/main.git synced 2024-03-22 13:20:33 +08:00
a minimal, distraction-free chat application
Go to file
2020-03-06 15:17:43 -06:00
.github Create FUNDING.yml 2019-06-04 15:22:56 -05:00
client Client update 2019-08-17 16:24:29 -07:00
clientSource Package updates 2019-12-01 20:24:19 -08:00
documentation Package updates 2019-12-01 20:24:19 -08:00
server Reword actions which are restricted on using against users of same level 2020-03-06 15:17:43 -06:00
.gitignore Flatten 2018-05-13 16:09:55 +05:30
CHANGELOG.md Syntax update and formatting tweaks 2019-11-06 23:35:23 -08:00
index.js streamline dev flow 2018-05-19 17:21:08 -07:00
LICENSE Add license as a file in the repo as GitHub's documentation 2018-05-11 19:33:08 +05:30
package-lock.json Package updates 2019-12-01 20:24:19 -08:00
package.json Package updates 2019-12-01 20:24:19 -08:00
README.md Completed protocol decoupling 2018-06-03 11:08:35 -07:00

hack.chat

hack.chat is a minimal, distraction-free, accountless, logless, disappearing chat service which is easily deployable as your own service. The current client comes bundled with LaTeX rendering provided by KaTeX and code syntax highlighting provided by highlight.js.

A list of software developed for the hack.chat framework can be found at the 3rd party software list repository. This includes bots, clients, docker containers, etc.

This is a backwards compatible continuation of the work by Andrew Belt. The server code has been updated to ES6 along with several new features including new commands and hot-reload of the commands/protocol. There is also documentation and a changelog.

Installation

Prerequisites

Developer Installation

  1. Clone the repository: git clone https://github.com/hack-chat/main.git

  2. Change the directory: cd main

  3. Install the dependencies: npm install

  4. Launch: npm start

    If you change the websocketPort option during the config setup then these changes will need to be reflected on line 60 of client.js.

Live Deployment Installation

See DEPLOY.md

Contributing

  • If you are modifying commands, make sure it is backwards compatible with the legacy client and you update the documentation accordingly.
  • Use the template to learn how to create new commands.
  • Use two space indents.
  • Name files in camelCase.
  • Scripts that do not default to strict mode (such as modules) must use the 'use strict' directive.

Credits

License

This project is licensed under the WTFPL License.