Posso adicionar o tipo de arquivo Twig ao Linux?

3

Eu geralmente dou aos arquivos Twig uma extensão "twig". Pelo que entendi, esses arquivos Twig são geralmente reconhecidos como arquivos HTML como o Linux usando algum tipo de algoritmo de varredura. Portanto, o Nemo, por exemplo, representa esses arquivos com um ícone da web e clicar em propriedades mostra o tipo de arquivo como "Texto (texto / html)". No entanto, às vezes, quando não há HTML real próximo ao topo do arquivo, o Linux reconhece o arquivo como texto simples. Em tais arquivos, tentei adicionar um comentário em HTML como a primeira linha:

<!-- Twig file -->

O que funciona bem para arquivos de macro Twig, mas não para modelos regulares, pois isso causa um erro:

Fatal error: Uncaught exception 'Twig_Error_Syntax' with message 'A 
template that extends another one cannot have a body in "std.twig" at line 
1.' in /var/www/html/vendor/twig/twig/lib/Twig/Parser.php:379 Stack trace:
...

Eu sei que é possível colocar uma extensão "html" após a extensão "twig", então o nome completo do arquivo é por exemplo:

foo.twig.html

Mas isso é complicado.

Então eu queria saber se ao invés disso é possível dar ao Linux (Mint no meu caso) um novo tipo de arquivo, e talvez ter um ícone diferente no Nemo dos ícones de texto ou HTML?

    
por tyebillion 26.08.2016 / 01:19

1 resposta

2

Crie um tipo mime personalizado, por ex. text/x-twig (e - opcionalmente - use um ícone personalizado 1 para esse tipo particular de mime) por meio de um novo arquivo xml de origem :

~/.local/share/mime/packages/text-x-twig.xml

com o seguinte conteúdo:

<?xml version="1.0"?>
 <mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
  <mime-type type="text/x-twig">
    <comment>twig files</comment>
    <glob pattern="*.twig"/>
    <icon name="text-x-twig"/>
  </mime-type>
 </mime-info>

atualize seu banco de dados mime

update-mime-database ~/.local/share/mime

1: Lembre-se de que o "nome do ícone" deve coincidir com o (s) nome (s) do ícone real sem a extensão do seu tema de ícones; o local padrão para os ícones de tipo mime é /path/to/your/icon/theme/${SIZE}/mimetypes (onde os tamanhos são, por exemplo, 16x16 , 24x24 etc. Portanto, para cada tamanho, você deve ter um ícone correspondente, a não ser que use um ícone svg para todos os tamanhos)

    
por 24.04.2017 / 22:08