Nikola е готова система, написана на Python, за създаване на статични блог/уеб сайтове.
Тази инструкция за инсталация на Nikola ползва виртуален сървър с CentOS 6.x (с темплейт „Препоръчано от СуперХостинг.БГ“).
Преди инсталацията на Nikola проверете дали версията на Python на сървъра е 2.7 или по-нова.
След като сте достъпили виртуалния сървър през SSH, за да проверите версията на Python ползвайте командата:
python -V
В случай че на сървъра не разполагате с Python версия 2.7, 3.3 или 3.4, може да инсталирате по-нова версия. Също така ще имате нужда и от допълнителните пакети pip и virtualenv, които можете да инсталирате по същата помощна статия.
Инсталирайте и тези необходими системни пакети:
yum install libxslt-devel libxml2-devel zlib-devel
Инсталиране на Nikola
Докато се намирате във виртуалната среда, създадена малко по-рано с virtualenv, за да инсталирате Nikola използвайте командата:
pip install nikola[extras,tests]
За да започнете с Nikola стартирайте създаването на демо сайт с командата:
nikola init –demo sitename
В директорията, в която се намирате в момента, ще се създаде поддиректория /sitename. Всички команди за Nikola ще трябва да се изпълняват докато се намирате в тази поддиректория (sitename).
Ще последват няколко въпроса, на които можете да предоставите повече информация за сайта.
След това, за да се генерират HTML файловете за уеб сайта, използвате командата:
nikola build
Всички готови HTML файлове ще се намират в директория /sitename/output.
След като генерирането завърши можете да заредите уеб сайта в уеб браузър. Ако нямате насочен и настроен домейн към VPS-а можете да опитате да достъпите сайта през IP адреса на виртуалния сървър.
Работа с Nikola
След като има вече създаден уеб сайт, всички статии и страници, в работния им вариант (.txt, .rst), ще се намират в директории:
статии: /sitename/posts
страници: /sitename/stories
Готовите HTML файлове ще се генерират в директория output:
готовия уеб сайт: /sitename/output
статии: /sitename/output/posts
страници: /sitename/output/stories
Създаване на нова статия
За да създадете нова статия ползвате:
nikola new_post
След като изпълните тази команда, Nikola ще ви попита за името на новата статия и ще ви покаже къде се намира работния й текстов файл.
Създаване на нова страница
nikola new_post -p
Стандартно страниците не се включват в RSS новините и не се показват на началната страница на уеб сайта. За да свържете новата страница, като линк в сайта, ще трябва да я добавите в конфигурационния файл conf.py, в секция „NAVIGATION_LINKS“.
При създаване на статия или страница можете да изберете в какъв формат ще бъде съдържанието на текстовия файл, например:
nikola new_post -p -f wiki
В този случай, съдържанието на текстовия файл трябва да е написано на лекия маркиращ език wiki, който се ползва в Wikipedia. Други езици, от които можете да избирате са: rest, markdown, bbcode, html, textile и
txt2tags. За поддръжката на някои от тези езици ще се наложи да се инсталира допълнителен плъгин към Nikola.
Редактиране на статия/страница
Редактирането на съдържание в сайта се извършва в работните файлове, намиращи се в директориите /sitename/posts и /sitename/stories.
Съдържанието на статиите и страниците може да се създаде и редактира на един от маркиращите езици reStructuredText, Markdown или друг.
След като редактирате даден работен файл, за да се прегенерира съответстващия му .html файл, изпълнявате командата:
nikola build
С тази команда се сканира целия уеб проект и се прегенерира само това съдържание, което е било променено или има отношение към промяната. Ако сте променили файла myfirstpost.txt, тогава ще се прегенерира файла myfirstpost.html.
Тази команда се ползва и след като сте извършили промени по конфигурационния файл на Nikola – /sitename/conf.py.
Към Nikola има създадени и теми, които можете да инсталирате.
Подробно ръководство за работа с Nikola можете да намерите на сайта на разработчика: The Nikola Handbook.
Готовите уеб сайтове, генерирани с Nikola, могат да работят и в хостинг акаунт на споделен хостинг.
Само е необходимо да качите съдържанието на директорията с уеб сайта (output), в директория в хостинг акаунта.