Это исходный код, отвечающий за работу сайта http://nodeguide.ru.
Внутри работают два фреймворка:
- sphinx.pocoo.org (обертка над reStructuredText)
- express (веб фреймворк для node.js)
Первый отвечает за трансляцию исходных текстов из *.rst в *.json. Второй — за отображение json в HMTML.
Для того, чтобы заставить работать этот код на локальной машине необходимо выполнить описанные ниже манипуляции. Все действия рассчитаны на то, что будут выполняться в ОС типа Ubuntu/Debian.
Чтобы не засорять систему пакетами, которые, возможно больше нигде и не понадобятся, а так же для случаев, если нет прав root, вся установка будет выполняться в изолированных виртуальных окружениях (отдельно для python, отдельно для node.js).
Чтобы иметь возможность собрать node.js необходимо установить следующие пакеты:
$ sudo aptitude install build-essential libssl-dev
Чтобы иметь возможность создавать изолированные окружения, необходимо установить следующие пакеты:
$ sudo aptitude install curl python-virtualenv
Создаем виртуальное окружение для python и активируем его:
$ virtualenv --no-site-packages .py-env $ source .py-env/bin/activate
Устанавливаем пакеты в python-окружении. sphinx — для генерации *.json, nodeenv — для создания виртуального окружения для node.js:
(.py-env) $ pip install nodeenv sphinx
Создаем виртуальное окружение для node.js, попутно устанавливая все необходимые пакеты для node.js, и активируем новое окружение:
(.py-env) $ nodeenv --requirement=install-req.txt --node=0.4.12 --npm=1.0.106 .node-env (.py-env) $ source .node-env/bin/activate
Генерируем *.json и запускаем сайт на http://127.0.0.1:3000:
(.node-env)(.py-env) $ make json && make dev