Browse Source

Move hightlight to npm,

* highlight.js and marked is now loaded by browserify
Sotaro KARASAWA 10 năm trước cách đây
mục cha
commit
a06fe506fe
4 tập tin đã thay đổi với 26 bổ sung8 xóa
  1. 0 1
      bower.json
  2. 15 6
      gulpfile.js
  3. 4 1
      package.json
  4. 7 0
      resource/js/crowi.js

+ 0 - 1
bower.json

@@ -21,7 +21,6 @@
   "dependencies": {
     "bootstrap-sass-official": "~3.3.1",
     "reveal.js": "~3.0.0",
-    "highlightjs": "~8.4.0",
     "inline-attachment": "~2.0.1",
     "jquery-selection": "~1.0.1"
   }

+ 15 - 6
gulpfile.js

@@ -8,6 +8,8 @@ var concat = require('gulp-concat');
 var rename = require('gulp-rename');
 var uglify = require('gulp-uglify');
 var jshint = require('gulp-jshint');
+var source = require('vinyl-source-stream');
+var browserify = require('browserify');
 
 var stylish = require('jshint-stylish');
 
@@ -33,17 +35,17 @@ var css = {
 };
 
 var js = {
+  browserify: [
+    'resource/js/crowi.js', // => crowi-bundled.js
+  ],
   src: [
     'node_modules/jquery/dist/jquery.js',
     'bower_components/bootstrap-sass-official/assets/javascripts/bootstrap.js',
     'bower_components/inline-attachment/src/inline-attachment.js',
-    'bower_components/inline-attachment/src/jquery.inline-attachment.js',
     'node_modules/socket.io-client/socket.io.js',
-    'node_modules/marked/lib/marked.js',
     'node_modules/jquery.cookie/jquery.cookie.js',
     'bower_components/jquery-selection/src/jquery.selection.js',
-    'bower_components/highlightjs/highlight.pack.js',
-    'resource/js/crowi.js'
+    dirs.jsDist + '/crowi-bundled.js',
   ],
   dist: dirs.jsDist + '/crowi.js',
   revealSrc: [
@@ -68,7 +70,14 @@ var cssIncludePaths = [
   'bower_components/reveal.js/css'
 ];
 
-gulp.task('js:concat', function() {
+gulp.task('js:browserify', function() {
+  return browserify({entries: js.browserify})
+    .bundle()
+    .pipe(source('crowi-bundled.js'))
+    .pipe(gulp.dest(dirs.jsDist));
+});
+
+gulp.task('js:concat', ['js:browserify'], function() {
   gulp.src(js.revealSrc)
     .pipe(concat('crowi-reveal.js'))
     .pipe(gulp.dest(dirs.jsDist));
@@ -126,7 +135,7 @@ gulp.task('css:sass', function() {
 });
 
 gulp.task('css:concat', ['css:sass'], function() {
-  return gulp.src([css.main, 'bower_components/highlightjs/styles/tomorrow-night.css'])
+  return gulp.src([css.main, 'node_modules/highlight.js/styles/tomorrow-night.css'])
     .pipe(concat('crowi.css'))
     .pipe(gulp.dest(dirs.cssDist))
 });

+ 4 - 1
package.json

@@ -34,6 +34,7 @@
     "bluebird": "~3.0.5",
     "body-parser": "~1.14.1",
     "bower": "~1.7.1",
+    "browserify": "~12.0.1",
     "cli": "~0.6.0",
     "connect-flash": "~0.1.1",
     "connect-redis": "~2.1.0",
@@ -56,6 +57,7 @@
     "gulp-spawn-mocha": "~2.2.1",
     "gulp-uglify": "~1.4.2",
     "gulp-watch": "~4.3.5",
+    "highlight.js": "~9.0.0",
     "jquery": "~2.1.4",
     "jquery.cookie": "~1.4.1",
     "jshint-stylish": "~2.1.0",
@@ -72,7 +74,8 @@
     "socket.io": "~1.3.0",
     "socket.io-client": "~1.3.0",
     "swig": "~1.4.0",
-    "time": "~0.11.0"
+    "time": "~0.11.0",
+    "vinyl-source-stream": "~1.1.0"
   },
   "devDependencies": {
     "chai": "~1.10.0",

+ 7 - 0
resource/js/crowi.js

@@ -3,8 +3,15 @@
 /* Author: Sotaro KARASAWA <sotarok@crocos.co.jp>
 */
 
+var hljs = require('highlight.js');
+var marked = require('marked');
 var Crowi = {};
 
+if (!window) {
+  window = {};
+}
+window.Crowi = Crowi;
+
 Crowi.createErrorView = function(msg) {
   $('#main').prepend($('<p class="alert-message error">' + msg + '</p>'));
 };