gleero / grunt-favicons

Generate favicon.ico and icons for iOS, Android and WP8
MIT License
232 stars 48 forks source link

HTMLPrefix: поддержка не экранируемых синтаксических инструкций #4

Closed dakiesse closed 10 years ago

dakiesse commented 10 years ago

Замечательно было бы, если была бы возможно не просто указать путь, а добавить, что-то свое из того или иного языка. Вот наприме есть потребность в выводе php константы, для чего используется <?= VAR_NAME ?>. К сожалению $.append при вставке экранирует символы "<", ">".

gleero commented 10 years ago

Спасибо за фидбек. Можно пример входных данных?

dakiesse commented 10 years ago

Грантовский таск:

    favicons: {
        options: {
            ...
            html: 'templates/favicons.php',
            HTMLPrefix: '<?= SITE_TEMPLATE_PATH; ?>/favicons/'
        },
        icons: {
            src: 'favicons/devFavicon.png',
            dest: 'favicons'
        }
    }

Результать html: 'templates/favicons.php':

&lt ;?= SITE_TEMPLATE_PATH; ?&gt ;/favicons/favicon.ico

(пробелы перед ";" специально поставил, иначе парсер markdown преобразует их в < > )

Желаемый результат:

<?= SITE_TEMPLATE_PATH; ?>/favicons/favicon.ico

gleero commented 10 years ago

Семантически библиотека cheerio правильно делает, что экранирует скобки, которые находятся внутри других скобок, так как она ожидает html или xml. Я сделал регулярку, возвращающую php-теги, при условии что расширение файла options.html будет .php.

6aKa commented 10 years ago

Не лучше ли вообще не экранировать, не все CMS в таком виде параметрами оперируют. Textpattern например вводит свои теги на подобии этих Ionize CMS например такие использует