Skip to content

KTL-3906 Tech Debt resolution: move PDF, Grammar and redirects generator from Python#5324

Merged
zoobestik merged 32 commits intomasterfrom
ktl-3906-tech-debt-resolution
Jan 26, 2026
Merged

KTL-3906 Tech Debt resolution: move PDF, Grammar and redirects generator from Python#5324
zoobestik merged 32 commits intomasterfrom
ktl-3906-tech-debt-resolution

Conversation

@nikpachoo
Copy link
Collaborator

@nikpachoo nikpachoo changed the title KTL-3906 Tech Debt resolution: farewell Python KTL-3906 Tech Debt resolution: farewell Python (maybe) Jan 23, 2026
@nikpachoo nikpachoo changed the title KTL-3906 Tech Debt resolution: farewell Python (maybe) KTL-3906 Tech Debt resolution: farewell Python Jan 23, 2026
@nikpachoo nikpachoo changed the title KTL-3906 Tech Debt resolution: farewell Python KTL-3906 Tech Debt resolution: move PDF, Grammar and redirects generator to from Python Jan 23, 2026
@nikpachoo nikpachoo changed the title KTL-3906 Tech Debt resolution: move PDF, Grammar and redirects generator to from Python KTL-3906 Tech Debt resolution: move PDF, Grammar and redirects generator from Python Jan 23, 2026
nikpachoo and others added 22 commits January 26, 2026 12:48
- Introduced a new `Grammar` page with server-side XML parsing using `fast-xml-parser`.
- Added reusable grammar components and styles under `blocks/grammar`.
- Migrated markdown handling to `markdown-to-jsx` for enhanced React compatibility.
- Updated `package.json` and `yarn.lock` with `fast-xml-parser` and `markdown-to-jsx` dependencies.
- Add `GrammarMarkdown` component for handling custom Markdown syntax.
- Introduce `extendedMarkdown` function to parse Markdown with inline attributes like `{:...}` syntax.
- Update grammar components to use `GrammarMarkdown` for consistent Markdown rendering.
- Refactor CSS for grammar components to support updated styles and improve readability.
- Enhance Markdown rendering with custom styling and relative URL rebasing.
- Add `DEFAULT_OPTIONS` for `GrammarMarkdown` to support advanced element customization.
- Refactor grammar token components to better handle nested structures with React keys.
- Update styling with `JetBrains Mono` font and improve table layout rendering.
- Integrate `ThemeProvider` in `GrammarPage` for consistent theming.
- Adjust page layout with new top menu configuration.


chore(config): update `next.config.js` for improved readability and formatting adjustments
- Implement `useEffect` to add an event listener for `hashchange` for smooth scrolling updates.
- Ensure compatibility by handling element scrolling with appropriate offset adjustments.
- Add cleanup to remove the event listener when the component unmounts.
…sing

- Add support for rebasing grammar documentation links with legacy URL handling.
- Enhance `GrammarMarkdown` component for better parsing and rendering of extended Markdown syntax (`IAL` attributes).
- Introduce JSDoc comments to improve code readability and maintainability.
…ldJsAssets

- Remove `BuildKotlinGrammar` dependency from `DockerImageBuilder`.
- Add `BuildKotlinGrammar` dependency to `BuildJsAssets` with proper snapshot and artifact rules.
- Delete legacy `src/grammar.py` and its associated methods.
- Remove `/docs/reference/grammar.html` route and related references from `kotlin-website.py`.
- Add `data-testid` attributes for improved testability across grammar components.
- Introduce Playwright E2E tests for grammar page, ensuring key functionalities like hash navigation, content visibility, and URL behavior.
- Implement grammar-specific utility classes and page objects for streamlined testing.
- Update `education_page`, `why_teach_page`, and `education_courses` routes to include `headerCurrentUrl` in their render context.
@zoobestik zoobestik force-pushed the ktl-3906-tech-debt-resolution branch from d189136 to 2719923 Compare January 26, 2026 12:26
@zoobestik zoobestik merged commit 9faf602 into master Jan 26, 2026
5 checks passed
@zoobestik zoobestik deleted the ktl-3906-tech-debt-resolution branch January 26, 2026 12:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants