O pacote foi estendido de Grunt-Webfont e adaptado ao Magento 2 com o menos pré-processador:
https://www.npmjs.com/package/grunt-webfont
ttfautohint é opcional, mas sua fonte gerada não será sugerida corretamente se não estiver instalada. E certifique -se de não usar ttfautohint 0,97 porque essa versão não funcionará. ttf2woff2.js:3 Invalid asm.js: Invalid member of stdlib
fontforge não é necessário para o motor node .https://github.com/nvmh/nvm/blob/master/readme.md
brew unlink node
brew install node@12
brew link --overwrite --dry-run node@12
echo 'export PATH="/usr/local/opt/node@12/bin:$PATH"' >> ~/.zshrc
npm install grunt-m2webfont --save-dev
// or
yarn add grunt-m2webfont
brew install ttfautohint fontforge --with-python
sudo apt-get install fontforge ttfautohint
Instale ttfautohint (opcional).
Em seguida, instale fontforge .
C:Program Files (x86)FontForgeBuildsbin à sua variável de ambiente PATH . Adicione todos os ícones SVG à web/images/icons/font da pasta de um tema criado.
Exemplo:
app/design/frontend/{vendor}/{theme}/web/images/icons/font/*.svg
O módulo grunt-m2webfont será executado para todos os temas que adicionaram
dev/tools/grunt/configs/themes.js
ou
dev/tools/grunt/configs/local-themes.js
Se o arquivo local-themes.js foi adicionado a um conteúdo do arquivo grunt-config.json na pasta raiz de um projeto.
Basta executar o comando em um terminal:
grunt m2webfont
Depois de importar e construir estilos, você pode usar as classes Mixins ou HTML dos Styles para adicionar um ícone.
Substitua o fragmento {nome} pelo nome de um ícone.
Exemplo: @od-icon-arrow-down
O mixin .od-icon(@od-icon-{name}) adicionará propriedades como: conteúdo e família de fontes
.class::before {
.od-icon(@od-icon-{name});
}
<i class="od-icon od-icon-{name}"></i>
O mecanismo padrão para construir uma fonte é o nó no arquivo de configuração do Grunt para salvar as dependências mínimas. Mas os ícones gerados podem ser quebrados. Para corrigir esse problema, você precisa alterar o mecanismo do node para fontforge na configuração.
Só para comentar a linha no arquivo dev/tools/grunt/configs/m2webfont.js :
const options = {
...
// engine: 'node',
}
Se você não definir o mecanismo como opções, ele terá um mecanismo de valor padrão: 'fontforge' .
Mas para usar o FontForge, você precisa instalar o mecanismo no seu sistema operacional.
Veja as instruções acima ( instalação ).
Apenas reconstrua os ícones após a instalação.
Downgrade sua versão do nó para 12.
Veja as instruções acima ( importantes ).