# Sitemap This file will give an overview of what each folder and file in this repository does. There are 2 parts to this document: - [Info](#info) - [Structure](#structure) ## Info This section gives some background information that will be referred to in the [Structure](#structure) part of this document. ### Keys Some of the JSONs in this repositor use a field named `key`. The value of this should be the same as the name of the parent object. This should be lowercase, with no spaces. ### Names JSONs that have a `key` field (See: [Keys](#keys)) also have a `name` field. The value of this doesn't have to be the same as the value of `key` or the name of the parent object, and can have capitalization and spaces. ## Structure This section will describe the layout of this repository, and what each file and folder does. ### Site (`/site/`) The `site` folder is the root folder of the site. #### Content (`/site/content/`) The `content` folder contains the [front matter](https://gohugo.io/content/front-matter/). ##### Main Pages Front Matter (`/site/content/*.md`) The `*.md` files are the front matter of the site. Documentation for the front matter can be found [here](https://gohugo.io/content/front-matter/). The [TOML](https://github.com/toml-lang/toml) fields used here are: - `title` - `advertisement`: Whether advertisements are displayed or not. ##### Blog Entries (`/site/content/entry/`) The `entry` folder contains the front matter for the blog. ###### Blog Entries Front Matter (`/site/content/entry/*.md`) The `*.md` files here are the front matter for the blog. Documentation for the front matter can be found [here](https://gohugo.io/content/front-matter/). The [TOML](https://github.com/toml-lang/toml) fields used here are: - `date`: The date that the article was written on, following [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), preferably down to the second. An example for Feburary 23, 2016, at 11:30 PM EST is `2016-02-23T23:30:00-05:00`. - `title` - `tags` - `author`: The name(s) of the person/people that wrote the article, in `/site/data/authors.json`. - `forum`: The ID of the forum topic for discussing the article. #### Data (`/site/data/`) The `data` folder contains [JSON](http://www.json.org/) files with data. ##### Authors (`/site/data/authors.json`) The `authors.json` file has info about each of the blog authors. The [JSON](http://www.json.org/) fields used are: - User (Object): The data for a user. - `key` (String): The name of the user (See: [Keys](#keys)). - `name` (String): The name of the user (See: [Names](#names)). - `avatar` (String): The link to the user's avatar on the forums. ##### Compatability (`/site/data/compatibility.json`) The `compatibility.json` file has info about each of the compataibility ranks in the [Game Compatibility List](https://citra-emu.org/game/). The [JSON](http://www.json.org/) fields used here are: - Rating (Object): The data for a rating. - `key` (String): The number representing the rating (See: [Keys](#keys)). - `name` (String): The name of the rating. - `color` (String): The HTML color code for the rating, including the `#`. - `description` (String): A description of the rating. ##### Virtual Console Systems (`/site/data/vcSystems.json`) The `vcSystems.json` file has info about each of the 3DS's Virtual Consoles, used in the [Game Compatibility List](https://citra-emu.org/game/). The [JSON](http://www.json.org/) fields used here are: - Console (Object): The data for a rating. - `key` (String): The short name of a console (See: [Keys](#keys)). - `name` (String): The full name of the console (See: [Names](#names)). ##### Game Types (`/site/data/gameTypes.json`) The `gameTypes.json` file has info about each of the 3DS game types, used in the [Game Compatibility List](https://citra-emu.org/game/). The [JSON](http://www.json.org/) fields used here are: - Game Type (Object): The data for a game type. - `name` (String): The full name of the console (See: [Names](#names)). #### Translations (`/site/i18n/`) The `i18n` folder is a placeholder for if the site is translated. #### Images (`/site/static/images/`) The `images` folder, and its subfolders have PNG images used throughout the site. #### Bootstrap Theme (`/site/themes/citra-bs-theme`) The `citra-bs-theme` folder describes what the final pages should look like. ##### Theme Layout (`/site/themes/citra-bs-theme/layout/`) The `layout` folder has the structure for the root directory of the final site that users will see. ###### HTML Templates (`/site/themes/citra-bs-theme/layout/*.html`) The `*.html` files has the HTML templates for the final page. Documentation for these files can be found [here](https://gohugo.io/templates/list). ###### RSS File (`/site/themes/citra-bs-theme/layout/rss.xml`) The `rss.xml` file has info for 3rd party RSS readers. ###### Sitemap (`/site/themes/citra-bs-theme/layout/sitemap.xml`) The `sitemap.xml` has a sitemap for search engines to index. ##### Theme Static Data (`/site/themes/citra-bs-theme/static/`) The `static` folder has resources that will be copied over to the final page. ###### Style Sheets (`/site/themes/citra-bs-theme/static/css/*.css`) The `css` folder has stylesheets that describe the aesthetics of the page. ###### Fonts (`/site/themes/citra-bs-theme/static/fonts/*`) The `fonts` folder has fonts. Wow. ###### Images (`/site/themes/citra-bs-theme/static/images/*`) The `images` folder has images for the main page, mostly branding. Other images like screenshots go in `/site/static/images/`. ###### Scripts (`/site/themes/citra-bs-theme/static/scripts/*.js`) The `scripts` folder has Javascript scripts responsible for loading special parts of the page. ###### Favorite Icon (`/site/themes/citra-bs-theme/static/favicon.ico`) The icon for the site. ##### Theme Metadata (`/site/themes/citra-bs-theme/theme.toml`) The `theme.toml` file has metadata about the Citra Bootstrap theme. Documentation for this file can be found [here](https://gohugo.io/overview/configuration/). #### Configuration (`/site/config.toml`) The `config.toml` file contains metadata for the whole site. Documentation for this file can be found [here](https://gohugo.io/overview/configuration/). ### Scripts These are Node.JS apps used for specific purposes like fetching tweets from Twitter.