Существуют ли инструменты для перевода какого-либо веб-сайта в шаблоны, используемые его структурой? - PullRequest
2 голосов
/ 13 февраля 2010
Например,

Rails имеет определенный набор шаблонов, которые он использует для определения идентификаторов и других атрибутов в html, например, <input id="project[task_attributes][]" .../> является результатом чего-то вроде <%= fields_for :task %>, вложенного в <%= form_for :project %>. Я уверен, что другие фреймворки делают то же самое.

Это означает, что если вы зашли на случайную веб-страницу и увидели эту структуру, с помощью некоторого волшебства регулярного выражения, вы можете преобразовать этот html обратно в его шаблон!

Кто-нибудь когда-нибудь пытался построить что-нибудь подобное? Как вы думаете, это даже возможно?

Обновление:

Меня лично интересуют только приложения Ruby on Rails (не только форма, как показано в примере выше, но и все на html-странице), но если бы это было возможно для всего, даже лучше.

После того, как вы сгенерировали файл шаблона HTML (файл ERB в Rails), вы могли бы вручную просмотреть его и выяснить модель и контроллер. Вам нужно, чтобы программа сравнила все сгенерированные файлы ERB, чтобы выяснить, как построить модель и контроллеры, что может быть еще более сложной задачей. Но это будет конечной целью

1 Ответ

1 голос
/ 13 февраля 2010

Возможно, но это «масштабная задача», по крайней мере, нескольких человеко-лет.

Дана HTML-страница с формами:

<form name=login>
    <input name=user></user>
    <input name=password></user>
</form>

<form name=add_comment>
    <input name=comment></user>
    <input name=your_id></user>
</form>

У вас есть код, который делает (psuedocode):

erb = ""
for each <form>
    for each <input>
        erb = erb + "<%=" + <input>.name + "%>"

Это не точный код, а psuedocode, как я уже сказал. В любом случае, вам нужно будет решить, как будет обрабатываться кнопка отправки для каждой формы. Вы хотите, чтобы это также автоматически генерировалось в контроллере Rails?

...