Programim dhe zhvillim, javascript, python, php, html

Përdorimi i busullës nga Ruby (jo guaskë)

Unë jam duke ndërtuar një skript në Ruby ku do të doja të përpiloja një skedar të vetëm SCSS duke përdorur Compass. Unë po përpiqem ta bëj këtë sa më të thjeshtë që të jetë e mundur dhe do të doja të shmangja përdorimin e një skedari config.rb. Unë thjesht dua të vendos disa cilësime përmes Ruby të drejtpërdrejtë dhe t'i them Compass të përpilojë një skedar të vetëm SCSS në një skedar CSS.

E di që kjo duhet të jetë e mundur, por nuk kam qenë në gjendje të gjej ndonjë dokumentacion të mirë se si ta bëj atë. Çdo ndihmë do të vlerësohej.

29.10.2012

Përgjigjet:


1

Keni të drejtë, nuk ka vërtet ndonjë dokumentacion gjithëpërfshirës se si të përdorni Compass nga Ruby. Kjo është për të ardhur keq, por le të mos na ndalojnë detajet e vogla si dokumentacioni!

Një Përpjekje e Parë

Kur po kërkoja të bëja të njëjtën gjë, sapo hodha rreth Compass burim dhe ishte në gjendje të bashkonte këtë skenar të vogël Ruby. Në pamje të parë duket se e bën trukun:

require 'compass'
require 'sass/plugin'

compiler = Compass::Compiler.new(
    # Compass working directory
    '.',
    # Input directory
    'styles/scss',
    # Output directory
    'styles/css',
    # Compass options
    { :style => :compressed }
)

compiler.compile('test.scss', 'test.css')

Por me sa duket Compass ka një sërë opsionesh të konfigurimit të paracaktuar që nuk përfshihen automatikisht kur thirret drejtpërdrejt konstruktori i përpiluesit (një prej të cilëve është SASS load_path). Kjo mund të çojë në gabime kur përpiqeni të importoni funksionet dhe miksat e Compass, të tilla si:

gabim: Skedari për import nuk u gjet ose i palexueshëm: compass/css3

Busulla ‹1.0.0 (a.k.a. "mënyra e vjetër")

Ja se si të telefononi përpiluesin pa i anuluar ato parazgjedhje:

require 'compass'

Compass.add_configuration(
    {
        :project_path => '.',
        :sass_path => 'styles/scss',
        :css_path => 'styles/css'
    },
    'custom' # A name for the configuration, can be anything you want
)
Compass.compiler.compile('test.scss', 'test.css')

Sidoqoftë, që nga versioni 1.0.0 i Compass, Compass.compiler është zhvlerësuar në favor të Compass.sass_compiler, duke çuar në ...

Compass >=1.0.0 (a.k.a. "mënyra e re")

Falënderojmë @philipp për gjetjen e si të përdorim API-në e re, mund ta përditësojmë sërish këtë fragment për të punuar me Compass.sass_compiler:

require 'compass'
require 'compass/sass_compiler'

Compass.add_configuration(
    {
        :project_path => '.',
        :sass_path => 'styles/scss',
        :css_path => 'styles/css'
    },
    'custom' # A name for the configuration, can be anything you want
)

compiler = Compass.sass_compiler({
  :only_sass_files => [
    'styles/scss/test.scss'
  ]
})

compiler.compile!
30.10.2012
  • Mbresëlënës! Kjo eshte perfekte! Kam një problem të vogël kur e përdor me bundle exec. Vazhdoj të marr gabime që busulla nuk mund të ngarkojë asnjë miks. Unë supozoj se është një variabël mjedisor që duhet vendosur. A do ta dini se çfarë duhet të vendosni? 31.10.2012
  • Duhet të kisha shtuar gabimin që po merrja... error: File to import not found or unreadable: compass/css3. 31.10.2012
  • Kisha nisur një pyetje tjetër. Mendova se ishte një çështje tjetër. Megjithatë, tani mendoj se kjo lidhet drejtpërdrejt. stackoverflow .com/questions/13160660/. 01.11.2012
  • Po, ke të drejtë. Hash-i i opsioneve në konstruktorin eksplicit nuk bashkohet me opsionet e paracaktuar të Compass, duke fshirë konfigurimin e rrugës së ngarkesës sass. Unë e kam përditësuar përgjigjen time. 02.11.2012
  • A ka ndonjë mënyrë për të kaluar në variabla nga rubin kur përpilohet në këtë mënyrë? 06.09.2015
  • @Christian Mund të përdorni funksionet e personalizuara për të hyrë në vlerat e Ruby nga fletën tuaj të stilit nëpërmjet thirrjes së funksionit. Për shembull, kjo përgjigje ime tregon kalimin e një vule kohore këtë mënyrë, thjesht zëvendësoni zbatimin për të kthyer çdo vlerë që ju nevojitet. 10.09.2015

  • 2

    Thjesht thirrni metodën e përpilimit nga linja e komandës. Ju mund të specifikoni çdo opsion atje. Për të parë të gjitha opsionet, ekzekutoni compass help compile.

    Më poshtë është një shembull. Do të nxjerrë skedarin css të përpiluar në të njëjtën direktori si skedari test.scss.

    file_name = "absolute/path/to/test.scss"
    system "compass compile #{file_name} --sass-dir . --css-dir ."
    

    Ju mund të specifikoni dhe ndërfusni sa më shumë opsione që dëshironi. Kontrolloni gjithashtu këtë për ekzekutimin e komandave në rubin:

    Drejtimi i komandave të linjës së komandës brenda skriptit Ruby

    30.10.2012
  • Faleminderit. Doja të përpiqesha të mbahesha larg proceseve të sistemit. 31.10.2012
  • Materiale të reja

    Masterclass Coroutines: Kapitulli-3: Anulimi i korutinave dhe trajtimi i përjashtimeve.
    Mirë se vini në udhëzuesin gjithëpërfshirës mbi Kotlin Coroutines! Në këtë seri artikujsh, unë do t'ju çoj në një udhëtim magjepsës, duke filluar nga bazat dhe gradualisht duke u thelluar në..

    Faketojeni derisa ta arrini me të dhënat false
    A e gjeni ndonjëherë veten duke ndërtuar një aplikacion të ri dhe keni nevojë për të dhëna testimi që duken dhe duken më realiste ose një grup i madh të dhënash për performancën e ngarkesës...

    Si të përdorni kërkesën API në Python
    Kërkesë API në GitHub për të marrë depot e përdoruesve duke përdorur Python. Në këtë artikull, unë shpjegoj procesin hap pas hapi për të trajtuar një kërkesë API për të marrë të dhëna nga..

    Një udhëzues hap pas hapi për të zotëruar React
    Në këtë artikull, do të mësoni se si të krijoni aplikacionin React, do të mësoni se si funksionon React dhe konceptet thelbësore që duhet të dini për të ndërtuar aplikacione React. Learning..

    AI dhe Psikologjia — Pjesa 2
    Në pjesën 2 të serisë sonë të AI dhe Psikologji ne diskutojmë se si makineritë mbledhin dhe përpunojnë të dhëna për të mësuar emocione dhe ndjenja të ndryshme në mendjen e njeriut, duke ndihmuar..

    Esencialet e punës ditore të kodit tim VS
    Shtesat e mia të preferuara - Git Graph 💹 Kjo shtesë është vërtet e mahnitshme, e përdor përpara se të filloj të punoj për të kontrolluar dy herë ndryshimet dhe degët më të fundit, mund të..

    Pse Python? Zbulimi i fuqisë së gjithanshme të një gjiganti programues
    Në peizazhin gjithnjë në zhvillim të gjuhëve të programimit, Python është shfaqur si një forcë dominuese. Rritja e tij meteorike nuk është rastësi. Joshja e Python qëndron në thjeshtësinë,..