CMS с питанием от AWK - PullRequest
       9

CMS с питанием от AWK

4 голосов
/ 05 января 2012

Я долго прятался на этом форуме и нашел его наиболее полезным.Это мой первый вопрос, так что прости меня, если он не сформулирован правильно.Я ищу простой nawk-сервер (сервер не принадлежит мне, поэтому я не могу установить gawk, даже если бы захотел) CMS или набор сценариев shell / awk, чтобы помочь мне управлять своей растущей коллекцией чистых файлов XHTML 1.0 / CSSкоторые представляют мой личный сайт.Я пробовал TinyTim и Blis на моем персональном компьютере.Помимо непереносимости (извините, но Bash и gawk не являются стандартными инструментами Unix), я обнаружил, что они не полностью функциональны.Кто-нибудь может предложить какие-либо другие решения?У меня есть своя растущая коллекция быстрых сценариев, но мне нужно что-то более надежное.Я готов рассмотреть простое решение на основе Perl.Python был бы натяжкой, но мне действительно нравится язык, и я ежедневно использую его для научных вычислений, поэтому я хочу, по крайней мере, узнать об этом варианте.

Ответы [ 3 ]

4 голосов
/ 10 мая 2012

Я написал генератор статических сайтов, используя awk и sh, под названием Zodiac .Он поддерживает Markdown и обычный HTML, основной макет сайта, метаданные, написанные на POSIX awk и sh.Это может быть система управления контентом на основе awk, которую вы ищете.

3 голосов
/ 05 января 2012

интересный вопрос! Но это не традиционный ответ. У меня есть многочисленные комментарии, которые не вписываются в S.O. Формат комментария, поэтому, пожалуйста, простите это нарушение этикета.

Насколько мне нравится * awk, я вижу несколько препятствий.

1. Мне не известны никакие инструменты CMS, созданные с помощью nawk. У меня большой опыт работы с awk, и, как вы обнаружили, их несколько (TinyTim и Blis), но они основаны на bash / gawk и не так полнофункциональны, как вы. требуется.

Когда я отправился на судно awk (www.awk.info), у меня сложилось четкое впечатление, что сайт взломан. Я нашел Крошечную CMS в awk , но предположил, что это система на основе gawk. Эти два сайта имеют связанных авторов, поэтому я боюсь, что они тоже могут быть взломаны. Осторожно!

2. Похоже, вы думаете о традиционной системе на основе командной строки awk и сценариев оболочки. Если так, то мой ограниченный опыт работы с системами CMS заключался в том, что они основаны на графическом интерфейсе для создания контента и управления им, поэтому создатель страницы графического интерфейса пользователя, а затем оболочка графического интерфейса пользователя вокруг чего-то похожего на традиционную систему Unix-репозиторий / SCCS. Эксперты CMS могут перечислить различия.

Итак, почему бы не создать несколько сценариев-оболочек для CVS или аналогичных программ, которые позволят вам управлять своим хранилищем по мере необходимости?

3. Эффективность системы I: используя CVS в качестве заполнителя для стороны хранилища вашей системы CMS, подумайте, насколько велик этот исходный код, и что он написан на «C», что дает гораздо более тонкий доступ и контроль к подсистемам, связанным с владением файлами и проблемами безопасности (а также со многими другими), по сравнению с доступом к nawk или любой оболочке. (Скомпилированный C выполняется намного быстрее, конечно, но в наши дни процессоры 3Ghz + не являются обязательным требованием соблюдать код)

4. эффективность системы II: Вы говорите, что хотите хранить в основном файлы типа XHTML 1.0 / CSS. Это серьезное препятствие для вашего проекта: awk является языком на основе reg-ex и не может эффективно анализировать XML-подобные данные. Вы достаточно притаились здесь, чтобы прочитать парсинг xml в bash ИЛИ сложные преобразования

Конечно, пост, который я действительно искал, я не могу найти! Ищите фразы вроде «друзья не позволяют друзьям делать XML в sed / awk / bash»; -)!

5. Re TinyTim и Blis: пересмотрите свое возражение против gawk / bash: эти 2 превосходных языка - это супернаборы nawk и ksh (88). В зависимости от того, насколько мало / сильно скрипт использует специфические функции gawk / bash, для простоты вам может понадобиться только изменить 'she-bang' в верхней части файла на #! / Bin / nawk, #! / bin / ksh ИЛИ более реалистично, внесите это изменение, а затем перепишите некоторый код для nawk / ksh. В худшем случае код gawk и bash так сильно зависят от определенных «фирменных» функций, которые переписать действительно непрактично. Это стоит посмотреть.

Для завершения картины также см. gawkxml . Очевидно система gawk, но я сделал преобразование в nawk с некоторыми изменениями кода. Это сработало для моих нужд, но я не пытался исправить случай, когда самопроверкающийся код не работал; - (

EDIT

6. Наконец, посмотрите на ряд систем от оригинальных создателей awk в их классической книге «Язык программирования Awk», Глава 4 Отчеты и базы данных, «Система реляционных баз данных» И глава. 6, Маленькие языки. Там могут быть идеи для вас (однако, предварительно не запеченная CMS; -).


Итак, учитывая, что и perl, и python имеют встроенную в импортированные модули хорошую обработку XML, я думаю, вам нужно серьезно рассмотреть их, ИЛИ установить что-то вроде xmlstarlet (по ссылкам SO выше) и написать свою оболочку. системные оболочки для работы с ней.

Надеюсь, это поможет.

2 голосов
/ 05 января 2012

Попробуйте Jekyll:

http://jekyllrb.com/

Вы просто пишете текстовые файлы, используя простой, интуитивно понятный синтаксис.Затем, когда вы запускаете Jekyll, он генерирует целую папку, полную простых HTML-файлов, готовых к загрузке.

Код может быть расширен с помощью плагинов Ruby, которые добавляют дополнительную функциональность.

Он поддерживается на Страницы GitHub : если вы загрузите репозиторий, полный файлов Markdown, GitHub автоматически запустит Jekyll и разместит его на вашем личном поддомене.

Также есть Hyde , которыйнаписан на Python, но я не пробовал.

Поиск в Google по запросу "генератор статических сайтов" даст миллионы результатов.Попробуйте несколько и выберите то, что вам нравится!

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