A dev version of (A practice file generator for everyone's favorite game: Super Mario Sunshine)
Find a file
2021-02-25 18:56:40 +01:00
.devcontainer Delete node-debian.sh 2021-01-30 18:56:18 +01:00
.github/workflows remove line number from warnings 2020-08-16 07:52:16 +02:00
.vscode Delete launch.json 2021-01-30 18:54:14 +01:00
dockerfiles wip 2020-07-01 08:52:12 +02:00
scripts grammar 2021-01-06 11:29:40 +01:00
site update final terminator for gct files 2021-01-15 00:39:49 +01: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 fixed remove save boxes 2021-02-17 15:59:16 +01:00
Codes.xml fixed remove save boxes 2021-02-17 15:59:16 +01: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 Merge branch 'dependabot/npm_and_yarn/vuepress/plugin-medium-zoom-1.8.2' of github.com:BitPatty/gctGenerator 2021-02-25 18:56:40 +01:00
Readme.md Update Readme.md 2020-11-22 13:31:39 +01:00
yarn.lock Merge branch 'dependabot/npm_and_yarn/vuepress/plugin-medium-zoom-1.8.2' of github.com:BitPatty/gctGenerator 2021-02-25 18:56:40 +01: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>).

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