diff --git a/.travis.yml b/.travis.yml
index 29ad162..0c9133b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,32 +2,36 @@
language: node_js
-node_js:
- - "6"
+node_js: "6"
+
+cache:
+ yarn: true
+ directories:
+ - node_modules
before_script:
- echo '========== Importing wiki articles into hugo =========='
- cd ./scripts/wiki/
- - npm install
+ - yarn install
- node app.js
- cd $TRAVIS_BUILD_DIR
- echo '========== Importing games wiki articles into hugo =========='
- cd ./scripts/games/
- - npm install
+ - yarn install
- node app.js
- cd $TRAVIS_BUILD_DIR
- echo '========== Importing twitter tweets into hugo =========='
- cd ./scripts/twitter/
- - npm install
+ - yarn install
- node app.js
- cd $TRAVIS_BUILD_DIR
- echo '========== Installing gulp / hugo dependencies =========='
- - npm install -g @alrra/travis-scripts
- - npm install -g gulp
- - npm install -g hugo-bin
+ - yarn global add @alrra/travis-scripts
+ - yarn global add gulp
+ - yarn global add hugo-bin
- hugo version
- echo '========== Configuring Github Pages =========='
diff --git a/gulpfile.js b/gulpfile.js
index 5de0d62..790f2ae 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -44,18 +44,6 @@ gulp.task('hugo', ['setup'], function (cb) {
gulp.task("css", ['hugo'], () => (
gulp.src(`${distPath}/css/**/*.css`, {base: './'})
.pipe(postcss([cssnext(), cssImport({from: `${distPath}/css/main.css`})]))
- .pipe(uncss({
- html: [`${distPath}/**/*.html`],
- ignore: [/\w\.in/,
- ".fade",
- ".collapse",
- ".collapsing",
- ".table",
- ".thumbnail",
- /(#|\.)navbar(\-[a-zA-Z]+)?/,
- /(#|\.)dropdown(\-[a-zA-Z]+)?/,
- /(#|\.)carousel(\-[a-zA-Z]+)?/,
- ]}))
.pipe(cleanCSS())
.pipe(md5(10, `${distPath}/**/*.html`))
.pipe(gulp.dest('./'))
@@ -69,6 +57,12 @@ gulp.task('images', ['hugo'], () => (
.pipe(gulp.dest('./')),
gulp.src(`${distPath}/images/banners/*`, {base: './'})
.pipe(jimp({ sizes: [{"width": 824, "height": 306 }] }))
+ .pipe(gulp.dest('./')),
+ gulp.src(`${distPath}/images/game/boxart/*`, {base: './'})
+ .pipe(jimp({ sizes: [{"width": 328, "height": 300 }] }))
+ .pipe(gulp.dest('./')),
+ gulp.src(`${distPath}/images/game/icons/*`, {base: './'})
+ .pipe(jimp({ sizes: [{"width": 48, "height": 48 }] }))
.pipe(gulp.dest('./'))
));
diff --git a/scripts/games/app.js b/scripts/games/app.js
index f021a3d..a28506d 100644
--- a/scripts/games/app.js
+++ b/scripts/games/app.js
@@ -105,11 +105,11 @@ try {
// Copy all savefiles into the output folder and store their contents.
fs.readdirSync(inputDirectorySavefilesGame).forEach(file => {
- if (file.slice(-5) == '.csav') {
- fsextra.copySync(`${inputDirectorySavefilesGame}/${file}`, `${outputDirectorySavefilesGame}/${file}`);
- } else if (file.slice(-4) == '.dat') {
+ if (path.extname(file) == '.zip') {
+ fsextra.copySync(`${inputDirectorySavefilesGame}/${file}`, `${outputDirectorySavefilesGame}/${file.replace('.zip', '.zip')}`);
+ } else if (path.extname(file) == '.dat') {
// Store the contents of the file in memory for adding it into the markdown later.
- savefileMetadataContents.push({ filename: file.replace('.dat', '.csav'), contents: fs.readFileSync(`${inputDirectorySavefilesGame}/${file}`, 'utf8') });
+ savefileMetadataContents.push({ filename: file.replace('.dat', '.zip'), contents: fs.readFileSync(`${inputDirectorySavefilesGame}/${file}`, 'utf8') });
}
});
}
@@ -126,7 +126,7 @@ try {
// Copy all screenshots into the output folder.
fs.readdirSync(inputDirectoryScreenshotsGame).forEach(file => {
- if (file.slice(-4) == '.png') {
+ if (path.extname(file) == '.png') {
fsextra.copySync(`${inputDirectoryScreenshotsGame}/${file}`, `${outputDirectoryScreenshotsGame}/${file}`);
}
});
diff --git a/site/data/compatibility.json b/site/data/compatibility.json
index 9436f87..e8dce6f 100644
--- a/site/data/compatibility.json
+++ b/site/data/compatibility.json
@@ -1,9 +1,8 @@
{
- "0": { "name": "Won't Boot", "description": "The game crashes when attempting to startup." },
- "1": { "name": "Intro/Menu", "description": "Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start Screen." },
- "2": { "name": "Bad", "description": "Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches even with workarounds." },
+ "5": { "name": "Perfect", "description": "Game functions flawless with no audio or graphical glitches, all tested functionality works as intended without any workarounds needed." },
+ "4": { "name": "Great", "description": "Game functions with minor graphical or audio glitches and is playable from start to finish. May require some workarounds." },
"3": { "name": "Okay", "description": "Game functions with major graphical or audio glitches, but game is playable from start to finish with workarounds." },
- "4": { "name": "Great", "description": "Game functions with minor graphical or audio glitches, but game is playable from start to finish with workarounds." },
- "5": { "name": "Excellent", "description": "Game functions with minor graphical or audio glitches, game is playable from start to finish without any workarounds needed." },
- "6": { "name": "Perfect", "description": "Game functions flawless with no audio or graphical glitches, all tested functionality works as intended without any workarounds needed." }
+ "2": { "name": "Bad", "description": "Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches even with workarounds." },
+ "1": { "name": "Intro/Menu", "description": "Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start Screen." },
+ "0": { "name": "Won't Boot", "description": "The game crashes when attempting to startup." }
}
diff --git a/site/static/images/regions/AUS.png b/site/static/images/regions/AUS.png
new file mode 100644
index 0000000..a01389a
Binary files /dev/null and b/site/static/images/regions/AUS.png differ
diff --git a/site/static/images/regions/CHN.png b/site/static/images/regions/CHN.png
new file mode 100644
index 0000000..8914414
Binary files /dev/null and b/site/static/images/regions/CHN.png differ
diff --git a/site/static/images/regions/EUR.png b/site/static/images/regions/EUR.png
new file mode 100644
index 0000000..d6d8711
Binary files /dev/null and b/site/static/images/regions/EUR.png differ
diff --git a/site/static/images/regions/JPN.png b/site/static/images/regions/JPN.png
new file mode 100644
index 0000000..325fbad
Binary files /dev/null and b/site/static/images/regions/JPN.png differ
diff --git a/site/static/images/regions/KOR.png b/site/static/images/regions/KOR.png
new file mode 100644
index 0000000..9c0a78e
Binary files /dev/null and b/site/static/images/regions/KOR.png differ
diff --git a/site/static/images/regions/TWN.png b/site/static/images/regions/TWN.png
new file mode 100644
index 0000000..f31c654
Binary files /dev/null and b/site/static/images/regions/TWN.png differ
diff --git a/site/static/images/regions/USA.png b/site/static/images/regions/USA.png
new file mode 100644
index 0000000..10f451f
Binary files /dev/null and b/site/static/images/regions/USA.png differ
diff --git a/site/themes/citra-bs-theme/layouts/_default/baseof.html b/site/themes/citra-bs-theme/layouts/_default/baseof.html
index 4b8815a..c8c558b 100755
--- a/site/themes/citra-bs-theme/layouts/_default/baseof.html
+++ b/site/themes/citra-bs-theme/layouts/_default/baseof.html
@@ -5,6 +5,7 @@
+
{{ .Hugo.Generator }}
@@ -12,21 +13,33 @@
{{ if .RSSLink }}
-
-
+
+
{{ end }}
+
{{ if .IsHome }}Homepage{{ else }}{{ .Title }}{{ end }} | {{ .Site.Title }} | Nintendo 3DS Emulator
+
+
+
+ {{ if (eq .Section "game") }}
+ {{ $rating := index .Site.Data.compatibility ( string .Params.compatibility | default "0" ) }}
+
+
+ {{ else }}
+
+ {{ end }}
+
{{ if (eq .Section "entry") | or (eq .Section "wiki") | or (eq .Section "game") }}
- {{ if (eq .Section "entry") | or (eq .Section "wiki") }}
+ {{ if (eq .Section "entry") }}
{{ else if (eq .Section "game") }}
-
+
{{ end }}
{{ range .Params.tags }}
@@ -35,10 +48,7 @@
{{ else }}
{{ end }}
-
- {{ with .Site.Params.description }}{{ end }}
-
- {{ if .IsHome }}Homepage{{ else }}{{ .Title }}{{ end }} | {{ .Site.Title }} | Nintendo 3DS Emulator
+
{{ if eq (getenv "GULP") "true" }}
diff --git a/site/themes/citra-bs-theme/layouts/game/list.html b/site/themes/citra-bs-theme/layouts/game/list.html
index 340b570..6ec0001 100644
--- a/site/themes/citra-bs-theme/layouts/game/list.html
+++ b/site/themes/citra-bs-theme/layouts/game/list.html
@@ -1,69 +1,40 @@
{{ define "main" }}
- {{ $paginator := .Paginate .Data.Pages }}
Game Compatibility List
The Citra Emulator compatibility list contains all the games we tested, sorted by how well they work on the emulator.
-
-
-
-
- Rating |
- Description |
-
-
+
+
-
- Perfect |
- Game functions flawless with no audio or graphical glitches, all tested functionality works as intended without any workarounds needed. |
-
-
- Excellent |
- Game functions with minor graphical or audio glitches, game is playable from start to finish without any workarounds needed. |
-
-
- Great |
- Game functions with minor graphical or audio glitches, but game is playable from start to finish with workarounds. |
-
-
- Okay |
- Game functions with major graphical or audio glitches, but game is playable from start to finish with workarounds. |
-
-
- Bad |
- Game functions, but with major graphical or audio glitches. Unable to progress in specific areas due to glitches even with workarounds. |
-
-
- Intro/Menu |
- Game is completely unplayable due to major graphical or audio glitches. Unable to progress past the Start Screen. |
-
-
- Won't Boot |
- The game crashes when attempting to startup. |
-
+ {{ range .Site.Data.compatibility }}
+
+ {{ .name }} |
+ {{ .description }} |
+
+ {{ end }}
-
- Games
-
-
-
- |
- Title |
- Compatibility |
- Date Tested |
-
-
-
- {{ range $paginator.Pages }}
- {{ $rating := index .Site.Data.compatibility ( string .Params.compatibility | default "0" ) }}
-
- |
- {{ .Params.title }} |
- {{ $rating.name }} |
- {{ dateFormat "January 2, 2006" .Params.tested_date }} |
-
- {{ end }}
-
-
- {{ partial "pagination" . }}
+
+
+
+ |
+ Title |
+ Compatibility |
+ Date Tested |
+
+
+
+ {{ $paginator := .Paginate .Data.Pages 50 }}
+ {{ range $paginator.Pages }}
+ {{ $rating := index .Site.Data.compatibility ( string .Params.compatibility | default "0" ) }}
+
+ |
+ {{ .Params.title }} |
+ {{ $rating.name }} |
+ {{ dateFormat "January 2, 2006" .Params.tested_date }} |
+
+ {{ end }}
+
+
+
+ {{ partial "pagination" . }}
{{ end }}
diff --git a/site/themes/citra-bs-theme/layouts/game/single.html b/site/themes/citra-bs-theme/layouts/game/single.html
index 152d7f5..cbe1070 100644
--- a/site/themes/citra-bs-theme/layouts/game/single.html
+++ b/site/themes/citra-bs-theme/layouts/game/single.html
@@ -1,4 +1,5 @@
{{ define "main" }}
+ {{ $BaseURL := .Site.BaseURL }}
{{ $gameName := .File.BaseFileName }}
{{ $rating := index .Site.Data.compatibility ( string .Params.compatibility | default "0" ) }}
@@ -28,7 +29,7 @@
{{ .Title }}
-
+
@@ -40,13 +41,13 @@
Game Icon |
- |
+ |
Title IDs |
{{ range .Params.releases }}
- {{ .title }} ({{ .region }})
+ {{ .title }}
{{ end }}
|
diff --git a/site/themes/citra-bs-theme/layouts/sitemap.xml b/site/themes/citra-bs-theme/layouts/sitemap.xml
index 3244e1a..1af4b07 100644
--- a/site/themes/citra-bs-theme/layouts/sitemap.xml
+++ b/site/themes/citra-bs-theme/layouts/sitemap.xml
@@ -1,10 +1,25 @@
-
+
{{ range .Data.Pages }}
+ {{ if (eq .IsPage true) }}
+ {{ $rating := index .Site.Data.compatibility ( string .Params.compatibility | default "0" ) }}
- {{ .Permalink }}{{ if not .Lastmod.IsZero }}
- {{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}{{ end }}{{ with .Sitemap.ChangeFreq }}
- {{ . }}{{ end }}{{ if ge .Sitemap.Priority 0.0 }}
- {{ .Sitemap.Priority }}{{ end }}
+
+ {{ .Permalink }}
+
+ {{ if (eq .Section "entry") }}
+
+ {{ .Site.BaseURL }}images/banners/{{ .Params.Banner | default (print .File.BaseFileName ".png") }}
+
+ {{ else if (eq .Section "game") }}
+
+ {{ .Site.BaseURL }}images/game/icons/{{ .File.BaseFileName }}.png
+
+ {{ end }}
+
+ {{ if not .Lastmod.IsZero }}{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}{{ end }}
+ {{ with .Sitemap.ChangeFreq }}{{ . }}{{ end }}
+ {{ if ge .Sitemap.Priority 0.0 }}{{ .Sitemap.Priority }}{{ end }}
{{ end }}
+ {{ end }}
diff --git a/yarn.lock b/yarn.lock
new file mode 100644
index 0000000..e69de29