Este repositorio contiene la página web de OpenFAAS y el blog: https://www.openfaas.com, creado usando Jekyll y una horquilla modificada de la plantilla de CloudCannon Frisco y construida/alojada utilizando páginas GitHub.
Las siguientes secciones proporcionan una guía básica a algunos cambios comunes que se realizarán en el sitio, agregando publicaciones, autores, etc.
Todas las publicaciones de blog deben tener un título y una descripción, esto ayuda con el SEO. El nombre del autor podría mencionarse en la descripción.
Formato:
Introducción/descripción general corta (150 palabras)
Serie de pasos lógicos o puntos / temas
Incrustar diagrama conceptual, video o imagen para ayudar a presentar un caso.
Señale los documentos/github o algo más.
Si es necesario, muestre reconocimientos a otros que colaboraron o dieron comentarios que usó. Cuando se trabaja en GitHub, esto está disponible en la historia pública, así que use con moderación.
Al usar pasos, use la voz activa/imperativa para encabezados.
Bien:
Malo:
El inglés se habla ampliamente, pero no es el primer idioma de todos los lectores. Esta publicación también cubre muchos temas técnicos, puede ser un experto, pero es poco probable que sus lectores sean, así que considere ambos cuando escriba su artículo.
Escriba en inglés simple en todo momento, cuando exista una palabra más simple, evite las palabras derivadas del latín cuando sea posible, evite los gerundios donde un verbo activo puede reemplazarlo.
Si está escribiendo un artículo, entonces su voz debería aparecer y su experiencia. Es por eso que está escribiendo la publicación: trate de evitar el uso de tiempo pasivo o declaraciones, donde puede usar una oración que comience con I .
Antes:
Después:
Use oraciones cortas:
Antes:
Después:
Para obtener algunas recomendaciones adicionales, consulte:
Esta publicación, por Raphael A. Finkel, Universidad de Kentucky.
Y [antes y después] http://www.painenglish.co.uk/campaining/examples/bebore-and-after.html] de Plainenglish.co.uk
Mientras usa términos divertidos como "Boom!", "Diversión y ganancia" y hacer bromas en el texto, puede funcionar bien en un blog personal. El blog OpenFAAS y la documentación deben tener un uso mínimo de este tipo de términos "divertidos" o "lindos".
Las opiniones deben presentarse como su propio punto de vista. Si tiene datos para hacer una copia de seguridad de su posición, esto ayudará a hacer que su punto sea creíble. Si no tiene datos, asegúrese de que el lector comprenda esto relacionando con sí mismo I believe that .. I found it easier to ..
Si está diciendo datos de hecho / objetivo, también debe respaldar esto con citas, enlaces, etc.
Tenga cuidado con las leyes de derechos de autor. Si usa un diagrama o incorpora una cita de algún lugar, asegúrese de darle una atribución adecuada.
Coloque todas las imágenes en un subpolteador ./images/<post-name>
Cada publicación debe tener una foto de fondo elegida de Free Stock Fotography o proporcionada con una licencia Creative Commons. No extraiga imágenes de Google sin verificar que el uso / licencia sea válido primero. Recorte el fondo en un ancho de 1600 píxeles. Use JPEG y apunte a 200KB-280KB en tamaño al exportar (aumentar la compresión)
Puede disminuir aún más el tamaño limitando la "calidad" del JPEG del 100% a algo más bajo como 70-75%.
Pexels
Sin estelares
Imágenes en post y capturas de pantalla
Cada publicación de blog debe tener al menos un diagrama conceptual. Esto debería mostrar el flujo lógico o la vista abstracta de la función, noticias o diseño. Un tweet o video incrustado también podría cumplir con este propósito.
Las imágenes son importantes para cada publicación, pero intente comprimir / recortar las imágenes tanto como sea razonable y posible. Esto ayudará a mitigar el enorme tamaño que puede crecer un repositorio de GitHub, que esté lleno de imágenes.
El contenido de publicación cruzada afecta negativamente las puntuaciones de SEO, por lo que no se debe hacer a menos que se haga atención adicional y atención para incluir los encabezados "OG" requeridos. Asegúrese de que todo el contenido en el blog de la comunidad OpenFaas sea original.
Se proporciona un archivo de Docker Compose para simplificar el desarrollo/contribución al sitio web y el blog, esto se ha verificado para funcionar tanto en OSX como en Windows 10 (al desarrollar/escribir en Windows, utilice finales de línea UNIX en su editor).
Ejecute el sitio localmente con:
docker compose up
Esto hará que el sitio esté disponible localmente en - 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.
Cualquier cambio realizado en el sitio en su editor se recogerá dentro del contenedor y el sitio se regenerará ( tenga en cuenta que esto no incluye cambios en _config.yml , debe reiniciar el contenedor Docker para recoger esos cambios).
Por ejemplo, si agrega su propia publicación en _posts/2018-07-31-my-post.md verá a Jekyll detectar el cambio y regenerar el sitio, actualizar su navegador captará cualquier cambio.
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/ La sección de contribuyentes en la página de destino se genera utilizando un pequeño script node ubicado en el archivo generate-stats.js . Se recomienda que ejecute este script antes de abrir un PR. Esto asegurará que la sección de contribuyentes esté actualizado:
node generate-stats.js
Nota: requiere que Node.js se instale en su sistema.
Para que una publicación de blog se atribuya correctamente a un autor, deben agregarse al equipo creando un archivo <author_name>.md en el directorio _staff_members .
La visualización del miembro del equipo en la página del equipo se basa en la posición en el archivo Data/Members.yml.
La atribución en una publicación de blog se basa en el nombre de archivo.
Por ejemplo, _staff_members/alex.md se puede usar para la atribución configurando los siguientes metadatos una publicación:
author_staff_member: alex
Que resulta en un cuadro de autor que se muestra con cada publicación asignada:

La definición del autor toma el siguiente formato:
---
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>.
---
| Llave | Detalles |
|---|---|
| nombre | Nombre completo del autor contribuyente |
| posición | Descripción del texto libre de su relación con el proyecto |
| image_path | Patio al retrato de los autores, esta debería ser una imagen de 154px * 154px |
| Twitter_Username | Autores Handle de Twitter (sin @ ) |
| propaganda | Información gratuita de texto sobre el usuario, esto debería ser muy corto |
### Contribuir una publicación
Contribuir una publicación es tan sencillo como elevar un PR que contiene su publicación en formato de Markdown junto con cualquier imagen integrada.
Su marca de publicación debe crearse en el directorio _posts y el archivo debe tomar la siguiente estructura.
yyyy-mm-dd-short-description-of-post.md
Si tiene dudas, eche un vistazo a las publicaciones existentes para ideas sobre lo que es aceptable.
La publicación consta de dos partes, un encabezado de la materia frontal Yaml que describe la publicación y proporciona a Jekyll señales para representar/atribución, etc., y el cuerpo posterior que es solo una red estándar.
Los metadatos posteriores toman el siguiente formulario:
---
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/
---
| Llave | Detalles |
|---|---|
| título | Título de la publicación de blog |
| fecha | Publicar la fecha de la publicación de blog en formato yyyy-mm-dd |
| imagen | Ruta a la imagen que se mostrará detrás del título, esto debe agregarse en un directorio con el mismo nombre que la publicación de blog en el directorio images . |
| categorías | Una lista opcional de categorías en las que se encuentra la publicación, siempre debe reutilizar las categorías existentes de publicaciones anteriores donde sea factible |
| autor_staff_member | Nombre del archivo de autores en el directorio _staff_members , utilizado para la atribución (ver sección anterior) |
| canonical_url | Debe establecer este campo si la publicación del blog ya se ha publicado en otra URL. La preferencia se da al contenido original. |
Mientras Jekyll admite múltiples formatos, debe enviar su publicación en formato de Markdown.
La siguiente guía describe la sintaxis:
También es muy útil comparar las publicaciones existentes con los archivos de Markdown subyacentes cuando desea aprender cómo formatear su publicación.
Agregar imágenes usa el formato de Markdown normal, y aunque se prefiere que las imágenes externas se prefieran que incluya cualquier imagen en su PR, estas deben ir en un directorio con el mismo nombre que la publicación en el directorio images , por ejemplo images/kubernetes-operator-crd/ .
Nota Tenga en cuenta solo incluir tamaños de imagen sensibles, debe asegurarse de haber cambiado/procesado cualquier imagen antes de agregarlas a su PR.
El sitio utiliza el lenguaje Sass Stylesheet, cualquier alteración de los sitios que se ve y la sensación debe realizarse con SASS, no contribuya con archivos .css sin procesar.
También estamos usando Bulma como nuestro marco CSS. Antes de hacer cualquier cambio de estilo / adiciones, considere:
La barra y el pie de página del sitio del sitio se configuran a través de YAML en los siguientes archivos:
_data/footer.yml_data/navigation.ymlAgregar entradas a cualquiera de los dos debe ser como último recurso, ya que no deben desordenarse.
Para obtener una comprensión más detallada de cómo se construye el sitio, consulte la documentación de las páginas Jekyll y Github:
El sitio también usa los siguientes complementos:
Consulte la documentación anterior para obtener detalles sobre cómo se puede usar y configurar cada complemento.
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