Blended — это генератор статических веб-сайтов, написанный на Python и лицензированный по лицензии с открытым исходным кодом GPL 3.0. Он поддерживает систему шаблонов на основе HTML, контент, написанный в HTML, Markdown, Textile, reStructuredText, Jade, Docx и Plain Text. Он также поддерживает компиляцию SASS, Less, Stylus и CoffeeScript. Blended упрощает развертывание ваших веб-сайтов благодаря встроенному FTP-загрузчику. Кроме того, Blended имеет широкие возможности обновления, поскольку поддерживает систему плагинов Python.
Чтобы установить Blended из PyPi (рекомендуется), выполните:
pip install blended
Чтобы собрать и установить Blended из исходного кода, выполните:
git clone https://github.com/johnroper100/Blended.git
cd Blended
pip install .
Чтобы использовать Blended после его установки, запустите:
blended init
Это поможет вам запустить новый веб-сайт. Если вам нужна помощь, запустите:
blended --help
и вы увидите все доступные команды.
Чтобы создать созданный вами сайт с помощью Blended run
blended build
или
blended interactive
(для создания при изменении файла)
Для любой запускаемой вами команды вы можете указать альтернативный --outdir
для построения или просмотра. Например, чтобы выполнить сборку в папку source_output
, запустите blended build --outdir source_output
.
Внутри файла config.py
вы можете установить minify_css
и minify_js
значение true, чтобы оптимизировать файлы CSS и JS после сборки.
Вы можете установить шаблоны с GitHub, используя blended install-template
.
Каждый веб-сайт Blended использует четыре файла шаблонов:
navTest.html
или nav_test.html
){name}
, {content}
, {content_short}
, {date}
, {day}
, {month}
, {month_name}
{year}
, {path}
)В этих файлах вы размещаете разметку для каждого создаваемого раздела.
При работе со страницами вы можете дополнительно указать, какой шаблон вам нужен (кроме content_page.html
), добавив имя файла шаблона без расширения в первую строку страницы, а затем не менее пяти +
во вторую строку. . Например, если бы я хотел использовать шаблон blog_page.html
для определенной страницы, я бы поместил
blog_page
+++++
вверху страницы. Обязательно поместите его вверху, иначе он не будет работать!
У вас есть несколько переменных, которые вы можете использовать в своих шаблонах для получения значений при построении:
{website_name}
{website_description}
{website_description_long}
(используйте для длинных описаний, например биографии автора){author_name}
{author_bio}
{website_language}
{website_license}
{website_url}
{page_content}
(можно использовать только в файле шаблона content_page.html){page_date}
(дата/время написания/изменения страницы){page_day}
(День, когда страница была написана/изменена){page_month}
(Месяц, когда страница была написана/изменена){page_month_name}
(название месяца, в котором была написана/изменена страница){page_year}
(Год написания/изменения страницы){relative_root}
(возвращает относительный путь к текущему файлу){random_number}
{build_date}
{build_time}
{build_datetime}
{
(page_filename) _active}
(при создании, если активная страница совпадает с именем файла в теге, тег заменяется active
, например, {getting-started.html_active}
){nav
(имя) }
(Используйте для размещения навигационных панелей. Чтобы добавить навигационную панель, напишите nav
плюс что-нибудь еще. Например, {nav2}
или {nav_test}
){page_list}
(перечисляет все страницы в формате <ul><li><a href="page-name.html">page-name</a></li></ul>
){page_file}
(полное имя файла страницы. например, getting-started.html
){page_filename}
(имя файла страницы без расширения .html. например, getting-started
){page_name}
(дает имя текущей страницы. Делает имя страницы более красивым. Например, getting-started.html
преобразуется в Getting Started
){page_folder}
(дает имя папки текущей страницы. Делает имя папки более красивым. Например, getting-started
преобразуется в Getting Started
» ){page_folder_orig}
(указывает имя папки текущей страницы){blended_version}
(выдает текущую версию Blended){blended_version_message}
(отображает текущую версию Blended с приятным сообщением: Built with Blended v4.9
)Куда бы вы ни поместили эти переменные в шаблонах, они будут заменены значениями из вашего файла config.py. Переменные должны оставаться в фигурных скобках. Вы даже можете помещать переменные внутрь содержимого других переменных!
Вы можете установить плагины из PyPi, например pip install blended_google_analytics
. Вы также можете установить плагины с GitHub, используя blended install-plugin
.
Чтобы использовать плагины, включите их в список plugins
в config.py
.
Если плагин предназначен для вызова в ваших шаблонах, например. {html_comment_box}
, затем вставьте его в список плагинов, например plugins = ["html_comment_box"]
.
Вы можете использовать несколько плагинов одновременно, например. plugins = ["html_comment_box", "minify_images"]
Внутри вашего config.py
есть переменная custom_variables = {}
. Это словарь всех пользовательских переменных, которые вы хотели бы использовать. Чтобы добавить переменную, добавьте ее как элемент словаря.
Вот несколько примеров:
custom_variables = {"software_name": "Blended"}
custom_variables = {"software_name": "Blended", "software_version": "5.0"}
Вы можете импортировать веб-сайт и публикации из WordPress. Для этого экспортируйте из WordPress, используя опцию Posts
, и загрузите файл в каталог, в котором вы хотите создать свой веб-сайт.
Запустите команду blended import-wp
, и она запросит имя/путь к файлу. Введите имя файла, и Blended создаст новый веб-сайт с информацией.
Вы можете импортировать сообщения из Blogger. Для этого экспортируйте из Blogger, используя опцию Backup Site
, и загрузите файл в каталог, в котором вы хотите создать свой веб-сайт.
Запустите команду blended import-blogger
, и она запросит имя/путь к файлу. Введите имя файла, и Blended создаст новый веб-сайт с информацией.
Помните, что вы можете установить шаблоны с GitHub, используя blended install-template
.
Просто (страница GitHub)
Блог (страница GitHub)
Демонстрация программного обеспечения (страница GitHub)
Disqus (страница GitHub)
Google Analytics (страница GitHub)
Поле комментариев HTML (страница GitHub)
Карты Twitter (страница GitHub)
Карты Facebook (страница GitHub)
Google Fonts (страница GitHub)
Импортировать Bootstrap (страница GitHub)
Веб-сайт смешанного типа
Редизайн сайта Art Of Illusion
Полная панель управления рендерингом (страница GitHub)
Редизайн сайта DVDStyler (страница GitHub)
Редизайн сайта MakeHuman (страница GitHub)
Редизайн сайта LilyPond (страница GitHub)