Полный список опций конфигурации
Список опций, доступный при запуске PHP из командной строки, может быть получен в любой момент путем запуска PHP с ключом -h :
Опция | Полное название | Описание | -a | —interactive | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
-b | —bindpath | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-q | —no-header | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-n | —no-php-ini | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-e | —profile-info | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-h и -? | —help и —usage | Эта опция выдает список актуальных опций вместе с несколькими однострочными описаниями. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-i | —info | Использование этой опции приводит к вызову функции phpinfo() и выводу результирующей информации. В случае, если PHP работает некорректно, будет весьма логично выполнить php -i и посмотреть, выводятся ли сообщения об ошибке до информационных таблиц или даже вместо них. Учтите, что в случае использования CGI -модуля весь вывод будет в формате HTML и, как следствие, довольно большим. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-l | —syntax-check |
Эта опция предоставляет удобный способ для проверки заданного PHP-кода на наличие синтаксических ошибок. В случае успешной проверки будет напечатана следующая фраза: «No syntax errors detected in «, — и код возврата будет равен . А в случае неудачи — текст «Errors parsing » вместе с внутренними сообщениями парсера и код возврата будет равен 255. Проверка исходного кода при помощи данной опции не находит фатальных ошибок (например, таких как вызов неопределенных функций). Используйте опцию -f , если вы хотите проверить код на наличие фатальных ошибок. Эта опция несовместима с опцией -r . Пример #1 Вывод встроенных (и загружаемых) PHP и Zend модулей Эта опция позволяет выполнять PHP-код, указанный непосредственно в командной строке. Открывающие и закрывающие PHP-теги ( ) не нужны и, более того, приводят к синтаксической ошибке. При использовании этого ключа следует быть очень осторожным и избегать недоразумений, связанных с автоматической подстановкой переменных окружения. Пример #2 Ошибка синтаксиса при использовании двойных кавычек Проблема заключается в том, что sh/bash выполняет автоматическую подстановку переменных в случае, если используются двойные кавычки («). Поскольку переменная $foo вряд ли определена, она заменяется пустой строкой, так что передаваемый PHP-код для выполнения выглядит следующим образом: Правильным решением в данном случае будет использование одиночных кавычек ‘, поскольку автоматическая подстановка переменных, заключенных в одиночные кавычки, в sh/bash не происходит. Пример #3 Использование одинарных кавычек для предотвращения подстановки переменных в консоли Если вы используете оболочку, отличную от sh/bash, у вас могут возникнуть другие вопросы. В таком случае создайте отчет о возникшей ошибке на сайте » http://bugs.php.net/. Вы вполне можете столкнуться с проблемами при попытке получить доступ к переменным оболочки или при работе с экранирующими обратными слэшами. Мы вас предупредили. Эта опция предназначена только для самых базовых вещей. Поэтому некоторые конфигурационные директивы (например, auto_prepend_file и auto_append_file) в этом режиме будут проигнорированы. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-B | —process-begin |
Выполняемый PHP-код до обработки потока ввода (stdin). Добавлена в PHP 5. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-R | —process-code | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-F | —process-file | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-E | —process-end | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-s | —syntax-highlight и —syntax-highlighting | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-z | —zend-extension |
Загружает Zend-расширение. Если передано только имя файла, PHP попытается загрузить это расширение из вашего системного пути поиска библиотек по умолчанию (обычно он указывается в /etc/ld.so.conf в Linux системах). Передача файла с абсолютным путем не будет использовать данный системный путь поиска. Относительное имя файла, содержащее директорию, укажет PHP подгрузить расширение относительно текущей директории. Показывает имена конфигурационных файлов и сканируемые директории. Доступна, начиная с версии PHP 5.2.3. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
—rf | —rfunction | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
—re | —rextension | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
—ri | —rextinfo |
Опция | Описание | Примечание |
---|---|---|
-buildkey | Собрать библиотеку Qt и подключаемые модули используя заданный ключ | |
Когда библиотека загружает подключаемые модули, она будет загружать только те, которые содержат соответствующий ключ . | ||
-release | Скомпилировать и слинковать Qt с отключённой отладкой. | |
-debug | Скомпилировать и слинковать Qt с включённой отладкой. | Значение по умолчанию. |
-debug-and-release | Компилировать и линковать две библиотеки Qt — с включённой и выключенной отладкой. | Эта опция отмечена в качестве значения по умолчанию и её необходимо оценить. Если оценка положительная, функция включена. |
-opensource | Скомпилировать и слинковать редакцию Qt с открытыми исходными кодами. | |
-commercial | Скомпилировать и слинковать коммерческую редакцию Qt. | |
-developer-build | Компилировать и линковать Qt вместе с опциями разработчика Qt включая экспортирование автотестов) | |
-shared | Создать и использовать разделяемые библиотеки Qt. | Значение по умолчанию. |
-static | Создать и использовать статические библиотеки Qt. | |
-ltcg | Использовать Link Time Code Generation. | Применимо только к сборке релизов. |
-no-ltcg | Не использовать Link Time Code Generation. | Значение по умолчанию. |
-no-fast | Обычная конфигурация Qt путём создания Make-файлов для всех проектных файлов. | Значение по умолчанию. |
-fast | Быстрая конфигурация Qt путём создания Make-файлов только для библиотек и целевых подкаталогов. | Все остальные Make-файлы создаются как оболочки, которые запустят qmake. |
-no-exceptions | Отключить исключения на платформах, поддерживающих их. | |
-exceptions | Разрешить исключения на платформах, поддерживающих их. | Значение по умолчанию. |
-no-accessibility | Не компилировать поддержку Windows Active Accessibility. | |
-accessibility | Компилировать поддержку Windows Active Accessibility. | Значение по умолчанию. |
-no-stl | Не компилировать поддержку STL. | |
-stl | Компилировать поддержку STL. | Значение по умолчанию. |
-no-sql- | Отключить SQL полностью, по умолчанию опция не включена. | |
-qt-sql- | Включить SQL в библиотеке Qt. | |
-plugin-sql- | Включить SQL в качестве подключаемого модуля с тем, чтобы он был слинкован во время выполнения. | Доступные значения : mysql, psql, oci, odbc, tds, db2, sqlite, sqlite2, ibase. Драйвера, помеченные значком ‘+’, были обнаружены во время конфигурирования как доступные на этой системе. |
-system-sqlite | Использовать sqlite из операционной системы. | |
-no-qt3support | Отключить функциональность поддержки Qt 3. | |
-no-opengl | Отключить функциональность OpenGL | |
-opengl | Включить поддержку OpenGL с заданной версией API. | Доступные значения : desktop - Включить поддержку Desktop OpenGL (по умолчанию), es1 - Включить поддержку OpenGL ES Common Profile, es2 - Включить поддержку OpenGL ES 2.0. |
-no-openvg | Отключить функциональность OpenVG | Значение по умолчанию. |
-openvg | Включить функциональность OpenVG | Требуется поддержка EGL, обычно предоставляемая OpenGL или другими графическими реализациями. |
-platform | Операционная система и компилятор с которыми делается сборка. | По умолчанию значение равно %QMAKESPEC%. |
-xplatform | Операционная система и компилятор на которые делается кросс-компиляция. | Список поддерживаемых операционных систем и компиляторов смотрите в файле README. |
-qtnamespace | Обернуть код всех библиотек Qt в 'namespace name | |
-qtlibinfix | Переименовать все библиотеки Qt* в Qt* | |
-D | Добавить явно заданное определение в препроцессор. | |
-I | Добавить явно заданный путь к заголовочному файлу. | |
-L | Добавить явно заданный путь к библиотеке. | |
-l | Добавить явно заданное имя библиотеки, находящейся в путях к библиотекам. | |
-graphicssystem | Задаётся, какую графическая система будем использовать. | Доступные значения для : * raster - Программная растеризация, opengl - Использование ускорения OpenGL, экспериментально!, openvg - Использование ускорения OpenVG, экспериментально! |
-help, -h, -? | Вывести на экран эту информацию. |
Сторонние библиотеки
Опция | Описание | Примечание |
---|---|---|
-qt-zlib | Использовать zlib из поставки Qt. | |
-system-zlib | Использовать zlib из операционной системы. | Смотрите http://www.gzip.org/zlib |
-no-gif | Не компилировать поддержку чтения GIF. | Эта опция отмечена в качестве значения по умолчанию и её необходимо оценить. Если оценка положительная, функция включена. |
-no-libpng | Не компилировать поддержку PNG. | |
-qt-libpng | Использовать libpng из поставки Qt. | Эта опция отмечена в качестве значения по умолчанию и её необходимо оценить. Если оценка положительная, функция включена. |
-system-libpng | Использовать libpng из операционной системы. | Смотрите http://www.libpng.org/pub/png |
-no-libmng | Не компилировать поддержку MNG. | Эта опция отмечена в качестве значения по умолчанию и её необходимо оценить. Если оценка положительная, функция включена. |
-qt-libmng | Использовать libmng из поставки Qt. | |
-system-libmng | Использовать libmng из операционной системы. | Смотрите http://www.libmng.com |
-no-libtiff | Не компилировать поддержку TIFF. | Эта опция отмечена в качестве значения по умолчанию и её необходимо оценить. Если оценка положительная, функция включена. |
-qt-libtiff | Использовать libtiff из поставки Qt. | |
-system-libtiff | Использовать libtiff из операционной системы. | Смотрите http://www.libtiff.org |
-no-libjpeg | Не компилировать поддержку JPEG. | Эта опция отмечена в качестве значения по умолчанию и её необходимо оценить. Если оценка положительная, функция включена. |
-qt-libjpeg | Использовать libjpeg из поставки Qt. | |
-system-libjpeg | Использовать libjpeg из операционной системы. | Смотрите http://www.ijg.org. Эта опция отмечена в качестве значения по умолчанию и её необходимо оценить. Если оценка положительная, функция включена. |
Только Qt для Windows:
Опция | Описание | Примечание |
---|---|---|
-no-dsp | Не генерировать файлы VC++ .dsp. | |
-dsp | Генерировать файлы .dsp VC++, только если указано "win32-msvc". | Значение по умолчанию. |
-no-vcproj | Не генерировать файлы VC++ .vcproj. | |
-vcproj | Генерировать файлы .vcproj VC++, только если платформа "win32-msvc.net". | Значение по умолчанию. |
-no-incredibuild-xge | Не добавлять команды распространения IncrediBuild XGE для шагов пользовательской сборки. | |
-incredibuild-xge | Добавить команды распространения IncrediBuild XGE для шагов пользовательской сборки. Это будет распространять шаги MOC и UIC, а также другие шаги пользовательской сборки, которые добавлены в переменную INCREDIBUILD_XGE. | Команды распространения IncrediBuild добавляются только в проекты Visual Studio. Эта опция отмечена в качестве значения по умолчанию и её необходимо оценить. Если оценка положительная, функция включена. |
-no-plugin-manifests | Не встраивать манифесты в подключаемые модули. | |
-plugin-manifests | Встраивать манифесты в подключаемые модули. | Значение по умолчанию. |
-no-qmake | Не компилировать qmake. | |
-qmake | Компилировать qmake. | Значение по умолчанию |
-dont-process | Не генерировать Make-файлы/файлы проекта. Эта опция отменяется опцией -no-fast, если она указана. | |
-process | Генерировать Make-файлы/файлы проекта. | Значение по умолчанию. |
-no-rtti | Не компилировать информацию о типах в процессе выполнения. | |
-rtti | Компилировать информацию о типах в процессе выполнения. | Значение по умолчанию. |
-no-mmx | Не компилировать с использованием инструкций MMX | |
-mmx | Компилировать с использованием инструкций MMX | Эта опция отмечена в качестве значения по умолчанию и её необходимо оценить. Если оценка положительная, функция включена. |
-no-3dnow | Компилировать без использования инструкций 3DNOW | |
-3dnow | Компилировать с использованием инструкций 3DNOW | Эта опция отмечена в качестве значения по умолчанию и её необходимо оценить. Если оценка положительная, функция включена. |
-no-sse | Не компилировать с использованием инструкций SSE | |
-sse | Компилировать с использованием инструкций SSE | Эта опция отмечена в качестве значения по умолчанию и её необходимо оценить. Если оценка положительная, функция включена. |
-no-sse2 | Не компилировать с использованием инструкций SSE2 | |
-sse2 | Компилировать с использованием инструкций SSE2 | Эта опция отмечена в качестве значения по умолчанию и её необходимо оценить. Если оценка положительная, функция включена. |
-no-openssl | Не компилировать с поддержкой OpenSSL | |
-openssl | Компилировать поддержку времени выполнения OpenSSL | Эта опция отмечена в качестве значения по умолчанию и её необходимо оценить. Если оценка положительная, функция включена. |
-openssl-linked | Компилировать поддержку OpenSSL | |
-no-dbus | Не компилировать поддержку D-Bus | |
-dbus | Компилировать поддержку D-Bus и динамически загружать libdbus-1. | Эта опция отмечена в качестве значения по умолчанию и её необходимо оценить. Если оценка положительная, функция включена. |
-dbus-linked | Компилировать поддержку D-Bus и линовать с libdbus-1 | |
-no-phonon | Не компилировать модуль Phonon | |
-phonon | Компилировать модуль Phonon. | Phonon собирается, если используется подходящий компилятор C++. Эта опция отмечена в качестве значения по умолчанию и её необходимо оценить. Если оценка положительная, функция включена. |
-no-phonon-backend | Не компилировать платформо-зависимый подключаемый модуль бэкенда Phonon | |
-phonon-backend | Компилировать платформо-зависимый подключаемый модуль бэкенда Phonon | Значение по умолчанию. |
-no-multimedia | Не компилировать модуль multimedia | |
-multimedia | Компилировать модуль multimedia | Значение по умолчанию. |
-no-audio-backend | Не компилировать платформу аудиобэкенда в QtMultimedia | |
-audio-backend | Компилировать платформу аудиобэкенда в QtMultimedia | Эта опция отмечена в качестве значения по умолчанию и её необходимо оценить. Если оценка положительная, функция включена. |
-no-webkit | Не компилировать модуль WebKit | |
-webkit | Компилировать модуль WebKit | WebKit собирается, если используется подходящий компилятор C++. Эта опция отмечена в качестве значения по умолчанию и её необходимо оценить. Если оценка положительная, функция включена. |
-webkit-debug | Компилировать модуль WebKit с поддержкой отладочных символов. | |
-no-script | Не собирать модуль QtScript. | |
-script | Собирать модуль QtScript. | Эта опция отмечена в качестве значения по умолчанию и её необходимо оценить. Если оценка положительная, функция включена. |
-no-scripttools | Не собирать модуль QtScriptTools. | |
-scripttools | Собирать модуль QtScriptTools. | Эта опция отмечена в качестве значения по умолчанию и её необходимо оценить. Если оценка положительная, функция включена. |
-no-declarative | Не собирать декларативный модуль | |
-declarative | Собрать декларативный модуль | Эта опция отмечена в качестве значения по умолчанию и её необходимо оценить. Если оценка положительная, функция включена. |
-no-declarative-debug | Не собирать поддержку декларативной отладки | |
-declarative-debug | Собрать поддержку декларативной отладки | Значение по умолчанию. |
-arch | Задать архитектуру. | Доступные значения : * windows, windowsce, symbian, boundschecker, generic. |
-no-style- | Отключить стиль полностью. | |
-qt-style- | Включить стиль в библиотеке Qt. | Доступные стили: * windows, + windowsxp, + windowsvista, * plastique, * cleanlooks, * motif, * cde, windowsce, windowsmobile, s60 |
-no-native-gestures | Не использовать встроенные жесты Windows 7. | |
-native-gestures | Использовать встроенные жесты Windows 7. | Значение по умолчанию. |
-no-mp | Не использовать несколько процессоров для компиляции с MSVC | Значение по умолчанию. |
-mp | Использовать несколько процессоров для компиляции с MSVC (-MP) | |
-loadconfig | Запустить программу configure с параметрами из файла configure_ .cache. | |
-saveconfig | Запустить программу configure и сохранить параметры в файл configure_ .cache. | |
-redo | Запустить программу configure с теми же параметрами, что и в предыдущий раз. |
Только Qt для Windows CE:
Опция | Описание | Примечание |
---|---|---|
-no-iwmmxt | Не компилировать с использованием инструкций IWMMXT | |
-iwmmxt | Компилировать с использованием инструкций IWMMXT. | Только для Qt для Windows CE на Arm. Эта опция отмечена в качестве значения по умолчанию и её необходимо оценить. Если оценка положительная, функция включена. |
-no-crt | Не добавлять среду времени выполнения C в правила развёртывания по умолчанию. | Значение по умолчанию. |
-qt-crt | Qt определит среду времени выполнения C во время генерации проекта | |
-crt |
Только Qt для Symbian OS:
Опция | Описание | Примечание |
---|---|---|
-no-freetype | Не компилировать поддержку Freetype2. | Значение по умолчанию. |
-qt-freetype | Использовать libfreetype из поставки Qt. | |
-fpu | Тип VFP в ARM, поддерживаемые опции: softvfp(default) |vfpv2 | softvfp+vfpv2 | |
-no-s60 | Не компилировать поддержку S60. | |
-s60 | Компилировать с поддержкой фреймворка пользовательского интерфейса S60 | Значение по умолчанию. |
-no-usedeffiles | Отключить использование файлов DEF. | |
-usedeffiles | Включить использование файлов DEF. |
Представленная здесь документация лицензирована в соответствии с условиями GNU Free Documentation License version 1.3, опубликованной Фондом свободного программного обеспечения (Free Software Foundation).
Исходная версия документации доступна на www.qt-project.org.
Digia, Qt и их соответствующие логотипы являются торговыми марками компании Digia Plc в Финляндии и/или других странах по всему миру. Все остальные торговые марки являются собственностью их владельцев. Политика конфиденциальности
Конфигурация
Jekyll позволяет вам свободно создавать сайты в соответствии с вашими идеями и все это благодаря конфигурационным опциям. Эти опции можно задать в файле _config.yml , расположенном в корне сайта или путем установки нужных флагов при выполнении команд jekyll в терминале.
Настройки конфигурации
Глобальная конфигурация
В таблице ниже перечислены доступные настройки для Jekyll, в виде опций конфигурационного файла и флагов в командной строке:
Настройка | Опции и флаги |
---|---|
Site Source Изменяет каталог, из которого Jekyll считывает файлы | source: DIR -s , --source DIR |
Site Destination Изменяет каталог, в который Jekyll записывает файлы | destination: DIR -d , --destination DIR |
Safe Отключает все кастомные плагины и игнорирует символические ссылки. | safe: BOOL --safe |
Exclude Исключает каталоги/файлы из обработки. Все каталоги указываются относительно каталога с исходниками сайта и не могут находиться за его пределами. | exclude: [DIR, FILE, . ] |
Include Подключает каталоги/файлы в обработку. Хороший пример — .htaccess , т.к. файлы, начинающиеся с точки по умолчанию не обрабатываются | include: [DIR, FILE, . ] |
Keep files Сохраняет указанные файлы при очистке каталога-назначения. Полезно для файлов, не генерируемых Jekyll, например, сгенерированных системой сборки. Пути указываются относительно каталога-назначения. | keep_files: [DIR, FILE, . ] |
Time Zone Настройка временной зоны для сгенерированного файла. Задает значение переменной окружения TZ , которую Ruby использует для операций с временем и датами. Валидным является любое значение из IANA Time Zone Database, например, America/New_York. Список возможных значений доступен здесь. Дефолтным является значение вашей операционной системы. | timezone: TIMEZONE |
Encoding Задает дефолтную кодировку для имен файлов, доступно с Ruby 1.9+. Дефолтное значение -utf-8 начиная с Ruby 2.0.0, и nil для версий старше, чем 2.0.0 ( дефолтная кодировка Ruby — ASCII-8BIT). Доступные кодировки можно просмотреть командой: ruby -e 'puts Encoding::list.join("\n")' . | encoding: ENCODING |
Defaults Дефолтные значения для вводной YAML. | См. ниже |
Каталог-назначение очищается после сборки
Содержимое каталога, в котором собирается сайт по умолчанию автоматически очищается в процессе сборки. Все файлы и каталоги, не созданные Jekyll удаляются. Некоторые файлы можно оставить, используя директиву . Не используйте важный каталог в качестве каталога-назначения; взамен этого копируйте из него нужные файлы.
Опции при сборке в командной строке (build)
Настройка | Опции и флаги |
---|---|
Regeneration Авто-регенерация сайта при модификации файлов | -w, --watch |
Configuration Определяет конфигурационный файл вместо _config.yml . Настройки в более позднем файле имеют приоритет перед более ранними. | --config FILE1[,FILE2. ] |
Drafts Обработка и рендеринг черновиков. | --drafts |
Environment Использование при сборке значения, специфичного для текущего окружения | JEKYLL_ENV=production |
Future Публикация постов с датой из будущего. | future: BOOL --future |
LSI Создание индекса связанных постов. | lsi: BOOL --lsi |
Limit Posts Лимит постов для парсинга и публикации | limit_posts: NUM --limit_posts NUM |
Force polling Принудительный мониторинг обновлений файлов для сервера. | --force_polling |
Verbose output Вывод сообщений. | -V, --verbose |
Silence Output Отключение сообщений при сборке | -q, --quiet |
Incremental build Активация экспериментального режима инкрементальной сборки, затрагивающей при регенерации только измененные страницы, что ускоряет регенерацию больших сайтов, но в некоторых случаях может привести к сборке сайта с ошибками. | incremental: BOOL , -I, --incremental |
Опции команд для сервера
В дополнение к указанным опциям, подкоманда serve может принимать опции подкоманды build .
Настройка | Опции и флаги |
---|---|
Local Server Port Указывает порт для локального сервера. | port: PORT , --port PORT |
Local Server Hostname Указывает имя для локального сервера. | host: HOSTNAME , --host HOSTNAME |
Base URL Работает с указанным базовым URL | baseurl: URL , --baseurl URL |
Detach Отключает сервер от терминала | detach: BOOL , -B, --detach |
Skips the initial site build. Пропускает первоначальную сборку, проходящую перед стартом сайта. | --skip-initial-build |
X.509 (SSL) Private Key Ключ SSL | --ssl-key |
X.509 (SSL) Certificate Сертификат SSL | --ssl-cert |
Не используйте табуляцию в конфигурационных файлах
Это влечет ошибки парсинга или сброс всех настроек на дефолтные значения. Используйте пробелы.
Кастомные заголовки WEBRick
Вы можете добавить их в _config.yml :
По умолчанию добавлен лишь один заголовок, отключающий кэширование при разработке, чтобы вы не мучались с агрессивным кэшированием в Chrome на этой стадии.
Задание окружения Jekyll на момент сборки
При сборке или запуске локального сервера, вы можете задать значение для соответствующего окружения Jekyll. Это значение можно будет использовать в шаблонах для создания сборки, специфичной именно для этого окружения.
Например, следующее условие в вашем коде обеспечит подключение комментариев Disqus только при сборке в окружении production :
Содержимое блока с таким условием будет выводиться только, если при сборке вы укажите в командной строке переменную production , вот так:
Указывая значения окружения вы можете делать отдельные виды контента доступными только в определенном окружении.
По умолчанию значением JEKYLL_ENV является development , соответственно, если иное значение не задано при сборке, содержимое внутри тегов <% if jekyll.environment == "development" %>будет выводится в готовом сайте.
Вы можете задавать свои значения для окружения, не только development или production . С помощью условий для этих значений вы можете подключать на production такие вещи как комментарии Disqus или Google Analytics. Или, наоборот, выводить кнопку “Edit me in GitHub” только при разработке.
Значения вводных по умолчанию
Использование вводной YAML это один из способов настройки страниц и постов на вашем сайте. Настройка таких вещей как макет по умолчанию, кастомизация заголовка или определение более точных даты и времени поста — все это делается через вводную.
Очень часто одни и те же настройки повторяются. Назначение одного макета каждому файлу, добавление категории каждому посту и.д. И даже кастомные настройки могут повторяться многократно, такие как имя автора, например.
Вместо повторения этой конфигурации постоянно при создании новых страниц/постов Jekyll дает возможность настроить это все по умолчанию в конфигурации сайта. Для этого вам надо задать глобальные опции с помощью ключа defaults в файле _config.yml , расположенном в корневом каталоге.
Ключ defaults содержит массив из пар scope/values , определяющих какие умолчания должны использоваться к определенным файлам/каталогам или типам файлов в каталогах.
Предположим, вы хотите добавить макет ко всем страницам и постам на сайте. Вы добавите следующие строки в файл _config.yml :
Не забудьте остановить и перезапустить jekyll serve
Глобальные настройки из _config.yml считываются лишь в момент запуска сервера, поэтому все изменения, внесенные в этот файл в ходе автоматической регенерации, будут применены лишь при следующем запуске. Изменения в файлах с данными вступают в силу и при регенерации.
В этом примере мы применяем заданные значения ( values ) к любому файлу, расположенному по указанному пути. Так как путь указан пустой, эти значения применяются ко всем файлам в проекте. Возможно, вы не хотите назначать макет всем файлам (например, файлам CSS) — вы можете задать тип файла type в ключе scope :
Теперь мы задаем макет только для файлов типа posts . К числу доступных типов относятся pages , posts , drafts , а также любые коллекции на сайте. Указание type является опциональным, а path обязательным.
Как упоминалось раннее, вы можете задать множественные пары scope/values для defaults .
С такими настройками все посты будут по умолчанию использовать макет my-site . А любые страницы в каталоге projects/ будут использовать макет project . также в этих страницах переменной liquid page.author будет задано значение Mr. Hyde .
В этом примере коллекции с названием my_collection задан макет default .
Приоритеты
Jekyll применит все настройки заданные вами в секции defaults файла _config.yml . Однако вы можете переписать эти настройки, указав более специфичный путь.
Вы можете увидеть это в последнем примере. Сначала мы задаем в качестве дефолтного макет my-site . Затем, используя более специфичный путь, мы задаем макет project для файлов в каталоге projects/ . Так можно переписать любое значение во вводной поста или страницы.
Наконец, если вы задаете дефолтные настройки, добавляя секцию defaults в файле _config.yml , то вы можете изменить их в любом посте или странице. Вам нужно просто переписать эти настройки во вводной страницы:
В результате после сборки файлу projects/foo_project.md будет задан макет foobar вместо project и автор John Smith вместо Mr. Hyde .
Конфигурация по умолчанию
Jekyll по умолчанию запускается со следующими настройками. Альтернативные настройки этих опций могут быть заданы в файле конфигурации или в командной строке.
Две опции kramdown не поддерживаются
На данный момент опции remove_block_html_tags и remove_span_html_tags не поддерживаются, так как не включены в конвертер kramdown ->HTML
Опции Markdown
Jekyll поддерживает различные движки рендеринга Markdown, некоторые опции в них можно изменить.
Redcarpet
Redcarpet можно конфигурировать с помощью настройки extensions , указав значением массив со строками. Каждая строка должна быть одним из расширений класса Redcarpet::Markdown , ее наличие в массиве автоматически присваивает этому расширению значение true .
Некоторые особенности есть в обработке Jekyll следующих двух расширений Redcarpet:
- no_fenced_code_blocks — по умолчанию Jekyll подключает расширение fenced_code_blocks (для выделения блоков кода тройными или тройными обратными кавычками), вероятно, потому что использование их на GitHub сделало эти блоки стандартом де-факто. Так как расширение fenced_code_blocks изначально активировано, его передача в массив опций ни на что не влияет, а для его отключения надо передать именно no_fenced_code_blocks — так вы сможете отключить выделение блоков кода этим способом и вернуть обычное выделение четырьмя пробелами. Вы также можете определить используемый язык, указав его после первого ограничителя:
При активации подсветки код будет подсвечиваться, при отсутствии подсветчика к элементу будет добавляться атрибут , который может быть использован библиотеками JavaScript для подсветки кода.
- smart — это псевдорасширение активирует SmartyPants, конвертирующее обычные кавычки в фигурные и дефисы в тире.
Все остальные расширения Redcarpet сохраняют свои обычные расширения и никаких других опций для них в Jekyll нет, полный список расширений здесь. Убедитесь, что вы используете нужную версию Redcarpet — в Jekyll на данный момент используется версия 2.2, а такие расширения как footnotes и highlight работают начиная с версии 3.0. Наиболее популярные следующие расширения:
Kramdown
Вы можете включить распознавание Github Flavored Markdown, передав опции input значение GFM .
Например, так это делается в _config.yml :
Собственные процессоры Markdown
Если вы заинтересованы в создании собственного процессора markdown вы можете создать новый класс в пространстве имен Jekyll::Converters::Markdown :
После создания собственного класса и его правильной настройки в каталоге _plugins или как gem, укажите его в _config.yml :
Инкрементальная регенерация
Инкрементальная регенерация остается экспериментальной возможностью
Хотя в большинстве случаев инкрементальная сборка будет работать, ее корректная работа во всех случаях не гарантирована. Будьте предельно осторожны при ее использовании и сообщайте о всех не перечисленных ниже проблемах путем открытия задачи (issue) на Github.
Инкрементальная регенерация помогает уменьшить время сборки за счет генерации только тех страниц и документов, которые изменились со времени предыдущей сборки. Это делается за счет отслеживания времени модификации и зависимостей файлов в специальном файле .jekyll-metadata .
В текущей имплементации инкрементальная регенерация будет происходить только после изменения страницы или ее зависимостей. На данный момент отслеживаемыми зависимостями являются файлы макетов ( layout , заданных во вводной) и подключаемых фрагментов (с помощью тега <% include %>). Простые ссылки на другие документы (типа содержимого переменной site.posts ) не рассматриваются как зависимости.
Обойти связанные с этим ограничением проблемы можно указав во вводной соответствующего документа regenerate: true , что вызывает его регенерацию независимо от изменений. Обратите внимание, что это будет затрагивать только этот документ, ссылки на другие документы не будут работать как зависимости.
Инкрементальная регенерация может быть активирована флагом командной строки --incremental (сокращенно -I ) или опцией incremental: true в файле конфигурации.