-
Notifications
You must be signed in to change notification settings - Fork 129
Blog Post on respberry-steps #574
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Dakshsharma1108
wants to merge
5
commits into
sugarlabs:main
Choose a base branch
from
Dakshsharma1108:post/added-post
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+92
−0
Open
Changes from 2 commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
a6915b1
Added author and post on respberry-steps
Dakshsharma1108 f7101df
Merge branch 'main' into post/added-post
Dakshsharma1108 f9d36cb
Fix typos and enhance clarity in Raspberry Pi guide
Dakshsharma1108 48dbeca
Merge branch 'main' into post/added-post
Dakshsharma1108 4999508
Update 2025-11-21-adding-raspberrypi-steps.md
Dakshsharma1108 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| --- | ||
| name: "Daksh Kaushik" | ||
| slug: "daksh-kaushik" | ||
| title: "Contributor" | ||
| organization: "SugarLabs" | ||
| description: "Contributor at SugarLabs" | ||
| avatar: "https://avatars.githubusercontent.com/u/202947385?v=4" | ||
|
|
||
| --- | ||
|
|
||
| <!--markdownlint-disable--> |
81 changes: 81 additions & 0 deletions
81
src/constants/MarkdownFiles/posts/2025-11-21-adding-raspberrypi-steps.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,81 @@ | ||
| --- | ||
| title: "Adding steps to install suger on raspberrypi" | ||
| excerpt: "New developer Daksh kaushik shares how he implemented the steps to install suger on raspberrypi, what issues he faced and how he debugged them" | ||
| category: "DEVELOPER NEWS" | ||
| date: "2025-11-21" | ||
| slug: "adding-steps-to-install-suger-on-raspberrypi" | ||
| author: "@/constants/MarkdownFiles/authors/daksh-kaushik.md" | ||
| tags: "suger,raspberrypi,frontend,Sugar Labs" | ||
| image: "assets/Images/suger-on-raspberrypi.webp" | ||
| --- | ||
|
|
||
|
|
||
| # Adding steps to install Sugar on Raspberry Pi | ||
|
|
||
| <!-- markdownlint-disable --> | ||
|
|
||
| ## Introduction | ||
|
|
||
| Sugar Labs builds free/libre/open-source (FLO) tools that make learning playful and accessible. I recently contributed a clearer, reusable guide for installing Sugar on Raspberry Pi. This post describes the problems I found, the changes I made, and lessons learned to make the guide easier to follow and maintain. | ||
|
|
||
| Repository: https://github.com/sugarlabs/www-v2 | ||
|
|
||
| ## The problem | ||
|
|
||
| The Raspberry Pi developer pages included instructions, but many sections were descriptive without clear step-by-step commands or screenshots. That made the flow difficult to follow for users performing hands-on installation, especially for hardware-specific steps. | ||
|
|
||
| - Goal: provide a concise, easy-to-follow, copyable step flow (with images) and make the UI components reusable across pages. | ||
|
|
||
| Implementing this required converting inline, page-specific content into reusable data-driven components and enriching steps with copyable commands and images. | ||
|
|
||
| ## Solution | ||
|
|
||
| - **Add structured installation steps** | ||
|
|
||
| I created step arrays (data objects) for each OS flow so pages can import the exact step set they need. Each step can include a title, description, optional image, and a `commands` list. | ||
|
|
||
| - **Make the `StepsToUse` component reusable via props** | ||
|
|
||
| The component now accepts `heading`, `steps`, and an optional `onStepChange` callback. This keeps the rendering logic in one place while allowing pages to feed different step arrays. | ||
|
|
||
| - **Create `LogoCard` and centralize logo-card behavior** | ||
|
|
||
| I introduced a lean `LogoCard` component (props: `title`, `logo`, `onClick`). Clicking a `LogoCard` switches the steps pane to the flow associated with that card, avoiding page reloads and duplicated markup. | ||
|
|
||
| - **Add copyable commands and command styling** | ||
|
|
||
| Steps that include `commands` render a compact code block with a copy button. Copy uses the Clipboard API with a textarea fallback. I also added a themed scrollbar for long command blocks in `src/styles/globals.css` to make horizontal overflow easier to scan. | ||
|
|
||
| - **Include images for clarity** | ||
|
|
||
| Steps can reference images stored in `public/assets/TryNowImages`. Where helpful (hardware wiring, installation output), I included images so users can validate each step visually. | ||
|
|
||
|
|
||
| ## Challenges and takeaways | ||
|
|
||
| - **Keeping steps accurate:** The upstream Sugar repo documents are authoritative; | ||
|
|
||
| I referenced this: https://github.com/sugarlabs/sugar/blob/master/docs/README.md | ||
|
|
||
| and tested commands locally where possible. | ||
| - **Legacy component constraints:** The original `StepsToUse` was page-specific and missing a command field — refactoring removed duplication and enabled reuse. | ||
| - **Card sizing and density:** Existing logo cards included descriptions which increased size; `LogoCard` is intentionally compact (title + logo + click behavior) to fit multiple cards in a row without layout surprises. | ||
| - **Copy UX:** Copy-to-clipboard needs a clear, short visual confirmation — I added a temporary message when a command is copied. | ||
|
|
||
|
|
||
| ## Impact and conclusion | ||
|
|
||
| - **Impact on users:** The new step flows reduce friction for people installing Sugar on Raspberry Pi by providing explicit, copyable commands and visual guidance. | ||
| - **Impact on the project:** Centralizing step rendering and logo cards reduces duplication and makes future changes (styling, copy, or behavior) straightforward. | ||
| - **Community value:** Clearer instructions improve onboarding for contributors and users, aligning with Sugar Labs's goal of making learning tools easy to use and maintain. | ||
|
|
||
| By sharing my experience, I hope to inspire others to contribute to Sugar Labs and make a positive impact on the community. I started by defining semantic tokens, honoring system preferences, and prioritizing accessibility. Through this process, I was able to deliver a guide to install suger on raspberrypi using different os. This guide help people to install suger on machines. | ||
Dakshsharma1108 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| ## Try it out | ||
|
|
||
| The guide of installing suger on raspberrypi is available on respberry page. | ||
Dakshsharma1108 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| https://www.sugarlabs.org/raspberry | ||
|
|
||
|  | ||
|
|
||
| *Look for these logocards to switch between different guides!* | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.