From 1b3692ad8e4b30ea2fcd2365fb99778fba15c0f7 Mon Sep 17 00:00:00 2001 From: tom-chate <134966366+tom-chate@users.noreply.github.com> Date: Wed, 19 Nov 2025 17:17:12 +0000 Subject: [PATCH 01/32] Refactor example1.md for variable check grader --- parsons/example1.md | 61 +++++++++++++++++++++++++-------------------- 1 file changed, 34 insertions(+), 27 deletions(-) diff --git a/parsons/example1.md b/parsons/example1.md index 0542c8aeb..1ffdf0905 100644 --- a/parsons/example1.md +++ b/parsons/example1.md @@ -2,44 +2,51 @@ layout: default title: Page 2 Example (Variable Check Grader) --- - -Construct a program that swaps the values of variables x and y using the helper variable tmp. You can change the names of the variables () by clicking them. - -
-
-
-

- - -

- [Next](./example2.html) From cb63cbdf4a2ffd0a1d6da01c93927205bce1a6d0 Mon Sep 17 00:00:00 2001 From: tom-chate <134966366+tom-chate@users.noreply.github.com> Date: Wed, 19 Nov 2025 17:18:50 +0000 Subject: [PATCH 02/32] Update title for password checker page --- parsons/example1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parsons/example1.md b/parsons/example1.md index 1ffdf0905..fe4762200 100644 --- a/parsons/example1.md +++ b/parsons/example1.md @@ -1,6 +1,6 @@ --- layout: default -title: Page 2 Example (Variable Check Grader) +title: Password Checker: Conditional Controlled ---
From cfbcb411dcfa3137eae5ef188c0a860517a2fcbe Mon Sep 17 00:00:00 2001 From: tom-chate <134966366+tom-chate@users.noreply.github.com> Date: Wed, 19 Nov 2025 17:20:24 +0000 Subject: [PATCH 03/32] Fix title formatting in example1.md --- parsons/example1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parsons/example1.md b/parsons/example1.md index fe4762200..ffff7c3e7 100644 --- a/parsons/example1.md +++ b/parsons/example1.md @@ -1,6 +1,6 @@ --- layout: default -title: Password Checker: Conditional Controlled +title: "Password Checker: Conditional Controlled" ---
From 05af18ac7eb8934a62e7744f870d1bfd62f6f873 Mon Sep 17 00:00:00 2001 From: tom-chate <134966366+tom-chate@users.noreply.github.com> Date: Wed, 19 Nov 2025 17:26:18 +0000 Subject: [PATCH 04/32] Update title and refactor JavaScript code --- parsons/example1.md | 56 +++++++++++++++++++++------------------------ 1 file changed, 26 insertions(+), 30 deletions(-) diff --git a/parsons/example1.md b/parsons/example1.md index ffff7c3e7..a99bf2f35 100644 --- a/parsons/example1.md +++ b/parsons/example1.md @@ -1,32 +1,27 @@ --- layout: default -title: "Password Checker: Conditional Controlled" +title: "Password Checker: Conditional Controlled New" --- +
+

- [Next](./example2.html) From 4a704b34986ab653de58590cb5592e07497c2b59 Mon Sep 17 00:00:00 2001 From: tom-chate Date: Wed, 19 Nov 2025 19:37:22 +0000 Subject: [PATCH 05/32] Menu System --- Deployments.png | Bin 33186 -> 0 bytes Environments.png | Bin 51739 -> 0 bytes _layouts/default.html | 11 ----- _layouts/page.html | 5 +-- index.markdown | 10 +++++ parsons/passwords-condition-controlled.md | 47 ++++++++++++++++++++++ 6 files changed, 58 insertions(+), 15 deletions(-) delete mode 100644 Deployments.png delete mode 100644 Environments.png create mode 100644 parsons/passwords-condition-controlled.md diff --git a/Deployments.png b/Deployments.png deleted file mode 100644 index c429139e29530d2279b5dd0553f47cb1f971657c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33186 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

A`iDLBlDm8^RTO%!oD<Il08yA&hG@Z-V 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

{{ page.title | default: site.title | default: site.github.repository_name }}

{{ page.description | default: site.description | default: site.github.project_tagline }}

- {% if site.github.is_project_page %} -
View on GitHub - {% endif %} - {% if site.show_downloads %} - Download .zip - Download .tar.gz - {% endif %}
{{ content }}
diff --git a/_layouts/page.html b/_layouts/page.html index 4ab6b23b9..6e683b382 100644 --- a/_layouts/page.html +++ b/_layouts/page.html @@ -26,10 +26,7 @@

{{ page.title | default: site.title | default: site.git {{ content }} diff --git a/index.markdown b/index.markdown index 44c44ba44..73c1f988c 100644 --- a/index.markdown +++ b/index.markdown @@ -17,6 +17,16 @@ Re-arrange the blocks below so they print out "Hello World!"

+ + + + + + From 3d98a961778e60c6ca6be925d97e58ffb80f4f29 Mon Sep 17 00:00:00 2001 From: tom-chate Date: Wed, 19 Nov 2025 19:41:20 +0000 Subject: [PATCH 06/32] Home Page Change --- index.markdown | 245 +------------------------------------------------ 1 file changed, 1 insertion(+), 244 deletions(-) diff --git a/index.markdown b/index.markdown index 73c1f988c..2370943c2 100644 --- a/index.markdown +++ b/index.markdown @@ -3,255 +3,12 @@ # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults layout: default -title: Multiple Parson's Problems on One Page +title: Home Page --- # Parsons Practice - -## Parsons 1 (Line Based Grader) -Re-arrange the blocks below so they print out "Hello World!" - -
-
-
-

- - -

- - - - - - - -## Parsons 2 (Variable Check Grader) -Construct a program that swaps the values of variables x and y using the helper variable tmp. You can change the names of the variables () by clicking them. - -
-
-
-

- - -

- - -## Parsons 3 (Unit Test Grader) -Your task is to construct a function which returns the index of the largest element in the array. - -
-
-
-

- - -

- - -## Parsons 4 (Language Translation Grader) -Print out "I am a Java program" three times using a for loop. - -
-
-
-

- - -

- - - -## Parsons 5 (Turtle Grader) -Construct a program by dragging&dropping and reordering lines. The constructed program should draw a triangle like shown below. - -
-
-
-

- - -

- - -### Implementation Notes - -When you host multiple Parson's problems on a single markdown page, you need to add a unique prefix. You can easily do this in the Codio generator by typing a unique prefix into the "Prefix" textbox and pressing Enter/Return. Then you can simply copy-paste like normal. - -If want each problem to be it's own page, you can use relative path links at the bottom of each of your markdown pages as seen below. If you want students to be able to return to previous problems in this format, consider adding previous links or link to a table of contents like page. - -### Example Next Link -[Next](./parsons/example1.html) From 7f9c3449e37c5d259ff81d4bc8cb3baad5ba6394 Mon Sep 17 00:00:00 2001 From: tom-chate Date: Wed, 19 Nov 2025 19:48:15 +0000 Subject: [PATCH 07/32] Changing Format --- _layouts/page.html | 2 +- parsons/example1.md | 48 ----------------------- parsons/example2.md | 41 ------------------- parsons/passwords-condition-controlled.md | 6 ++- 4 files changed, 6 insertions(+), 91 deletions(-) delete mode 100644 parsons/example1.md delete mode 100644 parsons/example2.md diff --git a/_layouts/page.html b/_layouts/page.html index 6e683b382..10c53b728 100644 --- a/_layouts/page.html +++ b/_layouts/page.html @@ -20,7 +20,7 @@
{{ content }} diff --git a/parsons/example1.md b/parsons/example1.md deleted file mode 100644 index a99bf2f35..000000000 --- a/parsons/example1.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -layout: default -title: "Password Checker: Conditional Controlled New" ---- - -
-
-
- -

- - -

- - - -[Next](./example2.html) diff --git a/parsons/example2.md b/parsons/example2.md deleted file mode 100644 index 6a27b240b..000000000 --- a/parsons/example2.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -layout: default -title: Example 2 ---- -
-
-
- -

- - -

- - - -[Previous](./example1.html) diff --git a/parsons/passwords-condition-controlled.md b/parsons/passwords-condition-controlled.md index 36305143d..5f1c50d55 100644 --- a/parsons/passwords-condition-controlled.md +++ b/parsons/passwords-condition-controlled.md @@ -1,6 +1,6 @@ --- layout: default -title: "Password Checker: Conditional Controlled New" +title: "Password Checker: Conditional Controlled" ---
@@ -11,7 +11,11 @@ title: "Password Checker: Conditional Controlled New"

+

+An algorithm is used to ensure a password is at least 7 characters in length. The user is repeatedly asked to enter a password until it is longer than 7 characters.​ +A counter is used to count how many attempts it took to create a "strong" password. The counter and allowed password is outputted +

diff --git a/parsons/passwords-condition-controlled.md b/parsons/passwords-condition-controlled.md index b7bfdd4e0..2f8404d2d 100644 --- a/parsons/passwords-condition-controlled.md +++ b/parsons/passwords-condition-controlled.md @@ -3,9 +3,9 @@ layout: default title: "Password Checker: Conditional Controlled" ---

-An algorithm is used to ensure a password is at least 7 characters in length. The user is repeatedly asked to enter a password until it is longer than 7 characters.​ - -A counter is used to count how many attempts it took to create a "strong" password. The counter and allowed password is outputted. + Ask the user to input how many GCSE’s they have. They should then be allowed to enter a result for each GCSE grade. The computer should work out how many +points they have got (9=9, 8=8, 7=7 etc). If their total score is 40 or over it should output ‘You can go to the sixth form’. If they their score between 35 and 39 it should +output ‘A discussion is needed. Otherwise, it should say ‘Sorry not enough points.’ Drag or shuffle the blocks of code in the practice problems below. Remember to indent where appropriate by dragging blocks to the right. From 730883bab8740e876871e03aa5755b8955618cf3 Mon Sep 17 00:00:00 2001 From: tom-chate Date: Wed, 19 Nov 2025 20:07:05 +0000 Subject: [PATCH 10/32] Style Changes --- assets/css/style.scss | 5 ++ parsons/GCSE-total-grade-calc.md | 14 ++--- parsons/passwords-condition-controlled.md | 70 +++++++++++++---------- 3 files changed, 51 insertions(+), 38 deletions(-) diff --git a/assets/css/style.scss b/assets/css/style.scss index 62f843e0e..f1f0a2387 100644 --- a/assets/css/style.scss +++ b/assets/css/style.scss @@ -5,4 +5,9 @@ .sortable-code { width: 56%; +} + +.body{ + background-color: #BAFFC9; + font-family: Arial, Helvetica, sans-serif; } \ No newline at end of file diff --git a/parsons/GCSE-total-grade-calc.md b/parsons/GCSE-total-grade-calc.md index 8f2bf639d..1b905cb1d 100644 --- a/parsons/GCSE-total-grade-calc.md +++ b/parsons/GCSE-total-grade-calc.md @@ -9,15 +9,13 @@ title: "Password Checker: Conditional Controlled" If their total score is 40 or over it should output ‘You can go to the sixth form’. If their score between 35 and 39 it should output ‘A discussion is needed.’ Otherwise, it should say ‘Sorry not enough points.’ -

- -

-Drag or shuffle the blocks of code in the practice problems below.
-Remember to indent where appropriate by dragging blocks to the right.
-To check your work, press the "Get Feedback" button.
+

+

+Drag or shuffle the blocks of code in the practice problems below. +Remember to indent where appropriate by dragging blocks to the right. +To check your work, press the "Get Feedback" button. To start over, press the "Reset Problem" button. -

- +

diff --git a/parsons/passwords-condition-controlled.md b/parsons/passwords-condition-controlled.md index 2f8404d2d..16e298ff1 100644 --- a/parsons/passwords-condition-controlled.md +++ b/parsons/passwords-condition-controlled.md @@ -6,33 +6,45 @@ title: "Password Checker: Conditional Controlled" Ask the user to input how many GCSE’s they have. They should then be allowed to enter a result for each GCSE grade. The computer should work out how many points they have got (9=9, 8=8, 7=7 etc). If their total score is 40 or over it should output ‘You can go to the sixth form’. If they their score between 35 and 39 it should output ‘A discussion is needed. Otherwise, it should say ‘Sorry not enough points.’ - +

+

Drag or shuffle the blocks of code in the practice problems below. Remember to indent where appropriate by dragging blocks to the right. To check your work, press the "Get Feedback" button. To start over, press the "Reset Problem" button.

- -
-

- - - + }); + parsonsPuzzle.init(initial); + parsonsPuzzle.shuffleLines(); + $("#newInstanceLink").click(function(event){ + event.preventDefault(); + parsonsPuzzle.shuffleLines(); + }); + $("#feedbackLink").click(function(event){ + event.preventDefault(); + parsonsPuzzle.getFeedback(); + }); +})(); + \ No newline at end of file From 6aa23586891fe26ec61409d2517fad7f32a11c57 Mon Sep 17 00:00:00 2001 From: tom-chate Date: Wed, 19 Nov 2025 20:09:36 +0000 Subject: [PATCH 11/32] Update passwords-condition-controlled.md --- parsons/passwords-condition-controlled.md | 112 +++++++++++----------- 1 file changed, 56 insertions(+), 56 deletions(-) diff --git a/parsons/passwords-condition-controlled.md b/parsons/passwords-condition-controlled.md index 16e298ff1..a3cfbabd3 100644 --- a/parsons/passwords-condition-controlled.md +++ b/parsons/passwords-condition-controlled.md @@ -3,66 +3,66 @@ layout: default title: "Password Checker: Conditional Controlled" ---

- Ask the user to input how many GCSE’s they have. They should then be allowed to enter a result for each GCSE grade. The computer should work out how many -points they have got (9=9, 8=8, 7=7 etc). If their total score is 40 or over it should output ‘You can go to the sixth form’. If they their score between 35 and 39 it should -output ‘A discussion is needed. Otherwise, it should say ‘Sorry not enough points.’ -

+ Ask the user to input how many GCSE’s they have. They should then be allowed to enter a result for each GCSE grade. The computer should work out how many +points they have got (9=9, 8=8, 7=7 etc). If their total score is 40 or over it should output ‘You can go to the sixth form’. If their score is between 35 and 39 it should +output ‘A discussion is needed.’ Otherwise, it should say ‘Sorry not enough points.’ +

+

-Drag or shuffle the blocks of code in the practice problems below. -Remember to indent where appropriate by dragging blocks to the right. -To check your work, press the "Get Feedback" button. +Drag or shuffle the blocks of code in the practice problems below.
+Remember to indent where appropriate by dragging blocks to the right.
+To check your work, press the "Get Feedback" button.
To start over, press the "Reset Problem" button. -

-
-
-
-

- - -

- \ No newline at end of file + + $("#newInstanceLink").click(function(event) { + event.preventDefault(); + parsonsPuzzle.shuffleLines(); + }); + + $("#feedbackLink").click(function(event) { + event.preventDefault(); + parsonsPuzzle.getFeedback(); + }); + +})(); + From ffa7115a03217bd748c6d55018c8ecded105d2bd Mon Sep 17 00:00:00 2001 From: tom-chate Date: Wed, 19 Nov 2025 20:12:16 +0000 Subject: [PATCH 12/32] Update style.scss --- assets/css/style.scss | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/assets/css/style.scss b/assets/css/style.scss index f1f0a2387..54aa3526a 100644 --- a/assets/css/style.scss +++ b/assets/css/style.scss @@ -9,5 +9,20 @@ .body{ background-color: #BAFFC9; - font-family: Arial, Helvetica, sans-serif; -} \ No newline at end of file +} + +body { + background-color: #BAFFC9; + font-family: 'Open Sans', Arial, sans-serif; + font-weight: 400; + line-height: 1.5; + color: #333333; /* good readable base colour */ +} + +h1, h2, h3, h4, h5, h6 { + font-family: 'Open Sans', Arial, sans-serif; + font-weight: 600; /* or 700 for stronger headings */ + margin-top: 1.4em; + margin-bottom: 0.5em; + line-height: 1.2; +} From f73d55aed033e99c22f09f69dbc35912b042e785 Mon Sep 17 00:00:00 2001 From: tom-chate Date: Wed, 19 Nov 2025 20:15:52 +0000 Subject: [PATCH 13/32] style --- _layouts/default.html | 2 +- _layouts/page.html | 2 +- assets/css/style.scss | 3 --- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/_layouts/default.html b/_layouts/default.html index b89ac59ec..8788e02ad 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -31,7 +31,7 @@ - +
-
- -
diff --git a/assets/css/style.scss b/assets/css/style.scss index 7907f3090..81e89ad56 100644 --- a/assets/css/style.scss +++ b/assets/css/style.scss @@ -2,7 +2,7 @@ --- @import "{{ site.theme }}"; -/* Layout: sticky footer */ +/* ===== Layout: sticky footer + full-height body ===== */ html, body { height: 100%; @@ -34,29 +34,23 @@ body { flex-shrink: 0; } -/* Header overlay styles */ -#pageHeader { - color: #fff; -} - -.overlay-1 { - background: linear-gradient(to right, #0d6efd, #198754); +/* ===== Header overlay via CSS variables ===== */ +:root { + --overlay-start: #0d6efd; /* default left colour */ + --overlay-end: #198754; /* default right colour */ } -.overlay-2 { - background: linear-gradient(to right, #9a233f, #3a8ecb); -} - -.overlay-3 { - background: linear-gradient(to right, #343a40, #6c757d); +#pageHeader { + background: linear-gradient(to right, var(--overlay-start), var(--overlay-end)); + color: #fff; } -/* Footer styling */ +/* ===== Footer styling ===== */ .site-footer { background-color: #212529; /* same as navbar bg-dark */ - color: #f8f9fa; /* Bootstrap text-light */ + color: #f8f9fa; /* Bootstrap text-light */ padding: 0.75rem 1.25rem; - margin-top: auto; /* ensures bottom alignment */ + margin-top: auto; /* ensures bottom alignment */ border-top: 1px solid rgba(255,255,255,0.08); box-shadow: 0 -1px 6px rgba(0, 0, 0, 0.25); } @@ -77,7 +71,7 @@ body { gap: 0.5rem; } -/* YouTube link – Option 2 styling */ +/* YouTube link – styled pill */ .footer-link { display: inline-flex; align-items: center; @@ -101,7 +95,7 @@ body { text-decoration: none; } -/* Overlay button styled to match */ +/* Overlay toggle button styled to match */ .site-footer #overlayToggle { background: none; color: #f8f9fa; @@ -117,18 +111,7 @@ body { border-color: rgba(255,255,255,0.7); } -/* Parsons area */ -.sortable-code { - width: 100%; -} - -h1, h2, h3, h4, h5, h6 { - font-family: 'Open Sans', Arial, sans-serif; - font-weight: 600; - margin-top: 1.4em; - margin-bottom: 0.5em; - line-height: 1.2; -} +/* ===== Navbar dropdowns (Parson Puzzles multi-level) ===== */ .dropdown-header { font-size: 0.8rem; font-weight: 600; @@ -141,13 +124,14 @@ h1, h2, h3, h4, h5, h6 { font-weight: 600; background-color: rgba(13, 110, 253, 0.15); } + +/* Base width for dropdowns */ .dropdown-menu { width: max-content; min-width: 260px; } - -/* Position the second-level dropdown to the right of the first */ +/* Second-level dropdown positioning */ .dropdown-submenu .dropdown-menu { top: 0; left: 100%; @@ -155,15 +139,14 @@ h1, h2, h3, h4, h5, h6 { margin-right: .1rem; } -/* Show the submenu on hover (desktop) */ +/* Show submenu on hover (desktop) */ @media (min-width: 992px) { .navbar .dropdown-menu .dropdown-submenu:hover > .dropdown-menu { display: block; } } -/* Optional: make category items look like real parents */ -/* Right-facing arrow for dropend submenus */ +/* Right-facing arrow for submenus */ .dropdown-submenu > .dropdown-item.dropdown-toggle::after { float: right; border-top: .3em solid transparent; @@ -173,62 +156,59 @@ h1, h2, h3, h4, h5, h6 { margin-top: .45rem; } +/* ===== Carousel arrows (override Bootstrap icons) ===== */ -/* Optional polish */ -.dropdown-item.active { - font-weight: 600; - background-color: rgba(13, 110, 253, 0.15); -} -/* Make carousel arrows visible on light backgrounds */ -.carousel-control-prev-icon, -.carousel-control-next-icon { - background-color: rgba(0, 0, 0, 0.6); - border-radius: 50%; - background-size: 60% 60%; -} - -.carousel-control-prev, -.carousel-control-next { - width: 5%; -} -/* Completely override Bootstrap's carousel icons and draw our own */ - -/* Reset Bootstrap defaults */ +/* Remove Bootstrap's default background-image icons */ .carousel-control-prev-icon, .carousel-control-next-icon { - background-image: none !important; /* kill the SVG */ + background-image: none !important; background-color: transparent; - width: 2.5rem; - height: 2.5rem; + width: 2rem; + height: 2rem; display: inline-flex; align-items: center; justify-content: center; + border-radius: 50%; + background-color: rgba(0, 0, 0, 0.5); /* dark circle */ } -/* Left arrow */ +/* Custom chevrons */ .carousel-control-prev-icon::after { - content: '‹'; /* left chevron */ + content: '‹'; font-size: 2rem; line-height: 1; color: #ffffff; } -/* Right arrow */ .carousel-control-next-icon::after { - content: '›'; /* right chevron */ + content: '›'; font-size: 2rem; line-height: 1; color: #ffffff; } -/* Optional: dark circular background so they pop on mint green */ +/* Control hitbox width */ .carousel-control-prev, .carousel-control-next { width: 6%; } -.carousel-control-prev-icon, -.carousel-control-next-icon { - border-radius: 50%; - background-color: rgba(0, 0, 0, 0.5); +/* Push content in from the edges inside each slide + (so arrows don't overlap text/buttons) */ +#homeCarousel .carousel-item > .d-flex { + padding-left: 3.5rem; + padding-right: 3.5rem; +} + +/* ===== Misc styling ===== */ +.sortable-code { + width: 100%; +} + +h1, h2, h3, h4, h5, h6 { + font-family: 'Open Sans', Arial, sans-serif; + font-weight: 600; + margin-top: 1.4em; + margin-bottom: 0.5em; + line-height: 1.2; } diff --git a/index.markdown b/index.markdown index 6420fb652..621e7ac28 100644 --- a/index.markdown +++ b/index.markdown @@ -5,71 +5,70 @@ layout: default title: Home Page --- -

+ - - - +
{{ content }} -
- - -
- -
+
+ +
+ - - - diff --git a/_layouts/page.html b/_layouts/page.html index ddf8da35e..5af607453 100644 --- a/_layouts/page.html +++ b/_layouts/page.html @@ -12,28 +12,22 @@ {% endif %} - {% seo %} +{% seo %} - -
{{ content }} -
- -
- -
+
+
+ - + \ No newline at end of file diff --git a/assets/css/style.scss b/assets/css/style.scss index 7907f3090..6273cc0af 100644 --- a/assets/css/style.scss +++ b/assets/css/style.scss @@ -2,233 +2,33 @@ --- @import "{{ site.theme }}"; -/* Layout: sticky footer */ -html, -body { - height: 100%; - margin: 0; -} - -body { - display: flex; - flex-direction: column; - background-color: #BAFFC9; - font-family: 'Open Sans', Arial, sans-serif; - font-weight: 400; - line-height: 1.5; - color: #333; - overflow-x: visible !important; +.sortable-code { + width: 100%; } .main-content { - flex: 1 0 auto; max-width: 100% !important; width: 100% !important; } -.page-header { - flex-shrink: 0; -} - -.site-footer { - flex-shrink: 0; -} - -/* Header overlay styles */ -#pageHeader { - color: #fff; -} - -.overlay-1 { - background: linear-gradient(to right, #0d6efd, #198754); -} - -.overlay-2 { - background: linear-gradient(to right, #9a233f, #3a8ecb); -} - -.overlay-3 { - background: linear-gradient(to right, #343a40, #6c757d); -} - -/* Footer styling */ -.site-footer { - background-color: #212529; /* same as navbar bg-dark */ - color: #f8f9fa; /* Bootstrap text-light */ - padding: 0.75rem 1.25rem; - margin-top: auto; /* ensures bottom alignment */ - border-top: 1px solid rgba(255,255,255,0.08); - box-shadow: 0 -1px 6px rgba(0, 0, 0, 0.25); -} - -.site-footer .footer-inner { - max-width: 100%; - padding: 0 1rem; - display: flex; - align-items: center; - justify-content: space-between; - font-size: 0.9rem; -} - -/* Right-hand controls container (YouTube + button) */ -.footer-actions { - display: flex; - align-items: center; - gap: 0.5rem; -} - -/* YouTube link – Option 2 styling */ -.footer-link { - display: inline-flex; - align-items: center; - gap: 0.4rem; - color: #f8f9fa; - text-decoration: none; - font-size: 0.85rem; - padding: 0.25rem 0.6rem; - border-radius: 0.25rem; - border: 1px solid rgba(255,255,255,0.25); -} - -.footer-link i { - color: #ff0000; /* YouTube red */ -} - -.footer-link:hover { - background: rgba(255,0,0,0.12); - border-color: #ff0000; - color: #ffffff; - text-decoration: none; -} - -/* Overlay button styled to match */ -.site-footer #overlayToggle { - background: none; - color: #f8f9fa; - border: 1px solid rgba(255,255,255,0.4); - padding: 0.25rem 0.6rem; - border-radius: 0.25rem; - font-size: 0.8rem; - cursor: pointer; -} -.site-footer #overlayToggle:hover { - background: rgba(255,255,255,0.1); - border-color: rgba(255,255,255,0.7); +.body{ + background-color: #BAFFC9; } -/* Parsons area */ -.sortable-code { - width: 100%; +body { + background-color: #BAFFC9; + font-family: 'Open Sans', Arial, sans-serif; + font-weight: 400; + line-height: 1.5; + color: #333333; /* good readable base colour */ + overflow-x: visible !important; } h1, h2, h3, h4, h5, h6 { font-family: 'Open Sans', Arial, sans-serif; - font-weight: 600; + font-weight: 600; /* or 700 for stronger headings */ margin-top: 1.4em; margin-bottom: 0.5em; line-height: 1.2; } -.dropdown-header { - font-size: 0.8rem; - font-weight: 600; - text-transform: uppercase; - letter-spacing: 0.05em; - color: #6c757d; -} - -.dropdown-item.active { - font-weight: 600; - background-color: rgba(13, 110, 253, 0.15); -} -.dropdown-menu { - width: max-content; - min-width: 260px; -} - - -/* Position the second-level dropdown to the right of the first */ -.dropdown-submenu .dropdown-menu { - top: 0; - left: 100%; - margin-left: .1rem; - margin-right: .1rem; -} - -/* Show the submenu on hover (desktop) */ -@media (min-width: 992px) { - .navbar .dropdown-menu .dropdown-submenu:hover > .dropdown-menu { - display: block; - } -} - -/* Optional: make category items look like real parents */ -/* Right-facing arrow for dropend submenus */ -.dropdown-submenu > .dropdown-item.dropdown-toggle::after { - float: right; - border-top: .3em solid transparent; - border-right: 0; - border-bottom: .3em solid transparent; - border-left: .3em solid currentColor; - margin-top: .45rem; -} - - -/* Optional polish */ -.dropdown-item.active { - font-weight: 600; - background-color: rgba(13, 110, 253, 0.15); -} -/* Make carousel arrows visible on light backgrounds */ -.carousel-control-prev-icon, -.carousel-control-next-icon { - background-color: rgba(0, 0, 0, 0.6); - border-radius: 50%; - background-size: 60% 60%; -} - -.carousel-control-prev, -.carousel-control-next { - width: 5%; -} -/* Completely override Bootstrap's carousel icons and draw our own */ - -/* Reset Bootstrap defaults */ -.carousel-control-prev-icon, -.carousel-control-next-icon { - background-image: none !important; /* kill the SVG */ - background-color: transparent; - width: 2.5rem; - height: 2.5rem; - display: inline-flex; - align-items: center; - justify-content: center; -} - -/* Left arrow */ -.carousel-control-prev-icon::after { - content: '‹'; /* left chevron */ - font-size: 2rem; - line-height: 1; - color: #ffffff; -} - -/* Right arrow */ -.carousel-control-next-icon::after { - content: '›'; /* right chevron */ - font-size: 2rem; - line-height: 1; - color: #ffffff; -} - -/* Optional: dark circular background so they pop on mint green */ -.carousel-control-prev, -.carousel-control-next { - width: 6%; -} - -.carousel-control-prev-icon, -.carousel-control-next-icon { - border-radius: 50%; - background-color: rgba(0, 0, 0, 0.5); -} diff --git a/index.markdown b/index.markdown index 6420fb652..3e5e2aef7 100644 --- a/index.markdown +++ b/index.markdown @@ -5,71 +5,13 @@ layout: default title: Home Page --- - +
  • Contact Us
  • + diff --git a/parsons/parsons b/parsons/parsons deleted file mode 100644 index e69de29bb..000000000 From 7847b27c4e0cc4254820cae15c1ce0075dca6dd5 Mon Sep 17 00:00:00 2001 From: tom-chate Date: Sun, 7 Dec 2025 16:51:32 +0000 Subject: [PATCH 31/32] eror fix --- _layouts/default.html | 141 +++++++++++++++++++++++++- _layouts/page.html | 11 ++ assets/css/style.scss | 230 ++++++++++++++++++++++++++++++++++++++++++ index.markdown | 71 +++++++++++++ 4 files changed, 450 insertions(+), 3 deletions(-) diff --git a/_layouts/default.html b/_layouts/default.html index 58950a5b1..328a7deac 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -25,11 +25,19 @@ integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous" > +<<<<<<< HEAD +======= + + + +>>>>>>> parent of f2b22c1 (Colour Overlay; Attempt 1) +<<<<<<< HEAD - + + + + +
    {{ content }} @@ -69,11 +152,63 @@

    +<<<<<<< HEAD +======= + +
    + +
    + +>>>>>>> parent of f2b22c1 (Colour Overlay; Attempt 1) +<<<<<<< HEAD +======= + + + +>>>>>>> parent of f2b22c1 (Colour Overlay; Attempt 1) diff --git a/_layouts/page.html b/_layouts/page.html index 5af607453..de24672b3 100644 --- a/_layouts/page.html +++ b/_layouts/page.html @@ -29,5 +29,16 @@

    {{ page.title | default: site.title }}

    +<<<<<<< HEAD +======= + +
    + +
    + + +>>>>>>> parent of f2b22c1 (Colour Overlay; Attempt 1) \ No newline at end of file diff --git a/assets/css/style.scss b/assets/css/style.scss index 6273cc0af..2ef82920e 100644 --- a/assets/css/style.scss +++ b/assets/css/style.scss @@ -2,15 +2,39 @@ --- @import "{{ site.theme }}"; +<<<<<<< HEAD .sortable-code { width: 100%; } .main-content { +======= +/* Layout: sticky footer */ +html, +body { + height: 100%; + margin: 0; +} + +body { + display: flex; + flex-direction: column; + background-color: #BAFFC9; + font-family: 'Open Sans', Arial, sans-serif; + font-weight: 400; + line-height: 1.5; + color: #333; + overflow-x: visible !important; +} + +.main-content { + flex: 1 0 auto; +>>>>>>> parent of f2b22c1 (Colour Overlay; Attempt 1) max-width: 100% !important; width: 100% !important; } +<<<<<<< HEAD .body{ background-color: #BAFFC9; @@ -23,12 +47,218 @@ body { line-height: 1.5; color: #333333; /* good readable base colour */ overflow-x: visible !important; +======= +.page-header { + flex-shrink: 0; +} + +.site-footer { + flex-shrink: 0; +} + +/* Header overlay styles */ +#pageHeader { + color: #fff; +} + +.overlay-1 { + background: linear-gradient(to right, #0d6efd, #198754); +} + +.overlay-2 { + background: linear-gradient(to right, #9a233f, #3a8ecb); +} + +.overlay-3 { + background: linear-gradient(to right, #343a40, #6c757d); +} + +/* Footer styling */ +.site-footer { + background-color: #212529; /* same as navbar bg-dark */ + color: #f8f9fa; /* Bootstrap text-light */ + padding: 0.75rem 1.25rem; + margin-top: auto; /* ensures bottom alignment */ + border-top: 1px solid rgba(255,255,255,0.08); + box-shadow: 0 -1px 6px rgba(0, 0, 0, 0.25); +} + +.site-footer .footer-inner { + max-width: 100%; + padding: 0 1rem; + display: flex; + align-items: center; + justify-content: space-between; + font-size: 0.9rem; +} + +/* Right-hand controls container (YouTube + button) */ +.footer-actions { + display: flex; + align-items: center; + gap: 0.5rem; +} + +/* YouTube link – Option 2 styling */ +.footer-link { + display: inline-flex; + align-items: center; + gap: 0.4rem; + color: #f8f9fa; + text-decoration: none; + font-size: 0.85rem; + padding: 0.25rem 0.6rem; + border-radius: 0.25rem; + border: 1px solid rgba(255,255,255,0.25); +} + +.footer-link i { + color: #ff0000; /* YouTube red */ +} + +.footer-link:hover { + background: rgba(255,0,0,0.12); + border-color: #ff0000; + color: #ffffff; + text-decoration: none; +} + +/* Overlay button styled to match */ +.site-footer #overlayToggle { + background: none; + color: #f8f9fa; + border: 1px solid rgba(255,255,255,0.4); + padding: 0.25rem 0.6rem; + border-radius: 0.25rem; + font-size: 0.8rem; + cursor: pointer; +} + +.site-footer #overlayToggle:hover { + background: rgba(255,255,255,0.1); + border-color: rgba(255,255,255,0.7); +} + +/* Parsons area */ +.sortable-code { + width: 100%; +>>>>>>> parent of f2b22c1 (Colour Overlay; Attempt 1) } h1, h2, h3, h4, h5, h6 { font-family: 'Open Sans', Arial, sans-serif; +<<<<<<< HEAD font-weight: 600; /* or 700 for stronger headings */ margin-top: 1.4em; margin-bottom: 0.5em; line-height: 1.2; +======= + font-weight: 600; + margin-top: 1.4em; + margin-bottom: 0.5em; + line-height: 1.2; +} +.dropdown-header { + font-size: 0.8rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.05em; + color: #6c757d; +} + +.dropdown-item.active { + font-weight: 600; + background-color: rgba(13, 110, 253, 0.15); +} +.dropdown-menu { + width: max-content; + min-width: 260px; +} + + +/* Position the second-level dropdown to the right of the first */ +.dropdown-submenu .dropdown-menu { + top: 0; + left: 100%; + margin-left: .1rem; + margin-right: .1rem; +} + +/* Show the submenu on hover (desktop) */ +@media (min-width: 992px) { + .navbar .dropdown-menu .dropdown-submenu:hover > .dropdown-menu { + display: block; + } +} + +/* Optional: make category items look like real parents */ +/* Right-facing arrow for dropend submenus */ +.dropdown-submenu > .dropdown-item.dropdown-toggle::after { + float: right; + border-top: .3em solid transparent; + border-right: 0; + border-bottom: .3em solid transparent; + border-left: .3em solid currentColor; + margin-top: .45rem; +} + + +/* Optional polish */ +.dropdown-item.active { + font-weight: 600; + background-color: rgba(13, 110, 253, 0.15); +} +/* Make carousel arrows visible on light backgrounds */ +.carousel-control-prev-icon, +.carousel-control-next-icon { + background-color: rgba(0, 0, 0, 0.6); + border-radius: 50%; + background-size: 60% 60%; +} + +.carousel-control-prev, +.carousel-control-next { + width: 5%; +} +/* Completely override Bootstrap's carousel icons and draw our own */ + +/* Reset Bootstrap defaults */ +.carousel-control-prev-icon, +.carousel-control-next-icon { + background-image: none !important; /* kill the SVG */ + background-color: transparent; + width: 2.5rem; + height: 2.5rem; + display: inline-flex; + align-items: center; + justify-content: center; +} + +/* Left arrow */ +.carousel-control-prev-icon::after { + content: '‹'; /* left chevron */ + font-size: 2rem; + line-height: 1; + color: #ffffff; +} + +/* Right arrow */ +.carousel-control-next-icon::after { + content: '›'; /* right chevron */ + font-size: 2rem; + line-height: 1; + color: #ffffff; +} + +/* Optional: dark circular background so they pop on mint green */ +.carousel-control-prev, +.carousel-control-next { + width: 6%; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + border-radius: 50%; + background-color: rgba(0, 0, 0, 0.5); +>>>>>>> parent of f2b22c1 (Colour Overlay; Attempt 1) } diff --git a/index.markdown b/index.markdown index 3e5e2aef7..0cce9f653 100644 --- a/index.markdown +++ b/index.markdown @@ -5,6 +5,7 @@ layout: default title: Home Page --- +<<<<<<< HEAD +======= + +>>>>>>> parent of f2b22c1 (Colour Overlay; Attempt 1) From 96cf2cf7e220f92d6244ffb0271c3933081e4018 Mon Sep 17 00:00:00 2001 From: tom-chate Date: Sun, 7 Dec 2025 16:58:38 +0000 Subject: [PATCH 32/32] Revert of Overlay Fix --- _layouts/default.html | 19 ------------------- assets/css/style.scss | 8 ++++---- 2 files changed, 4 insertions(+), 23 deletions(-) diff --git a/_layouts/default.html b/_layouts/default.html index d2ce90ac9..525d27ba0 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -107,14 +107,6 @@ - - - -
    {{ content }} @@ -135,17 +127,6 @@

    > YouTube - - - - - - - - - - - diff --git a/assets/css/style.scss b/assets/css/style.scss index 81e89ad56..2424c1301 100644 --- a/assets/css/style.scss +++ b/assets/css/style.scss @@ -12,7 +12,7 @@ body { body { display: flex; flex-direction: column; - background-color: #BAFFC9; + background-color: #cee0e9; font-family: 'Open Sans', Arial, sans-serif; font-weight: 400; line-height: 1.5; @@ -165,17 +165,17 @@ body { background-color: transparent; width: 2rem; height: 2rem; - display: inline-flex; + display: none; align-items: center; justify-content: center; border-radius: 50%; - background-color: rgba(0, 0, 0, 0.5); /* dark circle */ + } /* Custom chevrons */ .carousel-control-prev-icon::after { content: '‹'; - font-size: 2rem; + font-size: 1rem; line-height: 1; color: #ffffff; }