Skip to content

Commit cf32f09

Browse files
committed
Add initial League class template and setup files
1 parent 6cfaf6d commit cf32f09

File tree

10 files changed

+200
-2
lines changed

10 files changed

+200
-2
lines changed

.devcontainer/devcontainer.json

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
2+
// README at: https://github.com/devcontainers/templates/tree/main/src/python
3+
{
4+
"name": "Python 3",
5+
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
6+
"image": "mcr.microsoft.com/devcontainers/python:1-3.12-bullseye",
7+
"features": {
8+
"ghcr.io/va-h/devcontainers-features/uv:1": {
9+
"version": "latest"
10+
},
11+
"ghcr.io/devcontainers/features/desktop-lite:1": {
12+
"version": "latest",
13+
"noVncVersion": "1.2.0",
14+
"password": "noPassword",
15+
"webPort": "6080",
16+
"vncPort": "5901"
17+
}
18+
}
19+
20+
// Features to add to the dev container. More info: https://containers.dev/features.
21+
// "features": {},
22+
23+
// Use 'forwardPorts' to make a list of ports inside the container available locally.
24+
// "forwardPorts": [],
25+
26+
// Use 'postCreateCommand' to run commands after the container is created.
27+
// "postCreateCommand": "pip3 install --user -r requirements.txt",
28+
29+
// Configure tool-specific properties.
30+
// "customizations": {},
31+
32+
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
33+
// "remoteUser": "root"
34+
}

.devcontainer/postCreateCommand.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#! /usr/bin/bash
2+
3+
ext_ur='https://github.com/league-infrastructure/league-vscode-ext/releases/download/v1.20250510.3/jtl-syllabus-v1.20250510.3.vsix'
4+
ext_path=/vscode/extensionsCache/jtl-syllabus.vsix
5+
6+
curl -L -o "$ext_path" "$ext_ur"
7+
if [ -f "$ext_path" ]; then
8+
echo "Installing JTL Syllabus extension..."
9+
code --install-extension "$ext_path"
10+
else
11+
echo "Failed to download JTL Syllabus extension."
12+
fi
13+
14+
pipx install jtl-syllabus

.github/dependabot.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for more information:
4+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5+
# https://containers.dev/guide/dependabot
6+
7+
version: 2
8+
updates:
9+
- package-ecosystem: "devcontainers"
10+
directory: "/"
11+
schedule:
12+
interval: weekly

.vscode/settings.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"files.exclude": {
3+
"**/.git": true,
4+
"**/.svn": true,
5+
"**/.hg": true,
6+
"**/.DS_Store": true,
7+
"**/Thumbs.db": true,
8+
"**/*.crswap": true,
9+
".git": true,
10+
".github": true,
11+
"**/.gitignore": true,
12+
".gitattributes": true,
13+
".pylintrc": true,
14+
".vscode": true,
15+
".yarn": true,
16+
".devcontainer": true,
17+
"**/node_modules": true,
18+
"**/.ipynb_checkpoints": true,
19+
".venv": true,
20+
".lib": true,
21+
"**/.jtl": true,
22+
"requirements.txt": true,
23+
".lessons": true
24+
}
25+
}

README.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,7 @@
1-
# python-class-devcontainer
2-
A Python class template
1+
# League Class Template
2+
3+
This repo is a template for League classes, and it is also a class that will
4+
teach you how to create a League Class. To get started, you should:
5+
6+
1) CLick on the flag icon in the Activity Bar which will either be on the left or bottom of your screen.
7+
2)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
["0","1"]

lessons/.jtl/syllabus.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name: The Title of the Course, From the README Title
2+
description: Course description, from the README frontmatter
3+
module_dir: ..
4+
uid: eUraqfUM
5+
modules:
6+
- name: Module 1
7+
lessons:
8+
- name: Getting Started
9+
exercise: 10_Module_1/10_Getting_Started.ipynb
10+
- name: Module 2
11+
lessons:
12+
- name: Testing Your Class
13+
exercise: 20_Module_2/10_Testing_Your_Class.ipynb
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "markdown",
5+
"id": "b468cf69",
6+
"metadata": {},
7+
"source": [
8+
"# Creating League Lessons\n",
9+
"\n",
10+
"This is a guide to creating League Lessons, using Github Codespaces and the `syl` syllabus generation program. \n",
11+
"\n",
12+
"There are many forms of League Courses, each tailored to a specific type of class. This guide will show you how to create a course for teaching programming, computer science or other software topics. These courses are implemented using:\n",
13+
"\n",
14+
"* Github codespaces, a web-based development environment\n",
15+
"* The `syl` syllabus generation program, which creates a syllabus from a set of lessons\n",
16+
"\n"
17+
]
18+
},
19+
{
20+
"cell_type": "markdown",
21+
"id": "9431dddc",
22+
"metadata": {},
23+
"source": [
24+
"## Overview of Syl Courses\n",
25+
"\n",
26+
"\n",
27+
"\n",
28+
"\n"
29+
]
30+
},
31+
{
32+
"cell_type": "markdown",
33+
"id": "ecf678e9",
34+
"metadata": {},
35+
"source": []
36+
}
37+
],
38+
"metadata": {
39+
"kernelspec": {
40+
"display_name": "Python 3",
41+
"language": "python",
42+
"name": "python3"
43+
},
44+
"language_info": {
45+
"name": "python",
46+
"version": "3.12.1"
47+
}
48+
},
49+
"nbformat": 4,
50+
"nbformat_minor": 5
51+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "markdown",
5+
"id": "b468cf69",
6+
"metadata": {},
7+
"source": [
8+
"# Creating League Lessons\n",
9+
"\n",
10+
"This is a guide to creating League Lessons. \n"
11+
]
12+
},
13+
{
14+
"cell_type": "code",
15+
"execution_count": null,
16+
"id": "9431dddc",
17+
"metadata": {},
18+
"outputs": [],
19+
"source": [
20+
"\n",
21+
"\n"
22+
]
23+
}
24+
],
25+
"metadata": {
26+
"kernelspec": {
27+
"display_name": "Python 3",
28+
"language": "python",
29+
"name": "python3"
30+
},
31+
"language_info": {
32+
"name": "python",
33+
"version": "3.12.1"
34+
}
35+
},
36+
"nbformat": 4,
37+
"nbformat_minor": 5
38+
}

lessons/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
description: Course description, from the README frontmatter
3+
---
4+
5+
# The Title of the Course, From the README Title

0 commit comments

Comments
 (0)