Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

Если есть воробей, то для чего необходима пушка. Статические сайты. Обратите внимание на генератор Nikola и на поиск без динамики на серверной

Anna | 16.06.2014 | нет комментариев

Вступление

К спецтехнологиям, на базе которых работают сайты, достаточно Зачастую применимо определение «из пушки да по воробьям». Ну вот скажите, пожалуйста, для чего подавляющему большинству сайтов-визиток фирм (а таких ой как много), обновляемых раз в год и не предоставляющими никакой обратной связи с посетителями, беречь свои 15 страничек в базе данных?

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

Больше того, как оказалось, народ усиленно думает в сторону статических сайтов и существует готовые инструменты для подключения к таким сайтам динамических компонент, реализуемых третьими сервисами, разумеется посредством AJAX — это и комментирование и поиск и пр…

И пишут на эту тему много. Вот, к примеру, дозволено почитать:

http://habrahabr.ru/post/93499/
http://habrahabr.ru/post/142287/
http://habrahabr.ru/post/160431/
http://lifehacker.ru/2012/01/12/blogs-at-dropbox/

Впрочем, как и другое множество статей в Сети, в основном муссируется одна-две мысли и одни и те же программы и сервисы упоминаются. И увлекательные технологии/софт, не попавшие в мейнстримовый поток, обнаружить сложновато.

Это малое вступление на «стремительно-стремительно испробовать» развитый генератор статических сайтов Nikola, немного описанный в РуНете.

Всеобщая идея

Для тех, кто не сталкивался с модными ныне генераторами статических сайтов, рассказываю всеобщий правило работы с множеством таких генераторов:

1. Первоначально автор сайта размещает грядущие публикации (статьи, посты) в определенных каталогах в обыкновенных текстовых файлах.
2. Образцы страниц сайта — лежат отдельно.
3. В отдельных текстовых файлах либо внутри самих файлов публикаций размещаются добавочные «метаданные», скажем, категоризация (тегирование) публикаций и т.п.
4. Запускается программа-генератор, которая из каждого этого создает комплект html-ек, css-ек и, изредка, js-ек.
5. Запускаются добавочные средства автоматизации, которые публикуют полученный сайт. Ну либо вручную.

Таким образом, в различие от всецело статического сайта в html, тот, что дюже неудобно править, автор сайта имеет дело с заготовками, комфортными в работе — тексты отдельно и образцы отдельно.

Для полного счастия разработчиков сайтов, сходственных «сайтам-визиткам», ко каждому этому дозволено добавить простенький он-лайн редактор файлов из пункта 1 и 3, исполняющего функции панели управления CMS для финального клиента. Вот здесь мои искания в интернете не дюже плодотворны. Кто знает сходственные он-лайн редакторы начальных файлов данных (публикаций, статей, постов) для генераторов статических сайтов — накидайте инфу в комментах, пожалуйста.

Nikola и Tipue

Разнообразие генераторов статических сайтов несколько мейнстримовое: самые знаменитые своей популярностью сместили фокус интереса пользователей с достаточно увлекательных малораскрученных. Хочу обратить внимание читателей РуНета на генератор Nikola. Достаточно развитое программное обеспечение, расширяемое, отлично документированное. Развитое средство — с вероятностью подключения плугинов. Реализован на Python.

Одна из самых увлекательных особенностей генератора Nikola — знание создавать странички с механизмом поиска без движка на серверной стороне — поиск реализован в браузере. Реализуется AJAX’ом средствамиTipue

На этом для опытных, не ленивых и знающих английский на базовом ярусе айтишников дозволено и закончить изложение. Ссылки даны — сами разберетесь. Все ниже описанное легко находится в документации Nikola. Ну а если ленитесь читать оригинал, то, как испробовать, описано ниже.

Как испробовать

Внимание! Все ниже приведенное проверялось с Python 2.7, не Python 3.

Устанавливаем программное обеспечение с поддержкой администратора пакетов Python. Я использую pip. Наверно дозволено и через easy_install:

pip install nikola 

Если это делать под *nix, то те зависимости, которые требуют компиляции, скорее каждого, будут скомпилированы типично. Ну а под Windows, так как немного кто ставит и настраивает нужное для компиляции некоторых растяжений ПО, скорее каждого, будет ругань вида:

running build_ext building 'PIL._imaging' extension error: Unable to find vcvarsall.bat 

Такие зависимости проще установить в бинарном виде, взяв версию соответствующую 32/64-битную и соответствующую вашей версии Python, с сайтов:

http://effbot.org/downloads/
http://www.lfd.uci.edu/~gohlke/pythonlibs/

Алгорифм для ленивых таков — запустили установку через «pip install …», почитали на чем споткнулось, установили из бинарников то, на чем споткнулись, запустили установку через «pip install …» еще раз и так дальше.

Позже того как генератор Nikola с зависимости был установлен с его поддержкой создаем заготовку с демонстрационными данными:

nikola init --demo mysite 

Позже чего в каталоге «mysite» дозволено будет править текстовые файлы, из которых отдельной командой позднее будет сделан наш сайт.

Про подключение к статическому сайту комментирования внешними сервисами описывать не буду — этим только ленивый не занимался в РуНете. А вот подключение к статическому сайту поиска средствами AJAX без применения каких-либо внешних сервисов либо какого-либо движка на своем сервере — это, на мой взор, встречается пока что редко, потому больше увлекательно.

Включим поиск по спецтехнологии AJAX. Для этого необходимо в файле «conf.py», расположенном в корне каталога «mysite», обнаружить и раскомментировать строки (легко находятся по первому вступлению слова «Tipue» внутри файла «conf.py»):

SEARCH_FORM = """
 <span>
 <input type="text" id="tipue_search_input">
 </span>"""

BODY_END = """
 <script type="text/javascript" src="/assets/js/tipuesearch_set.js"></script>
 <script type="text/javascript" src="/assets/js/tipuesearch.js"></script>
 <script type="text/javascript">
 $(document).ready(function() {
    $('#tipue_search_input').tipuesearch({
        'mode': 'json',
        'contentLocation': '/assets/js/tipuesearch_content.json',
        'showUrl': false
    });
 });
 </script>
 """

EXTRA_HEAD_DATA = """
 <link rel="stylesheet" type="text/css" href="/assets/css/tipuesearch.css">
 <div id="tipue_search_content" style="margin-left: auto; margin-right: auto; padding: 20px;"></div>
 """
ENABLED_EXTRAS = ['local_search']

После этого генерируем сайт, запустив Nikola так, Дабы каталог «mysite» был бы нынешним (то есть изнутри каталога «mysite»):

nikola build 

В подкаталоге «output» видим наш статический сайт.
Дабы типично работал поиск по спецтехнологии AJAX нужно просматривать сайт через веб-сервер. Для тестирования дозволено воспользоваться самим генератором Nikola как веб-сервером:

nikola serve 

Позже чего сайт будет доступен по адресу http://127.0.0.1:8000

Формат начальных данных

Отдельного упоминания стоит формат начальных текстовых файлов. Он пишется с применением облегченного языка разметки ReStructuredText. Добавочная информация (метаданные) по публикации (статье, посте) помещаются прямо в текст:

.. title: Welcome to Nikola
.. slug: welcome-to-nikola
.. date: 2012/03/30 23:00
.. tags: nikola, python, demo, blog
.. link: http://getnikola.com
.. description:

.. figure:: http://farm1.staticflickr.com/138/352972944_4f9d568680.jpg
   :target: http://farm1.staticflickr.com/138/352972944_4f9d568680_z.jpg?zz=1
   :class: thumbnail
   :alt: Nikola Tesla Corner by nicwest, on Flickr

If you can see this in a web browser, it means you have managed to install Nikola,
and build a site using it. Congratulations!

* You can read the manual `here </stories/handbook.html>`__
* You can learn more about Nikola at http://getnikola.com
* You can see a demo photo gallery `here </galleries/demo/index.html>`__
* Demo usage of listings `here </stories/listings-demo.html>`__
* Demo of slideshows `here </stories/slides-demo.html>`__
* Demo of Bootstrap `here </stories/bootstrap-demo.html>`__

Send feedback to ralsina@netmanagers.com.ar!

Помимо «ReStructuredText» может быть использована разметка с применением «bbcode», «wiki», «markdown», «html», «txt2tags» и «textile».

Генератор статических сайтов Nikola — развитая и отлично документированная система

В генераторе Nikola предусмотрено подключение мультимедиа из Vimeo, Youtube, пр…
Предусмотрены тизеры и черновики.
Предусмотрена галерея изображений.
Предусмотрено метаморфоза внешнего вида (темы), созданию которых на официальном сайте посвящено достаточно много документации, есть десяток готовых тем.
Предусмотрено написание подключаемых модулей для растяжения функциональности (plugins).

За отлично написанную и подробную документацию отдельное спасибо разработчику — Roberto Alsina.

Источник: programmingmaster.ru
Оставить комментарий
Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2017 © BB3x.ru - русская поддержка форума phpBB