https://github.com/etherealengine/ee-tutorials
Development ground for Ethereal Engine tutorial projects
https://github.com/etherealengine/ee-tutorials
Last synced: 12 months ago
JSON representation
Development ground for Ethereal Engine tutorial projects
- Host: GitHub
- URL: https://github.com/etherealengine/ee-tutorials
- Owner: EtherealEngine
- Created: 2024-02-21T11:34:44.000Z (almost 2 years ago)
- Default Branch: dev
- Last Pushed: 2024-03-01T07:59:30.000Z (almost 2 years ago)
- Last Synced: 2024-10-29T22:49:43.155Z (over 1 year ago)
- Language: TypeScript
- Size: 11.7 KB
- Stars: 0
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Development ground for Ethereal Engine tutorials
This is a meta-project for creating EE Tutorial/Example projects.
It contains:
- Collection of project ideas that could turn into useful tutorials
- Already published tutorials _(as submodules)_
- Source code of Work-in-Progress tutorial projects
> **Important**:
> This repository uses git's `subtree` and `submodule` features for managing its contained projects.
> Using the provided scripts and instructions is required to respect the repository's workflow.
## Cloning the Repository
The repository **must** be cloned with submodule recursion:
```bash
git clone --recurse-submodules -j8 git@github.com:EtherealEngine/ee-tutorials.git
```
If you already cloned the repository without recursive submodules
```bash
git submodule update --init --recursive
```
## Creating a new project
This repository provides a script to add new projects based on the engine templates:
```bash
./create # Creates a new project based on the standard template
./create static # Creates a new project based on the static build template
# NOTE: is the name of the project without the `ee-tutorial-` prefix
```
## Folder structure
```md
ROOT
├─ 🗀 published # Finished tutorial projects are stored as submodules
│ ├─ 🗀 ... # A published tutorial submodule ..
│ └─ 🗀 ... # A published tutorial submodule ..
├─ 🗀 src # In-Development projects that might eventually be published
│ ├─ 🗀 ... # Source code of a Work-in-Progress tutorial project ..
│ └─ 🗀 ... # Source code of a Work-in-Progress tutorial project ..
├─ 🗎 create # Shell script to create new projects from the engine templates
└─ 🗎 readme.md # This file
```
## Publishing finished projects
This process allows to extract the project from this repository's git-tree without losing its history.
```bash
# Split the project's tree without losing its history
git subtree split -P ./src/ -b
# NOTE: is a branch on this repository, not on the new repository that will contain the example
# Create the published project
mkdir ./published/ && cd ./published/
git init && git pull git@github.com:EtherealEngine/ee-tutorials.git
# Create the repository with GitHub UI and add the resulting URL
git remote add origin
git push -u origin dev
# Cleanup the original code of the project
git rm -rf ./src/
```