https://github.com/endlessm/hack-web
The Hack web version
https://github.com/endlessm/hack-web
Last synced: 12 months ago
JSON representation
The Hack web version
- Host: GitHub
- URL: https://github.com/endlessm/hack-web
- Owner: endlessm
- License: agpl-3.0
- Created: 2020-02-03T13:52:25.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-07T04:48:01.000Z (over 3 years ago)
- Last Synced: 2025-05-30T14:16:46.754Z (about 1 year ago)
- Language: JavaScript
- Size: 38.3 MB
- Stars: 3
- Watchers: 12
- Forks: 1
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# hack-web
This is the web version of Hack.
## Setup
yarn install
git submodule init
git submodule update
flatpak install org.freedesktop.Sdk.Extension.mono5//18.08
You will need the following dependencies: NodeJS and Yarn. See tips
below for installing [NodeJS](#tip-installing-nodejs-in-endless-os)
and [Yarn](#tip-installing-yarn-in-endless-os) on Endless OS.
## Building
To build the app, call:
yarn build
You can find the built app inside the `build/` folder. You can also
call `yarn` in multiple ways while developing. See [the development
doc](./HACKING.md#run-test-build) for the available options.
## Project maintenance
Sometimes you need to perform actions after you sync your checked-out
version of the project with master. There are 2 cases:
Each time dependencies change in the `package.json` file, you should
run again:
yarn install
Each time the submodules get updated in the remote, you'll see a diff
in the `apps/` folder. You should run:
git submodule update
## Target Devices
Here are the target devices we support:
- Medium and large screens. Specifically, 960 pixels wide and above.
- Landscape view (not portrait).
- "Modern" browsers. Specifically, those having:
- [Material-UI support](https://material-ui.com/getting-started/supported-platforms/#browser)
- [CSS Flexible Box Layout Module](https://caniuse.com/#feat=flexbox)
- [Video element](https://caniuse.com/#feat=video)
## Authoring Content
We use the Ink DSL for user instructions in quests. See
[WritingQuests](docs/WritingQuests.md) for the conventions added on
top of Ink stories to support Hack quests.
See [Translating](./docs/Translating.md) for how to contribute
translations.
## Development
See [HACKING.md](./HACKING.md) for general tips and instructions.
See [Toolbox](./docs/Toolbox.md) for information about defining a
toolbox and hooking it to a hackable app.
## Tip: Installing NodeJS in Endless OS
Go to [the NodeJS download page](https://nodejs.org/en/download/) and
download the correct "Linux Binaries" package for your system. Most
likely, you will want the "64-bit" package. Create a `.local` folder
in your home directory and unzip the downloaded package there:
mkdir -p ~/.local
tar -C ~/.local -xJf node-v12.14.1-linux-x64.tar.xz --strip-components=1
Check if `~/.local/bin` is in your path (`echo $PATH`) and if not, add
the following line to your `~/.bashrc` file:
export PATH="$HOME/.local/bin:$PATH"
In the terminal, log in and log out for the changes to take effect.
## Tip: Installing Yarn in Endless OS
Download the Yarn package:
wget https://yarnpkg.com/latest.tar.gz
Verify the package:
wget -qO- https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --import
wget https://yarnpkg.com/latest.tar.gz.asc
gpg --verify latest.tar.gz.asc
Extract the package in your home directory:
mkdir -p ~/.yarn
tar zvxf latest.tar.gz -C ~/.yarn --strip-components 1
Edit your `~/.bashrc` profile to add the following path:
export PATH="$HOME/.yarn/bin:$PATH"
In the terminal, log in and log out for the changes to take effect.