From c814f2fbd4a118b8039321ebf306f15510193a51 Mon Sep 17 00:00:00 2001 From: Simon Lydell Date: Wed, 3 Dec 2014 22:33:08 +0100 Subject: [PATCH] Generate install.rdf and chrome.manifest --- PEOPLE.md | 23 +++++++ extension/chrome.manifest | 9 --- extension/chrome.manifest.tmpl | 3 + extension/install.rdf | 100 ----------------------------- extension/install.rdf.tmpl | 49 ++++++++++++++ extension/locale/de/description | 1 + extension/locale/el-GR/description | 1 + extension/locale/en-US/description | 1 + extension/locale/hu/description | 1 + extension/locale/id/description | 1 + extension/locale/it/description | 1 + extension/locale/ja/description | 1 + extension/locale/nl/description | 1 + extension/locale/pl/description | 1 + extension/locale/ru/description | 1 + extension/locale/zh-CN/description | 1 + extension/locale/zh-TW/description | 1 + gulpfile.coffee | 50 +++++++++++++-- package.json | 5 ++ 19 files changed, 136 insertions(+), 115 deletions(-) create mode 100644 PEOPLE.md delete mode 100644 extension/chrome.manifest create mode 100644 extension/chrome.manifest.tmpl delete mode 100644 extension/install.rdf create mode 100644 extension/install.rdf.tmpl create mode 100644 extension/locale/de/description create mode 100644 extension/locale/el-GR/description create mode 100644 extension/locale/en-US/description create mode 100644 extension/locale/hu/description create mode 100644 extension/locale/id/description create mode 100644 extension/locale/it/description create mode 100644 extension/locale/ja/description create mode 100644 extension/locale/nl/description create mode 100644 extension/locale/pl/description create mode 100644 extension/locale/ru/description create mode 100644 extension/locale/zh-CN/description create mode 100644 extension/locale/zh-TW/description diff --git a/PEOPLE.md b/PEOPLE.md new file mode 100644 index 0000000..bd0327f --- /dev/null +++ b/PEOPLE.md @@ -0,0 +1,23 @@ +# Creator +Anton Khodakivskiy + +# Developers +- Simon Lydell + +# Contributors +- Wang Zhuochun + +# Translators +- Frank Hase (de) +- Theodore Keloglou (el-GR) +- Szabó Krisztián (hu) +- Yoppy Halilintar (id) +- Carlo Bertoldi (it) +- pluser (ja) +- HJTP (nl) +- Grzegorz Niewisiewicz (pl) +- Anton Khodakivskiy (ru) +- Zakhar Pilipchuk (ru) +- Wang Zhuochun (zh-CN) +- mozillazg (zh-CN) +- Robert (zh-TW) diff --git a/extension/chrome.manifest b/extension/chrome.manifest deleted file mode 100644 index 2e073e3..0000000 --- a/extension/chrome.manifest +++ /dev/null @@ -1,9 +0,0 @@ -locale vimfx en-US locale/en-US/ -locale vimfx pl locale/pl/ -locale vimfx ru locale/ru/ -locale vimfx zh-CN locale/zh-CN/ -locale vimfx hu locale/hu/ -locale vimfx de locale/de/ -locale vimfx el-GR locale/el-GR/ -locale vimfx nl locale/nl/ -locale vimfx ja locale/ja/ \ No newline at end of file diff --git a/extension/chrome.manifest.tmpl b/extension/chrome.manifest.tmpl new file mode 100644 index 0000000..7da50d4 --- /dev/null +++ b/extension/chrome.manifest.tmpl @@ -0,0 +1,3 @@ +{{#locales}} +locale vimfx {{locale}} locale/{{locale}}/ +{{/locales}} diff --git a/extension/install.rdf b/extension/install.rdf deleted file mode 100644 index 08bc35e..0000000 --- a/extension/install.rdf +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - VimFx@akhodakivskiy.github.com - http://www.github.com/akhodakivskiy/VimFx - 0.5.14 - true - 2 - - VimFx - Vim keyboard shortcuts for Firefox - Anton Khodakivskiy - Simon Lydell - Wang Zhuochun - - - - - {ec8030f7-c20a-464f-9b0e-13a3a9e97384} - 29.0 - 31.* - - - - - - pl - Skróty klawiszowe Vima w Firefoksie - Anton Chodakowski - - - - - - ru - Горячие клавиши в стиле Vim - Антон Ходаковский - - - - - - zh-CN - 使用 VIM 快捷键操控 Firefox - - - - - - hu - Vim billenytűparancsok Firefoxhoz - - - - - - de - Vim Tastenbefehle für Firefox - - - - - - el-GR - Συντομεύσεις Πληκτρολογίου του Vim για Firefox - - - - - - nl - Vim sneltoetsen voor Firefox - - - - - - id - Shortcut keyboard Vim untuk Firefox - - - - - - it - Comandi Vim per Firefox - - - - - - ja - Vimキーボードショートカット for Firefox - - - - diff --git a/extension/install.rdf.tmpl b/extension/install.rdf.tmpl new file mode 100644 index 0000000..b6186dd --- /dev/null +++ b/extension/install.rdf.tmpl @@ -0,0 +1,49 @@ + + + + + + VimFx + VimFx@akhodakivskiy.github.com + http://www.github.com/akhodakivskiy/VimFx + {{version}} + true + 2 + + + + + {ec8030f7-c20a-464f-9b0e-13a3a9e97384} + {{minVersion}} + {{maxVersion}} + + + + {{defaultDescription}} + + {{creator}} + + {{#developers}} + {{name}} + {{/developers}} + + {{#contributors}} + {{name}} + {{/contributors}} + + {{#translators}} + {{name}} + {{/translators}} + + {{#locales}} + + + {{locale}} + {{description}} + + + {{/locales}} + + + diff --git a/extension/locale/de/description b/extension/locale/de/description new file mode 100644 index 0000000..73402d5 --- /dev/null +++ b/extension/locale/de/description @@ -0,0 +1 @@ +Vim Tastenbefehle für Firefox diff --git a/extension/locale/el-GR/description b/extension/locale/el-GR/description new file mode 100644 index 0000000..7f53981 --- /dev/null +++ b/extension/locale/el-GR/description @@ -0,0 +1 @@ +Συντομεύσεις Πληκτρολογίου του Vim για Firefox diff --git a/extension/locale/en-US/description b/extension/locale/en-US/description new file mode 100644 index 0000000..ed90c2d --- /dev/null +++ b/extension/locale/en-US/description @@ -0,0 +1 @@ +Vim keyboard shortcuts for Firefox diff --git a/extension/locale/hu/description b/extension/locale/hu/description new file mode 100644 index 0000000..6518b77 --- /dev/null +++ b/extension/locale/hu/description @@ -0,0 +1 @@ +Vim billenytűparancsok Firefoxhoz diff --git a/extension/locale/id/description b/extension/locale/id/description new file mode 100644 index 0000000..67e5cd6 --- /dev/null +++ b/extension/locale/id/description @@ -0,0 +1 @@ +Shortcut keyboard Vim untuk Firefox diff --git a/extension/locale/it/description b/extension/locale/it/description new file mode 100644 index 0000000..9b72c8b --- /dev/null +++ b/extension/locale/it/description @@ -0,0 +1 @@ +Comandi Vim per Firefox diff --git a/extension/locale/ja/description b/extension/locale/ja/description new file mode 100644 index 0000000..667af47 --- /dev/null +++ b/extension/locale/ja/description @@ -0,0 +1 @@ +Vimキーボードショートカット for Firefox diff --git a/extension/locale/nl/description b/extension/locale/nl/description new file mode 100644 index 0000000..2114179 --- /dev/null +++ b/extension/locale/nl/description @@ -0,0 +1 @@ +Vim sneltoetsen voor Firefox diff --git a/extension/locale/pl/description b/extension/locale/pl/description new file mode 100644 index 0000000..56b2491 --- /dev/null +++ b/extension/locale/pl/description @@ -0,0 +1 @@ +Skróty klawiszowe Vima w Firefoksie diff --git a/extension/locale/ru/description b/extension/locale/ru/description new file mode 100644 index 0000000..092d88a --- /dev/null +++ b/extension/locale/ru/description @@ -0,0 +1 @@ +Горячие клавиши в стиле Vim diff --git a/extension/locale/zh-CN/description b/extension/locale/zh-CN/description new file mode 100644 index 0000000..a1c9d61 --- /dev/null +++ b/extension/locale/zh-CN/description @@ -0,0 +1 @@ +使用 VIM 快捷键操控 Firefox diff --git a/extension/locale/zh-TW/description b/extension/locale/zh-TW/description new file mode 100644 index 0000000..ed90c2d --- /dev/null +++ b/extension/locale/zh-TW/description @@ -0,0 +1 @@ +Vim keyboard shortcuts for Firefox diff --git a/gulpfile.coffee b/gulpfile.coffee index f9429d7..70eaf45 100644 --- a/gulpfile.coffee +++ b/gulpfile.coffee @@ -18,18 +18,23 @@ ### fs = require('fs') -path = require('path') +{ join } = require('path') request = require('request') gulp = require('gulp') gutil = require('gutil') changed = require('gulp-changed') coffee = require('gulp-coffee') coffeelint = require('gulp-coffeelint') +mustache = require('gulp-mustache') zip = require('gulp-zip') rimraf = require('rimraf') -DEST = 'build' -XPI = 'VimFx.xpi' +DEST = 'build' +XPI = 'VimFx.xpi' +LOCALE = 'extension/locale' + +read = (filepath) -> fs.readFileSync(filepath).toString() +template = (data) -> mustache(data, {extension: ''}) gulp.task('default', ['push']) @@ -38,7 +43,7 @@ gulp.task('clean', (callback) -> ) gulp.task('copy', -> - gulp.src(['extension/**/!(*.coffee)', 'COPYING']) + gulp.src(['extension/**/!(*.coffee|*.tmpl)', 'COPYING']) .pipe(changed(DEST)) .pipe(gulp.dest(DEST)) ) @@ -50,7 +55,40 @@ gulp.task('coffee', -> .pipe(gulp.dest(DEST)) ) -gulp.task('build', ['copy', 'coffee']) +gulp.task('chrome.manifest', -> + gulp.src('extension/chrome.manifest.tmpl') + .pipe(template({locales: fs.readdirSync(LOCALE).map((locale) -> {locale})})) + .pipe(gulp.dest(DEST)) +) + +gulp.task('install.rdf', -> + pkg = require('./package.json') + + [ [ { name: creator } ], developers, contributors, translators ] = + read('PEOPLE.md').trim().replace(/^#.+\n|^\s*-\s*/mg, '').split('\n\n') + .map((block) -> block.split('\n').map((name) -> {name})) + + getDescription = (locale) -> read(join(LOCALE, locale, 'description')).trim() + + descriptions = fs.readdirSync(LOCALE) + .map((locale) -> { + locale: locale + description: getDescription(locale) + }) + + gulp.src('extension/install.rdf.tmpl') + .pipe(template({ + version: pkg.version + minVersion: pkg.firefoxVersions.min + maxVersion: pkg.firefoxVersions.max + creator, developers, contributors, translators + defaultDescription: getDescription('en-US') + descriptions + })) + .pipe(gulp.dest(DEST)) +) + +gulp.task('build', ['copy', 'coffee', 'chrome.manifest', 'install.rdf']) gulp.task('xpi', ['build'], -> gulp.src("#{ DEST }/**/!(#{ XPI })") @@ -59,7 +97,7 @@ gulp.task('xpi', ['build'], -> ) gulp.task('push', ['xpi'], -> - body = fs.readFileSync(path.join(DEST, XPI)) + body = fs.readFileSync(join(DEST, XPI)) request.post({url: 'http://localhost:8888', body }) ) diff --git a/package.json b/package.json index a9862f9..475e598 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,10 @@ { "name": "VimFx", "version": "0.5.14", + "firefoxVersions": { + "min": "29.0", + "max": "31.*" + }, "license": "GPLv3", "private": true, "scripts": {}, @@ -11,6 +15,7 @@ "gulp-changed": "^1.0.0", "gulp-coffee": "^2.2.0", "gulp-coffeelint": "^0.4.0", + "gulp-mustache": "^1.0.0", "gulp-zip": "^2.0.2", "gutil": "^1.5.5", "request": "^2.49.0", -- 2.39.3