2013-10-10 13 views
6

मेरी रेल में 4 प्रोजेक्ट सीएसएस फोंट फाइलों का उपयोग करता है बिना प्रीकंपाइल विशिष्ट संपत्तियां। इसलिए उन्हें अतिरिक्त रूप से प्रीकंपल करने की आवश्यकता है।एमडी 5 फिंगरप्रिंट

मैं प्राप्त है कि निम्नलिखित लाइनों को जोड़ने के विन्यास के लिए के साथ/वातावरण/production.rb

# Add the fonts path 
    config.assets.paths << Rails.root.join('vendor', 'assets', 'fonts','fonts') 
    # 
    # # Precompile additional assets 
    config.assets.precompile += %w(*.svg *.eot *.woff *.ttf) 

और चल रेक संपत्ति: उत्पादन में precompile।

तथापि, परिणाम पीछा कर रहा है:

I, [2013-10-10T19:27:51.931963 #16052] INFO -- : Writing /var/lib/openshift/521e19c85004460a8e000107/app-root/runtime/repo/public/assets/fonts/glyphicons-halflings-regular-ab2f6984951c07fd89e6afdefabd93c7.eot 
I, [2013-10-10T19:27:51.940615 #16052] INFO -- : Writing /var/lib/openshift/521e19c85004460a8e000107/app-root/runtime/repo/public/assets/fonts/glyphicons-halflings-regular-24dfb40c91db789b8b8faba6886ac1ef.svg 
I, [2013-10-10T19:27:51.950685 #16052] INFO -- : Writing /var/lib/openshift/521e19c85004460a8e000107/app-root/runtime/repo/public/assets/fonts/glyphicons-halflings-regular-4b2130768da98222338d1519f9179528.ttf 
I, [2013-10-10T19:27:51.983230 #16052] INFO -- : Writing /var/lib/openshift/521e19c85004460a8e000107/app-root/runtime/repo/public/assets/fonts/glyphicons-halflings-regular-7a07f26f72466361ac9671de2d33fd1c.woff 

और सीएसएस फ़ाइलें इस MD5 फ़िंगरप्रिंट बिना फ़ाइलों फ़ॉन्ट का संदर्भ लें।

मैं संपत्तियों को प्रीकंपाइल कैसे कर सकता हूं ताकि वे एमडी 5 फिंगरप्रिंट के बिना उत्पन्न हो सकें? या क्या मुझे उन्हें ऐसे मामले में सार्वजनिक/फोंट/फ़ोल्डर में रखना चाहिए?

+2

आप इसे हल करते हैं? मुझे एक ही समस्या है .. –

+0

क्या मेरा उत्तर काम करता है? – Ludovic

उत्तर

2

इन चरणों का पालन

  • आपका फ़ॉन्ट होना चाहिए app/assets/fonts
  • संपत्ति पथ के लिए अपने फ़ॉन्ट जोड़ें (जैसे तुमने किया था), लेकिन पसंद करते हैं config/application.rb
  • à @font-face के साथ अपने सीएसएस में अपने फ़ॉन्ट घोषित। आपको some help here
  • यदि आप एससीएसएस का उपयोग नहीं करते हैं तो आपके पास application.css.erb जैसे एम्बेडेड सीएसएस होना चाहिए और अपने फ़ॉन्ट-फेस घोषणा में अपने फोंट पथ को लागू करने के लिए asset_path() सहायक का उपयोग करना चाहिए।

एक उदाहरण एससीएसएस के बिना:

@font-face { 
    font-family: 'MyFont'; 
    src:url('<%= asset_path("myfont.eot")%>'); 
    src:url('<%= asset_path("myfont.eot?#iefix")%>') format('embedded-opentype'), 
    url('<%= asset_path("myfont.svg#myfont")%>') format('svg'), 
    url('<%= asset_path("myfont.woff")%>') format('woff'), 
    url('<%= asset_path("myfont.ttf")%>') format('truetype'); 
    font-weight: normal; 
    font-style: normal; 
} 
+2

समस्या को फोंट बनाने के तरीके में समस्या नहीं है जब आप उत्पादन फ़ॉन्ट के लिए संपत्ति को प्रीकंपाइल करते हैं, लेकिन md5 फिंगरप्रिंट के साथ। लेकिन नेटवर्क कंसोल के बाद Fontawesome-webfont-62877.woff 404 त्रुटि है। ऐसा लगता है कि रेलों को प्रकाशन/संपत्तियों में प्रीकंपाइल संपत्तियां नहीं दिखती हैं Fontawesome-webfont-62877-e70f92449ebfddada3d455eb44542655.woff लेकिन जब मैं md5 के बिना फ़ाइल fontawesome-webfont-62877.woff फ़ाइल जोड़ रहा हूं तो यह ठीक काम करता है। प्रीकंपाइल बनाने के लिए कैसे रेल उत्पादन में फोंट देखते हैं। –

+0

@ सेर्गेई चेचेव मेरी विधि के साथ सबकुछ उत्पादन मोड में काम करता है। रेल 3 के साथ मुझे समस्याएं मिली हैं, समाधान सार्वजनिक/संपत्ति/में फ़ॉन्ट निर्देशिका की प्रतिलिपि बनाना था। यदि आप फोंट को प्रीकंपाइल नहीं करना चाहते हैं तो आप उन्हें संपत्ति प्रणाली में क्यों जोड़ना चाहते हैं? यह थोड़ा अजीब है :) – Ludovic

+0

मुझे समझ में नहीं आता कि कैसे उत्पादन मोड में परिसंपत्तियों को प्रीकंपाइल करना है कि यह फोर्क ठीक है मेरे पास 404 त्रुटि है। –

संबंधित मुद्दे