diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index edd9ac6c3..700bc581d 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -1,3 +1,7 @@
+# WARNING MAJOR STRUCTURAL CHANGE IN PROGRESS 12 JAN 2024
+
+Hello contributor! In between you opening this PR and you merging it, you may find a large conflict appears. This is because this site will be broken down into Hugo modules in the same way CodeYourFuture/curriculum-labs is currently structured. The platform (features) will move into the common-theme module and the content (text) will move into the common-content module. The pages will move into the organisation directory. (org-cyf for CYF and org-mcb for MigraCode) You will need to find the new location of your content and move it there. If you are unsure, please ask in the comment thread of this ticket.
+
## What does this change?
Module:
diff --git a/.github/workflows/check-consistency.yml b/.github/workflows/check-consistency.yml
new file mode 100644
index 000000000..10eb7df0f
--- /dev/null
+++ b/.github/workflows/check-consistency.yml
@@ -0,0 +1,19 @@
+name: Check consistency
+
+on:
+ pull_request:
+ workflow_dispatch:
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Setup Go
+ uses: actions/setup-go@v4
+ with:
+ go-version: 1.21
+ - name: Build tooling
+ run: (cd tooling/go && go build ./cmd/local-overrides-enforcer)
+ - name: Check consistency
+ run: ./tooling/go/local-overrides-enforcer
diff --git a/.github/workflows/test-tooling.yml b/.github/workflows/test-tooling.yml
new file mode 100644
index 000000000..af6199388
--- /dev/null
+++ b/.github/workflows/test-tooling.yml
@@ -0,0 +1,17 @@
+name: Test tooling
+
+on:
+ pull_request:
+ workflow_dispatch:
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Setup Go
+ uses: actions/setup-go@v4
+ with:
+ go-version: 1.21
+ - name: Run tooling tests
+ run: cd tooling/go && go test ./...
diff --git a/layouts/shortcodes/limit.html b/CITATION.cff
similarity index 100%
rename from layouts/shortcodes/limit.html
rename to CITATION.cff
diff --git a/README.md b/README.md
index 63673bf9e..db9e06df9 100644
--- a/README.md
+++ b/README.md
@@ -1,175 +1,60 @@
-# Code Your Future Curriculum
+# Curriculum Platform
-[![Netlify Status](https://api.netlify.com/api/v1/badges/34db2751-bd7a-4828-a54d-787fa17b11e9/deploy-status)](https://app.netlify.com/sites/cyf-curriculum/deploys)
+## What is it?
-## Tools
+This is a white label multi-tenant platform for us and our code school friends to use to manage our curricula. It's built on top of [Hugo](https://gohugo.io/) and [Netlify CMS](https://www.netlifycms.org/).
-- [Hugo](https://gohugo.io/) - Static site generator
-- [Hugo Pipes](https://gohugo.io/hugo-pipes/introduction/) - Asset pipeline
-- [Netlify](https://www.netlify.com/) - Hosting and deployment
-- [GitHub](https://github.com/CodeYourFuture/CYF-Signposts) - Source code repository
-- [Bash](https://www.gnu.org/software/bash/) - Bash script to create new module structures
+The platform, layout, styles and components are all developed in the Hugo module [/common-theme](/common-theme).
-## Developing the source website
+The content is developed in the Hugo module [/common-content](/common-content). This content is all headless blocks. It doesn't create any pages on your site unless you call it somewhere.
-### To install
+Multi-language support is provided by [Hugo's i18n support](https://gohugo.io/content-management/multilingual/).
-```bash
-brew install hugo
-```
-
-### To run locally
-
-#### Generate a token
-
-You'll need to get a fine-grained GitHub API token which allows read-only access to all public CYF repos from [this page](https://github.com/settings/tokens?type=beta).
-
-Click "Generate new token", enter a token name (can be anything), and how long you want the token to last (if you're doing a one-off contribution, pick a short value; if you're going to be a regular contributor, maybe a longer value).
+Each org builds its own Hugo site that uses the common theme and content modules, and then makes any customisations they need and deploys it wherever they want.
-Make sure the Resource owner is _your_ account if you have a choice.
+## Examples
-The "Repository access" you need is "Public repositories (read-only)", and you don't need any account permissions:
+- [CodeYourFuture](/org-cyf/) => [https://org-cyf-theme.netlify.app/](https://org-cyf-theme.netlify.app/)
+- [MigraCode](/org-mcb/) => [https://org-mcb-theme.netlify.app/](https://org-mcb-theme.netlify.app/) (couldn't find an svg logo)
-
-Open to view screenshot of the required permissions
+## To build a new site
-![screenshot of required permissions](./readme_repository_access.png)
-
-
-#### Set up `.env`
-
-Copy the `.env.example` file over and name it `.env`. Edit the file and then change the line that says `CYF_CURRICULUM_GITHUB_BEARER_TOKEN` to contain the token that you have generated earlier.
-
-#### Run this command
-
-Run this command in a terminal, substituting in the github API token you generated above:
+1. In the root of this repo, run:
```bash
-npm i
-npm run start:dev
+hugo new site org-
+cd org-
```
-If you find the build is very slow, and don't care about the issues being pulled into backlogs being precise, you can run:
-
-```bash
-npm run start:dev -- --environment issues-are-cached-and-incomplete
-```
-
-### To create a new module
-
-```bash
-./create_module
-```
-
-### Linting
-
-All CYF repos use the Prettier standard. However, Prettier doesn't have golang by default so you must install a plugin for it to work in VSCode. I've included it in the package.json.
-
-### Site Search
-
-PageFind runs the search. https://pagefind.app/
-It's in the build command on Netlify `hugo && npx pagefind --source "public"`
-If you need to develop on this locally, run:
+2. Initialise your new site as a hugo module, as only modules can import modules:
```zsh
-rm -rf public &&
-hugo && npx pagefind --source "public" --serve
+hugo mod init github.com/CodeYourFuture/curriculum/org-
```
-And go to http://localhost:1414/ to see the PageFind-served site with search enabled; but there is no hot reload. You can run hugo on http://localhost:1313/ at the same time.
-
-## Contributing
-
-To add content via GitHub, open a PR, following the CONTRIBUTING.md guidelines and PR template.
-
-[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](./contributing)
-
-
-
-[![All Contributors](https://img.shields.io/badge/all_contributors-11-orange.svg?style=flat-square)](#contributors-)
-
-
-
-Code Your Future helps people who need it most to reach their goal of working in tech. Our innovative programme supports people all the way into secure employment as a software engineer.
-
-**Our trainees are people living in poverty**, disabled people, long term unemployed, refugees, asylum seekers, ex-offenders, single parents, and anyone else facing material barriers to digital education and employment in tech.
-
-**Our graduates work in great companies** including Capgemini, Deloitte, JP Morgan, Financial Times, AWS, Thoughtworks, the BBC, AND Digital and many more.
-
-**All our classes are free and our teachers are volunteers.** Our volunteers are professionals working in the local tech sector and they lead our course delivery.
-
-**We build communities and networks of inclusion everywhere we go**, bringing different worlds together, and integrating people into their local communities, teachers and learners both. We come together for a live session at the weekend, and trainees work through coursework and projects 20 hours a week, independently around their commitments, including day jobs.
-
-**CYF was founded by migrants for refugees**, and now welcomes everyone facing material barriers to technical education. Starting with a class of 6 people in 2016, and growing every day, we have helped over 240 people start their career in tech.
-
-## Our Approach
-
-Our PERN software development programme is part-time, vocational and practical. We teach functional programming with React, Jest, Postgres, Node, Express. We press hard on Agile, teamworking, conflict management, and self-study. We drill with Codewars problems and Codility tech tests for discipline and fluency, and encourage self-directed passion projects for creativity and innovation.
-
-We do our work in public; our courses are free and open source and we develop them in public as FOSS projects on GitHub. Right here!
-
-To graduate at CYF our trainees must deliver, deploy, and demo a working MVP of a full-stack web application, typically for a real NGO we partner with, in a cross-functional Agile team.
-
-## Documentation
-
-In this curriculum you'll find the content that we teach at CodeYourFuture. For other operational details you should read [our documentation website](https://docs.codeyourfuture.io).
-
-## Contributing
+Then add the common theme and content modules as hugo modules to hugo.toml:
+
+```toml
+[module]
+ [[module.imports]]
+ path = "github.com/CodeYourFuture/curriculum/common-theme"
+ [[module.imports]]
+ path = "github.com/CodeYourFuture/curriculum/common-content"
+ [[module.imports.mounts]]
+ source = "en"
+ target = "content"
+```
-Please read CONTRIBUTING.MD
+Look at the [org-cyf](/org-cyf/) and [org-mcb](/org-mcb/) examples for more details and options.
-## Contributors β¨
+To customise the css, make a dir `assets/custom-theme` and throw any scss in there. It will be compiled and added last.
-Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
+To add site logo/s, make a dir and add svgs to `assets/custom-images/site-logo/`. They will be added to the site header.
-
-
-
-
+Add your content to `content/` and customise the site config in `config.toml`. Please contribute any improvements you make back to the common theme and content modules.
-
-
+For each module you import, add a `replace` directive to your `go.mod` file - if you forget to do this, you won't get live updates to your site when shared content changes. CI will remind you if you forget.
-
+## To locally develop your site
-This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
+`cd` into the site you wish to develop, and run `hugo server` to get a live preview.
diff --git a/archetypes/default.md b/archetypes/default.md
deleted file mode 100644
index 00e77bd79..000000000
--- a/archetypes/default.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: "{{ replace .Name "-" " " | title }}"
-date: {{ .Date }}
-draft: true
----
-
diff --git a/content/en/blocks/afternoon-break/index.md b/common-content/en/blocks/afternoon-break/index.md
similarity index 100%
rename from content/en/blocks/afternoon-break/index.md
rename to common-content/en/blocks/afternoon-break/index.md
diff --git a/content/en/blocks/backlog/index.md b/common-content/en/blocks/backlog/index.md
similarity index 100%
rename from content/en/blocks/backlog/index.md
rename to common-content/en/blocks/backlog/index.md
diff --git a/content/en/blocks/blockers/index.md b/common-content/en/blocks/blockers/index.md
similarity index 100%
rename from content/en/blocks/blockers/index.md
rename to common-content/en/blocks/blockers/index.md
diff --git a/content/en/blocks/coding-101/index.md b/common-content/en/blocks/coding-101/index.md
similarity index 100%
rename from content/en/blocks/coding-101/index.md
rename to common-content/en/blocks/coding-101/index.md
diff --git a/content/en/blocks/coursework/index.md b/common-content/en/blocks/coursework/index.md
similarity index 100%
rename from content/en/blocks/coursework/index.md
rename to common-content/en/blocks/coursework/index.md
diff --git a/content/en/blocks/energiser/index.md b/common-content/en/blocks/energiser/index.md
similarity index 100%
rename from content/en/blocks/energiser/index.md
rename to common-content/en/blocks/energiser/index.md
diff --git a/content/en/blocks/kata/index.md b/common-content/en/blocks/kata/index.md
similarity index 100%
rename from content/en/blocks/kata/index.md
rename to common-content/en/blocks/kata/index.md
diff --git a/content/en/blocks/lunch/index.md b/common-content/en/blocks/lunch/index.md
similarity index 100%
rename from content/en/blocks/lunch/index.md
rename to common-content/en/blocks/lunch/index.md
diff --git a/content/en/blocks/morning-break/index.md b/common-content/en/blocks/morning-break/index.md
similarity index 100%
rename from content/en/blocks/morning-break/index.md
rename to common-content/en/blocks/morning-break/index.md
diff --git a/content/en/blocks/pd-placeholder/index.md b/common-content/en/blocks/pd-placeholder/index.md
similarity index 100%
rename from content/en/blocks/pd-placeholder/index.md
rename to common-content/en/blocks/pd-placeholder/index.md
diff --git a/content/en/snippets/requirements.md b/common-content/en/blocks/requirements/index.md
similarity index 73%
rename from content/en/snippets/requirements.md
rename to common-content/en/blocks/requirements/index.md
index f0e1a3f06..ad2a00563 100644
--- a/content/en/snippets/requirements.md
+++ b/common-content/en/blocks/requirements/index.md
@@ -1,3 +1,17 @@
++++
+title = 'Understanding Requirements'
+headless = true
+time = 20
+facilitation = false
+vocabulary=["Requirements", "User Stories"]
+emoji= 'π§©'
+[objectives]
+1='Identify described requirements'
+ 2='Identify extra requirements from your own experience'
+ 3='Resolve trade-offs in conflicting requirements'
+ 4='Translate requirements into high-level design outlines'
++++
+
Communication is _hard_. Today, letβs explore some ways we communicate with each other in software development. Itβs not enough to draw a picture of a website and assume the other person will build what you imagine. Itβs never a good idea to assume shared context or shared interpretations.
So how do we understand what to do? By understanding **requirements**.
@@ -17,9 +31,3 @@ We're going to think about a few projects and discover some requirements. This i
{{}}
To make great software, we need to think about people, not just code.
{{ }}
-
-### User Stories
-
-We can discover requirements with something called 'User Stories'. The simplest user story looks like this:
-
-> As a [type of user], I can [achieve some goal].
diff --git a/content/en/blocks/retro/index.md b/common-content/en/blocks/retro/index.md
similarity index 100%
rename from content/en/blocks/retro/index.md
rename to common-content/en/blocks/retro/index.md
diff --git a/content/en/blocks/search-terms/index.md b/common-content/en/blocks/search-terms/index.md
similarity index 100%
rename from content/en/blocks/search-terms/index.md
rename to common-content/en/blocks/search-terms/index.md
diff --git a/content/en/blocks/spaced-repetition/index.md b/common-content/en/blocks/spaced-repetition/index.md
similarity index 100%
rename from content/en/blocks/spaced-repetition/index.md
rename to common-content/en/blocks/spaced-repetition/index.md
diff --git a/content/en/blocks/study-45/index.md b/common-content/en/blocks/study-45/index.md
similarity index 100%
rename from content/en/blocks/study-45/index.md
rename to common-content/en/blocks/study-45/index.md
diff --git a/content/en/blocks/study-60/index.md b/common-content/en/blocks/study-60/index.md
similarity index 100%
rename from content/en/blocks/study-60/index.md
rename to common-content/en/blocks/study-60/index.md
diff --git a/content/en/blocks/study-90/index.md b/common-content/en/blocks/study-90/index.md
similarity index 100%
rename from content/en/blocks/study-90/index.md
rename to common-content/en/blocks/study-90/index.md
diff --git a/content/en/blocks/study-group/index.md b/common-content/en/blocks/study-group/index.md
similarity index 100%
rename from content/en/blocks/study-group/index.md
rename to common-content/en/blocks/study-group/index.md
diff --git a/content/en/blocks/success-criteria/index.md b/common-content/en/blocks/success-criteria/index.md
similarity index 100%
rename from content/en/blocks/success-criteria/index.md
rename to common-content/en/blocks/success-criteria/index.md
diff --git a/content/en/blocks/telephone/index.md b/common-content/en/blocks/telephone/index.md
similarity index 100%
rename from content/en/blocks/telephone/index.md
rename to common-content/en/blocks/telephone/index.md
diff --git a/content/en/blocks/useful-links/index.md b/common-content/en/blocks/useful-links/index.md
similarity index 100%
rename from content/en/blocks/useful-links/index.md
rename to common-content/en/blocks/useful-links/index.md
diff --git a/content/en/blocks/user-stories/index.md b/common-content/en/blocks/user-stories/index.md
similarity index 97%
rename from content/en/blocks/user-stories/index.md
rename to common-content/en/blocks/user-stories/index.md
index 023f6a43d..219a769b9 100644
--- a/content/en/blocks/user-stories/index.md
+++ b/common-content/en/blocks/user-stories/index.md
@@ -12,8 +12,6 @@ emoji= 'π§©'
4='Translate requirements into high-level design outlines'
+++
-{{< snippet "snippets/requirements.md" >}}
-
#### Imagine a coursework tracker
As trainees, you have coursework to do. Imagine a website which tracks how coursework is going for you all. Thinking about that website, some user stories could be:
diff --git a/content/en/blocks/wordle/index.md b/common-content/en/blocks/wordle/index.md
similarity index 100%
rename from content/en/blocks/wordle/index.md
rename to common-content/en/blocks/wordle/index.md
diff --git a/content/en/databases/blocks/communicating-with-db/index.md b/common-content/en/module/databases/communicating-with-db/index.md
similarity index 100%
rename from content/en/databases/blocks/communicating-with-db/index.md
rename to common-content/en/module/databases/communicating-with-db/index.md
diff --git a/content/en/databases/blocks/creating-a-table/index.md b/common-content/en/module/databases/creating-a-table/index.md
similarity index 100%
rename from content/en/databases/blocks/creating-a-table/index.md
rename to common-content/en/module/databases/creating-a-table/index.md
diff --git a/content/en/databases/blocks/crud/crud.png b/common-content/en/module/databases/crud/crud.png
similarity index 100%
rename from content/en/databases/blocks/crud/crud.png
rename to common-content/en/module/databases/crud/crud.png
diff --git a/content/en/databases/blocks/crud/index.md b/common-content/en/module/databases/crud/index.md
similarity index 100%
rename from content/en/databases/blocks/crud/index.md
rename to common-content/en/module/databases/crud/index.md
diff --git a/content/en/databases/blocks/defining-keys/index.md b/common-content/en/module/databases/defining-keys/index.md
similarity index 100%
rename from content/en/databases/blocks/defining-keys/index.md
rename to common-content/en/module/databases/defining-keys/index.md
diff --git a/content/en/databases/blocks/integration-with-node/index.md b/common-content/en/module/databases/integration-with-node/index.md
similarity index 100%
rename from content/en/databases/blocks/integration-with-node/index.md
rename to common-content/en/module/databases/integration-with-node/index.md
diff --git a/content/en/databases/blocks/introduction-to-db/index.md b/common-content/en/module/databases/introduction-to-db/index.md
similarity index 100%
rename from content/en/databases/blocks/introduction-to-db/index.md
rename to common-content/en/module/databases/introduction-to-db/index.md
diff --git a/content/en/databases/blocks/introduction-to-postgresql/index.md b/common-content/en/module/databases/introduction-to-postgresql/index.md
similarity index 100%
rename from content/en/databases/blocks/introduction-to-postgresql/index.md
rename to common-content/en/module/databases/introduction-to-postgresql/index.md
diff --git a/content/en/databases/blocks/introduction-to-postgresql/table-diagram.png b/common-content/en/module/databases/introduction-to-postgresql/table-diagram.png
similarity index 100%
rename from content/en/databases/blocks/introduction-to-postgresql/table-diagram.png
rename to common-content/en/module/databases/introduction-to-postgresql/table-diagram.png
diff --git a/content/en/databases/blocks/joining-tables/index.md b/common-content/en/module/databases/joining-tables/index.md
similarity index 100%
rename from content/en/databases/blocks/joining-tables/index.md
rename to common-content/en/module/databases/joining-tables/index.md
diff --git a/content/en/databases/blocks/joining-tables/join-diagram.png b/common-content/en/module/databases/joining-tables/join-diagram.png
similarity index 100%
rename from content/en/databases/blocks/joining-tables/join-diagram.png
rename to common-content/en/module/databases/joining-tables/join-diagram.png
diff --git a/content/en/databases/blocks/more-selective/index.md b/common-content/en/module/databases/more-selective/index.md
similarity index 100%
rename from content/en/databases/blocks/more-selective/index.md
rename to common-content/en/module/databases/more-selective/index.md
diff --git a/content/en/databases/blocks/recap-node/index.md b/common-content/en/module/databases/recap-node/index.md
similarity index 100%
rename from content/en/databases/blocks/recap-node/index.md
rename to common-content/en/module/databases/recap-node/index.md
diff --git a/content/en/databases/blocks/recap-node/postman-get-cust-all-results.png b/common-content/en/module/databases/recap-node/postman-get-cust-all-results.png
similarity index 100%
rename from content/en/databases/blocks/recap-node/postman-get-cust-all-results.png
rename to common-content/en/module/databases/recap-node/postman-get-cust-all-results.png
diff --git a/content/en/databases/blocks/recap-node/postman-get-cust-all.odg b/common-content/en/module/databases/recap-node/postman-get-cust-all.odg
similarity index 100%
rename from content/en/databases/blocks/recap-node/postman-get-cust-all.odg
rename to common-content/en/module/databases/recap-node/postman-get-cust-all.odg
diff --git a/content/en/databases/blocks/recap-node/postman-get-cust-all.png b/common-content/en/module/databases/recap-node/postman-get-cust-all.png
similarity index 100%
rename from content/en/databases/blocks/recap-node/postman-get-cust-all.png
rename to common-content/en/module/databases/recap-node/postman-get-cust-all.png
diff --git a/content/en/databases/blocks/updating-rows/index.md b/common-content/en/module/databases/updating-rows/index.md
similarity index 100%
rename from content/en/databases/blocks/updating-rows/index.md
rename to common-content/en/module/databases/updating-rows/index.md
diff --git a/content/en/databases/blocks/using-aggregate-functions/index.md b/common-content/en/module/databases/using-aggregate-functions/index.md
similarity index 100%
rename from content/en/databases/blocks/using-aggregate-functions/index.md
rename to common-content/en/module/databases/using-aggregate-functions/index.md
diff --git a/content/en/fundamentals/blocks/blockers/index.md b/common-content/en/module/fundamentals/blockers/index.md
similarity index 100%
rename from content/en/fundamentals/blocks/blockers/index.md
rename to common-content/en/module/fundamentals/blockers/index.md
diff --git a/content/en/fundamentals/blocks/code-dot-org/index.md b/common-content/en/module/fundamentals/code-dot-org/index.md
similarity index 100%
rename from content/en/fundamentals/blocks/code-dot-org/index.md
rename to common-content/en/module/fundamentals/code-dot-org/index.md
diff --git a/content/en/fundamentals/blocks/cyf-blocks-iteration/index.md b/common-content/en/module/fundamentals/cyf-blocks-iteration/index.md
similarity index 100%
rename from content/en/fundamentals/blocks/cyf-blocks-iteration/index.md
rename to common-content/en/module/fundamentals/cyf-blocks-iteration/index.md
diff --git a/content/en/fundamentals/blocks/cyf-blocks-requirements/index.md b/common-content/en/module/fundamentals/cyf-blocks-requirements/index.md
similarity index 100%
rename from content/en/fundamentals/blocks/cyf-blocks-requirements/index.md
rename to common-content/en/module/fundamentals/cyf-blocks-requirements/index.md
diff --git a/content/en/fundamentals/blocks/goals/index.md b/common-content/en/module/fundamentals/goals/index.md
similarity index 100%
rename from content/en/fundamentals/blocks/goals/index.md
rename to common-content/en/module/fundamentals/goals/index.md
diff --git a/content/en/fundamentals/blocks/mvp/index.md b/common-content/en/module/fundamentals/mvp/index.md
similarity index 100%
rename from content/en/fundamentals/blocks/mvp/index.md
rename to common-content/en/module/fundamentals/mvp/index.md
diff --git a/content/en/fundamentals/blocks/next-steps/index.md b/common-content/en/module/fundamentals/next-steps/index.md
similarity index 100%
rename from content/en/fundamentals/blocks/next-steps/index.md
rename to common-content/en/module/fundamentals/next-steps/index.md
diff --git a/content/en/fundamentals/blocks/overcoming-blockers/index.md b/common-content/en/module/fundamentals/overcoming-blockers/index.md
similarity index 100%
rename from content/en/fundamentals/blocks/overcoming-blockers/index.md
rename to common-content/en/module/fundamentals/overcoming-blockers/index.md
diff --git a/content/en/fundamentals/blocks/pairing/index.md b/common-content/en/module/fundamentals/pairing/index.md
similarity index 100%
rename from content/en/fundamentals/blocks/pairing/index.md
rename to common-content/en/module/fundamentals/pairing/index.md
diff --git a/content/en/fundamentals/blocks/ship-it-delivery/index.md b/common-content/en/module/fundamentals/ship-it-delivery/index.md
similarity index 100%
rename from content/en/fundamentals/blocks/ship-it-delivery/index.md
rename to common-content/en/module/fundamentals/ship-it-delivery/index.md
diff --git a/content/en/fundamentals/blocks/ship-it-iteration/index.md b/common-content/en/module/fundamentals/ship-it-iteration/index.md
similarity index 100%
rename from content/en/fundamentals/blocks/ship-it-iteration/index.md
rename to common-content/en/module/fundamentals/ship-it-iteration/index.md
diff --git a/content/en/fundamentals/blocks/ship-it-requirements/index.md b/common-content/en/module/fundamentals/ship-it-requirements/index.md
similarity index 100%
rename from content/en/fundamentals/blocks/ship-it-requirements/index.md
rename to common-content/en/module/fundamentals/ship-it-requirements/index.md
diff --git a/content/en/fundamentals/blocks/using-the-curriculum/index.md b/common-content/en/module/fundamentals/using-the-curriculum/index.md
similarity index 100%
rename from content/en/fundamentals/blocks/using-the-curriculum/index.md
rename to common-content/en/module/fundamentals/using-the-curriculum/index.md
diff --git a/content/en/fundamentals/blocks/wrap-up/index.md b/common-content/en/module/fundamentals/wrap-up/index.md
similarity index 100%
rename from content/en/fundamentals/blocks/wrap-up/index.md
rename to common-content/en/module/fundamentals/wrap-up/index.md
diff --git a/content/en/html-css/blocks/what-are-components/index.md b/common-content/en/module/html-css/what-are-components/index.md
similarity index 100%
rename from content/en/html-css/blocks/what-are-components/index.md
rename to common-content/en/module/html-css/what-are-components/index.md
diff --git a/content/en/html-css/blocks/what-are-forms/index.md b/common-content/en/module/html-css/what-are-forms/index.md
similarity index 100%
rename from content/en/html-css/blocks/what-are-forms/index.md
rename to common-content/en/module/html-css/what-are-forms/index.md
diff --git a/content/en/html-css/blocks/what-is-css/index.md b/common-content/en/module/html-css/what-is-css/index.md
similarity index 100%
rename from content/en/html-css/blocks/what-is-css/index.md
rename to common-content/en/module/html-css/what-is-css/index.md
diff --git a/content/en/html-css/blocks/what-is-html/index.md b/common-content/en/module/html-css/what-is-html/index.md
similarity index 100%
rename from content/en/html-css/blocks/what-is-html/index.md
rename to common-content/en/module/html-css/what-is-html/index.md
diff --git a/content/en/induction/blocks/branching/commit-history.png b/common-content/en/module/induction/branching/commit-history.png
similarity index 100%
rename from content/en/induction/blocks/branching/commit-history.png
rename to common-content/en/module/induction/branching/commit-history.png
diff --git a/content/en/induction/blocks/branching/highlight-2nd-commit.png b/common-content/en/module/induction/branching/highlight-2nd-commit.png
similarity index 100%
rename from content/en/induction/blocks/branching/highlight-2nd-commit.png
rename to common-content/en/module/induction/branching/highlight-2nd-commit.png
diff --git a/content/en/induction/blocks/branching/index.md b/common-content/en/module/induction/branching/index.md
similarity index 100%
rename from content/en/induction/blocks/branching/index.md
rename to common-content/en/module/induction/branching/index.md
diff --git a/content/en/induction/blocks/branching/lesson1-four-repo-diagram.png b/common-content/en/module/induction/branching/lesson1-four-repo-diagram.png
similarity index 100%
rename from content/en/induction/blocks/branching/lesson1-four-repo-diagram.png
rename to common-content/en/module/induction/branching/lesson1-four-repo-diagram.png
diff --git a/content/en/induction/blocks/branching/main-branch-highlighted.png b/common-content/en/module/induction/branching/main-branch-highlighted.png
similarity index 100%
rename from content/en/induction/blocks/branching/main-branch-highlighted.png
rename to common-content/en/module/induction/branching/main-branch-highlighted.png
diff --git a/content/en/induction/blocks/check-git-installation/index.md b/common-content/en/module/induction/check-git-installation/index.md
similarity index 100%
rename from content/en/induction/blocks/check-git-installation/index.md
rename to common-content/en/module/induction/check-git-installation/index.md
diff --git a/content/en/induction/blocks/check-github/index.md b/common-content/en/module/induction/check-github/index.md
similarity index 100%
rename from content/en/induction/blocks/check-github/index.md
rename to common-content/en/module/induction/check-github/index.md
diff --git a/content/en/induction/blocks/check-out-a-commit/index.md b/common-content/en/module/induction/check-out-a-commit/index.md
similarity index 100%
rename from content/en/induction/blocks/check-out-a-commit/index.md
rename to common-content/en/module/induction/check-out-a-commit/index.md
diff --git a/content/en/induction/blocks/cyf-blog/index.md b/common-content/en/module/induction/cyf-blog/index.md
similarity index 100%
rename from content/en/induction/blocks/cyf-blog/index.md
rename to common-content/en/module/induction/cyf-blog/index.md
diff --git a/content/en/induction/blocks/cyf-folder/index.md b/common-content/en/module/induction/cyf-folder/index.md
similarity index 100%
rename from content/en/induction/blocks/cyf-folder/index.md
rename to common-content/en/module/induction/cyf-folder/index.md
diff --git a/content/en/induction/blocks/development-process/different-blog-versions.png b/common-content/en/module/induction/development-process/different-blog-versions.png
similarity index 100%
rename from content/en/induction/blocks/development-process/different-blog-versions.png
rename to common-content/en/module/induction/development-process/different-blog-versions.png
diff --git a/content/en/induction/blocks/development-process/index.md b/common-content/en/module/induction/development-process/index.md
similarity index 100%
rename from content/en/induction/blocks/development-process/index.md
rename to common-content/en/module/induction/development-process/index.md
diff --git a/content/en/induction/blocks/forking-a-repository/index.md b/common-content/en/module/induction/forking-a-repository/index.md
similarity index 100%
rename from content/en/induction/blocks/forking-a-repository/index.md
rename to common-content/en/module/induction/forking-a-repository/index.md
diff --git a/content/en/induction/blocks/forking-a-repository/lesson1-forked-url-anatomy.png b/common-content/en/module/induction/forking-a-repository/lesson1-forked-url-anatomy.png
similarity index 100%
rename from content/en/induction/blocks/forking-a-repository/lesson1-forked-url-anatomy.png
rename to common-content/en/module/induction/forking-a-repository/lesson1-forked-url-anatomy.png
diff --git a/content/en/induction/blocks/forking-a-repository/lesson1-github-url-anatomy.png b/common-content/en/module/induction/forking-a-repository/lesson1-github-url-anatomy.png
similarity index 100%
rename from content/en/induction/blocks/forking-a-repository/lesson1-github-url-anatomy.png
rename to common-content/en/module/induction/forking-a-repository/lesson1-github-url-anatomy.png
diff --git a/content/en/induction/blocks/github-poets/index.md b/common-content/en/module/induction/github-poets/index.md
similarity index 100%
rename from content/en/induction/blocks/github-poets/index.md
rename to common-content/en/module/induction/github-poets/index.md
diff --git a/content/en/induction/blocks/github/index.md b/common-content/en/module/induction/github/index.md
similarity index 100%
rename from content/en/induction/blocks/github/index.md
rename to common-content/en/module/induction/github/index.md
diff --git a/content/en/induction/blocks/handshake/index.md b/common-content/en/module/induction/handshake/index.md
similarity index 100%
rename from content/en/induction/blocks/handshake/index.md
rename to common-content/en/module/induction/handshake/index.md
diff --git a/content/en/induction/blocks/install-vscode/index.md b/common-content/en/module/induction/install-vscode/index.md
similarity index 100%
rename from content/en/induction/blocks/install-vscode/index.md
rename to common-content/en/module/induction/install-vscode/index.md
diff --git a/content/en/induction/blocks/learning-as-community/index.md b/common-content/en/module/induction/learning-as-community/index.md
similarity index 100%
rename from content/en/induction/blocks/learning-as-community/index.md
rename to common-content/en/module/induction/learning-as-community/index.md
diff --git a/content/en/induction/blocks/next-steps/index.md b/common-content/en/module/induction/next-steps/index.md
similarity index 100%
rename from content/en/induction/blocks/next-steps/index.md
rename to common-content/en/module/induction/next-steps/index.md
diff --git a/content/en/induction/blocks/previous-versions/index.md b/common-content/en/module/induction/previous-versions/index.md
similarity index 100%
rename from content/en/induction/blocks/previous-versions/index.md
rename to common-content/en/module/induction/previous-versions/index.md
diff --git a/content/en/induction/blocks/sharing-history/index.md b/common-content/en/module/induction/sharing-history/index.md
similarity index 100%
rename from content/en/induction/blocks/sharing-history/index.md
rename to common-content/en/module/induction/sharing-history/index.md
diff --git a/content/en/induction/blocks/version-control/commit-history-relative-dates.png b/common-content/en/module/induction/version-control/commit-history-relative-dates.png
similarity index 100%
rename from content/en/induction/blocks/version-control/commit-history-relative-dates.png
rename to common-content/en/module/induction/version-control/commit-history-relative-dates.png
diff --git a/content/en/induction/blocks/version-control/index.md b/common-content/en/module/induction/version-control/index.md
similarity index 100%
rename from content/en/induction/blocks/version-control/index.md
rename to common-content/en/module/induction/version-control/index.md
diff --git a/content/en/induction/blocks/viewing-files/fork-and-clone-diagram.png b/common-content/en/module/induction/viewing-files/fork-and-clone-diagram.png
similarity index 100%
rename from content/en/induction/blocks/viewing-files/fork-and-clone-diagram.png
rename to common-content/en/module/induction/viewing-files/fork-and-clone-diagram.png
diff --git a/content/en/induction/blocks/viewing-files/index.md b/common-content/en/module/induction/viewing-files/index.md
similarity index 100%
rename from content/en/induction/blocks/viewing-files/index.md
rename to common-content/en/module/induction/viewing-files/index.md
diff --git a/content/en/induction/blocks/working-locally/index.md b/common-content/en/module/induction/working-locally/index.md
similarity index 100%
rename from content/en/induction/blocks/working-locally/index.md
rename to common-content/en/module/induction/working-locally/index.md
diff --git a/content/en/induction/blocks/wrapping-up/index.md b/common-content/en/module/induction/wrapping-up/index.md
similarity index 100%
rename from content/en/induction/blocks/wrapping-up/index.md
rename to common-content/en/module/induction/wrapping-up/index.md
diff --git a/content/en/js1/blocks/api/index.md b/common-content/en/module/js1/api/index.md
similarity index 100%
rename from content/en/js1/blocks/api/index.md
rename to common-content/en/module/js1/api/index.md
diff --git a/content/en/js1/blocks/assembly/index.md b/common-content/en/module/js1/assembly/index.md
similarity index 100%
rename from content/en/js1/blocks/assembly/index.md
rename to common-content/en/module/js1/assembly/index.md
diff --git a/content/en/js1/blocks/assertions/index.md b/common-content/en/module/js1/assertions/index.md
similarity index 100%
rename from content/en/js1/blocks/assertions/index.md
rename to common-content/en/module/js1/assertions/index.md
diff --git a/content/en/js1/blocks/cases/index.md b/common-content/en/module/js1/cases/index.md
similarity index 100%
rename from content/en/js1/blocks/cases/index.md
rename to common-content/en/module/js1/cases/index.md
diff --git a/content/en/js1/blocks/check-unix-os/index.md b/common-content/en/module/js1/check-unix-os/index.md
similarity index 100%
rename from content/en/js1/blocks/check-unix-os/index.md
rename to common-content/en/module/js1/check-unix-os/index.md
diff --git a/content/en/js1/blocks/clocks/index.md b/common-content/en/module/js1/clocks/index.md
similarity index 100%
rename from content/en/js1/blocks/clocks/index.md
rename to common-content/en/module/js1/clocks/index.md
diff --git a/content/en/js1/blocks/comparison/index.md b/common-content/en/module/js1/comparison/index.md
similarity index 100%
rename from content/en/js1/blocks/comparison/index.md
rename to common-content/en/module/js1/comparison/index.md
diff --git a/content/en/js1/blocks/conditionality/index.md b/common-content/en/module/js1/conditionality/index.md
similarity index 100%
rename from content/en/js1/blocks/conditionality/index.md
rename to common-content/en/module/js1/conditionality/index.md
diff --git a/content/en/js1/blocks/data/index.md b/common-content/en/module/js1/data/index.md
similarity index 100%
rename from content/en/js1/blocks/data/index.md
rename to common-content/en/module/js1/data/index.md
diff --git a/content/en/js1/blocks/declarations-statements/index.md b/common-content/en/module/js1/declarations-statements/index.md
similarity index 100%
rename from content/en/js1/blocks/declarations-statements/index.md
rename to common-content/en/module/js1/declarations-statements/index.md
diff --git a/content/en/js1/blocks/declaring-functions/index.md b/common-content/en/module/js1/declaring-functions/index.md
similarity index 100%
rename from content/en/js1/blocks/declaring-functions/index.md
rename to common-content/en/module/js1/declaring-functions/index.md
diff --git a/content/en/js1/blocks/declaring-functions/round.gif b/common-content/en/module/js1/declaring-functions/round.gif
similarity index 100%
rename from content/en/js1/blocks/declaring-functions/round.gif
rename to common-content/en/module/js1/declaring-functions/round.gif
diff --git a/content/en/js1/blocks/errors/index.md b/common-content/en/module/js1/errors/index.md
similarity index 100%
rename from content/en/js1/blocks/errors/index.md
rename to common-content/en/module/js1/errors/index.md
diff --git a/content/en/js1/blocks/feedback/index.md b/common-content/en/module/js1/feedback/index.md
similarity index 100%
rename from content/en/js1/blocks/feedback/index.md
rename to common-content/en/module/js1/feedback/index.md
diff --git a/content/en/js1/blocks/feedback/test-feedback-fail.png b/common-content/en/module/js1/feedback/test-feedback-fail.png
similarity index 100%
rename from content/en/js1/blocks/feedback/test-feedback-fail.png
rename to common-content/en/module/js1/feedback/test-feedback-fail.png
diff --git a/content/en/js1/blocks/feedback/test-reference-error.png b/common-content/en/module/js1/feedback/test-reference-error.png
similarity index 100%
rename from content/en/js1/blocks/feedback/test-reference-error.png
rename to common-content/en/module/js1/feedback/test-reference-error.png
diff --git a/content/en/js1/blocks/framework/index.md b/common-content/en/module/js1/framework/index.md
similarity index 100%
rename from content/en/js1/blocks/framework/index.md
rename to common-content/en/module/js1/framework/index.md
diff --git a/content/en/js1/blocks/functions/index.md b/common-content/en/module/js1/functions/index.md
similarity index 100%
rename from content/en/js1/blocks/functions/index.md
rename to common-content/en/module/js1/functions/index.md
diff --git a/content/en/js1/blocks/functions/round.gif b/common-content/en/module/js1/functions/round.gif
similarity index 100%
rename from content/en/js1/blocks/functions/round.gif
rename to common-content/en/module/js1/functions/round.gif
diff --git a/content/en/js1/blocks/generalise/index.md b/common-content/en/module/js1/generalise/index.md
similarity index 100%
rename from content/en/js1/blocks/generalise/index.md
rename to common-content/en/module/js1/generalise/index.md
diff --git a/content/en/js1/blocks/generalise/second-case-fail.png b/common-content/en/module/js1/generalise/second-case-fail.png
similarity index 100%
rename from content/en/js1/blocks/generalise/second-case-fail.png
rename to common-content/en/module/js1/generalise/second-case-fail.png
diff --git a/content/en/js1/blocks/improving/index.md b/common-content/en/module/js1/improving/index.md
similarity index 100%
rename from content/en/js1/blocks/improving/index.md
rename to common-content/en/module/js1/improving/index.md
diff --git a/content/en/js1/blocks/install-node/index.md b/common-content/en/module/js1/install-node/index.md
similarity index 100%
rename from content/en/js1/blocks/install-node/index.md
rename to common-content/en/module/js1/install-node/index.md
diff --git a/content/en/js1/blocks/installing/index.md b/common-content/en/module/js1/installing/index.md
similarity index 100%
rename from content/en/js1/blocks/installing/index.md
rename to common-content/en/module/js1/installing/index.md
diff --git a/content/en/js1/blocks/installing/jest-install.png b/common-content/en/module/js1/installing/jest-install.png
similarity index 100%
rename from content/en/js1/blocks/installing/jest-install.png
rename to common-content/en/module/js1/installing/jest-install.png
diff --git a/content/en/js1/blocks/interface/index.md b/common-content/en/module/js1/interface/index.md
similarity index 100%
rename from content/en/js1/blocks/interface/index.md
rename to common-content/en/module/js1/interface/index.md
diff --git a/content/en/js1/blocks/logging/index.md b/common-content/en/module/js1/logging/index.md
similarity index 100%
rename from content/en/js1/blocks/logging/index.md
rename to common-content/en/module/js1/logging/index.md
diff --git a/content/en/js1/blocks/ordinal/index.md b/common-content/en/module/js1/ordinal/index.md
similarity index 100%
rename from content/en/js1/blocks/ordinal/index.md
rename to common-content/en/module/js1/ordinal/index.md
diff --git a/content/en/js1/blocks/outliers/index.md b/common-content/en/module/js1/outliers/index.md
similarity index 100%
rename from content/en/js1/blocks/outliers/index.md
rename to common-content/en/module/js1/outliers/index.md
diff --git a/content/en/js1/blocks/outliers/second-case-fail.png b/common-content/en/module/js1/outliers/second-case-fail.png
similarity index 100%
rename from content/en/js1/blocks/outliers/second-case-fail.png
rename to common-content/en/module/js1/outliers/second-case-fail.png
diff --git a/content/en/js1/blocks/packages/index.md b/common-content/en/module/js1/packages/index.md
similarity index 100%
rename from content/en/js1/blocks/packages/index.md
rename to common-content/en/module/js1/packages/index.md
diff --git a/content/en/js1/blocks/parameters/index.md b/common-content/en/module/js1/parameters/index.md
similarity index 100%
rename from content/en/js1/blocks/parameters/index.md
rename to common-content/en/module/js1/parameters/index.md
diff --git a/content/en/js1/blocks/percentages/index.md b/common-content/en/module/js1/percentages/index.md
similarity index 100%
rename from content/en/js1/blocks/percentages/index.md
rename to common-content/en/module/js1/percentages/index.md
diff --git a/content/en/js1/blocks/playing-computer/global-frame.png b/common-content/en/module/js1/playing-computer/global-frame.png
similarity index 100%
rename from content/en/js1/blocks/playing-computer/global-frame.png
rename to common-content/en/module/js1/playing-computer/global-frame.png
diff --git a/content/en/js1/blocks/playing-computer/index.md b/common-content/en/module/js1/playing-computer/index.md
similarity index 100%
rename from content/en/js1/blocks/playing-computer/index.md
rename to common-content/en/module/js1/playing-computer/index.md
diff --git a/content/en/js1/blocks/playing-computer/make-greeting-frame.png b/common-content/en/module/js1/playing-computer/make-greeting-frame.png
similarity index 100%
rename from content/en/js1/blocks/playing-computer/make-greeting-frame.png
rename to common-content/en/module/js1/playing-computer/make-greeting-frame.png
diff --git a/content/en/js1/blocks/playing-computer/runtime-diagram-1.png b/common-content/en/module/js1/playing-computer/runtime-diagram-1.png
similarity index 100%
rename from content/en/js1/blocks/playing-computer/runtime-diagram-1.png
rename to common-content/en/module/js1/playing-computer/runtime-diagram-1.png
diff --git a/content/en/js1/blocks/repl/index.md b/common-content/en/module/js1/repl/index.md
similarity index 100%
rename from content/en/js1/blocks/repl/index.md
rename to common-content/en/module/js1/repl/index.md
diff --git a/content/en/js1/blocks/return/index.md b/common-content/en/module/js1/return/index.md
similarity index 100%
rename from content/en/js1/blocks/return/index.md
rename to common-content/en/module/js1/return/index.md
diff --git a/content/en/js1/blocks/reuse/index.md b/common-content/en/module/js1/reuse/index.md
similarity index 100%
rename from content/en/js1/blocks/reuse/index.md
rename to common-content/en/module/js1/reuse/index.md
diff --git a/content/en/js1/blocks/reuse/round.gif b/common-content/en/module/js1/reuse/round.gif
similarity index 100%
rename from content/en/js1/blocks/reuse/round.gif
rename to common-content/en/module/js1/reuse/round.gif
diff --git a/content/en/js1/blocks/scope/index.md b/common-content/en/module/js1/scope/index.md
similarity index 100%
rename from content/en/js1/blocks/scope/index.md
rename to common-content/en/module/js1/scope/index.md
diff --git a/content/en/js1/blocks/scripts/index.md b/common-content/en/module/js1/scripts/index.md
similarity index 100%
rename from content/en/js1/blocks/scripts/index.md
rename to common-content/en/module/js1/scripts/index.md
diff --git a/content/en/js1/blocks/setup/index.md b/common-content/en/module/js1/setup/index.md
similarity index 100%
rename from content/en/js1/blocks/setup/index.md
rename to common-content/en/module/js1/setup/index.md
diff --git a/content/en/js1/blocks/setup/jest-install.png b/common-content/en/module/js1/setup/jest-install.png
similarity index 100%
rename from content/en/js1/blocks/setup/jest-install.png
rename to common-content/en/module/js1/setup/jest-install.png
diff --git a/content/en/js1/blocks/strategy/index.md b/common-content/en/module/js1/strategy/index.md
similarity index 100%
rename from content/en/js1/blocks/strategy/index.md
rename to common-content/en/module/js1/strategy/index.md
diff --git a/content/en/js1/blocks/strings/index.md b/common-content/en/module/js1/strings/index.md
similarity index 100%
rename from content/en/js1/blocks/strings/index.md
rename to common-content/en/module/js1/strings/index.md
diff --git a/content/en/js1/blocks/sub-goal/index.md b/common-content/en/module/js1/sub-goal/index.md
similarity index 100%
rename from content/en/js1/blocks/sub-goal/index.md
rename to common-content/en/module/js1/sub-goal/index.md
diff --git a/content/en/js1/blocks/terminal/index.md b/common-content/en/module/js1/terminal/index.md
similarity index 100%
rename from content/en/js1/blocks/terminal/index.md
rename to common-content/en/module/js1/terminal/index.md
diff --git a/content/en/js1/blocks/terminal/terminal.gif b/common-content/en/module/js1/terminal/terminal.gif
similarity index 100%
rename from content/en/js1/blocks/terminal/terminal.gif
rename to common-content/en/module/js1/terminal/terminal.gif
diff --git a/content/en/js1/blocks/variables/greeting.gif b/common-content/en/module/js1/variables/greeting.gif
similarity index 100%
rename from content/en/js1/blocks/variables/greeting.gif
rename to common-content/en/module/js1/variables/greeting.gif
diff --git a/content/en/js1/blocks/variables/index.md b/common-content/en/module/js1/variables/index.md
similarity index 100%
rename from content/en/js1/blocks/variables/index.md
rename to common-content/en/module/js1/variables/index.md
diff --git a/content/en/js2/blocks/access/index.md b/common-content/en/module/js2/access/index.md
similarity index 100%
rename from content/en/js2/blocks/access/index.md
rename to common-content/en/module/js2/access/index.md
diff --git a/content/en/js2/blocks/arrays/index.md b/common-content/en/module/js2/arrays/index.md
similarity index 100%
rename from content/en/js2/blocks/arrays/index.md
rename to common-content/en/module/js2/arrays/index.md
diff --git a/content/en/js2/blocks/assembly/index.md b/common-content/en/module/js2/assembly/index.md
similarity index 100%
rename from content/en/js2/blocks/assembly/index.md
rename to common-content/en/module/js2/assembly/index.md
diff --git a/content/en/js2/blocks/browser/index.md b/common-content/en/module/js2/browser/index.md
similarity index 100%
rename from content/en/js2/blocks/browser/index.md
rename to common-content/en/module/js2/browser/index.md
diff --git a/content/en/js2/blocks/character-limit/index.md b/common-content/en/module/js2/character-limit/index.md
similarity index 100%
rename from content/en/js2/blocks/character-limit/index.md
rename to common-content/en/module/js2/character-limit/index.md
diff --git a/content/en/js2/blocks/check-in/index.md b/common-content/en/module/js2/check-in/index.md
similarity index 100%
rename from content/en/js2/blocks/check-in/index.md
rename to common-content/en/module/js2/check-in/index.md
diff --git a/content/en/js2/blocks/check-progress/index.md b/common-content/en/module/js2/check-progress/index.md
similarity index 100%
rename from content/en/js2/blocks/check-progress/index.md
rename to common-content/en/module/js2/check-progress/index.md
diff --git a/content/en/js2/blocks/demo/index.md b/common-content/en/module/js2/demo/index.md
similarity index 100%
rename from content/en/js2/blocks/demo/index.md
rename to common-content/en/module/js2/demo/index.md
diff --git a/content/en/js2/blocks/dom/html-tree.png b/common-content/en/module/js2/dom/html-tree.png
similarity index 100%
rename from content/en/js2/blocks/dom/html-tree.png
rename to common-content/en/module/js2/dom/html-tree.png
diff --git a/content/en/js2/blocks/dom/index.md b/common-content/en/module/js2/dom/index.md
similarity index 100%
rename from content/en/js2/blocks/dom/index.md
rename to common-content/en/module/js2/dom/index.md
diff --git a/content/en/js2/blocks/events/index.md b/common-content/en/module/js2/events/index.md
similarity index 100%
rename from content/en/js2/blocks/events/index.md
rename to common-content/en/module/js2/events/index.md
diff --git a/content/en/js2/blocks/grouping-data/index.md b/common-content/en/module/js2/grouping-data/index.md
similarity index 100%
rename from content/en/js2/blocks/grouping-data/index.md
rename to common-content/en/module/js2/grouping-data/index.md
diff --git a/content/en/js2/blocks/iteration/index.md b/common-content/en/module/js2/iteration/index.md
similarity index 100%
rename from content/en/js2/blocks/iteration/index.md
rename to common-content/en/module/js2/iteration/index.md
diff --git a/content/en/js2/blocks/key-values/index.md b/common-content/en/module/js2/key-values/index.md
similarity index 100%
rename from content/en/js2/blocks/key-values/index.md
rename to common-content/en/module/js2/key-values/index.md
diff --git a/content/en/js2/blocks/mean/index.md b/common-content/en/module/js2/mean/index.md
similarity index 100%
rename from content/en/js2/blocks/mean/index.md
rename to common-content/en/module/js2/mean/index.md
diff --git a/content/en/js2/blocks/median/index.md b/common-content/en/module/js2/median/index.md
similarity index 100%
rename from content/en/js2/blocks/median/index.md
rename to common-content/en/module/js2/median/index.md
diff --git a/content/en/js2/blocks/multiple-params/index.md b/common-content/en/module/js2/multiple-params/index.md
similarity index 100%
rename from content/en/js2/blocks/multiple-params/index.md
rename to common-content/en/module/js2/multiple-params/index.md
diff --git a/content/en/js2/blocks/mutating/index.md b/common-content/en/module/js2/mutating/index.md
similarity index 100%
rename from content/en/js2/blocks/mutating/index.md
rename to common-content/en/module/js2/mutating/index.md
diff --git a/content/en/js2/blocks/mutation/index.md b/common-content/en/module/js2/mutation/index.md
similarity index 100%
rename from content/en/js2/blocks/mutation/index.md
rename to common-content/en/module/js2/mutation/index.md
diff --git a/content/en/js2/blocks/no-params/index.md b/common-content/en/module/js2/no-params/index.md
similarity index 100%
rename from content/en/js2/blocks/no-params/index.md
rename to common-content/en/module/js2/no-params/index.md
diff --git a/content/en/js2/blocks/no-params/to-be-check-error.png b/common-content/en/module/js2/no-params/to-be-check-error.png
similarity index 100%
rename from content/en/js2/blocks/no-params/to-be-check-error.png
rename to common-content/en/module/js2/no-params/to-be-check-error.png
diff --git a/content/en/js2/blocks/one-pair/index.md b/common-content/en/module/js2/one-pair/index.md
similarity index 100%
rename from content/en/js2/blocks/one-pair/index.md
rename to common-content/en/module/js2/one-pair/index.md
diff --git a/content/en/js2/blocks/one-pair/literal-key.png b/common-content/en/module/js2/one-pair/literal-key.png
similarity index 100%
rename from content/en/js2/blocks/one-pair/literal-key.png
rename to common-content/en/module/js2/one-pair/literal-key.png
diff --git a/content/en/js2/blocks/ordered-data/index.md b/common-content/en/module/js2/ordered-data/index.md
similarity index 100%
rename from content/en/js2/blocks/ordered-data/index.md
rename to common-content/en/module/js2/ordered-data/index.md
diff --git a/content/en/js2/blocks/pair-up/index.md b/common-content/en/module/js2/pair-up/index.md
similarity index 100%
rename from content/en/js2/blocks/pair-up/index.md
rename to common-content/en/module/js2/pair-up/index.md
diff --git a/content/en/js2/blocks/pick-an-app/index.md b/common-content/en/module/js2/pick-an-app/index.md
similarity index 100%
rename from content/en/js2/blocks/pick-an-app/index.md
rename to common-content/en/module/js2/pick-an-app/index.md
diff --git a/content/en/js2/blocks/plan/index.md b/common-content/en/module/js2/plan/index.md
similarity index 100%
rename from content/en/js2/blocks/plan/index.md
rename to common-content/en/module/js2/plan/index.md
diff --git a/content/en/js2/blocks/query-string/index.md b/common-content/en/module/js2/query-string/index.md
similarity index 100%
rename from content/en/js2/blocks/query-string/index.md
rename to common-content/en/module/js2/query-string/index.md
diff --git a/content/en/js2/blocks/querying/index.md b/common-content/en/module/js2/querying/index.md
similarity index 100%
rename from content/en/js2/blocks/querying/index.md
rename to common-content/en/module/js2/querying/index.md
diff --git a/content/en/js2/blocks/reference/index.md b/common-content/en/module/js2/reference/index.md
similarity index 100%
rename from content/en/js2/blocks/reference/index.md
rename to common-content/en/module/js2/reference/index.md
diff --git a/content/en/js2/blocks/reference/point-to-array.png b/common-content/en/module/js2/reference/point-to-array.png
similarity index 100%
rename from content/en/js2/blocks/reference/point-to-array.png
rename to common-content/en/module/js2/reference/point-to-array.png
diff --git a/content/en/js2/blocks/response/index.md b/common-content/en/module/js2/response/index.md
similarity index 100%
rename from content/en/js2/blocks/response/index.md
rename to common-content/en/module/js2/response/index.md
diff --git a/content/en/js2/blocks/side-effects/index.md b/common-content/en/module/js2/side-effects/index.md
similarity index 100%
rename from content/en/js2/blocks/side-effects/index.md
rename to common-content/en/module/js2/side-effects/index.md
diff --git a/content/en/js2/blocks/summing/index.md b/common-content/en/module/js2/summing/index.md
similarity index 100%
rename from content/en/js2/blocks/summing/index.md
rename to common-content/en/module/js2/summing/index.md
diff --git a/content/en/js2/blocks/update/index.md b/common-content/en/module/js2/update/index.md
similarity index 100%
rename from content/en/js2/blocks/update/index.md
rename to common-content/en/module/js2/update/index.md
diff --git a/content/en/js2/blocks/variable-keys/index.md b/common-content/en/module/js2/variable-keys/index.md
similarity index 100%
rename from content/en/js2/blocks/variable-keys/index.md
rename to common-content/en/module/js2/variable-keys/index.md
diff --git a/content/en/js2/blocks/variable-keys/parse-query-test-feedback.png b/common-content/en/module/js2/variable-keys/parse-query-test-feedback.png
similarity index 100%
rename from content/en/js2/blocks/variable-keys/parse-query-test-feedback.png
rename to common-content/en/module/js2/variable-keys/parse-query-test-feedback.png
diff --git a/content/en/js3/blocks/async-await/index.md b/common-content/en/module/js3/async-await/index.md
similarity index 100%
rename from content/en/js3/blocks/async-await/index.md
rename to common-content/en/module/js3/async-await/index.md
diff --git a/content/en/js3/blocks/asynchrony/index.md b/common-content/en/module/js3/asynchrony/index.md
similarity index 100%
rename from content/en/js3/blocks/asynchrony/index.md
rename to common-content/en/module/js3/asynchrony/index.md
diff --git a/content/en/js3/blocks/break-down/index.md b/common-content/en/module/js3/break-down/index.md
similarity index 100%
rename from content/en/js3/blocks/break-down/index.md
rename to common-content/en/module/js3/break-down/index.md
diff --git a/content/en/js3/blocks/callbacks/index.md b/common-content/en/module/js3/callbacks/index.md
similarity index 100%
rename from content/en/js3/blocks/callbacks/index.md
rename to common-content/en/module/js3/callbacks/index.md
diff --git a/content/en/js3/blocks/capturing-events/index.md b/common-content/en/module/js3/capturing-events/index.md
similarity index 100%
rename from content/en/js3/blocks/capturing-events/index.md
rename to common-content/en/module/js3/capturing-events/index.md
diff --git a/content/en/js3/blocks/catch/index.md b/common-content/en/module/js3/catch/index.md
similarity index 100%
rename from content/en/js3/blocks/catch/index.md
rename to common-content/en/module/js3/catch/index.md
diff --git a/content/en/js3/blocks/chaining/index.md b/common-content/en/module/js3/chaining/index.md
similarity index 100%
rename from content/en/js3/blocks/chaining/index.md
rename to common-content/en/module/js3/chaining/index.md
diff --git a/content/en/js3/blocks/components/index.md b/common-content/en/module/js3/components/index.md
similarity index 89%
rename from content/en/js3/blocks/components/index.md
rename to common-content/en/module/js3/components/index.md
index 9fb1dd0d4..0a90834a7 100644
--- a/content/en/js3/blocks/components/index.md
+++ b/common-content/en/module/js3/components/index.md
@@ -23,8 +23,8 @@ const film = {
duration: 112,
};
-const createFilmCard = (film) => {
- const card = document.getElementById("film-card").content.cloneNode(true);
+const createFilmCard = (template, film) => {
+ const card = template.content.cloneNode(true);
// Now we are querying our cloned fragment, not the entire page.
card.querySelector("h3").textContent = film.title;
card.querySelector("p").textContent = `Director: ${film.director}`;
@@ -33,7 +33,7 @@ const createFilmCard = (film) => {
// Return the card, rather than directly appending it to the page
return card;
};
-const template = document.getElementById("filmCard");
+const template = document.getElementById("film-card");
const filmCard = createFilmCard(template, film);
// Remember we need to append the card to the DOM for it to appear.
diff --git a/content/en/js3/blocks/composing-elements/index.md b/common-content/en/module/js3/composing-elements/index.md
similarity index 100%
rename from content/en/js3/blocks/composing-elements/index.md
rename to common-content/en/module/js3/composing-elements/index.md
diff --git a/content/en/js3/blocks/data-ui/index.md b/common-content/en/module/js3/data-ui/index.md
similarity index 100%
rename from content/en/js3/blocks/data-ui/index.md
rename to common-content/en/module/js3/data-ui/index.md
diff --git a/content/en/js3/blocks/fetch-films/data.json b/common-content/en/module/js3/fetch-films/data.json
similarity index 100%
rename from content/en/js3/blocks/fetch-films/data.json
rename to common-content/en/module/js3/fetch-films/data.json
diff --git a/content/en/js3/blocks/fetch-films/filterFilms.html b/common-content/en/module/js3/fetch-films/filterFilms.html
similarity index 100%
rename from content/en/js3/blocks/fetch-films/filterFilms.html
rename to common-content/en/module/js3/fetch-films/filterFilms.html
diff --git a/content/en/js3/blocks/fetch-films/index.md b/common-content/en/module/js3/fetch-films/index.md
similarity index 100%
rename from content/en/js3/blocks/fetch-films/index.md
rename to common-content/en/module/js3/fetch-films/index.md
diff --git a/content/en/js3/blocks/fetch/index.md b/common-content/en/module/js3/fetch/index.md
similarity index 100%
rename from content/en/js3/blocks/fetch/index.md
rename to common-content/en/module/js3/fetch/index.md
diff --git a/content/en/js3/blocks/fetching-data/index.md b/common-content/en/module/js3/fetching-data/index.md
similarity index 100%
rename from content/en/js3/blocks/fetching-data/index.md
rename to common-content/en/module/js3/fetching-data/index.md
diff --git a/content/en/js3/blocks/identifying-state/index.md b/common-content/en/module/js3/identifying-state/index.md
similarity index 100%
rename from content/en/js3/blocks/identifying-state/index.md
rename to common-content/en/module/js3/identifying-state/index.md
diff --git a/content/en/js3/blocks/internet/index.md b/common-content/en/module/js3/internet/index.md
similarity index 100%
rename from content/en/js3/blocks/internet/index.md
rename to common-content/en/module/js3/internet/index.md
diff --git a/content/en/js3/blocks/introducing-new-state/index.md b/common-content/en/module/js3/introducing-new-state/index.md
similarity index 100%
rename from content/en/js3/blocks/introducing-new-state/index.md
rename to common-content/en/module/js3/introducing-new-state/index.md
diff --git a/content/en/js3/blocks/latency/index.md b/common-content/en/module/js3/latency/index.md
similarity index 100%
rename from content/en/js3/blocks/latency/index.md
rename to common-content/en/module/js3/latency/index.md
diff --git a/content/en/js3/blocks/now-showing/film-cards.png b/common-content/en/module/js3/now-showing/film-cards.png
similarity index 100%
rename from content/en/js3/blocks/now-showing/film-cards.png
rename to common-content/en/module/js3/now-showing/film-cards.png
diff --git a/content/en/js3/blocks/now-showing/index.md b/common-content/en/module/js3/now-showing/index.md
similarity index 100%
rename from content/en/js3/blocks/now-showing/index.md
rename to common-content/en/module/js3/now-showing/index.md
diff --git a/content/en/js3/blocks/one-to-one/index.md b/common-content/en/module/js3/one-to-one/index.md
similarity index 100%
rename from content/en/js3/blocks/one-to-one/index.md
rename to common-content/en/module/js3/one-to-one/index.md
diff --git a/content/en/js3/blocks/promises/index.md b/common-content/en/module/js3/promises/index.md
similarity index 100%
rename from content/en/js3/blocks/promises/index.md
rename to common-content/en/module/js3/promises/index.md
diff --git a/content/en/js3/blocks/re-rendering-ui/index.md b/common-content/en/module/js3/re-rendering-ui/index.md
similarity index 100%
rename from content/en/js3/blocks/re-rendering-ui/index.md
rename to common-content/en/module/js3/re-rendering-ui/index.md
diff --git a/content/en/js3/blocks/reacting/index.md b/common-content/en/module/js3/reacting/index.md
similarity index 100%
rename from content/en/js3/blocks/reacting/index.md
rename to common-content/en/module/js3/reacting/index.md
diff --git a/content/en/js3/blocks/refactoring-to-state-and-render/index.md b/common-content/en/module/js3/refactoring-to-state-and-render/index.md
similarity index 100%
rename from content/en/js3/blocks/refactoring-to-state-and-render/index.md
rename to common-content/en/module/js3/refactoring-to-state-and-render/index.md
diff --git a/content/en/js3/blocks/rendering-based-on-state/index.md b/common-content/en/module/js3/rendering-based-on-state/index.md
similarity index 100%
rename from content/en/js3/blocks/rendering-based-on-state/index.md
rename to common-content/en/module/js3/rendering-based-on-state/index.md
diff --git a/content/en/js3/blocks/simplifying-element-creation/index.md b/common-content/en/module/js3/simplifying-element-creation/index.md
similarity index 100%
rename from content/en/js3/blocks/simplifying-element-creation/index.md
rename to common-content/en/module/js3/simplifying-element-creation/index.md
diff --git a/content/en/js3/blocks/single-datum/index.md b/common-content/en/module/js3/single-datum/index.md
similarity index 100%
rename from content/en/js3/blocks/single-datum/index.md
rename to common-content/en/module/js3/single-datum/index.md
diff --git a/content/en/js3/blocks/single-datum/single-film-display.png b/common-content/en/module/js3/single-datum/single-film-display.png
similarity index 100%
rename from content/en/js3/blocks/single-datum/single-film-display.png
rename to common-content/en/module/js3/single-datum/single-film-display.png
diff --git a/content/en/js3/blocks/template-html/index.md b/common-content/en/module/js3/template-html/index.md
similarity index 100%
rename from content/en/js3/blocks/template-html/index.md
rename to common-content/en/module/js3/template-html/index.md
diff --git a/content/en/js3/blocks/then/index.md b/common-content/en/module/js3/then/index.md
similarity index 100%
rename from content/en/js3/blocks/then/index.md
rename to common-content/en/module/js3/then/index.md
diff --git a/content/en/js3/blocks/using-fetch/index.md b/common-content/en/module/js3/using-fetch/index.md
similarity index 100%
rename from content/en/js3/blocks/using-fetch/index.md
rename to common-content/en/module/js3/using-fetch/index.md
diff --git a/content/en/js3/blocks/using-map/index.md b/common-content/en/module/js3/using-map/index.md
similarity index 100%
rename from content/en/js3/blocks/using-map/index.md
rename to common-content/en/module/js3/using-map/index.md
diff --git a/content/en/portfolio/blocks/break-it-down/index.md b/common-content/en/module/portfolio/break-it-down/index.md
similarity index 100%
rename from content/en/portfolio/blocks/break-it-down/index.md
rename to common-content/en/module/portfolio/break-it-down/index.md
diff --git a/content/en/portfolio/blocks/data/index.md b/common-content/en/module/portfolio/data/index.md
similarity index 100%
rename from content/en/portfolio/blocks/data/index.md
rename to common-content/en/module/portfolio/data/index.md
diff --git a/content/en/portfolio/blocks/employability/index.md b/common-content/en/module/portfolio/employability/index.md
similarity index 100%
rename from content/en/portfolio/blocks/employability/index.md
rename to common-content/en/module/portfolio/employability/index.md
diff --git a/content/en/portfolio/blocks/ground-rules/index.md b/common-content/en/module/portfolio/ground-rules/index.md
similarity index 100%
rename from content/en/portfolio/blocks/ground-rules/index.md
rename to common-content/en/module/portfolio/ground-rules/index.md
diff --git a/content/en/portfolio/blocks/guest/index.md b/common-content/en/module/portfolio/guest/index.md
similarity index 100%
rename from content/en/portfolio/blocks/guest/index.md
rename to common-content/en/module/portfolio/guest/index.md
diff --git a/content/en/portfolio/blocks/interfaces/index.md b/common-content/en/module/portfolio/interfaces/index.md
similarity index 100%
rename from content/en/portfolio/blocks/interfaces/index.md
rename to common-content/en/module/portfolio/interfaces/index.md
diff --git a/content/en/portfolio/blocks/next-steps/index.md b/common-content/en/module/portfolio/next-steps/index.md
similarity index 100%
rename from content/en/portfolio/blocks/next-steps/index.md
rename to common-content/en/module/portfolio/next-steps/index.md
diff --git a/content/en/portfolio/blocks/project/index.md b/common-content/en/module/portfolio/project/index.md
similarity index 100%
rename from content/en/portfolio/blocks/project/index.md
rename to common-content/en/module/portfolio/project/index.md
diff --git a/content/en/portfolio/blocks/requirements/index.md b/common-content/en/module/portfolio/requirements/index.md
similarity index 97%
rename from content/en/portfolio/blocks/requirements/index.md
rename to common-content/en/module/portfolio/requirements/index.md
index e05fa07e5..3827bee6d 100644
--- a/content/en/portfolio/blocks/requirements/index.md
+++ b/common-content/en/module/portfolio/requirements/index.md
@@ -9,8 +9,6 @@ emoji= 'π§©'
2='Identify and explain the key user stories for your project'
+++
-{{< snippet "snippets/requirements.md" >}}
-
In addition to [who] and [what], good user stories also include [why]
> As a [who], I can [what] so that **[why]**
diff --git a/content/en/portfolio/blocks/stand-up/index.md b/common-content/en/module/portfolio/stand-up/index.md
similarity index 100%
rename from content/en/portfolio/blocks/stand-up/index.md
rename to common-content/en/module/portfolio/stand-up/index.md
diff --git a/content/en/portfolio/blocks/user-feedback/index.md b/common-content/en/module/portfolio/user-feedback/index.md
similarity index 100%
rename from content/en/portfolio/blocks/user-feedback/index.md
rename to common-content/en/module/portfolio/user-feedback/index.md
diff --git a/content/en/react/blocks/components/index.md b/common-content/en/module/react/components/index.md
similarity index 100%
rename from content/en/react/blocks/components/index.md
rename to common-content/en/module/react/components/index.md
diff --git a/content/en/react/blocks/controlled-components/index.md b/common-content/en/module/react/controlled-components/index.md
similarity index 100%
rename from content/en/react/blocks/controlled-components/index.md
rename to common-content/en/module/react/controlled-components/index.md
diff --git a/content/en/react/blocks/embedding-javascript/index.md b/common-content/en/module/react/embedding-javascript/index.md
similarity index 100%
rename from content/en/react/blocks/embedding-javascript/index.md
rename to common-content/en/module/react/embedding-javascript/index.md
diff --git a/content/en/react/blocks/fetching-data-with-effects/index.md b/common-content/en/module/react/fetching-data-with-effects/index.md
similarity index 100%
rename from content/en/react/blocks/fetching-data-with-effects/index.md
rename to common-content/en/module/react/fetching-data-with-effects/index.md
diff --git a/content/en/react/blocks/fetching-data/index.md b/common-content/en/module/react/fetching-data/index.md
similarity index 100%
rename from content/en/react/blocks/fetching-data/index.md
rename to common-content/en/module/react/fetching-data/index.md
diff --git a/content/en/react/blocks/handling-events/index.md b/common-content/en/module/react/handling-events/index.md
similarity index 100%
rename from content/en/react/blocks/handling-events/index.md
rename to common-content/en/module/react/handling-events/index.md
diff --git a/content/en/react/blocks/import-export/index.md b/common-content/en/module/react/import-export/index.md
similarity index 100%
rename from content/en/react/blocks/import-export/index.md
rename to common-content/en/module/react/import-export/index.md
diff --git a/content/en/react/blocks/jsx/index.md b/common-content/en/module/react/jsx/index.md
similarity index 100%
rename from content/en/react/blocks/jsx/index.md
rename to common-content/en/module/react/jsx/index.md
diff --git a/content/en/react/blocks/keys/index.md b/common-content/en/module/react/keys/index.md
similarity index 100%
rename from content/en/react/blocks/keys/index.md
rename to common-content/en/module/react/keys/index.md
diff --git a/content/en/react/blocks/multiple-fields/index.md b/common-content/en/module/react/multiple-fields/index.md
similarity index 100%
rename from content/en/react/blocks/multiple-fields/index.md
rename to common-content/en/module/react/multiple-fields/index.md
diff --git a/content/en/react/blocks/pokedex/index.md b/common-content/en/module/react/pokedex/index.md
similarity index 100%
rename from content/en/react/blocks/pokedex/index.md
rename to common-content/en/module/react/pokedex/index.md
diff --git a/content/en/react/blocks/props/index.md b/common-content/en/module/react/props/index.md
similarity index 100%
rename from content/en/react/blocks/props/index.md
rename to common-content/en/module/react/props/index.md
diff --git a/content/en/react/blocks/re-rendering/index.md b/common-content/en/module/react/re-rendering/index.md
similarity index 100%
rename from content/en/react/blocks/re-rendering/index.md
rename to common-content/en/module/react/re-rendering/index.md
diff --git a/content/en/react/blocks/react-router/index.md b/common-content/en/module/react/react-router/index.md
similarity index 100%
rename from content/en/react/blocks/react-router/index.md
rename to common-content/en/module/react/react-router/index.md
diff --git a/content/en/react/blocks/rendering/index.md b/common-content/en/module/react/rendering/index.md
similarity index 100%
rename from content/en/react/blocks/rendering/index.md
rename to common-content/en/module/react/rendering/index.md
diff --git a/content/en/react/blocks/state/index.md b/common-content/en/module/react/state/index.md
similarity index 100%
rename from content/en/react/blocks/state/index.md
rename to common-content/en/module/react/state/index.md
diff --git a/content/en/react/blocks/synchronizing-with-effects/index.md b/common-content/en/module/react/synchronizing-with-effects/index.md
similarity index 100%
rename from content/en/react/blocks/synchronizing-with-effects/index.md
rename to common-content/en/module/react/synchronizing-with-effects/index.md
diff --git a/content/en/react/blocks/team-project/index.md b/common-content/en/module/react/team-project/index.md
similarity index 100%
rename from content/en/react/blocks/team-project/index.md
rename to common-content/en/module/react/team-project/index.md
diff --git a/content/en/react/blocks/vite/index.md b/common-content/en/module/react/vite/index.md
similarity index 100%
rename from content/en/react/blocks/vite/index.md
rename to common-content/en/module/react/vite/index.md
diff --git a/content/en/react/blocks/what-is-react/index.md b/common-content/en/module/react/what-is-react/index.md
similarity index 100%
rename from content/en/react/blocks/what-is-react/index.md
rename to common-content/en/module/react/what-is-react/index.md
diff --git a/content/en/react/blocks/working-with-forms/index.md b/common-content/en/module/react/working-with-forms/index.md
similarity index 100%
rename from content/en/react/blocks/working-with-forms/index.md
rename to common-content/en/module/react/working-with-forms/index.md
diff --git a/content/en/servers/blocks/building-the-server/index.md b/common-content/en/module/servers/building-the-server/index.md
similarity index 100%
rename from content/en/servers/blocks/building-the-server/index.md
rename to common-content/en/module/servers/building-the-server/index.md
diff --git a/content/en/servers/blocks/communicating-with-the-server/index.md b/common-content/en/module/servers/communicating-with-the-server/index.md
similarity index 100%
rename from content/en/servers/blocks/communicating-with-the-server/index.md
rename to common-content/en/module/servers/communicating-with-the-server/index.md
diff --git a/content/en/servers/blocks/crud-2/index.md b/common-content/en/module/servers/crud-2/index.md
similarity index 100%
rename from content/en/servers/blocks/crud-2/index.md
rename to common-content/en/module/servers/crud-2/index.md
diff --git a/content/en/servers/blocks/crud-challenges/index.md b/common-content/en/module/servers/crud-challenges/index.md
similarity index 100%
rename from content/en/servers/blocks/crud-challenges/index.md
rename to common-content/en/module/servers/crud-challenges/index.md
diff --git a/content/en/servers/blocks/crud/index.md b/common-content/en/module/servers/crud/index.md
similarity index 100%
rename from content/en/servers/blocks/crud/index.md
rename to common-content/en/module/servers/crud/index.md
diff --git a/content/en/servers/blocks/get-single/index.md b/common-content/en/module/servers/get-single/index.md
similarity index 100%
rename from content/en/servers/blocks/get-single/index.md
rename to common-content/en/module/servers/get-single/index.md
diff --git a/content/en/servers/blocks/get/index.md b/common-content/en/module/servers/get/index.md
similarity index 100%
rename from content/en/servers/blocks/get/index.md
rename to common-content/en/module/servers/get/index.md
diff --git a/content/en/servers/blocks/intro-to-express/index.md b/common-content/en/module/servers/intro-to-express/index.md
similarity index 100%
rename from content/en/servers/blocks/intro-to-express/index.md
rename to common-content/en/module/servers/intro-to-express/index.md
diff --git a/content/en/servers/blocks/make-a-node-project/index.md b/common-content/en/module/servers/make-a-node-project/index.md
similarity index 100%
rename from content/en/servers/blocks/make-a-node-project/index.md
rename to common-content/en/module/servers/make-a-node-project/index.md
diff --git a/content/en/servers/blocks/post/index.md b/common-content/en/module/servers/post/index.md
similarity index 100%
rename from content/en/servers/blocks/post/index.md
rename to common-content/en/module/servers/post/index.md
diff --git a/content/en/servers/blocks/postman/index.md b/common-content/en/module/servers/postman/index.md
similarity index 100%
rename from content/en/servers/blocks/postman/index.md
rename to common-content/en/module/servers/postman/index.md
diff --git a/content/en/servers/blocks/put/index.md b/common-content/en/module/servers/put/index.md
similarity index 100%
rename from content/en/servers/blocks/put/index.md
rename to common-content/en/module/servers/put/index.md
diff --git a/content/en/servers/blocks/query-parameters/index.md b/common-content/en/module/servers/query-parameters/index.md
similarity index 100%
rename from content/en/servers/blocks/query-parameters/index.md
rename to common-content/en/module/servers/query-parameters/index.md
diff --git a/content/en/servers/blocks/render/index.md b/common-content/en/module/servers/render/index.md
similarity index 100%
rename from content/en/servers/blocks/render/index.md
rename to common-content/en/module/servers/render/index.md
diff --git a/content/en/servers/blocks/routing/index.md b/common-content/en/module/servers/routing/index.md
similarity index 100%
rename from content/en/servers/blocks/routing/index.md
rename to common-content/en/module/servers/routing/index.md
diff --git a/content/en/servers/blocks/test-examples-in-postman/index.md b/common-content/en/module/servers/test-examples-in-postman/index.md
similarity index 100%
rename from content/en/servers/blocks/test-examples-in-postman/index.md
rename to common-content/en/module/servers/test-examples-in-postman/index.md
diff --git a/common-content/go.mod b/common-content/go.mod
new file mode 100644
index 000000000..aae35c0c0
--- /dev/null
+++ b/common-content/go.mod
@@ -0,0 +1,3 @@
+module github.com/CodeYourFuture/curriculum/common-content
+
+go 1.21.3
diff --git a/common-content/hugo.toml b/common-content/hugo.toml
new file mode 100644
index 000000000..d24b83be8
--- /dev/null
+++ b/common-content/hugo.toml
@@ -0,0 +1,5 @@
+
+[module]
+ [module.hugoVersion]
+ extended = true
+ min = "0.116.0"
\ No newline at end of file
diff --git a/common-theme/archetypes/backlog.md b/common-theme/archetypes/backlog.md
new file mode 100644
index 000000000..18f16c4c7
--- /dev/null
+++ b/common-theme/archetypes/backlog.md
@@ -0,0 +1,13 @@
++++
+title = 'backlog'
+layout = 'backlog'
+emoji= 'π₯'
+menu_level = ['sprint']
+weight = 2
+backlog= 'Module-Template'
+backlog_filter= 'Week 1'
++++
+
+This view lists all the issues for the current sprint. It is looking for a repo in your org named `Module-` where it expects issues to live. You can edit this of course.
+
+Organise your issues with labels, like 'Week 1' or 'Week 2' to filter them into the right sprint. Pass the label into the `backlog_filter` in the front matter to filter the issues.
\ No newline at end of file
diff --git a/content/en/the-launch/blocks/block1/index.md b/common-theme/archetypes/blocks/index.md
similarity index 75%
rename from content/en/the-launch/blocks/block1/index.md
rename to common-theme/archetypes/blocks/index.md
index 02e527d24..f9689c2b4 100644
--- a/content/en/the-launch/blocks/block1/index.md
+++ b/common-theme/archetypes/blocks/index.md
@@ -1,11 +1,13 @@
+++
-title = 'block1'
+title = '{{ replace .Name "-" " " | title }}'
headless = true
time = 30
facilitation = false
+threads = ['to-be-assigned']
emoji= 'π§©'
[objectives]
1='Use the Teach Tech Together guide to construct your objectives'
2='Limit the objectives to 3-5 items'
3='Write objectives you can measure'
+++
+
diff --git a/common-theme/archetypes/day-plan.md b/common-theme/archetypes/day-plan.md
new file mode 100644
index 000000000..ab709cb43
--- /dev/null
+++ b/common-theme/archetypes/day-plan.md
@@ -0,0 +1,45 @@
++++
+title = 'day-plan'
+layout = 'day-plan'
+emoji= 'π
'
+menu_level = ['sprint']
+weight = 3
+[[blocks]]
+name="Energiser"
+src="blocks/energiser"
+[[blocks]]
+name="PD Placeholder to be replaced with PD link"
+src="blocks/pd-placeholder"
+[[blocks]]
+name="Morning break"
+src="blocks/morning-break"
+[[blocks]]
+name="Placeholder Workshop"
+src="https://github.com/CodeYourFuture/CYF-Workshops/tree/main/template"
+time="60"
+[[blocks]]
+name="Lunch"
+src="blocks/lunch"
+[[blocks]]
+name="Study Group 2"
+src="blocks/study-group"
+time="90"
+[[blocks]]
+name="Code Review"
+src="https://github.com/CodeYourFuture/Module-Template/pulls"
+time="0"
+[[blocks]]
+name="Afternoon break"
+src="blocks/afternoon-break"
+[[blocks]]
+name="Study Group 2"
+src="blocks/study-group"
+time="60"
+[[blocks]]
+name="Retro"
+src="blocks/retro"
++++
+
+This example day plan is a template for you to use. It is a good idea to have a consistent structure for your day plans so that everyone knows _what_ to do _when_. The day plan will create a schedule from the time (in minutes) stored on each block using the `time-stamper` web component. You can override this time by adding a `time` parameter in the front matter as shown above.
+
+This view doesn't expect any content in the `.Content` section; delete these instructions. If you want to add a description of the day, add it to a `.Description` parameter in the front matter.
\ No newline at end of file
diff --git a/common-theme/archetypes/default.md b/common-theme/archetypes/default.md
new file mode 100644
index 000000000..bb3c743b2
--- /dev/null
+++ b/common-theme/archetypes/default.md
@@ -0,0 +1,5 @@
++++
+title = '{{ replace .Name "-" " " | title }}'
++++
+
+This is just a single. You can use this to create an uncomplicated basic page.
diff --git a/common-theme/archetypes/module-prep.md b/common-theme/archetypes/module-prep.md
new file mode 100644
index 000000000..0efa71d30
--- /dev/null
+++ b/common-theme/archetypes/module-prep.md
@@ -0,0 +1,32 @@
++++
+title = 'prep'
+description = 'This work must be done to prepare for this module'
+layout = 'prep'
+emoji= 'π§πΎβπ»'
+menu_level = ['module']
+weight = 1
+[[blocks]]
+name="Local"
+src="blocks/types/local"
+[[blocks]]
+name="Readme"
+src="https://github.com/CodeYourFuture/Module-Template"
+[[blocks]]
+name="Youtube video or playlist"
+src="https://www.youtube.com/watch?v=P1ww1IXRfTA"
+[[blocks]]
+name="Slide - an image with caption"
+caption="With caption please!"
+src="https://github.com/MaggieAppleton/maggieappleton.com-V2/blob/main/public/images/posts/programming-pictures/PicturesProgramming-26_vnlzye-1100.jpg"
+[[blocks]]
+name="PD syllabus website"
+src="https://cyf-pd.netlify.app/blocks/agreements/readme/"
+[[blocks]]
+name="Issue, just one"
+src="https://github.com/CodeYourFuture/Module-JS1/issues/8"
+[[blocks]]
+name="Pullreqs, list"
+src="https://github.com/CodeYourFuture/Module-JS1"
++++
+## Anything written in .Content needs an h2
+This example prep view has an example of each type of block so you can see how the blocks work.
diff --git a/common-theme/archetypes/module-success.md b/common-theme/archetypes/module-success.md
new file mode 100644
index 000000000..db4b1371e
--- /dev/null
+++ b/common-theme/archetypes/module-success.md
@@ -0,0 +1,11 @@
++++
+title = 'success'
+layout = 'success'
+emoji= 'β
'
+menu_level = ['module']
+weight = 4
++++
+
+This view compiles learning objectives from the day plan and prep view into a checkbox list to help trainees check in on their progress.
+
+You can initiate a module level success view as well and write in some overall outcomes or success criteria.
\ No newline at end of file
diff --git a/common-theme/archetypes/module.md b/common-theme/archetypes/module.md
new file mode 100644
index 000000000..92cff7417
--- /dev/null
+++ b/common-theme/archetypes/module.md
@@ -0,0 +1,17 @@
++++
+title = '{{ replace .Name "-" " " | title }}'
+description = 'The plan for {{ replace .Name "-" " " | title }}'
+layout = 'module'
+emoji= 'π'
+menu = ['syllabus']
++++
+
+### Quickstart
+
+Generate a template module by running `./module_create.sh ` in the root of your website. This script produces a complete module structure with all the necessary files and folders from the Hugo archetypes stored in the `archetypes` folder. Create any single archetype by running `hugo new --kind $ARCHETYPE_NAME $PATH_TO_NEW_FILE`.
+
+The template module contains a prep view to express all your entry criteria and setup instructions for the module, 4 template sprints to plan the weekly work, a product folder to organise the module project, and a success view to express the exit criteria and handoff details.
+
+Edit this basic setup to suit your needs. The module folder is located at content/$MODULE_NAME and it creates pages matching the folder structure on your website.
+
+If you don't want this module to show up on the default menu, remove `menu = ['syllabus']` from the front matter. The pages will still be accessible via the URLs.
diff --git a/common-theme/archetypes/prep.md b/common-theme/archetypes/prep.md
new file mode 100644
index 000000000..a66d6ddd3
--- /dev/null
+++ b/common-theme/archetypes/prep.md
@@ -0,0 +1,32 @@
++++
+title = 'prep'
+description = 'Note the general topic'
+layout = 'prep'
+emoji= 'π§πΎβπ»'
+menu_level = ['sprint']
+weight = 1
+[[blocks]]
+name="Local"
+src="blocks/types/local"
+[[blocks]]
+name="Readme"
+src="https://github.com/CodeYourFuture/Module-Template"
+[[blocks]]
+name="Youtube video or playlist"
+src="https://www.youtube.com/watch?v=P1ww1IXRfTA"
+[[blocks]]
+name="Slide - an image with caption"
+caption="With caption please!"
+src="https://github.com/MaggieAppleton/maggieappleton.com-V2/blob/main/public/images/posts/programming-pictures/PicturesProgramming-26_vnlzye-1100.jpg"
+[[blocks]]
+name="PD syllabus website"
+src="https://cyf-pd.netlify.app/blocks/agreements/readme/"
+[[blocks]]
+name="Issue, just one"
+src="https://github.com/CodeYourFuture/Module-JS1/issues/8"
+[[blocks]]
+name="Pullreqs, list"
+src="https://github.com/CodeYourFuture/Module-JS1"
++++
+## Anything written in .Content needs an h2
+This example prep view has an example of each type of block so you can see how the blocks work.
diff --git a/common-theme/archetypes/product-backlog.md b/common-theme/archetypes/product-backlog.md
new file mode 100644
index 000000000..36c5f88e6
--- /dev/null
+++ b/common-theme/archetypes/product-backlog.md
@@ -0,0 +1,10 @@
++++
+title = 'backlog'
+layout = 'backlog'
+emoji= 'π₯'
+menu_level = ['product']
+weight = 2
+backlog= 'React-Module-Project'
++++
+
+This view lists all the issues for the project. It is looking for a repo in your org named `React-Module-Project` where it expects issues to live. Wire in your actual project repo.
\ No newline at end of file
diff --git a/common-theme/archetypes/product-prep.md b/common-theme/archetypes/product-prep.md
new file mode 100644
index 000000000..04ca13418
--- /dev/null
+++ b/common-theme/archetypes/product-prep.md
@@ -0,0 +1,20 @@
++++
+title = 'prep'
+description = 'Wire in your repo docs, example given'
+layout = 'prep'
+emoji= 'π§πΎβπ»'
+menu_level = ['product']
+weight = 1
+[[blocks]]
+name="Planning and organising your team"
+src="https://github.com/CodeYourFuture/React-Module-Project/tree/main/docs/plan/"
+[[blocks]]
+name="Building your product"
+src="https://github.com/CodeYourFuture/React-Module-Project/tree/main/docs/build/"
+[[blocks]]
+name="Test driven development"
+src="https://github.com/CodeYourFuture/React-Module-Project/tree/main/docs/test/"
+[[blocks]]
+name="Shipping your product"
+src="https://github.com/CodeYourFuture/React-Module-Project/tree/main/docs/ship/"
++++
diff --git a/common-theme/archetypes/product.md b/common-theme/archetypes/product.md
new file mode 100644
index 000000000..644c3384c
--- /dev/null
+++ b/common-theme/archetypes/product.md
@@ -0,0 +1,11 @@
++++
+title = 'Product'
+description = 'The module project for {{ replace .Name "-" " " | title }}'
+layout = 'product'
+emoji= 'π'
+menu_level = ['module']
++++
+
+Each module should have a module-length project that produces a tangible product. These products form a starting point for trainee portfolios, and are mandatory for progression.
+
+The actual instructions are generally pulled from the project repo.
\ No newline at end of file
diff --git a/common-theme/archetypes/sprint.md b/common-theme/archetypes/sprint.md
new file mode 100644
index 000000000..9c216c128
--- /dev/null
+++ b/common-theme/archetypes/sprint.md
@@ -0,0 +1,9 @@
++++
+title = 'Sprint {{ replace .Name "-" " " | title }}'
+layout = 'sprint'
+emoji= 'π½'
+menu_level = ['module']
+weight = 2
++++
+
+This is an index to organise the views for a sprint block. If you want to remove this sprint from the menu, remove the `menu_level` parameter from the front matter. We don't use Hugo menus as Hugo doesn't like having duplicate items, but we want all our modules and sprints to have consistent, repeated (predictable) names.
\ No newline at end of file
diff --git a/common-theme/archetypes/success.md b/common-theme/archetypes/success.md
new file mode 100644
index 000000000..eb89f1817
--- /dev/null
+++ b/common-theme/archetypes/success.md
@@ -0,0 +1,11 @@
++++
+title = 'success'
+layout = 'success'
+emoji= 'β
'
+menu_level = ['sprint']
+weight = 4
++++
+
+This view compiles learning objectives from the day plan and prep view into a checkbox list to help trainees check in on their progress.
+
+You can initiate a module level success view as well and write in some overall outcomes or success criteria.
\ No newline at end of file
diff --git a/common-theme/assets/images/site-logo/logo.svg b/common-theme/assets/images/site-logo/logo.svg
new file mode 100644
index 000000000..a0eca3cf7
--- /dev/null
+++ b/common-theme/assets/images/site-logo/logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/common-theme/assets/jsconfig.json b/common-theme/assets/jsconfig.json
new file mode 100644
index 000000000..377218ccb
--- /dev/null
+++ b/common-theme/assets/jsconfig.json
@@ -0,0 +1,10 @@
+{
+ "compilerOptions": {
+ "baseUrl": ".",
+ "paths": {
+ "*": [
+ "*"
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/common-theme/assets/scripts/alert-message.js b/common-theme/assets/scripts/alert-message.js
new file mode 100644
index 000000000..b91fa2ed4
--- /dev/null
+++ b/common-theme/assets/scripts/alert-message.js
@@ -0,0 +1,53 @@
+class AlertMessage {
+ constructor() {
+ const alertEl = document.querySelector(".c-alert");
+ if (alertEl instanceof Element === false) return;
+
+ this.alertEl = alertEl;
+
+ this.attachCloseListener();
+ this.show();
+ }
+
+ attachCloseListener() {
+ const alertClose = this.alertEl.querySelector(".close");
+
+ alertClose.addEventListener("click", (event) => {
+ this.alertEl.setAttribute("hidden", true);
+ });
+ }
+
+ getUrlAlertParameters() {
+ // Extract message and error parameters from the URL
+ const urlParams = new URLSearchParams(window.location.search);
+ const message = urlParams.get("message");
+ const error = urlParams.get("error");
+
+ const alertParameters = { message: message, error: error };
+
+ return alertParameters;
+ }
+
+ show() {
+ const urlParams = this.getUrlAlertParameters();
+
+ // Display a message if 'message' parameter is present
+ if (urlParams.message) {
+ this.alertEl.removeAttribute("hidden");
+ this.alertEl.classList.remove("c-alert--warning");
+ this.alertEl.classList.add("c-alert--info");
+ this.alertEl.querySelector(".alert__message").innerHTML =
+ urlParams.message;
+ }
+
+ // Display an error if 'error' parameter is present
+ if (urlParams.error) {
+ this.alertEl.removeAttribute("hidden");
+ this.alertEl.classList.remove("c-alert--info");
+ this.alertEl.classList.add("c-alert--warning");
+ this.alertEl.querySelector(".alert__message").innerHTML = urlParams.error;
+ }
+ }
+}
+
+new AlertMessage();
diff --git a/assets/scripts/app.js b/common-theme/assets/scripts/app.js
similarity index 68%
rename from assets/scripts/app.js
rename to common-theme/assets/scripts/app.js
index 2e196c3f8..84999f9bb 100644
--- a/assets/scripts/app.js
+++ b/common-theme/assets/scripts/app.js
@@ -38,10 +38,6 @@ editableCodeBlocks.forEach((block) => {
block.setAttribute("autocapitalize", "off");
});
-// alerts for issue cloning (error/success message)
-const alert = document.querySelector(".c-alert");
-const alertClose = alert.querySelector(".close");
-
// Fix for GFM task lists
// https://github.com/github/cmark-gfm/issues/299
window.addEventListener("DOMContentLoaded", (event) => {
@@ -53,27 +49,4 @@ window.addEventListener("DOMContentLoaded", (event) => {
const parent = item.parentNode;
parent.innerHTML = `${parent.innerHTML} `;
});
-
- // get query param for clone issue message/error
- const urlParams = new URLSearchParams(window.location.search);
- const message = urlParams.get("message");
- const error = urlParams.get("error");
-
- if (message) {
- alert.removeAttribute("hidden");
- alert.classList.remove("c-alert--warning");
- alert.classList.add("c-alert--info");
- alert.querySelector(".alert__message").innerHTML = message;
- }
-
- if (error) {
- alert.removeAttribute("hidden");
- alert.classList.remove("c-alert--info");
- alert.classList.add("c-alert--warning");
- alert.querySelector(".alert__message").innerHTML = error;
- }
-
- alertClose.addEventListener("click", (event) => {
- alert.setAttribute("hidden", true);
- });
});
diff --git a/assets/scripts/cm6.ts b/common-theme/assets/scripts/cm6.ts
similarity index 100%
rename from assets/scripts/cm6.ts
rename to common-theme/assets/scripts/cm6.ts
diff --git a/assets/scripts/confetti-checkboxes.js b/common-theme/assets/scripts/confetti-checkboxes.js
similarity index 100%
rename from assets/scripts/confetti-checkboxes.js
rename to common-theme/assets/scripts/confetti-checkboxes.js
diff --git a/assets/scripts/dark-mode.js b/common-theme/assets/scripts/dark-mode.js
similarity index 100%
rename from assets/scripts/dark-mode.js
rename to common-theme/assets/scripts/dark-mode.js
diff --git a/assets/scripts/highlight-lines.ts b/common-theme/assets/scripts/highlight-lines.ts
similarity index 100%
rename from assets/scripts/highlight-lines.ts
rename to common-theme/assets/scripts/highlight-lines.ts
diff --git a/assets/scripts/solo-view.js b/common-theme/assets/scripts/solo-view.js
similarity index 100%
rename from assets/scripts/solo-view.js
rename to common-theme/assets/scripts/solo-view.js
diff --git a/assets/scripts/tab-panels.js b/common-theme/assets/scripts/tab-panels.js
similarity index 100%
rename from assets/scripts/tab-panels.js
rename to common-theme/assets/scripts/tab-panels.js
diff --git a/assets/scripts/time-stamper.js b/common-theme/assets/scripts/time-stamper.js
similarity index 100%
rename from assets/scripts/time-stamper.js
rename to common-theme/assets/scripts/time-stamper.js
diff --git a/assets/scripts/word-limit.js b/common-theme/assets/scripts/word-limit.js
similarity index 100%
rename from assets/scripts/word-limit.js
rename to common-theme/assets/scripts/word-limit.js
diff --git a/assets/scripts/youtube-player.js b/common-theme/assets/scripts/youtube-player.js
similarity index 100%
rename from assets/scripts/youtube-player.js
rename to common-theme/assets/scripts/youtube-player.js
diff --git a/assets/styles/01-mixins/backdrop.scss b/common-theme/assets/styles/01-mixins/backdrop.scss
similarity index 100%
rename from assets/styles/01-mixins/backdrop.scss
rename to common-theme/assets/styles/01-mixins/backdrop.scss
diff --git a/assets/styles/01-mixins/block.scss b/common-theme/assets/styles/01-mixins/block.scss
similarity index 100%
rename from assets/styles/01-mixins/block.scss
rename to common-theme/assets/styles/01-mixins/block.scss
diff --git a/assets/styles/01-mixins/grid-assign.scss b/common-theme/assets/styles/01-mixins/grid-assign.scss
similarity index 100%
rename from assets/styles/01-mixins/grid-assign.scss
rename to common-theme/assets/styles/01-mixins/grid-assign.scss
diff --git a/assets/styles/01-mixins/offscreen.scss b/common-theme/assets/styles/01-mixins/offscreen.scss
similarity index 100%
rename from assets/styles/01-mixins/offscreen.scss
rename to common-theme/assets/styles/01-mixins/offscreen.scss
diff --git a/assets/styles/01-mixins/offset.scss b/common-theme/assets/styles/01-mixins/offset.scss
similarity index 100%
rename from assets/styles/01-mixins/offset.scss
rename to common-theme/assets/styles/01-mixins/offset.scss
diff --git a/assets/styles/01-mixins/on-event.scss b/common-theme/assets/styles/01-mixins/on-event.scss
similarity index 100%
rename from assets/styles/01-mixins/on-event.scss
rename to common-theme/assets/styles/01-mixins/on-event.scss
diff --git a/assets/styles/01-mixins/patterns.scss b/common-theme/assets/styles/01-mixins/patterns.scss
similarity index 100%
rename from assets/styles/01-mixins/patterns.scss
rename to common-theme/assets/styles/01-mixins/patterns.scss
diff --git a/assets/styles/01-mixins/screen.scss b/common-theme/assets/styles/01-mixins/screen.scss
similarity index 100%
rename from assets/styles/01-mixins/screen.scss
rename to common-theme/assets/styles/01-mixins/screen.scss
diff --git a/assets/styles/02-variables/borders.scss b/common-theme/assets/styles/02-variables/borders.scss
similarity index 100%
rename from assets/styles/02-variables/borders.scss
rename to common-theme/assets/styles/02-variables/borders.scss
diff --git a/assets/styles/02-variables/colors.scss b/common-theme/assets/styles/02-variables/colors.scss
similarity index 100%
rename from assets/styles/02-variables/colors.scss
rename to common-theme/assets/styles/02-variables/colors.scss
diff --git a/assets/styles/02-variables/fonts.scss b/common-theme/assets/styles/02-variables/fonts.scss
similarity index 100%
rename from assets/styles/02-variables/fonts.scss
rename to common-theme/assets/styles/02-variables/fonts.scss
diff --git a/assets/styles/02-variables/shadows.scss b/common-theme/assets/styles/02-variables/shadows.scss
similarity index 100%
rename from assets/styles/02-variables/shadows.scss
rename to common-theme/assets/styles/02-variables/shadows.scss
diff --git a/assets/styles/02-variables/spacing.scss b/common-theme/assets/styles/02-variables/spacing.scss
similarity index 100%
rename from assets/styles/02-variables/spacing.scss
rename to common-theme/assets/styles/02-variables/spacing.scss
diff --git a/assets/styles/02-variables/type-scale.scss b/common-theme/assets/styles/02-variables/type-scale.scss
similarity index 100%
rename from assets/styles/02-variables/type-scale.scss
rename to common-theme/assets/styles/02-variables/type-scale.scss
diff --git a/assets/styles/03-elements/base.scss b/common-theme/assets/styles/03-elements/base.scss
similarity index 100%
rename from assets/styles/03-elements/base.scss
rename to common-theme/assets/styles/03-elements/base.scss
diff --git a/assets/styles/03-elements/buttons.scss b/common-theme/assets/styles/03-elements/buttons.scss
similarity index 100%
rename from assets/styles/03-elements/buttons.scss
rename to common-theme/assets/styles/03-elements/buttons.scss
diff --git a/assets/styles/03-elements/headings.scss b/common-theme/assets/styles/03-elements/headings.scss
similarity index 100%
rename from assets/styles/03-elements/headings.scss
rename to common-theme/assets/styles/03-elements/headings.scss
diff --git a/assets/styles/03-elements/images.scss b/common-theme/assets/styles/03-elements/images.scss
similarity index 100%
rename from assets/styles/03-elements/images.scss
rename to common-theme/assets/styles/03-elements/images.scss
diff --git a/assets/styles/03-elements/links.scss b/common-theme/assets/styles/03-elements/links.scss
similarity index 100%
rename from assets/styles/03-elements/links.scss
rename to common-theme/assets/styles/03-elements/links.scss
diff --git a/assets/styles/03-elements/misc-phrasing.scss b/common-theme/assets/styles/03-elements/misc-phrasing.scss
similarity index 100%
rename from assets/styles/03-elements/misc-phrasing.scss
rename to common-theme/assets/styles/03-elements/misc-phrasing.scss
diff --git a/assets/styles/03-elements/table.scss b/common-theme/assets/styles/03-elements/table.scss
similarity index 100%
rename from assets/styles/03-elements/table.scss
rename to common-theme/assets/styles/03-elements/table.scss
diff --git a/assets/styles/04-components/alert.scss b/common-theme/assets/styles/04-components/alert.scss
similarity index 100%
rename from assets/styles/04-components/alert.scss
rename to common-theme/assets/styles/04-components/alert.scss
diff --git a/assets/styles/04-components/block.scss b/common-theme/assets/styles/04-components/block.scss
similarity index 100%
rename from assets/styles/04-components/block.scss
rename to common-theme/assets/styles/04-components/block.scss
diff --git a/assets/styles/04-components/breadcrumbs.scss b/common-theme/assets/styles/04-components/breadcrumbs.scss
similarity index 100%
rename from assets/styles/04-components/breadcrumbs.scss
rename to common-theme/assets/styles/04-components/breadcrumbs.scss
diff --git a/assets/styles/04-components/card.scss b/common-theme/assets/styles/04-components/card.scss
similarity index 100%
rename from assets/styles/04-components/card.scss
rename to common-theme/assets/styles/04-components/card.scss
diff --git a/assets/styles/04-components/codemirror.scss b/common-theme/assets/styles/04-components/codemirror.scss
similarity index 100%
rename from assets/styles/04-components/codemirror.scss
rename to common-theme/assets/styles/04-components/codemirror.scss
diff --git a/assets/styles/04-components/columns.scss b/common-theme/assets/styles/04-components/columns.scss
similarity index 100%
rename from assets/styles/04-components/columns.scss
rename to common-theme/assets/styles/04-components/columns.scss
diff --git a/assets/styles/04-components/contributor.scss b/common-theme/assets/styles/04-components/contributor.scss
similarity index 100%
rename from assets/styles/04-components/contributor.scss
rename to common-theme/assets/styles/04-components/contributor.scss
diff --git a/assets/styles/04-components/copy.scss b/common-theme/assets/styles/04-components/copy.scss
similarity index 100%
rename from assets/styles/04-components/copy.scss
rename to common-theme/assets/styles/04-components/copy.scss
diff --git a/assets/styles/04-components/issue.scss b/common-theme/assets/styles/04-components/issue.scss
similarity index 100%
rename from assets/styles/04-components/issue.scss
rename to common-theme/assets/styles/04-components/issue.scss
diff --git a/assets/styles/04-components/logos.scss b/common-theme/assets/styles/04-components/logos.scss
similarity index 100%
rename from assets/styles/04-components/logos.scss
rename to common-theme/assets/styles/04-components/logos.scss
diff --git a/assets/styles/04-components/note.scss b/common-theme/assets/styles/04-components/note.scss
similarity index 100%
rename from assets/styles/04-components/note.scss
rename to common-theme/assets/styles/04-components/note.scss
diff --git a/assets/styles/04-components/objectives.scss b/common-theme/assets/styles/04-components/objectives.scss
similarity index 100%
rename from assets/styles/04-components/objectives.scss
rename to common-theme/assets/styles/04-components/objectives.scss
diff --git a/assets/styles/04-components/page-header.scss b/common-theme/assets/styles/04-components/page-header.scss
similarity index 100%
rename from assets/styles/04-components/page-header.scss
rename to common-theme/assets/styles/04-components/page-header.scss
diff --git a/assets/styles/04-components/skip-link.scss b/common-theme/assets/styles/04-components/skip-link.scss
similarity index 100%
rename from assets/styles/04-components/skip-link.scss
rename to common-theme/assets/styles/04-components/skip-link.scss
diff --git a/assets/styles/04-components/tabs.scss b/common-theme/assets/styles/04-components/tabs.scss
similarity index 100%
rename from assets/styles/04-components/tabs.scss
rename to common-theme/assets/styles/04-components/tabs.scss
diff --git a/assets/styles/04-components/timeline.scss b/common-theme/assets/styles/04-components/timeline.scss
similarity index 100%
rename from assets/styles/04-components/timeline.scss
rename to common-theme/assets/styles/04-components/timeline.scss
diff --git a/assets/styles/04-components/toc.scss b/common-theme/assets/styles/04-components/toc.scss
similarity index 100%
rename from assets/styles/04-components/toc.scss
rename to common-theme/assets/styles/04-components/toc.scss
diff --git a/assets/styles/04-components/tooltip.scss b/common-theme/assets/styles/04-components/tooltip.scss
similarity index 100%
rename from assets/styles/04-components/tooltip.scss
rename to common-theme/assets/styles/04-components/tooltip.scss
diff --git a/assets/styles/layout/footer.scss b/common-theme/assets/styles/layout/footer.scss
similarity index 100%
rename from assets/styles/layout/footer.scss
rename to common-theme/assets/styles/layout/footer.scss
diff --git a/assets/styles/layout/header.scss b/common-theme/assets/styles/layout/header.scss
similarity index 100%
rename from assets/styles/layout/header.scss
rename to common-theme/assets/styles/layout/header.scss
diff --git a/assets/styles/layout/layout.scss b/common-theme/assets/styles/layout/layout.scss
similarity index 100%
rename from assets/styles/layout/layout.scss
rename to common-theme/assets/styles/layout/layout.scss
diff --git a/assets/styles/layout/main.scss b/common-theme/assets/styles/layout/main.scss
similarity index 100%
rename from assets/styles/layout/main.scss
rename to common-theme/assets/styles/layout/main.scss
diff --git a/assets/styles/layout/menu.scss b/common-theme/assets/styles/layout/menu.scss
similarity index 95%
rename from assets/styles/layout/menu.scss
rename to common-theme/assets/styles/layout/menu.scss
index 35455908a..80c0c323b 100644
--- a/assets/styles/layout/menu.scss
+++ b/common-theme/assets/styles/layout/menu.scss
@@ -1,7 +1,8 @@
.l-menu {
--gap: var(--theme-spacing--gutter);
@include grid-assign(heading, action, primary, secondary, container);
- overflow: hidden;
+ overflow-x: hidden;
+ overflow-y: auto;
position: fixed;
top: 0;
left: -100%;
@@ -65,6 +66,8 @@
&__secondary {
display: flex;
+ width: 90vw;
+ flex-wrap: wrap;
justify-content: space-evenly;
background: var(--theme-color--block);
color: var(--theme-color--pop);
diff --git a/assets/styles/states/dark.scss b/common-theme/assets/styles/states/dark.scss
similarity index 100%
rename from assets/styles/states/dark.scss
rename to common-theme/assets/styles/states/dark.scss
diff --git a/assets/styles/states/invisible.scss b/common-theme/assets/styles/states/invisible.scss
similarity index 100%
rename from assets/styles/states/invisible.scss
rename to common-theme/assets/styles/states/invisible.scss
diff --git a/assets/styles/states/light.scss b/common-theme/assets/styles/states/light.scss
similarity index 100%
rename from assets/styles/states/light.scss
rename to common-theme/assets/styles/states/light.scss
diff --git a/assets/styles/states/none.scss b/common-theme/assets/styles/states/none.scss
similarity index 100%
rename from assets/styles/states/none.scss
rename to common-theme/assets/styles/states/none.scss
diff --git a/assets/styles/states/visible.scss b/common-theme/assets/styles/states/visible.scss
similarity index 100%
rename from assets/styles/states/visible.scss
rename to common-theme/assets/styles/states/visible.scss
diff --git a/common-theme/data/funding.json b/common-theme/data/funding.json
new file mode 100644
index 000000000..833af8169
--- /dev/null
+++ b/common-theme/data/funding.json
@@ -0,0 +1,20 @@
+[
+ {
+ "name": "GitHub",
+ "website": "https://github.com/",
+ "logo": "logos/github.png",
+ "support_type": ["Product"]
+ },
+ {
+ "name": "Netlify",
+ "website": "https://www.netlify.com/",
+ "logo": "logos/netlify.svg",
+ "support_type": ["Product"]
+ },
+ {
+ "name": "Slack",
+ "website": "https://slack.com/",
+ "logo": "logos/slack.png",
+ "support_type": ["Product"]
+ }
+]
diff --git a/common-theme/go.mod b/common-theme/go.mod
new file mode 100644
index 000000000..449d71296
--- /dev/null
+++ b/common-theme/go.mod
@@ -0,0 +1,3 @@
+module github.com/CodeYourFuture/curriculum/common-theme
+
+go 1.21.3
diff --git a/layouts/_default/_markup/render-codeblock-mermaid.html.html b/common-theme/layouts/_default/_markup/render-codeblock-mermaid.html.html
similarity index 100%
rename from layouts/_default/_markup/render-codeblock-mermaid.html.html
rename to common-theme/layouts/_default/_markup/render-codeblock-mermaid.html.html
diff --git a/layouts/_default/_markup/render-codeblock-objectives.html b/common-theme/layouts/_default/_markup/render-codeblock-objectives.html
similarity index 100%
rename from layouts/_default/_markup/render-codeblock-objectives.html
rename to common-theme/layouts/_default/_markup/render-codeblock-objectives.html
diff --git a/layouts/_default/_markup/render-codeblock-runkit.html b/common-theme/layouts/_default/_markup/render-codeblock-runkit.html
similarity index 100%
rename from layouts/_default/_markup/render-codeblock-runkit.html
rename to common-theme/layouts/_default/_markup/render-codeblock-runkit.html
diff --git a/layouts/_default/_markup/render-image.html b/common-theme/layouts/_default/_markup/render-image.html
similarity index 100%
rename from layouts/_default/_markup/render-image.html
rename to common-theme/layouts/_default/_markup/render-image.html
diff --git a/layouts/_default/_markup/render-link.html b/common-theme/layouts/_default/_markup/render-link.html
similarity index 100%
rename from layouts/_default/_markup/render-link.html
rename to common-theme/layouts/_default/_markup/render-link.html
diff --git a/layouts/_default/backlog.html b/common-theme/layouts/_default/backlog.html
similarity index 68%
rename from layouts/_default/backlog.html
rename to common-theme/layouts/_default/backlog.html
index 29e8c6359..558922bc6 100644
--- a/layouts/_default/backlog.html
+++ b/common-theme/layouts/_default/backlog.html
@@ -1,7 +1,5 @@
{{ define "main" }}
-
- {{ .Scratch.Set "emoji" "π
" }}
{{ partial "page-header.html" . }}
{{ with .Content }}
diff --git a/layouts/_default/baseof.html b/common-theme/layouts/_default/baseof.html
similarity index 100%
rename from layouts/_default/baseof.html
rename to common-theme/layouts/_default/baseof.html
diff --git a/layouts/_default/day-plan.html b/common-theme/layouts/_default/day-plan.html
similarity index 91%
rename from layouts/_default/day-plan.html
rename to common-theme/layouts/_default/day-plan.html
index 550bda699..b25bad4a6 100644
--- a/layouts/_default/day-plan.html
+++ b/common-theme/layouts/_default/day-plan.html
@@ -1,6 +1,5 @@
{{ define "main" }}
- {{ .Scratch.Set "emoji" "π§πΏβπ€βπ§πΎ" }}
{{ .Scratch.Set "headerClass"
"c-page-header--toc"
}}
diff --git a/layouts/_default/list.html b/common-theme/layouts/_default/list.html
similarity index 100%
rename from layouts/_default/list.html
rename to common-theme/layouts/_default/list.html
diff --git a/layouts/_default/module.html b/common-theme/layouts/_default/module.html
similarity index 100%
rename from layouts/_default/module.html
rename to common-theme/layouts/_default/module.html
diff --git a/layouts/_default/prep.html b/common-theme/layouts/_default/prep.html
similarity index 95%
rename from layouts/_default/prep.html
rename to common-theme/layouts/_default/prep.html
index 97a33eafd..9dd5fcf0b 100644
--- a/layouts/_default/prep.html
+++ b/common-theme/layouts/_default/prep.html
@@ -1,6 +1,5 @@
{{ define "main" }}
- {{ .Scratch.Set "emoji" "π§πΎβπ»" }}
{{ .Scratch.Set "headerClass"
"c-page-header--solo"
}}
diff --git a/layouts/_default/product.html b/common-theme/layouts/_default/product.html
similarity index 100%
rename from layouts/_default/product.html
rename to common-theme/layouts/_default/product.html
diff --git a/layouts/_default/single.html b/common-theme/layouts/_default/single.html
similarity index 100%
rename from layouts/_default/single.html
rename to common-theme/layouts/_default/single.html
diff --git a/layouts/_default/sprint.html b/common-theme/layouts/_default/sprint.html
similarity index 100%
rename from layouts/_default/sprint.html
rename to common-theme/layouts/_default/sprint.html
diff --git a/layouts/_default/success.html b/common-theme/layouts/_default/success.html
similarity index 96%
rename from layouts/_default/success.html
rename to common-theme/layouts/_default/success.html
index 76a5ff162..44e0af599 100644
--- a/layouts/_default/success.html
+++ b/common-theme/layouts/_default/success.html
@@ -1,8 +1,6 @@
{{ define "main" }}
{{ $pageContext := . }}
- {{/* reset emoji from page matter to checkbox emoji */}}
- {{ .Scratch.Set "emoji" "β
" }}
{{ partial "page-header.html" . }}
{{ with .Content }}
diff --git a/layouts/index.html b/common-theme/layouts/index.html
similarity index 86%
rename from layouts/index.html
rename to common-theme/layouts/index.html
index f2c3d3f24..36dd9f6c6 100644
--- a/layouts/index.html
+++ b/common-theme/layouts/index.html
@@ -1,6 +1,6 @@
{{ define "main" }}
- {{- .Scratch.Set "emoji" "π§πΏβπ«π¨π½βπ" }}
+
{{- .Scratch.Set "headerClass"
"c-page-header--splash"
}}
diff --git a/layouts/partials/block/block.html b/common-theme/layouts/partials/block/block.html
similarity index 100%
rename from layouts/partials/block/block.html
rename to common-theme/layouts/partials/block/block.html
diff --git a/layouts/partials/block/data.html b/common-theme/layouts/partials/block/data.html
similarity index 96%
rename from layouts/partials/block/data.html
rename to common-theme/layouts/partials/block/data.html
index 043e51c1d..c3c9a9b84 100644
--- a/layouts/partials/block/data.html
+++ b/common-theme/layouts/partials/block/data.html
@@ -32,8 +32,8 @@
{{/* Now let's do our headers */}}
{{ $headers := (dict) }}
-{{ if ne (os.Getenv "CYF_CURRICULUM_GITHUB_BEARER_TOKEN") "" }}
- {{ $headers = merge $headers (dict "Authorization" (printf "Bearer %s" (getenv "CYF_CURRICULUM_GITHUB_BEARER_TOKEN"))) }}
+{{ if ne (os.Getenv "HUGO_CURRICULUM_GITHUB_BEARER_TOKEN") "" }}
+ {{ $headers = merge $headers (dict "Authorization" (printf "Bearer %s" (getenv "HUGO_CURRICULUM_GITHUB_BEARER_TOKEN"))) }}
{{ end }}
{{ .Scratch.SetInMap "blockData" "headers" $headers }}
diff --git a/layouts/partials/block/issue.html b/common-theme/layouts/partials/block/issue.html
similarity index 100%
rename from layouts/partials/block/issue.html
rename to common-theme/layouts/partials/block/issue.html
diff --git a/layouts/partials/block/local.html b/common-theme/layouts/partials/block/local.html
similarity index 100%
rename from layouts/partials/block/local.html
rename to common-theme/layouts/partials/block/local.html
diff --git a/layouts/partials/block/pd.html b/common-theme/layouts/partials/block/pd.html
similarity index 100%
rename from layouts/partials/block/pd.html
rename to common-theme/layouts/partials/block/pd.html
diff --git a/layouts/partials/block/pullreq.html b/common-theme/layouts/partials/block/pullreq.html
similarity index 100%
rename from layouts/partials/block/pullreq.html
rename to common-theme/layouts/partials/block/pullreq.html
diff --git a/layouts/partials/block/readme.html b/common-theme/layouts/partials/block/readme.html
similarity index 100%
rename from layouts/partials/block/readme.html
rename to common-theme/layouts/partials/block/readme.html
diff --git a/layouts/partials/block/slide.html b/common-theme/layouts/partials/block/slide.html
similarity index 100%
rename from layouts/partials/block/slide.html
rename to common-theme/layouts/partials/block/slide.html
diff --git a/layouts/partials/block/youtube.html b/common-theme/layouts/partials/block/youtube.html
similarity index 100%
rename from layouts/partials/block/youtube.html
rename to common-theme/layouts/partials/block/youtube.html
diff --git a/layouts/partials/breadcrumbs.html b/common-theme/layouts/partials/breadcrumbs.html
similarity index 100%
rename from layouts/partials/breadcrumbs.html
rename to common-theme/layouts/partials/breadcrumbs.html
diff --git a/layouts/partials/card.html b/common-theme/layouts/partials/card.html
similarity index 100%
rename from layouts/partials/card.html
rename to common-theme/layouts/partials/card.html
diff --git a/layouts/partials/foot.html b/common-theme/layouts/partials/foot.html
similarity index 93%
rename from layouts/partials/foot.html
rename to common-theme/layouts/partials/foot.html
index eb9ab774b..acc073eff 100644
--- a/layouts/partials/foot.html
+++ b/common-theme/layouts/partials/foot.html
@@ -9,7 +9,7 @@
This
free and open source programme
is a project of
- Code Your Future
+ {{ $.Site.Params.main_org_name }}
Creative Commons Attribution-ShareAlike 4.0
diff --git a/layouts/partials/github-icon.html b/common-theme/layouts/partials/github-icon.html
similarity index 98%
rename from layouts/partials/github-icon.html
rename to common-theme/layouts/partials/github-icon.html
index 999be1402..f6f865d3e 100644
--- a/layouts/partials/github-icon.html
+++ b/common-theme/layouts/partials/github-icon.html
@@ -2,6 +2,7 @@
focusable="false"
class="e-button__icon"
role="presentation"
+ width="96"
viewbox="0 0 98 96"
xmlns="http://www.w3.org/2000/svg">
- {{ .Title }} | {{ .Site.Title }}
+ {{.Section }} | {{ .Title }} | {{ .Site.Title }}
{{ if .Page.Params.description }}
{{ else }}
@@ -35,13 +35,25 @@
href="{{ $style.RelPermalink }}"
media="print"
onload="this.media='all'" />
+
+ {{ $customCSS := resources.Match "custom-theme/**.scss" | resources.Concat
+ "custom.css"}}
+ {{ with $customCSS }}
+ {{ $customCSS := $customCSS | toCSS | minify | fingerprint "md5" }}
+
+ {{ end }}
+
diff --git a/common-theme/layouts/partials/header.html b/common-theme/layouts/partials/header.html
new file mode 100644
index 000000000..b764c2084
--- /dev/null
+++ b/common-theme/layouts/partials/header.html
@@ -0,0 +1,25 @@
+
diff --git a/layouts/partials/issues.html b/common-theme/layouts/partials/issues.html
similarity index 94%
rename from layouts/partials/issues.html
rename to common-theme/layouts/partials/issues.html
index b138aed1f..c5db86b96 100644
--- a/layouts/partials/issues.html
+++ b/common-theme/layouts/partials/issues.html
@@ -4,8 +4,8 @@
{{ $currentPath := .Page.RelPermalink }}
{{ $headers := (dict) }}
-{{ if ne (os.Getenv "CYF_CURRICULUM_GITHUB_BEARER_TOKEN") "" }}
- {{ $headers = merge $headers (dict "Authorization" (printf "Bearer %s" (getenv "CYF_CURRICULUM_GITHUB_BEARER_TOKEN"))) }}
+{{ if ne (os.Getenv "HUGO_CURRICULUM_GITHUB_BEARER_TOKEN") "" }}
+ {{ $headers = merge $headers (dict "Authorization" (printf "Bearer %s" (getenv "HUGO_CURRICULUM_GITHUB_BEARER_TOKEN"))) }}
{{ end }}
{{ $issues := getJSON $issuesUrl $headers }}
diff --git a/layouts/partials/menu.html b/common-theme/layouts/partials/menu.html
similarity index 100%
rename from layouts/partials/menu.html
rename to common-theme/layouts/partials/menu.html
diff --git a/layouts/partials/module-tabs.html b/common-theme/layouts/partials/module-tabs.html
similarity index 100%
rename from layouts/partials/module-tabs.html
rename to common-theme/layouts/partials/module-tabs.html
diff --git a/layouts/partials/objectives/block.html b/common-theme/layouts/partials/objectives/block.html
similarity index 100%
rename from layouts/partials/objectives/block.html
rename to common-theme/layouts/partials/objectives/block.html
diff --git a/layouts/partials/objectives/lookup.html b/common-theme/layouts/partials/objectives/lookup.html
similarity index 100%
rename from layouts/partials/objectives/lookup.html
rename to common-theme/layouts/partials/objectives/lookup.html
diff --git a/layouts/partials/objectives/parsed.html b/common-theme/layouts/partials/objectives/parsed.html
similarity index 100%
rename from layouts/partials/objectives/parsed.html
rename to common-theme/layouts/partials/objectives/parsed.html
diff --git a/layouts/partials/page-header.html b/common-theme/layouts/partials/page-header.html
similarity index 100%
rename from layouts/partials/page-header.html
rename to common-theme/layouts/partials/page-header.html
diff --git a/layouts/partials/scripts.html b/common-theme/layouts/partials/scripts.html
similarity index 77%
rename from layouts/partials/scripts.html
rename to common-theme/layouts/partials/scripts.html
index ea66d8653..723c6ad46 100644
--- a/layouts/partials/scripts.html
+++ b/common-theme/layouts/partials/scripts.html
@@ -9,4 +9,6 @@
{{ $tabs := resources.Get "scripts/tab-panels.js" | resources.Minify }}
{{ $darkmode := resources.Get "scripts/dark-mode.js" | resources.Minify }}
-
\ No newline at end of file
+
+{{ $alertmessage := resources.Get "scripts/alert-message.js" | resources.Minify }}
+
\ No newline at end of file
diff --git a/layouts/partials/search.html b/common-theme/layouts/partials/search.html
similarity index 100%
rename from layouts/partials/search.html
rename to common-theme/layouts/partials/search.html
diff --git a/layouts/partials/time.html b/common-theme/layouts/partials/time.html
similarity index 100%
rename from layouts/partials/time.html
rename to common-theme/layouts/partials/time.html
diff --git a/layouts/shortcodes/columns.html b/common-theme/layouts/shortcodes/columns.html
similarity index 100%
rename from layouts/shortcodes/columns.html
rename to common-theme/layouts/shortcodes/columns.html
diff --git a/layouts/shortcodes/contributors.html b/common-theme/layouts/shortcodes/contributors.html
similarity index 66%
rename from layouts/shortcodes/contributors.html
rename to common-theme/layouts/shortcodes/contributors.html
index 73422e568..b3fa7db90 100644
--- a/layouts/shortcodes/contributors.html
+++ b/common-theme/layouts/shortcodes/contributors.html
@@ -1,9 +1,9 @@
{{ $repo := .Get 0 }}
{{ $headers := (dict) }}
-{{ if ne (os.Getenv "CYF_CURRICULUM_GITHUB_BEARER_TOKEN") "" }}
- {{ $headers = merge $headers (dict "Authorization" (printf "Bearer %s" (getenv "CYF_CURRICULUM_GITHUB_BEARER_TOKEN"))) }}
+{{ if ne (os.Getenv "HUGO_CURRICULUM_GITHUB_BEARER_TOKEN") "" }}
+ {{ $headers = merge $headers (dict "Authorization" (printf "Bearer %s" (getenv "HUGO_CURRICULUM_GITHUB_BEARER_TOKEN"))) }}
{{ end }}
-{{ $contributors := getJSON (printf "https://api.github.com/repos/CodeYourFuture/%s/contributors" $repo) $headers }}
+{{ $contributors := getJSON (printf "%s%s/contributors" $.Site.Params.orgapi $repo) $headers }}
diff --git a/layouts/shortcodes/details.html b/common-theme/layouts/shortcodes/details.html
similarity index 100%
rename from layouts/shortcodes/details.html
rename to common-theme/layouts/shortcodes/details.html
diff --git a/layouts/shortcodes/iframe.html b/common-theme/layouts/shortcodes/iframe.html
similarity index 100%
rename from layouts/shortcodes/iframe.html
rename to common-theme/layouts/shortcodes/iframe.html
diff --git a/layouts/shortcodes/logos.html b/common-theme/layouts/shortcodes/logos.html
similarity index 100%
rename from layouts/shortcodes/logos.html
rename to common-theme/layouts/shortcodes/logos.html
diff --git a/layouts/shortcodes/note.html b/common-theme/layouts/shortcodes/note.html
similarity index 100%
rename from layouts/shortcodes/note.html
rename to common-theme/layouts/shortcodes/note.html
diff --git a/layouts/shortcodes/tab.html b/common-theme/layouts/shortcodes/tab.html
similarity index 100%
rename from layouts/shortcodes/tab.html
rename to common-theme/layouts/shortcodes/tab.html
diff --git a/layouts/shortcodes/tabs.html b/common-theme/layouts/shortcodes/tabs.html
similarity index 100%
rename from layouts/shortcodes/tabs.html
rename to common-theme/layouts/shortcodes/tabs.html
diff --git a/layouts/shortcodes/tooltip.html b/common-theme/layouts/shortcodes/tooltip.html
similarity index 100%
rename from layouts/shortcodes/tooltip.html
rename to common-theme/layouts/shortcodes/tooltip.html
diff --git a/layouts/shortcodes/wordlimit.html b/common-theme/layouts/shortcodes/wordlimit.html
similarity index 100%
rename from layouts/shortcodes/wordlimit.html
rename to common-theme/layouts/shortcodes/wordlimit.html
diff --git a/layouts/shortcodes/youtube.html b/common-theme/layouts/shortcodes/youtube.html
similarity index 100%
rename from layouts/shortcodes/youtube.html
rename to common-theme/layouts/shortcodes/youtube.html
diff --git a/package-lock.json b/common-theme/package-lock.json
similarity index 100%
rename from package-lock.json
rename to common-theme/package-lock.json
diff --git a/package.json b/common-theme/package.json
similarity index 100%
rename from package.json
rename to common-theme/package.json
diff --git a/prettierignore b/common-theme/prettierignore
similarity index 100%
rename from prettierignore
rename to common-theme/prettierignore
diff --git a/common-theme/static/favicon.ico b/common-theme/static/favicon.ico
new file mode 100644
index 000000000..67f8b7778
Binary files /dev/null and b/common-theme/static/favicon.ico differ
diff --git a/static/logos/github.png b/common-theme/static/logos/github.png
similarity index 100%
rename from static/logos/github.png
rename to common-theme/static/logos/github.png
diff --git a/static/logos/netlify.svg b/common-theme/static/logos/netlify.svg
similarity index 100%
rename from static/logos/netlify.svg
rename to common-theme/static/logos/netlify.svg
diff --git a/static/logos/slack.png b/common-theme/static/logos/slack.png
similarity index 100%
rename from static/logos/slack.png
rename to common-theme/static/logos/slack.png
diff --git a/content/en/_index.md b/content/en/_index.md
deleted file mode 100644
index 4ccb319e5..000000000
--- a/content/en/_index.md
+++ /dev/null
@@ -1,4 +0,0 @@
-+++
-title="Our Curriculum"
-description="This how you find out _what_ to do _when_"
-+++
diff --git a/content/en/blocks/requirements/index.md b/content/en/blocks/requirements/index.md
deleted file mode 100644
index 45a326c8d..000000000
--- a/content/en/blocks/requirements/index.md
+++ /dev/null
@@ -1,15 +0,0 @@
-+++
-title = 'Understanding Requirements'
-headless = true
-time = 60
-facilitation = false
-vocabulary=["Requirements", "User Stories"]
-emoji= 'π§©'
-[objectives]
-1='Identify described requirements'
- 2='Identify extra requirements from your own experience'
- 3='Resolve trade-offs in conflicting requirements'
- 4='Translate requirements into high-level design outlines'
-+++
-
-{{< snippet "snippets/requirements.md" >}}
diff --git a/content/en/induction/_index.md b/content/en/induction/_index.md
deleted file mode 100644
index 09a4f9f86..000000000
--- a/content/en/induction/_index.md
+++ /dev/null
@@ -1,8 +0,0 @@
-+++
-title = 'Induction'
-description = 'Join the CodeYourFuture Software Development Course; Explore version control with Git and GitHub; fork, branch, and clone in the VSCode interface'
-layout = 'module'
-emoji= 'π€'
-menu = ['syllabus']
-weight='1'
-+++
diff --git a/content/en/induction/sprints/1/prep/index.md b/content/en/induction/sprints/1/prep/index.md
deleted file mode 100644
index 39024df5e..000000000
--- a/content/en/induction/sprints/1/prep/index.md
+++ /dev/null
@@ -1,41 +0,0 @@
-+++
-title = 'prep'
-description = 'Work through these notes and activities to prepare for class. You will have a prep page for every sprint (week) of the course.'
-layout = 'prep'
-emoji= 'π'
-menu_level = ['sprint']
-weight = 1
-[[blocks]]
-name="π CYF blog"
-src="induction/blocks/cyf-blog"
-[[blocks]]
-name="π§° Development process"
-src="induction/blocks/development-process"
-[[blocks]]
-name="β Version control software"
-src="induction/blocks/version-control"
-[[blocks]]
-name="ποΈ π Sharing history"
-src="induction/blocks/sharing-history"
-[[blocks]]
-name="π Check out a commit"
-src="induction/blocks/check-out-a-commit"
-[[blocks]]
-name="π Previous versions"
-src="induction/blocks/previous-versions"
-[[blocks]]
-name="π΄ Forking a repository"
-src="induction/blocks/forking-a-repository"
-[[blocks]]
-name="π» Working locally"
-src="induction/blocks/working-locally"
-[[blocks]]
-name="π Viewing the files"
-src="induction/blocks/viewing-files"
-[[blocks]]
-name="π³ Branching"
-src="induction/blocks/branching"
-[[blocks]]
-name="π Wrapping up"
-src="induction/blocks/wrapping-up"
-+++
diff --git a/content/en/the-launch/blocks/block2/index.md b/content/en/the-launch/blocks/block2/index.md
deleted file mode 100644
index 6daf52e7f..000000000
--- a/content/en/the-launch/blocks/block2/index.md
+++ /dev/null
@@ -1,11 +0,0 @@
-+++
-title = 'block2'
-headless = true
-time = 30
-facilitation = false
-emoji= 'π§©'
-[objectives]
- 1='Use the Teach Tech Together guide to construct your objectives'
- 2='Limit the objectives to 3-5 items'
- 3='Write objectives you can measure'
-+++
diff --git a/content/en/the-launch/blocks/block3/index.md b/content/en/the-launch/blocks/block3/index.md
deleted file mode 100644
index fcdb37db2..000000000
--- a/content/en/the-launch/blocks/block3/index.md
+++ /dev/null
@@ -1,11 +0,0 @@
-+++
-title = 'block3'
-headless = true
-time = 30
-facilitation = false
-emoji= 'π§©'
-[objectives]
- 1='Use the Teach Tech Together guide to construct your objectives'
- 2='Limit the objectives to 3-5 items'
- 3='Write objectives you can measure'
-+++
diff --git a/content/en/the-launch/sprints/1/day-plan/index.md b/content/en/the-launch/sprints/1/day-plan/index.md
deleted file mode 100644
index 128b730f4..000000000
--- a/content/en/the-launch/sprints/1/day-plan/index.md
+++ /dev/null
@@ -1,39 +0,0 @@
-+++
-title = 'day-plan'
-layout = 'day-plan'
-emoji= 'π'
-menu_level = ['sprint']
-weight = 3
-backlog= 'Module-The-Launch'
-backlog_filter= 'Week 1'
-[[blocks]]
-name="Energiser"
-src="https://cyf-pd.netlify.app/blocks/employability-energiser/readme/"
-[[blocks]]
-name="Launch overview"
-src="https://cyf-pd.netlify.app/blocks/what-is-the-launch-module/readme/"
-[[blocks]]
-name="Morning Break"
-src="blocks/morning-break"
-[[blocks]]
-name="Prep your product"
-src="https://cyf-pd.netlify.app/blocks/prep-and-plan-your-product/readme/"
-[[blocks]]
-name="Design your product"
-src="https://cyf-pd.netlify.app/blocks/design-your-product/readme/"
-[[blocks]]
-name="Lunch"
-src="blocks/lunch"
-[[blocks]]
-name="Writing user story"
-src="https://cyf-pd.netlify.app/blocks/writing-user-stories/readme/"
-[[blocks]]
-name="Sprint planning"
-src="https://cyf-pd.netlify.app/blocks/sprint-planning/readme/"
-[[blocks]]
-name="Afternoon Break"
-src="blocks/afternoon-break"
-[[blocks]]
-name="Project Work"
-src="portfolio/blocks/project"
-+++
diff --git a/content/en/the-launch/sprints/2/day-plan/index.md b/content/en/the-launch/sprints/2/day-plan/index.md
deleted file mode 100644
index 44e92d040..000000000
--- a/content/en/the-launch/sprints/2/day-plan/index.md
+++ /dev/null
@@ -1,33 +0,0 @@
-+++
-title = 'day-plan'
-layout = 'day-plan'
-emoji= 'π'
-menu_level = ['sprint']
-weight = 3
-backlog= 'Module-The-Launch'
-backlog_filter= 'Week 2'
-[[blocks]]
-name="Energiser"
-src="https://cyf-pd.netlify.app/blocks/employability-energiser/readme/"
-[[blocks]]
-name="Demo Time"
-src="https://cyf-pd.netlify.app/blocks/demo-time/readme/"
-[[blocks]]
-name="Morning Break"
-src="blocks/morning-break"
-[[blocks]]
-name="Retrospective"
-src="https://cyf-pd.netlify.app/blocks/retrospective/readme/"
-[[blocks]]
-name="Lunch"
-src="blocks/lunch"
-[[blocks]]
-name="Sprint Planning"
-src="https://cyf-pd.netlify.app/blocks/sprint-planning/readme/"
-[[blocks]]
-name="Afternoon Break"
-src="blocks/afternoon-break"
-[[blocks]]
-name="Project work"
-src="portfolio/blocks/project"
-+++
diff --git a/content/en/the-launch/sprints/2/prep/index.md b/content/en/the-launch/sprints/2/prep/index.md
deleted file mode 100644
index 1d9164850..000000000
--- a/content/en/the-launch/sprints/2/prep/index.md
+++ /dev/null
@@ -1,15 +0,0 @@
-+++
-title = 'prep'
-layout = 'prep'
-emoji= 'π'
-menu_level = ['sprint']
-weight = 1
-backlog= 'Module-The-Launch'
-backlog_filter= 'Week 2'
-[[blocks]]
-name="Prep your Demo"
-src="https://cyf-pd.netlify.app/blocks/prep-launch-week-2/readme/"
-[[blocks]]
-name="User research"
-src="https://cyf-pd.netlify.app/blocks/user-research/readme/"
-+++
diff --git a/content/en/the-launch/sprints/3/day-plan/index.md b/content/en/the-launch/sprints/3/day-plan/index.md
deleted file mode 100644
index 4c6cf74ba..000000000
--- a/content/en/the-launch/sprints/3/day-plan/index.md
+++ /dev/null
@@ -1,33 +0,0 @@
-+++
-title = 'day-plan'
-layout = 'day-plan'
-emoji= 'π'
-menu_level = ['sprint']
-weight = 3
-backlog= 'Module-The-Launch'
-backlog_filter= 'Week 3'
-[[blocks]]
-name="Energiser"
-src="https://cyf-pd.netlify.app/blocks/employability-energiser/readme/"
-[[blocks]]
-name="Demo Time"
-src="https://cyf-pd.netlify.app/blocks/demo-time/readme/"
-[[blocks]]
-name="Morning Break"
-src="blocks/morning-break"
-[[blocks]]
-name="Retrospective"
-src="https://cyf-pd.netlify.app/blocks/retrospective/readme/"
-[[blocks]]
-name="Lunch"
-src="blocks/lunch"
-[[blocks]]
-name="Sprint Planning"
-src="https://cyf-pd.netlify.app/blocks/sprint-planning/readme/"
-[[blocks]]
-name="Afternoon Break"
-src="blocks/afternoon-break"
-[[blocks]]
-name="Project work"
-src="portfolio/blocks/project"
-+++
diff --git a/content/en/the-launch/sprints/3/prep/index.md b/content/en/the-launch/sprints/3/prep/index.md
deleted file mode 100644
index 39b8d37c8..000000000
--- a/content/en/the-launch/sprints/3/prep/index.md
+++ /dev/null
@@ -1,15 +0,0 @@
-+++
-title = 'prep'
-layout = 'prep'
-emoji= 'π'
-menu_level = ['sprint']
-weight = 1
-backlog= 'Module-The-Launch'
-backlog_filter= 'Week 3'
-[[blocks]]
-name="Prep your Demo"
-src="https://cyf-pd.netlify.app/blocks/prep-launch-week-2/readme/"
-[[blocks]]
-name="User research"
-src="https://cyf-pd.netlify.app/blocks/user-research/readme/"
-+++
diff --git a/content/en/the-launch/sprints/4/day-plan/index.md b/content/en/the-launch/sprints/4/day-plan/index.md
deleted file mode 100644
index 672b6d030..000000000
--- a/content/en/the-launch/sprints/4/day-plan/index.md
+++ /dev/null
@@ -1,33 +0,0 @@
-+++
-title = 'day-plan'
-layout = 'day-plan'
-emoji= 'π'
-menu_level = ['sprint']
-weight = 3
-backlog= 'Module-The-Launch'
-backlog_filter= 'Week 4'
-[[blocks]]
-name="Energiser"
-src="https://cyf-pd.netlify.app/blocks/employability-energiser/readme/"
-[[blocks]]
-name="Demo Time"
-src="https://cyf-pd.netlify.app/blocks/demo-time/readme/"
-[[blocks]]
-name="Morning Break"
-src="blocks/morning-break"
-[[blocks]]
-name="Retrospective"
-src="https://cyf-pd.netlify.app/blocks/retrospective/readme/"
-[[blocks]]
-name="Lunch"
-src="blocks/lunch"
-[[blocks]]
-name="Sprint Planning"
-src="https://cyf-pd.netlify.app/blocks/sprint-planning/readme/"
-[[blocks]]
-name="Afternoon Break"
-src="blocks/afternoon-break"
-[[blocks]]
-name="Project work"
-src="portfolio/blocks/project"
-+++
diff --git a/content/en/the-launch/sprints/4/prep/index.md b/content/en/the-launch/sprints/4/prep/index.md
deleted file mode 100644
index 46c1309a2..000000000
--- a/content/en/the-launch/sprints/4/prep/index.md
+++ /dev/null
@@ -1,15 +0,0 @@
-+++
-title = 'prep'
-layout = 'prep'
-emoji= 'π'
-menu_level = ['sprint']
-weight = 1
-backlog= 'Module-The-Launch'
-backlog_filter= 'Week 4'
-[[blocks]]
-name="Prep your Demo"
-src="https://cyf-pd.netlify.app/blocks/prep-launch-week-2/readme/"
-[[blocks]]
-name="User research"
-src="https://cyf-pd.netlify.app/blocks/user-research/readme/"
-+++
diff --git a/create_module.sh b/create_module.sh
deleted file mode 100755
index 29ec832a1..000000000
--- a/create_module.sh
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/bin/bash
-
-if [ -z "$1" ]
- then
- echo "No module name supplied. Usage: ./create_module.sh "
- exit 1
-fi
-
-MODULE_NAME=$1
-MODULE_DIR="content/$MODULE_NAME"
-SPRINT_DIR="$MODULE_DIR/sprints"
-BLOCKS_DIR="$MODULE_DIR/blocks"
-PRODUCT_DIR="$MODULE_DIR/product"
-
-mkdir -p $MODULE_DIR
-mkdir -p $SPRINT_DIR
-mkdir -p $BLOCKS_DIR
-mkdir -p $PRODUCT_DIR
-
-echo "+++
-title = '$MODULE_NAME'
-description = 'The plan for $MODULE_NAME'
-layout = 'module'
-emoji= 'π'
-menu = ['syllabus']
-+++
-
-" > $MODULE_DIR/_index.md
-
-FILES=("prep" "backlog" "success")
-MENU_ORDER=1
-for file in "${FILES[@]}"; do
- mkdir -p $MODULE_DIR/$file
- echo "+++
-title = '$file'
-description = '$file description'
-layout = '$file'
-emoji= 'π'
-menu_level = ['module']
-weight = $MENU_ORDER
-backlog= 'Module-$MODULE_NAME'
-backlog_filter= '$MODULE_NAME'
-+++
-
-" > $MODULE_DIR/$file/index.md
- MENU_ORDER=$((MENU_ORDER + 5))
-done
-
-for i in {1..4}; do
- SPRINT_NAME="$i"
- SPRINT_PATH="$SPRINT_DIR/$SPRINT_NAME"
- mkdir -p $SPRINT_PATH
- echo "+++
-title = 'Sprint $i'
-description = 'The plan for the week'
-layout = 'sprint'
-emoji= 'β±οΈ'
-menu_level = ['module']
-weight = $((i + 1))
-+++
-
-" > $SPRINT_PATH/_index.md
-
- SPRINT_FILES=("prep" "backlog" "day-plan" "success")
- MENU_ORDER=1
-
- for file in "${SPRINT_FILES[@]}"; do
- mkdir -p $SPRINT_PATH/$file
- echo "+++
-title = '$file'
-layout = '$file'
-emoji= 'π'
-menu_level = ['sprint']
-weight = $MENU_ORDER
-backlog= 'Module-$MODULE_NAME'
-backlog_filter= 'Week $i'
-+++
-
-" > $SPRINT_PATH/$file/index.md
-MENU_ORDER=$((MENU_ORDER + 1))
- done
-done
-
-BLOCKS=("block1" "block2" "block3")
-
-for block in "${BLOCKS[@]}"; do
- mkdir -p $BLOCKS_DIR/$block
- echo "+++
-title = '$block'
-headless = true
-time = 30
-facilitation = false
-emoji= 'π§©'
-[objectives]
- 1='Use the Teach Tech Together guide to construct your objectives'
- 2='Limit the objectives to 3-5 items'
- 3='Write objectives you can measure'
-+++
-
-" > $BLOCKS_DIR/$block/index.md
-done
-
-PRODUCT_FILES=("plan" "build" "test" "ship")
-echo "+++
-title = 'Product'
-description = 'Product description'
-layout = 'product'
-emoji= 'π'
-menu_level = ['module']
-+++
-
-" > $PRODUCT_DIR/_index.md
-
-MENU_ORDER=1
-for product_file in "${PRODUCT_FILES[@]}"; do
- mkdir -p $PRODUCT_DIR/$product_file
- echo "+++
-title = '$product_file'
-description = '$product_file description'
-layout = '$product_file'
-menu_level = ['product']
-emoji= 'π'
-weight = $MENU_ORDER
-+++
-
-" > $PRODUCT_DIR/$product_file/index.md
- MENU_ORDER=$((MENU_ORDER + 1))
-done
diff --git a/layouts/shortcodes/snippet.html b/layouts/shortcodes/snippet.html
deleted file mode 100644
index 9c855d86f..000000000
--- a/layouts/shortcodes/snippet.html
+++ /dev/null
@@ -1,20 +0,0 @@
-{{- /* Initialize. */}}
-{{- $asset := "" }}
-{{- /* Get params. */}}
-{{- with (.Get 0) }}
- {{- $asset = . }}
-{{- else }}
- {{- errorf "The %q shortcode requires a single positional parameter; the relative path to a file in the assets directory. See %s" .Name .Position }}
-{{- end }}
-{{- /* Get resource. */}}
-{{- $r := "" }}
-{{- with .Site.GetPage $asset }}
- {{- $r = . }}
-{{- else }}
- {{- errorf "The %q shortcode was unable to find %q. See %s" .Name $asset .Position }}
-{{- end }}
-
-{{- /* Render resource content. */}}
-{{- $r.Content | .Page.RenderString }}
-
-{{- /* Chomp trailing newlines. */ -}}
diff --git a/org-cyf/.gitignore b/org-cyf/.gitignore
new file mode 100644
index 000000000..f9af00571
--- /dev/null
+++ b/org-cyf/.gitignore
@@ -0,0 +1,33 @@
+# Dependencies
+/node_modules
+
+# Production
+/build
+**/public
+**/resources
+
+# Generated files
+.docusaurus
+.cache-loader
+assets/jsconfig.json
+
+# Misc
+.DS_Store
+.env.local
+.env.development.local
+.env.test.local
+.env.production.local
+.vscode
+/.vscode
+.hugo_build.lock
+
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# CI uses package-lock.json, don't allow yarn.lock
+yarn.lock
+
+# Local Netlify folder
+.netlify
+.env
\ No newline at end of file
diff --git a/org-cyf/README.md b/org-cyf/README.md
new file mode 100644
index 000000000..63673bf9e
--- /dev/null
+++ b/org-cyf/README.md
@@ -0,0 +1,175 @@
+# Code Your Future Curriculum
+
+[![Netlify Status](https://api.netlify.com/api/v1/badges/34db2751-bd7a-4828-a54d-787fa17b11e9/deploy-status)](https://app.netlify.com/sites/cyf-curriculum/deploys)
+
+## Tools
+
+- [Hugo](https://gohugo.io/) - Static site generator
+- [Hugo Pipes](https://gohugo.io/hugo-pipes/introduction/) - Asset pipeline
+- [Netlify](https://www.netlify.com/) - Hosting and deployment
+- [GitHub](https://github.com/CodeYourFuture/CYF-Signposts) - Source code repository
+- [Bash](https://www.gnu.org/software/bash/) - Bash script to create new module structures
+
+## Developing the source website
+
+### To install
+
+```bash
+brew install hugo
+```
+
+### To run locally
+
+#### Generate a token
+
+You'll need to get a fine-grained GitHub API token which allows read-only access to all public CYF repos from [this page](https://github.com/settings/tokens?type=beta).
+
+Click "Generate new token", enter a token name (can be anything), and how long you want the token to last (if you're doing a one-off contribution, pick a short value; if you're going to be a regular contributor, maybe a longer value).
+
+Make sure the Resource owner is _your_ account if you have a choice.
+
+The "Repository access" you need is "Public repositories (read-only)", and you don't need any account permissions:
+
+
+Open to view screenshot of the required permissions
+
+![screenshot of required permissions](./readme_repository_access.png)
+
+
+#### Set up `.env`
+
+Copy the `.env.example` file over and name it `.env`. Edit the file and then change the line that says `CYF_CURRICULUM_GITHUB_BEARER_TOKEN` to contain the token that you have generated earlier.
+
+#### Run this command
+
+Run this command in a terminal, substituting in the github API token you generated above:
+
+```bash
+npm i
+npm run start:dev
+```
+
+If you find the build is very slow, and don't care about the issues being pulled into backlogs being precise, you can run:
+
+```bash
+npm run start:dev -- --environment issues-are-cached-and-incomplete
+```
+
+### To create a new module
+
+```bash
+./create_module
+```
+
+### Linting
+
+All CYF repos use the Prettier standard. However, Prettier doesn't have golang by default so you must install a plugin for it to work in VSCode. I've included it in the package.json.
+
+### Site Search
+
+PageFind runs the search. https://pagefind.app/
+It's in the build command on Netlify `hugo && npx pagefind --source "public"`
+If you need to develop on this locally, run:
+
+```zsh
+rm -rf public &&
+hugo && npx pagefind --source "public" --serve
+```
+
+And go to http://localhost:1414/ to see the PageFind-served site with search enabled; but there is no hot reload. You can run hugo on http://localhost:1313/ at the same time.
+
+## Contributing
+
+To add content via GitHub, open a PR, following the CONTRIBUTING.md guidelines and PR template.
+
+[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](./contributing)
+
+
+
+[![All Contributors](https://img.shields.io/badge/all_contributors-11-orange.svg?style=flat-square)](#contributors-)
+
+
+
+Code Your Future helps people who need it most to reach their goal of working in tech. Our innovative programme supports people all the way into secure employment as a software engineer.
+
+**Our trainees are people living in poverty**, disabled people, long term unemployed, refugees, asylum seekers, ex-offenders, single parents, and anyone else facing material barriers to digital education and employment in tech.
+
+**Our graduates work in great companies** including Capgemini, Deloitte, JP Morgan, Financial Times, AWS, Thoughtworks, the BBC, AND Digital and many more.
+
+**All our classes are free and our teachers are volunteers.** Our volunteers are professionals working in the local tech sector and they lead our course delivery.
+
+**We build communities and networks of inclusion everywhere we go**, bringing different worlds together, and integrating people into their local communities, teachers and learners both. We come together for a live session at the weekend, and trainees work through coursework and projects 20 hours a week, independently around their commitments, including day jobs.
+
+**CYF was founded by migrants for refugees**, and now welcomes everyone facing material barriers to technical education. Starting with a class of 6 people in 2016, and growing every day, we have helped over 240 people start their career in tech.
+
+## Our Approach
+
+Our PERN software development programme is part-time, vocational and practical. We teach functional programming with React, Jest, Postgres, Node, Express. We press hard on Agile, teamworking, conflict management, and self-study. We drill with Codewars problems and Codility tech tests for discipline and fluency, and encourage self-directed passion projects for creativity and innovation.
+
+We do our work in public; our courses are free and open source and we develop them in public as FOSS projects on GitHub. Right here!
+
+To graduate at CYF our trainees must deliver, deploy, and demo a working MVP of a full-stack web application, typically for a real NGO we partner with, in a cross-functional Agile team.
+
+## Documentation
+
+In this curriculum you'll find the content that we teach at CodeYourFuture. For other operational details you should read [our documentation website](https://docs.codeyourfuture.io).
+
+## Contributing
+
+Please read CONTRIBUTING.MD
+
+## Contributors β¨
+
+Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
+
+
+
+
+
+
+
+
+
+
+
+This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
diff --git a/org-cyf/assets/custom-images/site-logo/site-logo-small.svg b/org-cyf/assets/custom-images/site-logo/site-logo-small.svg
new file mode 100644
index 000000000..06ddaea53
--- /dev/null
+++ b/org-cyf/assets/custom-images/site-logo/site-logo-small.svg
@@ -0,0 +1,10 @@
+
+
+
\ No newline at end of file
diff --git a/layouts/partials/header.html b/org-cyf/assets/custom-images/site-logo/site-logo.svg
similarity index 60%
rename from layouts/partials/header.html
rename to org-cyf/assets/custom-images/site-logo/site-logo.svg
index d642dd7a9..f5e67deff 100644
--- a/layouts/partials/header.html
+++ b/org-cyf/assets/custom-images/site-logo/site-logo.svg
@@ -1,12 +1,8 @@
-
+
\ No newline at end of file
diff --git a/org-cyf/assets/custom-theme/02-variables/colors.scss b/org-cyf/assets/custom-theme/02-variables/colors.scss
new file mode 100644
index 000000000..0a69d3a9d
--- /dev/null
+++ b/org-cyf/assets/custom-theme/02-variables/colors.scss
@@ -0,0 +1,75 @@
+@mixin light-palette {
+ // these brand colours are set and then everything else is derived from the key
+ --theme-color--brand: hsla(0, 100%, 67%, 1);
+ --theme-color--brand-shade: hsla(0, 100%, 67%, 0.375);
+ --theme-color--accent: hsl(146, 100%, 46%);
+ --theme-color--accent-shade: hsla(146, 100%, 46%, 0.5);
+ --theme-color--pop: hsla(262, 100%, 62%, 1);
+ // key
+ --hue: 260;
+ --sat: 35%;
+ --lum: 90%;
+ --alpha: 0.95;
+ --hsl: var(--hue), var(--sat), var(--lum);
+ // now build all the shades
+ --theme-color--paper: hsla(
+ var(--hue),
+ calc(var(--sat) * 1.2),
+ calc(var(--lum) * 1.06),
+ var(--alpha)
+ );
+ --theme-color--ink: hsla(
+ var(--hue),
+ calc(var(--sat) * 2.2),
+ calc(var(--lum) * 0.3),
+ var(--alpha)
+ );
+ --theme-color--ink-fade: hsla(
+ var(--hue),
+ calc(var(--sat) * 2.2),
+ calc(var(--lum) * 0.3),
+ calc(var(--alpha) * 0.3)
+ );
+ --theme-color--paper-fade: hsla(
+ var(--hue),
+ calc(var(--sat) * 1.2),
+ calc(var(--lum) * 1.06),
+ 0.9
+ );
+ --theme-color--contrast-max: hsl(
+ var(--hue),
+ calc(var(--sat) / 100),
+ calc(var(--lum) * 2) var(--alpha)
+ );
+
+ // backdrop
+ --theme-color--block: hsla(var(--hsl), var(--alpha));
+ --theme-color--outline: hsl(var(--hsl), 1);
+ --theme-color--backdrop-from: hsl(var(--hsl) / 0.25);
+ --theme-color--backdrop-to: hsl(var(--hsl) / 0.2);
+}
+
+@mixin dark-palette {
+ --hue: 270;
+ --sat: 8%;
+ --lum: 20%;
+ --alpha: 0.99;
+ --theme-color--ink: hsla(
+ calc(var(--hue) * 1.1),
+ calc(var(--sat) + 60%),
+ calc(var(--lum) * 4.4),
+ var(--alpha)
+ );
+ --theme-color--accent: hsla(262, 100%, 67%, 1);
+ --theme-color--pop: hsl(146, 100%, 46%);
+}
+
+:root {
+ @include light-palette();
+ @media (prefers-color-scheme: dark) {
+ @include dark-palette();
+ }
+}
+
+// see states for classes that toggle these
+// no classes in the variables folder
diff --git a/org-cyf/assets/custom-theme/02-variables/fonts.scss b/org-cyf/assets/custom-theme/02-variables/fonts.scss
new file mode 100644
index 000000000..79f996391
--- /dev/null
+++ b/org-cyf/assets/custom-theme/02-variables/fonts.scss
@@ -0,0 +1,7 @@
+:root {
+ --theme-font--display: "Space Grotesk", serif;
+ --theme-font--copy: "Inter", system-ui, -apple-system, BlinkMacSystemFont,
+ "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue",
+ sans-serif;
+ --theme-font--system: 100 100%/2 "Monaco", "Menlo", "Space Grotesk", monospace;
+}
diff --git a/org-cyf/assets/custom-theme/states/dark.scss b/org-cyf/assets/custom-theme/states/dark.scss
new file mode 100644
index 000000000..356ec362b
--- /dev/null
+++ b/org-cyf/assets/custom-theme/states/dark.scss
@@ -0,0 +1,4 @@
+.is-dark-mode,
+:root:has(.is-dark-mode) {
+ @include dark-palette;
+}
diff --git a/org-cyf/assets/custom-theme/states/light.scss b/org-cyf/assets/custom-theme/states/light.scss
new file mode 100644
index 000000000..53b429023
--- /dev/null
+++ b/org-cyf/assets/custom-theme/states/light.scss
@@ -0,0 +1,4 @@
+.is-light-mode,
+:root:has(.is-light-mode) {
+ @include light-palette;
+}
diff --git a/config/issues-are-cached-and-incomplete/config.toml b/org-cyf/config/issues-are-cached-and-incomplete/config.toml
similarity index 100%
rename from config/issues-are-cached-and-incomplete/config.toml
rename to org-cyf/config/issues-are-cached-and-incomplete/config.toml
diff --git a/org-cyf/content/_index.md b/org-cyf/content/_index.md
new file mode 100644
index 000000000..c6add6c16
--- /dev/null
+++ b/org-cyf/content/_index.md
@@ -0,0 +1,5 @@
++++
+title="Our Curriculum"
+description="Here's how you find out _what_ to do _when_"
+emoji= "π§πΏβπ«π¨π½βπ"
++++
diff --git a/content/en/databases/_index.md b/org-cyf/content/databases/_index.md
similarity index 100%
rename from content/en/databases/_index.md
rename to org-cyf/content/databases/_index.md
diff --git a/content/en/databases/prep/Screenshot_Postgres_disk.png b/org-cyf/content/databases/prep/Screenshot_Postgres_disk.png
similarity index 100%
rename from content/en/databases/prep/Screenshot_Postgres_disk.png
rename to org-cyf/content/databases/prep/Screenshot_Postgres_disk.png
diff --git a/content/en/databases/prep/Screenshot_Postgres_initialise.png b/org-cyf/content/databases/prep/Screenshot_Postgres_initialise.png
similarity index 100%
rename from content/en/databases/prep/Screenshot_Postgres_initialise.png
rename to org-cyf/content/databases/prep/Screenshot_Postgres_initialise.png
diff --git a/content/en/databases/prep/Screenshot_Postgres_running.png b/org-cyf/content/databases/prep/Screenshot_Postgres_running.png
similarity index 100%
rename from content/en/databases/prep/Screenshot_Postgres_running.png
rename to org-cyf/content/databases/prep/Screenshot_Postgres_running.png
diff --git a/content/en/databases/prep/index.md b/org-cyf/content/databases/prep/index.md
similarity index 99%
rename from content/en/databases/prep/index.md
rename to org-cyf/content/databases/prep/index.md
index e4d292583..cc867f082 100644
--- a/content/en/databases/prep/index.md
+++ b/org-cyf/content/databases/prep/index.md
@@ -2,7 +2,7 @@
title = 'prep'
description = 'Setting up PostGreSQL on Mac or Linux'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['module']
weight = 1
backlog= 'Module-Databases'
diff --git a/content/en/databases/product/_index.md b/org-cyf/content/databases/product/_index.md
similarity index 100%
rename from content/en/databases/product/_index.md
rename to org-cyf/content/databases/product/_index.md
diff --git a/content/en/databases/product/build/index.md b/org-cyf/content/databases/product/build/index.md
similarity index 100%
rename from content/en/databases/product/build/index.md
rename to org-cyf/content/databases/product/build/index.md
diff --git a/content/en/databases/product/plan/index.md b/org-cyf/content/databases/product/plan/index.md
similarity index 100%
rename from content/en/databases/product/plan/index.md
rename to org-cyf/content/databases/product/plan/index.md
diff --git a/content/en/databases/product/ship/index.md b/org-cyf/content/databases/product/ship/index.md
similarity index 100%
rename from content/en/databases/product/ship/index.md
rename to org-cyf/content/databases/product/ship/index.md
diff --git a/content/en/databases/product/test/index.md b/org-cyf/content/databases/product/test/index.md
similarity index 100%
rename from content/en/databases/product/test/index.md
rename to org-cyf/content/databases/product/test/index.md
diff --git a/content/en/databases/sprints/1/_index.md b/org-cyf/content/databases/sprints/1/_index.md
similarity index 100%
rename from content/en/databases/sprints/1/_index.md
rename to org-cyf/content/databases/sprints/1/_index.md
diff --git a/content/en/databases/sprints/1/backlog/index.md b/org-cyf/content/databases/sprints/1/backlog/index.md
similarity index 88%
rename from content/en/databases/sprints/1/backlog/index.md
rename to org-cyf/content/databases/sprints/1/backlog/index.md
index a516dd62e..c410278a3 100644
--- a/content/en/databases/sprints/1/backlog/index.md
+++ b/org-cyf/content/databases/sprints/1/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-Databases'
diff --git a/content/en/databases/sprints/1/day-plan/index.md b/org-cyf/content/databases/sprints/1/day-plan/index.md
similarity index 96%
rename from content/en/databases/sprints/1/day-plan/index.md
rename to org-cyf/content/databases/sprints/1/day-plan/index.md
index a80713265..0d11ab494 100644
--- a/content/en/databases/sprints/1/day-plan/index.md
+++ b/org-cyf/content/databases/sprints/1/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-Databases'
diff --git a/content/en/databases/sprints/1/prep/index.md b/org-cyf/content/databases/sprints/1/prep/index.md
similarity index 79%
rename from content/en/databases/sprints/1/prep/index.md
rename to org-cyf/content/databases/sprints/1/prep/index.md
index a9b0ce089..0500df9f1 100644
--- a/content/en/databases/sprints/1/prep/index.md
+++ b/org-cyf/content/databases/sprints/1/prep/index.md
@@ -2,26 +2,26 @@
title = 'prep'
description='Communicating with a database'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-Databases'
backlog_filter= 'Week 1'
[[blocks]]
name="Introduction to Databases"
-src="databases/blocks/introduction-to-db"
+src="module/databases/introduction-to-db"
[[blocks]]
name="What is a relational database?"
src="https://www.youtube.com/watch?v=OqjJjpjDRLc"
[[blocks]]
name="Introduction to PostgreSQL"
-src="databases/blocks/introduction-to-postgresql"
+src="module/databases/introduction-to-postgresql"
[[blocks]]
name="Notes and exercises"
src="https://www.youtube.com/watch?v=cZyYyXltHa0"
[[blocks]]
name="Communicating with db"
-src="databases/blocks/communicating-with-db"
+src="module/databases/communicating-with-db"
[[blocks]]
name="Prep Working Software and Done"
src="https://cyf-pd.netlify.app/blocks/prep-working-software-and-done/readme/"
diff --git a/content/en/databases/sprints/1/success/index.md b/org-cyf/content/databases/sprints/1/success/index.md
similarity index 90%
rename from content/en/databases/sprints/1/success/index.md
rename to org-cyf/content/databases/sprints/1/success/index.md
index 2e269cce9..c18b92588 100644
--- a/content/en/databases/sprints/1/success/index.md
+++ b/org-cyf/content/databases/sprints/1/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-Databases'
diff --git a/content/en/databases/sprints/2/_index.md b/org-cyf/content/databases/sprints/2/_index.md
similarity index 100%
rename from content/en/databases/sprints/2/_index.md
rename to org-cyf/content/databases/sprints/2/_index.md
diff --git a/content/en/databases/sprints/2/backlog/index.md b/org-cyf/content/databases/sprints/2/backlog/index.md
similarity index 88%
rename from content/en/databases/sprints/2/backlog/index.md
rename to org-cyf/content/databases/sprints/2/backlog/index.md
index a93e590bd..3777e4d5b 100644
--- a/content/en/databases/sprints/2/backlog/index.md
+++ b/org-cyf/content/databases/sprints/2/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-Databases'
diff --git a/content/en/databases/sprints/2/day-plan/index.md b/org-cyf/content/databases/sprints/2/day-plan/index.md
similarity index 95%
rename from content/en/databases/sprints/2/day-plan/index.md
rename to org-cyf/content/databases/sprints/2/day-plan/index.md
index 54356458a..fc66d43d2 100644
--- a/content/en/databases/sprints/2/day-plan/index.md
+++ b/org-cyf/content/databases/sprints/2/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-Databases'
diff --git a/content/en/databases/sprints/2/prep/index.md b/org-cyf/content/databases/sprints/2/prep/index.md
similarity index 61%
rename from content/en/databases/sprints/2/prep/index.md
rename to org-cyf/content/databases/sprints/2/prep/index.md
index 7a976d8cb..709504068 100644
--- a/content/en/databases/sprints/2/prep/index.md
+++ b/org-cyf/content/databases/sprints/2/prep/index.md
@@ -2,27 +2,27 @@
title = 'prep'
description = 'π More SQL! SQL 4eva!'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-Databases'
backlog_filter= 'Week 2'
[[blocks]]
name="Using Aggregate Functions"
-src="databases/blocks/using-aggregate-functions"
+src="module/databases/using-aggregate-functions"
[[blocks]]
name="Inserting, Updating and Deleting Rows"
-src="databases/blocks/updating-rows"
+src="module/databases/updating-rows"
[[blocks]]
name="Joining Tables"
-src="databases/blocks/joining-tables"
+src="module/databases/joining-tables"
[[blocks]]
name="Creating Tables"
-src="databases/blocks/creating-a-table"
+src="module/databases/creating-a-table"
[[blocks]]
name="Defining Primary and Foreign Keys"
-src="databases/blocks/defining-keys"
+src="module/databases/defining-keys"
[[blocks]]
name="Integration with Node"
-src="databases/blocks/integration-with-node"
+src="module/databases/integration-with-node"
+++
diff --git a/content/en/databases/sprints/2/success/index.md b/org-cyf/content/databases/sprints/2/success/index.md
similarity index 90%
rename from content/en/databases/sprints/2/success/index.md
rename to org-cyf/content/databases/sprints/2/success/index.md
index 89ac9c9bc..ac607f374 100644
--- a/content/en/databases/sprints/2/success/index.md
+++ b/org-cyf/content/databases/sprints/2/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-Databases'
diff --git a/content/en/databases/sprints/3/_index.md b/org-cyf/content/databases/sprints/3/_index.md
similarity index 100%
rename from content/en/databases/sprints/3/_index.md
rename to org-cyf/content/databases/sprints/3/_index.md
diff --git a/content/en/databases/sprints/3/backlog/index.md b/org-cyf/content/databases/sprints/3/backlog/index.md
similarity index 88%
rename from content/en/databases/sprints/3/backlog/index.md
rename to org-cyf/content/databases/sprints/3/backlog/index.md
index 73f030483..d42c90003 100644
--- a/content/en/databases/sprints/3/backlog/index.md
+++ b/org-cyf/content/databases/sprints/3/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-Databases'
diff --git a/content/en/databases/sprints/3/day-plan/index.md b/org-cyf/content/databases/sprints/3/day-plan/index.md
similarity index 96%
rename from content/en/databases/sprints/3/day-plan/index.md
rename to org-cyf/content/databases/sprints/3/day-plan/index.md
index c2ee97d26..fe8b255a1 100644
--- a/content/en/databases/sprints/3/day-plan/index.md
+++ b/org-cyf/content/databases/sprints/3/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-Databases'
diff --git a/content/en/databases/sprints/3/prep/index.md b/org-cyf/content/databases/sprints/3/prep/index.md
similarity index 74%
rename from content/en/databases/sprints/3/prep/index.md
rename to org-cyf/content/databases/sprints/3/prep/index.md
index af922aa47..efcbf6391 100644
--- a/content/en/databases/sprints/3/prep/index.md
+++ b/org-cyf/content/databases/sprints/3/prep/index.md
@@ -1,20 +1,20 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-Databases'
backlog_filter= 'Week 3'
[[blocks]]
name="Recap Node and Postman"
-src="databases/blocks/recap-node"
+src="module/databases/recap-node"
[[blocks]]
name="Being More Selective"
-src="databases/blocks/more-selective"
+src="module/databases/more-selective"
[[blocks]]
name="CRUD"
-src="databases/blocks/crud"
+src="module/databases/crud"
[[blocks]]
name="JD Hunting And Mock Interview"
src="https://cyf-pd.netlify.app/blocks/prep-competency-based-interviews/readme/"
diff --git a/content/en/databases/sprints/3/success/index.md b/org-cyf/content/databases/sprints/3/success/index.md
similarity index 90%
rename from content/en/databases/sprints/3/success/index.md
rename to org-cyf/content/databases/sprints/3/success/index.md
index 6ebf2c164..1f82a5745 100644
--- a/content/en/databases/sprints/3/success/index.md
+++ b/org-cyf/content/databases/sprints/3/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-Databases'
diff --git a/content/en/databases/sprints/4/_index.md b/org-cyf/content/databases/sprints/4/_index.md
similarity index 100%
rename from content/en/databases/sprints/4/_index.md
rename to org-cyf/content/databases/sprints/4/_index.md
diff --git a/content/en/databases/sprints/4/backlog/index.md b/org-cyf/content/databases/sprints/4/backlog/index.md
similarity index 88%
rename from content/en/databases/sprints/4/backlog/index.md
rename to org-cyf/content/databases/sprints/4/backlog/index.md
index 1c8956c0f..ac6892558 100644
--- a/content/en/databases/sprints/4/backlog/index.md
+++ b/org-cyf/content/databases/sprints/4/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-Databases'
diff --git a/content/en/databases/sprints/4/day-plan/index.md b/org-cyf/content/databases/sprints/4/day-plan/index.md
similarity index 96%
rename from content/en/databases/sprints/4/day-plan/index.md
rename to org-cyf/content/databases/sprints/4/day-plan/index.md
index 6e205e5e3..b6b5cf63f 100644
--- a/content/en/databases/sprints/4/day-plan/index.md
+++ b/org-cyf/content/databases/sprints/4/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-Databases'
diff --git a/content/en/databases/sprints/4/prep/index.md b/org-cyf/content/databases/sprints/4/prep/index.md
similarity index 86%
rename from content/en/databases/sprints/4/prep/index.md
rename to org-cyf/content/databases/sprints/4/prep/index.md
index 72f94693a..4b63065a1 100644
--- a/content/en/databases/sprints/4/prep/index.md
+++ b/org-cyf/content/databases/sprints/4/prep/index.md
@@ -1,7 +1,7 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-Databases'
diff --git a/content/en/databases/sprints/4/success/index.md b/org-cyf/content/databases/sprints/4/success/index.md
similarity index 90%
rename from content/en/databases/sprints/4/success/index.md
rename to org-cyf/content/databases/sprints/4/success/index.md
index 831902e20..10e893b61 100644
--- a/content/en/databases/sprints/4/success/index.md
+++ b/org-cyf/content/databases/sprints/4/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-Databases'
diff --git a/content/en/databases/success/index.md b/org-cyf/content/databases/success/index.md
similarity index 98%
rename from content/en/databases/success/index.md
rename to org-cyf/content/databases/success/index.md
index bbd4e9f15..eb799bae7 100644
--- a/content/en/databases/success/index.md
+++ b/org-cyf/content/databases/success/index.md
@@ -2,7 +2,7 @@
title = 'success'
description = 'How do we know if we have completed this module?'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['module']
weight = 11
backlog= 'Module-Databases'
diff --git a/content/en/fundamentals/_index.md b/org-cyf/content/fundamentals/_index.md
similarity index 83%
rename from content/en/fundamentals/_index.md
rename to org-cyf/content/fundamentals/_index.md
index 2f5558906..e50eb2aa5 100644
--- a/content/en/fundamentals/_index.md
+++ b/org-cyf/content/fundamentals/_index.md
@@ -7,5 +7,5 @@ menu = ['syllabus']
weight='1'
[[blocks]]
name="Goals"
-src="fundamentals/blocks/goals"
+src="module/fundamentals/goals"
+++
diff --git a/content/en/fundamentals/prep/index.md b/org-cyf/content/fundamentals/prep/index.md
similarity index 100%
rename from content/en/fundamentals/prep/index.md
rename to org-cyf/content/fundamentals/prep/index.md
diff --git a/content/en/fundamentals/product/_index.md b/org-cyf/content/fundamentals/product/_index.md
similarity index 100%
rename from content/en/fundamentals/product/_index.md
rename to org-cyf/content/fundamentals/product/_index.md
diff --git a/content/en/fundamentals/product/build/index.md b/org-cyf/content/fundamentals/product/build/index.md
similarity index 100%
rename from content/en/fundamentals/product/build/index.md
rename to org-cyf/content/fundamentals/product/build/index.md
diff --git a/content/en/fundamentals/product/plan/index.md b/org-cyf/content/fundamentals/product/plan/index.md
similarity index 100%
rename from content/en/fundamentals/product/plan/index.md
rename to org-cyf/content/fundamentals/product/plan/index.md
diff --git a/content/en/fundamentals/product/ship/index.md b/org-cyf/content/fundamentals/product/ship/index.md
similarity index 100%
rename from content/en/fundamentals/product/ship/index.md
rename to org-cyf/content/fundamentals/product/ship/index.md
diff --git a/content/en/fundamentals/product/test/index.md b/org-cyf/content/fundamentals/product/test/index.md
similarity index 100%
rename from content/en/fundamentals/product/test/index.md
rename to org-cyf/content/fundamentals/product/test/index.md
diff --git a/content/en/fundamentals/sprints/1/_index.md b/org-cyf/content/fundamentals/sprints/1/_index.md
similarity index 100%
rename from content/en/fundamentals/sprints/1/_index.md
rename to org-cyf/content/fundamentals/sprints/1/_index.md
diff --git a/content/en/fundamentals/sprints/1/backlog/index.md b/org-cyf/content/fundamentals/sprints/1/backlog/index.md
similarity index 88%
rename from content/en/fundamentals/sprints/1/backlog/index.md
rename to org-cyf/content/fundamentals/sprints/1/backlog/index.md
index 065c149a1..d4dad5d1e 100644
--- a/content/en/fundamentals/sprints/1/backlog/index.md
+++ b/org-cyf/content/fundamentals/sprints/1/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Course-Fundamentals'
diff --git a/content/en/fundamentals/sprints/1/day-plan/index.md b/org-cyf/content/fundamentals/sprints/1/day-plan/index.md
similarity index 88%
rename from content/en/fundamentals/sprints/1/day-plan/index.md
rename to org-cyf/content/fundamentals/sprints/1/day-plan/index.md
index da5ebc25d..14651c153 100644
--- a/content/en/fundamentals/sprints/1/day-plan/index.md
+++ b/org-cyf/content/fundamentals/sprints/1/day-plan/index.md
@@ -2,7 +2,7 @@
title = 'day-plan'
description = 'What are requirements, and how do we use the idea of requirements to help us develop complex systems in small, approachable steps? Weβll find out today.'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Course-Fundamentals'
@@ -21,7 +21,7 @@ name="Morning break"
src="blocks/morning-break"
[[blocks]]
name="Using the curriculum"
-src="fundamentals/blocks/using-the-curriculum"
+src="module/fundamentals/using-the-curriculum"
[[blocks]]
name="lunch"
src="blocks/lunch"
@@ -29,17 +29,17 @@ src="blocks/lunch"
name="telephone"
src="blocks/telephone"
[[blocks]]
-name="User Stories"
-src="blocks/user-stories"
-[[blocks]]
name="Requirements"
src="blocks/requirements"
[[blocks]]
+name="User Stories"
+src="blocks/user-stories"
+[[blocks]]
name="Afternoon break"
src="blocks/afternoon-break"
[[blocks]]
name="Ship It"
-src="fundamentals/blocks/ship-it-requirements"
+src="module/fundamentals/ship-it-requirements"
[[blocks]]
name="Retro"
src="blocks/retro"
diff --git a/content/en/fundamentals/sprints/1/prep/index.md b/org-cyf/content/fundamentals/sprints/1/prep/index.md
similarity index 99%
rename from content/en/fundamentals/sprints/1/prep/index.md
rename to org-cyf/content/fundamentals/sprints/1/prep/index.md
index be54c4b51..fa48c3700 100644
--- a/content/en/fundamentals/sprints/1/prep/index.md
+++ b/org-cyf/content/fundamentals/sprints/1/prep/index.md
@@ -2,7 +2,7 @@
title = 'prep'
description='At CYF trainees prepare before class.'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Course-Fundamentals'
diff --git a/content/en/fundamentals/sprints/1/success/index.md b/org-cyf/content/fundamentals/sprints/1/success/index.md
similarity index 90%
rename from content/en/fundamentals/sprints/1/success/index.md
rename to org-cyf/content/fundamentals/sprints/1/success/index.md
index 086647140..5b9006a52 100644
--- a/content/en/fundamentals/sprints/1/success/index.md
+++ b/org-cyf/content/fundamentals/sprints/1/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-Fundamentals'
diff --git a/content/en/fundamentals/sprints/2/_index.md b/org-cyf/content/fundamentals/sprints/2/_index.md
similarity index 100%
rename from content/en/fundamentals/sprints/2/_index.md
rename to org-cyf/content/fundamentals/sprints/2/_index.md
diff --git a/content/en/fundamentals/sprints/2/backlog/index.md b/org-cyf/content/fundamentals/sprints/2/backlog/index.md
similarity index 88%
rename from content/en/fundamentals/sprints/2/backlog/index.md
rename to org-cyf/content/fundamentals/sprints/2/backlog/index.md
index efa8d3ec5..1a32b0f8b 100644
--- a/content/en/fundamentals/sprints/2/backlog/index.md
+++ b/org-cyf/content/fundamentals/sprints/2/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Course-Fundamentals'
diff --git a/content/en/fundamentals/sprints/2/day-plan/index.md b/org-cyf/content/fundamentals/sprints/2/day-plan/index.md
similarity index 80%
rename from content/en/fundamentals/sprints/2/day-plan/index.md
rename to org-cyf/content/fundamentals/sprints/2/day-plan/index.md
index c224b4017..200cdd614 100644
--- a/content/en/fundamentals/sprints/2/day-plan/index.md
+++ b/org-cyf/content/fundamentals/sprints/2/day-plan/index.md
@@ -2,7 +2,7 @@
title = 'day-plan'
description = 'Iteration means to repeat. Developers do many small iterations to build software, each time adding or changing some small thing.'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-Fundamentals'
@@ -12,13 +12,13 @@ name="Discovering blockers"
src="blocks/blockers"
[[blocks]]
name="blockers"
-src="fundamentals/blocks/blockers"
+src="module/fundamentals/blockers"
[[blocks]]
name="Morning break"
src="blocks/morning-break"
[[blocks]]
name="MVP"
-src="fundamentals/blocks/mvp"
+src="module/fundamentals/mvp"
[[blocks]]
name="Lunch"
src="blocks/lunch"
@@ -30,16 +30,16 @@ name="Slack Rota"
src="https://cyf-pd.netlify.app/blocks/set-up-a-google-sheet-so-we-can-organise-a-slack-posting-rota/readme/"
[[blocks]]
name="pairing"
-src="fundamentals/blocks/pairing"
+src="module/fundamentals/pairing"
[[blocks]]
name="Afternoon break"
src="blocks/afternoon-break"
[[blocks]]
name="CYF Blocks"
-src="fundamentals/blocks/cyf-blocks-iteration"
+src="module/fundamentals/cyf-blocks-iteration"
[[blocks]]
name="Ship It"
-src="fundamentals/blocks/ship-it-iteration"
+src="module/fundamentals/ship-it-iteration"
[[blocks]]
name="Retro"
src="blocks/retro"
diff --git a/content/en/fundamentals/sprints/2/prep/index.md b/org-cyf/content/fundamentals/sprints/2/prep/index.md
similarity index 73%
rename from content/en/fundamentals/sprints/2/prep/index.md
rename to org-cyf/content/fundamentals/sprints/2/prep/index.md
index 16e0d5a1e..41ca6bd53 100644
--- a/content/en/fundamentals/sprints/2/prep/index.md
+++ b/org-cyf/content/fundamentals/sprints/2/prep/index.md
@@ -2,23 +2,23 @@
title = 'prep'
description='Check your backlog and come to class with questions.'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Course-Fundamentals'
backlog_filter= 'Week 2'
[[blocks]]
name="overcoming-blockers"
-src="fundamentals/blocks/overcoming-blockers"
+src="module/fundamentals/overcoming-blockers"
[[blocks]]
name="Learn about Slack"
src="https://cyf-pd.netlify.app/blocks/learn-about-slack/readme/"
[[blocks]]
name="code.org"
-src="fundamentals/blocks/code-dot-org"
+src="module/fundamentals/code-dot-org"
[[blocks]]
name="CYF Blocks"
-src="fundamentals/blocks/cyf-blocks-requirements"
+src="module/fundamentals/cyf-blocks-requirements"
[[blocks]]
name="backlog"
src="blocks/backlog"
diff --git a/content/en/fundamentals/sprints/2/success/index.md b/org-cyf/content/fundamentals/sprints/2/success/index.md
similarity index 90%
rename from content/en/fundamentals/sprints/2/success/index.md
rename to org-cyf/content/fundamentals/sprints/2/success/index.md
index cae98794f..41e9a5c5a 100644
--- a/content/en/fundamentals/sprints/2/success/index.md
+++ b/org-cyf/content/fundamentals/sprints/2/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-Fundamentals'
diff --git a/content/en/fundamentals/sprints/3/_index.md b/org-cyf/content/fundamentals/sprints/3/_index.md
similarity index 100%
rename from content/en/fundamentals/sprints/3/_index.md
rename to org-cyf/content/fundamentals/sprints/3/_index.md
diff --git a/content/en/fundamentals/sprints/3/backlog/index.md b/org-cyf/content/fundamentals/sprints/3/backlog/index.md
similarity index 88%
rename from content/en/fundamentals/sprints/3/backlog/index.md
rename to org-cyf/content/fundamentals/sprints/3/backlog/index.md
index c77cebff3..53b88f90e 100644
--- a/content/en/fundamentals/sprints/3/backlog/index.md
+++ b/org-cyf/content/fundamentals/sprints/3/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Course-Fundamentals'
diff --git a/content/en/fundamentals/sprints/3/day-plan/index.md b/org-cyf/content/fundamentals/sprints/3/day-plan/index.md
similarity index 79%
rename from content/en/fundamentals/sprints/3/day-plan/index.md
rename to org-cyf/content/fundamentals/sprints/3/day-plan/index.md
index 1b56cdebb..a1d16e601 100644
--- a/content/en/fundamentals/sprints/3/day-plan/index.md
+++ b/org-cyf/content/fundamentals/sprints/3/day-plan/index.md
@@ -2,7 +2,7 @@
title = 'day-plan'
description = 'Delivery is the catch-all term for shipping your code, or putting it in online, in a public place where real people can use it.'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Course-Fundamentals'
@@ -12,7 +12,7 @@ name="telephone"
src="blocks/telephone"
[[blocks]]
name="blockers"
-src="fundamentals/blocks/blockers"
+src="module/fundamentals/blockers"
[[blocks]]
name="Morning break"
src="blocks/morning-break"
@@ -24,13 +24,13 @@ name="lunch"
src="blocks/lunch"
[[blocks]]
name="Ship it"
-src="fundamentals/blocks/ship-it-delivery"
+src="module/fundamentals/ship-it-delivery"
[[blocks]]
name="Wrap up"
-src="fundamentals/blocks/wrap-up"
+src="module/fundamentals/wrap-up"
[[blocks]]
name="Next steps"
-src="fundamentals/blocks/next-steps"
+src="module/fundamentals/next-steps"
[[blocks]]
name="Retro"
src="blocks/retro"
diff --git a/content/en/fundamentals/sprints/3/prep/index.md b/org-cyf/content/fundamentals/sprints/3/prep/index.md
similarity index 97%
rename from content/en/fundamentals/sprints/3/prep/index.md
rename to org-cyf/content/fundamentals/sprints/3/prep/index.md
index 28f4ab713..3294587f8 100644
--- a/content/en/fundamentals/sprints/3/prep/index.md
+++ b/org-cyf/content/fundamentals/sprints/3/prep/index.md
@@ -1,7 +1,7 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Course-Fundamentals'
diff --git a/content/en/fundamentals/sprints/3/success/index.md b/org-cyf/content/fundamentals/sprints/3/success/index.md
similarity index 90%
rename from content/en/fundamentals/sprints/3/success/index.md
rename to org-cyf/content/fundamentals/sprints/3/success/index.md
index e5e35a34c..cc1d6bce1 100644
--- a/content/en/fundamentals/sprints/3/success/index.md
+++ b/org-cyf/content/fundamentals/sprints/3/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-Fundamentals'
diff --git a/content/en/fundamentals/success/index.md b/org-cyf/content/fundamentals/success/index.md
similarity index 97%
rename from content/en/fundamentals/success/index.md
rename to org-cyf/content/fundamentals/success/index.md
index 981488a83..8fb9df810 100644
--- a/content/en/fundamentals/success/index.md
+++ b/org-cyf/content/fundamentals/success/index.md
@@ -2,7 +2,7 @@
title = 'success'
description = 'How do you know if you have successfully completed this course?'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['module']
weight = 11
backlog= 'Module-Fundamentals'
diff --git a/content/en/guides/_index.md b/org-cyf/content/guides/_index.md
similarity index 100%
rename from content/en/guides/_index.md
rename to org-cyf/content/guides/_index.md
diff --git a/content/en/guides/asking-questions/index.md b/org-cyf/content/guides/asking-questions/index.md
similarity index 100%
rename from content/en/guides/asking-questions/index.md
rename to org-cyf/content/guides/asking-questions/index.md
diff --git a/content/en/guides/code-review/index.md b/org-cyf/content/guides/code-review/index.md
similarity index 100%
rename from content/en/guides/code-review/index.md
rename to org-cyf/content/guides/code-review/index.md
diff --git a/content/en/guides/code-style-guide/index.md b/org-cyf/content/guides/code-style-guide/index.md
similarity index 100%
rename from content/en/guides/code-style-guide/index.md
rename to org-cyf/content/guides/code-style-guide/index.md
diff --git a/content/en/guides/code-style-guide/prettier-error.png b/org-cyf/content/guides/code-style-guide/prettier-error.png
similarity index 100%
rename from content/en/guides/code-style-guide/prettier-error.png
rename to org-cyf/content/guides/code-style-guide/prettier-error.png
diff --git a/content/en/guides/contributing/_index.md b/org-cyf/content/guides/contributing/_index.md
similarity index 100%
rename from content/en/guides/contributing/_index.md
rename to org-cyf/content/guides/contributing/_index.md
diff --git a/content/en/guides/contributing/contributors/index.md b/org-cyf/content/guides/contributing/contributors/index.md
similarity index 100%
rename from content/en/guides/contributing/contributors/index.md
rename to org-cyf/content/guides/contributing/contributors/index.md
diff --git a/content/en/guides/contributing/minutes/index.md b/org-cyf/content/guides/contributing/minutes/index.md
similarity index 96%
rename from content/en/guides/contributing/minutes/index.md
rename to org-cyf/content/guides/contributing/minutes/index.md
index d9dfb74e5..a99c06ff7 100644
--- a/content/en/guides/contributing/minutes/index.md
+++ b/org-cyf/content/guides/contributing/minutes/index.md
@@ -17,6 +17,109 @@ Attendees:
---
+## 2024-01-16
+
+Attendees: Ali Smith, Chris Owen, Daniel Wagner-Hall, Isar Fridrikkson, Leila Farsani, Mitch Lloyd, Sally McGrath, Yun Ji, Zsolt Sztupak
+
+### βActions from last time
+
+- [ ] Update reminder message around new meeting format
+- [ ] Isar (Carry-over): Triage JS1+JS2 Iteration and Snagging issues - add any needed to the MigraCode milestone
+- [ ] Isar (Carry-over): Get all the relevant MigraCode people to fill in [this form](https://docs.google.com/forms/d/1sp2MTsU0eEAr4HCKXfDPxUXXZROWN8UyHIrDk7dRSJk/edit) to join CYF GitHub teams.
+- [ ] Sally (Carry-over): Provide a repro case for https://github.com/CodeYourFuture/curriculum/issues/222
+- [x] Ali (Carry-over): Write up a ticket for Sally to document the architecture of the curriculum website
+- [x] Sally: Create a MRE of a monorepo module system and send it out for review.
+- [x] Sally: Get Zsolt a CYF email and on-boarded into our Netlify team plan.
+- [x] Zsolt: Experiment with the CYF Netlify team.
+- [/] Zsolt: Migrate everything in the curriculum to be Netlify + Supabase based. - In progress, draft PR Up
+- [/] Zsolt: Reframe the full-stack assessment to be end-to-end feature slices rather than frontend - backend - DB. - In progress
+- [x] Sally: Cancel the syllabus team meeting on 2024-01-02.
+
+### π Agenda points
+
+#### Introductions
+
+* Isar Fridriksson: MigraCode Barcelona - recently joined the syllabus team.
+* Yun Ji: Studied with MigraCode Barcelona last year. Has PR'd some React fixes to the existing syllabus, taught some modules, and is excited to collaborate more!
+* Chris Owen: Ex Director of Education for CYF. Now working at Sigma Labs (an educator provider). Interested in getting involved with the nascent Cloud module.
+* Leila Farsani: Graduate from London Class 9, volunteering since. Looking for ways to help trainees to thrive more. Has some proposals around improving code review at CYF.
+* Mitch Lloyd: CYF TechEd employee and former volunteer. Has been developing and teaching the curriculum.
+* Sally McGrath: Director of Programme at CYF (and volunteer before).
+* Zsolt Sztupak: Engineering Manager by day, CYF volunteer in Scotland.
+* Daniel Wagner-Hall: Software Engineer, CYF volunteer in London, interested in breaking down problems and giving feedback.
+
+#### Rebuild of the curriculum platform
+
+* Sally has created https://github.com/CodeYourFuture/curriculum-labs
+* Split out modules
+ * One of common stuff ("common-content", "common-theme") - stuff that everyone may want to pull from.
+ * CYF and MCB have their own modules which mount these common modules, and may also contain their own unique content (but please contribute to common!)
+* Also already have "sources", e.g. YouTube, Slides, Runkit, etc.
+* Deployments Just Work.
+* Currently MCB has no modules, but copying them in should be pretty easy.
+* MCB has 3-4 people eager to get contributing.
+* Sally is proposing merging curriculum-labs into curriculum.
+* We're currently going to keep the MCB site in one repo, but can fork it out if needed (or move the curriculum repo into a shared org).
+
+#### Code Review
+
+* [Design doc](https://docs.google.com/document/d/10iBJTUoUR40wD_Y-j8mfCb9OlCQz_XnNd9mjCgiS2hc/edit).
+* Primary goal: We'd like to make sure trainees getting more and better feedback on their code.
+* Let's slim it down to focus on one goal: Getting trainees more code review.
+* Also, we have very variable amounts of code review across the organisation. Some people get good code review already, let's understand what people's experiences are.
+* We probably need to make this trainee-driven - get trainees _expecting_ code review, and asking for it.
+* Maybe pull the idea of assessment out of scope - just focus on getting as many useful comments on PRs as possible.
+* Idea that we're "promoting technical conversation".
+* Also, reducing class size will help us to be able to scale code review better.
+
+Possible first deliverable:
+* Describing good code review (possibly via examples of good code review Leila has received).
+* Find existing code reviewers and understand their experience.
+
+Next steps:
+* Find some volunteer code reviewers, put them through the "good code reviewer" filter.
+* Set expectations with one cohort (probably NW6)'s trainees that they should expect code review, and get the volunteers to serve that need.
+
+#### DevOps/Cloud Module
+
+* What has come before, and who should Chris speak to?
+* Pedro had previously done small-group ad-hoc cloud teaching which was very successful, but doesn't scale.
+* Pedro, Alvaro, Lorenzo have put together assorted iterations which have had mixed success.
+ * Biggest failure was when the module was too hard and trainees weren't supported enough. The content wasn't tangible enough - probably needs to be project-driven.
+ * Trainees need to have something to be able to show an employer.
+ * CYF need something tangible we can demonstrate to potential employers.
+* Existing content: https://main--cyf-cloud-track.netlify.app/cloud/ and https://module-cloud.codeyourfuture.io/overview/welcome-to-devops
+* Sally has agreed Learning Objectives with Alvaro and Lorenzo - Chris will try to collect them.
+* We're hoping there are a lot of potential Capgemini roles opening up this year - run ideas past Sally to understand how they mesh with CG's needs.
+* Is there an example of best content? Generally avoid lectures, be very project-focused, JS2 prep is pretty solid.
+
+#### MigraCode curriculum move
+
+* Discussion has been ongoing with MCB's parent organisation - there's agreement about the changes.
+* Yun Ji is a graduate from ~7 months ago - eager to contribute to open source, great problem solver, and has worn all the hats (student, instructor, etc).
+* More team members being on-boarded (Ali - graduate and head of education - will be joining meetings from February, Isha - graduate/staff)
+* Yun Ji is eager to get started - interested in code review - also found it very valuable in her time on the course!
+
+#### Training club
+
+* We're going to start doing a volunteer management course in a book-club style.
+* It starts next week - see https://docs.google.com/document/d/1r8H3kaKs5at6C7a41lOP7FLUaZ0bFyCvCwC9e83lM5g/edit
+
+### βActions
+
+- [ ] Daniel (Carry-over): Update reminder message around new meeting format
+- [ ] Isar (Carry-over): Triage JS1+JS2 Iteration and Snagging issues - add any needed to the MigraCode milestone
+- [ ] Sally (Carry-over): Provide a repro case for https://github.com/CodeYourFuture/curriculum/issues/222
+- [ ] Ali: Review all of Sally's React and Node workshop migrations
+- [ ] Chris: Merge all the Cloud curricula into the curriculum website.
+- [ ] Leila + Yun: Describe good code review (possibly via examples of good code review Leila has received).
+- [ ] Leila: Find existing code reviewers and understand their experience.
+- [ ] Mitch: Get MCB volunteers on-boarded onto Slack
+- [ ] Daniel: Get MCB volunteers on-boarded onto GitHub
+- [ ] Ali: Set up training club
+
+---
+
## 2023-12-19
Attendees: Ali Smith, Daniel Wagner-Hall, Mitchell Lloyd, Sally McGrath, Zsolt Sztupak
diff --git a/content/en/guides/contributing/supporters/index.md b/org-cyf/content/guides/contributing/supporters/index.md
similarity index 100%
rename from content/en/guides/contributing/supporters/index.md
rename to org-cyf/content/guides/contributing/supporters/index.md
diff --git a/content/en/guides/create-a-pull-request/github-branches-view.png b/org-cyf/content/guides/create-a-pull-request/github-branches-view.png
similarity index 100%
rename from content/en/guides/create-a-pull-request/github-branches-view.png
rename to org-cyf/content/guides/create-a-pull-request/github-branches-view.png
diff --git a/content/en/guides/create-a-pull-request/github-fork-highlight-branches.png b/org-cyf/content/guides/create-a-pull-request/github-fork-highlight-branches.png
similarity index 100%
rename from content/en/guides/create-a-pull-request/github-fork-highlight-branches.png
rename to org-cyf/content/guides/create-a-pull-request/github-fork-highlight-branches.png
diff --git a/content/en/guides/create-a-pull-request/github-fork-main-page.png b/org-cyf/content/guides/create-a-pull-request/github-fork-main-page.png
similarity index 100%
rename from content/en/guides/create-a-pull-request/github-fork-main-page.png
rename to org-cyf/content/guides/create-a-pull-request/github-fork-main-page.png
diff --git a/content/en/guides/create-a-pull-request/highlight-new-pull-request.png b/org-cyf/content/guides/create-a-pull-request/highlight-new-pull-request.png
similarity index 100%
rename from content/en/guides/create-a-pull-request/highlight-new-pull-request.png
rename to org-cyf/content/guides/create-a-pull-request/highlight-new-pull-request.png
diff --git a/content/en/guides/create-a-pull-request/index.md b/org-cyf/content/guides/create-a-pull-request/index.md
similarity index 100%
rename from content/en/guides/create-a-pull-request/index.md
rename to org-cyf/content/guides/create-a-pull-request/index.md
diff --git a/content/en/guides/create-a-pull-request/new-pr-landing-page.png b/org-cyf/content/guides/create-a-pull-request/new-pr-landing-page.png
similarity index 100%
rename from content/en/guides/create-a-pull-request/new-pr-landing-page.png
rename to org-cyf/content/guides/create-a-pull-request/new-pr-landing-page.png
diff --git a/content/en/guides/create-a-pull-request/open-pull-request-page.png b/org-cyf/content/guides/create-a-pull-request/open-pull-request-page.png
similarity index 100%
rename from content/en/guides/create-a-pull-request/open-pull-request-page.png
rename to org-cyf/content/guides/create-a-pull-request/open-pull-request-page.png
diff --git a/content/en/guides/create-a-pull-request/update-pr-title-description.png b/org-cyf/content/guides/create-a-pull-request/update-pr-title-description.png
similarity index 100%
rename from content/en/guides/create-a-pull-request/update-pr-title-description.png
rename to org-cyf/content/guides/create-a-pull-request/update-pr-title-description.png
diff --git a/content/en/guides/create-a-pull-request/update-pr-title.png b/org-cyf/content/guides/create-a-pull-request/update-pr-title.png
similarity index 100%
rename from content/en/guides/create-a-pull-request/update-pr-title.png
rename to org-cyf/content/guides/create-a-pull-request/update-pr-title.png
diff --git a/content/en/guides/create-a-pull-request/update-pr-using-template.png b/org-cyf/content/guides/create-a-pull-request/update-pr-using-template.png
similarity index 100%
rename from content/en/guides/create-a-pull-request/update-pr-using-template.png
rename to org-cyf/content/guides/create-a-pull-request/update-pr-using-template.png
diff --git a/content/en/guides/create-a-react-app/create-react-app-started-browser.png b/org-cyf/content/guides/create-a-react-app/create-react-app-started-browser.png
similarity index 100%
rename from content/en/guides/create-a-react-app/create-react-app-started-browser.png
rename to org-cyf/content/guides/create-a-react-app/create-react-app-started-browser.png
diff --git a/content/en/guides/create-a-react-app/create-react-app-started-terminal.png b/org-cyf/content/guides/create-a-react-app/create-react-app-started-terminal.png
similarity index 100%
rename from content/en/guides/create-a-react-app/create-react-app-started-terminal.png
rename to org-cyf/content/guides/create-a-react-app/create-react-app-started-terminal.png
diff --git a/content/en/guides/create-a-react-app/index.md b/org-cyf/content/guides/create-a-react-app/index.md
similarity index 100%
rename from content/en/guides/create-a-react-app/index.md
rename to org-cyf/content/guides/create-a-react-app/index.md
diff --git a/content/en/guides/deployment/_index.md b/org-cyf/content/guides/deployment/_index.md
similarity index 100%
rename from content/en/guides/deployment/_index.md
rename to org-cyf/content/guides/deployment/_index.md
diff --git a/content/en/guides/deployment/application_stack.md b/org-cyf/content/guides/deployment/application_stack.md
similarity index 100%
rename from content/en/guides/deployment/application_stack.md
rename to org-cyf/content/guides/deployment/application_stack.md
diff --git a/content/en/guides/deployment/deployment_strategies.md b/org-cyf/content/guides/deployment/deployment_strategies.md
similarity index 100%
rename from content/en/guides/deployment/deployment_strategies.md
rename to org-cyf/content/guides/deployment/deployment_strategies.md
diff --git a/content/en/guides/deployment/flyio/_index.md b/org-cyf/content/guides/deployment/flyio/_index.md
similarity index 100%
rename from content/en/guides/deployment/flyio/_index.md
rename to org-cyf/content/guides/deployment/flyio/_index.md
diff --git a/content/en/guides/deployment/flyio/database-access.md b/org-cyf/content/guides/deployment/flyio/database-access.md
similarity index 100%
rename from content/en/guides/deployment/flyio/database-access.md
rename to org-cyf/content/guides/deployment/flyio/database-access.md
diff --git a/content/en/guides/deployment/flyio/serving-frontend.md b/org-cyf/content/guides/deployment/flyio/serving-frontend.md
similarity index 100%
rename from content/en/guides/deployment/flyio/serving-frontend.md
rename to org-cyf/content/guides/deployment/flyio/serving-frontend.md
diff --git a/content/en/guides/deployment/flyio/setup/index.md b/org-cyf/content/guides/deployment/flyio/setup/index.md
similarity index 100%
rename from content/en/guides/deployment/flyio/setup/index.md
rename to org-cyf/content/guides/deployment/flyio/setup/index.md
diff --git a/content/en/guides/deployment/flyio/setup/signup.png b/org-cyf/content/guides/deployment/flyio/setup/signup.png
similarity index 100%
rename from content/en/guides/deployment/flyio/setup/signup.png
rename to org-cyf/content/guides/deployment/flyio/setup/signup.png
diff --git a/content/en/guides/deployment/free_deployments.md b/org-cyf/content/guides/deployment/free_deployments.md
similarity index 100%
rename from content/en/guides/deployment/free_deployments.md
rename to org-cyf/content/guides/deployment/free_deployments.md
diff --git a/content/en/guides/deployment/from_computers_to_services.md b/org-cyf/content/guides/deployment/from_computers_to_services.md
similarity index 100%
rename from content/en/guides/deployment/from_computers_to_services.md
rename to org-cyf/content/guides/deployment/from_computers_to_services.md
diff --git a/content/en/guides/deployment/netlify/_index.md b/org-cyf/content/guides/deployment/netlify/_index.md
similarity index 100%
rename from content/en/guides/deployment/netlify/_index.md
rename to org-cyf/content/guides/deployment/netlify/_index.md
diff --git a/content/en/guides/deployment/netlify/another-site/01-netlify-dashboard.png b/org-cyf/content/guides/deployment/netlify/another-site/01-netlify-dashboard.png
similarity index 100%
rename from content/en/guides/deployment/netlify/another-site/01-netlify-dashboard.png
rename to org-cyf/content/guides/deployment/netlify/another-site/01-netlify-dashboard.png
diff --git a/content/en/guides/deployment/netlify/another-site/02-sites-page.png b/org-cyf/content/guides/deployment/netlify/another-site/02-sites-page.png
similarity index 100%
rename from content/en/guides/deployment/netlify/another-site/02-sites-page.png
rename to org-cyf/content/guides/deployment/netlify/another-site/02-sites-page.png
diff --git a/content/en/guides/deployment/netlify/another-site/03-git-provider.png b/org-cyf/content/guides/deployment/netlify/another-site/03-git-provider.png
similarity index 100%
rename from content/en/guides/deployment/netlify/another-site/03-git-provider.png
rename to org-cyf/content/guides/deployment/netlify/another-site/03-git-provider.png
diff --git a/content/en/guides/deployment/netlify/another-site/04-choose-repo.png b/org-cyf/content/guides/deployment/netlify/another-site/04-choose-repo.png
similarity index 100%
rename from content/en/guides/deployment/netlify/another-site/04-choose-repo.png
rename to org-cyf/content/guides/deployment/netlify/another-site/04-choose-repo.png
diff --git a/content/en/guides/deployment/netlify/another-site/05-choose-branch.png b/org-cyf/content/guides/deployment/netlify/another-site/05-choose-branch.png
similarity index 100%
rename from content/en/guides/deployment/netlify/another-site/05-choose-branch.png
rename to org-cyf/content/guides/deployment/netlify/another-site/05-choose-branch.png
diff --git a/content/en/guides/deployment/netlify/another-site/06-site-is-live.png b/org-cyf/content/guides/deployment/netlify/another-site/06-site-is-live.png
similarity index 100%
rename from content/en/guides/deployment/netlify/another-site/06-site-is-live.png
rename to org-cyf/content/guides/deployment/netlify/another-site/06-site-is-live.png
diff --git a/content/en/guides/deployment/netlify/another-site/index.md b/org-cyf/content/guides/deployment/netlify/another-site/index.md
similarity index 100%
rename from content/en/guides/deployment/netlify/another-site/index.md
rename to org-cyf/content/guides/deployment/netlify/another-site/index.md
diff --git a/content/en/guides/deployment/netlify/common-problems.md b/org-cyf/content/guides/deployment/netlify/common-problems.md
similarity index 100%
rename from content/en/guides/deployment/netlify/common-problems.md
rename to org-cyf/content/guides/deployment/netlify/common-problems.md
diff --git a/content/en/guides/deployment/netlify/deploying-backends/01-netlify-environment-variables.png b/org-cyf/content/guides/deployment/netlify/deploying-backends/01-netlify-environment-variables.png
similarity index 100%
rename from content/en/guides/deployment/netlify/deploying-backends/01-netlify-environment-variables.png
rename to org-cyf/content/guides/deployment/netlify/deploying-backends/01-netlify-environment-variables.png
diff --git a/content/en/guides/deployment/netlify/deploying-backends/index.md b/org-cyf/content/guides/deployment/netlify/deploying-backends/index.md
similarity index 100%
rename from content/en/guides/deployment/netlify/deploying-backends/index.md
rename to org-cyf/content/guides/deployment/netlify/deploying-backends/index.md
diff --git a/content/en/guides/deployment/netlify/first-site/01-netlify-homepage.png b/org-cyf/content/guides/deployment/netlify/first-site/01-netlify-homepage.png
similarity index 100%
rename from content/en/guides/deployment/netlify/first-site/01-netlify-homepage.png
rename to org-cyf/content/guides/deployment/netlify/first-site/01-netlify-homepage.png
diff --git a/content/en/guides/deployment/netlify/first-site/02-netlify-signup.png b/org-cyf/content/guides/deployment/netlify/first-site/02-netlify-signup.png
similarity index 100%
rename from content/en/guides/deployment/netlify/first-site/02-netlify-signup.png
rename to org-cyf/content/guides/deployment/netlify/first-site/02-netlify-signup.png
diff --git a/content/en/guides/deployment/netlify/first-site/03-github-account-permissions.png b/org-cyf/content/guides/deployment/netlify/first-site/03-github-account-permissions.png
similarity index 100%
rename from content/en/guides/deployment/netlify/first-site/03-github-account-permissions.png
rename to org-cyf/content/guides/deployment/netlify/first-site/03-github-account-permissions.png
diff --git a/content/en/guides/deployment/netlify/first-site/04-deploy-first-project.png b/org-cyf/content/guides/deployment/netlify/first-site/04-deploy-first-project.png
similarity index 100%
rename from content/en/guides/deployment/netlify/first-site/04-deploy-first-project.png
rename to org-cyf/content/guides/deployment/netlify/first-site/04-deploy-first-project.png
diff --git a/content/en/guides/deployment/netlify/first-site/05-git-provider.png b/org-cyf/content/guides/deployment/netlify/first-site/05-git-provider.png
similarity index 100%
rename from content/en/guides/deployment/netlify/first-site/05-git-provider.png
rename to org-cyf/content/guides/deployment/netlify/first-site/05-git-provider.png
diff --git a/content/en/guides/deployment/netlify/first-site/06-github-further-permissions.png b/org-cyf/content/guides/deployment/netlify/first-site/06-github-further-permissions.png
similarity index 100%
rename from content/en/guides/deployment/netlify/first-site/06-github-further-permissions.png
rename to org-cyf/content/guides/deployment/netlify/first-site/06-github-further-permissions.png
diff --git a/content/en/guides/deployment/netlify/first-site/07-install-netlify.png b/org-cyf/content/guides/deployment/netlify/first-site/07-install-netlify.png
similarity index 100%
rename from content/en/guides/deployment/netlify/first-site/07-install-netlify.png
rename to org-cyf/content/guides/deployment/netlify/first-site/07-install-netlify.png
diff --git a/content/en/guides/deployment/netlify/first-site/08-choose-repo.png b/org-cyf/content/guides/deployment/netlify/first-site/08-choose-repo.png
similarity index 100%
rename from content/en/guides/deployment/netlify/first-site/08-choose-repo.png
rename to org-cyf/content/guides/deployment/netlify/first-site/08-choose-repo.png
diff --git a/content/en/guides/deployment/netlify/first-site/09-choose-branch.png b/org-cyf/content/guides/deployment/netlify/first-site/09-choose-branch.png
similarity index 100%
rename from content/en/guides/deployment/netlify/first-site/09-choose-branch.png
rename to org-cyf/content/guides/deployment/netlify/first-site/09-choose-branch.png
diff --git a/content/en/guides/deployment/netlify/first-site/10-site-is-live.png b/org-cyf/content/guides/deployment/netlify/first-site/10-site-is-live.png
similarity index 100%
rename from content/en/guides/deployment/netlify/first-site/10-site-is-live.png
rename to org-cyf/content/guides/deployment/netlify/first-site/10-site-is-live.png
diff --git a/content/en/guides/deployment/netlify/first-site/index.md b/org-cyf/content/guides/deployment/netlify/first-site/index.md
similarity index 100%
rename from content/en/guides/deployment/netlify/first-site/index.md
rename to org-cyf/content/guides/deployment/netlify/first-site/index.md
diff --git a/content/en/guides/deployment/netlify/renaming-site/01-netlify-dashboard.png b/org-cyf/content/guides/deployment/netlify/renaming-site/01-netlify-dashboard.png
similarity index 100%
rename from content/en/guides/deployment/netlify/renaming-site/01-netlify-dashboard.png
rename to org-cyf/content/guides/deployment/netlify/renaming-site/01-netlify-dashboard.png
diff --git a/content/en/guides/deployment/netlify/renaming-site/02-list-of-sites.png b/org-cyf/content/guides/deployment/netlify/renaming-site/02-list-of-sites.png
similarity index 100%
rename from content/en/guides/deployment/netlify/renaming-site/02-list-of-sites.png
rename to org-cyf/content/guides/deployment/netlify/renaming-site/02-list-of-sites.png
diff --git a/content/en/guides/deployment/netlify/renaming-site/03-site-overview.png b/org-cyf/content/guides/deployment/netlify/renaming-site/03-site-overview.png
similarity index 100%
rename from content/en/guides/deployment/netlify/renaming-site/03-site-overview.png
rename to org-cyf/content/guides/deployment/netlify/renaming-site/03-site-overview.png
diff --git a/content/en/guides/deployment/netlify/renaming-site/04-site-settings.png b/org-cyf/content/guides/deployment/netlify/renaming-site/04-site-settings.png
similarity index 100%
rename from content/en/guides/deployment/netlify/renaming-site/04-site-settings.png
rename to org-cyf/content/guides/deployment/netlify/renaming-site/04-site-settings.png
diff --git a/content/en/guides/deployment/netlify/renaming-site/05-site-name-input.png b/org-cyf/content/guides/deployment/netlify/renaming-site/05-site-name-input.png
similarity index 100%
rename from content/en/guides/deployment/netlify/renaming-site/05-site-name-input.png
rename to org-cyf/content/guides/deployment/netlify/renaming-site/05-site-name-input.png
diff --git a/content/en/guides/deployment/netlify/renaming-site/index.md b/org-cyf/content/guides/deployment/netlify/renaming-site/index.md
similarity index 100%
rename from content/en/guides/deployment/netlify/renaming-site/index.md
rename to org-cyf/content/guides/deployment/netlify/renaming-site/index.md
diff --git a/content/en/guides/deployment/netlify/site-naming-conventions.md b/org-cyf/content/guides/deployment/netlify/site-naming-conventions.md
similarity index 100%
rename from content/en/guides/deployment/netlify/site-naming-conventions.md
rename to org-cyf/content/guides/deployment/netlify/site-naming-conventions.md
diff --git a/content/en/guides/deployment/render/_index.md b/org-cyf/content/guides/deployment/render/_index.md
similarity index 100%
rename from content/en/guides/deployment/render/_index.md
rename to org-cyf/content/guides/deployment/render/_index.md
diff --git a/content/en/guides/deployment/render/connecting-a-dbms/changing-environment-variables.png b/org-cyf/content/guides/deployment/render/connecting-a-dbms/changing-environment-variables.png
similarity index 100%
rename from content/en/guides/deployment/render/connecting-a-dbms/changing-environment-variables.png
rename to org-cyf/content/guides/deployment/render/connecting-a-dbms/changing-environment-variables.png
diff --git a/content/en/guides/deployment/render/connecting-a-dbms/connection-error.png b/org-cyf/content/guides/deployment/render/connecting-a-dbms/connection-error.png
similarity index 100%
rename from content/en/guides/deployment/render/connecting-a-dbms/connection-error.png
rename to org-cyf/content/guides/deployment/render/connecting-a-dbms/connection-error.png
diff --git a/content/en/guides/deployment/render/connecting-a-dbms/connection-successful.png b/org-cyf/content/guides/deployment/render/connecting-a-dbms/connection-successful.png
similarity index 100%
rename from content/en/guides/deployment/render/connecting-a-dbms/connection-successful.png
rename to org-cyf/content/guides/deployment/render/connecting-a-dbms/connection-successful.png
diff --git a/content/en/guides/deployment/render/connecting-a-dbms/connection-test.png b/org-cyf/content/guides/deployment/render/connecting-a-dbms/connection-test.png
similarity index 100%
rename from content/en/guides/deployment/render/connecting-a-dbms/connection-test.png
rename to org-cyf/content/guides/deployment/render/connecting-a-dbms/connection-test.png
diff --git a/content/en/guides/deployment/render/connecting-a-dbms/db-credentials.png b/org-cyf/content/guides/deployment/render/connecting-a-dbms/db-credentials.png
similarity index 100%
rename from content/en/guides/deployment/render/connecting-a-dbms/db-credentials.png
rename to org-cyf/content/guides/deployment/render/connecting-a-dbms/db-credentials.png
diff --git a/content/en/guides/deployment/render/connecting-a-dbms/db-drivers.png b/org-cyf/content/guides/deployment/render/connecting-a-dbms/db-drivers.png
similarity index 100%
rename from content/en/guides/deployment/render/connecting-a-dbms/db-drivers.png
rename to org-cyf/content/guides/deployment/render/connecting-a-dbms/db-drivers.png
diff --git a/content/en/guides/deployment/render/connecting-a-dbms/index.md b/org-cyf/content/guides/deployment/render/connecting-a-dbms/index.md
similarity index 100%
rename from content/en/guides/deployment/render/connecting-a-dbms/index.md
rename to org-cyf/content/guides/deployment/render/connecting-a-dbms/index.md
diff --git a/content/en/guides/deployment/render/connecting-a-dbms/new-connection.png b/org-cyf/content/guides/deployment/render/connecting-a-dbms/new-connection.png
similarity index 100%
rename from content/en/guides/deployment/render/connecting-a-dbms/new-connection.png
rename to org-cyf/content/guides/deployment/render/connecting-a-dbms/new-connection.png
diff --git a/content/en/guides/deployment/render/connecting-a-dbms/render-dashboard.png b/org-cyf/content/guides/deployment/render/connecting-a-dbms/render-dashboard.png
similarity index 100%
rename from content/en/guides/deployment/render/connecting-a-dbms/render-dashboard.png
rename to org-cyf/content/guides/deployment/render/connecting-a-dbms/render-dashboard.png
diff --git a/content/en/guides/deployment/render/connecting-a-dbms/selecting-postgres.png b/org-cyf/content/guides/deployment/render/connecting-a-dbms/selecting-postgres.png
similarity index 100%
rename from content/en/guides/deployment/render/connecting-a-dbms/selecting-postgres.png
rename to org-cyf/content/guides/deployment/render/connecting-a-dbms/selecting-postgres.png
diff --git a/content/en/guides/deployment/render/connecting-a-dbms/show-all-databases.png b/org-cyf/content/guides/deployment/render/connecting-a-dbms/show-all-databases.png
similarity index 100%
rename from content/en/guides/deployment/render/connecting-a-dbms/show-all-databases.png
rename to org-cyf/content/guides/deployment/render/connecting-a-dbms/show-all-databases.png
diff --git a/content/en/guides/deployment/render/connecting-github/index.md b/org-cyf/content/guides/deployment/render/connecting-github/index.md
similarity index 100%
rename from content/en/guides/deployment/render/connecting-github/index.md
rename to org-cyf/content/guides/deployment/render/connecting-github/index.md
diff --git a/content/en/guides/deployment/render/connecting-github/sign-in-with-github.png b/org-cyf/content/guides/deployment/render/connecting-github/sign-in-with-github.png
similarity index 100%
rename from content/en/guides/deployment/render/connecting-github/sign-in-with-github.png
rename to org-cyf/content/guides/deployment/render/connecting-github/sign-in-with-github.png
diff --git a/content/en/guides/deployment/render/connecting-github/sign-in.png b/org-cyf/content/guides/deployment/render/connecting-github/sign-in.png
similarity index 100%
rename from content/en/guides/deployment/render/connecting-github/sign-in.png
rename to org-cyf/content/guides/deployment/render/connecting-github/sign-in.png
diff --git a/content/en/guides/deployment/render/connecting-github/sign-up-complete.png b/org-cyf/content/guides/deployment/render/connecting-github/sign-up-complete.png
similarity index 100%
rename from content/en/guides/deployment/render/connecting-github/sign-up-complete.png
rename to org-cyf/content/guides/deployment/render/connecting-github/sign-up-complete.png
diff --git a/content/en/guides/deployment/render/connecting-github/verification-email-link.png b/org-cyf/content/guides/deployment/render/connecting-github/verification-email-link.png
similarity index 100%
rename from content/en/guides/deployment/render/connecting-github/verification-email-link.png
rename to org-cyf/content/guides/deployment/render/connecting-github/verification-email-link.png
diff --git a/content/en/guides/deployment/render/connecting-github/verification-email-received.png b/org-cyf/content/guides/deployment/render/connecting-github/verification-email-received.png
similarity index 100%
rename from content/en/guides/deployment/render/connecting-github/verification-email-received.png
rename to org-cyf/content/guides/deployment/render/connecting-github/verification-email-received.png
diff --git a/content/en/guides/deployment/render/connecting-github/verification-email-sent.png b/org-cyf/content/guides/deployment/render/connecting-github/verification-email-sent.png
similarity index 100%
rename from content/en/guides/deployment/render/connecting-github/verification-email-sent.png
rename to org-cyf/content/guides/deployment/render/connecting-github/verification-email-sent.png
diff --git a/content/en/guides/deployment/render/creating-a-postgres-db/connect-button.png b/org-cyf/content/guides/deployment/render/creating-a-postgres-db/connect-button.png
similarity index 100%
rename from content/en/guides/deployment/render/creating-a-postgres-db/connect-button.png
rename to org-cyf/content/guides/deployment/render/creating-a-postgres-db/connect-button.png
diff --git a/content/en/guides/deployment/render/creating-a-postgres-db/database-active.png b/org-cyf/content/guides/deployment/render/creating-a-postgres-db/database-active.png
similarity index 100%
rename from content/en/guides/deployment/render/creating-a-postgres-db/database-active.png
rename to org-cyf/content/guides/deployment/render/creating-a-postgres-db/database-active.png
diff --git a/content/en/guides/deployment/render/creating-a-postgres-db/database-creating.png b/org-cyf/content/guides/deployment/render/creating-a-postgres-db/database-creating.png
similarity index 100%
rename from content/en/guides/deployment/render/creating-a-postgres-db/database-creating.png
rename to org-cyf/content/guides/deployment/render/creating-a-postgres-db/database-creating.png
diff --git a/content/en/guides/deployment/render/creating-a-postgres-db/database-name.png b/org-cyf/content/guides/deployment/render/creating-a-postgres-db/database-name.png
similarity index 100%
rename from content/en/guides/deployment/render/creating-a-postgres-db/database-name.png
rename to org-cyf/content/guides/deployment/render/creating-a-postgres-db/database-name.png
diff --git a/content/en/guides/deployment/render/creating-a-postgres-db/environment-variables.png b/org-cyf/content/guides/deployment/render/creating-a-postgres-db/environment-variables.png
similarity index 100%
rename from content/en/guides/deployment/render/creating-a-postgres-db/environment-variables.png
rename to org-cyf/content/guides/deployment/render/creating-a-postgres-db/environment-variables.png
diff --git a/content/en/guides/deployment/render/creating-a-postgres-db/free-plan-and-create-database.png b/org-cyf/content/guides/deployment/render/creating-a-postgres-db/free-plan-and-create-database.png
similarity index 100%
rename from content/en/guides/deployment/render/creating-a-postgres-db/free-plan-and-create-database.png
rename to org-cyf/content/guides/deployment/render/creating-a-postgres-db/free-plan-and-create-database.png
diff --git a/content/en/guides/deployment/render/creating-a-postgres-db/index.md b/org-cyf/content/guides/deployment/render/creating-a-postgres-db/index.md
similarity index 100%
rename from content/en/guides/deployment/render/creating-a-postgres-db/index.md
rename to org-cyf/content/guides/deployment/render/creating-a-postgres-db/index.md
diff --git a/content/en/guides/deployment/render/creating-a-postgres-db/new-postgres.png b/org-cyf/content/guides/deployment/render/creating-a-postgres-db/new-postgres.png
similarity index 100%
rename from content/en/guides/deployment/render/creating-a-postgres-db/new-postgres.png
rename to org-cyf/content/guides/deployment/render/creating-a-postgres-db/new-postgres.png
diff --git a/content/en/guides/deployment/render/deploying-server/authorise-render.png b/org-cyf/content/guides/deployment/render/deploying-server/authorise-render.png
similarity index 100%
rename from content/en/guides/deployment/render/deploying-server/authorise-render.png
rename to org-cyf/content/guides/deployment/render/deploying-server/authorise-render.png
diff --git a/content/en/guides/deployment/render/deploying-server/build-successful.jpg b/org-cyf/content/guides/deployment/render/deploying-server/build-successful.jpg
similarity index 100%
rename from content/en/guides/deployment/render/deploying-server/build-successful.jpg
rename to org-cyf/content/guides/deployment/render/deploying-server/build-successful.jpg
diff --git a/content/en/guides/deployment/render/deploying-server/complete-sign-up.png b/org-cyf/content/guides/deployment/render/deploying-server/complete-sign-up.png
similarity index 100%
rename from content/en/guides/deployment/render/deploying-server/complete-sign-up.png
rename to org-cyf/content/guides/deployment/render/deploying-server/complete-sign-up.png
diff --git a/content/en/guides/deployment/render/deploying-server/connect-repo.jpg b/org-cyf/content/guides/deployment/render/deploying-server/connect-repo.jpg
similarity index 100%
rename from content/en/guides/deployment/render/deploying-server/connect-repo.jpg
rename to org-cyf/content/guides/deployment/render/deploying-server/connect-repo.jpg
diff --git a/content/en/guides/deployment/render/deploying-server/create-web-service.jpg b/org-cyf/content/guides/deployment/render/deploying-server/create-web-service.jpg
similarity index 100%
rename from content/en/guides/deployment/render/deploying-server/create-web-service.jpg
rename to org-cyf/content/guides/deployment/render/deploying-server/create-web-service.jpg
diff --git a/content/en/guides/deployment/render/deploying-server/dashboard-new-button.png b/org-cyf/content/guides/deployment/render/deploying-server/dashboard-new-button.png
similarity index 100%
rename from content/en/guides/deployment/render/deploying-server/dashboard-new-button.png
rename to org-cyf/content/guides/deployment/render/deploying-server/dashboard-new-button.png
diff --git a/content/en/guides/deployment/render/deploying-server/index.md b/org-cyf/content/guides/deployment/render/deploying-server/index.md
similarity index 100%
rename from content/en/guides/deployment/render/deploying-server/index.md
rename to org-cyf/content/guides/deployment/render/deploying-server/index.md
diff --git a/content/en/guides/deployment/render/deploying-server/name-web-service.jpg b/org-cyf/content/guides/deployment/render/deploying-server/name-web-service.jpg
similarity index 100%
rename from content/en/guides/deployment/render/deploying-server/name-web-service.jpg
rename to org-cyf/content/guides/deployment/render/deploying-server/name-web-service.jpg
diff --git a/content/en/guides/deployment/render/deploying-server/new-web-service.jpg b/org-cyf/content/guides/deployment/render/deploying-server/new-web-service.jpg
similarity index 100%
rename from content/en/guides/deployment/render/deploying-server/new-web-service.jpg
rename to org-cyf/content/guides/deployment/render/deploying-server/new-web-service.jpg
diff --git a/content/en/guides/deployment/render/deploying-server/render-dashboard.png b/org-cyf/content/guides/deployment/render/deploying-server/render-dashboard.png
similarity index 100%
rename from content/en/guides/deployment/render/deploying-server/render-dashboard.png
rename to org-cyf/content/guides/deployment/render/deploying-server/render-dashboard.png
diff --git a/content/en/guides/deployment/render/deploying-server/start-command.jpg b/org-cyf/content/guides/deployment/render/deploying-server/start-command.jpg
similarity index 100%
rename from content/en/guides/deployment/render/deploying-server/start-command.jpg
rename to org-cyf/content/guides/deployment/render/deploying-server/start-command.jpg
diff --git a/content/en/guides/deployment/render/deploying-server/url-to-deployed-web-service.jpg b/org-cyf/content/guides/deployment/render/deploying-server/url-to-deployed-web-service.jpg
similarity index 100%
rename from content/en/guides/deployment/render/deploying-server/url-to-deployed-web-service.jpg
rename to org-cyf/content/guides/deployment/render/deploying-server/url-to-deployed-web-service.jpg
diff --git a/content/en/guides/deployment/render/serving-frontend-through-backend.md b/org-cyf/content/guides/deployment/render/serving-frontend-through-backend.md
similarity index 100%
rename from content/en/guides/deployment/render/serving-frontend-through-backend.md
rename to org-cyf/content/guides/deployment/render/serving-frontend-through-backend.md
diff --git a/content/en/guides/deployment/supabase/_index.md b/org-cyf/content/guides/deployment/supabase/_index.md
similarity index 100%
rename from content/en/guides/deployment/supabase/_index.md
rename to org-cyf/content/guides/deployment/supabase/_index.md
diff --git a/content/en/guides/deployment/supabase/connection-string.png b/org-cyf/content/guides/deployment/supabase/connection-string.png
similarity index 100%
rename from content/en/guides/deployment/supabase/connection-string.png
rename to org-cyf/content/guides/deployment/supabase/connection-string.png
diff --git a/content/en/guides/intro-to-tests/index.md b/org-cyf/content/guides/intro-to-tests/index.md
similarity index 100%
rename from content/en/guides/intro-to-tests/index.md
rename to org-cyf/content/guides/intro-to-tests/index.md
diff --git a/content/en/guides/intro-to-tests/test-case.png b/org-cyf/content/guides/intro-to-tests/test-case.png
similarity index 100%
rename from content/en/guides/intro-to-tests/test-case.png
rename to org-cyf/content/guides/intro-to-tests/test-case.png
diff --git a/content/en/guides/intro-to-tests/test-fail-case.png b/org-cyf/content/guides/intro-to-tests/test-fail-case.png
similarity index 100%
rename from content/en/guides/intro-to-tests/test-fail-case.png
rename to org-cyf/content/guides/intro-to-tests/test-fail-case.png
diff --git a/content/en/guides/intro-to-tests/test-pass-case.png b/org-cyf/content/guides/intro-to-tests/test-pass-case.png
similarity index 100%
rename from content/en/guides/intro-to-tests/test-pass-case.png
rename to org-cyf/content/guides/intro-to-tests/test-pass-case.png
diff --git a/content/en/guides/paradigm/index.md b/org-cyf/content/guides/paradigm/index.md
similarity index 100%
rename from content/en/guides/paradigm/index.md
rename to org-cyf/content/guides/paradigm/index.md
diff --git a/content/en/html-css/_index.md b/org-cyf/content/html-css/_index.md
similarity index 100%
rename from content/en/html-css/_index.md
rename to org-cyf/content/html-css/_index.md
diff --git a/content/en/html-css/prep/index.md b/org-cyf/content/html-css/prep/index.md
similarity index 98%
rename from content/en/html-css/prep/index.md
rename to org-cyf/content/html-css/prep/index.md
index 47fa0cf86..095741d5a 100644
--- a/content/en/html-css/prep/index.md
+++ b/org-cyf/content/html-css/prep/index.md
@@ -2,7 +2,7 @@
title = 'prep'
description = 'There is just so much to do!'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['module']
weight = 1
backlog= 'Module-HTML-CSS'
diff --git a/content/en/html-css/product/_index.md b/org-cyf/content/html-css/product/_index.md
similarity index 100%
rename from content/en/html-css/product/_index.md
rename to org-cyf/content/html-css/product/_index.md
diff --git a/content/en/html-css/product/build/index.md b/org-cyf/content/html-css/product/build/index.md
similarity index 100%
rename from content/en/html-css/product/build/index.md
rename to org-cyf/content/html-css/product/build/index.md
diff --git a/content/en/html-css/product/plan/index.md b/org-cyf/content/html-css/product/plan/index.md
similarity index 100%
rename from content/en/html-css/product/plan/index.md
rename to org-cyf/content/html-css/product/plan/index.md
diff --git a/content/en/html-css/product/ship/index.md b/org-cyf/content/html-css/product/ship/index.md
similarity index 100%
rename from content/en/html-css/product/ship/index.md
rename to org-cyf/content/html-css/product/ship/index.md
diff --git a/content/en/html-css/product/test/index.md b/org-cyf/content/html-css/product/test/index.md
similarity index 100%
rename from content/en/html-css/product/test/index.md
rename to org-cyf/content/html-css/product/test/index.md
diff --git a/content/en/html-css/sprints/1/_index.md b/org-cyf/content/html-css/sprints/1/_index.md
similarity index 100%
rename from content/en/html-css/sprints/1/_index.md
rename to org-cyf/content/html-css/sprints/1/_index.md
diff --git a/content/en/html-css/sprints/1/backlog/index.md b/org-cyf/content/html-css/sprints/1/backlog/index.md
similarity index 88%
rename from content/en/html-css/sprints/1/backlog/index.md
rename to org-cyf/content/html-css/sprints/1/backlog/index.md
index 32277d627..bcb9d2050 100644
--- a/content/en/html-css/sprints/1/backlog/index.md
+++ b/org-cyf/content/html-css/sprints/1/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-HTML-CSS'
diff --git a/content/en/html-css/sprints/1/day-plan/index.md b/org-cyf/content/html-css/sprints/1/day-plan/index.md
similarity index 96%
rename from content/en/html-css/sprints/1/day-plan/index.md
rename to org-cyf/content/html-css/sprints/1/day-plan/index.md
index 9400a51f5..05f1b24e7 100644
--- a/content/en/html-css/sprints/1/day-plan/index.md
+++ b/org-cyf/content/html-css/sprints/1/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-HTML-CSS'
diff --git a/content/en/html-css/sprints/1/prep/index.md b/org-cyf/content/html-css/sprints/1/prep/index.md
similarity index 96%
rename from content/en/html-css/sprints/1/prep/index.md
rename to org-cyf/content/html-css/sprints/1/prep/index.md
index 3a0a6eaf9..c4ba0415a 100644
--- a/content/en/html-css/sprints/1/prep/index.md
+++ b/org-cyf/content/html-css/sprints/1/prep/index.md
@@ -1,7 +1,7 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-HTML-CSS'
@@ -12,7 +12,7 @@ src="blocks/spaced-repetition"
time="30"
[[blocks]]
name="What is HTML"
-src="html-css/blocks/what-is-html"
+src="module/html-css/what-is-html"
time="55"
[[blocks]]
name="Transferable skills prep"
diff --git a/content/en/html-css/sprints/1/success/index.md b/org-cyf/content/html-css/sprints/1/success/index.md
similarity index 90%
rename from content/en/html-css/sprints/1/success/index.md
rename to org-cyf/content/html-css/sprints/1/success/index.md
index fbfe452df..3b7c60954 100644
--- a/content/en/html-css/sprints/1/success/index.md
+++ b/org-cyf/content/html-css/sprints/1/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-HTML-CSS'
diff --git a/content/en/html-css/sprints/2/_index.md b/org-cyf/content/html-css/sprints/2/_index.md
similarity index 100%
rename from content/en/html-css/sprints/2/_index.md
rename to org-cyf/content/html-css/sprints/2/_index.md
diff --git a/content/en/html-css/sprints/2/backlog/index.md b/org-cyf/content/html-css/sprints/2/backlog/index.md
similarity index 88%
rename from content/en/html-css/sprints/2/backlog/index.md
rename to org-cyf/content/html-css/sprints/2/backlog/index.md
index 1d1d197fd..db26bf88b 100644
--- a/content/en/html-css/sprints/2/backlog/index.md
+++ b/org-cyf/content/html-css/sprints/2/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-HTML-CSS'
diff --git a/content/en/html-css/sprints/2/day-plan/index.md b/org-cyf/content/html-css/sprints/2/day-plan/index.md
similarity index 95%
rename from content/en/html-css/sprints/2/day-plan/index.md
rename to org-cyf/content/html-css/sprints/2/day-plan/index.md
index 2fc97c317..f74420631 100644
--- a/content/en/html-css/sprints/2/day-plan/index.md
+++ b/org-cyf/content/html-css/sprints/2/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-HTML-CSS'
diff --git a/content/en/html-css/sprints/2/prep/index.md b/org-cyf/content/html-css/sprints/2/prep/index.md
similarity index 91%
rename from content/en/html-css/sprints/2/prep/index.md
rename to org-cyf/content/html-css/sprints/2/prep/index.md
index c10989a82..5e062676f 100644
--- a/content/en/html-css/sprints/2/prep/index.md
+++ b/org-cyf/content/html-css/sprints/2/prep/index.md
@@ -1,7 +1,7 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-HTML-CSS'
@@ -14,7 +14,7 @@ name="Spaced Repetition"
src="blocks/spaced-repetition"
[[blocks]]
name="What is CSS"
-src="html-css/blocks/what-is-css"
+src="module/html-css/what-is-css"
[[blocks]]
name="CSS skills practice"
src="https://www.youtube.com/playlist?list=PLozA7cloMbPgM0Cra4IhDg_HvhP727Abo"
diff --git a/content/en/html-css/sprints/2/success/index.md b/org-cyf/content/html-css/sprints/2/success/index.md
similarity index 90%
rename from content/en/html-css/sprints/2/success/index.md
rename to org-cyf/content/html-css/sprints/2/success/index.md
index d4b9e9350..9a01af6b2 100644
--- a/content/en/html-css/sprints/2/success/index.md
+++ b/org-cyf/content/html-css/sprints/2/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-HTML-CSS'
diff --git a/content/en/html-css/sprints/3/_index.md b/org-cyf/content/html-css/sprints/3/_index.md
similarity index 100%
rename from content/en/html-css/sprints/3/_index.md
rename to org-cyf/content/html-css/sprints/3/_index.md
diff --git a/content/en/html-css/sprints/3/backlog/index.md b/org-cyf/content/html-css/sprints/3/backlog/index.md
similarity index 88%
rename from content/en/html-css/sprints/3/backlog/index.md
rename to org-cyf/content/html-css/sprints/3/backlog/index.md
index cb24157f1..fe4af98dc 100644
--- a/content/en/html-css/sprints/3/backlog/index.md
+++ b/org-cyf/content/html-css/sprints/3/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-HTML-CSS'
diff --git a/content/en/html-css/sprints/3/day-plan/index.md b/org-cyf/content/html-css/sprints/3/day-plan/index.md
similarity index 89%
rename from content/en/html-css/sprints/3/day-plan/index.md
rename to org-cyf/content/html-css/sprints/3/day-plan/index.md
index 384d02784..249309241 100644
--- a/content/en/html-css/sprints/3/day-plan/index.md
+++ b/org-cyf/content/html-css/sprints/3/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-HTML-CSS'
@@ -16,8 +16,9 @@ src="https://cyf-pd.netlify.app/blocks/developer-communication/readme/"
name="Morning break"
src="blocks/morning-break"
[[blocks]]
-name="study-60"
-src="blocks/study-60"
+name="Study Group"
+src="blocks/study-group"
+time="60"
[[blocks]]
name="lunch"
src="blocks/lunch"
diff --git a/content/en/html-css/sprints/3/prep/index.md b/org-cyf/content/html-css/sprints/3/prep/index.md
similarity index 89%
rename from content/en/html-css/sprints/3/prep/index.md
rename to org-cyf/content/html-css/sprints/3/prep/index.md
index e28ec9867..ad8fb7e1c 100644
--- a/content/en/html-css/sprints/3/prep/index.md
+++ b/org-cyf/content/html-css/sprints/3/prep/index.md
@@ -1,7 +1,7 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-HTML-CSS'
@@ -14,7 +14,7 @@ name="Spaced Repetition"
src="blocks/spaced-repetition"
[[blocks]]
name="What are Forms"
-src="html-css/blocks/what-are-forms"
+src="module/html-css/what-are-forms"
[[blocks]]
name="Developer Communication"
src="https://cyf-pd.netlify.app/blocks/prep-developer-communication/readme/"
diff --git a/content/en/html-css/sprints/3/success/index.md b/org-cyf/content/html-css/sprints/3/success/index.md
similarity index 90%
rename from content/en/html-css/sprints/3/success/index.md
rename to org-cyf/content/html-css/sprints/3/success/index.md
index a1df8edb9..d897e6186 100644
--- a/content/en/html-css/sprints/3/success/index.md
+++ b/org-cyf/content/html-css/sprints/3/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-HTML-CSS'
diff --git a/content/en/html-css/sprints/4/_index.md b/org-cyf/content/html-css/sprints/4/_index.md
similarity index 100%
rename from content/en/html-css/sprints/4/_index.md
rename to org-cyf/content/html-css/sprints/4/_index.md
diff --git a/content/en/html-css/sprints/4/backlog/index.md b/org-cyf/content/html-css/sprints/4/backlog/index.md
similarity index 88%
rename from content/en/html-css/sprints/4/backlog/index.md
rename to org-cyf/content/html-css/sprints/4/backlog/index.md
index 7c057ff3a..365d6ebca 100644
--- a/content/en/html-css/sprints/4/backlog/index.md
+++ b/org-cyf/content/html-css/sprints/4/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-HTML-CSS'
diff --git a/content/en/html-css/sprints/4/day-plan/index.md b/org-cyf/content/html-css/sprints/4/day-plan/index.md
similarity index 96%
rename from content/en/html-css/sprints/4/day-plan/index.md
rename to org-cyf/content/html-css/sprints/4/day-plan/index.md
index a522dd53a..c2666c5c5 100644
--- a/content/en/html-css/sprints/4/day-plan/index.md
+++ b/org-cyf/content/html-css/sprints/4/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-HTML-CSS'
diff --git a/content/en/html-css/sprints/4/prep/index.md b/org-cyf/content/html-css/sprints/4/prep/index.md
similarity index 92%
rename from content/en/html-css/sprints/4/prep/index.md
rename to org-cyf/content/html-css/sprints/4/prep/index.md
index b758b6d21..bba1d162f 100644
--- a/content/en/html-css/sprints/4/prep/index.md
+++ b/org-cyf/content/html-css/sprints/4/prep/index.md
@@ -2,7 +2,7 @@
title = 'prep'
description='Decompose interfaces into components; recognise patterns'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-HTML-CSS'
@@ -18,7 +18,7 @@ name="Spaced Repetition"
src="blocks/spaced-repetition"
[[blocks]]
name="What are Components?"
-src="html-css/blocks/what-are-components"
+src="module/html-css/what-are-components"
[[blocks]]
name="Understand SMART goals"
src="https://cyf-pd.netlify.app/blocks/prep-for-smart-goals/readme/"
diff --git a/content/en/html-css/sprints/4/success/index.md b/org-cyf/content/html-css/sprints/4/success/index.md
similarity index 90%
rename from content/en/html-css/sprints/4/success/index.md
rename to org-cyf/content/html-css/sprints/4/success/index.md
index af909d9dd..fb9c29583 100644
--- a/content/en/html-css/sprints/4/success/index.md
+++ b/org-cyf/content/html-css/sprints/4/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-HTML-CSS'
diff --git a/content/en/html-css/success/index.md b/org-cyf/content/html-css/success/index.md
similarity index 98%
rename from content/en/html-css/success/index.md
rename to org-cyf/content/html-css/success/index.md
index ac45dbbbd..c6f549f6f 100644
--- a/content/en/html-css/success/index.md
+++ b/org-cyf/content/html-css/success/index.md
@@ -2,7 +2,7 @@
title = 'success'
description = 'How do we know if we have completed this module?'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['module']
weight = 11
backlog= 'Module-HTML-CSS'
diff --git a/org-cyf/content/induction/_index.md b/org-cyf/content/induction/_index.md
new file mode 100644
index 000000000..0cf1b14e2
--- /dev/null
+++ b/org-cyf/content/induction/_index.md
@@ -0,0 +1,8 @@
++++
+title = 'Induction'
+description = 'The plan for Induction'
+layout = 'module'
+emoji= 'π€'
+menu = ['syllabus']
+weight='1'
++++
diff --git a/content/en/induction/prep/index.md b/org-cyf/content/induction/prep/index.md
similarity index 67%
rename from content/en/induction/prep/index.md
rename to org-cyf/content/induction/prep/index.md
index 844dbc17c..feade427a 100644
--- a/content/en/induction/prep/index.md
+++ b/org-cyf/content/induction/prep/index.md
@@ -7,14 +7,14 @@ menu_level = ["module"]
weight = 1
[[blocks]]
name="Handshake"
-src="induction/blocks/handshake"
+src="module/induction/handshake"
[[blocks]]
name="Check Git"
-src="induction/blocks/check-git-installation"
+src="module/induction/check-git-installation"
[[blocks]]
name="Install VS Code"
-src="induction/blocks/install-vscode"
+src="module/induction/install-vscode"
[[blocks]]
name="Create CYF Folder"
-src="induction/blocks/cyf-folder"
+src="module/induction/cyf-folder"
+++
diff --git a/content/en/induction/sprints/1/_index.md b/org-cyf/content/induction/sprints/1/_index.md
similarity index 100%
rename from content/en/induction/sprints/1/_index.md
rename to org-cyf/content/induction/sprints/1/_index.md
diff --git a/content/en/induction/sprints/1/backlog/index.md b/org-cyf/content/induction/sprints/1/backlog/index.md
similarity index 92%
rename from content/en/induction/sprints/1/backlog/index.md
rename to org-cyf/content/induction/sprints/1/backlog/index.md
index 9cbce51f9..419788513 100644
--- a/content/en/induction/sprints/1/backlog/index.md
+++ b/org-cyf/content/induction/sprints/1/backlog/index.md
@@ -2,7 +2,7 @@
title = 'backlog'
description = 'backlog description'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Induction'
diff --git a/content/en/induction/sprints/1/day-plan/index.md b/org-cyf/content/induction/sprints/1/day-plan/index.md
similarity index 89%
rename from content/en/induction/sprints/1/day-plan/index.md
rename to org-cyf/content/induction/sprints/1/day-plan/index.md
index 529b3541b..ed11a3dfd 100644
--- a/content/en/induction/sprints/1/day-plan/index.md
+++ b/org-cyf/content/induction/sprints/1/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-Induction'
@@ -18,7 +18,7 @@ src="https://cyf-pd.netlify.app/blocks/goals-and-expectations-on-the-software-de
time="60"
[[blocks]]
name="Learning as Community"
-src="induction/blocks/learning-as-community"
+src="module/induction/learning-as-community"
time="70"
[[blocks]]
name="Availability"
@@ -37,7 +37,7 @@ src="https://github.com/CodeYourFuture/CYF-Workshops/tree/main/git-day-1"
time="120"
[[blocks]]
name="Next steps"
-src="induction/blocks/next-steps"
+src="module/induction/next-steps"
[[blocks]]
name="Retro"
src="blocks/retro"
diff --git a/org-cyf/content/induction/sprints/1/prep/commit-history-relative-dates.png b/org-cyf/content/induction/sprints/1/prep/commit-history-relative-dates.png
new file mode 100644
index 000000000..ccbedfea6
Binary files /dev/null and b/org-cyf/content/induction/sprints/1/prep/commit-history-relative-dates.png differ
diff --git a/org-cyf/content/induction/sprints/1/prep/commit-history.png b/org-cyf/content/induction/sprints/1/prep/commit-history.png
new file mode 100644
index 000000000..b2ce6d6cf
Binary files /dev/null and b/org-cyf/content/induction/sprints/1/prep/commit-history.png differ
diff --git a/org-cyf/content/induction/sprints/1/prep/different-blog-versions.png b/org-cyf/content/induction/sprints/1/prep/different-blog-versions.png
new file mode 100644
index 000000000..8bf591735
Binary files /dev/null and b/org-cyf/content/induction/sprints/1/prep/different-blog-versions.png differ
diff --git a/org-cyf/content/induction/sprints/1/prep/fork-and-clone-diagram.png b/org-cyf/content/induction/sprints/1/prep/fork-and-clone-diagram.png
new file mode 100644
index 000000000..fc47d1b24
Binary files /dev/null and b/org-cyf/content/induction/sprints/1/prep/fork-and-clone-diagram.png differ
diff --git a/org-cyf/content/induction/sprints/1/prep/highlight-2nd-commit.png b/org-cyf/content/induction/sprints/1/prep/highlight-2nd-commit.png
new file mode 100644
index 000000000..46c8023f7
Binary files /dev/null and b/org-cyf/content/induction/sprints/1/prep/highlight-2nd-commit.png differ
diff --git a/org-cyf/content/induction/sprints/1/prep/index.md b/org-cyf/content/induction/sprints/1/prep/index.md
new file mode 100644
index 000000000..fd91c1d68
--- /dev/null
+++ b/org-cyf/content/induction/sprints/1/prep/index.md
@@ -0,0 +1,422 @@
++++
+title = 'prep'
+description = 'You can use these notes and activities to prepare for the first in-person session of the software development course'
+layout = 'prep'
+emoji= 'π§πΏβ'
+menu_level = ['sprint']
+weight = 1
+backlog= 'Module-Induction'
+backlog_filter= 'Induction'
+[objectives]
+1='Define a repository'
+2='Define a commit'
+3='Explain why we use Git'
+4='Explain why we use Github'
+5='Given a remote or local repository, identify the number of commits'
+6='Given a remote or local repository, identify the author, time and message of a given commit'
+7='Given a remote or local repository, identify the files and folders from any commit in a version timeline'
+8='Describe the purpose of version control'
+9='Explain the difference between Git and Github'
+10='Get a local copy of a repository on your local machine'
+11='Create a fork of a repository'
+12='Create a local branch'
+13='Explain the difference between a fork and a clone'
++++
+
+## Learning objectives
+
+## π CYF blog
+
+Imagine that two people are writing a blog.
+Ahmed and Naima are writing a blog together about their struggles learning coding.
+
+The published blog is live here π [CYF educational blog](https://git-demo-week1.netlify.app/)
+
+{{}}
+Explore the [CYF educational blog](https://git-demo-week1.netlify.app/). Click on the link on the site and check to see if it is working.
+{{ }}
+
+## π§° Development process
+
+Ahmed and Naima are using the following **development process** for writing their blog:
+
+> - writing the blog in a single file on a **single** computer
+> - saving multiple versions of the file on the same computer
+> - taking turns to use the computer during the day
+
+At the moment, the computer has a folder with the blog that looks like this:
+
+![different-blog-versions](different-blog-versions.png)
+
+{{}}
+
+Describe some of the challenges that Ahmed and Naima face when trying to write a blog together in this way.
+
+Create or join a thread 𧡠on Slack to share your answers. Did your cohort colleagues think of similar things?
+
+{{ }}
+
+## β Version control software
+
+> To improve their way of working, Ahmed and Naima realise they need the following:
+>
+> - a way to both know what the most recent version is
+> - a way to know what the old versions were, and in what order (i.e. how they got to the current version, and what content they may have deleted that they may want to get back)
+
+To manage the different versions of the blog project, they decide to use **Git**.
+
+{{}}
+
+Git is **version control software** that allows developers to create and manage different versions of a project.
+
+{{ }}
+
+In Git, we create different versions of a project over time by creating **commits**.
+
+A **commit** is a snapshot of our project at a particular point in time. You can also think of a **commit** as a particular version of a project.
+
+**Commits** store the following information:
+
+- what changed in this commit
+
+- who created the change
+
+- what time the change happen
+
+- what the previous commit was
+
+A typical timeline of commits might look like this:
+
+![commit-history](commit-history-relative-dates.png)
+
+{{}}
+Commits also have a **hash** associated with them. A **hash** is a long string of characters used to identify a particular commit.
+
+A typical hash will look like this: `fec6909d6de23c75e77960986a9b6a7aee7feec7` but you will often see them abbreviated to the first 7 characters like this: `fec6909`
+
+{{ }}
+
+## ποΈ π Sharing history
+
+Earlier on, Ahmed and Naima realised they also need the following:
+
+> a way to share the history of the project between different users and different computers
+
+To share a project and its history, we can use an online platform called **GitHub**
+
+**GitHub** is a platform where teams can store projects along with a history of their different versions.
+
+By storing projects on GitHub, multiple users can gain access to the history of a project.
+
+{{}}
+On GitHub we call our project and its history a **repository**.
+{{ }}
+
+{{}}
+
+### Explore π
+
+In this exercise, you'll need to explore a **GitHub repository.**
+
+You'll need to look around and figure out where to find different files and find out information about them.
+
+**β οΈ You won't be expected to know what the files do at this stage.**
+
+Go to the following link: https://github.com/CodeYourFuture/education-blog
+
+It will take you to a GitHub repository called **education-blog**.
+
+Answer the following questions using the page linked to above:
+
+a) View the **README.md** file. What do the instructions tell you?
+b) How many files are there inside the `blogs` folder?
+c) How many lines are there in the **package.json** file?
+d) Find the file with the blog content you can see on the live site here [blog 1](https://git-demo-week1.netlify.app/blogs/1)
+
+You'll learn more about these type of files throughout the course.
+
+{{ }}
+
+> We can use the Github interface to explore the different **commits** (versions) of a project too.
+
+{{}}
+
+### Explore π
+
+Go to the following link: https://github.com/CodeYourFuture/education-blog/commits/main
+
+Try answering the following questions:
+
+Go to the commit that says "add test p element to index page"
+
+#### Questions
+
+- How many files were changed in this commit?
+- Who created the change?
+- What time did the change take place?
+
+{{ }}
+
+{{}}
+
+### Explore π
+
+Go to the following link: https://github.com/CodeYourFuture/education-blog/commits/main
+
+#### Questions:
+
+Go to the commit that says "remove \ and # from start of paragraph"
+
+#### Questions:
+
+- How many files were changed in this commit?
+- What change was made in this commit?
+
+{{ }}
+
+## π Check out a commit
+
+Recall that a commit is a snapshot of our project at some point in time.
+
+Therefore, we should be able to check out a previous version of our project and look at the files and folders there.
+We can use the Github interface to check out the files and folders at a previous commit.
+
+{{}}
+
+Go back to this page https://github.com/CodeYourFuture/education-blog/commits/main
+
+Locate the the commit with hash `4e78b32` and then look for the icon that that says "Browse the repository at this point in the history".
+Explore the code at this point in the history. What differences do you notice?
+
+Do the same but for the commit `cd981a0`.
+
+{{ }}
+
+## π Previous versions
+
+We can view the different commits of a project on Github.
+
+This means we can see what the website looked like before, in previous versions.
+
+{{}}
+
+Here are some different versions of the same CYF educational backlog.
+
+[Deployed version A educational blog](https://64b6f9a2b9c00a00082bbeeb--git-demo-week1.netlify.app/)
+
+
+
+[Deployed version B educational blog](https://64b6fd80d14d510008aab4aa--git-demo-week1.netlify.app/)
+
+
+
+[Deployed version C educational blog](https://64b971b0adae9e00089d7531--git-demo-week1.netlify.app/)
+
+
+
+#### Questions:
+
+a) What is the difference between Version A and Version B on the index page (the page you first land on after clicking on the link)
+b) What is the difference between Version C and the main version of the site.
+c) Which commit from the [**education-blog**](https://github.com/CodeYourFuture/education-blog/commits/main) repo correspond to Version C? Remember to check the git history.
+d) Which commit from the [**education-blog**](https://github.com/CodeYourFuture/education-blog/commits/mainLive) repo correspond to Version A?
+
+{{ }}
+
+## π΄ Forking a repository
+
+Often we want to take an existing project and start working on it independently: in other words, we start making our own versions of the project separate from the original project.
+
+We may have a repo with the following url:
+![lesson1-github-url-anatomy](lesson1-github-url-anatomy.png)
+
+We might want to start creating our version of this project in isolation from the original project.
+
+So we can create a **fork**.
+
+{{}}
+A **fork** is a copy of a repository that exists on Github
+
+{{ }}
+
+When we create a fork on Github, the new forked repository gets a new url:
+![lesson1-forked-url-anatomy](lesson1-forked-url-anatomy.png)
+
+{{}}
+
+### π΄ Forking a repo
+
+Visit the following https://github.com/CodeYourFuture/education-blog.
+
+Firstly locate the **Fork** button on this page.
+
+Click on the Fork button to create a new fork of the repository and set yourself as the owner of the fork.
+
+π How can you check you successfully forked the original repository?
+
+Hint: Check the URL of your forked repository
+
+{{ }}
+
+## π» Working locally
+
+We can also use Git on our local machine to perform similar tasks as we do on GitHub. So we need to address the following question:
+
+{{}}
+
+How can we get a copy of an existing GitHub repository on our local machine?
+
+{{ }}
+
+In other words, we need to get a local copy of the repository which is on GitHub.
+
+{{}}
+
+We call a local copy of a GitHub repository a **clone**.
+
+The process of copying a remote repository on to a local machine is known as **cloning**.
+
+A repository on GitHub is said to be **remote**.
+
+A repository on our own computer is said to be **local**.
+
+{{ }}
+
+{{}}
+
+###
+
+> π― Goal: Clone a remote repository to your local machine
+
+You'll need to clone **your fork** of the education blog repo.
+
+Follow through the steps in this video π https://www.youtube.com/watch?v=ILJ4dfOL7zs (Remember to use the url for your fork of the education-blog repo when you are cloning)
+
+{{ }}
+
+## πΒ Viewing the files
+
+Once you've got a local copy of a codebase on your local machine you can start to view the files and folders in that codebase. You can use a code editor like VSCode.
+
+VSCode is an application that enables developers to view and edit files on their local machine.
+
+{{}}
+
+### Explore VSCode
+
+Figure out how to open the cloned repository on your local machine in VSCode.
+
+Explore the repository in VSCode and use the code editor to look at the various files and folders.
+
+Try opening the Integrated Terminal in your VSCode window
+
+{{ }}
+
+Here is a diagram representing how the repositories interact after forking and cloning:
+
+![fork-and-clone-diagram](fork-and-clone-diagram.png)
+
+## π³ Branching
+
+We can check the commits on the remote repository as before:
+
+![commit-history](commit-history.png)
+
+On the left page of the page, we see additional information:
+
+![main-branch-highlighted](main-branch-highlighted.png)
+
+> So what is **`main`**?
+
+`main` is a **branch**.
+
+Commits form a sequence that look like this:
+
+```mermaid
+gitGraph
+ commit
+ commit
+ commit
+```
+
+A branch represents a particular history of development in a project - the different versions there have been.
+
+{{}}
+
+A **branch** is a sequence of commits in a project.
+
+{{ }}
+
+There can be different branches with different names, which may have different versions.
+
+For example, if we were testing out some different visual styles, maybe we would have one branch with some extra changes which make the website more blue, and a different branch with some extra changes which make the website more purple. These branches may share some commits in history, but have some extra different commits separately.
+
+```mermaid
+gitGraph
+ commit
+ commit
+ branch "try-purple"
+ commit
+ commit
+ checkout main
+ branch "try-blue"
+ commit
+```
+
+The **`main`** branch is often treated as a special branch - it's where we put commits which people working on the project have agreed on. Other branches (e.g. the experimental purple branch) may have extra changes, and if people working on the project agree the changes are good, we'll add those changes to the main branch.
+
+When we're working on something new, we haven't agreed with other people that our new thing is good yet, so we often don't add our changes to the main branch straight away. Instead we make our own branch to experiment on.
+
+We can start to create independent branches like this:
+
+```mermaid
+gitGraph
+ commit
+ commit
+ branch "week-1-coursework"
+ commit
+ commit
+ commit
+```
+
+In the diagram above, we can continue to commit on the "week-1-coursework" branch without altering the history of the `main` branch.
+
+{{}}
+
+### Creating a local branch
+
+1. Open the `education-blog` repository in VSCode.
+
+2. [Open the terminal](https://code.visualstudio.com/docs/terminal/basics) in VSCode
+
+3. Use the command line to check your current working directory and list the contents of the current directory. Double check you're in the right place.
+
+4. Using this clip, create a new branch called `update-blog-1` in your local repository π https://youtube.com/clip/UgkxvXsnm_98Rx0NUZq25apQWA6POccRoQzw
+
+π How can you check that you've successfully created a branch?
+
+{{ }}
+
+### π Wrapping up
+
+{{}}
+
+π Double check the learning objectives from this section. Make a note of those objectives that you're still struggling with.
+
+Now you'll need to **create a commit**.
+
+You can use this video π https://www.youtube.com/watch?v=B8RSMBSzFuA to figure out how to create a commit.
+
+We'll cover this topic in class on Saturday too.
+
+1. Try opening your clone of education-blog in VSCode
+2. Try fixing a typo in the `README.md` file
+3. Try using the video to create a commit of your work.
+
+{{ }}
diff --git a/org-cyf/content/induction/sprints/1/prep/lesson1-forked-url-anatomy.png b/org-cyf/content/induction/sprints/1/prep/lesson1-forked-url-anatomy.png
new file mode 100644
index 000000000..e11e08555
Binary files /dev/null and b/org-cyf/content/induction/sprints/1/prep/lesson1-forked-url-anatomy.png differ
diff --git a/org-cyf/content/induction/sprints/1/prep/lesson1-four-repo-diagram.png b/org-cyf/content/induction/sprints/1/prep/lesson1-four-repo-diagram.png
new file mode 100644
index 000000000..db783f01c
Binary files /dev/null and b/org-cyf/content/induction/sprints/1/prep/lesson1-four-repo-diagram.png differ
diff --git a/org-cyf/content/induction/sprints/1/prep/lesson1-github-url-anatomy.png b/org-cyf/content/induction/sprints/1/prep/lesson1-github-url-anatomy.png
new file mode 100644
index 000000000..1f9cf51dd
Binary files /dev/null and b/org-cyf/content/induction/sprints/1/prep/lesson1-github-url-anatomy.png differ
diff --git a/org-cyf/content/induction/sprints/1/prep/main-branch-highlighted.png b/org-cyf/content/induction/sprints/1/prep/main-branch-highlighted.png
new file mode 100644
index 000000000..a7ffcd5f5
Binary files /dev/null and b/org-cyf/content/induction/sprints/1/prep/main-branch-highlighted.png differ
diff --git a/content/en/induction/sprints/1/success/index.md b/org-cyf/content/induction/sprints/1/success/index.md
similarity index 90%
rename from content/en/induction/sprints/1/success/index.md
rename to org-cyf/content/induction/sprints/1/success/index.md
index fa033f71d..23052fe24 100644
--- a/content/en/induction/sprints/1/success/index.md
+++ b/org-cyf/content/induction/sprints/1/success/index.md
@@ -2,7 +2,7 @@
title = 'success'
description = 'success description'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 11
backlog= 'Induction'
diff --git a/content/en/induction/success/index.md b/org-cyf/content/induction/success/index.md
similarity index 92%
rename from content/en/induction/success/index.md
rename to org-cyf/content/induction/success/index.md
index 4788094f1..a059c569b 100644
--- a/content/en/induction/success/index.md
+++ b/org-cyf/content/induction/success/index.md
@@ -2,7 +2,7 @@
title = 'success'
description = 'success description'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['module']
weight = 11
backlog= 'Module-Induction'
diff --git a/content/en/js1/_index.md b/org-cyf/content/js1/_index.md
similarity index 100%
rename from content/en/js1/_index.md
rename to org-cyf/content/js1/_index.md
diff --git a/content/en/js1/prep/index.md b/org-cyf/content/js1/prep/index.md
similarity index 79%
rename from content/en/js1/prep/index.md
rename to org-cyf/content/js1/prep/index.md
index 953ab99b6..3a4e41b7e 100644
--- a/content/en/js1/prep/index.md
+++ b/org-cyf/content/js1/prep/index.md
@@ -7,8 +7,8 @@ menu_level = ["module"]
weight = 1
[[blocks]]
name="Install a unix based os"
-src="js1/blocks/check-unix-os"
+src="module/js1/check-unix-os"
[[blocks]]
name="Install Node"
-src="js1/blocks/install-node"
+src="module/js1/install-node"
+++
diff --git a/content/en/js1/sprints/1/_index.md b/org-cyf/content/js1/sprints/1/_index.md
similarity index 100%
rename from content/en/js1/sprints/1/_index.md
rename to org-cyf/content/js1/sprints/1/_index.md
diff --git a/content/en/js1/sprints/1/backlog/index.md b/org-cyf/content/js1/sprints/1/backlog/index.md
similarity index 88%
rename from content/en/js1/sprints/1/backlog/index.md
rename to org-cyf/content/js1/sprints/1/backlog/index.md
index 9d4b7169a..bc10b46d3 100644
--- a/content/en/js1/sprints/1/backlog/index.md
+++ b/org-cyf/content/js1/sprints/1/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-JS1'
diff --git a/content/en/js1/sprints/1/day-plan/index.md b/org-cyf/content/js1/sprints/1/day-plan/index.md
similarity index 96%
rename from content/en/js1/sprints/1/day-plan/index.md
rename to org-cyf/content/js1/sprints/1/day-plan/index.md
index 342449f47..8116e7ca9 100644
--- a/content/en/js1/sprints/1/day-plan/index.md
+++ b/org-cyf/content/js1/sprints/1/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-JS1'
diff --git a/content/en/js1/sprints/1/prep/index.md b/org-cyf/content/js1/sprints/1/prep/index.md
similarity index 75%
rename from content/en/js1/sprints/1/prep/index.md
rename to org-cyf/content/js1/sprints/1/prep/index.md
index 1d6c26f3b..8eb4ce41f 100644
--- a/content/en/js1/sprints/1/prep/index.md
+++ b/org-cyf/content/js1/sprints/1/prep/index.md
@@ -2,41 +2,41 @@
title = 'prep'
description = '**Prerequisites:** a terminal, basic arithmetic.'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-JS1'
backlog_filter= 'Week 1'
[[blocks]]
name="Interface"
-src="js1/blocks/interface"
+src="module/js1/interface"
[[blocks]]
name="Terminal"
-src="js1/blocks/terminal"
+src="module/js1/terminal"
[[blocks]]
name="Data"
-src="js1/blocks/data"
+src="module/js1/data"
[[blocks]]
name="REPL"
-src="js1/blocks/repl"
+src="module/js1/repl"
[[blocks]]
name="Variables"
-src="js1/blocks/variables"
+src="module/js1/variables"
[[blocks]]
name="Declarations and Statements"
-src="js1/blocks/declarations-statements"
+src="module/js1/declarations-statements"
[[blocks]]
name="Functions"
-src="js1/blocks/functions"
+src="module/js1/functions"
[[blocks]]
name="Scripts"
-src="js1/blocks/scripts"
+src="module/js1/scripts"
[[blocks]]
name="Logging"
-src="js1/blocks/logging"
+src="module/js1/logging"
[[blocks]]
name="Errors"
-src="js1/blocks/errors"
+src="module/js1/errors"
[[blocks]]
name= "Critical Thinking"
src= "https://cyf-pd.netlify.app/blocks/prep-critical-thinking/readme/"
diff --git a/content/en/js1/sprints/1/success/index.md b/org-cyf/content/js1/sprints/1/success/index.md
similarity index 93%
rename from content/en/js1/sprints/1/success/index.md
rename to org-cyf/content/js1/sprints/1/success/index.md
index b2eb42f87..b103fb4d5 100644
--- a/content/en/js1/sprints/1/success/index.md
+++ b/org-cyf/content/js1/sprints/1/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-JS1'
diff --git a/content/en/js1/sprints/2/_index.md b/org-cyf/content/js1/sprints/2/_index.md
similarity index 100%
rename from content/en/js1/sprints/2/_index.md
rename to org-cyf/content/js1/sprints/2/_index.md
diff --git a/content/en/js1/sprints/2/backlog/index.md b/org-cyf/content/js1/sprints/2/backlog/index.md
similarity index 88%
rename from content/en/js1/sprints/2/backlog/index.md
rename to org-cyf/content/js1/sprints/2/backlog/index.md
index cf733a152..c2a8a2341 100644
--- a/content/en/js1/sprints/2/backlog/index.md
+++ b/org-cyf/content/js1/sprints/2/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-JS1'
diff --git a/content/en/js1/sprints/2/day-plan/index.md b/org-cyf/content/js1/sprints/2/day-plan/index.md
similarity index 96%
rename from content/en/js1/sprints/2/day-plan/index.md
rename to org-cyf/content/js1/sprints/2/day-plan/index.md
index ceb75f8b9..408ee6c84 100644
--- a/content/en/js1/sprints/2/day-plan/index.md
+++ b/org-cyf/content/js1/sprints/2/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-JS1'
diff --git a/content/en/js1/sprints/2/prep/index.md b/org-cyf/content/js1/sprints/2/prep/index.md
similarity index 65%
rename from content/en/js1/sprints/2/prep/index.md
rename to org-cyf/content/js1/sprints/2/prep/index.md
index bf08bb915..d700406bf 100644
--- a/content/en/js1/sprints/2/prep/index.md
+++ b/org-cyf/content/js1/sprints/2/prep/index.md
@@ -1,32 +1,32 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-JS1'
backlog_filter= 'Week 2'
[[blocks]]
name="Percentages"
-src="js1/blocks/percentages"
+src="module/js1/percentages"
[[blocks]]
name="Defining functions"
-src="js1/blocks/declaring-functions"
+src="module/js1/declaring-functions"
[[blocks]]
name="Playing computer"
-src="js1/blocks/playing-computer"
+src="module/js1/playing-computer"
[[blocks]]
name="Scope"
-src="js1/blocks/scope"
+src="module/js1/scope"
[[blocks]]
name="Return"
-src="js1/blocks/return"
+src="module/js1/return"
[[blocks]]
name="Reuse"
-src="js1/blocks/reuse"
+src="module/js1/reuse"
[[blocks]]
name="Parameters"
-src="js1/blocks/parameters"
+src="module/js1/parameters"
[[blocks]]
name="Roles in Tech"
src="https://cyf-pd.netlify.app/blocks/prep-roles-in-tech/readme/"
diff --git a/content/en/js1/sprints/2/success/index.md b/org-cyf/content/js1/sprints/2/success/index.md
similarity index 90%
rename from content/en/js1/sprints/2/success/index.md
rename to org-cyf/content/js1/sprints/2/success/index.md
index e7523c46a..7269ba7b6 100644
--- a/content/en/js1/sprints/2/success/index.md
+++ b/org-cyf/content/js1/sprints/2/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-JS1'
diff --git a/content/en/js1/sprints/3/_index.md b/org-cyf/content/js1/sprints/3/_index.md
similarity index 100%
rename from content/en/js1/sprints/3/_index.md
rename to org-cyf/content/js1/sprints/3/_index.md
diff --git a/content/en/js1/sprints/3/backlog/index.md b/org-cyf/content/js1/sprints/3/backlog/index.md
similarity index 88%
rename from content/en/js1/sprints/3/backlog/index.md
rename to org-cyf/content/js1/sprints/3/backlog/index.md
index 610bde366..d326e3d42 100644
--- a/content/en/js1/sprints/3/backlog/index.md
+++ b/org-cyf/content/js1/sprints/3/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-JS1'
diff --git a/content/en/js1/sprints/3/day-plan/index.md b/org-cyf/content/js1/sprints/3/day-plan/index.md
similarity index 96%
rename from content/en/js1/sprints/3/day-plan/index.md
rename to org-cyf/content/js1/sprints/3/day-plan/index.md
index 6f807f6fb..bdd7677bb 100644
--- a/content/en/js1/sprints/3/day-plan/index.md
+++ b/org-cyf/content/js1/sprints/3/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-JS1'
diff --git a/content/en/js1/sprints/3/prep/index.md b/org-cyf/content/js1/sprints/3/prep/index.md
similarity index 65%
rename from content/en/js1/sprints/3/prep/index.md
rename to org-cyf/content/js1/sprints/3/prep/index.md
index 2b6ca66f8..eb0a738ec 100644
--- a/content/en/js1/sprints/3/prep/index.md
+++ b/org-cyf/content/js1/sprints/3/prep/index.md
@@ -1,34 +1,34 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-JS1'
backlog_filter= 'Week 3'
[[blocks]]
-src="js1/blocks/clocks"
+src="module/js1/clocks"
name="Clocks"
[[blocks]]
-src="js1/blocks/comparison"
+src="module/js1/comparison"
name="Comparison"
[[blocks]]
-src="js1/blocks/assertions"
+src="module/js1/assertions"
name="Assertions"
[[blocks]]
-src="js1/blocks/strategy"
+src="module/js1/strategy"
name="Strategy"
[[blocks]]
-src="js1/blocks/conditionality"
+src="module/js1/conditionality"
name="Conditionality"
[[blocks]]
-src="js1/blocks/sub-goal"
+src="module/js1/sub-goal"
name="Sub-goal"
[[blocks]]
-src="js1/blocks/strings"
+src="module/js1/strings"
name="Strings"
[[blocks]]
-src="js1/blocks/assembly"
+src="module/js1/assembly"
name="Assembly"
[[blocks]]
name="Growth Mindset Prep"
diff --git a/content/en/js1/sprints/3/success/index.md b/org-cyf/content/js1/sprints/3/success/index.md
similarity index 90%
rename from content/en/js1/sprints/3/success/index.md
rename to org-cyf/content/js1/sprints/3/success/index.md
index 5f4876573..a9cddef01 100644
--- a/content/en/js1/sprints/3/success/index.md
+++ b/org-cyf/content/js1/sprints/3/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-JS1'
diff --git a/content/en/js1/sprints/4/_index.md b/org-cyf/content/js1/sprints/4/_index.md
similarity index 100%
rename from content/en/js1/sprints/4/_index.md
rename to org-cyf/content/js1/sprints/4/_index.md
diff --git a/content/en/js1/sprints/4/backlog/index.md b/org-cyf/content/js1/sprints/4/backlog/index.md
similarity index 88%
rename from content/en/js1/sprints/4/backlog/index.md
rename to org-cyf/content/js1/sprints/4/backlog/index.md
index 689fa441c..06706bc6d 100644
--- a/content/en/js1/sprints/4/backlog/index.md
+++ b/org-cyf/content/js1/sprints/4/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-JS1'
diff --git a/content/en/js1/sprints/4/day-plan/index.md b/org-cyf/content/js1/sprints/4/day-plan/index.md
similarity index 96%
rename from content/en/js1/sprints/4/day-plan/index.md
rename to org-cyf/content/js1/sprints/4/day-plan/index.md
index 128a1a124..7575c7896 100644
--- a/content/en/js1/sprints/4/day-plan/index.md
+++ b/org-cyf/content/js1/sprints/4/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-JS1'
diff --git a/content/en/js1/sprints/4/prep/index.md b/org-cyf/content/js1/sprints/4/prep/index.md
similarity index 58%
rename from content/en/js1/sprints/4/prep/index.md
rename to org-cyf/content/js1/sprints/4/prep/index.md
index 2db20bb20..f623a5bca 100644
--- a/content/en/js1/sprints/4/prep/index.md
+++ b/org-cyf/content/js1/sprints/4/prep/index.md
@@ -1,40 +1,37 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-JS1'
backlog_filter= 'Week 4'
[[blocks]]
-src="js1/blocks/ordinal"
+src="module/js1/ordinal"
name="ordinal"
[[blocks]]
-name="Step-through-prep workshop"
-src="https://www.youtube.com/watch?v=2k_EtdVbb4c"
-[[blocks]]
-src="js1/blocks/framework"
+src="module/js1/framework"
name="framework"
[[blocks]]
-src="js1/blocks/setup"
+src="module/js1/setup"
name="setup"
[[blocks]]
-src="js1/blocks/packages"
+src="module/js1/packages"
name="packages"
[[blocks]]
-src="js1/blocks/installing"
+src="module/js1/installing"
name="installing"
[[blocks]]
-src="js1/blocks/api"
+src="module/js1/api"
name="api"
[[blocks]]
-src="js1/blocks/cases"
+src="module/js1/cases"
name="cases"
[[blocks]]
-src="js1/blocks/feedback"
+src="module/js1/feedback"
name="feedback"
[[blocks]]
-src="js1/blocks/generalise"
+src="module/js1/generalise"
name="generalise"
[[blocks]]
name= "Asking good questions"
diff --git a/content/en/js1/sprints/4/success/index.md b/org-cyf/content/js1/sprints/4/success/index.md
similarity index 90%
rename from content/en/js1/sprints/4/success/index.md
rename to org-cyf/content/js1/sprints/4/success/index.md
index 56e8bf024..c30df2638 100644
--- a/content/en/js1/sprints/4/success/index.md
+++ b/org-cyf/content/js1/sprints/4/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-JS1'
diff --git a/content/en/js1/success/index.md b/org-cyf/content/js1/success/index.md
similarity index 98%
rename from content/en/js1/success/index.md
rename to org-cyf/content/js1/success/index.md
index 7c71b8127..67068aee5 100644
--- a/content/en/js1/success/index.md
+++ b/org-cyf/content/js1/success/index.md
@@ -2,7 +2,7 @@
title = 'success'
description = 'How do we know if we have completed this module?'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['module']
weight = 11
backlog= 'Module-JS1'
diff --git a/content/en/js2/_index.md b/org-cyf/content/js2/_index.md
similarity index 100%
rename from content/en/js2/_index.md
rename to org-cyf/content/js2/_index.md
diff --git a/content/en/js2/prep/index.md b/org-cyf/content/js2/prep/index.md
similarity index 86%
rename from content/en/js2/prep/index.md
rename to org-cyf/content/js2/prep/index.md
index 71702b788..d8f997219 100644
--- a/content/en/js2/prep/index.md
+++ b/org-cyf/content/js2/prep/index.md
@@ -2,7 +2,7 @@
title = 'prep'
description = 'prep description'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['module']
weight = 1
backlog= 'Module-JS2'
diff --git a/content/en/js2/product/_index.md b/org-cyf/content/js2/product/_index.md
similarity index 100%
rename from content/en/js2/product/_index.md
rename to org-cyf/content/js2/product/_index.md
diff --git a/content/en/js2/product/build/index.md b/org-cyf/content/js2/product/build/index.md
similarity index 100%
rename from content/en/js2/product/build/index.md
rename to org-cyf/content/js2/product/build/index.md
diff --git a/content/en/js2/product/plan/index.md b/org-cyf/content/js2/product/plan/index.md
similarity index 100%
rename from content/en/js2/product/plan/index.md
rename to org-cyf/content/js2/product/plan/index.md
diff --git a/content/en/js2/product/ship/index.md b/org-cyf/content/js2/product/ship/index.md
similarity index 100%
rename from content/en/js2/product/ship/index.md
rename to org-cyf/content/js2/product/ship/index.md
diff --git a/content/en/js2/product/test/index.md b/org-cyf/content/js2/product/test/index.md
similarity index 100%
rename from content/en/js2/product/test/index.md
rename to org-cyf/content/js2/product/test/index.md
diff --git a/content/en/js2/sprints/1/_index.md b/org-cyf/content/js2/sprints/1/_index.md
similarity index 100%
rename from content/en/js2/sprints/1/_index.md
rename to org-cyf/content/js2/sprints/1/_index.md
diff --git a/content/en/js2/sprints/1/backlog/index.md b/org-cyf/content/js2/sprints/1/backlog/index.md
similarity index 88%
rename from content/en/js2/sprints/1/backlog/index.md
rename to org-cyf/content/js2/sprints/1/backlog/index.md
index 95e62036f..40401159f 100644
--- a/content/en/js2/sprints/1/backlog/index.md
+++ b/org-cyf/content/js2/sprints/1/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-JS2'
diff --git a/content/en/js2/sprints/1/day-plan/index.md b/org-cyf/content/js2/sprints/1/day-plan/index.md
similarity index 96%
rename from content/en/js2/sprints/1/day-plan/index.md
rename to org-cyf/content/js2/sprints/1/day-plan/index.md
index 379056430..78e4a5495 100644
--- a/content/en/js2/sprints/1/day-plan/index.md
+++ b/org-cyf/content/js2/sprints/1/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-JS2'
diff --git a/content/en/js2/sprints/1/prep/index.md b/org-cyf/content/js2/sprints/1/prep/index.md
similarity index 56%
rename from content/en/js2/sprints/1/prep/index.md
rename to org-cyf/content/js2/sprints/1/prep/index.md
index ecf38ec57..3fd20883f 100644
--- a/content/en/js2/sprints/1/prep/index.md
+++ b/org-cyf/content/js2/sprints/1/prep/index.md
@@ -1,44 +1,41 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-JS2'
backlog_filter= 'Week 1'
[[blocks]]
name="grouping-data"
-src="js2/blocks/grouping-data"
-[[blocks]]
-name="Step-through-prep workshop"
-src="https://www.youtube.com/watch?v=Hds02_3fQ58"
+src="module/js2/grouping-data"
[[blocks]]
name="arrays"
-src="js2/blocks/arrays"
+src="module/js2/arrays"
[[blocks]]
name="mean"
-src="js2/blocks/mean"
+src="module/js2/mean"
[[blocks]]
name="summing"
-src="js2/blocks/summing"
+src="module/js2/summing"
[[blocks]]
name="iteration"
-src="js2/blocks/iteration"
+src="module/js2/iteration"
[[blocks]]
name="median"
-src="js2/blocks/median"
+src="module/js2/median"
[[blocks]]
name="assembly"
-src="js2/blocks/assembly"
+src="module/js2/assembly"
[[blocks]]
name="reference"
-src="js2/blocks/reference"
+src="module/js2/reference"
[[blocks]]
name="mutation"
-src="js2/blocks/mutation"
+src="module/js2/mutation"
[[blocks]]
name="side-effects"
-src="js2/blocks/side-effects"
+src="module/js2/side-effects"
[[blocks]]
name="Failing Fast"
src="https://cyf-pd.netlify.app/blocks/fail-fast-prep/readme/"
diff --git a/content/en/js2/sprints/1/success/index.md b/org-cyf/content/js2/sprints/1/success/index.md
similarity index 90%
rename from content/en/js2/sprints/1/success/index.md
rename to org-cyf/content/js2/sprints/1/success/index.md
index 53c7e1bd2..faecaba35 100644
--- a/content/en/js2/sprints/1/success/index.md
+++ b/org-cyf/content/js2/sprints/1/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-JS2'
diff --git a/content/en/js2/sprints/2/_index.md b/org-cyf/content/js2/sprints/2/_index.md
similarity index 100%
rename from content/en/js2/sprints/2/_index.md
rename to org-cyf/content/js2/sprints/2/_index.md
diff --git a/content/en/js2/sprints/2/backlog/index.md b/org-cyf/content/js2/sprints/2/backlog/index.md
similarity index 88%
rename from content/en/js2/sprints/2/backlog/index.md
rename to org-cyf/content/js2/sprints/2/backlog/index.md
index ca8d27573..472196cce 100644
--- a/content/en/js2/sprints/2/backlog/index.md
+++ b/org-cyf/content/js2/sprints/2/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-JS2'
diff --git a/content/en/js2/sprints/2/day-plan/index.md b/org-cyf/content/js2/sprints/2/day-plan/index.md
similarity index 96%
rename from content/en/js2/sprints/2/day-plan/index.md
rename to org-cyf/content/js2/sprints/2/day-plan/index.md
index b9a18ea86..045a97918 100644
--- a/content/en/js2/sprints/2/day-plan/index.md
+++ b/org-cyf/content/js2/sprints/2/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-JS2'
diff --git a/content/en/js2/sprints/2/prep/index.md b/org-cyf/content/js2/sprints/2/prep/index.md
similarity index 57%
rename from content/en/js2/sprints/2/prep/index.md
rename to org-cyf/content/js2/sprints/2/prep/index.md
index 1fa688995..1671cf9e2 100644
--- a/content/en/js2/sprints/2/prep/index.md
+++ b/org-cyf/content/js2/sprints/2/prep/index.md
@@ -1,34 +1,37 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-JS2'
backlog_filter= 'Week 2'
[[blocks]]
-src="js2/blocks/ordered-data"
+src="module/js2/ordered-data"
name="Ordered data"
[[blocks]]
-src="js2/blocks/key-values"
+src="module/js2/key-values"
name="Key values"
[[blocks]]
-src="js2/blocks/access"
+src="module/js2/access"
name="Access"
[[blocks]]
-src="js2/blocks/query-string"
+src="module/js2/query-string"
name="Query string"
[[blocks]]
-src="js2/blocks/no-params"
+name="Step-through-prep workshop"
+src="https://www.youtube.com/watch?v=GeKL1Mer4x8"
+[[blocks]]
+src="module/js2/no-params"
name="No params"
[[blocks]]
-src="js2/blocks/one-pair"
+src="module/js2/one-pair"
name="One pair"
[[blocks]]
-src="js2/blocks/variable-keys"
+src="module/js2/variable-keys"
name="Variable keys"
[[blocks]]
-src="js2/blocks/multiple-params"
+src="module/js2/multiple-params"
name="Multiple params"
[[blocks]]
src="https://cyf-pd.netlify.app/blocks/prep-conflict-resolution/readme/"
diff --git a/content/en/js2/sprints/2/success/index.md b/org-cyf/content/js2/sprints/2/success/index.md
similarity index 90%
rename from content/en/js2/sprints/2/success/index.md
rename to org-cyf/content/js2/sprints/2/success/index.md
index fe5aae163..1a5b9fcae 100644
--- a/content/en/js2/sprints/2/success/index.md
+++ b/org-cyf/content/js2/sprints/2/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-JS2'
diff --git a/content/en/js2/sprints/3/_index.md b/org-cyf/content/js2/sprints/3/_index.md
similarity index 100%
rename from content/en/js2/sprints/3/_index.md
rename to org-cyf/content/js2/sprints/3/_index.md
diff --git a/content/en/js2/sprints/3/backlog/index.md b/org-cyf/content/js2/sprints/3/backlog/index.md
similarity index 88%
rename from content/en/js2/sprints/3/backlog/index.md
rename to org-cyf/content/js2/sprints/3/backlog/index.md
index 9bb64c530..5fd8c9dde 100644
--- a/content/en/js2/sprints/3/backlog/index.md
+++ b/org-cyf/content/js2/sprints/3/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-JS2'
diff --git a/content/en/js2/sprints/3/day-plan/index.md b/org-cyf/content/js2/sprints/3/day-plan/index.md
similarity index 89%
rename from content/en/js2/sprints/3/day-plan/index.md
rename to org-cyf/content/js2/sprints/3/day-plan/index.md
index 6542bae7e..a1bf51da5 100644
--- a/content/en/js2/sprints/3/day-plan/index.md
+++ b/org-cyf/content/js2/sprints/3/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-JS2'
@@ -16,7 +16,7 @@ name="Morning break"
name="Importance of helping each other"
src="https://cyf-pd.netlify.app/blocks/importance-of-helping-each-other/readme/"
[[blocks]]
-src="js2/blocks/pick-an-app"
+src="module/js2/pick-an-app"
name="Pick an app"
[[blocks]]
name="Lunch"
@@ -34,7 +34,7 @@ name="Afternoon break"
src="blocks/afternoon-break"
[[blocks]]
name="π«±πΏβπ«²πΎ Pair up"
-src="js2/blocks/pair-up"
+src="module/js2/pair-up"
time=50
[[blocks]]
name="Retro"
diff --git a/content/en/js2/sprints/3/prep/index.md b/org-cyf/content/js2/sprints/3/prep/index.md
similarity index 59%
rename from content/en/js2/sprints/3/prep/index.md
rename to org-cyf/content/js2/sprints/3/prep/index.md
index 126e667c4..8eb9f8485 100644
--- a/content/en/js2/sprints/3/prep/index.md
+++ b/org-cyf/content/js2/sprints/3/prep/index.md
@@ -1,37 +1,40 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-JS2'
backlog_filter= 'Week 3'
[[blocks]]
-src="js2/blocks/browser"
+src="module/js2/browser"
name="browser"
[[blocks]]
-src="js2/blocks/character-limit"
+src="module/js2/character-limit"
name="character-limit"
[[blocks]]
-src="js2/blocks/plan"
+name="Step-through-prep workshop"
+src="https://www.youtube.com/watch?v=0tI34jHLpkY"
+[[blocks]]
+src="module/js2/plan"
name="strategy"
[[blocks]]
-src="js2/blocks/dom"
+src="module/js2/dom"
name="dom"
[[blocks]]
-src="js2/blocks/querying"
+src="module/js2/querying"
name="querying"
[[blocks]]
-src="js2/blocks/events"
+src="module/js2/events"
name="events"
[[blocks]]
-src="js2/blocks/response"
+src="module/js2/response"
name="response"
[[blocks]]
-src="js2/blocks/check-progress"
+src="module/js2/check-progress"
name="check progress"
[[blocks]]
-src="js2/blocks/update"
+src="module/js2/update"
name="update element"
[[blocks]]
name="Importance of helping each other"
diff --git a/content/en/js2/sprints/3/success/index.md b/org-cyf/content/js2/sprints/3/success/index.md
similarity index 90%
rename from content/en/js2/sprints/3/success/index.md
rename to org-cyf/content/js2/sprints/3/success/index.md
index 2e1b4c591..7e2b9de13 100644
--- a/content/en/js2/sprints/3/success/index.md
+++ b/org-cyf/content/js2/sprints/3/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-JS2'
diff --git a/content/en/js2/sprints/4/_index.md b/org-cyf/content/js2/sprints/4/_index.md
similarity index 100%
rename from content/en/js2/sprints/4/_index.md
rename to org-cyf/content/js2/sprints/4/_index.md
diff --git a/content/en/js2/sprints/4/backlog/index.md b/org-cyf/content/js2/sprints/4/backlog/index.md
similarity index 88%
rename from content/en/js2/sprints/4/backlog/index.md
rename to org-cyf/content/js2/sprints/4/backlog/index.md
index 82e338736..e25aa9323 100644
--- a/content/en/js2/sprints/4/backlog/index.md
+++ b/org-cyf/content/js2/sprints/4/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-JS2'
diff --git a/content/en/js2/sprints/4/day-plan/index.md b/org-cyf/content/js2/sprints/4/day-plan/index.md
similarity index 91%
rename from content/en/js2/sprints/4/day-plan/index.md
rename to org-cyf/content/js2/sprints/4/day-plan/index.md
index 4363939ec..4f0556f53 100644
--- a/content/en/js2/sprints/4/day-plan/index.md
+++ b/org-cyf/content/js2/sprints/4/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-JS2'
@@ -29,7 +29,7 @@ src="https://cyf-pd.netlify.app/blocks/create-groups-for-js3/readme/"
name="Lunch"
src="blocks/lunch"
[[blocks]]
-src="js2/blocks/check-in"
+src="module/js2/check-in"
name="Check in"
[[blocks]]
src="blocks/study-60"
@@ -39,7 +39,7 @@ time="70"
src="blocks/afternoon-break"
name="Afternoon break"
[[blocks]]
-src="js2/blocks/demo"
+src="module/js2/demo"
name="Demo"
[[blocks]]
src="blocks/retro"
diff --git a/content/en/js2/sprints/4/prep/index.md b/org-cyf/content/js2/sprints/4/prep/index.md
similarity index 92%
rename from content/en/js2/sprints/4/prep/index.md
rename to org-cyf/content/js2/sprints/4/prep/index.md
index c9f4c7dd8..2d313a6f3 100644
--- a/content/en/js2/sprints/4/prep/index.md
+++ b/org-cyf/content/js2/sprints/4/prep/index.md
@@ -1,7 +1,7 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-JS2'
@@ -10,5 +10,3 @@ backlog_filter= 'Week 4'
name="Prep Public Speaking"
src="https://cyf-pd.netlify.app/blocks/prep-public-speaking-circles-of-influence/readme/"
+++
-
-
diff --git a/content/en/js2/sprints/4/success/index.md b/org-cyf/content/js2/sprints/4/success/index.md
similarity index 90%
rename from content/en/js2/sprints/4/success/index.md
rename to org-cyf/content/js2/sprints/4/success/index.md
index f2228c9a2..bb5ddf9cf 100644
--- a/content/en/js2/sprints/4/success/index.md
+++ b/org-cyf/content/js2/sprints/4/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-JS2'
diff --git a/content/en/js2/success/index.md b/org-cyf/content/js2/success/index.md
similarity index 98%
rename from content/en/js2/success/index.md
rename to org-cyf/content/js2/success/index.md
index 54648a4d6..a4c8bcbd9 100644
--- a/content/en/js2/success/index.md
+++ b/org-cyf/content/js2/success/index.md
@@ -2,7 +2,7 @@
title = 'success'
description = 'How do we know if we have completed this module?'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['module']
weight = 11
backlog= 'Module-JS2'
diff --git a/content/en/js3/_index.md b/org-cyf/content/js3/_index.md
similarity index 100%
rename from content/en/js3/_index.md
rename to org-cyf/content/js3/_index.md
diff --git a/content/en/js3/prep/index.md b/org-cyf/content/js3/prep/index.md
similarity index 92%
rename from content/en/js3/prep/index.md
rename to org-cyf/content/js3/prep/index.md
index 753d0b2ae..c86c1d6a9 100644
--- a/content/en/js3/prep/index.md
+++ b/org-cyf/content/js3/prep/index.md
@@ -2,13 +2,13 @@
title = 'prep'
description = 'What to do before the module starts'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['module']
weight = 1
backlog= 'Module-JS3'
[[blocks]]
name="How the internet works"
-src="js3/blocks/internet"
+src="module/js3/internet"
[[blocks]]
name="Technical Writing 101"
src="https://github.com/CodeYourFuture/Module-JS3/issues/243"
diff --git a/content/en/js3/product/_index.md b/org-cyf/content/js3/product/_index.md
similarity index 100%
rename from content/en/js3/product/_index.md
rename to org-cyf/content/js3/product/_index.md
diff --git a/content/en/js3/product/build/index.md b/org-cyf/content/js3/product/build/index.md
similarity index 100%
rename from content/en/js3/product/build/index.md
rename to org-cyf/content/js3/product/build/index.md
diff --git a/content/en/js3/product/plan/index.md b/org-cyf/content/js3/product/plan/index.md
similarity index 100%
rename from content/en/js3/product/plan/index.md
rename to org-cyf/content/js3/product/plan/index.md
diff --git a/content/en/js3/product/ship/index.md b/org-cyf/content/js3/product/ship/index.md
similarity index 100%
rename from content/en/js3/product/ship/index.md
rename to org-cyf/content/js3/product/ship/index.md
diff --git a/content/en/js3/product/test/index.md b/org-cyf/content/js3/product/test/index.md
similarity index 100%
rename from content/en/js3/product/test/index.md
rename to org-cyf/content/js3/product/test/index.md
diff --git a/content/en/js3/sprints/1/_index.md b/org-cyf/content/js3/sprints/1/_index.md
similarity index 100%
rename from content/en/js3/sprints/1/_index.md
rename to org-cyf/content/js3/sprints/1/_index.md
diff --git a/content/en/js3/sprints/1/backlog/index.md b/org-cyf/content/js3/sprints/1/backlog/index.md
similarity index 88%
rename from content/en/js3/sprints/1/backlog/index.md
rename to org-cyf/content/js3/sprints/1/backlog/index.md
index d68794a78..32b543969 100644
--- a/content/en/js3/sprints/1/backlog/index.md
+++ b/org-cyf/content/js3/sprints/1/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-JS3'
diff --git a/content/en/js3/sprints/1/day-plan/index.md b/org-cyf/content/js3/sprints/1/day-plan/index.md
similarity index 96%
rename from content/en/js3/sprints/1/day-plan/index.md
rename to org-cyf/content/js3/sprints/1/day-plan/index.md
index 127b94c3a..84794c7a5 100644
--- a/content/en/js3/sprints/1/day-plan/index.md
+++ b/org-cyf/content/js3/sprints/1/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-JS3'
diff --git a/content/en/js3/sprints/1/prep/index.md b/org-cyf/content/js3/sprints/1/prep/index.md
similarity index 56%
rename from content/en/js3/sprints/1/prep/index.md
rename to org-cyf/content/js3/sprints/1/prep/index.md
index 63dfca265..e5dccccfd 100644
--- a/content/en/js3/sprints/1/prep/index.md
+++ b/org-cyf/content/js3/sprints/1/prep/index.md
@@ -1,38 +1,41 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-JS3'
backlog_filter= 'Week 1'
[[blocks]]
name="data to ui"
-src="js3/blocks/data-ui"
+src="module/js3/data-ui"
[[blocks]]
name="now-showing"
-src="js3/blocks/now-showing"
+src="module/js3/now-showing"
+[[blocks]]
+name="Step-through-prep workshop"
+src="https://www.youtube.com/watch?v=HgbzMhJgdbU"
[[blocks]]
name="single-datum"
-src="js3/blocks/single-datum"
+src="module/js3/single-datum"
[[blocks]]
name="composing elements"
-src="js3/blocks/composing-elements"
+src="module/js3/composing-elements"
[[blocks]]
name="Simplifying element creation"
-src="js3/blocks/simplifying-element-creation"
+src="module/js3/simplifying-element-creation"
[[blocks]]
name=""
-src="js3/blocks/template-html"
+src="module/js3/template-html"
[[blocks]]
name="components"
-src="js3/blocks/components"
+src="module/js3/components"
[[blocks]]
name="one-to-one"
-src="js3/blocks/one-to-one"
+src="module/js3/one-to-one"
[[blocks]]
name="using-map"
-src="js3/blocks/using-map"
+src="module/js3/using-map"
[[blocks]]
name= "Prep Teamwork Project"
src= "https://cyf-pd.netlify.app/blocks/prep-teamwork-project/readme/"
diff --git a/content/en/js3/sprints/1/success/index.md b/org-cyf/content/js3/sprints/1/success/index.md
similarity index 90%
rename from content/en/js3/sprints/1/success/index.md
rename to org-cyf/content/js3/sprints/1/success/index.md
index c0a01e14f..0e3f2cd6b 100644
--- a/content/en/js3/sprints/1/success/index.md
+++ b/org-cyf/content/js3/sprints/1/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-JS3'
diff --git a/content/en/js3/sprints/2/_index.md b/org-cyf/content/js3/sprints/2/_index.md
similarity index 100%
rename from content/en/js3/sprints/2/_index.md
rename to org-cyf/content/js3/sprints/2/_index.md
diff --git a/content/en/js3/sprints/2/backlog/index.md b/org-cyf/content/js3/sprints/2/backlog/index.md
similarity index 88%
rename from content/en/js3/sprints/2/backlog/index.md
rename to org-cyf/content/js3/sprints/2/backlog/index.md
index 9e3c006a3..2e4402641 100644
--- a/content/en/js3/sprints/2/backlog/index.md
+++ b/org-cyf/content/js3/sprints/2/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-JS3'
diff --git a/content/en/js3/sprints/2/day-plan/index.md b/org-cyf/content/js3/sprints/2/day-plan/index.md
similarity index 96%
rename from content/en/js3/sprints/2/day-plan/index.md
rename to org-cyf/content/js3/sprints/2/day-plan/index.md
index 6e1517261..ab6892a1d 100644
--- a/content/en/js3/sprints/2/day-plan/index.md
+++ b/org-cyf/content/js3/sprints/2/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-JS3'
diff --git a/content/en/js3/sprints/2/prep/index.md b/org-cyf/content/js3/sprints/2/prep/index.md
similarity index 64%
rename from content/en/js3/sprints/2/prep/index.md
rename to org-cyf/content/js3/sprints/2/prep/index.md
index 84f13953a..6c7090450 100644
--- a/content/en/js3/sprints/2/prep/index.md
+++ b/org-cyf/content/js3/sprints/2/prep/index.md
@@ -9,25 +9,28 @@ backlog= 'Module-JS3'
backlog_filter= 'Week 2'
[[blocks]]
name="Reacting"
-src="js3/blocks/reacting"
+src="module/js3/reacting"
+[[blocks]]
+name="Step-through-prep workshop"
+src="https://www.youtube.com/watch?v=j2Iz8ZNm3n8"
[[blocks]]
name="Decomposition"
-src="js3/blocks/break-down"
+src="module/js3/break-down"
[[blocks]]
name="Identifying state"
-src="js3/blocks/identifying-state"
+src="module/js3/identifying-state"
[[blocks]]
name="Refactoring to state+render"
-src="js3/blocks/refactoring-to-state-and-render"
+src="module/js3/refactoring-to-state-and-render"
[[blocks]]
name="Introducing new state"
-src="js3/blocks/introducing-new-state"
+src="module/js3/introducing-new-state"
[[blocks]]
name="Rendering based on state"
-src="js3/blocks/rendering-based-on-state"
+src="module/js3/rendering-based-on-state"
[[blocks]]
name="Capturing events"
-src="js3/blocks/capturing-events"
+src="module/js3/capturing-events"
[[blocks]]
name= "Gathering requirements"
src="https://cyf-pd.netlify.app/blocks/gathering-requirements-prep/readme/"
diff --git a/content/en/js3/sprints/2/success/index.md b/org-cyf/content/js3/sprints/2/success/index.md
similarity index 90%
rename from content/en/js3/sprints/2/success/index.md
rename to org-cyf/content/js3/sprints/2/success/index.md
index c1b38e96a..1ca5df442 100644
--- a/content/en/js3/sprints/2/success/index.md
+++ b/org-cyf/content/js3/sprints/2/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-JS3'
diff --git a/content/en/js3/sprints/3/_index.md b/org-cyf/content/js3/sprints/3/_index.md
similarity index 100%
rename from content/en/js3/sprints/3/_index.md
rename to org-cyf/content/js3/sprints/3/_index.md
diff --git a/content/en/js3/sprints/3/backlog/index.md b/org-cyf/content/js3/sprints/3/backlog/index.md
similarity index 88%
rename from content/en/js3/sprints/3/backlog/index.md
rename to org-cyf/content/js3/sprints/3/backlog/index.md
index 3c41af3a1..8450ab893 100644
--- a/content/en/js3/sprints/3/backlog/index.md
+++ b/org-cyf/content/js3/sprints/3/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-JS3'
diff --git a/content/en/js3/sprints/3/day-plan/index.md b/org-cyf/content/js3/sprints/3/day-plan/index.md
similarity index 96%
rename from content/en/js3/sprints/3/day-plan/index.md
rename to org-cyf/content/js3/sprints/3/day-plan/index.md
index f7c54e0c1..46aded1b4 100644
--- a/content/en/js3/sprints/3/day-plan/index.md
+++ b/org-cyf/content/js3/sprints/3/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-JS3'
diff --git a/content/en/js3/sprints/3/prep/index.md b/org-cyf/content/js3/sprints/3/prep/index.md
similarity index 59%
rename from content/en/js3/sprints/3/prep/index.md
rename to org-cyf/content/js3/sprints/3/prep/index.md
index 9b95ddaf3..86d6e862e 100644
--- a/content/en/js3/sprints/3/prep/index.md
+++ b/org-cyf/content/js3/sprints/3/prep/index.md
@@ -1,26 +1,29 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβπ»'
menu_level = ['sprint']
weight = 1
backlog= 'Module-JS3'
backlog_filter= 'Week 3'
[[blocks]]
name="Fetching data"
-src="js3/blocks/fetching-data"
+src="module/js3/fetching-data"
+[[blocks]]
+name="Step-through-prep workshop"
+src="https://www.youtube.com/watch?v=J-0XkB54yp8"
[[blocks]]
name="Latency"
-src="js3/blocks/latency"
+src="module/js3/latency"
[[blocks]]
name="Asynchrony"
-src="js3/blocks/asynchrony"
+src="module/js3/asynchrony"
[[blocks]]
name="Callbacks"
-src="js3/blocks/callbacks"
+src="module/js3/callbacks"
[[blocks]]
name="Using .fetch()"
-src="js3/blocks/using-fetch"
+src="module/js3/using-fetch"
[[blocks]]
name="Product MVP and features"
src="https://cyf-pd.netlify.app/blocks/define-your-products-mvp/readme/"
diff --git a/content/en/js3/sprints/3/success/index.md b/org-cyf/content/js3/sprints/3/success/index.md
similarity index 90%
rename from content/en/js3/sprints/3/success/index.md
rename to org-cyf/content/js3/sprints/3/success/index.md
index b1e344d8f..456d8c106 100644
--- a/content/en/js3/sprints/3/success/index.md
+++ b/org-cyf/content/js3/sprints/3/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-JS3'
diff --git a/content/en/js3/sprints/4/_index.md b/org-cyf/content/js3/sprints/4/_index.md
similarity index 100%
rename from content/en/js3/sprints/4/_index.md
rename to org-cyf/content/js3/sprints/4/_index.md
diff --git a/content/en/js3/sprints/4/backlog/index.md b/org-cyf/content/js3/sprints/4/backlog/index.md
similarity index 88%
rename from content/en/js3/sprints/4/backlog/index.md
rename to org-cyf/content/js3/sprints/4/backlog/index.md
index 6126c9a6d..108e8a9f3 100644
--- a/content/en/js3/sprints/4/backlog/index.md
+++ b/org-cyf/content/js3/sprints/4/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-JS3'
diff --git a/content/en/js3/sprints/4/day-plan/index.md b/org-cyf/content/js3/sprints/4/day-plan/index.md
similarity index 96%
rename from content/en/js3/sprints/4/day-plan/index.md
rename to org-cyf/content/js3/sprints/4/day-plan/index.md
index f661ec454..67a786bb4 100644
--- a/content/en/js3/sprints/4/day-plan/index.md
+++ b/org-cyf/content/js3/sprints/4/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-JS3'
diff --git a/content/en/js3/sprints/4/prep/index.md b/org-cyf/content/js3/sprints/4/prep/index.md
similarity index 71%
rename from content/en/js3/sprints/4/prep/index.md
rename to org-cyf/content/js3/sprints/4/prep/index.md
index 222cb34d1..44033fc4d 100644
--- a/content/en/js3/sprints/4/prep/index.md
+++ b/org-cyf/content/js3/sprints/4/prep/index.md
@@ -1,26 +1,26 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-JS3'
backlog_filter= 'Week 4'
[[blocks]]
name="Promises"
-src="js3/blocks/promises"
+src="module/js3/promises"
[[blocks]]
name="Then"
-src="js3/blocks/then"
+src="module/js3/then"
[[blocks]]
name="Async/Await"
-src="js3/blocks/async-await"
+src="module/js3/async-await"
[[blocks]]
name="Catch"
-src="js3/blocks/catch"
+src="module/js3/catch"
[[blocks]]
name="Fetch Films"
-src="js3/blocks/fetch-films"
+src="module/js3/fetch-films"
[[blocks]]
name="Prep Presentation"
src="https://cyf-pd.netlify.app/blocks/teamwork-project-presentation/readme/"
diff --git a/content/en/js3/sprints/4/success/index.md b/org-cyf/content/js3/sprints/4/success/index.md
similarity index 90%
rename from content/en/js3/sprints/4/success/index.md
rename to org-cyf/content/js3/sprints/4/success/index.md
index d0320d9dc..094c19ebd 100644
--- a/content/en/js3/sprints/4/success/index.md
+++ b/org-cyf/content/js3/sprints/4/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-JS3'
diff --git a/content/en/js3/success/index.md b/org-cyf/content/js3/success/index.md
similarity index 58%
rename from content/en/js3/success/index.md
rename to org-cyf/content/js3/success/index.md
index c41192cda..aa62c92a8 100644
--- a/content/en/js3/success/index.md
+++ b/org-cyf/content/js3/success/index.md
@@ -7,11 +7,13 @@ menu_level = [ "module" ]
weight = 11
backlog= "Module-JS3"
[[objectives]]
-1= "Every trainee has received and responded to at least one code review"
-2= "Every trainee has opened at least 3 PRs to the module repo"
-3= "70% of cohort is at or beyond milestones"
+1="Every trainee has received and responded to at least one code review"
+2="Every trainee has deployed their pair-coded JS3 Module Project, having completed levels 100 to 500"
+3="70% of cohort is at or beyond milestones"
+++
Every module, you must review your progress to understand if your cohort can progress to the next stage. The conditions for success are listed below. If your cohort has met all of these conditions, you can progress to the next module. If you have not met them yet, what actions will you take to meet them?
+You can find the requirements for each level of the Module JS3 project at the following link π https://github.com/CodeYourFuture/JS3-Module-Project/tree/main/levels
+
Discuss your plan in your class channel.
diff --git a/content/en/portfolio/_index.md b/org-cyf/content/portfolio/_index.md
similarity index 100%
rename from content/en/portfolio/_index.md
rename to org-cyf/content/portfolio/_index.md
diff --git a/content/en/portfolio/prep/index.md b/org-cyf/content/portfolio/prep/index.md
similarity index 97%
rename from content/en/portfolio/prep/index.md
rename to org-cyf/content/portfolio/prep/index.md
index 24ea065a9..0a69a100f 100644
--- a/content/en/portfolio/prep/index.md
+++ b/org-cyf/content/portfolio/prep/index.md
@@ -2,7 +2,7 @@
title = 'prep'
description = 'What do we need to start a Portfolio module?'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['module']
weight = 1
backlog= 'Portfolio'
diff --git a/content/en/portfolio/sprints/1/_index.md b/org-cyf/content/portfolio/sprints/1/_index.md
similarity index 100%
rename from content/en/portfolio/sprints/1/_index.md
rename to org-cyf/content/portfolio/sprints/1/_index.md
diff --git a/content/en/portfolio/sprints/1/backlog/index.md b/org-cyf/content/portfolio/sprints/1/backlog/index.md
similarity index 88%
rename from content/en/portfolio/sprints/1/backlog/index.md
rename to org-cyf/content/portfolio/sprints/1/backlog/index.md
index c18e25332..173db390a 100644
--- a/content/en/portfolio/sprints/1/backlog/index.md
+++ b/org-cyf/content/portfolio/sprints/1/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Portfolio'
diff --git a/content/en/portfolio/sprints/1/day-plan/index.md b/org-cyf/content/portfolio/sprints/1/day-plan/index.md
similarity index 73%
rename from content/en/portfolio/sprints/1/day-plan/index.md
rename to org-cyf/content/portfolio/sprints/1/day-plan/index.md
index acc755e09..2dc2f01fb 100644
--- a/content/en/portfolio/sprints/1/day-plan/index.md
+++ b/org-cyf/content/portfolio/sprints/1/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-Portfolio'
@@ -14,7 +14,7 @@ name="Goal of this module"
src="https://cyf-pd.netlify.app/blocks/goal-of-the-portfolio-module/readme/"
[[blocks]]
name="Ground rules"
-src="portfolio/blocks/ground-rules"
+src="module/portfolio/ground-rules"
[[blocks]]
name="Reviewing and improving your goals"
src="https://cyf-pd.netlify.app/blocks/reviewing-and-improving-goals/readme/"
@@ -23,22 +23,28 @@ name="Morning Break"
src="blocks/morning-break"
[[blocks]]
name="Gathering requirements"
-src="portfolio/blocks/requirements"
+src="blocks/requirements"
+[[blocks]]
+name="User stories"
+src="blocks/user-stories"
+[[blocks]]
+name="Choosing a project"
+src="module/portfolio/requirements"
[[blocks]]
name="Lunch"
src="blocks/lunch"
[[blocks]]
name="User Interface"
-src="portfolio/blocks/interfaces"
+src="module/portfolio/interfaces"
[[blocks]]
name="Data"
-src="portfolio/blocks/data"
+src="module/portfolio/data"
[[blocks]]
name="Afternoon Break"
src="blocks/afternoon-break"
[[blocks]]
name="Project Work"
-src="portfolio/blocks/break-it-down"
+src="module/portfolio/break-it-down"
[[blocks]]
name="Prep for the week"
src="https://cyf-pd.netlify.app/blocks/prep-the-work-for-the-week/readme/"
diff --git a/content/en/portfolio/sprints/1/prep/index.md b/org-cyf/content/portfolio/sprints/1/prep/index.md
similarity index 82%
rename from content/en/portfolio/sprints/1/prep/index.md
rename to org-cyf/content/portfolio/sprints/1/prep/index.md
index d96cc13e0..ed2991917 100644
--- a/content/en/portfolio/sprints/1/prep/index.md
+++ b/org-cyf/content/portfolio/sprints/1/prep/index.md
@@ -1,7 +1,7 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-portfolio'
@@ -11,5 +11,5 @@ name="Goal setting and planning"
src="https://cyf-pd.netlify.app/blocks/goal-setting-and-planning/readme/"
[[blocks]]
name="Ground rules"
-src="portfolio/blocks/ground-rules"
+src="module/portfolio/ground-rules"
+++
diff --git a/content/en/portfolio/sprints/1/success/index.md b/org-cyf/content/portfolio/sprints/1/success/index.md
similarity index 90%
rename from content/en/portfolio/sprints/1/success/index.md
rename to org-cyf/content/portfolio/sprints/1/success/index.md
index e4e9d5fc9..aaebb7f0d 100644
--- a/content/en/portfolio/sprints/1/success/index.md
+++ b/org-cyf/content/portfolio/sprints/1/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-portfolio'
diff --git a/content/en/portfolio/sprints/2/_index.md b/org-cyf/content/portfolio/sprints/2/_index.md
similarity index 100%
rename from content/en/portfolio/sprints/2/_index.md
rename to org-cyf/content/portfolio/sprints/2/_index.md
diff --git a/content/en/portfolio/sprints/2/backlog/index.md b/org-cyf/content/portfolio/sprints/2/backlog/index.md
similarity index 88%
rename from content/en/portfolio/sprints/2/backlog/index.md
rename to org-cyf/content/portfolio/sprints/2/backlog/index.md
index 5398facf2..e32700c1f 100644
--- a/content/en/portfolio/sprints/2/backlog/index.md
+++ b/org-cyf/content/portfolio/sprints/2/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Portfolio'
diff --git a/content/en/portfolio/sprints/2/day-plan/index.md b/org-cyf/content/portfolio/sprints/2/day-plan/index.md
similarity index 84%
rename from content/en/portfolio/sprints/2/day-plan/index.md
rename to org-cyf/content/portfolio/sprints/2/day-plan/index.md
index 87a90aa94..04ca455a4 100644
--- a/content/en/portfolio/sprints/2/day-plan/index.md
+++ b/org-cyf/content/portfolio/sprints/2/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-Portfolio'
@@ -17,7 +17,7 @@ name="Morning Break"
src="blocks/morning-break"
[[blocks]]
name="Stand up"
-src="portfolio/blocks/stand-up"
+src="module/portfolio/stand-up"
[[blocks]]
name="Backlog Refinement and Planning"
src="https://cyf-pd.netlify.app/blocks/backlog-refinement-and-planning/readme/"
@@ -26,11 +26,11 @@ name="Lunch"
src="blocks/lunch"
[[blocks]]
name="Project Work"
-src="portfolio/blocks/project"
+src="module/portfolio/project"
[[blocks]]
name="Afternoon Break"
src="blocks/afternoon-break"
[[blocks]]
name="Project Work"
-src="portfolio/blocks/project"
+src="module/portfolio/project"
+++
diff --git a/content/en/portfolio/sprints/2/prep/index.md b/org-cyf/content/portfolio/sprints/2/prep/index.md
similarity index 91%
rename from content/en/portfolio/sprints/2/prep/index.md
rename to org-cyf/content/portfolio/sprints/2/prep/index.md
index d19b3e470..aaa983c2c 100644
--- a/content/en/portfolio/sprints/2/prep/index.md
+++ b/org-cyf/content/portfolio/sprints/2/prep/index.md
@@ -1,7 +1,7 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-portfolio'
@@ -10,5 +10,3 @@ backlog_filter= 'Week 2'
name="Prep for the session"
src="https://cyf-pd.netlify.app/blocks/prep-the-work-for-the-week/readme/"
+++
-
-
diff --git a/content/en/portfolio/sprints/2/success/index.md b/org-cyf/content/portfolio/sprints/2/success/index.md
similarity index 90%
rename from content/en/portfolio/sprints/2/success/index.md
rename to org-cyf/content/portfolio/sprints/2/success/index.md
index aa77be3f3..fa7125556 100644
--- a/content/en/portfolio/sprints/2/success/index.md
+++ b/org-cyf/content/portfolio/sprints/2/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-portfolio'
diff --git a/content/en/portfolio/sprints/3/_index.md b/org-cyf/content/portfolio/sprints/3/_index.md
similarity index 100%
rename from content/en/portfolio/sprints/3/_index.md
rename to org-cyf/content/portfolio/sprints/3/_index.md
diff --git a/content/en/portfolio/sprints/3/backlog/index.md b/org-cyf/content/portfolio/sprints/3/backlog/index.md
similarity index 88%
rename from content/en/portfolio/sprints/3/backlog/index.md
rename to org-cyf/content/portfolio/sprints/3/backlog/index.md
index a061034ff..643646c99 100644
--- a/content/en/portfolio/sprints/3/backlog/index.md
+++ b/org-cyf/content/portfolio/sprints/3/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Portfolio'
diff --git a/content/en/portfolio/sprints/3/day-plan/index.md b/org-cyf/content/portfolio/sprints/3/day-plan/index.md
similarity index 85%
rename from content/en/portfolio/sprints/3/day-plan/index.md
rename to org-cyf/content/portfolio/sprints/3/day-plan/index.md
index cb6f5008b..f96bf8027 100644
--- a/content/en/portfolio/sprints/3/day-plan/index.md
+++ b/org-cyf/content/portfolio/sprints/3/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Portfolio'
@@ -20,7 +20,7 @@ name="Demo"
src="https://cyf-pd.netlify.app/blocks/demo-your-product/readme/"
[[blocks]]
name="Guest Speaker"
-src="portfolio/blocks/guest"
+src="module/portfolio/guest"
[[blocks]]
name="Lunch"
src="blocks/lunch"
@@ -29,11 +29,11 @@ name="Retrospective"
src="blocks/retro"
[[blocks]]
name="Project Work"
-src="portfolio/blocks/project"
+src="module/portfolio/project"
[[blocks]]
name="Afternoon Break"
src="blocks/afternoon-break"
[[blocks]]
name="Project Work"
-src="portfolio/blocks/project"
+src="module/portfolio/project"
+++
diff --git a/content/en/portfolio/sprints/3/prep/index.md b/org-cyf/content/portfolio/sprints/3/prep/index.md
similarity index 85%
rename from content/en/portfolio/sprints/3/prep/index.md
rename to org-cyf/content/portfolio/sprints/3/prep/index.md
index 711c1804a..e063b6356 100644
--- a/content/en/portfolio/sprints/3/prep/index.md
+++ b/org-cyf/content/portfolio/sprints/3/prep/index.md
@@ -1,7 +1,7 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-Template'
diff --git a/content/en/portfolio/sprints/3/success/index.md b/org-cyf/content/portfolio/sprints/3/success/index.md
similarity index 90%
rename from content/en/portfolio/sprints/3/success/index.md
rename to org-cyf/content/portfolio/sprints/3/success/index.md
index 893db32d9..e86b51c54 100644
--- a/content/en/portfolio/sprints/3/success/index.md
+++ b/org-cyf/content/portfolio/sprints/3/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-portfolio'
diff --git a/content/en/portfolio/sprints/4/_index.md b/org-cyf/content/portfolio/sprints/4/_index.md
similarity index 100%
rename from content/en/portfolio/sprints/4/_index.md
rename to org-cyf/content/portfolio/sprints/4/_index.md
diff --git a/content/en/portfolio/sprints/4/backlog/index.md b/org-cyf/content/portfolio/sprints/4/backlog/index.md
similarity index 88%
rename from content/en/portfolio/sprints/4/backlog/index.md
rename to org-cyf/content/portfolio/sprints/4/backlog/index.md
index f2d68602d..cbbd45da0 100644
--- a/content/en/portfolio/sprints/4/backlog/index.md
+++ b/org-cyf/content/portfolio/sprints/4/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Portfolio'
diff --git a/content/en/portfolio/sprints/4/day-plan/index.md b/org-cyf/content/portfolio/sprints/4/day-plan/index.md
similarity index 73%
rename from content/en/portfolio/sprints/4/day-plan/index.md
rename to org-cyf/content/portfolio/sprints/4/day-plan/index.md
index 265ba25b4..7f43dc67d 100644
--- a/content/en/portfolio/sprints/4/day-plan/index.md
+++ b/org-cyf/content/portfolio/sprints/4/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Portfolio'
@@ -11,28 +11,28 @@ name="Energiser"
src="blocks/energiser"
[[blocks]]
name="Employability Skills"
-src="portfolio/blocks/employability"
+src="module/portfolio/employability"
[[blocks]]
name="Morning Break"
src="blocks/morning-break"
[[blocks]]
name="Stand up"
-src="portfolio/blocks/stand-up"
+src="module/portfolio/stand-up"
[[blocks]]
name="Project Work"
-src="portfolio/blocks/project"
+src="module/portfolio/project"
[[blocks]]
name="Lunch"
src="blocks/lunch"
[[blocks]]
name="Project Work"
-src="portfolio/blocks/project"
+src="module/portfolio/project"
[[blocks]]
name="Afternoon Break"
src="blocks/afternoon-break"
[[blocks]]
name="Project Work"
-src="portfolio/blocks/project"
+src="module/portfolio/project"
[[blocks]]
name="Retrospective"
src="blocks/retro"
diff --git a/content/en/portfolio/sprints/4/prep/index.md b/org-cyf/content/portfolio/sprints/4/prep/index.md
similarity index 86%
rename from content/en/portfolio/sprints/4/prep/index.md
rename to org-cyf/content/portfolio/sprints/4/prep/index.md
index 61d0e9879..72432c329 100644
--- a/content/en/portfolio/sprints/4/prep/index.md
+++ b/org-cyf/content/portfolio/sprints/4/prep/index.md
@@ -1,7 +1,7 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-portfolio'
diff --git a/content/en/portfolio/sprints/4/success/index.md b/org-cyf/content/portfolio/sprints/4/success/index.md
similarity index 90%
rename from content/en/portfolio/sprints/4/success/index.md
rename to org-cyf/content/portfolio/sprints/4/success/index.md
index ef4162623..fe9378572 100644
--- a/content/en/portfolio/sprints/4/success/index.md
+++ b/org-cyf/content/portfolio/sprints/4/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Portfolio'
diff --git a/content/en/portfolio/sprints/5/_index.md b/org-cyf/content/portfolio/sprints/5/_index.md
similarity index 100%
rename from content/en/portfolio/sprints/5/_index.md
rename to org-cyf/content/portfolio/sprints/5/_index.md
diff --git a/content/en/portfolio/sprints/5/backlog/index.md b/org-cyf/content/portfolio/sprints/5/backlog/index.md
similarity index 88%
rename from content/en/portfolio/sprints/5/backlog/index.md
rename to org-cyf/content/portfolio/sprints/5/backlog/index.md
index b498002a5..d3462f3a1 100644
--- a/content/en/portfolio/sprints/5/backlog/index.md
+++ b/org-cyf/content/portfolio/sprints/5/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Portfolio'
diff --git a/content/en/portfolio/sprints/5/day-plan/index.md b/org-cyf/content/portfolio/sprints/5/day-plan/index.md
similarity index 73%
rename from content/en/portfolio/sprints/5/day-plan/index.md
rename to org-cyf/content/portfolio/sprints/5/day-plan/index.md
index cca12cbfe..8177cd7e3 100644
--- a/content/en/portfolio/sprints/5/day-plan/index.md
+++ b/org-cyf/content/portfolio/sprints/5/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Portfolio'
@@ -11,28 +11,28 @@ name="Energiser"
src="blocks/energiser"
[[blocks]]
name="Employability Skills"
-src="portfolio/blocks/employability"
+src="module/portfolio/employability"
[[blocks]]
name="Morning Break"
src="blocks/morning-break"
[[blocks]]
name="Stand up"
-src="portfolio/blocks/stand-up"
+src="module/portfolio/stand-up"
[[blocks]]
name="Project Work"
-src="portfolio/blocks/project"
+src="module/portfolio/project"
[[blocks]]
name="Lunch"
src="blocks/lunch"
[[blocks]]
name="Project Work"
-src="portfolio/blocks/project"
+src="module/portfolio/project"
[[blocks]]
name="Afternoon Break"
src="blocks/afternoon-break"
[[blocks]]
name="Project Work"
-src="portfolio/blocks/project"
+src="module/portfolio/project"
[[blocks]]
name="Retrospective"
src="blocks/retro"
diff --git a/content/en/portfolio/sprints/5/prep/index.md b/org-cyf/content/portfolio/sprints/5/prep/index.md
similarity index 85%
rename from content/en/portfolio/sprints/5/prep/index.md
rename to org-cyf/content/portfolio/sprints/5/prep/index.md
index c702b0149..1c4508ed7 100644
--- a/content/en/portfolio/sprints/5/prep/index.md
+++ b/org-cyf/content/portfolio/sprints/5/prep/index.md
@@ -1,7 +1,7 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-portfolio'
diff --git a/content/en/portfolio/sprints/5/success/index.md b/org-cyf/content/portfolio/sprints/5/success/index.md
similarity index 90%
rename from content/en/portfolio/sprints/5/success/index.md
rename to org-cyf/content/portfolio/sprints/5/success/index.md
index faaafd1c7..e941da375 100644
--- a/content/en/portfolio/sprints/5/success/index.md
+++ b/org-cyf/content/portfolio/sprints/5/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Portfolio'
diff --git a/content/en/portfolio/success/index.md b/org-cyf/content/portfolio/success/index.md
similarity index 95%
rename from content/en/portfolio/success/index.md
rename to org-cyf/content/portfolio/success/index.md
index 60b90a72e..f18140379 100644
--- a/content/en/portfolio/success/index.md
+++ b/org-cyf/content/portfolio/success/index.md
@@ -2,7 +2,7 @@
title = 'success'
description = 'How do you know you have completed this module?'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['module']
weight = 11
[[objectives]]
diff --git a/content/en/react/_index.md b/org-cyf/content/react/_index.md
similarity index 100%
rename from content/en/react/_index.md
rename to org-cyf/content/react/_index.md
diff --git a/content/en/react/prep/index.md b/org-cyf/content/react/prep/index.md
similarity index 88%
rename from content/en/react/prep/index.md
rename to org-cyf/content/react/prep/index.md
index 10e0b39d5..017c11915 100644
--- a/content/en/react/prep/index.md
+++ b/org-cyf/content/react/prep/index.md
@@ -2,7 +2,7 @@
title = 'prep'
description = 'Codealong to explore the basic principles of React'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['module']
weight = 1
backlog= 'Module-React'
@@ -12,6 +12,6 @@ src="https://www.youtube.com/watch?v=Rh3tobg7hEo"
time=45
[[blocks]]
name="Check you can create a React app with Vite"
-src="react/blocks/vite"
+src="module/react/vite"
time=5
+++
diff --git a/content/en/react/product/_index.md b/org-cyf/content/react/product/_index.md
similarity index 100%
rename from content/en/react/product/_index.md
rename to org-cyf/content/react/product/_index.md
diff --git a/content/en/react/product/backlog/_index.md b/org-cyf/content/react/product/backlog/_index.md
similarity index 100%
rename from content/en/react/product/backlog/_index.md
rename to org-cyf/content/react/product/backlog/_index.md
diff --git a/content/en/react/product/backlog/backlog-1/index.md b/org-cyf/content/react/product/backlog/backlog-1/index.md
similarity index 89%
rename from content/en/react/product/backlog/backlog-1/index.md
rename to org-cyf/content/react/product/backlog/backlog-1/index.md
index f6cb9935c..ccc981737 100644
--- a/content/en/react/product/backlog/backlog-1/index.md
+++ b/org-cyf/content/react/product/backlog/backlog-1/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog for sprint 1'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['subdir']
weight = 1
backlog= 'React-Module-Project'
diff --git a/content/en/react/product/backlog/backlog-2/index.md b/org-cyf/content/react/product/backlog/backlog-2/index.md
similarity index 89%
rename from content/en/react/product/backlog/backlog-2/index.md
rename to org-cyf/content/react/product/backlog/backlog-2/index.md
index 9fd928edd..162b09340 100644
--- a/content/en/react/product/backlog/backlog-2/index.md
+++ b/org-cyf/content/react/product/backlog/backlog-2/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog for sprint 2'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['subdir']
weight = 2
backlog= 'React-Module-Project'
diff --git a/content/en/react/product/backlog/backlog-3/index.md b/org-cyf/content/react/product/backlog/backlog-3/index.md
similarity index 89%
rename from content/en/react/product/backlog/backlog-3/index.md
rename to org-cyf/content/react/product/backlog/backlog-3/index.md
index df48d31a4..9e0ebd5bf 100644
--- a/content/en/react/product/backlog/backlog-3/index.md
+++ b/org-cyf/content/react/product/backlog/backlog-3/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog for sprint 3'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['subdir']
weight = 3
backlog= 'React-Module-Project'
diff --git a/content/en/react/product/backlog/backlog-4/index.md b/org-cyf/content/react/product/backlog/backlog-4/index.md
similarity index 89%
rename from content/en/react/product/backlog/backlog-4/index.md
rename to org-cyf/content/react/product/backlog/backlog-4/index.md
index 7b52d7375..bb3e7e190 100644
--- a/content/en/react/product/backlog/backlog-4/index.md
+++ b/org-cyf/content/react/product/backlog/backlog-4/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog for sprint 4'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['subdir']
weight = 4
backlog= 'React-Module-Project'
diff --git a/content/en/react/product/prep/index.md b/org-cyf/content/react/product/prep/index.md
similarity index 100%
rename from content/en/react/product/prep/index.md
rename to org-cyf/content/react/product/prep/index.md
diff --git a/content/en/react/product/success/index.md b/org-cyf/content/react/product/success/index.md
similarity index 100%
rename from content/en/react/product/success/index.md
rename to org-cyf/content/react/product/success/index.md
diff --git a/content/en/react/sprints/1/_index.md b/org-cyf/content/react/sprints/1/_index.md
similarity index 100%
rename from content/en/react/sprints/1/_index.md
rename to org-cyf/content/react/sprints/1/_index.md
diff --git a/content/en/react/sprints/1/backlog/index.md b/org-cyf/content/react/sprints/1/backlog/index.md
similarity index 88%
rename from content/en/react/sprints/1/backlog/index.md
rename to org-cyf/content/react/sprints/1/backlog/index.md
index 8cc21c819..7a9503248 100644
--- a/content/en/react/sprints/1/backlog/index.md
+++ b/org-cyf/content/react/sprints/1/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-React'
diff --git a/content/en/react/sprints/1/day-plan/index.md b/org-cyf/content/react/sprints/1/day-plan/index.md
similarity index 93%
rename from content/en/react/sprints/1/day-plan/index.md
rename to org-cyf/content/react/sprints/1/day-plan/index.md
index 004dda2dc..dac392728 100644
--- a/content/en/react/sprints/1/day-plan/index.md
+++ b/org-cyf/content/react/sprints/1/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-React'
@@ -24,7 +24,7 @@ name="Lunch"
src="blocks/lunch"
[[blocks]]
name="React Hotel: Working in teams"
-src="react/blocks/team-project"
+src="module/react/team-project"
time="90"
[[blocks]]
name="Code Review"
diff --git a/content/en/react/sprints/1/prep/index.md b/org-cyf/content/react/sprints/1/prep/index.md
similarity index 88%
rename from content/en/react/sprints/1/prep/index.md
rename to org-cyf/content/react/sprints/1/prep/index.md
index 4a8ac0cbc..489e46d84 100644
--- a/content/en/react/sprints/1/prep/index.md
+++ b/org-cyf/content/react/sprints/1/prep/index.md
@@ -1,14 +1,14 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-React'
backlog_filter= 'Week 1'
[[blocks]]
name="What is React"
-src="react/blocks/what-is-react"
+src="module/react/what-is-react"
[[blocks]]
name="React is an interface"
src="https://github.com/MaggieAppleton/react-metaphors-slides/blob/master/PNGs/MetaphorsofReact_2.0.012.png"
@@ -16,7 +16,7 @@ caption="React is a user interface library. Picture by Maggie Appleton"
time="0"
[[blocks]]
name="Components"
-src="react/blocks/components"
+src="module/react/components"
[[blocks]]
name="Components are collections"
src="https://github.com/MaggieAppleton/react-metaphors-slides/blob/master/PNGs/MetaphorsofReact_2.0.023.png"
@@ -24,7 +24,7 @@ caption="Components are reusable collections of elements. ~ Maggie Appleton"
time="0"
[[blocks]]
name="Importing and exporting"
-src="react/blocks/import-export"
+src="module/react/import-export"
[[blocks]]
name="Import everything at the top"
src="https://github.com/MaggieAppleton/react-metaphors-slides/blob/master/PNGs/MetaphorsofReact_2.0.013.png"
@@ -37,10 +37,10 @@ time="0"
caption="React is mostly vanilla JavaScript. Picture by Maggie Appleton"
[[blocks]]
name="JSX"
-src="react/blocks/jsx"
+src="module/react/jsx"
[[blocks]]
name="Embedding JavaScript"
-src="react/blocks/embedding-javascript"
+src="module/react/embedding-javascript"
[[blocks]]
name="JSX eXtends JavaScript"
src="https://github.com/MaggieAppleton/react-metaphors-slides/blob/master/PNGs/MetaphorsofReact_2.0.018.png"
@@ -48,7 +48,7 @@ caption="Templating languages make dynamic HTML. Picture by Maggie Appleton"
time="0"
[[blocks]]
name="Props"
-src="react/blocks/props"
+src="module/react/props"
[[blocks]]
name="Props are like arguments"
src="https://github.com/MaggieAppleton/react-metaphors-slides/blob/master/PNGs/MetaphorsofReact_2.0.024.png"
@@ -56,10 +56,10 @@ time="0"
caption="Props carry data into components. Picture by Maggie Appleton"
[[blocks]]
name="Rendering"
-src="react/blocks/rendering"
+src="module/react/rendering"
[[blocks]]
name="Keys"
-src="react/blocks/keys"
+src="module/react/keys"
[[blocks]]
name="Codealong Playlist"
src="https://www.youtube.com/playlist?list=PLozA7cloMbPjMU_cUsWI-AhwZekJTFDdR"
diff --git a/content/en/react/sprints/1/success/index.md b/org-cyf/content/react/sprints/1/success/index.md
similarity index 90%
rename from content/en/react/sprints/1/success/index.md
rename to org-cyf/content/react/sprints/1/success/index.md
index 15ce42458..334ef407b 100644
--- a/content/en/react/sprints/1/success/index.md
+++ b/org-cyf/content/react/sprints/1/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-React'
diff --git a/content/en/react/sprints/2/_index.md b/org-cyf/content/react/sprints/2/_index.md
similarity index 100%
rename from content/en/react/sprints/2/_index.md
rename to org-cyf/content/react/sprints/2/_index.md
diff --git a/content/en/react/sprints/2/backlog/index.md b/org-cyf/content/react/sprints/2/backlog/index.md
similarity index 88%
rename from content/en/react/sprints/2/backlog/index.md
rename to org-cyf/content/react/sprints/2/backlog/index.md
index a9c26f404..1b65ff908 100644
--- a/content/en/react/sprints/2/backlog/index.md
+++ b/org-cyf/content/react/sprints/2/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-React'
diff --git a/content/en/react/sprints/2/day-plan/index.md b/org-cyf/content/react/sprints/2/day-plan/index.md
similarity index 96%
rename from content/en/react/sprints/2/day-plan/index.md
rename to org-cyf/content/react/sprints/2/day-plan/index.md
index 38f9d5308..13a4b6d7d 100644
--- a/content/en/react/sprints/2/day-plan/index.md
+++ b/org-cyf/content/react/sprints/2/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-React'
diff --git a/content/en/react/sprints/2/prep/index.md b/org-cyf/content/react/sprints/2/prep/index.md
similarity index 93%
rename from content/en/react/sprints/2/prep/index.md
rename to org-cyf/content/react/sprints/2/prep/index.md
index 4c693ecb2..24faa59bb 100644
--- a/content/en/react/sprints/2/prep/index.md
+++ b/org-cyf/content/react/sprints/2/prep/index.md
@@ -1,7 +1,7 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-React'
@@ -18,7 +18,7 @@ time="0"
caption="Picture by Maggie Appleton"
[[blocks]]
name="π¦»πΌ Handling Events"
-src="react/blocks/handling-events"
+src="module/react/handling-events"
[[blocks]]
name="π¦ Some components have state"
src="https://github.com/MaggieAppleton/react-metaphors-slides/blob/master/PNGs/MetaphorsofReact_2.0.038.png"
@@ -36,10 +36,10 @@ caption="We only need state if our component changes after launch. Picture by Ma
time="0"
[[blocks]]
name="π¦ State"
-src="react/blocks/state"
+src="module/react/state"
[[blocks]]
name="πͺ Re-rendering"
-src="react/blocks/re-rendering"
+src="module/react/re-rendering"
[[blocks]]
name="Prep Problem Solving"
src="https://cyf-pd.netlify.app/blocks/prep-problem-solving/readme/"
diff --git a/content/en/react/sprints/2/success/index.md b/org-cyf/content/react/sprints/2/success/index.md
similarity index 90%
rename from content/en/react/sprints/2/success/index.md
rename to org-cyf/content/react/sprints/2/success/index.md
index e089ea9bf..1edbc5dad 100644
--- a/content/en/react/sprints/2/success/index.md
+++ b/org-cyf/content/react/sprints/2/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-React'
diff --git a/content/en/react/sprints/3/_index.md b/org-cyf/content/react/sprints/3/_index.md
similarity index 100%
rename from content/en/react/sprints/3/_index.md
rename to org-cyf/content/react/sprints/3/_index.md
diff --git a/content/en/react/sprints/3/backlog/index.md b/org-cyf/content/react/sprints/3/backlog/index.md
similarity index 88%
rename from content/en/react/sprints/3/backlog/index.md
rename to org-cyf/content/react/sprints/3/backlog/index.md
index f8b215847..959d1fe5d 100644
--- a/content/en/react/sprints/3/backlog/index.md
+++ b/org-cyf/content/react/sprints/3/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-React'
diff --git a/content/en/react/sprints/3/day-plan/index.md b/org-cyf/content/react/sprints/3/day-plan/index.md
similarity index 96%
rename from content/en/react/sprints/3/day-plan/index.md
rename to org-cyf/content/react/sprints/3/day-plan/index.md
index 36388c9bd..9fb6570f6 100644
--- a/content/en/react/sprints/3/day-plan/index.md
+++ b/org-cyf/content/react/sprints/3/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-React'
diff --git a/content/en/react/sprints/3/prep/index.md b/org-cyf/content/react/sprints/3/prep/index.md
similarity index 69%
rename from content/en/react/sprints/3/prep/index.md
rename to org-cyf/content/react/sprints/3/prep/index.md
index 97830ac73..912c4fc36 100644
--- a/content/en/react/sprints/3/prep/index.md
+++ b/org-cyf/content/react/sprints/3/prep/index.md
@@ -1,29 +1,29 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-React'
backlog_filter= 'Week 3'
[[blocks]]
name="Fetching data"
-src="react/blocks/fetching-data"
+src="module/react/fetching-data"
[[blocks]]
name="Synchronizing with Effects"
-src="react/blocks/synchronizing-with-effects"
+src="module/react/synchronizing-with-effects"
[[blocks]]
name="Fetching data with Effects"
-src="react/blocks/fetching-data-with-effects"
+src="module/react/fetching-data-with-effects"
[[blocks]]
name="Working with Forms"
-src="react/blocks/working-with-forms"
+src="module/react/working-with-forms"
[[blocks]]
name="Multiple Fields"
-src="react/blocks/multiple-fields"
+src="module/react/multiple-fields"
[[blocks]]
name="Controlled Components"
-src="react/blocks/controlled-components"
+src="module/react/controlled-components"
[[blocks]]
name="Codealong with Mitch"
src="https://www.youtube.com/watch?v=DdReaqO2d2Y&list=PLozA7cloMbPiRNM3OJPJTNTNfqmlre7E7&index=1"
diff --git a/content/en/react/sprints/3/success/index.md b/org-cyf/content/react/sprints/3/success/index.md
similarity index 90%
rename from content/en/react/sprints/3/success/index.md
rename to org-cyf/content/react/sprints/3/success/index.md
index 80a382eb4..4f036916a 100644
--- a/content/en/react/sprints/3/success/index.md
+++ b/org-cyf/content/react/sprints/3/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-React'
diff --git a/content/en/react/sprints/4/_index.md b/org-cyf/content/react/sprints/4/_index.md
similarity index 100%
rename from content/en/react/sprints/4/_index.md
rename to org-cyf/content/react/sprints/4/_index.md
diff --git a/content/en/react/sprints/4/backlog/index.md b/org-cyf/content/react/sprints/4/backlog/index.md
similarity index 88%
rename from content/en/react/sprints/4/backlog/index.md
rename to org-cyf/content/react/sprints/4/backlog/index.md
index fd17b341d..f6a2bedb1 100644
--- a/content/en/react/sprints/4/backlog/index.md
+++ b/org-cyf/content/react/sprints/4/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-React'
diff --git a/content/en/react/sprints/4/day-plan/index.md b/org-cyf/content/react/sprints/4/day-plan/index.md
similarity index 96%
rename from content/en/react/sprints/4/day-plan/index.md
rename to org-cyf/content/react/sprints/4/day-plan/index.md
index f29035890..17fc02da5 100644
--- a/content/en/react/sprints/4/day-plan/index.md
+++ b/org-cyf/content/react/sprints/4/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-React'
diff --git a/content/en/react/sprints/4/prep/index.md b/org-cyf/content/react/sprints/4/prep/index.md
similarity index 83%
rename from content/en/react/sprints/4/prep/index.md
rename to org-cyf/content/react/sprints/4/prep/index.md
index 095804ea7..e25d7f4e6 100644
--- a/content/en/react/sprints/4/prep/index.md
+++ b/org-cyf/content/react/sprints/4/prep/index.md
@@ -1,14 +1,14 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-React'
backlog_filter= 'Week 4'
[[blocks]]
name="React Router"
-src="react/blocks/react-router"
+src="module/react/react-router"
[[blocks]]
name="Diversity and Inclusion"
src="https://cyf-pd.netlify.app/blocks/prep-for-diversity-and-inclusion/readme/"
diff --git a/content/en/react/sprints/4/success/index.md b/org-cyf/content/react/sprints/4/success/index.md
similarity index 90%
rename from content/en/react/sprints/4/success/index.md
rename to org-cyf/content/react/sprints/4/success/index.md
index 1360dda1d..4737504a2 100644
--- a/content/en/react/sprints/4/success/index.md
+++ b/org-cyf/content/react/sprints/4/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-React'
diff --git a/content/en/react/success/index.md b/org-cyf/content/react/success/index.md
similarity index 100%
rename from content/en/react/success/index.md
rename to org-cyf/content/react/success/index.md
diff --git a/content/en/servers/_index.md b/org-cyf/content/servers/_index.md
similarity index 100%
rename from content/en/servers/_index.md
rename to org-cyf/content/servers/_index.md
diff --git a/content/en/servers/prep/index.md b/org-cyf/content/servers/prep/index.md
similarity index 83%
rename from content/en/servers/prep/index.md
rename to org-cyf/content/servers/prep/index.md
index 31caecacf..96ab49dbc 100644
--- a/content/en/servers/prep/index.md
+++ b/org-cyf/content/servers/prep/index.md
@@ -2,13 +2,13 @@
title = 'prep'
description = 'Set up Postman'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['module']
weight = 1
backlog= 'Module-Servers'
[[blocks]]
name="Install Postman"
-src="servers/blocks/postman"
+src="module/servers/postman"
[[blocks]]
name="What are APIs?"
src="https://www.youtube.com/watch?v=OVvTv9Hy91Q"
diff --git a/content/en/servers/sprints/1/_index.md b/org-cyf/content/servers/sprints/1/_index.md
similarity index 100%
rename from content/en/servers/sprints/1/_index.md
rename to org-cyf/content/servers/sprints/1/_index.md
diff --git a/content/en/servers/sprints/1/backlog/index.md b/org-cyf/content/servers/sprints/1/backlog/index.md
similarity index 88%
rename from content/en/servers/sprints/1/backlog/index.md
rename to org-cyf/content/servers/sprints/1/backlog/index.md
index 7d93dec2f..7cbcd5c46 100644
--- a/content/en/servers/sprints/1/backlog/index.md
+++ b/org-cyf/content/servers/sprints/1/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-Servers'
diff --git a/content/en/servers/sprints/1/day-plan/index.md b/org-cyf/content/servers/sprints/1/day-plan/index.md
similarity index 95%
rename from content/en/servers/sprints/1/day-plan/index.md
rename to org-cyf/content/servers/sprints/1/day-plan/index.md
index dedd4fcc4..254bde647 100644
--- a/content/en/servers/sprints/1/day-plan/index.md
+++ b/org-cyf/content/servers/sprints/1/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-Servers'
diff --git a/content/en/servers/sprints/1/prep/index.md b/org-cyf/content/servers/sprints/1/prep/index.md
similarity index 72%
rename from content/en/servers/sprints/1/prep/index.md
rename to org-cyf/content/servers/sprints/1/prep/index.md
index 1b4ac0c84..7c9ed9d05 100644
--- a/content/en/servers/sprints/1/prep/index.md
+++ b/org-cyf/content/servers/sprints/1/prep/index.md
@@ -1,35 +1,35 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-Servers'
backlog_filter= 'Week 1'
[[blocks]]
name="Intro to Express"
-src="servers/blocks/intro-to-express"
+src="module/servers/intro-to-express"
[[blocks]]
name="Make a Node project"
-src="servers/blocks/make-a-node-project"
+src="module/servers/make-a-node-project"
[[blocks]]
name="Building the server"
-src="servers/blocks/building-the-server"
+src="module/servers/building-the-server"
[[blocks]]
name="Server code-along with Mitch"
src="https://www.youtube.com/watch?v=ffMg8GEim0A"
[[blocks]]
name="Communicating with the server"
-src="servers/blocks/communicating-with-the-server"
+src="module/servers/communicating-with-the-server"
[[blocks]]
name="Routing"
-src="servers/blocks/routing"
+src="module/servers/routing"
[[blocks]]
name="Routing Code-along with Mitch"
src="https://www.youtube.com/watch?v=jCihcnTwkaw"
[[blocks]]
name="Query Parameters"
-src="servers/blocks/query-parameters"
+src="module/servers/query-parameters"
[[blocks]]
name="Prep Non-Verbal Communication"
src="https://cyf-pd.netlify.app/blocks/prep-non-verbal-communication/readme/"
diff --git a/content/en/servers/sprints/1/success/index.md b/org-cyf/content/servers/sprints/1/success/index.md
similarity index 90%
rename from content/en/servers/sprints/1/success/index.md
rename to org-cyf/content/servers/sprints/1/success/index.md
index bcc365796..7b5b437d7 100644
--- a/content/en/servers/sprints/1/success/index.md
+++ b/org-cyf/content/servers/sprints/1/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-Servers'
diff --git a/content/en/servers/sprints/2/_index.md b/org-cyf/content/servers/sprints/2/_index.md
similarity index 100%
rename from content/en/servers/sprints/2/_index.md
rename to org-cyf/content/servers/sprints/2/_index.md
diff --git a/content/en/servers/sprints/2/backlog/index.md b/org-cyf/content/servers/sprints/2/backlog/index.md
similarity index 88%
rename from content/en/servers/sprints/2/backlog/index.md
rename to org-cyf/content/servers/sprints/2/backlog/index.md
index 334ce1be5..02b560d03 100644
--- a/content/en/servers/sprints/2/backlog/index.md
+++ b/org-cyf/content/servers/sprints/2/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-Servers'
diff --git a/content/en/servers/sprints/2/day-plan/index.md b/org-cyf/content/servers/sprints/2/day-plan/index.md
similarity index 95%
rename from content/en/servers/sprints/2/day-plan/index.md
rename to org-cyf/content/servers/sprints/2/day-plan/index.md
index f18f9d686..c473dd01d 100644
--- a/content/en/servers/sprints/2/day-plan/index.md
+++ b/org-cyf/content/servers/sprints/2/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-Servers'
diff --git a/content/en/servers/sprints/2/prep/index.md b/org-cyf/content/servers/sprints/2/prep/index.md
similarity index 82%
rename from content/en/servers/sprints/2/prep/index.md
rename to org-cyf/content/servers/sprints/2/prep/index.md
index 292e93e19..431ee389c 100644
--- a/content/en/servers/sprints/2/prep/index.md
+++ b/org-cyf/content/servers/sprints/2/prep/index.md
@@ -1,32 +1,32 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-Servers'
backlog_filter= 'Week 2'
[[blocks]]
name="CRUD"
-src="servers/blocks/crud"
+src="module/servers/crud"
[[blocks]]
name="CRUD Code-along with Mitch"
src="https://www.youtube.com/watch?v=u1fEONF64RI"
[[blocks]]
name="GET"
-src="servers/blocks/get"
+src="module/servers/get"
[[blocks]]
name="GET Code-along with Mitch"
src="https://www.youtube.com/watch?v=29ogivyvEbY"
[[blocks]]
name="GET single"
-src="servers/blocks/get-single"
+src="module/servers/get-single"
[[blocks]]
name="GET Single Code-along with Mitch"
src="https://www.youtube.com/watch?v=f_qw-Jwk9xw"
[[blocks]]
name="POST"
-src="servers/blocks/post"
+src="module/servers/post"
[[blocks]]
name="POST Code-along with Mitch"
src="https://www.youtube.com/watch?v=GJkEynYUMR8"
diff --git a/content/en/servers/sprints/2/success/index.md b/org-cyf/content/servers/sprints/2/success/index.md
similarity index 90%
rename from content/en/servers/sprints/2/success/index.md
rename to org-cyf/content/servers/sprints/2/success/index.md
index 02d66b65e..dfdf7167f 100644
--- a/content/en/servers/sprints/2/success/index.md
+++ b/org-cyf/content/servers/sprints/2/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-Servers'
diff --git a/content/en/servers/sprints/3/_index.md b/org-cyf/content/servers/sprints/3/_index.md
similarity index 100%
rename from content/en/servers/sprints/3/_index.md
rename to org-cyf/content/servers/sprints/3/_index.md
diff --git a/content/en/servers/sprints/3/backlog/index.md b/org-cyf/content/servers/sprints/3/backlog/index.md
similarity index 88%
rename from content/en/servers/sprints/3/backlog/index.md
rename to org-cyf/content/servers/sprints/3/backlog/index.md
index 9311710ab..c1314c3ec 100644
--- a/content/en/servers/sprints/3/backlog/index.md
+++ b/org-cyf/content/servers/sprints/3/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-Servers'
diff --git a/content/en/servers/sprints/3/day-plan/index.md b/org-cyf/content/servers/sprints/3/day-plan/index.md
similarity index 91%
rename from content/en/servers/sprints/3/day-plan/index.md
rename to org-cyf/content/servers/sprints/3/day-plan/index.md
index cb8489591..26bf145ee 100644
--- a/content/en/servers/sprints/3/day-plan/index.md
+++ b/org-cyf/content/servers/sprints/3/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-Servers'
@@ -33,7 +33,7 @@ src="blocks/pd-placeholder"
time=60
[[blocks]]
name="Set up Render"
-src="servers/blocks/render"
+src="module/servers/render"
[[blocks]]
name="Retro"
src="blocks/retro"
diff --git a/content/en/servers/sprints/3/prep/index.md b/org-cyf/content/servers/sprints/3/prep/index.md
similarity index 77%
rename from content/en/servers/sprints/3/prep/index.md
rename to org-cyf/content/servers/sprints/3/prep/index.md
index 72730f794..af986bfdf 100644
--- a/content/en/servers/sprints/3/prep/index.md
+++ b/org-cyf/content/servers/sprints/3/prep/index.md
@@ -1,23 +1,23 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-Servers'
backlog_filter= 'Week 3'
[[blocks]]
name="CRUD"
-src="servers/blocks/crud-2"
+src="module/servers/crud-2"
[[blocks]]
name="PUT"
-src="servers/blocks/put"
+src="module/servers/put"
[[blocks]]
name="PUT Codealong with Mitch"
src="https://www.youtube.com/watch?v=zQHM8S74FJE"
[[blocks]]
name="CRUD Challenges"
-src="servers/blocks/crud-challenges"
+src="module/servers/crud-challenges"
[[blocks]]
name="Reading from the filesystem"
src="https://www.youtube.com/watch?v=GOWPQ3cGHbE"
@@ -26,5 +26,5 @@ name="Writing tests in Postman"
src="https://www.youtube.com/watch?v=oXW-C2bM0wE"
[[blocks]]
name="Interactive Postman workspace"
-src="servers/blocks/test-examples-in-postman"
+src="module/servers/test-examples-in-postman"
+++
diff --git a/content/en/servers/sprints/3/success/index.md b/org-cyf/content/servers/sprints/3/success/index.md
similarity index 90%
rename from content/en/servers/sprints/3/success/index.md
rename to org-cyf/content/servers/sprints/3/success/index.md
index 6559a9af0..650d583a1 100644
--- a/content/en/servers/sprints/3/success/index.md
+++ b/org-cyf/content/servers/sprints/3/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-Servers'
diff --git a/content/en/servers/sprints/4/_index.md b/org-cyf/content/servers/sprints/4/_index.md
similarity index 100%
rename from content/en/servers/sprints/4/_index.md
rename to org-cyf/content/servers/sprints/4/_index.md
diff --git a/content/en/servers/sprints/4/backlog/index.md b/org-cyf/content/servers/sprints/4/backlog/index.md
similarity index 88%
rename from content/en/servers/sprints/4/backlog/index.md
rename to org-cyf/content/servers/sprints/4/backlog/index.md
index 27d42ee42..a496ee2f6 100644
--- a/content/en/servers/sprints/4/backlog/index.md
+++ b/org-cyf/content/servers/sprints/4/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-Servers'
diff --git a/content/en/servers/sprints/4/day-plan/index.md b/org-cyf/content/servers/sprints/4/day-plan/index.md
similarity index 95%
rename from content/en/servers/sprints/4/day-plan/index.md
rename to org-cyf/content/servers/sprints/4/day-plan/index.md
index 0fcf67218..9906ae3fd 100644
--- a/content/en/servers/sprints/4/day-plan/index.md
+++ b/org-cyf/content/servers/sprints/4/day-plan/index.md
@@ -1,7 +1,7 @@
+++
title = 'day-plan'
layout = 'day-plan'
-emoji= 'π'
+emoji= 'π§π½βπ€βπ§π½'
menu_level = ['sprint']
weight = 3
backlog= 'Module-Servers'
diff --git a/content/en/servers/sprints/4/prep/index.md b/org-cyf/content/servers/sprints/4/prep/index.md
similarity index 93%
rename from content/en/servers/sprints/4/prep/index.md
rename to org-cyf/content/servers/sprints/4/prep/index.md
index 13edddfa9..880e1b1e1 100644
--- a/content/en/servers/sprints/4/prep/index.md
+++ b/org-cyf/content/servers/sprints/4/prep/index.md
@@ -1,7 +1,7 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-Servers'
diff --git a/content/en/servers/sprints/4/success/index.md b/org-cyf/content/servers/sprints/4/success/index.md
similarity index 90%
rename from content/en/servers/sprints/4/success/index.md
rename to org-cyf/content/servers/sprints/4/success/index.md
index 7de15322b..bd0837338 100644
--- a/content/en/servers/sprints/4/success/index.md
+++ b/org-cyf/content/servers/sprints/4/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-Servers'
diff --git a/content/en/servers/success/index.md b/org-cyf/content/servers/success/index.md
similarity index 100%
rename from content/en/servers/success/index.md
rename to org-cyf/content/servers/success/index.md
diff --git a/content/en/the-launch/_index.md b/org-cyf/content/the-launch/_index.md
similarity index 100%
rename from content/en/the-launch/_index.md
rename to org-cyf/content/the-launch/_index.md
diff --git a/content/en/the-launch/prep/index.md b/org-cyf/content/the-launch/prep/index.md
similarity index 91%
rename from content/en/the-launch/prep/index.md
rename to org-cyf/content/the-launch/prep/index.md
index 819646d48..b52a5b5a9 100644
--- a/content/en/the-launch/prep/index.md
+++ b/org-cyf/content/the-launch/prep/index.md
@@ -2,7 +2,7 @@
title = 'prep'
description = 'prep description'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['module']
weight = 1
backlog= 'Module-The-Launch'
diff --git a/content/en/the-launch/product/_index.md b/org-cyf/content/the-launch/product/_index.md
similarity index 100%
rename from content/en/the-launch/product/_index.md
rename to org-cyf/content/the-launch/product/_index.md
diff --git a/content/en/the-launch/product/build/index.md b/org-cyf/content/the-launch/product/build/index.md
similarity index 100%
rename from content/en/the-launch/product/build/index.md
rename to org-cyf/content/the-launch/product/build/index.md
diff --git a/content/en/the-launch/product/plan/index.md b/org-cyf/content/the-launch/product/plan/index.md
similarity index 100%
rename from content/en/the-launch/product/plan/index.md
rename to org-cyf/content/the-launch/product/plan/index.md
diff --git a/content/en/the-launch/product/ship/index.md b/org-cyf/content/the-launch/product/ship/index.md
similarity index 100%
rename from content/en/the-launch/product/ship/index.md
rename to org-cyf/content/the-launch/product/ship/index.md
diff --git a/content/en/the-launch/product/test/index.md b/org-cyf/content/the-launch/product/test/index.md
similarity index 100%
rename from content/en/the-launch/product/test/index.md
rename to org-cyf/content/the-launch/product/test/index.md
diff --git a/content/en/the-launch/sprints/1/_index.md b/org-cyf/content/the-launch/sprints/1/_index.md
similarity index 100%
rename from content/en/the-launch/sprints/1/_index.md
rename to org-cyf/content/the-launch/sprints/1/_index.md
diff --git a/content/en/the-launch/sprints/1/backlog/index.md b/org-cyf/content/the-launch/sprints/1/backlog/index.md
similarity index 88%
rename from content/en/the-launch/sprints/1/backlog/index.md
rename to org-cyf/content/the-launch/sprints/1/backlog/index.md
index 582e41637..0f7fe1706 100644
--- a/content/en/the-launch/sprints/1/backlog/index.md
+++ b/org-cyf/content/the-launch/sprints/1/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-The-Launch'
diff --git a/org-cyf/content/the-launch/sprints/1/day-plan/index.md b/org-cyf/content/the-launch/sprints/1/day-plan/index.md
new file mode 100644
index 000000000..9870c1d9e
--- /dev/null
+++ b/org-cyf/content/the-launch/sprints/1/day-plan/index.md
@@ -0,0 +1,9 @@
++++
+title = 'day-plan'
+layout = 'day-plan'
+emoji= 'π§π½βπ€βπ§π½'
+menu_level = ['sprint']
+weight = 3
+backlog= 'Module-The-Launch'
+backlog_filter= 'Week 1'
++++
diff --git a/content/en/the-launch/sprints/1/prep/index.md b/org-cyf/content/the-launch/sprints/1/prep/index.md
similarity index 85%
rename from content/en/the-launch/sprints/1/prep/index.md
rename to org-cyf/content/the-launch/sprints/1/prep/index.md
index d303d2989..f19e9de0d 100644
--- a/content/en/the-launch/sprints/1/prep/index.md
+++ b/org-cyf/content/the-launch/sprints/1/prep/index.md
@@ -1,7 +1,7 @@
+++
title = 'prep'
layout = 'prep'
-emoji= 'π'
+emoji= 'π§πΏβ'
menu_level = ['sprint']
weight = 1
backlog= 'Module-The-Launch'
diff --git a/content/en/the-launch/sprints/1/success/index.md b/org-cyf/content/the-launch/sprints/1/success/index.md
similarity index 90%
rename from content/en/the-launch/sprints/1/success/index.md
rename to org-cyf/content/the-launch/sprints/1/success/index.md
index 3dcb4a60d..9228e5a2c 100644
--- a/content/en/the-launch/sprints/1/success/index.md
+++ b/org-cyf/content/the-launch/sprints/1/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-The-Launch'
diff --git a/content/en/the-launch/sprints/2/_index.md b/org-cyf/content/the-launch/sprints/2/_index.md
similarity index 100%
rename from content/en/the-launch/sprints/2/_index.md
rename to org-cyf/content/the-launch/sprints/2/_index.md
diff --git a/content/en/the-launch/sprints/2/backlog/index.md b/org-cyf/content/the-launch/sprints/2/backlog/index.md
similarity index 88%
rename from content/en/the-launch/sprints/2/backlog/index.md
rename to org-cyf/content/the-launch/sprints/2/backlog/index.md
index 9cd2e4df9..c90c7c49d 100644
--- a/content/en/the-launch/sprints/2/backlog/index.md
+++ b/org-cyf/content/the-launch/sprints/2/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-The-Launch'
diff --git a/org-cyf/content/the-launch/sprints/2/day-plan/index.md b/org-cyf/content/the-launch/sprints/2/day-plan/index.md
new file mode 100644
index 000000000..ccd52cb41
--- /dev/null
+++ b/org-cyf/content/the-launch/sprints/2/day-plan/index.md
@@ -0,0 +1,9 @@
++++
+title = 'day-plan'
+layout = 'day-plan'
+emoji= 'π§π½βπ€βπ§π½'
+menu_level = ['sprint']
+weight = 3
+backlog= 'Module-The-Launch'
+backlog_filter= 'Week 2'
++++
diff --git a/org-cyf/content/the-launch/sprints/2/prep/index.md b/org-cyf/content/the-launch/sprints/2/prep/index.md
new file mode 100644
index 000000000..6d4ef298a
--- /dev/null
+++ b/org-cyf/content/the-launch/sprints/2/prep/index.md
@@ -0,0 +1,9 @@
++++
+title = 'prep'
+layout = 'prep'
+emoji= 'π§πΏβ'
+menu_level = ['sprint']
+weight = 1
+backlog= 'Module-The-Launch'
+backlog_filter= 'Week 2'
++++
diff --git a/content/en/the-launch/sprints/2/success/index.md b/org-cyf/content/the-launch/sprints/2/success/index.md
similarity index 90%
rename from content/en/the-launch/sprints/2/success/index.md
rename to org-cyf/content/the-launch/sprints/2/success/index.md
index c426afb5a..6ac1e9031 100644
--- a/content/en/the-launch/sprints/2/success/index.md
+++ b/org-cyf/content/the-launch/sprints/2/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-The-Launch'
diff --git a/content/en/the-launch/sprints/3/_index.md b/org-cyf/content/the-launch/sprints/3/_index.md
similarity index 100%
rename from content/en/the-launch/sprints/3/_index.md
rename to org-cyf/content/the-launch/sprints/3/_index.md
diff --git a/content/en/the-launch/sprints/3/backlog/index.md b/org-cyf/content/the-launch/sprints/3/backlog/index.md
similarity index 88%
rename from content/en/the-launch/sprints/3/backlog/index.md
rename to org-cyf/content/the-launch/sprints/3/backlog/index.md
index 5d2e404aa..ef9ddc869 100644
--- a/content/en/the-launch/sprints/3/backlog/index.md
+++ b/org-cyf/content/the-launch/sprints/3/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-The-Launch'
diff --git a/org-cyf/content/the-launch/sprints/3/day-plan/index.md b/org-cyf/content/the-launch/sprints/3/day-plan/index.md
new file mode 100644
index 000000000..8cf84a7fe
--- /dev/null
+++ b/org-cyf/content/the-launch/sprints/3/day-plan/index.md
@@ -0,0 +1,9 @@
++++
+title = 'day-plan'
+layout = 'day-plan'
+emoji= 'π§π½βπ€βπ§π½'
+menu_level = ['sprint']
+weight = 3
+backlog= 'Module-The-Launch'
+backlog_filter= 'Week 3'
++++
diff --git a/org-cyf/content/the-launch/sprints/3/prep/index.md b/org-cyf/content/the-launch/sprints/3/prep/index.md
new file mode 100644
index 000000000..ecff507e5
--- /dev/null
+++ b/org-cyf/content/the-launch/sprints/3/prep/index.md
@@ -0,0 +1,9 @@
++++
+title = 'prep'
+layout = 'prep'
+emoji= 'π§πΏβ'
+menu_level = ['sprint']
+weight = 1
+backlog= 'Module-The-Launch'
+backlog_filter= 'Week 3'
++++
diff --git a/content/en/the-launch/sprints/3/success/index.md b/org-cyf/content/the-launch/sprints/3/success/index.md
similarity index 90%
rename from content/en/the-launch/sprints/3/success/index.md
rename to org-cyf/content/the-launch/sprints/3/success/index.md
index 0f1b5e73d..fe4fcf200 100644
--- a/content/en/the-launch/sprints/3/success/index.md
+++ b/org-cyf/content/the-launch/sprints/3/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-The-Launch'
diff --git a/content/en/the-launch/sprints/4/_index.md b/org-cyf/content/the-launch/sprints/4/_index.md
similarity index 100%
rename from content/en/the-launch/sprints/4/_index.md
rename to org-cyf/content/the-launch/sprints/4/_index.md
diff --git a/content/en/the-launch/sprints/4/backlog/index.md b/org-cyf/content/the-launch/sprints/4/backlog/index.md
similarity index 88%
rename from content/en/the-launch/sprints/4/backlog/index.md
rename to org-cyf/content/the-launch/sprints/4/backlog/index.md
index 3f6cec665..7dae5fa84 100644
--- a/content/en/the-launch/sprints/4/backlog/index.md
+++ b/org-cyf/content/the-launch/sprints/4/backlog/index.md
@@ -1,7 +1,7 @@
+++
title = 'backlog'
layout = 'backlog'
-emoji= 'π'
+emoji= 'π·οΈ'
menu_level = ['sprint']
weight = 2
backlog= 'Module-The-Launch'
diff --git a/org-cyf/content/the-launch/sprints/4/day-plan/index.md b/org-cyf/content/the-launch/sprints/4/day-plan/index.md
new file mode 100644
index 000000000..45ef7fca4
--- /dev/null
+++ b/org-cyf/content/the-launch/sprints/4/day-plan/index.md
@@ -0,0 +1,9 @@
++++
+title = 'day-plan'
+layout = 'day-plan'
+emoji= 'π§π½βπ€βπ§π½'
+menu_level = ['sprint']
+weight = 3
+backlog= 'Module-The-Launch'
+backlog_filter= 'Week 4'
++++
diff --git a/org-cyf/content/the-launch/sprints/4/prep/index.md b/org-cyf/content/the-launch/sprints/4/prep/index.md
new file mode 100644
index 000000000..f5688ca64
--- /dev/null
+++ b/org-cyf/content/the-launch/sprints/4/prep/index.md
@@ -0,0 +1,9 @@
++++
+title = 'prep'
+layout = 'prep'
+emoji= 'π§πΏβ'
+menu_level = ['sprint']
+weight = 1
+backlog= 'Module-The-Launch'
+backlog_filter= 'Week 4'
++++
diff --git a/content/en/the-launch/sprints/4/success/index.md b/org-cyf/content/the-launch/sprints/4/success/index.md
similarity index 90%
rename from content/en/the-launch/sprints/4/success/index.md
rename to org-cyf/content/the-launch/sprints/4/success/index.md
index 431f84adb..30f075913 100644
--- a/content/en/the-launch/sprints/4/success/index.md
+++ b/org-cyf/content/the-launch/sprints/4/success/index.md
@@ -1,7 +1,7 @@
+++
title = 'success'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['sprint']
weight = 4
backlog= 'Module-The-Launch'
diff --git a/content/en/the-launch/success/index.md b/org-cyf/content/the-launch/success/index.md
similarity index 91%
rename from content/en/the-launch/success/index.md
rename to org-cyf/content/the-launch/success/index.md
index 049427a3f..6ddcc6a15 100644
--- a/content/en/the-launch/success/index.md
+++ b/org-cyf/content/the-launch/success/index.md
@@ -2,7 +2,7 @@
title = 'success'
description = 'success description'
layout = 'success'
-emoji= 'π'
+emoji= 'β
'
menu_level = ['module']
weight = 11
backlog= 'Module-The-Launch'
diff --git a/data/funding.json b/org-cyf/data/funding.json
similarity index 100%
rename from data/funding.json
rename to org-cyf/data/funding.json
diff --git a/org-cyf/go.mod b/org-cyf/go.mod
new file mode 100644
index 000000000..46364bda8
--- /dev/null
+++ b/org-cyf/go.mod
@@ -0,0 +1,12 @@
+module github.com/CodeYourFuture/curriculum/org-cyf
+
+go 1.21.3
+
+require (
+ github.com/CodeYourFuture/curriculum/common-content v0.0.0-20240121151641-e52b73ad527d // indirect
+ github.com/CodeYourFuture/curriculum/common-theme v0.0.0-20240121151641-e52b73ad527d // indirect
+)
+
+replace github.com/CodeYourFuture/curriculum/common-content => ../common-content
+replace github.com/CodeYourFuture/curriculum/common-theme => ../common-theme
+
diff --git a/org-cyf/go.sum b/org-cyf/go.sum
new file mode 100644
index 000000000..b8fd7b887
--- /dev/null
+++ b/org-cyf/go.sum
@@ -0,0 +1,8 @@
+github.com/CodeYourFuture/curriculum/common-content v0.0.0-20240114132825-493a89648721 h1:txnduLXqSKf3XHb/g74uhpGltb9FgyrdrMeC/Ce3vr0=
+github.com/CodeYourFuture/curriculum/common-content v0.0.0-20240114132825-493a89648721/go.mod h1:w5rIm9hJlHD+CYpQEVMWE/6WaE/EiLmYVs18Kw/iH0s=
+github.com/CodeYourFuture/curriculum/common-content v0.0.0-20240121151641-e52b73ad527d h1:WfPdLoNvxOrNx3GB+DpYlpEH57v98h0KWXpidN+xdOo=
+github.com/CodeYourFuture/curriculum/common-content v0.0.0-20240121151641-e52b73ad527d/go.mod h1:e3J+XphCBJJ8kf6S9ykVxNY1VKPWJoYuDFXEizlDpCI=
+github.com/CodeYourFuture/curriculum/common-theme v0.0.0-20240114132825-493a89648721 h1:GSd+9AsvXJEjy2AvsP79YBpmMRhxydDhVvlbD5x5DKg=
+github.com/CodeYourFuture/curriculum/common-theme v0.0.0-20240114132825-493a89648721/go.mod h1:lWiQfXWr0Uc517tksx7D5p5ZoXo9bxRoJ0or+z9mRyk=
+github.com/CodeYourFuture/curriculum/common-theme v0.0.0-20240121151641-e52b73ad527d h1:ILE8f9gXLEPEyrJVBdFRVa0Uszf9OVdK4LjXZjCLUag=
+github.com/CodeYourFuture/curriculum/common-theme v0.0.0-20240121151641-e52b73ad527d/go.mod h1:kzt+J4JYp5C3GD1dX0rf7vY5fsTUc6Drrn+7p7pjmLg=
diff --git a/config.toml b/org-cyf/hugo.toml
similarity index 64%
rename from config.toml
rename to org-cyf/hugo.toml
index 765826e28..aa529cc83 100644
--- a/config.toml
+++ b/org-cyf/hugo.toml
@@ -1,17 +1,14 @@
-baseURL = "/"
-title = "CodeYourFuture Curriculum"
-sectionPagesMenu = "main"
-enableEmoji = true
-
-defaultContentLanguage = 'en'
-defaultContentLanguageInSubdir = false
-
-[languages]
- [languages.en]
- contentDir = 'content/en'
- languageCode = 'en-GB'
- languageName = 'English'
+title = "CYF Curriculum"
+[module]
+ [[module.imports]]
+ path = "github.com/CodeYourFuture/curriculum/common-theme"
+ [[module.imports]]
+ path = "github.com/CodeYourFuture/curriculum/common-content"
+ [[module.imports.mounts]]
+ source = "en"
+ target = "content"
+
[menus]
[[menus.secondary]]
name = "Guides ππΎ"
@@ -27,32 +24,18 @@ defaultContentLanguageInSubdir = false
url = "https://codeyourfuture.io/donate/"
[params]
+googleFonts="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;500;700&family=Inter:wght@400;600&display=swap"
description = "A free and open source software development programme."
+main_website = "https://codeyourfuture.io/"
+main_org_name = "Code Your Future"
org = "https://github.com/CodeYourFuture"
repo = "https://github.com/CodeYourFuture/curriculum/"
-tree = "https://github.com/CodeYourFuture/curriculum/tree/main/"
-edit = "https://github.com/CodeYourFuture/curriculum/edit/main/"
root = "curriculum"
orgapi = "https://api.github.com/repos/CodeYourFuture/"
# We use a proxy which concatenates paginated responses, otherwise we miss results.
# Daniel is currently hosting this code https://github.com/illicitonion/github-issue-proxy but we should work out a long-term maintainable solution to this problem.
issuesorgapi = "https://github-issue-proxy.illicitonion.com/repos/CodeYourFuture/"
-[markup]
-[markup.tableOfContents]
-endLevel = 2
-ordered = true
-startLevel = 2
-[markup.highlight]
-lineNos = false
-codeFences = true
-guessSyntax = true
-[markup.goldmark.renderer]
-# Enable HTML codeblocks, e.g. for blocks
-unsafe = true
-hardWraps = true
-disableKinds = ["taxonomy", "term"]
-footnote= true
[caches.getjson]
# Disable caching of fetches - we want every build to get up to date content for issues, so that if people make clarifications or fixes to issues, we pick them up.
@@ -61,4 +44,7 @@ maxAge = 0
[security.funcs]
# Allow accessing a GitHub bearer token to avoid rate limits when doing HTTP fetches to the GitHub API.
# This can be generated at https://github.com/settings/tokens?type=beta and needs read-only access to all public CYF GitHub repos.
-getenv = ["^CYF_CURRICULUM_GITHUB_BEARER_TOKEN$"]
+getenv = ["^HUGO_CURRICULUM_GITHUB_BEARER_TOKEN$"]
+
+
+theme = "common-theme"
\ No newline at end of file
diff --git a/org-cyf/package-lock.json b/org-cyf/package-lock.json
new file mode 100644
index 000000000..19041f18a
--- /dev/null
+++ b/org-cyf/package-lock.json
@@ -0,0 +1,1019 @@
+{
+ "name": "curriculum",
+ "version": "1.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "curriculum",
+ "version": "1.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "@codemirror/lang-javascript": "^6.1.8",
+ "@codemirror/theme-one-dark": "^6.1.2",
+ "@netlify/functions": "^1.6.0",
+ "codemirror": "^6.0.1",
+ "cookie": "^0.5.0",
+ "dotenv": "^16.3.1",
+ "joi": "^17.9.2",
+ "lodash": "^4.17.21",
+ "octokit": "^3.1.2",
+ "prettier": "^2.8.8",
+ "prettier-plugin-go-template": "^0.0.13"
+ },
+ "devDependencies": {
+ "@types/cookie": "^0.5.1",
+ "@types/lodash": "^4.14.196",
+ "dotenv-cli": "^7.3.0"
+ }
+ },
+ "node_modules/@codemirror/autocomplete": {
+ "version": "6.11.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.11.1.tgz",
+ "integrity": "sha512-L5UInv8Ffd6BPw0P3EF7JLYAMeEbclY7+6Q11REt8vhih8RuLreKtPy/xk8wPxs4EQgYqzI7cdgpiYwWlbS/ow==",
+ "dependencies": {
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.17.0",
+ "@lezer/common": "^1.0.0"
+ },
+ "peerDependencies": {
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "@lezer/common": "^1.0.0"
+ }
+ },
+ "node_modules/@codemirror/commands": {
+ "version": "6.3.3",
+ "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.3.3.tgz",
+ "integrity": "sha512-dO4hcF0fGT9tu1Pj1D2PvGvxjeGkbC6RGcZw6Qs74TH+Ed1gw98jmUgd2axWvIZEqTeTuFrg1lEB1KV6cK9h1A==",
+ "dependencies": {
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/state": "^6.4.0",
+ "@codemirror/view": "^6.0.0",
+ "@lezer/common": "^1.1.0"
+ }
+ },
+ "node_modules/@codemirror/lang-javascript": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-6.2.1.tgz",
+ "integrity": "sha512-jlFOXTejVyiQCW3EQwvKH0m99bUYIw40oPmFjSX2VS78yzfe0HELZ+NEo9Yfo1MkGRpGlj3Gnu4rdxV1EnAs5A==",
+ "dependencies": {
+ "@codemirror/autocomplete": "^6.0.0",
+ "@codemirror/language": "^6.6.0",
+ "@codemirror/lint": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.17.0",
+ "@lezer/common": "^1.0.0",
+ "@lezer/javascript": "^1.0.0"
+ }
+ },
+ "node_modules/@codemirror/language": {
+ "version": "6.10.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.10.0.tgz",
+ "integrity": "sha512-2vaNn9aPGCRFKWcHPFksctzJ8yS5p7YoaT+jHpc0UGKzNuAIx4qy6R5wiqbP+heEEdyaABA582mNqSHzSoYdmg==",
+ "dependencies": {
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.23.0",
+ "@lezer/common": "^1.1.0",
+ "@lezer/highlight": "^1.0.0",
+ "@lezer/lr": "^1.0.0",
+ "style-mod": "^4.0.0"
+ }
+ },
+ "node_modules/@codemirror/lint": {
+ "version": "6.4.2",
+ "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.4.2.tgz",
+ "integrity": "sha512-wzRkluWb1ptPKdzlsrbwwjYCPLgzU6N88YBAmlZi8WFyuiEduSd05MnJYNogzyc8rPK7pj6m95ptUApc8sHKVA==",
+ "dependencies": {
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "crelt": "^1.0.5"
+ }
+ },
+ "node_modules/@codemirror/search": {
+ "version": "6.5.5",
+ "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.5.5.tgz",
+ "integrity": "sha512-PIEN3Ke1buPod2EHbJsoQwlbpkz30qGZKcnmH1eihq9+bPQx8gelauUwLYaY4vBOuBAuEhmpDLii4rj/uO0yMA==",
+ "dependencies": {
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "crelt": "^1.0.5"
+ }
+ },
+ "node_modules/@codemirror/state": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.4.0.tgz",
+ "integrity": "sha512-hm8XshYj5Fo30Bb922QX9hXB/bxOAVH+qaqHBzw5TKa72vOeslyGwd4X8M0c1dJ9JqxlaMceOQ8RsL9tC7gU0A=="
+ },
+ "node_modules/@codemirror/theme-one-dark": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/@codemirror/theme-one-dark/-/theme-one-dark-6.1.2.tgz",
+ "integrity": "sha512-F+sH0X16j/qFLMAfbciKTxVOwkdAS336b7AXTKOZhy8BR3eH/RelsnLgLFINrpST63mmN2OuwUt0W2ndUgYwUA==",
+ "dependencies": {
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0",
+ "@lezer/highlight": "^1.0.0"
+ }
+ },
+ "node_modules/@codemirror/view": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.23.0.tgz",
+ "integrity": "sha512-/51px9N4uW8NpuWkyUX+iam5+PM6io2fm+QmRnzwqBy5v/pwGg9T0kILFtYeum8hjuvENtgsGNKluOfqIICmeQ==",
+ "dependencies": {
+ "@codemirror/state": "^6.4.0",
+ "style-mod": "^4.1.0",
+ "w3c-keyname": "^2.2.4"
+ }
+ },
+ "node_modules/@hapi/hoek": {
+ "version": "9.3.0",
+ "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
+ "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ=="
+ },
+ "node_modules/@hapi/topo": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
+ "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==",
+ "dependencies": {
+ "@hapi/hoek": "^9.0.0"
+ }
+ },
+ "node_modules/@lezer/common": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.0.tgz",
+ "integrity": "sha512-Wmvlm4q6tRpwiy20TnB3yyLTZim38Tkc50dPY8biQRwqE+ati/wD84rm3N15hikvdT4uSg9phs9ubjvcLmkpKg=="
+ },
+ "node_modules/@lezer/highlight": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.0.tgz",
+ "integrity": "sha512-WrS5Mw51sGrpqjlh3d4/fOwpEV2Hd3YOkp9DBt4k8XZQcoTHZFB7sx030A6OcahF4J1nDQAa3jXlTVVYH50IFA==",
+ "dependencies": {
+ "@lezer/common": "^1.0.0"
+ }
+ },
+ "node_modules/@lezer/javascript": {
+ "version": "1.4.11",
+ "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.4.11.tgz",
+ "integrity": "sha512-B5Y9EJF4BWiMgj4ufxUo2hrORnmMBDrMtR+L7dwIO5pocuSAahG6QBwXR6PbKJOjRywJczU2r2LJPg79ER91TQ==",
+ "dependencies": {
+ "@lezer/highlight": "^1.1.3",
+ "@lezer/lr": "^1.3.0"
+ }
+ },
+ "node_modules/@lezer/lr": {
+ "version": "1.3.14",
+ "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.14.tgz",
+ "integrity": "sha512-z5mY4LStlA3yL7aHT/rqgG614cfcvklS+8oFRFBYrs4YaWLJyKKM4+nN6KopToX0o9Hj6zmH6M5kinOYuy06ug==",
+ "dependencies": {
+ "@lezer/common": "^1.0.0"
+ }
+ },
+ "node_modules/@netlify/functions": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-1.6.0.tgz",
+ "integrity": "sha512-6G92AlcpFrQG72XU8YH8pg94eDnq7+Q0YJhb8x4qNpdGsvuzvrfHWBmqFGp/Yshmv4wex9lpsTRZOocdrA2erQ==",
+ "dependencies": {
+ "is-promise": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@octokit/app": {
+ "version": "14.0.2",
+ "resolved": "https://registry.npmjs.org/@octokit/app/-/app-14.0.2.tgz",
+ "integrity": "sha512-NCSCktSx+XmjuSUVn2dLfqQ9WIYePGP95SDJs4I9cn/0ZkeXcPkaoCLl64Us3dRKL2ozC7hArwze5Eu+/qt1tg==",
+ "dependencies": {
+ "@octokit/auth-app": "^6.0.0",
+ "@octokit/auth-unauthenticated": "^5.0.0",
+ "@octokit/core": "^5.0.0",
+ "@octokit/oauth-app": "^6.0.0",
+ "@octokit/plugin-paginate-rest": "^9.0.0",
+ "@octokit/types": "^12.0.0",
+ "@octokit/webhooks": "^12.0.4"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/auth-app": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/@octokit/auth-app/-/auth-app-6.0.2.tgz",
+ "integrity": "sha512-HYuRX3Fvhs2y9i7a4F8f+A5HWfacRWmpERHGBEOtgvKVjJkOQZKUY2v6HiSszYecHAF8Ojqngp2iraSP3SvNpQ==",
+ "dependencies": {
+ "@octokit/auth-oauth-app": "^7.0.0",
+ "@octokit/auth-oauth-user": "^4.0.0",
+ "@octokit/request": "^8.0.2",
+ "@octokit/request-error": "^5.0.0",
+ "@octokit/types": "^12.0.0",
+ "deprecation": "^2.3.1",
+ "lru-cache": "^10.0.0",
+ "universal-github-app-jwt": "^1.1.1",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/auth-oauth-app": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-app/-/auth-oauth-app-7.0.1.tgz",
+ "integrity": "sha512-RE0KK0DCjCHXHlQBoubwlLijXEKfhMhKm9gO56xYvFmP1QTMb+vvwRPmQLLx0V+5AvV9N9I3lr1WyTzwL3rMDg==",
+ "dependencies": {
+ "@octokit/auth-oauth-device": "^6.0.0",
+ "@octokit/auth-oauth-user": "^4.0.0",
+ "@octokit/request": "^8.0.2",
+ "@octokit/types": "^12.0.0",
+ "@types/btoa-lite": "^1.0.0",
+ "btoa-lite": "^1.0.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/auth-oauth-device": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-device/-/auth-oauth-device-6.0.1.tgz",
+ "integrity": "sha512-yxU0rkL65QkjbqQedgVx3gmW7YM5fF+r5uaSj9tM/cQGVqloXcqP2xK90eTyYvl29arFVCW8Vz4H/t47mL0ELw==",
+ "dependencies": {
+ "@octokit/oauth-methods": "^4.0.0",
+ "@octokit/request": "^8.0.0",
+ "@octokit/types": "^12.0.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/auth-oauth-user": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/auth-oauth-user/-/auth-oauth-user-4.0.1.tgz",
+ "integrity": "sha512-N94wWW09d0hleCnrO5wt5MxekatqEJ4zf+1vSe8MKMrhZ7gAXKFOKrDEZW2INltvBWJCyDUELgGRv8gfErH1Iw==",
+ "dependencies": {
+ "@octokit/auth-oauth-device": "^6.0.0",
+ "@octokit/oauth-methods": "^4.0.0",
+ "@octokit/request": "^8.0.2",
+ "@octokit/types": "^12.0.0",
+ "btoa-lite": "^1.0.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/auth-token": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz",
+ "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==",
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/auth-unauthenticated": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/auth-unauthenticated/-/auth-unauthenticated-5.0.1.tgz",
+ "integrity": "sha512-oxeWzmBFxWd+XolxKTc4zr+h3mt+yofn4r7OfoIkR/Cj/o70eEGmPsFbueyJE2iBAGpjgTnEOKM3pnuEGVmiqg==",
+ "dependencies": {
+ "@octokit/request-error": "^5.0.0",
+ "@octokit/types": "^12.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/core": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.0.2.tgz",
+ "integrity": "sha512-cZUy1gUvd4vttMic7C0lwPed8IYXWYp8kHIMatyhY8t8n3Cpw2ILczkV5pGMPqef7v0bLo0pOHrEHarsau2Ydg==",
+ "dependencies": {
+ "@octokit/auth-token": "^4.0.0",
+ "@octokit/graphql": "^7.0.0",
+ "@octokit/request": "^8.0.2",
+ "@octokit/request-error": "^5.0.0",
+ "@octokit/types": "^12.0.0",
+ "before-after-hook": "^2.2.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/endpoint": {
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.4.tgz",
+ "integrity": "sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw==",
+ "dependencies": {
+ "@octokit/types": "^12.0.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/graphql": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.0.2.tgz",
+ "integrity": "sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==",
+ "dependencies": {
+ "@octokit/request": "^8.0.1",
+ "@octokit/types": "^12.0.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/oauth-app": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/oauth-app/-/oauth-app-6.0.0.tgz",
+ "integrity": "sha512-bNMkS+vJ6oz2hCyraT9ZfTpAQ8dZNqJJQVNaKjPLx4ue5RZiFdU1YWXguOPR8AaSHS+lKe+lR3abn2siGd+zow==",
+ "dependencies": {
+ "@octokit/auth-oauth-app": "^7.0.0",
+ "@octokit/auth-oauth-user": "^4.0.0",
+ "@octokit/auth-unauthenticated": "^5.0.0",
+ "@octokit/core": "^5.0.0",
+ "@octokit/oauth-authorization-url": "^6.0.2",
+ "@octokit/oauth-methods": "^4.0.0",
+ "@types/aws-lambda": "^8.10.83",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/oauth-authorization-url": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/@octokit/oauth-authorization-url/-/oauth-authorization-url-6.0.2.tgz",
+ "integrity": "sha512-CdoJukjXXxqLNK4y/VOiVzQVjibqoj/xHgInekviUJV73y/BSIcwvJ/4aNHPBPKcPWFnd4/lO9uqRV65jXhcLA==",
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/oauth-methods": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/oauth-methods/-/oauth-methods-4.0.1.tgz",
+ "integrity": "sha512-1NdTGCoBHyD6J0n2WGXg9+yDLZrRNZ0moTEex/LSPr49m530WNKcCfXDghofYptr3st3eTii+EHoG5k/o+vbtw==",
+ "dependencies": {
+ "@octokit/oauth-authorization-url": "^6.0.2",
+ "@octokit/request": "^8.0.2",
+ "@octokit/request-error": "^5.0.0",
+ "@octokit/types": "^12.0.0",
+ "btoa-lite": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/openapi-types": {
+ "version": "19.1.0",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-19.1.0.tgz",
+ "integrity": "sha512-6G+ywGClliGQwRsjvqVYpklIfa7oRPA0vyhPQG/1Feh+B+wU0vGH1JiJ5T25d3g1JZYBHzR2qefLi9x8Gt+cpw=="
+ },
+ "node_modules/@octokit/plugin-paginate-graphql": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-graphql/-/plugin-paginate-graphql-4.0.0.tgz",
+ "integrity": "sha512-7HcYW5tP7/Z6AETAPU14gp5H5KmCPT3hmJrS/5tO7HIgbwenYmgw4OY9Ma54FDySuxMwD+wsJlxtuGWwuZuItA==",
+ "engines": {
+ "node": ">= 18"
+ },
+ "peerDependencies": {
+ "@octokit/core": ">=5"
+ }
+ },
+ "node_modules/@octokit/plugin-paginate-rest": {
+ "version": "9.1.5",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.1.5.tgz",
+ "integrity": "sha512-WKTQXxK+bu49qzwv4qKbMMRXej1DU2gq017euWyKVudA6MldaSSQuxtz+vGbhxV4CjxpUxjZu6rM2wfc1FiWVg==",
+ "dependencies": {
+ "@octokit/types": "^12.4.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ },
+ "peerDependencies": {
+ "@octokit/core": ">=5"
+ }
+ },
+ "node_modules/@octokit/plugin-rest-endpoint-methods": {
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.2.0.tgz",
+ "integrity": "sha512-ePbgBMYtGoRNXDyKGvr9cyHjQ163PbwD0y1MkDJCpkO2YH4OeXX40c4wYHKikHGZcpGPbcRLuy0unPUuafco8Q==",
+ "dependencies": {
+ "@octokit/types": "^12.3.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ },
+ "peerDependencies": {
+ "@octokit/core": ">=5"
+ }
+ },
+ "node_modules/@octokit/plugin-retry": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-6.0.1.tgz",
+ "integrity": "sha512-SKs+Tz9oj0g4p28qkZwl/topGcb0k0qPNX/i7vBKmDsjoeqnVfFUquqrE/O9oJY7+oLzdCtkiWSXLpLjvl6uog==",
+ "dependencies": {
+ "@octokit/request-error": "^5.0.0",
+ "@octokit/types": "^12.0.0",
+ "bottleneck": "^2.15.3"
+ },
+ "engines": {
+ "node": ">= 18"
+ },
+ "peerDependencies": {
+ "@octokit/core": ">=5"
+ }
+ },
+ "node_modules/@octokit/plugin-throttling": {
+ "version": "8.1.3",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-8.1.3.tgz",
+ "integrity": "sha512-pfyqaqpc0EXh5Cn4HX9lWYsZ4gGbjnSmUILeu4u2gnuM50K/wIk9s1Pxt3lVeVwekmITgN/nJdoh43Ka+vye8A==",
+ "dependencies": {
+ "@octokit/types": "^12.2.0",
+ "bottleneck": "^2.15.3"
+ },
+ "engines": {
+ "node": ">= 18"
+ },
+ "peerDependencies": {
+ "@octokit/core": "^5.0.0"
+ }
+ },
+ "node_modules/@octokit/request": {
+ "version": "8.1.6",
+ "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.1.6.tgz",
+ "integrity": "sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ==",
+ "dependencies": {
+ "@octokit/endpoint": "^9.0.0",
+ "@octokit/request-error": "^5.0.0",
+ "@octokit/types": "^12.0.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/request-error": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.0.1.tgz",
+ "integrity": "sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==",
+ "dependencies": {
+ "@octokit/types": "^12.0.0",
+ "deprecation": "^2.0.0",
+ "once": "^1.4.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/types": {
+ "version": "12.4.0",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.4.0.tgz",
+ "integrity": "sha512-FLWs/AvZllw/AGVs+nJ+ELCDZZJk+kY0zMen118xhL2zD0s1etIUHm1odgjP7epxYU1ln7SZxEUWYop5bhsdgQ==",
+ "dependencies": {
+ "@octokit/openapi-types": "^19.1.0"
+ }
+ },
+ "node_modules/@octokit/webhooks": {
+ "version": "12.0.10",
+ "resolved": "https://registry.npmjs.org/@octokit/webhooks/-/webhooks-12.0.10.tgz",
+ "integrity": "sha512-Q8d26l7gZ3L1SSr25NFbbP0B431sovU5r0tIqcvy8Z4PrD1LBv0cJEjvDLOieouzPSTzSzufzRIeXD7S+zAESA==",
+ "dependencies": {
+ "@octokit/request-error": "^5.0.0",
+ "@octokit/webhooks-methods": "^4.0.0",
+ "@octokit/webhooks-types": "7.1.0",
+ "aggregate-error": "^3.1.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/webhooks-methods": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@octokit/webhooks-methods/-/webhooks-methods-4.0.0.tgz",
+ "integrity": "sha512-M8mwmTXp+VeolOS/kfRvsDdW+IO0qJ8kYodM/sAysk093q6ApgmBXwK1ZlUvAwXVrp/YVHp6aArj4auAxUAOFw==",
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/@octokit/webhooks-types": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@octokit/webhooks-types/-/webhooks-types-7.1.0.tgz",
+ "integrity": "sha512-y92CpG4kFFtBBjni8LHoV12IegJ+KFxLgKRengrVjKmGE5XMeCuGvlfRe75lTRrgXaG6XIWJlFpIDTlkoJsU8w=="
+ },
+ "node_modules/@sideway/address": {
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz",
+ "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==",
+ "dependencies": {
+ "@hapi/hoek": "^9.0.0"
+ }
+ },
+ "node_modules/@sideway/formula": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz",
+ "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg=="
+ },
+ "node_modules/@sideway/pinpoint": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz",
+ "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ=="
+ },
+ "node_modules/@types/aws-lambda": {
+ "version": "8.10.130",
+ "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.130.tgz",
+ "integrity": "sha512-HxTfLeGvD1wTJqIGwcBCpNmHKenja+We1e0cuzeIDFfbEj3ixnlTInyPR/81zAe0Ss/Ip12rFK6XNeMLVucOSg=="
+ },
+ "node_modules/@types/btoa-lite": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@types/btoa-lite/-/btoa-lite-1.0.2.tgz",
+ "integrity": "sha512-ZYbcE2x7yrvNFJiU7xJGrpF/ihpkM7zKgw8bha3LNJSesvTtUNxbpzaT7WXBIryf6jovisrxTBvymxMeLLj1Mg=="
+ },
+ "node_modules/@types/cookie": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.5.4.tgz",
+ "integrity": "sha512-7z/eR6O859gyWIAjuvBWFzNURmf2oPBmJlfVWkwehU5nzIyjwBsTh7WMmEEV4JFnHuQ3ex4oyTvfKzcyJVDBNA==",
+ "dev": true
+ },
+ "node_modules/@types/jsonwebtoken": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.5.tgz",
+ "integrity": "sha512-VRLSGzik+Unrup6BsouBeHsf4d1hOEgYWTm/7Nmw1sXoN1+tRly/Gy/po3yeahnP4jfnQWWAhQAqcNfH7ngOkA==",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/lodash": {
+ "version": "4.14.202",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz",
+ "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==",
+ "dev": true
+ },
+ "node_modules/@types/node": {
+ "version": "20.10.6",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz",
+ "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==",
+ "dependencies": {
+ "undici-types": "~5.26.4"
+ }
+ },
+ "node_modules/aggregate-error": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
+ "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
+ "dependencies": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/before-after-hook": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
+ "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ=="
+ },
+ "node_modules/bottleneck": {
+ "version": "2.19.5",
+ "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz",
+ "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw=="
+ },
+ "node_modules/btoa-lite": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz",
+ "integrity": "sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA=="
+ },
+ "node_modules/buffer-equal-constant-time": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
+ "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA=="
+ },
+ "node_modules/clean-stack": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/codemirror": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.1.tgz",
+ "integrity": "sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==",
+ "dependencies": {
+ "@codemirror/autocomplete": "^6.0.0",
+ "@codemirror/commands": "^6.0.0",
+ "@codemirror/language": "^6.0.0",
+ "@codemirror/lint": "^6.0.0",
+ "@codemirror/search": "^6.0.0",
+ "@codemirror/state": "^6.0.0",
+ "@codemirror/view": "^6.0.0"
+ }
+ },
+ "node_modules/cookie": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
+ "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/crelt": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz",
+ "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g=="
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/deprecation": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
+ "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
+ },
+ "node_modules/dotenv": {
+ "version": "16.3.1",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz",
+ "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/motdotla/dotenv?sponsor=1"
+ }
+ },
+ "node_modules/dotenv-cli": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/dotenv-cli/-/dotenv-cli-7.3.0.tgz",
+ "integrity": "sha512-314CA4TyK34YEJ6ntBf80eUY+t1XaFLyem1k9P0sX1gn30qThZ5qZr/ZwE318gEnzyYP9yj9HJk6SqwE0upkfw==",
+ "dev": true,
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "dotenv": "^16.3.0",
+ "dotenv-expand": "^10.0.0",
+ "minimist": "^1.2.6"
+ },
+ "bin": {
+ "dotenv": "cli.js"
+ }
+ },
+ "node_modules/dotenv-expand": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz",
+ "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/ecdsa-sig-formatter": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
+ "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
+ "dependencies": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/indent-string": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-promise": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz",
+ "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ=="
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "node_modules/joi": {
+ "version": "17.11.0",
+ "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz",
+ "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==",
+ "dependencies": {
+ "@hapi/hoek": "^9.0.0",
+ "@hapi/topo": "^5.0.0",
+ "@sideway/address": "^4.1.3",
+ "@sideway/formula": "^3.0.1",
+ "@sideway/pinpoint": "^2.0.0"
+ }
+ },
+ "node_modules/jsonwebtoken": {
+ "version": "9.0.2",
+ "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz",
+ "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==",
+ "dependencies": {
+ "jws": "^3.2.2",
+ "lodash.includes": "^4.3.0",
+ "lodash.isboolean": "^3.0.3",
+ "lodash.isinteger": "^4.0.4",
+ "lodash.isnumber": "^3.0.3",
+ "lodash.isplainobject": "^4.0.6",
+ "lodash.isstring": "^4.0.1",
+ "lodash.once": "^4.0.0",
+ "ms": "^2.1.1",
+ "semver": "^7.5.4"
+ },
+ "engines": {
+ "node": ">=12",
+ "npm": ">=6"
+ }
+ },
+ "node_modules/jwa": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz",
+ "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==",
+ "dependencies": {
+ "buffer-equal-constant-time": "1.0.1",
+ "ecdsa-sig-formatter": "1.0.11",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/jws": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz",
+ "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==",
+ "dependencies": {
+ "jwa": "^1.4.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ },
+ "node_modules/lodash.includes": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
+ "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w=="
+ },
+ "node_modules/lodash.isboolean": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
+ "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg=="
+ },
+ "node_modules/lodash.isinteger": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
+ "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA=="
+ },
+ "node_modules/lodash.isnumber": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz",
+ "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw=="
+ },
+ "node_modules/lodash.isplainobject": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="
+ },
+ "node_modules/lodash.isstring": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
+ "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw=="
+ },
+ "node_modules/lodash.once": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
+ "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg=="
+ },
+ "node_modules/lru-cache": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz",
+ "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==",
+ "engines": {
+ "node": "14 || >=16.14"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ },
+ "node_modules/octokit": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/octokit/-/octokit-3.1.2.tgz",
+ "integrity": "sha512-MG5qmrTL5y8KYwFgE1A4JWmgfQBaIETE/lOlfwNYx1QOtCQHGVxkRJmdUJltFc1HVn73d61TlMhMyNTOtMl+ng==",
+ "dependencies": {
+ "@octokit/app": "^14.0.2",
+ "@octokit/core": "^5.0.0",
+ "@octokit/oauth-app": "^6.0.0",
+ "@octokit/plugin-paginate-graphql": "^4.0.0",
+ "@octokit/plugin-paginate-rest": "^9.0.0",
+ "@octokit/plugin-rest-endpoint-methods": "^10.0.0",
+ "@octokit/plugin-retry": "^6.0.0",
+ "@octokit/plugin-throttling": "^8.0.0",
+ "@octokit/request-error": "^5.0.0",
+ "@octokit/types": "^12.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/prettier": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+ "bin": {
+ "prettier": "bin-prettier.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
+ "node_modules/prettier-plugin-go-template": {
+ "version": "0.0.13",
+ "resolved": "https://registry.npmjs.org/prettier-plugin-go-template/-/prettier-plugin-go-template-0.0.13.tgz",
+ "integrity": "sha512-gG/xT5kd+kCzoMaTchXvdfBdsunyRCV6G8cgdPGPd2V5JGGKXUG7SjzBKU7jaGh2RTeblcAdBb/E+S/duOAMsA==",
+ "dependencies": {
+ "ulid": "^2.3.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "prettier": "^2.0.0"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/semver/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/style-mod": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.0.tgz",
+ "integrity": "sha512-Ca5ib8HrFn+f+0n4N4ScTIA9iTOQ7MaGS1ylHcoVqW9J7w2w8PzN6g9gKmTYgGEBH8e120+RCmhpje6jC5uGWA=="
+ },
+ "node_modules/ulid": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz",
+ "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==",
+ "bin": {
+ "ulid": "bin/cli.js"
+ }
+ },
+ "node_modules/undici-types": {
+ "version": "5.26.5",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="
+ },
+ "node_modules/universal-github-app-jwt": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/universal-github-app-jwt/-/universal-github-app-jwt-1.1.1.tgz",
+ "integrity": "sha512-G33RTLrIBMFmlDV4u4CBF7dh71eWwykck4XgaxaIVeZKOYZRAAxvcGMRFTUclVY6xoUPQvO4Ne5wKGxYm/Yy9w==",
+ "dependencies": {
+ "@types/jsonwebtoken": "^9.0.0",
+ "jsonwebtoken": "^9.0.0"
+ }
+ },
+ "node_modules/universal-user-agent": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz",
+ "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ=="
+ },
+ "node_modules/w3c-keyname": {
+ "version": "2.2.8",
+ "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz",
+ "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ=="
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ },
+ "node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ }
+ }
+}
diff --git a/org-cyf/package.json b/org-cyf/package.json
new file mode 100644
index 000000000..9a1da90c0
--- /dev/null
+++ b/org-cyf/package.json
@@ -0,0 +1,35 @@
+{
+ "name": "curriculum",
+ "version": "1.0.0",
+ "description": "The curriculum platform",
+ "main": "index.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1",
+ "start:dev": "dotenv -- hugo server -p 3000 -D"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "bugs": {
+ "url": "https://github.com/CodeYourFuture/curriculum/issues"
+ },
+ "homepage": "https://github.com/CodeYourFuture/curriculum#readme",
+ "dependencies": {
+ "@codemirror/lang-javascript": "^6.1.8",
+ "@codemirror/theme-one-dark": "^6.1.2",
+ "@netlify/functions": "^1.6.0",
+ "codemirror": "^6.0.1",
+ "cookie": "^0.5.0",
+ "dotenv": "^16.3.1",
+ "joi": "^17.9.2",
+ "lodash": "^4.17.21",
+ "octokit": "^3.1.2",
+ "prettier": "^2.8.8",
+ "prettier-plugin-go-template": "^0.0.13"
+ },
+ "devDependencies": {
+ "@types/cookie": "^0.5.1",
+ "@types/lodash": "^4.14.196",
+ "dotenv-cli": "^7.3.0"
+ }
+}
diff --git a/readme_repository_access.png b/org-cyf/readme_repository_access.png
similarity index 100%
rename from readme_repository_access.png
rename to org-cyf/readme_repository_access.png
diff --git a/static/404.html b/org-cyf/static/404.html
similarity index 100%
rename from static/404.html
rename to org-cyf/static/404.html
diff --git a/static/_redirects b/org-cyf/static/_redirects
similarity index 100%
rename from static/_redirects
rename to org-cyf/static/_redirects
diff --git a/static/android-chrome-192x192.png b/org-cyf/static/android-chrome-192x192.png
similarity index 100%
rename from static/android-chrome-192x192.png
rename to org-cyf/static/android-chrome-192x192.png
diff --git a/static/android-chrome-512x512.png b/org-cyf/static/android-chrome-512x512.png
similarity index 100%
rename from static/android-chrome-512x512.png
rename to org-cyf/static/android-chrome-512x512.png
diff --git a/static/apple-touch-icon.png b/org-cyf/static/apple-touch-icon.png
similarity index 100%
rename from static/apple-touch-icon.png
rename to org-cyf/static/apple-touch-icon.png
diff --git a/static/dummy-apis/films.json b/org-cyf/static/dummy-apis/films.json
similarity index 100%
rename from static/dummy-apis/films.json
rename to org-cyf/static/dummy-apis/films.json
diff --git a/static/favicon-16x16.png b/org-cyf/static/favicon-16x16.png
similarity index 100%
rename from static/favicon-16x16.png
rename to org-cyf/static/favicon-16x16.png
diff --git a/static/favicon-32x32.png b/org-cyf/static/favicon-32x32.png
similarity index 100%
rename from static/favicon-32x32.png
rename to org-cyf/static/favicon-32x32.png
diff --git a/static/favicon.ico b/org-cyf/static/favicon.ico
similarity index 100%
rename from static/favicon.ico
rename to org-cyf/static/favicon.ico
diff --git a/static/filterFilms.html b/org-cyf/static/filterFilms.html
similarity index 100%
rename from static/filterFilms.html
rename to org-cyf/static/filterFilms.html
diff --git a/static/logos/EY.png b/org-cyf/static/logos/EY.png
similarity index 100%
rename from static/logos/EY.png
rename to org-cyf/static/logos/EY.png
diff --git a/static/logos/MVF.svg b/org-cyf/static/logos/MVF.svg
similarity index 100%
rename from static/logos/MVF.svg
rename to org-cyf/static/logos/MVF.svg
diff --git a/static/logos/adobe.webp b/org-cyf/static/logos/adobe.webp
similarity index 100%
rename from static/logos/adobe.webp
rename to org-cyf/static/logos/adobe.webp
diff --git a/static/logos/aston-university.svg b/org-cyf/static/logos/aston-university.svg
similarity index 100%
rename from static/logos/aston-university.svg
rename to org-cyf/static/logos/aston-university.svg
diff --git a/static/logos/capgemini.png b/org-cyf/static/logos/capgemini.png
similarity index 100%
rename from static/logos/capgemini.png
rename to org-cyf/static/logos/capgemini.png
diff --git a/static/logos/cititec.svg b/org-cyf/static/logos/cititec.svg
similarity index 100%
rename from static/logos/cititec.svg
rename to org-cyf/static/logos/cititec.svg
diff --git a/static/logos/codility.png b/org-cyf/static/logos/codility.png
similarity index 100%
rename from static/logos/codility.png
rename to org-cyf/static/logos/codility.png
diff --git a/static/logos/df-capital.png b/org-cyf/static/logos/df-capital.png
similarity index 100%
rename from static/logos/df-capital.png
rename to org-cyf/static/logos/df-capital.png
diff --git a/static/logos/evidenced.png b/org-cyf/static/logos/evidenced.png
similarity index 100%
rename from static/logos/evidenced.png
rename to org-cyf/static/logos/evidenced.png
diff --git a/static/logos/ey.svg b/org-cyf/static/logos/ey.svg
similarity index 100%
rename from static/logos/ey.svg
rename to org-cyf/static/logos/ey.svg
diff --git a/static/logos/figma.svg b/org-cyf/static/logos/figma.svg
similarity index 100%
rename from static/logos/figma.svg
rename to org-cyf/static/logos/figma.svg
diff --git a/static/logos/fourth.svg b/org-cyf/static/logos/fourth.svg
similarity index 100%
rename from static/logos/fourth.svg
rename to org-cyf/static/logos/fourth.svg
diff --git a/org-cyf/static/logos/github.png b/org-cyf/static/logos/github.png
new file mode 100644
index 000000000..e11df546d
Binary files /dev/null and b/org-cyf/static/logos/github.png differ
diff --git a/static/logos/infinity-works.svg b/org-cyf/static/logos/infinity-works.svg
similarity index 100%
rename from static/logos/infinity-works.svg
rename to org-cyf/static/logos/infinity-works.svg
diff --git a/static/logos/lego.svg b/org-cyf/static/logos/lego.svg
similarity index 100%
rename from static/logos/lego.svg
rename to org-cyf/static/logos/lego.svg
diff --git a/static/logos/motorola.svg b/org-cyf/static/logos/motorola.svg
similarity index 100%
rename from static/logos/motorola.svg
rename to org-cyf/static/logos/motorola.svg
diff --git a/org-cyf/static/logos/netlify.svg b/org-cyf/static/logos/netlify.svg
new file mode 100644
index 000000000..9e40194f5
--- /dev/null
+++ b/org-cyf/static/logos/netlify.svg
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/static/logos/rainbird.webp b/org-cyf/static/logos/rainbird.webp
similarity index 100%
rename from static/logos/rainbird.webp
rename to org-cyf/static/logos/rainbird.webp
diff --git a/static/logos/scotgov.svg b/org-cyf/static/logos/scotgov.svg
similarity index 100%
rename from static/logos/scotgov.svg
rename to org-cyf/static/logos/scotgov.svg
diff --git a/static/logos/seesaw.png b/org-cyf/static/logos/seesaw.png
similarity index 100%
rename from static/logos/seesaw.png
rename to org-cyf/static/logos/seesaw.png
diff --git a/static/logos/seesaw.svg b/org-cyf/static/logos/seesaw.svg
similarity index 100%
rename from static/logos/seesaw.svg
rename to org-cyf/static/logos/seesaw.svg
diff --git a/org-cyf/static/logos/slack.png b/org-cyf/static/logos/slack.png
new file mode 100644
index 000000000..15a4b14fe
Binary files /dev/null and b/org-cyf/static/logos/slack.png differ
diff --git a/static/logos/slalom.svg b/org-cyf/static/logos/slalom.svg
similarity index 100%
rename from static/logos/slalom.svg
rename to org-cyf/static/logos/slalom.svg
diff --git a/static/logos/udemy.png b/org-cyf/static/logos/udemy.png
similarity index 100%
rename from static/logos/udemy.png
rename to org-cyf/static/logos/udemy.png
diff --git a/static/logos/workday.svg b/org-cyf/static/logos/workday.svg
similarity index 100%
rename from static/logos/workday.svg
rename to org-cyf/static/logos/workday.svg
diff --git a/static/manifest.json b/org-cyf/static/manifest.json
similarity index 100%
rename from static/manifest.json
rename to org-cyf/static/manifest.json
diff --git a/netlify.toml b/org-cyf/tooling/netlify.toml
similarity index 100%
rename from netlify.toml
rename to org-cyf/tooling/netlify.toml
diff --git a/netlify/functions/clone.ts b/org-cyf/tooling/netlify/functions/clone.ts
similarity index 100%
rename from netlify/functions/clone.ts
rename to org-cyf/tooling/netlify/functions/clone.ts
diff --git a/netlify/helpers/config.ts b/org-cyf/tooling/netlify/helpers/config.ts
similarity index 100%
rename from netlify/helpers/config.ts
rename to org-cyf/tooling/netlify/helpers/config.ts
diff --git a/netlify/helpers/const.ts b/org-cyf/tooling/netlify/helpers/const.ts
similarity index 100%
rename from netlify/helpers/const.ts
rename to org-cyf/tooling/netlify/helpers/const.ts
diff --git a/netlify/helpers/github.ts b/org-cyf/tooling/netlify/helpers/github.ts
similarity index 100%
rename from netlify/helpers/github.ts
rename to org-cyf/tooling/netlify/helpers/github.ts
diff --git a/netlify/helpers/gql.ts b/org-cyf/tooling/netlify/helpers/gql.ts
similarity index 100%
rename from netlify/helpers/gql.ts
rename to org-cyf/tooling/netlify/helpers/gql.ts
diff --git a/netlify/helpers/templates.ts b/org-cyf/tooling/netlify/helpers/templates.ts
similarity index 100%
rename from netlify/helpers/templates.ts
rename to org-cyf/tooling/netlify/helpers/templates.ts
diff --git a/netlify/helpers/types.ts b/org-cyf/tooling/netlify/helpers/types.ts
similarity index 100%
rename from netlify/helpers/types.ts
rename to org-cyf/tooling/netlify/helpers/types.ts
diff --git a/netlify/helpers/util.ts b/org-cyf/tooling/netlify/helpers/util.ts
similarity index 100%
rename from netlify/helpers/util.ts
rename to org-cyf/tooling/netlify/helpers/util.ts
diff --git a/org-mcb/.gitignore b/org-mcb/.gitignore
new file mode 100644
index 000000000..f9af00571
--- /dev/null
+++ b/org-mcb/.gitignore
@@ -0,0 +1,33 @@
+# Dependencies
+/node_modules
+
+# Production
+/build
+**/public
+**/resources
+
+# Generated files
+.docusaurus
+.cache-loader
+assets/jsconfig.json
+
+# Misc
+.DS_Store
+.env.local
+.env.development.local
+.env.test.local
+.env.production.local
+.vscode
+/.vscode
+.hugo_build.lock
+
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# CI uses package-lock.json, don't allow yarn.lock
+yarn.lock
+
+# Local Netlify folder
+.netlify
+.env
\ No newline at end of file
diff --git a/org-mcb/CONTRIBUTING.md b/org-mcb/CONTRIBUTING.md
new file mode 100644
index 000000000..e69de29bb
diff --git a/org-mcb/README.md b/org-mcb/README.md
new file mode 100644
index 000000000..e69de29bb
diff --git a/org-mcb/assets/custom-images/site-logo/logo.svg b/org-mcb/assets/custom-images/site-logo/logo.svg
new file mode 100644
index 000000000..a0eca3cf7
--- /dev/null
+++ b/org-mcb/assets/custom-images/site-logo/logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/org-mcb/assets/custom-theme/02-variables/colors.scss b/org-mcb/assets/custom-theme/02-variables/colors.scss
new file mode 100644
index 000000000..090810316
--- /dev/null
+++ b/org-mcb/assets/custom-theme/02-variables/colors.scss
@@ -0,0 +1,75 @@
+@mixin light-palette {
+ // these brand colours are set and then everything else is derived from the key
+ --theme-color--brand: rgb(21, 212, 190);
+ --theme-color--brand-shade: rgba(21, 212, 190, .05);
+ --theme-color--accent: rgb(21, 212, 190);
+ --theme-color--accent-shade: hsla(146, 100%, 46%, 0.5);
+ --theme-color--pop: hsla(262, 100%, 62%, 1);
+ // key
+ --hue: 210;
+ --sat: 35%;
+ --lum: 90%;
+ --alpha: 0.95;
+ --hsl: var(--hue), var(--sat), var(--lum);
+ // now build all the shades
+ --theme-color--paper: hsla(
+ var(--hue),
+ calc(var(--sat) * 1.2),
+ calc(var(--lum) * 1.06),
+ var(--alpha)
+ );
+ --theme-color--ink: hsla(
+ var(--hue),
+ calc(var(--sat) * 2.2),
+ calc(var(--lum) * 0.3),
+ var(--alpha)
+ );
+ --theme-color--ink-fade: hsla(
+ var(--hue),
+ calc(var(--sat) * 2.2),
+ calc(var(--lum) * 0.3),
+ calc(var(--alpha) * 0.3)
+ );
+ --theme-color--paper-fade: hsla(
+ var(--hue),
+ calc(var(--sat) * 1.2),
+ calc(var(--lum) * 1.06),
+ 0.9
+ );
+ --theme-color--contrast-max: hsl(
+ var(--hue),
+ calc(var(--sat) / 100),
+ calc(var(--lum) * 2) var(--alpha)
+ );
+
+ // backdrop
+ --theme-color--block: hsla(var(--hsl), var(--alpha));
+ --theme-color--outline: hsl(var(--hsl), 1);
+ --theme-color--backdrop-from: hsl(var(--hsl) / 0.25);
+ --theme-color--backdrop-to: hsl(var(--hsl) / 0.2);
+}
+
+@mixin dark-palette {
+ --hue: 270;
+ --sat: 8%;
+ --lum: 20%;
+ --alpha: 0.99;
+ --theme-color--ink: hsla(
+ calc(var(--hue) * 1.1),
+ calc(var(--sat) + 60%),
+ calc(var(--lum) * 4.4),
+ var(--alpha)
+ );
+ --theme-color--accent: rgb(21, 212, 190);
+ --theme-color--pop: hsl(321, 100%, 46%);
+}
+
+:root {
+ @include light-palette();
+ @media (prefers-color-scheme: dark) {
+ @include dark-palette();
+ }
+}
+
+// see states for classes that toggle these
+// no classes in the variables folder
diff --git a/org-mcb/assets/custom-theme/02-variables/fonts.scss b/org-mcb/assets/custom-theme/02-variables/fonts.scss
new file mode 100644
index 000000000..d90af6d2b
--- /dev/null
+++ b/org-mcb/assets/custom-theme/02-variables/fonts.scss
@@ -0,0 +1,7 @@
+:root {
+ --theme-font--display: "Jura", serif;
+ --theme-font--copy: "Inter", system-ui, -apple-system, BlinkMacSystemFont,
+ "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue",
+ sans-serif;
+ --theme-font--system: 100 100%/2 "Monaco", "Menlo", "Space Grotesk", monospace;
+}
diff --git a/org-mcb/assets/custom-theme/states/dark.scss b/org-mcb/assets/custom-theme/states/dark.scss
new file mode 100644
index 000000000..356ec362b
--- /dev/null
+++ b/org-mcb/assets/custom-theme/states/dark.scss
@@ -0,0 +1,4 @@
+.is-dark-mode,
+:root:has(.is-dark-mode) {
+ @include dark-palette;
+}
diff --git a/org-mcb/assets/custom-theme/states/light.scss b/org-mcb/assets/custom-theme/states/light.scss
new file mode 100644
index 000000000..53b429023
--- /dev/null
+++ b/org-mcb/assets/custom-theme/states/light.scss
@@ -0,0 +1,4 @@
+.is-light-mode,
+:root:has(.is-light-mode) {
+ @include light-palette;
+}
diff --git a/org-mcb/content/_index.md b/org-mcb/content/_index.md
new file mode 100644
index 000000000..9461172b1
--- /dev/null
+++ b/org-mcb/content/_index.md
@@ -0,0 +1,5 @@
++++
+title="MigraCode"
+description="Our new curriculum"
+emoji= "πͺπΊ"
++++
diff --git a/org-mcb/go.mod b/org-mcb/go.mod
new file mode 100644
index 000000000..ad55bcaf8
--- /dev/null
+++ b/org-mcb/go.mod
@@ -0,0 +1,3 @@
+module github.com/CodeYourFuture/curriculum/org-mcb
+
+go 1.21.3
diff --git a/org-mcb/hugo.toml b/org-mcb/hugo.toml
new file mode 100644
index 000000000..8829bc4e0
--- /dev/null
+++ b/org-mcb/hugo.toml
@@ -0,0 +1,33 @@
+title = "MigraCode Barcelona"
+
+[module]
+ [[module.imports]]
+ path = "github.com/CodeYourFuture/curriculum/common-theme"
+ [[module.imports]]
+ path = "github.com/CodeYourFuture/curriculum/common-content"
+ [[module.imports.mounts]]
+ source = "en"
+ target = "content"
+
+
+[params]
+googleFonts="https://fonts.googleapis.com/css2?family=Jura:wght@300;400;700&display=swap"
+description = "A free and open source software development programme."
+main_website = "https://migracode.org/"
+main_org_name = "MigraCode Barcelona"
+org = "https://github.com/CodeYourFuture"
+repo = "https://github.com/CodeYourFuture/curriculum/"
+root = "curriculum"
+orgapi = "https://api.github.com/repos/CodeYourFuture/"
+# We use a proxy which concatenates paginated responses, otherwise we miss results.
+# Daniel is currently hosting this code https://github.com/illicitonion/github-issue-proxy but we should work out a long-term maintainable solution to this problem.
+issuesorgapi = "https://github-issue-proxy.illicitonion.com/repos/CodeYourFuture/"
+
+
+[security.funcs]
+# Allow accessing a GitHub bearer token to avoid rate limits when doing HTTP fetches to the GitHub API.
+# This can be generated at https://github.com/settings/tokens?type=beta and needs read-only access to all public CYF GitHub repos.
+getenv = ["^HUGO_CURRICULUM_GITHUB_BEARER_TOKEN$"]
+
+
+theme = "common-theme"
\ No newline at end of file
diff --git a/org-mcb/package.json b/org-mcb/package.json
new file mode 100644
index 000000000..974d5e95a
--- /dev/null
+++ b/org-mcb/package.json
@@ -0,0 +1,36 @@
+{
+ "name": "curriculum",
+ "version": "1.0.0",
+ "description": "The curriculum platform",
+ "main": "index.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1",
+ "start:dev": "dotenv -- hugo server --environment issues-are-cached-and-incomplete",
+ "build:dev": "dotenv -- hugo --environment issues-are-cached-and-incomplete"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "bugs": {
+ "url": "https://github.com/CodeYourFuture/curriculum/issues"
+ },
+ "homepage": "https://github.com/CodeYourFuture/curriculum#readme",
+ "dependencies": {
+ "@codemirror/lang-javascript": "^6.1.8",
+ "@codemirror/theme-one-dark": "^6.1.2",
+ "@netlify/functions": "^1.6.0",
+ "codemirror": "^6.0.1",
+ "cookie": "^0.5.0",
+ "dotenv": "^16.3.1",
+ "joi": "^17.9.2",
+ "lodash": "^4.17.21",
+ "octokit": "^3.1.2",
+ "prettier": "^2.8.8",
+ "prettier-plugin-go-template": "^0.0.13"
+ },
+ "devDependencies": {
+ "@types/cookie": "^0.5.1",
+ "@types/lodash": "^4.14.196",
+ "dotenv-cli": "^7.3.0"
+ }
+}
diff --git a/DEVELOPER.md b/tooling/DEVELOPER.md
similarity index 100%
rename from DEVELOPER.md
rename to tooling/DEVELOPER.md
diff --git a/tooling/create_module.sh b/tooling/create_module.sh
new file mode 100755
index 000000000..c956b4b0b
--- /dev/null
+++ b/tooling/create_module.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+# You need to name the module
+if [ -z "$1" ]; then
+ echo "No module name supplied. Usage: ./create_module.sh "
+ exit 1
+fi
+
+MODULE_NAME=$1
+MODULE_DIR="content/$MODULE_NAME"
+SPRINT_DIR="$MODULE_DIR/sprints"
+PRODUCT_DIR="$MODULE_DIR/product"
+
+# Main module index
+hugo new --kind module "$MODULE_DIR/_index.md"
+
+# Module has at top level: prep/ sprints/ product/ success/.
+# Sprints and Product are dirs containing further dirs
+
+FILES=("prep" "success")
+for file in "${FILES[@]}"; do
+ FILE_PATH="$MODULE_DIR/$file/index.md"
+ hugo new --kind "module-$file" "$FILE_PATH"
+done
+
+# Make sprint folders. Sprints have prep backlog day-plan success
+
+for i in {1..4}; do
+ SPRINT_NAME="$i"
+ SPRINT_PATH="$SPRINT_DIR/$SPRINT_NAME"
+
+ SPRINT_FILES=("prep" "backlog" "day-plan" "success")
+ for file in "${SPRINT_FILES[@]}"; do
+ FILE_PATH="$SPRINT_PATH/$file/index.md"
+ hugo new --kind "$file" "$FILE_PATH"
+ done
+done
+
+# Make product dir. Product has prep backlog success
+hugo new --kind product "$PRODUCT_DIR/_index.md"
+
+PRODUCT_FILES=("prep" "backlog" "success")
+for file in "${PRODUCT_FILES[@]}"; do
+ FILE_PATH="$PRODUCT_DIR/$file/index.md"
+ hugo new --kind "product-$file" "$FILE_PATH"
+done
diff --git a/tooling/go/.gitignore b/tooling/go/.gitignore
new file mode 100644
index 000000000..406bae00b
--- /dev/null
+++ b/tooling/go/.gitignore
@@ -0,0 +1 @@
+/local-overrides-enforcer
diff --git a/tooling/go/cmd/local-overrides-enforcer/main.go b/tooling/go/cmd/local-overrides-enforcer/main.go
new file mode 100644
index 000000000..f261ac209
--- /dev/null
+++ b/tooling/go/cmd/local-overrides-enforcer/main.go
@@ -0,0 +1,74 @@
+package main
+
+import (
+ "flag"
+ "fmt"
+ "io/fs"
+ "log"
+ "os"
+ "path/filepath"
+ "strings"
+
+ "github.com/CodeYourFuture/curriculum/tooling/go/internal/local-overrides-enforcer/checker"
+)
+
+func main() {
+ var rootDirectory string
+ flag.StringVar(&rootDirectory, "root-dir", ".", "Root directory to search for go.mod files in")
+ excludeDirectoriesFlag := flag.String("exclude", filepath.Join("tooling", "go"), "Directories to exclude from searches (comma-delimited)")
+ var parentModule string
+ flag.StringVar(&parentModule, "parent-module", "github.com/CodeYourFuture/curriculum", "Parent module to search for missing overrides within")
+
+ flag.Parse()
+
+ var err error
+ rootDirectory, err = filepath.Abs(rootDirectory)
+ if err != nil {
+ log.Fatalf("Failed to get absolute path of root directory: %v", err)
+ }
+
+ var excludeDirectories []string
+ for _, excludeDirectory := range strings.Split(*excludeDirectoriesFlag, ",") {
+ excludeDirectory, err = filepath.Abs(excludeDirectory)
+ if err != nil {
+ log.Fatalf("Failed to get absolute path of exclude directory: %v", err)
+ }
+ excludeDirectories = append(excludeDirectories, excludeDirectory)
+ }
+
+ sawBadFile := false
+
+ err = filepath.WalkDir(rootDirectory, func(path string, d fs.DirEntry, err error) error {
+ for _, excluded := range excludeDirectories {
+ if path == excluded {
+ return fs.SkipDir
+ }
+ }
+ if err != nil {
+ return err
+ }
+
+ if d.Name() != "go.mod" {
+ return nil
+ }
+ content, err := os.ReadFile(path)
+ if err != nil {
+ return fmt.Errorf("failed to read %s: %w", path, err)
+ }
+ expectedContents, ok, err := checker.CheckFile(path, content, parentModule)
+ if err != nil {
+ return fmt.Errorf("failed to check %s: %w", path, err)
+ }
+ if !ok {
+ sawBadFile = true
+ fmt.Printf("β οΈ File at path %s didn't have some local overrides - its contents should be:\n%s\n", path, expectedContents)
+ }
+ return nil
+ })
+ if err != nil {
+ log.Fatalf("Error walking filesystem: %v", err)
+ }
+ if sawBadFile {
+ os.Exit(1)
+ }
+}
diff --git a/tooling/go/go.mod b/tooling/go/go.mod
new file mode 100644
index 000000000..e5bbc74ce
--- /dev/null
+++ b/tooling/go/go.mod
@@ -0,0 +1,14 @@
+module github.com/CodeYourFuture/curriculum/tooling/go
+
+go 1.21.5
+
+require (
+ github.com/stretchr/testify v1.8.4
+ golang.org/x/mod v0.14.0
+)
+
+require (
+ github.com/davecgh/go-spew v1.1.1 // indirect
+ github.com/pmezard/go-difflib v1.0.0 // indirect
+ gopkg.in/yaml.v3 v3.0.1 // indirect
+)
diff --git a/tooling/go/go.sum b/tooling/go/go.sum
new file mode 100644
index 000000000..d7cde5764
--- /dev/null
+++ b/tooling/go/go.sum
@@ -0,0 +1,12 @@
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
+github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
+github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
+github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
+golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=
+golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
+gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/tooling/go/internal/local-overrides-enforcer/checker/checker.go b/tooling/go/internal/local-overrides-enforcer/checker/checker.go
new file mode 100644
index 000000000..7d6408924
--- /dev/null
+++ b/tooling/go/internal/local-overrides-enforcer/checker/checker.go
@@ -0,0 +1,56 @@
+package checker
+
+import (
+ "fmt"
+ "strings"
+
+ "golang.org/x/mod/modfile"
+)
+
+// CheckFile checks that a go.mod file has local overrides for all children of the passed parent module.
+// It returns one of:
+// - If the contents was correct: "", true, nil
+// - If the contents was not correct: the expected contents, false, nil
+// - If an error occurred: "", false, error
+func CheckFile(goModPath string, contents []byte, parentModule string) (string, bool, error) {
+ gomodFile, err := modfile.Parse(goModPath, contents, nil)
+ if err != nil {
+ return "", false, fmt.Errorf("failed to parse %s as go.mod file: %w", goModPath, err)
+ }
+
+ parentModuleWithTrailingSlash := parentModule + "/"
+
+ if !strings.HasPrefix(gomodFile.Module.Mod.Path, parentModuleWithTrailingSlash) {
+ return "", false, fmt.Errorf("module at path %s was named %s which isn't a child of %s", goModPath, gomodFile.Module.Mod.Path, parentModule)
+ }
+ slashCount := strings.Count(gomodFile.Module.Mod.Path[len(parentModule):], "/")
+
+ replaces := make(map[string]struct{})
+ for _, replace := range gomodFile.Replace {
+ replaces[replace.Old.Path] = struct{}{}
+ }
+
+ missingReplaces := false
+ for _, require := range gomodFile.Require {
+ modPath := require.Mod.Path
+ if !strings.HasPrefix(modPath, parentModuleWithTrailingSlash) {
+ continue
+ }
+ if _, isReplaced := replaces[modPath]; isReplaced {
+ continue
+ }
+ missingReplaces = true
+ rel := modPath[len(parentModuleWithTrailingSlash):]
+ if err := gomodFile.AddReplace(modPath, "", strings.Repeat("../", slashCount)+rel, ""); err != nil {
+ return "", false, fmt.Errorf("failed to add replace: %w", err)
+ }
+ }
+ if missingReplaces {
+ formatted, err := gomodFile.Format()
+ if err != nil {
+ return "", false, fmt.Errorf("failed to serialize go.mod file: %w", err)
+ }
+ return string(formatted), false, nil
+ }
+ return "", true, nil
+}
diff --git a/tooling/go/internal/local-overrides-enforcer/checker/checker_test.go b/tooling/go/internal/local-overrides-enforcer/checker/checker_test.go
new file mode 100644
index 000000000..a358296b4
--- /dev/null
+++ b/tooling/go/internal/local-overrides-enforcer/checker/checker_test.go
@@ -0,0 +1,70 @@
+package checker_test
+
+import (
+ "testing"
+
+ "github.com/CodeYourFuture/curriculum/tooling/go/internal/local-overrides-enforcer/checker"
+ "github.com/stretchr/testify/require"
+)
+
+func TestCorrect(t *testing.T) {
+ goModContent := `module github.com/CodeYourFuture/curriculum/org-cyf
+
+go 1.21.3
+
+replace github.com/CodeYourFuture/curriculum/common-content => ../common-content
+replace github.com/CodeYourFuture/curriculum/common-theme => ../common-theme
+
+require (
+ github.com/CodeYourFuture/curriculum/common-content v0.0.0-20240103071042-5b2177342232 // indirect
+ github.com/CodeYourFuture/curriculum/common-theme v0.0.0-20240103071042-5b2177342232 // indirect
+)
+`
+
+ newContent, ok, err := checker.CheckFile("/some/go.mod", []byte(goModContent), "github.com/CodeYourFuture/curriculum")
+ require.NoError(t, err)
+ require.True(t, ok)
+ require.Equal(t, "", newContent)
+}
+
+func TestMissingReplace(t *testing.T) {
+ goModContent := `module github.com/CodeYourFuture/curriculum/org-cyf
+
+ go 1.21.3
+
+ replace github.com/CodeYourFuture/curriculum/common-theme => ../common-theme
+
+ require (
+ github.com/CodeYourFuture/curriculum/common-content v0.0.0-20240103071042-5b2177342232 // indirect
+ github.com/CodeYourFuture/curriculum/common-theme v0.0.0-20240103071042-5b2177342232 // indirect
+ )
+`
+
+ newContent, ok, err := checker.CheckFile("/some/go.mod", []byte(goModContent), "github.com/CodeYourFuture/curriculum")
+ require.NoError(t, err)
+ require.False(t, ok)
+ require.Contains(t, newContent, "replace github.com/CodeYourFuture/curriculum/common-content => ../common-content")
+}
+
+func TestModuleNotChildOfParent(t *testing.T) {
+ goModContent := `module github.com/CodeYourFuture/wrong
+
+go 1.21.3
+
+replace github.com/CodeYourFuture/curriculum/common-content => ../common-content
+replace github.com/CodeYourFuture/curriculum/common-theme => ../common-theme
+
+require (
+ github.com/CodeYourFuture/curriculum/common-content v0.0.0-20240103071042-5b2177342232 // indirect
+ github.com/CodeYourFuture/curriculum/common-theme v0.0.0-20240103071042-5b2177342232 // indirect
+)
+`
+
+ _, _, err := checker.CheckFile("/some/go.mod", []byte(goModContent), "github.com/CodeYourFuture/curriculum")
+ require.ErrorContains(t, err, "module at path /some/go.mod was named github.com/CodeYourFuture/wrong which isn't a child of github.com/CodeYourFuture/curriculum")
+}
+
+func TestInvalidGoModFile(t *testing.T) {
+ _, _, err := checker.CheckFile("/some/go.mod", []byte("hello"), "github.com/CodeYourFuture/curriculum")
+ require.ErrorContains(t, err, "failed to parse /some/go.mod as go.mod file: ")
+}