Skip to content

Commit

Permalink
Integrating pug templates with dynamic data
Browse files Browse the repository at this point in the history
  • Loading branch information
Sorrel Harriet committed Sep 19, 2024
1 parent 66c296b commit c600620
Show file tree
Hide file tree
Showing 793 changed files with 84,012 additions and 3,380 deletions.
12 changes: 12 additions & 0 deletions data/definitions.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@

# LUNCH'N'LEARNS

If you're expecting people to give up their lunchtime, choose the type of activities and format sensitively so people have the opportunity to eat / draw breath.
Set expectations around how people should engage and interact.
https://www.hoppier.com/blog/lunch-and-learn
https://www.mindtools.com/atv697v/how-to-run-successful-lunch-and-learn-events
https://www.mindtools.com/akolpj7/how-to-run-a-world-cafe

# UNCONFERENCE

# PAIRING
Expand Down Expand Up @@ -106,3 +112,9 @@ A lightning talk is a short-form talk, usually lasting around 2-5 minutes. There
# DOCUMENTING

# CREATING SHARED RESOURCES

# OBSERVABILITY TOOLS

# TEAM HEALTH CHECKS


273 changes: 273 additions & 0 deletions data/elements.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,273 @@
[
{
"title" : "RETROSPECTIVES",
"description": "",
"links": [],
"icon": "bi-clock-history"
},
{
"title" : "DEMOS",
"description": "",
"links" :[],
"icon":"bi-tv"
},
{
"title" : "LUNCH'N'LEARNS",
"description": "If you're expecting people to give up their lunchtime, choose the type of activities and format sensitively so people have the opportunity to eat / draw breath. Set expectations around how people should engage and interact.",
"links": [
"https://www.hoppier.com/blog/lunch-and-learn",
"https://www.mindtools.com/atv697v/how-to-run-successful-lunch-and-learn-events",
"https://www.mindtools.com/akolpj7/how-to-run-a-world-cafe"
]
},
{
"title" : "UNCONFERENCE",
"description": "",
"links" :[]
},
{
"title" : "PAIRING",
"description": "Pairing essentially involves working in partnership with someone, in real-time, towards the same goal. It is typically practiced by developers when writing code, but you can pair on non-coding activities too. Pairing offers many benefits, not least in supporting person-to-person knowledge transfer and diversity of thinking. You should also consider the challenges associated with pairing and be mindful about when and how it is applied.",
"links" :[
"https://martinfowler.com/articles/on-pair-programming.html",
"https://sorrelharriet.medium.com/supporting-neurodiversity-in-paired-programming-8b250d2b5cab"
]
},
{
"title" : "MOBBING",
"description": "",
"links" :[]
},
{
"title" : "HACK DAYS",
"description": "",
"links" :[]
},
{
"title" : "PEER REVIEW",
"description": "",
"links" :[]
},
{
"title" : "SWARMING",
"description": "",
"links" :[]
},
{
"title" : "GROUP COACHING",
"description": "",
"links" :[]
},
{
"title" : "1-1 COACHING",
"description": "",
"links" :[]
},
{
"title" : "TEAM COACHING",
"description": "",
"links" :[]
},
{
"title" : "MENTORING",
"description": "",
"links" :[]
},
{
"title" : "COMMUNITIES OF PRACTICE",
"description": "",
"links" :[]
},
{
"title" : "WORKSHOPS",
"description": "",
"links" :[]
},
{
"title" : "BLAMELESS POST-MORTEMS",
"description": "",
"links" :[]
},
{
"title" : "GUEST SPEAKERS",
"description": "",
"links" :[]
},
{
"title" : "BOOK CLUBS",
"description": "",
"links" :[]
},
{
"title" : "DOJOS",
"description": "",
"links" :[]
},
{
"title" : "SPECIAL INTEREST CHANNELS",
"description": "",
"links" :[]
},
{
"title" : "'TODAY I LEARNED'",
"description": "",
"links" :[]
},
{
"title" : "BRAINSTORMING",
"description": "",
"links" :[]
},
{
"title" : "LEARNING BACKLOG",
"description": "",
"links" :[]
},
{
"title" : "BLOGGING",
"description": "",
"links" :[]
},
{
"title" : "SHARED SOURCE CODE REPOSITORY",
"description": "",
"links" :[]
},
{
"title" : "TESTS AS DOCUMENTATION",
"description": "",
"links" :[]
},
{
"title" : "CONFERENCES",
"description": "",
"links" :[]
},
{
"title" : "WORK SHADOWING",
"description": "",
"links" :[]
},
{
"title" : "GAME DAYS / SIMULATIONS",
"description": "",
"links" :[]
},
{
"title" : "SCENARIO-BASED LEARNING",
"description": "",
"links" :[]
},
{
"title" : "ONLINE COURSES",
"description": "",
"links" :[]
},
{
"title" : "EXPERIMENTS",
"description": "",
"links" :[]
},
{
"title" : "CODE REVIEW",
"description": "",
"links" :[]
},
{
"title" : "WIKI / KNOWLEDGE BASE",
"description": "",
"links" :[]
},
{
"title" : "GROUP PROBLEM-SOLVING",
"description": "",
"links" :[]
},
{
"title" : "IMPROVEMENT BLITZES",
"description": "",
"links" :[]
},
{
"title" : "SHATROOMS & CHATBOTS",
"description": "",
"links" :[]
},
{
"title" : "GIVING & RECEIVING FEEDBACK",
"description": "",
"links" :[]
},
{
"title" : "ASKING FOR HELP",
"description": "Sounds straightforward, yet people will often avoid asking for help for a multitude of reasons. Look for ways to normalise asking for help in your team(s), and ensure that the help people receive is actually helpful. For example, you might consider creating dedicated help channels where people can easily connect around a question or problem; you might work to foster a 'culture of help' in your organisation or team, which will most likely neccessitate a 'whole person' approach, as opposed to focusing soley on work matters; you might also give people a base level of teaching and mentoring skills to make them better helpers. Perhaps most importantly, foster a culture of collaboration and 'Teaming', whereby people will instinctively call on each other to solve a problem.",
"links" :[
"https://www.self.com/story/how-to-ask-for-help",
"https://www.youtube.com/watch?v=sZZHkqIY0Fo"
]
},
{
"title" : "ASKING REFLECTIVE QUESTIONS",
"description": "This is a powerful skill for learning that anyone can use to promote reflection in others. Used in teams, it not only fosters reflective inquiry, but may also help build trust and encourage diversity of thought. There are many tools available to help us develop our reflective questioning capability.",
"links" :[
"https://www.laas.consulting/resources/4As-reflective-questioning-framework.pdf"
]
},
{
"title" : "WALK & TALKS",
"description": "A walk and talk is simply a conversation away from the desk. You might combine it with another activity, such as walking the dog or visiting an art gallery. The change of environment and physical movement can stimulate fresh thinking and help you avoid other distractions and relational barriers associated with being in an office environment. Bear in mind this format may not be suitable for every topic of conversation, and that the activity and location should feel comfortable and accessible to all participants.",
"links" :[]
},
{
"title" : "PROCESSING PAUSES",
"description": "A processing pause means taking time to think and/or 'be' after an emotional or cognitively demanding experience. For example, processing pauses can be worked in and around meetings, workshops and other situations at work when you're having to react or problem-solve in the moment. During a processing pause you might want to write things down, reflect on a recent experience, or simply check in with yourself and how you are feeling in the moment.",
"links" :[]
},
{
"title" : "GUIDED EXPERIENCES",
"description": "A guided experience is a curated sequence of tasks that guide a person through a multistage process, possibly spanning multiple systems. For example, a guided experience could be used to support someone through their onboarding, run an experiment, or navigate a formal progression process. It's more than a 'to do' list, since it considers the goals and experiences of the person performing the tasks. Guided experiences can be administered in a multitude of ways, from a simple wiki page to a course on a company's Learning Management System (LMS).",
"links" :[]
},
{
"title" : "WATERCOOLER CHATS",
"description": "",
"links" :[]
},
{
"title" : "READING",
"description": "",
"links" :[]
},
{
"title" : "LIGHTNING TALKS",
"description": "A lightning talk is a short-form talk, usually lasting around 2-5 minutes. There are variations on the format, including the 'pecha kucha' and 'ignite talk' formats. Lightning talks are often given at conferences, but they can also be included in workplace events such as lunch'n'learns, demos and learning days. They are a great way to cultivate your presentation skills, consolidate and share learning, or invite feedback and discussion around a problem or idea. For those in the audience, lightning talks are an opportunity to practice active listening, reflective questioning and giving feedback.",
"links" :[
"https://ce.fresno.edu/news/what-is-a-pecha-kucha-presentation/",
"https://scottberkun.com/2009/how-to-give-a-great-ignite-talk"
]
},
{
"title" : "DOCUMENTING",
"description": "",
"links" :[]
},
{
"title" : "CREATING SHARED RESOURCES",
"description": "",
"links" :[]
},
{
"title" : "OBSERVABILITY TOOLS",
"description": "",
"links" :[]
},
{
"title" : "TEAM HEALTH CHECKS",
"description": "",
"links" :[
"https://getdx.com/products/devex360/",
"https://https://www.teamperature.com/"
]
}
]

2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Periodic Table of Learning Elements</title>
<title>A Toolbox for Continuous Learning</title>
<link rel="stylesheet" href="css/bootstrap.min.css"/>
<link rel="stylesheet" href="font/bootstrap-icons.css">
<link rel="preconnect" href="https://fonts.googleapis.com">
Expand Down
13 changes: 11 additions & 2 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,23 @@ const express = require("express");
const path = require('path');
const app = express();
const port = 3000;
const data = require('./data/elements.json');
const helpers = require("./modules/helpers");

app.use(express.static(__dirname + '/static'));
app.use(express.static(__dirname + '/node_modules/bootstrap/dist'));
app.use(express.static(__dirname + '/node_modules/bootstrap-icons'));

app.set('views', './views')
app.set('view engine', 'pug')

//app.get("/", (req, res) => {
// res.sendFile(path.join(__dirname, '/index.html'));
//});

app.get("/", (req, res) => {
res.sendFile(path.join(__dirname, '/index.html'));
});
res.render('index', { title: 'Toolbox for Continuous Learning', data: data })
})

app.listen(port, () => {
console.log(`Example app listening on port ${port}!`);
Expand Down
9 changes: 9 additions & 0 deletions modules/helpers.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
function range(start, stop, step) {
return Array.from(
{ length: (stop - start) / step + 1 },
(value, index) => start + index * step
);
}

module.exports = { range };

1 change: 1 addition & 0 deletions node_modules/.bin/acorn

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/parser

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions node_modules/.bin/resolve

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit c600620

Please sign in to comment.