A dev version of (A practice file generator for everyone's favorite game: Super Mario Sunshine)
Find a file
2020-09-26 15:45:11 +02:00
.devcontainer add codespaces configuration 2020-08-28 18:41:37 +02:00
.github/workflows remove line number from warnings 2020-08-16 07:52:16 +02:00
.vscode update japanese guide translation 2020-09-23 16:42:49 +02:00
dockerfiles wip 2020-07-01 08:52:12 +02:00
scripts update version/author labels 2020-09-24 18:29:56 +02:00
site update discord invites 2020-09-25 19:08:36 +02:00
.dockerignore wip 2020-07-01 08:52:12 +02:00
.editorconfig switch from azure-pipelines to github actions 2020-06-29 23:31:44 +02:00
.gitattributes Update .gitattributes 2020-07-01 09:25:44 +02:00
.gitignore init vuepress 2020-06-29 23:31:44 +02:00
.prettierignore add .prettierignore 2020-09-24 14:59:53 +02:00
.prettierrc component translation frameworking 2020-07-03 19:23:15 +02:00
changelog.md update changelog [skip ci] 2020-07-16 22:19:58 +02:00
Codes.xml update jp translations 2020-09-25 19:07:26 +02:00
docker-compose.yml switch from azure-pipelines to github actions 2020-06-29 23:31:44 +02:00
LICENSE add license 2020-06-29 23:31:44 +02:00
package.json Update vuepress monorepo to v1.6.0 2020-09-26 15:45:11 +02:00
Readme.md add details on how to add translations 2020-08-23 02:01:39 +02:00
renovate.json Add renovate.json 2020-09-10 20:01:54 +02:00
yarn.lock Update vuepress monorepo to v1.6.0 2020-09-26 15:45:11 +02:00

GCT Generator

GitHub license CD Pipeline

This repository contains the code behind the Super Mario Sunshine Cheatfile Generator at https://gct.zint.ch/


Features


Contributing

Updating Practice Codes

The codes are stored in the Codes.xml file. If you want to add or change codes edit the XML file. Note that GMSJ0A refers to the NTSC-J 1.1 release of Super Mario Sunshine. (It's not actually called version A but that's what we've been calling it for years due to a misconception on what the A on the back of the box means).

When adding new codes keep in mind that the English title/description are mandatory.

Adding translations

  1. Create a new file <lang>.json in site/.vuepress/i18n, where <lang> is the language code you want to add. Copy the contents of en-US.json into your file and translate each entry in the JSON file.
  2. Create a new folder with your language code in site (such as site/de for German). Create a new markdown file for each existing page (guide.md, index.md, ios58.md, ...) and translate its contents from the English version.
  3. Create a new entry in site/.vuepress/i18n/locales.json with the site metadata and navigation items for your language.
  4. Open Codes.xml and add a translation for each code (<title> and <description>).
Guide translations

Updating Guides

You can find the guides in the site folder. Simply edit the corresponding markdown file (.md).

Note that in the code reference files everything following the <!-- injectionpoint --> tag will be removed during the next build.

Site Development

If you intend to change site code you need NodeJS version 12.18.1 or any later 12.x LTS version installed on your local.

# Install yarn
npm i -g yarn

# Install dependencies
yarn

# Run project in watch mode
# This will serve the page in development mode on http://localhost:8080
yarn dev

# Build project
yarn build

The XML codes will be written automatically to the json file and code reference during the following actions:

  • Starting the development server with yarn dev
  • Building the site with yarn build

If you want to inject the codes at any given point you can use yarn codes:inject.

!!! Note that if yarn was used, yarn codes:clean is ran automatically as a pre-commit hook, removing all injected codes and staging ALL changes. If you want to commit changes without cleaning codes first you have to commit through git commit --no-verify.

Build and preview the site (Docker)

The project root provides a docker-compose file, which creates a clean build (with the same configuration as the production build) and spins up a minimal Apache server on your local, serving the resulting build on port 8080.

# Build and serve the site on http://localhost:8080
# Press CTRL+C to stop the container
docker-compose up --build