From 5205daccfbed8f28cb14c756c810213fc9835d5c Mon Sep 17 00:00:00 2001 From: flashwave Date: Sun, 19 Mar 2017 15:56:19 +0100 Subject: [PATCH] some updates --- .gitignore | 2 +- build.sh | 19 ++++++++++++ config.example.ini | 2 -- gulpfile.js | 53 ---------------------------------- package.json | 10 ------- public/get.php | 8 ++--- public/resources/no-cover.png | Bin 23537 -> 16731 bytes src/typescript/tsconfig.json | 11 +++++++ 8 files changed, 35 insertions(+), 70 deletions(-) create mode 100644 build.sh delete mode 100644 config.example.ini delete mode 100644 gulpfile.js delete mode 100644 package.json create mode 100644 src/typescript/tsconfig.json diff --git a/.gitignore b/.gitignore index a835337..efbb269 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ node_modules/* vendor/* public/app.* -config.ini +.apikey [Tt]humbs.db desktop.ini $RECYCLE.BIN/ diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..373dd17 --- /dev/null +++ b/build.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +# delete old files, using find to avoid errors +echo "=> Cleanup" +rm -v ./public/app.js +rm -v ./public/app.css + +# styles +echo +echo "=> LESS" +lessc --verbose ./src/less/app.less ./public/app.css + +# scripts +echo +echo "=> TypeScript" +tsc \ + -p ./src/typescript/tsconfig.json \ + --listFiles \ + --listEmittedFiles diff --git a/config.example.ini b/config.example.ini deleted file mode 100644 index fca056c..0000000 --- a/config.example.ini +++ /dev/null @@ -1,2 +0,0 @@ -api_key = your api key here -endpoint = https://ws.audioscrobbler.com/2.0/ diff --git a/gulpfile.js b/gulpfile.js deleted file mode 100644 index 6bcde5d..0000000 --- a/gulpfile.js +++ /dev/null @@ -1,53 +0,0 @@ -// aliases -var gulp = require('gulp'), - less = require('gulp-less'), - ts = require('gulp-typescript'), - concat = require('gulp-concat'), - jsmin = require('gulp-minify'), - path = require('path'); - -// variables -var destination = './public', - less_sources = './src/less/**/*.less', - less_watch = less_sources, - ts_config = './tsconfig.json', - ts_sources = './src/typescript/**/*.ts', - ts_watch = ts_sources; - -// default task -gulp.task('default', ['less', 'typescript']); - -// watcher -gulp.task('watch', function () { - gulp.watch(less_watch, ['less']); - gulp.watch(ts_watch, ['typescript']); -}); - -// less -gulp.task('less', function () { - return gulp.src(less_sources) - .pipe(less({ - paths: [ - path.join(__dirname, 'less', 'includes') - ], - compress: true - })) - .pipe(concat('app.css')) - .pipe(gulp.dest(destination)); -}); - -// typescript -gulp.task('typescript', function () { - var tsProject = ts.createProject(ts_config); - - return gulp.src(ts_sources) - .pipe(ts(tsProject)) - .pipe(jsmin({ - ext: { - src: '-', - min: '.js' - }, - noSource: true - })) - .pipe(gulp.dest(destination)); -}); diff --git a/package.json b/package.json deleted file mode 100644 index 7faec99..0000000 --- a/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "private": true, - "dependencies": { - "gulp": "^3.9.1", - "gulp-concat": "^2.6.0", - "gulp-less": "^3.0.5", - "gulp-minify": "0.0.11", - "gulp-typescript": "^2.13.0" - } -} diff --git a/public/get.php b/public/get.php index f1af208..9f8b357 100644 --- a/public/get.php +++ b/public/get.php @@ -14,13 +14,13 @@ if (!file_exists('../vendor/autoload.php')) { require_once '../vendor/autoload.php'; -if (!file_exists('../config.ini')) { - die(view(['error' => 'Configuration missing! Make a copy of config.example.ini named config.ini and set your API key.'])); +if (!file_exists('../.apikey')) { + die(view(['error' => 'API key file missing! Create a file called ".apikey" in the root directory and place your last.fm api key in there.'])); } -$config = parse_ini_file('../config.ini'); +$api_key = trim(file_get_contents('../.apikey')); -$auth = new AuthApi('setsession', ['apiKey' => $config['api_key']]); +$auth = new AuthApi('setsession', ['apiKey' => $api_key]); $user = new UserApi($auth); $now = $user->getRecentTracks(['user' => (isset($_GET['u']) ? $_GET['u'] : ''), 'limit' => '1']); diff --git a/public/resources/no-cover.png b/public/resources/no-cover.png index 596814bc191e423043aedf342a9e247c469b94e4..fee93bade6fb0b56c70dd936ee89db822958e0b3 100644 GIT binary patch literal 16731 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 delta 22893 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 diff --git a/src/typescript/tsconfig.json b/src/typescript/tsconfig.json new file mode 100644 index 0000000..62dc844 --- /dev/null +++ b/src/typescript/tsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "target": "es5", + "noImplicitAny": false, + "removeComments": true, + "outFile": "../../public/app.js" + }, + "filesGlob": [ + "**/*.ts" + ] +} \ No newline at end of file