Class: Jekyll::Converters::Browserify

Inherits:
Converter
  • Object
show all
Defined in:
lib/jekyll/converters/browserify.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Browserify

Returns a new instance of Browserify.



7
8
9
10
# File 'lib/jekyll/converters/browserify.rb', line 7

def initialize config
  super
  @browserify = nil
end

Instance Method Details

#config(*path) ⇒ Object



51
52
53
# File 'lib/jekyll/converters/browserify.rb', line 51

def config *path
  path.inject(@config) {|c, k| c and c[k] }
end

#convert(content) ⇒ Object



20
21
22
23
# File 'lib/jekyll/converters/browserify.rb', line 20

def convert content
  setup unless @browserify
  @browserify.compile(content)
end

#extsObject



35
36
37
# File 'lib/jekyll/converters/browserify.rb', line 35

def exts
  (config("browserify", "exts") || [".js"]).map(&:downcase)
end

#matches(ext) ⇒ Object



12
13
14
# File 'lib/jekyll/converters/browserify.rb', line 12

def matches ext
  exts.include? ext.downcase
end

#modulesObject



39
40
41
# File 'lib/jekyll/converters/browserify.rb', line 39

def modules
  config("browserify", "modules") || []
end

#node_verObject



47
48
49
# File 'lib/jekyll/converters/browserify.rb', line 47

def node_ver
  config("browserify", "node_version")
end

#optionObject



43
44
45
# File 'lib/jekyll/converters/browserify.rb', line 43

def option
  config("browserify", "option") || ""
end

#output_ext(ext) ⇒ Object



16
17
18
# File 'lib/jekyll/converters/browserify.rb', line 16

def output_ext ext
  ".js"
end

#setupObject



25
26
27
28
29
30
31
32
33
# File 'lib/jekyll/converters/browserify.rb', line 25

def setup
  require "browserify_rb"
  @browserify = BrowserifyRb.new(
    required_modules: modules,
    browserify_opts: option,
    nvm_dir: File.join(ENV["PWD"], ".nvm"),
    node_ver: node_ver
  )
end