Конфигурация файлов.
{
"fontName": "svgtofont",
"css": true
}
const svgtofont = require('svgtofont');
const path = require('path');
svgtofont({
src: path.resolve(process.cwd(), 'icon'), // путь SVG
dist: path.resolve(process.cwd(), 'fonts'), // выходной путь
fontName: 'svgtofont', // имя шрифта
css: true, // создание файлов CSS.
}).then(() => {
console.log('готово!');
});
Или
const svgtofont = require("svgtofont");
const path = require("path");
svgtofont({
src: path.resolve(process.cwd(), "icon"), // путь SVG
dist: path.resolve(process.cwd(), "fonts"), // выходной путь
styleTemplates: path.resolve(rootPath, "styles"), // путь шаблонов файлов (необязательно)
fontName: "svgtofont", // имя шрифта
css: true, // Создание файлов CSS.
startUnicode: 0xea01, // начальный номер Unicode
svgicons2svgfont: {
fontHeight: 1000,
normalize: true
},
// website = null, без демонстрационных HTML-файлов
website: {
title: "svgtofont",
// Должно быть изображение в формате .svg.
logo: path.resolve(process.cwd(), "svg", "git.svg"),
version: pkg.version,
meta: {
description: "Преобразует шрифты SVG в форматы TTF/EOT/WOFF/WOFF2/SVG.",
keywords: "svgtofont,TTF,EOT,WOFF,WOFF2,SVG"
},
description: ``,
// Добавьте уголок Github на свой веб-сайт
// Например: https://github.com/uiwjs/react-github-corners
corners: {
url: 'https://github.com/jaywcjlove/svgtofont',
width: 62, // по умолчанию: 60
height: 62, // по умолчанию: 60
bgColor: '#dc3545' // по умолчанию: '#151513'
},
links: [
{
title: "GitHub",
url: "https://github.com/jaywcjlove/svgtofont"
},
{
title: "Обратная связь",
url: "https://github.com/jaywcjlove/svgtofont/issues"
},
{
title: "Класс шрифтов",
url: "index.html"
},
{
title: "Unicode",
url: "unicode.html"
}
],
footerInfo: `Лицензировано под MIT. (Да, это бесплатно и <a href="https://github.com/jaywcjlove/svgtofont">открытый исходный код</a>`
}
}).then(() => {
console.log('готово!');
});;
import { createSVG, createTTF, createEOT, createWOFF, createWOFF2, createSvgSymbol, copyTemplate, createHTML } from 'svgtofont/lib/utils';
const options = { ... };
async function creatFont() {
const unicodeObject = await createSVG(options);
const ttf = await createTTF(options); // SVG Font => TTF
await createEOT(options, ttf); // TTF => EOT
await createWOFF(options, ttf); // TTF => WOFF
await createWOFF2(options, tttf); // TTF => WOFF2
await createSvgSymbol(options); // Файлы SVG => SVG Symbol
}
svgtofont(options)
Тип:
config?: AutoConfOption<SvgToFontOptions>
По умолчанию настройки автоматически загружаются из .svgtofontrc
и package.json
. Вы можете добавить конфигурацию в package.json
. #48
Поддержка файлов конфигурации .svgtofontrc
и more.
Тип:
Boolean
Значение false
отключает ведение журнала.
Тип:
(msg) => void
функция обратного вызова журнала
Тип:
String
Значение по умолчанию:=>dist
fonts
Выходной каталог.
Тип:
Boolean
Значение по умолчанию:false
Вывод ./dist/react/
, SVG генерирует компоненты react
.
git/git.svg
// ↓↓↓↓↓↓↓↓↓↓
import React from 'react';
export const Git = props => (
<svg viewBox="0 0 20 20" {...props}><path d="M2.6 10.59L8.38 4.8l1.69 -." fillRule="evenodd" /></svg>
);
Тип:
Boolean
Значение по умолчанию:false
Вывод ./dist/svgtofont.json
, содержимое следующее:
{
"adobe": ["M14.868 3H23v19L14.868 3zM1 3h8.138L1 22V3zm.182 11.997H13.79l-1.551-3.82H8.447z...."],
"git": ["M2.6 10.59L8.38 4.8l1.69 1.7c-.24.85.15
*Примечание: данный ответ не является исчерпывающим переводом исходного текста.* ### Использование иконок
#### Поддержка стилей `.less` и `.css`
```html
<link rel="stylesheet" type="text/css" href="node_modules/fonts/svgtofont.css">
<i class="svgtofont-apple"></i>
Иконки используются в качестве компонентов. Поддерживаются версии v3.16.7+
.
import { Adobe, Alipay } from '@uiw/icons';
<Adobe style={{ fill: 'red' }} />
<Alipay height="36" />
В проекте, созданном с помощью create-react-app, можно использовать иконки следующим образом:
import logo from './logo.svg';
<img src={logo} />
import { ReactComponent as ComLogo } from './logo.svg';
<ComLogo />
В проекте, созданным с помощью webpack, необходимо выполнить следующие шаги:
yarn add babel-plugin-named-asset-import
yarn add @svgr/webpack
Затем добавить в файл webpack.config.js
:
// webpack.config.js
[
require.resolve('babel-plugin-named-asset-import'),
{
loaderMap: {
svg: {
ReactComponent: '@svgr/webpack?-svgo,+ref![path]',
},
},
},
],
После чего использовать иконки можно так же, как и в предыдущем примере.
Как всегда, спасибо нашим замечательным авторам!
Сделано с помощью contributors.
Лицензия MIT.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )