Oficjalny sposób dodawania własnych czcionek do Rails 4?
Badam, jak dodać niestandardowe czcionki do mojej aplikacji Rails, np. poprzez dodanie folderu fonts
w folderze assets - i nie mogę znaleźć "oficjalnego" sposobu Rails na to, jak to zrobić.
Tak, jest tu mnóstwo pytań/odpowiedzi na tak w tej sprawie, wszystkie pozornie z własnymi hackami. Ale czy taka powszechna praktyka nie powinna iść pod słynną "konwencją nad konfiguracją" Rails?
Lub jeśli to przeoczyłem-gdzie jest dokumentacja dotycząca organizowania czcionek w Aplikacja Rails?
3 answers
Tak podany link wyjaśni to dobrze, jednak jeśli potrzebujesz innego szczegółowego wyjaśnienia, to tutaj jest
-
Po pierwsze, aby użyć niestandardowych czcionek w aplikacji, musisz pobrać pliki czcionek, możesz spróbować http://www.1001freefonts.com/
Http://www.piccsy.com/everything-design/ i poszukaj czcionek
Do najpopularniejszych formatów plików czcionek należą głównieotf (Open Type Format).ttf (True Type Format).woff(Web Open Font Format)
-
Pobrane czcionki można przenieść do folderu aplikacji w obszarze app / assets/fonts /
-
Po pobraniu pliku musisz "zadeklarować" czcionki, których będziesz używał w swoim css tak jak to
@font-face { font-family: "Kaushan Script Regular"; src: url(/assets/KaushanScript-Regular.otf) format("truetype"); }
-
Wreszcie możesz użyć rodziny czcionek, które właśnie zadeklarowałeś, gdziekolwiek chcesz w ten sposób
#e-registration { font-family: "Kaushan Script Regular"; }
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-08 08:27:52
Po prostu to zrobiłem...
-
Pobierz i zapisz pliki czcionek (eot, WOFF, woff2...) w Twoim zasoby/czcionki / katalog
- w Twoim config / aplikacji.RB Dodaj konfigurację tej linii.aktywa.ścieżki
Co to robi to jest to wstępnie skompiluje folder czcionek tak samo jak domyślnie z Twoim obrazy, arkusze stylów itp.
-
I upewnij się, że ta linia jest ustawiona na true config.aktywa.enabled = true
-
W Twoim sass/scss lub nawet inline z
<script>
tag@font-face { font-family: 'Bariol Regular'; src: font-url ('Bariol_Regular_Webfont/bariol_regular-webfont.eot');
src: font-url ('Bariol_Regular_Webfont/bariol_regular-webfont.eot?iefix") format ("eot"),
font-url ('Bariol_Regular_Webfont/bariol_regular-webfont.woff") format ('woff'),
font-url ('Bariol_Regular_Webfont/bariol_regular-webfont.ttf") format ('truetype'),
font-url ('Bariol_Regular_Webfont/bariol_regular-webfont.svg # webfont3AwWkQXK") format ('svg'); font-weight: normal; font-style: normal; }
Zauważ, że powinieneś użyć helpera font-url
zamiast css ' url
aby zająć się odciskami palców wykonywanymi przez Rails podczas prekompilacji zasobów
Na koniec ustaw rodzinę czcionek w plikach CSS
body {
font-family: 'Bariol Regular', serif;
}
DARMOWA KOŃCÓWKA: Biorąc to pod uwagę, najlepszym sposobem pod względem wydajności jest skonfigurowanie tego za pomocą JS, aby te czcionki były ładowane asynchronicznie. Sprawdź ten ładowacz: https://github.com/typekit/webfontloader
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-08 08:23:45
Miałem pewne problemy z wyżej wymienionymi podejściami, ponieważ produkcja css nie wskazywała na skompilowaną czcionkę ttf, więc z powodzeniem zastosowałem to alternatywne podejście zapożyczone z https://gist.github.com/anotheruiguy/7379570:
Umieszcza wszystkie pliki czcionek w
assets/stylesheets/fonts
. np.assets/stylesheets/fonts/digital_7.ttf
.-
Zdefiniowałem w a .plik scss, którego używamy:
@font-face { font-family: 'Digital-7'; src: asset-url('fonts/digital_7.ttf') format('truetype'); font-weight: normal; font-style: normal; }
-
Użyłem niestandardowej czcionki w innych .scss pliki:
.digital-font { font-family: 'Digital-7', sans-serif; font-size: 40px; }
To powiedziane, znacznie czystszym sposobem jest umieszczenie definicji czcionki (digital_7_mono.ttf w tym przykładzie) na osobnej stronie.
Jeśli używasz Cloudfront, na przykład w katalogu Cloudfront o nazwie my_path
, prześlij pliki czcionek, a następnie zdefiniuj plik css (np. digital_fonts.css
)
@font-face {
font-family: 'Digital-7-Mono';
font-weight: normal;
font-style: normal;
src: local('Digital 7 Mono'), local('Digital-7-Mono'), url('https://mycloudfront_site.com/my_path/digital_7_mono.ttf') format('truetype');
}
W Twoim html, wewnątrz znacznika <head>
, Dodaj:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-25 15:41:01