diff --git a/assets/css/list-pages.css b/assets/css/list-pages.css index 238a3df985..b98dbe7cdb 100644 --- a/assets/css/list-pages.css +++ b/assets/css/list-pages.css @@ -185,6 +185,13 @@ ads-card.path-card { --ads-card-background-color-hover: var(--arm-light-grey); --ads-card-box-shadow-hover: 0 3px 6px 1px rgba(0,0,0,0.16); /* 0 1px 3px 3px rgba(0,0,0,0.25); */ } + +ads-card.path-card.featured-path-card { + --ads-card-border-width: 0; + --ads-card-border-color: transparent; + --ads-card-border-color-hover: transparent; +} + html[theme='dark'] ads-card.path-card { --ads-card-background-color: var(--arm-color-base); --ads-card-border-color: #000000; @@ -196,6 +203,45 @@ html[theme='dark'] ads-card.path-card { --ads-card-box-shadow-hover: #000 @50%, X:0 Y: 3 B:12; /* probably not working */ } +html[theme='dark'] ads-card.path-card.featured-path-card { + --ads-card-border-width: 0; + --ads-card-border-color: transparent; + --ads-card-border-color-hover: transparent; +} + +ads-card.path-card.featured-path-card ads-card-content::before { + content: ""; + position: absolute; + inset: 0; + border-radius: 10px; + padding: 3px; + background: linear-gradient(135deg, + var(--arm-green) 0%, + var(--arm-green) 50%, + var(--arm-web-safe-blue) 50%, + var(--arm-web-safe-blue) 100%); + -webkit-mask: + linear-gradient(#fff 0 0) content-box, + linear-gradient(#fff 0 0); + -webkit-mask-composite: xor; + mask-composite: exclude; + pointer-events: none; + opacity: 0.4; + transition: opacity 0.3s ease-in-out; +} + +html[theme='dark'] ads-card.path-card.featured-path-card ads-card-content::before { + background: linear-gradient(135deg, + var(--arm-green) 0%, + var(--arm-green) 50%, + var(--arm-light-blue) 50%, + var(--arm-light-blue) 100%); +} + +ads-card.path-card.featured-path-card:hover ads-card-content::before { + opacity: 1; +} + .basics-title:hover { transition: color 0.3s ease-in-out; @@ -208,6 +254,12 @@ ads-card.path-card:hover .learning-path-title { color: var(--arm-green); } +ads-card.path-card:hover .pinned-inline-icon, +ads-card.path-card:hover .pinned-featured-label { + transition: color 0.3s ease-in-out; + color: var(--arm-green); +} + /* adjust height depending on screen size */ ads-card.path-card .learning-path-title-div { /* xs and sm */ min-height: 50px; @@ -224,6 +276,35 @@ ads-card.path-card .learning-path-title-div { /* xs and sm */ font-size: 0.9rem!important; } +.pinned-header-row { + display: flex; + align-items: center; + gap: 0.35rem; + margin-bottom: 0.3rem; +} + +.pinned-featured-label { + color: var(--arm-web-safe-blue); + font-weight: 400; + letter-spacing: normal; +} + +.pinned-inline-icon { + color: var(--arm-web-safe-blue); + font-size: 0.95rem; + line-height: 1; +} + +.pinned-inline-icon i { + display: inline-block; + transform: rotate(-45deg); +} + +html[theme="dark"] .pinned-inline-icon, +html[theme="dark"] .pinned-featured-label { + color: var(--arm-light-blue); +} + html[theme="light"] .learning-path-title, html[theme="light"] .basics-title { color: var(--arm-web-safe-blue); } diff --git a/content/learning-paths/automotive/_index.md b/content/learning-paths/automotive/_index.md index b8a9d96ff8..4acb578a94 100644 --- a/content/learning-paths/automotive/_index.md +++ b/content/learning-paths/automotive/_index.md @@ -7,6 +7,10 @@ key_ip: - Cortex-A - Cortex-R maintopic: true +pinned_learning_paths: +- openadkit1_container +- learning-paths/cross-platform/simd-loops +- openadkit2_safetyisolation subtitle: Build smarter, real-time vehicle software on reliable Arm platforms. title: Automotive weight: 4 diff --git a/content/learning-paths/embedded-and-microcontrollers/_index.md b/content/learning-paths/embedded-and-microcontrollers/_index.md index 2947deecc3..6783d9efba 100644 --- a/content/learning-paths/embedded-and-microcontrollers/_index.md +++ b/content/learning-paths/embedded-and-microcontrollers/_index.md @@ -8,6 +8,10 @@ key_ip: - Cortex-M - Ethos-U maintopic: true +pinned_learning_paths: +- vcpkg-tool-installation +- raspberry-pi-smart-home +- introduction-to-tinyml-on-arm operatingsystems_filter: - Android: 1 - Baremetal: 30 diff --git a/content/learning-paths/laptops-and-desktops/_index.md b/content/learning-paths/laptops-and-desktops/_index.md index a1c4a9f85b..a0444a649f 100644 --- a/content/learning-paths/laptops-and-desktops/_index.md +++ b/content/learning-paths/laptops-and-desktops/_index.md @@ -6,6 +6,10 @@ differentiating_info: key_ip: - Cortex-A maintopic: true +pinned_learning_paths: +- wsl2 +- dgx_spark_isaac_robotics +- learning-paths/cross-platform/multiplying-matrices-with-sme2 operatingsystems_filter: - Android: 3 - ChromeOS: 2 diff --git a/content/learning-paths/mobile-graphics-and-gaming/_index.md b/content/learning-paths/mobile-graphics-and-gaming/_index.md index d2a570e958..a2ad9b593d 100644 --- a/content/learning-paths/mobile-graphics-and-gaming/_index.md +++ b/content/learning-paths/mobile-graphics-and-gaming/_index.md @@ -8,6 +8,10 @@ key_ip: - Immortalis - Mali maintopic: true +pinned_learning_paths: +- voice-assistant +- nss-unreal +- vulkan-ml-sample operatingsystems_filter: - Android: 40 - Linux: 40 diff --git a/content/learning-paths/servers-and-cloud-computing/_index.md b/content/learning-paths/servers-and-cloud-computing/_index.md index 095b3ea8b3..5a33c82da3 100644 --- a/content/learning-paths/servers-and-cloud-computing/_index.md +++ b/content/learning-paths/servers-and-cloud-computing/_index.md @@ -6,6 +6,10 @@ differentiating_info: key_ip: - Neoverse maintopic: true +pinned_learning_paths: +- arm-mcp-server +- learning-paths/cross-platform/vectorization-comparison +- performix-microarchitecture operatingsystems_filter: - Android: 3 - Linux: 223 diff --git a/content/subjects/ml/_index.md b/content/subjects/ml/_index.md new file mode 100644 index 0000000000..7a33add256 --- /dev/null +++ b/content/subjects/ml/_index.md @@ -0,0 +1,8 @@ +--- +title: AI +slug: ml +pinned_learning_paths: +- learning-paths/cross-platform/kleidiai-explainer +- learning-paths/servers-and-cloud-computing/vllm-acceleration +- learning-paths/laptops-and-desktops/pytorch-finetuning-on-spark +--- diff --git a/themes/arm-design-system-hugo-theme/layouts/_default/term.html b/themes/arm-design-system-hugo-theme/layouts/_default/term.html index 09e4223f6f..81c1dc112d 100644 --- a/themes/arm-design-system-hugo-theme/layouts/_default/term.html +++ b/themes/arm-design-system-hugo-theme/layouts/_default/term.html @@ -40,6 +40,50 @@ {{ $sorted_paths_to_list := sort $blogs "calculated_date" "desc" }} + +{{ $term_content_page := site.GetPage (printf "/%s/%s" .Data.Plural (.Data.Term | urlize)) }} +{{ $pinned_paths := default (slice) .Params.pinned_learning_paths }} +{{ with $term_content_page }} + {{ $pinned_paths = default $pinned_paths .Params.pinned_learning_paths }} +{{ end }} +{{ $blogs_by_path := dict }} +{{ $blogs_by_slug := dict }} +{{ $slug_counts := dict }} +{{ range $sorted_paths_to_list }} + {{ $path_key := trim .learning_path.RelPermalink "/" }} + {{ $slug_key := replaceRE "^.*/" "" $path_key }} + {{ $blogs_by_path = merge $blogs_by_path (dict $path_key .) }} + {{ $blogs_by_slug = merge $blogs_by_slug (dict $slug_key .) }} + {{ $slug_count := default 0 (index $slug_counts $slug_key) }} + {{ $slug_counts = merge $slug_counts (dict $slug_key (add $slug_count 1)) }} +{{ end }} +{{ $pinned_lookup := dict }} +{{ $ordered_paths_to_list := slice }} +{{ range $pinned_paths }} + {{ $raw_pin := trim . "/" }} + {{ $path_key := "" }} + {{ if hasPrefix $raw_pin "learning-paths/" }} + {{ $path_key = $raw_pin }} + {{ else if eq (default 0 (index $slug_counts $raw_pin)) 1 }} + {{ with index $blogs_by_slug $raw_pin }} + {{ $path_key = trim .learning_path.RelPermalink "/" }} + {{ end }} + {{ end }} + {{ with and $path_key (index $blogs_by_path $path_key) }} + {{ $ordered_paths_to_list = $ordered_paths_to_list | append . }} + {{ $pinned_lookup = merge $pinned_lookup (dict $path_key true) }} + {{ end }} +{{ end }} +{{ range $sorted_paths_to_list }} + {{ $path_key := trim .learning_path.RelPermalink "/" }} + {{ if not (index $pinned_lookup $path_key) }} + {{ $ordered_paths_to_list = $ordered_paths_to_list | append . }} + {{ end }} +{{ end }} + @@ -83,9 +127,11 @@
{{ .learning_path.Title }}
@@ -103,7 +135,9 @@{{ upper .learning_path.Params.subjects }} @@ -37,4 +45,4 @@