Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Feature]: Shareable settings via URL

Open
#42 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
45/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
rust
Domain
frontend

Research direction

Start by reading the ROADMAP entry and tracing how settings are initialized, stored, and used by the export controls. Then identify where the existing Copy button and startup logic are implemented. Done means the proposed settings can be encoded in the URL hash, restored on startup, and shared with a link while keeping code client-side; the issue does not name specific files or tests.

Written by the indexing model from the issue text.

Description

enhancement
Problem

There is no way to share or bookmark a configuration. Every page load starts from the same defaults, so a specific setup (code, language, theme, font, scale, frame options) cannot be linked to a colleague, saved as a bookmark, or embedded in documentation. The ROADMAP lists this under "Gaps found while reading the repo".

Proposed solution

Encode the current settings into the URL hash (for example #code=<base64>&lang=rust&theme=dracula&scale=2) and read them back on startup. A "Copy link" button next to the existing Copy button, or a share action in the export section. The hash keeps everything client-side and avoids server round-trips.

Scope suggestion for a first version: code, language, theme, font, scale, window frame, line numbers, background preset. Omit localStorage-backed UI theme and filename template.

Alternatives considered
  • Query string parameters: same idea, but the hash never reaches a server, which matches the privacy-first posture.
  • Export/import a JSON settings file: more friction for casual sharing.
  • Do nothing: the tool remains session-only by design, but the ROADMAP explicitly lists this as a gap.
Project constraints
  • This keeps everything client-side (no backend, no server-side processing; code never leaves the browser).
  • This does not introduce a DOM-screenshot library (html2canvas, dom-to-image); rendering stays on Canvas2D/SVG.
  • This respects resolution honesty: the export canvas is drawn at true scale and never upscaled after the fact.
Dominant language
Rust
Stars
1
Forks
0
Avg merge
1d 7h
Merged PRs (30d)
5

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from suradet-ps/codeframe

All issues in suradet-ps/codeframe

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.