Separate IC2-Classic and IC2-Exp

This commit is contained in:
Andrew Miner
2015-03-08 20:39:48 -07:00
parent 0a6c185965
commit 6e090d3d59
3573 changed files with 8619 additions and 193789 deletions
+11
View File
@@ -0,0 +1,11 @@
#!/bin/bash
BASE_DIR="$1"
for FILE in $(ls $BASE_DIR/images); do
NAME=$(basename -s.png $FILE)
DIR="$BASE_DIR/$NAME"
IMG_DEST="$DIR/icon.png"
mkdir -p $DIR
mv "$BASE_DIR/images/$FILE" "$IMG_DEST"
done
+38 -9
View File
@@ -1,18 +1,39 @@
#!/bin/bash
OUTPUT_DIR='./static'
SCRIPT='/tmp/phantomjs_render.coffee'
USAGE=<<END
USAGE: prerender <options>
if [[ "$1" != "" ]]; then
SITEMAP_FILE="$1"
else
SITEMAP_FILE='./src/pages/sitemap.txt'
fi
Options:
--force : overwrite existing files (default skips)
--clean : remove all files before starting
--only <pattern> : restrict rendering to the given pattern
--output <dir> : output directory (default: ./static)
--sitemap <file> : sitemap file (default: ./static/sitemap.txt
END
CLEAN="yes"
FORCE="no"
OUTPUT_DIR="./static"
SITEMAP_FILE="./static/sitemap.txt"
while [[ "$1" != "" ]]; do
case "$1" in
"--force") FORCE="yes";;
"--help") echo $USAGE; exit 0;;
"--clean") CLEAN="yes";;
"--only") shift; ONLY="$1";;
"--output") shift; OUTPUT_DIR="$1";;
"--sitemap") shift; SITEMAP_FILE="$1";;
esac
shift
done
SCRIPT='/tmp/prerender_script.coffee'
cat > $SCRIPT <<END
url = require('system').args[1]
page = require('webpage').create()
path = "#{url}".replace(/http:\/\/[^/]*/, '').replace(/^\//, '').replace(/\/$/, '')
path = "#{url}".replace(/http:\/\/[^/]*/, '').replace(/^\//, '')
localUrl = "http://localhost:8000/#{path}"
page.open localUrl, (status)->
@@ -26,15 +47,23 @@ page.open localUrl, (status)->
), 5000
END
if [[ "$CLEAN" == "yes" ]]; then
find "$OUTPUT_DIR/browse" -name "*.html" | xargs rm
fi
cat $SITEMAP_FILE | while read URL; do
OUTPUT_FILE=$(sed 's/http:\/\/[^/]*\///' <<< $URL)
OUTPUT_FILE="$OUTPUT_DIR/$OUTPUT_FILE/index.html"
OUTPUT_FILE=$(sed 's/\/\//\//' <<< $OUTPUT_FILE)
if [[ ! -e "$OUTPUT_FILE" ]]; then
if [[ ! -e "$OUTPUT_FILE" || "$FORCE" == "yes" ]]; then
mkdir -p $(dirname "$OUTPUT_FILE")
echo "prerendering $URL into $OUTPUT_FILE"
phantomjs --web-security=false --load-images=false $SCRIPT "$URL" >"$OUTPUT_FILE" 2>/dev/null
if [[ "$?" != "0" ]]; then
echo "An error occured rendering $URL"
rm "$OUTPUT_FILE" 2>/dev/null
fi
else
echo "Skipping $URL..."
fi
+2 -2
View File
@@ -20,9 +20,9 @@ app = express()
app.get '*/$', (request, response)->
response.set 'Content-Type', 'text/html'
filePath = "#{request.path}index.html"
filePath = "#{request.path}index.html".replace /^\//, ''
fs.stat "#{ROOT}#{filePath}", (err, stats)->
if stats.isFile()
if not err?
response.sendFile filePath, root:ROOT
console.log ">>> #{filePath} (for #{request.path})"
else
+10 -9
View File
@@ -1,16 +1,17 @@
#!/usr/bin/env coffee
Logger = require '../src/scripts/logger'
Logger = require '../src/coffee/logger'
global._ = require 'underscore'
global.Backbone = require 'backbone'
global.logger = new Logger level:Logger.FATAL
require '../src/scripts/underscore_mixins'
require '../src/coffee/underscore_mixins'
Mod = require '../src/scripts/models/mod'
ModParser = require '../src/scripts/models/mod_parser'
ModVersionParser = require '../src/scripts/models/mod_version_parser'
{DefaultMods} = require '../src/coffee/constants'
Mod = require '../src/coffee/models/mod'
ModParser = require '../src/coffee/models/mod_parser'
ModVersionParser = require '../src/coffee/models/mod_version_parser'
fs = require 'fs'
modSlugs = {}
@@ -25,17 +26,17 @@ urls = [
"#{base}/craft/"
]
for modSlug in fs.readdirSync './src/data'
continue if modSlug[0] is '.'
for modSlug in DefaultMods
modSlugs[modSlug] = modSlug
mod = new Mod slug:modSlug
modParser = new ModParser model:mod
modParser.parse fs.readFileSync "./src/data/#{modSlug}/mod.cg", 'utf-8'
modParser.parse fs.readFileSync "./static/data/#{modSlug}/mod.cg", 'utf-8'
mod.eachModVersion (modVersion)->
modVersionDataFile = "./static/data/#{modSlug}/#{modVersion.version}/mod-version.cg"
modVersionParser = new ModVersionParser model:modVersion
modVersionParser.parse fs.readFileSync "./src/data/#{modSlug}/#{modVersion.version}/mod-version.cg", 'utf-8'
modVersionParser.parse fs.readFileSync modVersionDataFile, 'utf-8'
modVersion.eachItem (item)->
itemSlugs[item.slug] = item.slug