Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Computer Skills
  2. OS X

Verificación de Reddit desde OS X Terminal

by
Difficulty:IntermediateLength:ShortLanguages:

Spanish (Español) translation by GT (you can also view the original English article)

Screencast

Reddit es una red social que, en los últimos años, ha explotado en popularidad. Su modelo de contenido impulsado por el usuario lo convierte en un excelente lugar para encontrar noticias, humor, cosas que ni sabías que querías saber y algunas cosas que simplemente no puedes dejar de ver. ¡Es genial!

Gran parte de la popularidad de Reddit proviene de su noción de sub-reddits. Que no son más que publicaciones agrupadas por una persona, lugar, artículo o ideal. Como ejemplo, uno de los sub-reddits más populares hasta la fecha es r / aww. Un sub-reddit lleno de imágenes de animales adorables.

Si tan solo hubiera una forma de navegar por Reddit en el trabajo sin llamar demasiado la atención (o tu pantalla).

En este tutorial, te enseñaré cómo navegar por Reddit desde Terminal. Aprenderás:

  • Sintaxis básica del código Ruby
  • El feed JSON de Reddit y cómo te ayudará a ejecutar el script
  • Cómo analizar el feed JSON y mostrarlo
  • Cómo volver un alias al script desde un comando simple

Conceptos básicos de Ruby

Lo primero que necesitas saber es cómo enviar mensajes a la terminal y cómo obtener la entrada del usuario desde la terminal. Estos métodos son gets y puts, respectivamente.

Siempre que desees mostrar algo en la pantalla, utiliza el método de puts y ajusta el texto entre comillas. Siempre que necesites obtener información del usuario, utiliza el método de gets.

Ahora necesitas una forma de almacenar todo lo que ingrese el usuario. Para hacer esto, usarás variables. Para declarar una variable, asígnale un nombre, luego iníciala seguida de un = y finalmente agrega un valor para almacenar en ella.

Entonces, las primeras líneas del programa deberían leerse así:

En la primera línea, estás saludando al usuario y le estás pidiendo que elija un sub-reddit. En la segunda línea, estás creando la variable sub y dándole el valor de lo que sea que escriba el usuario.

¡El chomp! y los métodos downcase simplemente eliminan los espacios en blanco finales y hacen que toda la entrada sea mínima, lo que agrega un poco de consistencia. Ahora puedes incluir esa variable en cualquier lugar de la salida envolviéndola en # {}. A esto se le llama interpolación de cadenas.

Feed JSON de Reddit

JSON son las siglas de Javascript Object Notation. En términos simples, es solo una excelente manera de obtener todos los datos de un sitio web en particular (que tiene una API JSON en su lugar) sin todo el marcado o estilo adicional.

En la terminal, no quieres ningún estilo o marca; solo los datos. Entonces JSON encaja bien aquí.

La API JSON de Reddit es muy fácil de usar. Agrega un .json a cualquier URL de Reddit que normalmente ingresarías en el navegador web. Como ejemplo: para obtener el feed JSON / r / aww, debe ir a http://www.reddit.com/r/aww.json.

The Reddit JSON feed of rawwThe Reddit JSON feed of rawwThe Reddit JSON feed of raww
El feed JSON de Reddit de / r / aww

Eso es una gran cantidad de información. Afortunadamente, Ruby ya tiene una forma sencilla de analizar JSON y de obtener solo la información que necesita.

Analizando el feed JSON

Para obtener el feed y analizarlo, deberás instalar algunas bibliotecas de Ruby existentes. En la terminal, ejecuta los siguientes comandos:

Luego agrega las siguientes líneas en la parte superior del archivo:

Faraday te permitirá usar Ruby para realizar llamadas a la URL en Internet y JSON te ayudará a analizar la información que obtengas. Una vez que tengas estas nuevas bibliotecas disponibles, puedes usar el siguiente código para:

  1. Tener la entrada del usuario
  2. Generar una URL
  3. Llamar a la URL y obtener retroalimentación JSON

Para iterar (o recorrer) cada una de las publicaciones, recupera y muestra cada una en un formato legible. Haz esto usando un for-loop. Aquí está el código que realiza esa tarea:

Si quieres tener la opción de abrir una de las publicaciones en el navegador predeterminado de Mac, ejecuta gem install launchy.

Luego agrégalo a la lista de otras bibliotecas que estás incluyendo al añadir require 'launchy' en la parte superior del archivo.

Finalmente agrega este fragmento de código debajo del for-loop:

El script completo debería verse así:

Guarda el archivo como check_reddit.rb en la carpeta Documentos. Para ejecutar el script, abre Terminal y ejecuta ruby ~ / Documents / check_reddit.rb.

Crear un alias para el script

Tener la capacidad de ejecutar ruby ~ / Documents / check_reddit.rb está muy bien, pero sería mejor si pudieras escribir check-reddit en la terminal y hacer que el script se ejecute mágicamente.

Para lograr esto, puedes poner un alias de la palabra check-reddit con el comando ruby ~ / Documents / check_reddit.rb. En la terminal, ejecuta nano ~ / .bash_profile. Esto cargará el archivo bash_profile en un editor de texto.

Arrastra hacia abajo el cursor para mover cualquier texto existente y agregar el alias check-reddit = 'ruby ~ / Documents / check_reddit.rb'en una nueva línea.

Para salir y guardar el archivo da clic en Control-X. Se te pedirá que guardar los cambios. Presiona la tecla Y luego Volver para confirmar. Ejecuta source ~ / .bash_profile para volver a cargar bash_profile en la Terminal.

Conclusión

A partir de ahora podrás ejecutar check-reddit en la terminal para navegar con estilo.

La capacidad de ver las 10 publicaciones principales en cualquier sub Reddit a través de la terminal es increíble. Te permite navegar rápidamente por Reddit, sin llamar la atención e incluso hace que parezca que estás trabajando.

En el camino también aprendiste algunas habilidades básicas de Ruby y JSON. ¡Buen trabajo!

Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.