Sha256: 375c6cff9a7e89dfe89e89fdb19aeaee1a3eb4db69f0ec420fd46c87fe55a282
Contents?: true
Size: 1.13 KB
Versions: 6
Compression:
Stored size: 1.13 KB
Contents
# frozen_string_literal: true require 'epuber-stylus' module Epuber class Compiler module FileTypes require_relative 'source_file' class StylusFile < SourceFile # @param [Compiler::CompilationContext] compilation_context # def process(compilation_context) return if destination_file_up_to_date? Stylus.define('__is_debug', !compilation_context.release_build) Stylus.define('__is_verbose_mode', compilation_context.verbose?) Stylus.define('__target_name', compilation_context.target.name) Stylus.define('__book_title', compilation_context.book.title) Stylus.define('__const', compilation_context.target.constants) write_compiled(Stylus.compile(File.new(abs_source_path))) update_metadata! end def find_dependencies self.class.find_imports(File.read(abs_source_path)) end # @return [Array<String>] # def self.find_imports(content) content.to_enum(:scan, /^\s*@import ("|')([^'"]*)("|')/).map { Regexp.last_match[2] } end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems