This file will give an overview of what each folder and file in this repository does. There are 2 parts to this document:
This section gives some background information that will be referred to in the Structure part of this document.
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.
JSONs that have a key
field (See: 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.
This section will describe the layout of this repository, and what each file and folder does.
The site
folder is the root folder of the site.
The content
folder contains the front matter.
The *.md
files are the front matter of the site. Documentation for the front matter can be found here. The TOML fields used here are:
title
advertisement
: Whether advertisements are displayed or not.
The entry
folder contains the front matter for the blog.
The *.md
files here are the front matter for the blog. Documentation for the front matter can be found here. The TOML fields used here are:
date
: The date that the article was written on, following ISO 8601, preferably down to the second. An example for Feburary 23, 2016, at 11:30 PM EST is2016-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.
The data
folder contains JSON files with data.
The authors.json
file has info about each of the blog authors. The JSON fields used are:
- User (Object): The data for a user.
key
(String): The name of the user (See: Keys).name
(String): The name of the user (See: Names).avatar
(String): The link to the user's avatar on the forums.
The compatibility.json
file has info about each of the compataibility ranks in the Game Compatibility List. The JSON fields used here are:
- Rating (Object): The data for a rating.
key
(String): The number representing the rating (See: 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.
The vcSystems.json
file has info about each of the 3DS's Virtual Consoles, used in the Game Compatibility List. The JSON fields used here are:
- Console (Object): The data for a rating.
key
(String): The short name of a console (See: Keys).name
(String): The full name of the console (See: Names).
The gameTypes.json
file has info about each of the 3DS game types, used in the Game Compatibility List. The JSON fields used here are:
- Game Type (Object): The data for a game type.
name
(String): The full name of the console (See: Names).
The i18n
folder is a placeholder for if the site is translated.
The images
folder, and its subfolders have PNG images used throughout the site.
The citra-bs-theme
folder describes what the final pages should look like.
The layout
folder has the structure for the root directory of the final site that users will see.
The *.html
files has the HTML templates for the final page. Documentation for these files can be found here.
The rss.xml
file has info for 3rd party RSS readers.
The sitemap.xml
has a sitemap for search engines to index.
The static
folder has resources that will be copied over to the final page.
The css
folder has stylesheets that describe the aesthetics of the page.
The fonts
folder has fonts. Wow.
The images
folder has images for the main page, mostly branding. Other images like screenshots go in /site/static/images/
.
The scripts
folder has Javascript scripts responsible for loading special parts of the page.
The icon for the site.
The theme.toml
file has metadata about the Citra Bootstrap theme. Documentation for this file can be found here.
The config.toml
file contains metadata for the whole site. Documentation for this file can be found here.
These are Node.JS apps used for specific purposes like fetching tweets from Twitter.