-
Notifications
You must be signed in to change notification settings - Fork 0
Architecture of the Site
The StudyGameDev project is a compilation of externally-hosted, linked resources from various sources that are intended to help teach a game developer skills for indie or professional game development.
The site itself is organized into a main content wrapper and its default "home page" contents, three UI modules (menu, accessibility settings, and code generator), a search bar, and a dynamically-loaded interface for presenting information according to a tree-like hierarchy in terms of game development skill education. Said interface is arranged by topic (in which each topic contains chapters, in which there are resources).
- index.php - The data, UI, and functions are assembled here.
- style.css - Styles the UI.
- section-toggle.js - Provides functions for folding and unfolding chapters and their resources.
- taffy-min.js - A JS library for object-based data libraries.
- db-init.js - The initialization of a database of 1) topics and chapters, and 2) resources
- db-populate.js - Provides functions for populating the site with the data.
- awesome-menu.js - Controls the slide-in menu interface.
- gencode.js - Controls a handy code generator for newbies who wish to contribute links.
- search.js - Handles single-term user input in a search bar.
In the site, chapters contain a button that, when triggered, toggles the display of a section tag. This tag is a wrapper for the resource modules contained within. To clarify, each chapter of a site gets only one section within it. To display multiple groups of resources under a topic, you need multiple chapters, each with its own unique single section wrapper.
In the scripts, the term "chapter" and "section" is being used almost interchangeably, due to confusion caused from amateurish coding practices and taking long breaks after working too hard on the site for too long.
Chapters should only refer to the div elements which contain the chapter class. They generally do not contain ID names of any sort nor have any identifying names behind them. Sections should refer to the ID name of the section wrapper tag that is contained within a chapter tag. Variables and database field names should reflect this.