Se você procurar na página de manual por tidy
, verá um comentário que diz o seguinte:
Name of the default configuration file. This should be an absolute path, since you will probably invoke tidy from different directories. The value of
HTML_TIDY
will be parsed after the compiled-in default (defined with-DTIDY_CONFIG_FILE
), but before any of the files specified using-config
.
Portanto, parece que tidy
tem uma opção de tempo de compilação, onde pode ser difícil codificar para procurar por arquivos de configuração específicos, como você está tentando fazer.
Analisando algumas das documentações on-line da Raggett do tidy
, deparei-me com esta sinopse:
Alternatively, you can name the default config file via the environment variable named "HTML_TIDY". Note this should be the absolute path since you are likely to want to run Tidy in different directories. You can also set a config file at compile time by defining CONFIG_FILE as the path string, see
platform.h
.
Então, depois de baixar a fonte para tidy
e olhar dentro do arquivo platform.h
, encontrei as seguintes linhas:
/* #define TIDY_CONFIG_FILE "/etc/tidy_config.txt" */ /* original */
/* #define TIDY_CONFIG_FILE "/etc/tidyrc" */
/* #define TIDY_CONFIG_FILE "/etc/tidy.conf" */
/*
Uncomment the following #define if you are on a system
supporting the HOME environment variable.
It enables tidy to find config files named ~/.tidyrc if
the HTML_TIDY environment variable is not set.
*/
/* #define TIDY_USER_CONFIG_FILE "~/.tidyrc" */
Se você conhece C / C ++, todas essas linhas estão comentadas, então, com efeito, o tidy
que eu tenho tem todas as opções para fazer uso de um arquivo de configuração desabilitado. Eu também verifiquei duas vezes o pacote que foi criado para o meu sistema Fedora 14 para ter certeza de que o arquivo de pacote no qual o pacote foi construído ( tidy.spec
) não tinha nenhum comando configure
que substituiria as configurações acima na% código%. Eu não encontrei tais substituições.
Portanto, parece que o arquivo platform.h
não tem a capacidade de procurar um arquivo de configuração de qualquer tipo.
Então, quais são suas opções?
Bem, você ainda pode fornecer tidy
do arquivo de configuração como parte da linha de comando:
$ ... | tidy -config ~/.tidyrc > foo.xml
Além disso, você pode usar outro recurso de tidy
que pode ter passado despercebido acima, sua capacidade de usar uma variável de ambiente tidy
. Ele precisa ser um caminho absoluto, então você não pode usar "~ / .tidyrc", mas você pode fazer isso:
$ export HTML_TIDY="$ HOME / .tidyrc" $ cat -v foo.out | arrumado > foo.xml
Se você quiser tornar essa variável permanente, basta adicioná-la ao seu arquivo HTML_TIDY
:
export HTML_TIDY="$HOME/.tidyrc"