From 3a16afcbe70f4501118f6b0bfc40338fa164ef13 Mon Sep 17 00:00:00 2001 From: JHONR2 Date: Mon, 22 Jun 2026 07:21:14 -0500 Subject: [PATCH 1/4] fix(backlog): contain horizontal rules inside issue boxes --- common-theme/assets/styles/04-components/issue.scss | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/common-theme/assets/styles/04-components/issue.scss b/common-theme/assets/styles/04-components/issue.scss index 124d49fab..0d36569f4 100644 --- a/common-theme/assets/styles/04-components/issue.scss +++ b/common-theme/assets/styles/04-components/issue.scss @@ -11,6 +11,11 @@ h3 { font-size: var(--theme-type-size--4); } + + hr { + margin: var(--theme-spacing--6) 0; + max-width: 100%; + } } &__labels { From e358ef736c0d84d5ae0a06864e2fc98d0aab9085 Mon Sep 17 00:00:00 2001 From: JHONR2 Date: Mon, 22 Jun 2026 07:22:01 -0500 Subject: [PATCH 2/4] fix(navigation): ignore arrow keys inside form input elements --- common-theme/assets/scripts/solo-view.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/common-theme/assets/scripts/solo-view.js b/common-theme/assets/scripts/solo-view.js index cef2f85f7..06e349280 100644 --- a/common-theme/assets/scripts/solo-view.js +++ b/common-theme/assets/scripts/solo-view.js @@ -141,6 +141,9 @@ class SoloView extends HTMLElement { } handleKeydown = (event) => { + if (event.target.closest('input, textarea, select, [contenteditable]')) { + return; + } if (event.key === "ArrowLeft") { this.navigateBack(event); } From b7ee98b59780629df32783a3fa8e1693c854b154 Mon Sep 17 00:00:00 2001 From: JHONR2 Date: Mon, 22 Jun 2026 07:22:52 -0500 Subject: [PATCH 3/4] feat(block): add edit on GitHub and report issue buttons --- .../assets/styles/04-components/block.scss | 46 +++++++++++++++ .../layouts/partials/block/actions.html | 58 +++++++++++++++++++ .../layouts/partials/block/local.html | 5 +- .../layouts/partials/block/readme.html | 5 +- 4 files changed, 112 insertions(+), 2 deletions(-) create mode 100644 common-theme/layouts/partials/block/actions.html diff --git a/common-theme/assets/styles/04-components/block.scss b/common-theme/assets/styles/04-components/block.scss index 997a7d326..72350942d 100644 --- a/common-theme/assets/styles/04-components/block.scss +++ b/common-theme/assets/styles/04-components/block.scss @@ -89,4 +89,50 @@ ul.c-block, ol.c-block, li.c-block { width: 100%; height: 90vh; } + + &__actions { + position: relative; + display: inline-block; + + summary { + list-style: none; + margin: 0; + padding: 0; + cursor: pointer; + &::-webkit-details-marker { + display: none; + } + } + + ul { + position: absolute; + right: 0; + top: 100%; + background: var(--theme-color--paper); + border: var(--theme-border); + border-radius: 4px; + padding: var(--theme-spacing--1) var(--theme-spacing--2); + list-style: none; + margin: var(--theme-spacing--1) 0 0 0; + z-index: 10; + min-width: 130px; + box-shadow: var(--theme-box-shadow--slim); + + li { + margin: var(--theme-spacing--1) 0; + } + + a { + font-size: var(--theme-type-size--6); + text-decoration: none; + display: block; + color: var(--theme-color--ink); + white-space: nowrap; + + &:hover { + color: var(--theme-color--pop); + } + } + } + } } diff --git a/common-theme/layouts/partials/block/actions.html b/common-theme/layouts/partials/block/actions.html new file mode 100644 index 000000000..78f2a9f04 --- /dev/null +++ b/common-theme/layouts/partials/block/actions.html @@ -0,0 +1,58 @@ +{{ $block := .block }} +{{ $blockData := .blockData }} +{{ $filePath := "" }} + +{{ if $block }} + {{ if $block.File }} + {{ $filename := $block.File.Filename }} + {{ if strings.Contains $filename "common-content" }} + {{ $filePath = index (findRE "common-content/.*" $filename 1) 0 }} + {{ else if strings.Contains $filename "org-cyf-guides" }} + {{ $filePath = index (findRE "org-cyf-guides/.*" $filename 1) 0 }} + {{ else if strings.Contains $filename "common-theme" }} + {{ $filePath = index (findRE "common-theme/.*" $filename 1) 0 }} + {{ else if strings.Contains $filename "org-cyf" }} + {{ $filePath = index (findRE "org-cyf/.*" $filename 1) 0 }} + {{ else if strings.Contains $filename "common-docs" }} + {{ $filePath = index (findRE "common-docs/.*" $filename 1) 0 }} + {{ else }} + {{ $filePath = $block.File.Path }} + {{ end }} + {{ end }} +{{ end }} + +{{ $editUrl := "" }} +{{ $issueUrl := "" }} + +{{ if $filePath }} + {{ $repoUrl := .Site.Params.repo | default "https://github.com/CodeYourFuture/curriculum/" }} + {{ $editUrl = printf "%sedit/main/%s" $repoUrl $filePath }} + {{ $issueUrl = printf "%sissues/new?title=Feedback+on:+%s&body=Block+source:+%s" $repoUrl (urlquery $block.Title) (urlquery $filePath) }} +{{ else if eq $blockData.type "readme" }} + {{ $editUrl = .html_url }} + {{ if $editUrl }} + {{ $editUrl = replace $editUrl "blob/main" "edit/main" }} + {{ $repoUrl := .Site.Params.repo | default "https://github.com/CodeYourFuture/curriculum/" }} + {{ $issueUrl = printf "%sissues/new?title=Feedback+on:+%s&body=Readme+source:+%s" $repoUrl (urlquery $blockData.name) (urlquery .html_url) }} + {{ end }} +{{ end }} + +{{ if or $editUrl $issueUrl }} +
+ + ⚙️ + + +
+{{ end }} diff --git a/common-theme/layouts/partials/block/local.html b/common-theme/layouts/partials/block/local.html index 374e67af0..10ee5783b 100644 --- a/common-theme/layouts/partials/block/local.html +++ b/common-theme/layouts/partials/block/local.html @@ -16,7 +16,10 @@ id="{{ $blockData.name |urlize }}"> {{ $block.Title }} - {{ partial "time.html" . }} +
+ {{ partial "time.html" . }} + {{ partial "block/actions.html" (dict "block" $block "blockData" $blockData "Site" site) }} +
{{ if or $block.Params.Objectives $block.Params.Tasks }}
diff --git a/common-theme/layouts/partials/block/readme.html b/common-theme/layouts/partials/block/readme.html index e7c91d50b..17cbb442c 100644 --- a/common-theme/layouts/partials/block/readme.html +++ b/common-theme/layouts/partials/block/readme.html @@ -26,7 +26,10 @@ id="{{ $blockData.name |urlize }}"> 🔗 {{ $blockData.name }} - {{ partial "time.html" $pageContext }} +
+ {{ partial "time.html" $pageContext }} + {{ partial "block/actions.html" (dict "block" nil "blockData" $blockData "html_url" $response.html_url "Site" site) }} +
{{ $extractedObjectives := partial "strings/extract-github-objectives.html" (dict "URL" $blockData.api "body" $decodedContent) }} {{ if gt (len $extractedObjectives) 0 }} From 413be683acf652d2be254fe8aa48e689c549518b Mon Sep 17 00:00:00 2001 From: JHONR2 Date: Mon, 22 Jun 2026 07:23:33 -0500 Subject: [PATCH 4/4] chore(git): ignore local .atl directory --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 92dc17ec8..0345a840a 100644 --- a/.gitignore +++ b/.gitignore @@ -31,4 +31,5 @@ yarn.lock # Local Netlify folder .netlify -.env \ No newline at end of file +.env +.atl/