maglove 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +5 -6
- data/data/maglove/dump.haml +58 -0
- data/lib/ext/commander/command.rb +1 -1
- data/lib/maglove/command/theme.rb +43 -0
- data/lib/maglove/helper/theme_helper.rb +5 -1
- data/lib/maglove/version.rb +1 -1
- metadata +3 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: a8cd0e5c5c46effb5323d591b0cb6e4b36fdfc14
         | 
| 4 | 
            +
              data.tar.gz: 2def09d4d5e5497f1c98ad43ed16ee8fe8b96669
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: a6c36229e97a9b1c628c3afe4a8d33f442606979911e20855bf0a12c0a459984457dc30c8880013d0d93cf87396fd1f803972d9a13b083ec828f1c8821769c80
         | 
| 7 | 
            +
              data.tar.gz: 23cddea15c6c11b3653f9652ba4d31d076da7ff59748a86b9a2f4f3fd5cf428d650a96193d50b5ea835151cdcc710907a361a459f573ef8569074f117623f669
         | 
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            PATH
         | 
| 2 2 | 
             
              remote: .
         | 
| 3 3 | 
             
              specs:
         | 
| 4 | 
            -
                maglove (0. | 
| 4 | 
            +
                maglove (0.4.0)
         | 
| 5 5 | 
             
                  activesupport (~> 4.2)
         | 
| 6 6 | 
             
                  bundler (~> 1.10)
         | 
| 7 7 | 
             
                  coffee-script (~> 2.4)
         | 
| @@ -23,7 +23,7 @@ PATH | |
| 23 23 | 
             
            GEM
         | 
| 24 24 | 
             
              remote: https://rubygems.org/
         | 
| 25 25 | 
             
              specs:
         | 
| 26 | 
            -
                activesupport (4.2. | 
| 26 | 
            +
                activesupport (4.2.4)
         | 
| 27 27 | 
             
                  i18n (~> 0.7)
         | 
| 28 28 | 
             
                  json (~> 1.7, >= 1.7.7)
         | 
| 29 29 | 
             
                  minitest (~> 5.1)
         | 
| @@ -49,9 +49,8 @@ GEM | |
| 49 49 | 
             
                fspath (2.1.1)
         | 
| 50 50 | 
             
                haml (4.0.7)
         | 
| 51 51 | 
             
                  tilt
         | 
| 52 | 
            -
                hamloft (0.1. | 
| 52 | 
            +
                hamloft (0.1.3)
         | 
| 53 53 | 
             
                  activesupport (~> 4.2)
         | 
| 54 | 
            -
                  bundler (~> 1.10)
         | 
| 55 54 | 
             
                  haml (~> 4.0)
         | 
| 56 55 | 
             
                  nokogiri (~> 1.6)
         | 
| 57 56 | 
             
                highline (1.7.3)
         | 
| @@ -71,7 +70,7 @@ GEM | |
| 71 70 | 
             
                less (2.6.0)
         | 
| 72 71 | 
             
                  commonjs (~> 0.2.7)
         | 
| 73 72 | 
             
                libv8 (3.16.14.11)
         | 
| 74 | 
            -
                little-plugger (1.1. | 
| 73 | 
            +
                little-plugger (1.1.4)
         | 
| 75 74 | 
             
                logging (2.0.0)
         | 
| 76 75 | 
             
                  little-plugger (~> 1.1)
         | 
| 77 76 | 
             
                  multi_json (~> 1.10)
         | 
| @@ -134,4 +133,4 @@ DEPENDENCIES | |
| 134 133 | 
             
              rubocop (~> 0.32)
         | 
| 135 134 |  | 
| 136 135 | 
             
            BUNDLED WITH
         | 
| 137 | 
            -
               1.10. | 
| 136 | 
            +
               1.10.6
         | 
| @@ -0,0 +1,58 @@ | |
| 1 | 
            +
            !!! 5
         | 
| 2 | 
            +
            %html
         | 
| 3 | 
            +
              %head
         | 
| 4 | 
            +
                %meta{ charset: "UTF-8" }
         | 
| 5 | 
            +
                %title= "#{theme} - #{template}"
         | 
| 6 | 
            +
                %meta{ name: "viewport", content: "width=device-width, initial-scale=1.0" }
         | 
| 7 | 
            +
                %link{ href: "themes/#{theme}/theme.css", media: "screen", rel: "stylesheet" }
         | 
| 8 | 
            +
                %link{ href: "fonts/fonts.css", media: "screen", rel: "stylesheet" }
         | 
| 9 | 
            +
                %script{ src: "themes/#{theme}/theme.js", type: "text/javascript" }
         | 
| 10 | 
            +
                :css
         | 
| 11 | 
            +
                  div#__inspector {
         | 
| 12 | 
            +
                    position: fixed !important;
         | 
| 13 | 
            +
                    top: 8px !important;
         | 
| 14 | 
            +
                    right: 8px !important;
         | 
| 15 | 
            +
                    height: 32px !important;
         | 
| 16 | 
            +
                    background: #FFF !important;
         | 
| 17 | 
            +
                    line-height: 32px !important;
         | 
| 18 | 
            +
                    z-index: 1000000 !important;
         | 
| 19 | 
            +
                    text-transform: uppercase !important;
         | 
| 20 | 
            +
                    font-size: 11px !important;
         | 
| 21 | 
            +
                    font-weight: bold !important;
         | 
| 22 | 
            +
                    letter-spacing: 1px !important;
         | 
| 23 | 
            +
                    font-family: "Helvetica Neue" !important;
         | 
| 24 | 
            +
                    opacity: 0.25 !important;
         | 
| 25 | 
            +
                    transition: opacity 300ms !important;
         | 
| 26 | 
            +
                  }
         | 
| 27 | 
            +
                  
         | 
| 28 | 
            +
                  div#__inspector:hover {
         | 
| 29 | 
            +
                    opacity: 1 !important;
         | 
| 30 | 
            +
                  }
         | 
| 31 | 
            +
                  
         | 
| 32 | 
            +
                  div#__inspector a {
         | 
| 33 | 
            +
                    color: #171717 !important;
         | 
| 34 | 
            +
                    padding: 0px 12px !important;
         | 
| 35 | 
            +
                    border-left: 1px solid #F5F5F5 !important;
         | 
| 36 | 
            +
                    border-right: none !important;
         | 
| 37 | 
            +
                    border-top: none !important;
         | 
| 38 | 
            +
                    border-bottom: none !important;
         | 
| 39 | 
            +
                    display: inline-block !important;
         | 
| 40 | 
            +
                    float: left !important;
         | 
| 41 | 
            +
                  }
         | 
| 42 | 
            +
                  
         | 
| 43 | 
            +
                  div#__inspector a:hover {
         | 
| 44 | 
            +
                    color: #FFFFFF !important;
         | 
| 45 | 
            +
                    background: #000000 !important;
         | 
| 46 | 
            +
                  }
         | 
| 47 | 
            +
                  
         | 
| 48 | 
            +
                  div#__inspector a:first-child {
         | 
| 49 | 
            +
                    border-left: none !important;
         | 
| 50 | 
            +
                  }
         | 
| 51 | 
            +
              
         | 
| 52 | 
            +
              %body
         | 
| 53 | 
            +
                = contents
         | 
| 54 | 
            +
                - if templates.count > 1
         | 
| 55 | 
            +
                  #__inspector
         | 
| 56 | 
            +
                    - templates.each do |template|
         | 
| 57 | 
            +
                      %a{href: "#{template}.html"}
         | 
| 58 | 
            +
                        = template
         | 
| @@ -13,7 +13,50 @@ module MagLove | |
| 13 13 | 
             
                        error!("▸ SYNC error: please specify a bucket to use (cdn.magloft.com, test-cdn.magloft.com)") if options.bucket == "localhost:3001"
         | 
| 14 14 | 
             
                        invoke_task("sync:cdn", options)
         | 
| 15 15 | 
             
                      end
         | 
| 16 | 
            +
                    end
         | 
| 17 | 
            +
                    
         | 
| 18 | 
            +
                    task :deploy, theme: ENV["THEME"], out: ".", sync: "NO", bucket: "localhost:3002" do |args, options|
         | 
| 19 | 
            +
                      
         | 
| 20 | 
            +
                      # Compile Theme
         | 
| 21 | 
            +
                      invoke_task("theme:compile", options)
         | 
| 16 22 |  | 
| 23 | 
            +
                      # Prepare Deployment Directory
         | 
| 24 | 
            +
                      output_path = File.expand_path(options.out)
         | 
| 25 | 
            +
                      error!("Directory '#{output_path}' does not exist!") if !File.directory?(output_path)
         | 
| 26 | 
            +
                      target_path = File.join(output_path, options.theme)
         | 
| 27 | 
            +
                      FileUtils.rm_r(target_path) if File.directory?(target_path)
         | 
| 28 | 
            +
                      FileUtils.mkdir_p(File.join(target_path, "themes"))
         | 
| 29 | 
            +
                      
         | 
| 30 | 
            +
                      # Copy Assets
         | 
| 31 | 
            +
                      FileUtils.cp_r(theme_dist_path(nil, options.theme), File.join(target_path, "themes/#{options.theme}"))
         | 
| 32 | 
            +
                      FileUtils.cp_r(File.join("dist", "fonts"), File.join(target_path, "fonts"))
         | 
| 33 | 
            +
                      
         | 
| 34 | 
            +
                      # Process Templates
         | 
| 35 | 
            +
                      templates = theme_config(:templates, options.theme)
         | 
| 36 | 
            +
                      templates.each do |template|
         | 
| 37 | 
            +
                        debug "▸ processing template #{template}"
         | 
| 38 | 
            +
                        
         | 
| 39 | 
            +
                        # Render template
         | 
| 40 | 
            +
                        variables_yaml = theme_contents("templates/#{template}.yml", options.theme)
         | 
| 41 | 
            +
                        variables = variables_yaml ? YAML.load(variables_yaml).with_indifferent_access : {}
         | 
| 42 | 
            +
                        variables[:theme] = options.theme
         | 
| 43 | 
            +
                        template_file = theme_glob("templates/#{template}.{html,twig,haml}", options.theme).first
         | 
| 44 | 
            +
                        if !template_file.nil?
         | 
| 45 | 
            +
                          asset = MagLove::Asset::Theme.new(template_file, options.theme, variables)
         | 
| 46 | 
            +
                          contents = asset.contents
         | 
| 47 | 
            +
                        else
         | 
| 48 | 
            +
                          contents = "<p style='text-align: center; margin-top: 12px;'>ERROR: Template '#{template}' not found!</p>"
         | 
| 49 | 
            +
                        end
         | 
| 50 | 
            +
                        
         | 
| 51 | 
            +
                        # Render Static Dump
         | 
| 52 | 
            +
                        haml_contents = File.read(File.join(Gem.datadir("maglove"), "dump.haml"))
         | 
| 53 | 
            +
                        html_contents = Hamloft.render(haml_contents, theme: options.theme, contents: contents, templates: templates, template: template)            
         | 
| 54 | 
            +
                        
         | 
| 55 | 
            +
                        # Write to file
         | 
| 56 | 
            +
                        File.open(File.join(target_path, "#{template}.html"), "w") {|f| f.write(html_contents) }
         | 
| 57 | 
            +
                      end
         | 
| 58 | 
            +
             | 
| 59 | 
            +
             | 
| 17 60 | 
             
                    end
         | 
| 18 61 |  | 
| 19 62 | 
             
                    task :"compile-all", sync: "NO", bucket: "localhost:3002" do |args, options|
         | 
| @@ -79,7 +79,11 @@ module MagLove | |
| 79 79 | 
             
                  def watch_config(config, options)
         | 
| 80 80 | 
             
                    config.each do |task, pattern|
         | 
| 81 81 | 
             
                      watch(pattern) do |filename, event|
         | 
| 82 | 
            -
                         | 
| 82 | 
            +
                        begin
         | 
| 83 | 
            +
                          invoke_task(task, options.__merge(pattern: filename))
         | 
| 84 | 
            +
                        rescue Exception => e
         | 
| 85 | 
            +
                          error(e.message)
         | 
| 86 | 
            +
                        end
         | 
| 83 87 | 
             
                      end
         | 
| 84 88 | 
             
                    end
         | 
| 85 89 | 
             
                  end
         | 
    
        data/lib/maglove/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: maglove
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.5.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Tobias Strebitzer
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2015-09- | 
| 11 | 
            +
            date: 2015-09-10 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         | 
| @@ -303,6 +303,7 @@ files: | |
| 303 303 | 
             
            - Gemfile.lock
         | 
| 304 304 | 
             
            - README.md
         | 
| 305 305 | 
             
            - bin/maglove
         | 
| 306 | 
            +
            - data/maglove/dump.haml
         | 
| 306 307 | 
             
            - data/maglove/scaffold/base/base.coffee
         | 
| 307 308 | 
             
            - data/maglove/scaffold/base/base.less
         | 
| 308 309 | 
             
            - data/maglove/scaffold/base/images/base/loading-bars.svg
         |