cssbundling-rails로 맞춤 글꼴 제공
10605 단어 railstailwindcss
글꼴 선택
내가 선택한 글꼴은 Open Sans이며, 다운로드하고 다양한 글꼴 파일을
app/assets/fonts/OpenSans
디렉토리에 추가했습니다..css.erb 사용
우선
asset_url
헬퍼가 작동하도록 하려면 .css.erb
파일을 사용하여 자산 파이프라인을 통해 글꼴을 지정해야 합니다. 자산에 다이제스트가 추가된 경우 프로덕션에서 경로를 직접 사용할 수 없습니다.@font-face {
font-family: "Open Sans";
src: url("<%= font_path('OpenSans/Bold/OpenSans-Bold.woff2') %>") format("woff2"),
url("<%= font_path('OpenSans/Bold/OpenSans-Bold.woff') %>") format("woff"),
url("<%= font_path('OpenSans/Bold/OpenSans-Bold.ttf') %>") format("truetype");
font-weight: bold;
font-style: normal;
}
@font-face {
font-family: "Open Sans";
src: url("<%= font_path('OpenSans/BoldItalic/OpenSans-BoldItalic.woff2') %>") format("woff2"),
url("<%= font_path('OpenSans/BoldItalic/OpenSans-BoldItalic.woff') %>") format("woff"),
url("<%= font_path('OpenSans/BoldItalic/OpenSans-BoldItalic.ttf') %>") format("truetype");
font-weight: bold;
font-style: italic;
}
@font-face {
font-family: "Open Sans";
src: url("<%= font_path('OpenSans/ExtraBold/OpenSans-ExtraBold.woff2') %>") format("woff2"),
url("<%= font_path('OpenSans/ExtraBold/OpenSans-ExtraBold.woff') %>") format("woff"),
url("<%= font_path('OpenSans/ExtraBold/OpenSans-ExtraBold.ttf') %>") format("truetype");
font-weight: 800;
font-style: normal;
}
@font-face {
font-family: "Open Sans";
src: url("<%= font_path('OpenSans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.woff2') %>") format("woff2"),
url("<%= font_path('OpenSans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.woff') %>") format("woff"),
url("<%= font_path('OpenSans/ExtraBoldItalic/OpenSans-ExtraBoldItalic.ttf') %>") format("truetype");
font-weight: 800;
font-style: italic;
}
opensans.css를 manifest.js에 추가
그런 다음 자산 매니페스트에 특수 글꼴 파일을 추가해야 합니다. 이렇게 하면 자산이 개발 및 프로덕션 모두에서 제공됩니다.
// ./app/assets/config/manifest.js
//= link_tree ../fonts
//= link_tree ../images
//= link_tree ../builds
//= link opensans.css
//= link_tree ../../javascript .js
TailwindCSS 구성
TailwindCSS에서 사용자 정의 글꼴을 기본값으로 사용하려면 글꼴에
Open Sans
를 추가하기만 하면 됩니다.// ./tailwind.config.js
module.exports = {
content: [
"./app/**/*.html.erb",
"./app/helpers/**/*.rb",
"./app/javascript/**/*.js",
"./app/assets/stylesheets/**/*.js",
"./app/components/**/*.js",
"./app/components/**/*.css"
],
theme: {
fontFamily: {
sans: [
"Open Sans",
"ui-sans-serif",
"system-ui",
"-apple-system",
"BlinkMacSystemFont",
'"Segoe UI"',
"Roboto",
'"Helvetica Neue"',
"Arial",
'"Noto Sans"',
"sans-serif",
'"Apple Color Emoji"',
'"Segoe UI Emoji"',
'"Segoe UI Symbol"',
'"Noto Color Emoji"'
]
}
}
}
opensans.css.erb 사전 컴파일
자산 파이프라인에서 사용할 수 있도록 erb 자산을 사전 컴파일합니다.
# ./app/config/initializers/assets.rb
Rails.application.config.assets.precompile += %w[opensans.css.erb]
오픈샌즈 로드 중
마지막 단계는
application.html.erb
에 글꼴 파일을 로드하는 것입니다.<!-- app/views/layouts/application.html.erb -->
<!DOCTYPE html>
<html class="min-h-screen">
<head>
<meta name="viewport" content="width=device-width,initial-scale=1">
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<%= stylesheet_link_tag "opensans", "data-turbo-track": "reload", defer: true %>
<%= stylesheet_link_tag "application", "data-turbo-track": "reload", defer: true %>
<%= javascript_importmap_tags %>
</head>
</html>
Reference
이 문제에 관하여(cssbundling-rails로 맞춤 글꼴 제공), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mhenrixon/serving-custom-fonts-with-cssbundling-rails-2jc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)