GitHub Pages: API REST JSON estática

GitHub: static-rest-json-api.

Llamadas ejemplo:

GitHub Pages no sólo vale para albergar sitios Web. Podemos usarlo para crear un servidor REST con datos estáticos JSON (o cualquier otro formato de texto plano como CSV).  Vamos a guardar en el mismo proyecto el cliente que realice consultas en JS (de lectura sólo claro) y los ficheros JSON con la base de datos.

Lo único que hay que hacer es crear un nuevo proyecto y en las opciones de configuración convertirlo en una página Web.

Lo siguiente es crear un fichero de ejemplo, users.json.

 

Ya podemos observar el resultado de la llamada con este enlace.

Si queremos analizar con más detalle la llamada podemos usar la aplicación Postman para Chrome.

Ahora implementamos un cliente básico de consulta users_get_test.html:

Ejecutamos el test en el navegador y observamos el resultado en la consola:

Enlaces externos

Anuncios

Telegram v4.4: Nuevas funcionalidades geniales como siempre

Los desarrolladores de Telegram siguen publicando nuevas funcionalidades cada poco tiempo, la verdad que las ideas que suelen tener son originales, divertidas y geniales.  Seguro que dentro de poco Whatasapp y otros sistemas de mensajería imitaran estas funcionalidades y las presentarán como propias.

Telegram v4.4 en Google Play

Reproductor de audio

Los nuevos cambios para la aplicación móvil (sospecho que la aplicación de escritorio portable para Win no lo contempla aún ni la aplicación Web que uso yo).

El caso es que Telegram incorpora una especie de reproductor audio en su última versión, si accedemos al canal @cctracks  (formato MP3) podemos probarlo.

Descargamos el archivo de audio y lo abrimos, comienza su reproducción y se muestra una pequeña barra con el título de la canción en la parte superior:

Cuando pulsamos sobre la barra se abren el reproductor con sus controles:

 

Creando un canal público o incluso privado se me ocurren varios usos posibles: Para compartir un podcast o compartir listas de reproducción por ejemplo.

 

Enlaces externos:

GitHub: Minimal Mistakes theme

Me ha gustado el theme “Minimal Mistakes” (Jekyll theme gem ) para generar un sitio con información de un proyecto.

Posts relacionados:

Instalando el theme

Para alojarlo en GitHub Pages debemos hacer un fork del repositorio original (crea una copia exactamente igual del original) se puede usar este enlace para hacer un fork del theme o directamente copiar todos los ficheros descargándolos.

Ya tengo creada una copia en mi GitHub del theme haciendo un fork.

Recomendación: Borrar las carpetas /docs y /test.

Ahora para convertirlo en una página de GitHub vamos a la configuración del repositorio (“Settings”), aprovechamos para cambiar el nombre del repositorio. La página se carga del contenido dentro de la carpeta “/docs”.

Ahora ya podemos ver la nueva página:

Configuración

Los parámetros de configuración globales que afectan a toda la Web se pueden encontrar en el fichero en el raíz _config.yml  (fichero de configuración Jekyll).

Modificamos la información de la página (title, name, description, url, baseurl, repository), parámetros de redes sociales como Twitter.

Skin

Podemos cambiar el esquema de colores del theme seleccionando entre los disponibles:

minimal_mistakes_skin : "default" # "air", "contrast", "dark", "dirt", "mint", "sunrise"

Nota: Podemos personalizar los estilos modificando /assets/css/main.scss 

Cambiando el idioma

El contenido de texto para los elementos gráficos del interface de usuario están agrupados en _data/ui-text.yml.

Podemos modificar el idioma en _config.yml con el parámetro “locale”.

locale : "es"

Navegación

Para definir los títulos de enlaces y la URL destino debemos modificar  ‘_data/navigation.yml‘ (dentro de carpeta docs).

 

Los nuevos elementos se posicionaran de forma horizontal en forma de menú.

Posts

Las entradas se almacenan en la carpeta “_posts/“, podemos habilitar el menú de acceso a las entradas en “_data/navigation.yml” para que se muestre una lista de las entradas ordenadas por fecha.

Los enlaces se la sección “docs” se encuentran más abajo dentro de navigation.yml

 

Dentro de la carpeta “_posts” cada entrada es un fichero Markdown con la fecha en el nombre:

Para saber algo más sobre la estructura de las entradas podemos consultar la entrada de Jekyll sobre posts.

Vamos a consultar que aspecto tiene este post con título “Layout: Header Video“:

Editamos el fichero “_posts/2017-01-23-layout-header-video.md“:

El post debería mostrar un vídeo en la cabecera.

Un post básico debería contener como mínimo una cabecera con estos campos:

Vamos a crear un post nuevo “_posts/2017-10-08-mi-primer-post.md“:

 

Los campos entre “—” son la cabecera del documento. Añadimos un título, las categorías permiten agrupar los posts relacionados, por ejemplo los relacionados con “Post Formats“. Algo similar hacemos con las etiquetas que comparten los posts.

Para consultar diferentes formatos de posts con vídeos, galerías de fotos y otros contenidos podemos revisar cada post de ejemplo uno por uno.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RPi y Kali Linux: Analizador de redes WiFi portátil (I)

Descargamos la imagen para ARM de la Web Oficial en este enlace (usuario “root” y clave por defecto “toor”) para RaspberryPi.

Me he descargado el archivo “kali-2017.2-rpi3-nexmon.img.xz” y lo he descomprimido con 7Zip.

Para grabar la imagen SD me he instalado Etcher (normalmente uso Win32 Disk Imager para estos menesteres),

Lo primero que hago en el primer arranque es conectar a la red WiFi y abrir una sesión remota SSH desde mi PC con el cliente Putty para Win.

Conectado mediante SSH comienzo actualizando el listado de paquetes con el siguiente comando:

root@kali:~# apt-get update

Y después instalo una aplicación que me permita el control remoto de forma gráfica (TightVNC Server).

root@kali:~# apt-get install tightvncserver

Ejecuto el servidor VNC y proporciono una clave:

root@kali:~# tightvncserver

Me instalado el cliente TightVNC para Win (instalador para Win32) en mi PC (he tenido que especificar el puerto a los datos de conexión).

Por alguna razón el cliente VNC se conecta pero solo veo una pantalla gris (ver problema similar), he desinstalado la aplicación y he probado con otro servidor VNC llamado x11vnc.

root@kali:~# apt-get remove tightvncserver
root@kali:~# apt-get install x11vnc
root@kali:~# x11vnc

Con x11vnc y TightVNC como cliente Win ahora funciona a la perfección.

Ahora comienzo con Airmon-ng,  esta utilidad incluida en Kali permite configurar al tarjeta de red en modo promiscuo o modo monitor (ojo, el chipset del WiFi debe permitirlo).

ARCH=arm make

 

Máquina virtual Win7

Enlace de descarga:  Permite descargar máquinas virtuales Win7 con el propósito de probar IE, disponible para las aplicaciones de virtualización más populares como VirtualBox, HyperV o VMWare. 

La clave de la VM es “Passw0rd!” y la máquina expira al de 90 días (recomiendan hacer un snapshot de la máquina al comenzar).

El fichero que IE8 – Win7.ova (3,77 GB) es para usar con VirtualBox (ver enlaces externos para hacerlo).

Win7 en el primer arranque:

Enlaces externos

 

 

 

GitHub Pages: Webs estáticas para nuestros proyectos como un repositorio más

El famoso gestor de versiones de código fuente GitHub ofrece otra funcionalidad no tan conocida. Con GitHub Pages podemos crear portales Web estáticos para documentar un proyecto (sin apenas conocimiento de HTML y de forma rápida), o un perfil profesional por ejemplo como carta de presentación.  Las Webs funcionan igual que cualquier otro repositorio de código fuente (operaciones push, commit… desde nuestra computadora local) y se editan en texto plano en un fichero con sintaxis Markdown.

En lo que se refiere al aspecto visual no destaca mucho (tampoco creo que sea el propósito), GitHub ofrece una serie de themes limitados.

Este ejemplo es de una página con el theme Leap day  aplicado por ejemplo:

Como funciona

Vamos a empezar creando una página con uno de los themes disponibles en pocos minutos. Creamos un nuevo repositorio en nuestra cuenta de GitHubUna vez creado vamos a las opciones de configuración (“Settings”), dentro encontramos el apartado “GitHub Pages”:

Seleccionamos un Theme:

Ya hemos creado nuestra primera página (con contenidos de ejemplo). Podemos editar la página editando el archivo README.md desde GitHub.

En mi caso el resultado es el siguiente: https://ikerlandajuela.github.io/Windows-Presentation-Foundation/

El proyecto solo contiene dos ficheros: README.md (con el contenido de la página) y _config.yml.

_config.yml es un archivo especial donde se define el theme Jekyll Midnight.

Enlaces externos