Initial commit.

This commit is contained in:
Chris 2018-01-04 00:22:29 -05:00
parent 3a7446e329
commit 1cfcb2bb7b
22 changed files with 9866 additions and 1 deletions

25
.gitignore vendored Normal file
View File

@ -0,0 +1,25 @@
node_modules/
# Binaries
site/hugo
site/hugo.exe
# Hugo generated static website files.
build/
public/
site/public/
.publish/
# Dynamic content imported on deploy.
site/content/wiki/
site/content/game/
site/static/images/game/icons
site/static/images/game/boxart
!site/static/images/game/boxart/default.png
site/static/images/screenshots0/
site/static/savefiles/
site/data/twitter.json
# Filesystem stuff.
.directory
.DS_Store

30
.travis.yml Normal file
View File

@ -0,0 +1,30 @@
# Build status located at https://travis-ci.org/yuzu-emu/
language: node_js
node_js: node
cache: yarn
script:
- echo '========== Installing gulp & dependencies =========='
- sudo apt-get install graphicsmagick
- wget -O hugo.deb https://github.com/gohugoio/hugo/releases/download/v0.31.1/hugo_0.31.1_Linux-64bit.deb
- sudo dpkg -i hugo.deb
- yarn global add gulp
- yarn install
- echo '========== Starting gulp deploy task =========='
- hugo version
- gulp all --production
deploy:
provider: pages
skip_cleanup: true
github_token: $GITHUB_TOKEN # Set in travis-ci.org dashboard
local_dir: build
repo: yuzu-emu/yuzu-emu.github.io
target_branch: master
fqdn: yuzu-emu.org
on:
branch: master
notifications:
email:
- mods@citra-emu.org

1
CNAME
View File

@ -1 +0,0 @@
yuzu-emu.org

120
gulpfile.js Normal file
View File

@ -0,0 +1,120 @@
const fs = require('fs');
const exec = require('child_process').exec;
const gulp = require('gulp');
const util = require('gulp-util');
const merge = require('merge-stream');
const runSequence = require('run-sequence');
const sass = require('gulp-sass');
const postcss = require('gulp-postcss');
const cssnano = require('cssnano');
const concat = require('gulp-concat');
const imageResize = require('gulp-image-resize');
const browserSync = require('browser-sync').create();
const baseUrl = 'https://yuzu-emu.org';
const cname = 'yuzu-emu.org';
let finalCommand = null;
// Gulp Run Tasks
gulp.task('default', ['start:setup'], callback => {
runSequence('hugo', finalCommand, callback);
});
gulp.task('all', ['start:setup'], callback => {
runSequence(['assets:js', 'assets:scss'],
'hugo',
'assets:images',
finalCommand,
callback);
});
gulp.task('assets', ['start:setup'], callback => {
runSequence(['assets:js', 'assets:scss'], 'hugo', 'assets:images', finalCommand, callback);
});
// Gulp Pipeline
gulp.task('start:setup', () => {
if (util.env.production) {
process.env.HUGO_ENV = 'PRD';
process.env.HUGO_BASEURL = baseUrl;
finalCommand = 'final:publish';
} else {
process.env.HUGO_ENV = 'DEV';
process.env.HUGO_BASEURL = 'http://localhost:3000';
finalCommand = 'final:serve';
}
util.log(`process.env.HUGO_ENV = '${process.env.HUGO_ENV}'`);
util.log(`process.env.HUGO_BASEURL = '${process.env.HUGO_BASEURL}'`);
});
gulp.task('assets:images', () => {
const baseImages = gulp.src(`build/images/*`, {base: './'})
.pipe(gulp.dest('./'));
const jumbotronImages = gulp.src(`build/images/jumbotron/*`, {base: './'})
.pipe(imageResize({width: 786, height: 471, crop: true}))
.pipe(gulp.dest('./'));
const bannerImages = gulp.src(`build/images/banners/*`, {base: './'})
.pipe(imageResize({width: 824, height: 306, crop: false}))
.pipe(gulp.dest('./'));
const boxartImages = gulp.src(`build/images/game/boxart/*`, {base: './'})
.pipe(imageResize({width: 328, height: 300, crop: true}))
.pipe(gulp.dest('./'));
const iconImages = gulp.src(`build/images/game/icons/*`, {base: './'})
.pipe(imageResize({width: 48, height: 48, crop: true}))
.pipe(gulp.dest('./'));
const screenshotImages = gulp.src(`build/images/screenshots/*`)
.pipe(imageResize({width: 400, height: 240, crop: false}))
.pipe(gulp.dest(`build/images/screenshots/thumbs`));
return merge(baseImages, jumbotronImages, bannerImages, boxartImages, iconImages, screenshotImages);
});
gulp.task('assets:js', () => {
return gulp.src(['src/js/**/*.js'])
.pipe(concat('script.js'))
.pipe(gulp.dest('build/js'));
});
gulp.task('assets:scss', () => {
const postCssOptions = [cssnano];
return gulp.src('src/scss/style.scss')
.pipe(sass().on('error', sass.logError))
.pipe(postcss(postCssOptions))
.pipe(gulp.dest('build/css'))
.pipe(browserSync.stream());
});
gulp.task('hugo', cb => {
exec('hugo -s ./site/ -d ../build/ -v', (err, stdout, stderr) => {
console.log(stdout);
console.log(stderr);
cb(err);
});
});
function fileChange(x) {
console.log(`[FileChange] File changed: ${x.path}`);
browserSync.reload(x);
}
gulp.task('final:serve', () => {
browserSync.init({
open: false,
server: {
baseDir: 'build'
}
});
gulp.watch('src/js/**/*', ['assets:js']);
gulp.watch('src/scss/**/*', ['assets:scss']);
gulp.watch('site/**/*.html', ['hugo']);
gulp.watch('site/**/*.md', ['hugo']);
gulp.watch('build/**/*').on('change', fileChange);
});
gulp.task('final:publish', () => {
fs.writeFileSync(`build/CNAME`, `${cname}`);
fs.writeFileSync(`build/robots.txt`, `Sitemap: https://${cname}/sitemap.xml\n\nUser-agent: *`);
});

9482
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

35
package.json Normal file
View File

@ -0,0 +1,35 @@
{
"name": "yuzu-emu",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/yuzu-emu/yuzu-emu.github.io.git"
},
"author": "",
"license": "AGPL-3.0",
"bugs": {
"url": "https://github.com/yuzu-emu/yuzu-emu.github.io/issues"
},
"homepage": "https://github.com/yuzu-emu/yuzu-emu.github.io#readme",
"dependencies": {
"bulma": "^0.6.1",
"cssnano": "^3.10.0",
"gulp": "^3.9.1",
"gulp-concat": "^2.6.1",
"gulp-image-resize": "^0.13.0",
"gulp-postcss": "^7.0.1",
"gulp-sass": "^3.1.0",
"gulp-util": "^3.0.8",
"merge-stream": "^1.0.1",
"run-sequence": "^2.2.1"
},
"devDependencies": {
"browser-sync": "^2.23.2",
"xo": "^0.18.2"
}
}

22
site/config.toml Normal file
View File

@ -0,0 +1,22 @@
baseurl = "https://yuzu-emu.org/"
languageCode = "en-us"
DefaultContentLanguage = "en"
theme = "shared-bulma-theme"
# Define how many objects appear per pagination.
paginate = 10
[params]
GithubURL = "https://github.com/yuzu-emu/yuzu"
[Languages]
[Languages.en]
title = "Yuzu"
tagline = "Experimental Nintendo Switch Emulator"
description = "Yuzu is a highly experimental open-source emulator for the Nintendo Switch."
weight = 1
[outputs]
home = [ "HTML", "RSS" ]
section = [ "HTML", "JSON" ]

BIN
site/static/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
site/static/images/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
site/static/images/menu.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

@ -0,0 +1,63 @@
<!DOCTYPE html>
<html lang="{{ .Site.Params.languageCode | default " en-us " }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<meta name="theme-color" content="#404040">
<meta property="og:title" content="{{ if ne .URL " / " }}{{ .Title }} &middot; {{ end }}{{ .Site.Title }}" />
<meta property="og:site_name" content="{{ .Site.Title }}" />
<meta property="og:url" content="{{ .Permalink }}" /> {{- if eq .IsPage true }} {{ .Render "meta" }} {{- end }} {{ .Hugo.Generator }}
<link rel="icon" href="{{ .Site.BaseURL }}/favicon.ico" />
<link rel="shortcut icon" href="{{ .Site.BaseURL }}/favicon.ico" type="image/x-icon" />
<link rel="canonical" href="{{ .Permalink }}"> {{ if .RSSLink }}
<link href="{{ .Site.BaseURL }}/index.xml" rel="alternate" type="application/rss+xml" title="{{ .Site.Title }}" />
<link href="{{ .Site.BaseURL }}/index.xml" rel="feed" type="application/rss+xml" title="{{ .Site.Title }}" /> {{ end }}
<title>{{- if not .IsHome }}{{ .Title }} - {{ .Site.Title }}{{- else }}{{ .Site.Title }} - {{ .Site.Params.Tagline }}{{- end}}</title>
<link href="https://fonts.googleapis.com/css?family=Ubuntu|Dosis" rel="stylesheet">
<link rel="stylesheet" href="{{ .Site.BaseURL }}/css/style.css" />
{{ if eq (getenv "HUGO_ENV") "PRD" }}
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- <script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-73966905-1', 'auto');
ga('send', 'pageview');
</script> -->
<meta name="robots" content="noindex,nofollow" />
{{ else }}
<meta name="robots" content="noindex,nofollow" />
{{ end }}
</head>
<body>
{{- if not .IsHome }}
{{ partial "menu" . }}
{{- else }}
{{ partial "header_homepage" . }}
{{- end }}
{{ block "main" . }}{{ end }}
<footer class="footer">
<div class="container">
<div class="content has-text-centered">
Copyright © {{ now.Format "2006" }} Yuzu Emulator
</div>
</div>
</footer>
<script src="{{ .Site.BaseURL }}/js/script.js"></script>
<script defer src="https://use.fontawesome.com/releases/v5.0.2/js/all.js"></script>
{{- block "scripts" . }}{{- end }}
</body>
</html>

View File

@ -0,0 +1,9 @@
{{ define "main" }}
{{ $paginator := .Paginate .Data.Pages }}
{{ range $paginator.Pages }}
{{ .Render "summary" }}
{{ end }}
{{ partial "pagination" . }}
{{ end }}

View File

@ -0,0 +1,3 @@
<meta property="og:description" content="{{ with .Description }}{{ . }}{{ else }}{{ .Summary }}{{ end }}" />
<meta name="description" content="{{ with .Description }}{{ . }}{{ else }}{{ .Summary }}{{ end }}" />
<meta property="og:type" content="website" />

View File

@ -0,0 +1,3 @@
{{ define "main" }}
{{ .Content }}
{{ end }}

View File

@ -0,0 +1,14 @@
{{- define "main" }}
<section class="hero is-info">
<div class="hero-body">
<div class="container">
<p class="title">
Upcoming news...
</p>
<p class="subtitle">
We'll have more information available soon!
</p>
</div>
</div>
</section>
{{- end }}

View File

@ -0,0 +1,25 @@
<div class="container is-mobile">
<nav class="navbar" role="navigation" aria-label="main navigation">
<div class="container">
<div class="navbar-brand">
<a class="navbar-item" href="{{ .Site.BaseURL }}">
<img src="{{ .Site.BaseURL }}/images/menu.png" alt="{{ .Site.Title }} {{ .Site.Params.Tagline }}" width="112" height="28">
</a>
</div>
</div>
</nav>
</div>
<section class="hero is-primary">
<div class="hero-body">
<div class="container">
<h1 class="title">{{ .Site.Title }}</h1>
<h2 class="subtitle">{{ .Site.Params.Tagline }}</h2>
<a class="button is-primary is-inverted" href="{{ .Site.Params.GithubURL }}">
<span class="icon">
<i class="fab fa-github"></i>
</span>
<span>Source Code</span>
</a>
</div>
</section>

View File

@ -0,0 +1,21 @@
{{ if or (.Paginator.HasPrev) (.Paginator.HasNext) }}
<nav aria-label="...">
<ul class="pager">
{{ if .Paginator.HasPrev }}
<li class="previous">
<a rel="previous" href="{{.Paginator.Prev.URL | absURL}}"><span aria-hidden="true">&larr;</span> Previous</a>
</li>
{{ end }}
{{ if .Paginator.HasNext }}
<li class="next">
<a rel="next" href="{{.Paginator.Next.URL | absURL}}"><span aria-hidden="true">&rarr;</span> Next</a>
</li>
{{ end }}
</ul>
</nav>
{{ end }}

View File

@ -0,0 +1,11 @@
name = "Shared Bulma Theme"
license = "AGPLv3"
licenselink = ""
description = "Shared Bulma Theme"
homepage = "https://citra-emu.org/"
tags = []
features = ["", ""]
min_version = 0.16
[author]
name = "flamesage"

0
src/scss/shared.scss Normal file
View File

2
src/scss/style.scss Normal file
View File

@ -0,0 +1,2 @@
@import "./yuzu.scss";
@import "./node_modules/bulma/bulma.sass";

1
src/scss/yuzu.scss Normal file
View File

@ -0,0 +1 @@
$primary: #696969;