Как мне разработать веб-интерфейс для просмотра текстовых man-страниц? - PullRequest
0 голосов
/ 08 апреля 2009

Я хотел бы разработать веб-приложение, которое позволит мне сортировать, просматривать и отображать различные атрибуты (например, заголовок, тег, описание) для коллекции страниц руководства.

В частности, это файлы документации R в пакете R, в котором хранится набор наборов данных, который поддерживается несколькими людьми в репозитории SVN. Формат этих файлов - .Rd, который похож на LaTeX, но отличается.

R имеет функции для преобразования этих man-страниц в html или pdf, но я хотел бы иметь веб-интерфейс, который позволяет пользователям нажимать на определенное ключевое слово и выводить список (и краткие выдержки) для те страницы руководства, которые имеют это ключевое слово в теге \ keyword {}.

Кроме того, сгенерированный html несколько уродлив, и я хотел бы иметь возможность предоставить свой собственный CSS.

Один очевидный вариант - загрузить все метаданные, которые мне нужны, в базу данных, такую ​​как MySQL, и спроектировать мой сайт для выполнения запросов и получения соответствующих данных.

Я бы хотел избежать этого, чтобы минимизировать содержание будущих сопровождающих. Количество файлов невелико (<500), а объем данных невелик (всего несколько сотен строк на файл). </p>

В настоящее время у меня есть сценарий, который извлекает нужные метаданные из каждого файла в сводный JSON-файл, загружает этот файл summary.json в PHP, декодирует его и просматривает массив, ища те элементы, которые имеют атрибуты, которые соответствовать текущему запросу (например, все документы с ключевым словом1 и ключевым словом2).

Я начинал в этом направлении со следующего ...

$contents=file_get_contents("summary.json");
$c=json_decode($contents,true);
foreach ($c as $ind=>$val ) { .... etc

Другая идея состояла в том, чтобы написать скрипт, который конвертировал бы эти файлы .Rd в xml. В таком случае, существуют ли какие-либо облегченные фреймворки, облегчающие сортировку и поиск в небольшой коллекции XML-файлов?

Я не уверен, является ли xQuery излишним или если у меня есть время, чтобы покопаться в этом ...

Я думаю, что страдаю синдромом слишком большого количества вариантов со всеми искушениями AJAX. Любая помощь очень ценится.

Я ищу супер простое решение. Как некоторые из вас могут подойти к этому?

Ответы [ 2 ]

1 голос
/ 08 апреля 2009

Мой подход заключается в анализе ключевых слов (из вашего описания я предполагаю, что у них есть специальная запись, чтобы отличать их от обычных слов / текста) от файлов и сохранение этих данных в виде индекса поиска где-нибудь. Не обязательно быть MySQL, sqlite наверняка будет достаточно для вашего проекта. Тогда поиск будет очень простым.

Синтаксический анализ файлов может быть автоматизирован как post-commit-hook для вашего хранилища subversion.

0 голосов
/ 08 апреля 2009

Почему бы вам не создать таблицу SUMMARIES со столбцами для каждого из полей сводки? Затем вы можете индексировать это с помощью полнотекстового индекса, назначая различный вес каждому полю.

Вам не нужен MySQL, вы можете использовать SQLite со встроенной полнотекстовой индексацией Google (FTS3).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...