iamgio / iamgio/quarkdown

[Enhancement] Extension scopes

Open
#609 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Kotlin
Stars
16.1k
Forks
499
Avg merge
5h 55m
Merged PRs (30d)
56

Description

### Before submitting

- [x] I am using the latest version of Quarkdown.
- [x] I have checked the [wiki](https://quarkdown.com/wiki) to confirm this feature doesn't already exist.
- [x] I have searched existing [issues](https://github.com/iamgio/quarkdown/issues) for duplicates.

### Description

Should allow `.extend` in scopes to only act within that scope, including primitive extensions.

### Proposed syntax or behavior

```markdown
.if {yes}
.extend {heading}
.super foreground:{blue}

# Blue

# Not blue
```

### Additional context

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by tracing how `.extend` is parsed and applied within `.if` scopes, including primitive extensions. Use the proposed example as the first verification case: the heading inside the scope should be blue, while the heading after the scope should not be. Done means scoped extensions no longer affect content outside their scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
kotlin
Domain
compilers
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.