Этот репозиторий содержит веб -страницу и блог OpenFAAS - https://www.openfaas.com, созданная с использованием Jekyll и модифицированную вилку шаблона Frisco CloudCannon и создан/размещен с использованием страниц GitHub.
В следующих разделах представлено основное руководство по некоторым общим изменениям, которые будут внесены на сайт, добавление сообщений, авторов и т. Д.
Все сообщения в блоге должны иметь название и описание, это помогает с SEO. Имя автора может быть упомянуто в описании.
Формат:
Короткий вступление/обзор (150 слов)
Серия логических шагов или точек / тем
Встройте концептуальную диаграмму, видео или картинку, чтобы помочь сделать корпус.
Укажите Docs/GitHub или что -то еще.
При необходимости покажите подтверждения другим, кто сотрудничал или дал обратную связь, которую вы использовали. Работая над GitHub, это доступно в публичной истории, поэтому используйте экономно.
При использовании шагов используйте активный/императивный голос для заголовков.
Хороший:
Плохой:
Английский широко распространен, но не является первым языком всех читателей. Эта публикация также охватывает множество технических тем, вы можете быть экспертом, но ваши читатели вряд ли будут, поэтому подумайте об обоих, когда вы пишете свою статью.
Всегда пишите на простом английском языке, когда его используют более простое слово, избегайте слов, полученных из латыни, когда это возможно, избегайте Gerunds, где активный глагол может его заменить.
Если вы пишете статью, то ваш голос должен столкнуться, и ваш опыт. Вот почему вы пишете пост - старайтесь не использовать пассивное время или операторы, где вы можете использовать предложение, которое начинается с I .
До:
После:
Используйте короткие предложения:
До:
После:
Для некоторых дополнительных рекомендаций см.:
Этот пост, Рафаэль А. Финкель, Университет Кентукки.
И [до и после] http://www.plainenglish.co.uk/campaigning/examples/before-and-after.html] от rainenglish.co.uk
В то время как используя забавные термины, такие как «Бум!», «Веселье и прибыль» и шутки в тексте, могут хорошо работать в личном блоге. Блог и документация OpenFAAS должны иметь минимальное использование такого рода «веселья» или «милых» терминов.
Мнения должны быть представлены как ваша собственная точка зрения. Если у вас есть данные для резервного копирования вашей позиции, это поможет сделать вашу точку зрения заслуживающей доверия. Если у вас нет данных, то убедитесь, что читатель понимает это, относившись к себе I believe that .. , I found it easier to ..
Если вы указываете данные о фактах / объективных, вы также должны подтвердить это с помощью цитат, ссылок и т. Д.
Остерегайтесь законов об авторском праве. Если вы используете диаграмму или откуда -то внедряете цитату, убедитесь, что вы придали ей правильную атрибуцию.
Поместите все изображения в подразделение ./images/<post-name>
Каждое сообщение должно иметь фоновую фотографию, выбранную из бесплатной стоковой фотографии или предоставлена с лицензией Creative Commons. Не вытягивайте изображения из Google, не проверяя, что использование / лицензия действительна в первую очередь. Разберите фон по ширине 1600 пикселей. Используйте JPEG и стремитесь к размерам 200 КБ-280 КБ при экспорте (увеличить сжатие)
Вы можете уменьшить размер дальше, ограничивая «качество» JPEG с 100% до чего-то ниже 70-75%.
Pexels
Неспособный
Изображения и снимки экрана
Каждый пост в блоге должен иметь хотя бы одну концептуальную диаграмму. Это должно показывать логический поток или абстрактный вид функции, новостей или дизайна. Встроенный твит или видео также может служить этой цели.
Изображения важны для каждого поста, но постарайтесь сжать / обрезать изображения так же, как и разумные и возможные. Это поможет смягчить огромный размер, который может вырасти репозитовать GitHub, на котором полно изображений.
Контент по перекрестному сообщению негативно влияет на оценки SEO, поэтому не следует делать, если не будет уделено дополнительному уходу и вниманию, чтобы включить требуемые заголовки «OG». Убедитесь, что весь контент в блоге сообщества OpenFAAS является оригинальным.
Файл Docker Compose предоставляется для упрощения разработки/внесения вклад в веб -сайт и блога, это было подтверждено для работы как на OSX, так и на Windows 10 (при разработке/написании в Windows, пожалуйста, используйте линейные окончания Unix в вашем редакторе).
Запустите сайт локально с:
docker compose up
Это сделает сайт доступным по адресу - http: // localhost: 4000.
Starting openfaas-www_openfaas-jekyll_1 ... done
Attaching to openfaas-www_openfaas-jekyll_1
openfaas-jekyll_1 | ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-musl]
openfaas-jekyll_1 | Configuration file: /srv/jekyll/_config.yml
openfaas-jekyll_1 | Source: /srv/jekyll
openfaas-jekyll_1 | Destination: /srv/jekyll/_site
openfaas-jekyll_1 | Incremental build: disabled. Enable with --incremental
openfaas-jekyll_1 | Generating...
openfaas-jekyll_1 | Remote Theme: Using theme cloudcannon/frisco-jekyll-template
openfaas-jekyll_1 | done in 3.074 seconds.
openfaas-jekyll_1 | Auto-regeneration: enabled for '/srv/jekyll'
openfaas-jekyll_1 | Server address: http://0.0.0.0:4000
openfaas-jekyll_1 | Server running... press ctrl-c to stop.
Любые изменения, внесенные на сайт в вашем редакторе, будут забраны внутри контейнера, и сайт будет регенерирован ( обратите внимание, что это не включает изменения в _config.yml , вы должны перезапустить контейнер Docker, чтобы поднять эти изменения).
Например, если вы добавите свой собственный пост в _posts/2018-07-31-my-post.md вы увидите, что Jekyll обнаружит изменение и регенерирует сайт, обновление вашего браузера приобретет любые изменения.
openfaas-jekyll_1 | Regenerating: 1 file(s) changed at 2018-07-31 21:28:36
openfaas-jekyll_1 | _posts/2018-08-22-my-post.md
openfaas-jekyll_1 | Remote Theme: Using theme cloudcannon/frisco-jekyll-template
openfaas-jekyll_1 | ...done in 2.0199265 seconds.
_data/users.ymlimages/users-logos/ Раздел участников на целевой странице генерируется с помощью небольшого скрипта node , расположенного в файле generate-stats.js . Рекомендуется запустить этот сценарий перед открытием PR. Это гарантирует, что раздел участников актуально:
node generate-stats.js
Примечание. Требуется node.js для установки в вашей системе.
Чтобы правильно приписывать сообщение в блоге, они должны быть добавлены в команду, создав файл <author_name>.md в каталоге _staff_members .
Отображение члена команды на странице команды основано на позиции в файле data/members.yml.
Атрибуция в сообщении в блоге основана на имени файла.
Например, _staff_members/alex.md можно использовать для атрибуции, установив следующие метаданные a post:
author_staff_member: alex
Что приводит к тому, что ящик автора отображается с каждым назначенным сообщением:

Определение автора принимает следующий формат:
---
name: Alex Ellis
position: Founder
image_path: /images/author/ellis.jpg
twitter_username: alexellisuk
blurb: Founder of <a href="https://twitter.com/openfaas">@openfaas</a>. Open Source <a href="https://twitter.com/vmware">@vmware</a>.
---
| Ключ | Подробности |
|---|---|
| имя | Полное название автора |
| позиция | Бесплатный текстовый описание их отношений с проектом |
| image_path | Путь к портрету авторов, это должно быть изображение 154px * 154px |
| Twitter_username | Авторы Twitter Handle (без @ ) |
| рекламный | Бесплатная текстовая информация об пользователе, это должно быть очень коротко |
### внести свой пост
Внесение вклад в сообщение так же прямо, как и повышение пиара, содержащего ваш пост в формате Markdown вместе с любыми встроенными изображениями.
Ваша посвящение должно быть создано в каталоге _posts , и файл должен принимать следующую структуру.
yyyy-mm-dd-short-description-of-post.md
Если вы сомневаетесь, посмотрите на существующие посты для идей о том, что приемлемо.
Пост состоит из двух частей, заголовка переднего вещества YAML, который описывает пост и предоставляет Jekyll подсказки для рендеринга/атрибуции и т. Д., А также для корпуса Post, который является просто стандартной отметки.
Пост -метаданные принимают следующую форму:
---
title: Introducing the OpenFaaS Operator for Serverless on Kubernetes
date: 2018-07-14
image: /images/kubernetes-operator-crd/pexels-asphalt-blue-sky-clouds-490411.jpg
categories:
- kubernetes
author_staff_member: alex
canonical_url: https://blog.alexellis.io/introducing-the-openfaas-operator/
---
| Ключ | Подробности |
|---|---|
| заголовок | Название сообщения в блоге |
| дата | Публикуйте дату сообщения в блоге в формате yyyy-mm-dd |
| изображение | Path to Image, который будет отображаться за заголовком, его следует добавить в каталог с тем же именем, что и сообщение в блоге в каталоге images . |
| категории | Дополнительный список категорий, под которым подпадает этот пост, вы всегда должны повторно использовать существующие категории из предыдущих постов, где это возможно |
| Author_staff_member | Имя файла авторов в каталоге _staff_members , используемое для атрибуции (см. Предыдущий раздел) |
| canonical_url | Вы должны установить это поле, если сообщение в блоге уже опубликовано на другом URL. Предпочтение отдается исходному контенту. |
В то время как Jekyll поддерживает несколько форматов, вы должны отправить свой пост в формате Markdown.
В следующем руководстве описывается синтаксис:
Также очень полезно сравнить существующие посты с основными файлами разметки, когда вы хотите научиться форматировать свой пост.
Добавление изображений использует обычный формат разметки, и, хотя возможны внешние изображения, предпочтительнее, чтобы вы включали любые изображения в свой PR, они должны перейти в каталог с тем же именем, что и в каталоге images , например, images/kubernetes-operator-crd/ .
Примечание. Позаботьтесь о том, чтобы включить только разумные размеры изображений, вы должны убедиться, что вы изменили/обработали любые изображения, прежде чем добавить их в свой PR.
Сайт использует язык таблиц нах, любые изменения в внешнем виде сайтов должны быть сделаны с помощью SASS, не вносить необработанные файлы .css .
Мы также используем Bulma в качестве нашей структуры CSS. Прежде чем внести какие -либо изменения в стиле / дополнения, рассмотрите:
Navbar и нижний колонтитул сайта настроены через YAML в следующих файлах:
_data/footer.yml_data/navigation.ymlДобавление записей в любом из них должно быть последним средством, поскольку они не должны загромождать.
Для более подробного понимания того, как построен сайт, обратитесь к документации по страницам Jekyll и Github:
Сайт также использует следующие плагины:
Обратитесь к документации выше для получения подробной информации о том, как можно использовать и настроить каждый плагин.
rm -rf outg/ * ; ffmpeg -i videoplayback.mp4 -vf " select='not(mod(n,2000))',setpts='N/(30*TB)' " -f image2 -y outg/out%03d.jpg
ffmpeg -f image2 -framerate 1 -i outg/out%003d.jpg -vf " scale=width=-2:height=ih/2 " out.gif