A tu propio ritmo

Explora nuestra extensa colección de cursos diseñados para ayudarte a dominar varios temas y habilidades. Ya seas un principiante o un aprendiz avanzado, aquí hay algo para todos.

Bootcamp

Aprende en vivo

Únete a nosotros en nuestros talleres gratuitos, webinars y otros eventos para aprender más sobre nuestros programas y comenzar tu camino para convertirte en desarrollador.

Próximos eventos en vivo

Catálogo de contenidos

Para los geeks autodidactas, este es nuestro extenso catálogo de contenido con todos los materiales y tutoriales que hemos desarrollado hasta el día de hoy.

Tiene sentido comenzar a aprender leyendo y viendo videos sobre los fundamentos y cómo funcionan las cosas.

Buscar en lecciones


IngresarEmpezar
← Regresar a lecciones
Editar en Github

configuracion-de-leanrpack

El archivo learn.json

El archivo learn.json es donde se establecen todas las configuraciones del instructor. Estas son las propiedades que puedes cambiar en la configuración:

  • port: El puerto donde se alojarán las instrucciones. (Por defecto: 3000).

  • authentication: Es un objeto que contiene las opciones de autenticación. Tiene las siguientes propiedades:

    • mandatory: Este es un booleano que indica si la autenticación es obligatoria. Si es así, el usuario no podrá iniciar el tutorial sin iniciar sesión.

    Ejemplo:

    1"authentication": { 2 "mandatory": true 3}
  • assessment: Es un objeto que contiene las opciones de evaluación. Tiene las siguientes propiedades:

    • maxQuizRetries: Este es un número que indica la cantidad máxima de veces que un usuario puede reintentar un cuestionario. Por defecto, esto está configurado en 3.

    Ejemplo:

    1"assessment": { 2 "maxQuizRetries": 3 3}
  • editor: El editor será el objeto con todas las opciones del editor, que son las siguientes:

    • mode: El modo puede ser extension (cuando se usa el complemento de vscode) o preview (cuando se trabaja localmente sin vscode).
    • agent: El agente es donde se mostrarán las instrucciones, puede ser vscode, os.
    • version: Esto está relacionado con la versión de la interfaz de usuario, por defecto, se usará la versión más nueva de la interfaz de usuario, de todos modos, puedes usar una versión anterior. La última versión de LearnPack es 5.0 (es suficiente usar los dos primeros números de una versión, LearnPack usará la última 5.0.x versión).

    Example:

    1"editor": { 2 "mode": "extension", // or "preview" 3 "agent": "vscode", // or "os" 4 "version": "5.0" 5}
  • dirPath: La ruta al directorio de configuración, por defecto este directorio se llamará “.learn” y estará ubicado en la raíz del proyecto.

  • configPath: La ruta al archivo de configuración, este archivo se llamará learn.json por defecto.

  • outputPath: La ruta a la carpeta donde se ubicará la salida de los ejercicios. Será .learn/dist por defecto.

  • publicPath: La ruta del dominio donde se alojará el resultado. Su valor será /preview por defecto.

  • publicUrl: La URL donde se alojarán las instrucciones, su valor depende del agente que estés usando.

  • language: El lenguaje de programación utilizado en el tutorial. Se puede configurar en auto si estás usando varios lenguajes de programación, LearnPack detectará automáticamente el lenguaje.

  • grading: El modo de calificación del tutorial. Puedes ver más sobre los modos de calificación aquí: Modos de Calificación.

  • exercisesPath: La ruta a la carpeta donde se encuentran los ejercicios. Podrían estar ubicados en la raíz del proyecto.

  • disabledActions: Será un arreglo con las acciones que te gustaría deshabilitar, es decir: Puedes deshabilitar la opción de tener una prueba en tu tutorial mientras arreglas un error. Puedes deshabilitar las siguientes acciones: Build, Reset, Test y Tutorial.

  • slug: El nombre del tutorial. Se crea automáticamente cuando creas el tutorial, pero también puedes cambiarlo más tarde.

  • title: El título del tutorial.

  • preview: Es una URL de imagen que se puede usar para la introducción de tus ejercicios.

  • repository: El enlace donde se aloja el repositorio del tutorial.

  • description: La descripción del tutorial.

  • duration: El tiempo estimado que debería llevarte terminar el tutorial.

  • difficulty: La dificultad del tutorial.

  • autoPlay: Te permitirá decidir si LearnPack debería comenzar automáticamente al abrir el repositorio en vscode.

  • projectType: Puede ser tutorial o project. Usa el valor tutorial cuando sepas que learnpack debe ser interactivo con next.

  • autoStart: Te permitirá decidir si LearnPack debería comenzar automáticamente al abrir el repositorio en vscode.

  • video: Un objeto que contiene una propiedad intro, que es un objeto que tiene como claves los idiomas y como valores una URL para un video introductorio del tutorial en cada idioma que desees. Por ejemplo:

    1"video": { 2 "intro": { 3 "es": "www.ejemplo.url", 4 "en": "www.ejemplo_video.url" 5 } 6}
  • bugs: Añade un enlace donde los alumnos pueden reportar errores encontrados en tu tutorial.

  • webpackTemplate: Permitirá a los creadores tener su propia plantilla de webpack.

  • delivery: Permite imponer un método de entrega específico que los estudiantes deben usar al entregar la solución del tutorial completado. Por ejemplo:

1"delivery": { 2 "instructions": { 3 "us": "Pase the URL of the Google Sheets template with the different strategies discussed during the game", 4 "es": "Agrega el URL al document de Google Sheets con las diferentes strategies discutidas" 5 }, 6 "formats": ["url"], 7 "regex": "https://docs.google.com/" 8}

Plugins de Compilador

LearnPack tiene algunos plugins que te permiten compilar y probar tutoriales en diferentes lenguajes. Los lenguajes cubiertos por LearnPack hasta ahora son: python, javascript, html, css, dom, react.

Estos son los plugins para los lenguajes mencionados:

  • @learnpack/html
  • @learnpack/node
  • @learnpack/python
  • @learnpack/dom
  • @learnpack/react

PS: Cuando uses uno de estos lenguajes con LearnPack, tienes que instalar el plugin correspondiente para compilar y probar los ejercicios. Así es como instalas los plugins:

1$ learnpack plugins:install <nombre-del-plugin>

Por ejemplo, vamos a instalar @learnpack/html:

1learnpack plugins:install @learnpack/html

Pero actualmente LearnPack es capaz de instalar el plugin por sí mismo basado en los ejercicios que has agregado.

Integración con Gitpod

Gitpod es una herramienta increíble que puede ayudar a la experiencia del usuario de tu tutorial al permitir una forma muy simple de usar LearnPack.

Usar Gitpod en tu tutorial permitirá a los alumnos acceder y comenzar los tutoriales solo con hacer clic una vez.

Integración con Codespaces

Codespaces proporciona un entorno de desarrollo en la nube potente, personalizable y escalable. LearnPack puede funcionar sin problemas dentro de un Codespace, permitiendo a los alumnos acceder y comenzar tutoriales con una configuración mínima. Esta integración asegura que todas las dependencias y herramientas necesarias estén preconfiguradas, haciendo el proceso de aprendizaje suave y eficiente.

Al aprovechar Codespaces, los usuarios pueden disfrutar de un entorno de desarrollo completamente equipado directamente en su navegador, lo cual es especialmente beneficioso para tutoriales que requieren configuraciones específicas o cadenas de herramientas extensas. Esta integración simplifica el proceso de configuración inicial, reduce errores potenciales y permite a los alumnos concentrarse más en aprender en lugar de configurar su entorno de desarrollo.

Esta es un ejemplo de configuración de codespaces:

.devcontainer/devcontainers.json

1{ 2 "name": "Node.js", 3 "image": "mcr.microsoft.com/devcontainers/javascript-node:0-18", 4 "customizations": { 5 "vscode": { 6 "settings": { 7 "editor.defaultFormatter": "esbenp.prettier-vscode", 8 "workbench.editorAssociations": { 9 "*.md": "vscode.markdown.preview.editor" 10 } 11 }, 12 "extensions": ["learn-pack.learnpack-vscode"] 13 } 14 }, 15 16 "onCreateCommand": "npm i jest@24.8.0 -g && npm i @learnpack/learnpack@2.1.39 -g && learnpack plugins:install @learnpack/node@1.1.5 && learnpack plugins:install @learnpack/html@1.1.2" 17}