Class: Jekyll::Converters::Browserify
- Inherits:
-
Converter
- Object
- Converter
- Jekyll::Converters::Browserify
- Defined in:
- lib/jekyll/converters/browserify.rb
Instance Method Summary collapse
- #command ⇒ Object
- #config(*path) ⇒ Object
- #convert(content) ⇒ Object
- #exts ⇒ Object
-
#initialize(config) ⇒ Browserify
constructor
A new instance of Browserify.
- #matches(ext) ⇒ Object
- #npm_install? ⇒ Boolean
- #nvm_modules ⇒ Object
- #nvm_node_ver ⇒ Object
- #nvm_option ⇒ Object
- #output_ext(ext) ⇒ Object
- #setup ⇒ Object
- #use_nvm? ⇒ Boolean
Constructor Details
#initialize(config) ⇒ Browserify
Returns a new instance of Browserify.
7 8 9 10 11 12 |
# File 'lib/jekyll/converters/browserify.rb', line 7 def initialize config super @browserify = nil system "npm install" if npm_install? end |
Instance Method Details
#command ⇒ Object
52 53 54 |
# File 'lib/jekyll/converters/browserify.rb', line 52 def command config("browserify", "command") || "browserify -" end |
#config(*path) ⇒ Object
72 73 74 |
# File 'lib/jekyll/converters/browserify.rb', line 72 def config *path path.inject(@config) {|c, k| c and c[k] } end |
#convert(content) ⇒ Object
22 23 24 25 |
# File 'lib/jekyll/converters/browserify.rb', line 22 def convert content setup unless @browserify @browserify.compile(content) end |
#exts ⇒ Object
43 44 45 |
# File 'lib/jekyll/converters/browserify.rb', line 43 def exts (config("browserify", "exts") || [".js"]).map(&:downcase) end |
#matches(ext) ⇒ Object
14 15 16 |
# File 'lib/jekyll/converters/browserify.rb', line 14 def matches ext exts.include? ext.downcase end |
#npm_install? ⇒ Boolean
47 48 49 50 |
# File 'lib/jekyll/converters/browserify.rb', line 47 def npm_install? b = config("browserify", "npm_install") (b == true) or (b.is_a? String and b.downcase == "true") end |
#nvm_modules ⇒ Object
56 57 58 |
# File 'lib/jekyll/converters/browserify.rb', line 56 def nvm_modules config("browserify", "nvm", "modules") || [] end |
#nvm_node_ver ⇒ Object
64 65 66 |
# File 'lib/jekyll/converters/browserify.rb', line 64 def nvm_node_ver config("browserify", "nvm", "node_version") end |
#nvm_option ⇒ Object
60 61 62 |
# File 'lib/jekyll/converters/browserify.rb', line 60 def nvm_option config("browserify", "nvm", "option") || "" end |
#output_ext(ext) ⇒ Object
18 19 20 |
# File 'lib/jekyll/converters/browserify.rb', line 18 def output_ext ext ".js" end |
#setup ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/jekyll/converters/browserify.rb', line 27 def setup require "browserify_rb" if use_nvm? @browserify = BrowserifyRb::Nvm::Browserify.new( required_modules: nvm_modules, browserify_opts: nvm_option, nvm_dir: File.join(ENV["PWD"], ".nvm"), node_ver: nvm_node_ver ) else @browserify = BrowserifyRb::Browserify.new( command: command ) end end |
#use_nvm? ⇒ Boolean
68 69 70 |
# File 'lib/jekyll/converters/browserify.rb', line 68 def use_nvm? not config("browserify", "nvm").nil? end |