2013-06-20 4 views
3

우리는 HAML이있는 중개인을 사용하고 있습니다.다른 변수로 중개자 빌드 프로세스를 반복하는 방법은 무엇입니까?

우리가 만들고있는 사이트는 여러 테마를 지원해야하며 테마의 마크 업은 테마마다 다르며 각 테마를 구성하기 위해 일부 변수를 사용하고 있습니다.

나는 Middleman에게 변수 값이 필요한 각 테마에 대한 빌드를 반복하도록하는 방법을 찾고 있습니다.

+0

테마를 정확히 구성하는 방법은 무엇입니까? config.rb에서? 또는 CSS, SASS 변수의 경우? 예를 들어 줄 수 있습니까? –

+0

haml에 변수를 설정하고 경로에서 사용하여 다른 스타일 시트를로드합니다. 이 변수를 생성하려는 각 디자인마다 다른 값으로 설정하고 싶습니다. – IgalSt

답변

6

나는, config.rb 내에서 변수를 사용하는 것이 좋습니다 예 :

set :theme, ENV['THEME'] || 'red' 

settings.theme를 사용하면 템플릿 내에서 액세스 할 수 있는지 확인 방법 : 메시지를 표시한다

%p Current theme is #{content_tag(:strong, settings.theme)}. 

는 "현재 테마 입니다 빨간색. " 쉘 세트 ENV['THEME'] 예를 통해

# on a linux/unix shell  
THEME='yellow' middleman build 
# on a windows shell 
set THEME=yellow & middleman build 


지금 재미있는 부분, 호출 ...

# on a linux/unix shell  
THEME='blue' middleman build 
# on a windows shell 
set THEME=red & middleman build 

... 또는 ... 귀하의 테마 이름과 다른 테마 빌드를 가져와야합니다.

+0

답해 주셔서 감사합니다. CMD (Windows의 경우)에서 실행하려고하면'THEME = 'blue'' 오류가 발생합니다 :' 'THEME'은 내부 또는 외부 명령, 작동 가능한 프로그램 또는 배치 파일로 인식되지 않습니다. " – IgalSt

+0

Windows 쉘/CMD 버전을 추가했는데, 어떻게 작동합니까? –

+0

내가 Windows에서 오류가 발생했습니다 : 'NoMethodError 번호 /file.html 정의되지 않은 메서드'테마'에서 <중매인 : 응용 프로그램 : 0x21509400> 루비 \t file.haml : singletonclass에서 블록, 라인 (31) 웹 \t GET 로컬 호스트에서/file.html' –