Skip to content

Editor Enhancements & Fixes#53

Open
jaainil wants to merge 92 commits into
erlandv:mainfrom
jaainil:main
Open

Editor Enhancements & Fixes#53
jaainil wants to merge 92 commits into
erlandv:mainfrom
jaainil:main

Conversation

@jaainil

@jaainil jaainil commented Dec 22, 2025

Copy link
Copy Markdown

Summary

This PR expands the Code Block functionality in both the main Writenex app and the Astro package, fixing UI issues and ensuring consistency across the monorepo.


Changes

🚀 Features

  • Expanded Language Support: Added support for txt (Plain Text), mermaid, java, cpp, php, python, rust, go, and more to the Code Block language selector.
  • Consistent Labeling: Synced language display names between @writenex/astro and apps/writenex, using concise short forms (e.g., "JS", "TS", "MD", "Txt").

🐛 Bug Fixes

  • Scrollable Dropdowns: Fixed an issue where long dropdown lists (like the language selector) were not scrollable. Added max-height: 300px and overflow-y: auto to dropdown containers in both Editor.css and MarkdownEditor.tsx styles.

🛠️ Technical Details

Files Modified:

  • apps/writenex/lib/editor/MarkdownEditor.tsx: Updated language list and added inline styles for dropdowns.
  • packages/astro/src/client/components/Editor/Editor.tsx: Updated language list.
  • packages/astro/src/client/components/Editor/Editor.css: Added scrolling rules for dropdown components.

@vercel

vercel Bot commented Dec 22, 2025

Copy link
Copy Markdown

@jaainil is attempting to deploy a commit to the Erland's projects Team on Vercel.

A member of the Team first needs to authorize it.

jaainil and others added 28 commits January 19, 2026 02:39
…tor with updated display names and an empty string fallback.
…_TOKEN` environment variables from the release workflow.
# 1.0.0 (2026-01-18)

### Bug Fixes

* remove duplicate pnpm version specification ([7d76b70](7d76b70))
* update package name to @imjp/writenex-astro ([64e5fe1](64e5fe1))

### Features

* add @writenex/astro - CMS integration for Astro content collections ([4223c4b](4223c4b))
* Add new Vercel React best practice rules and skill definitions. ([5ac16f0](5ac16f0))
* Add numerous code block languages and implement dropdown scrolling to prevent overflow. ([5e83a81](5e83a81))
* **astro:** v0.2.0 - Major UI/UX improvements and new features ([29a7188](29a7188))
* **astro:** v0.2.2 - Enhanced editor with accessibility and version history ([427a1b8](427a1b8))
* **astro:** v0.2.4 - UI refinements and collection selection modal ([74b4766](74b4766))
* **astro:** v0.2.5 - Image strategies, file patterns, and brand color system ([8787c8c](8787c8c))
* **astro:** v0.3.0 - Monorepo restructuring and package consolidation ([274d651](274d651))
* **astro:** v0.3.1 - Remove customizable basePath option ([0a52e80](0a52e80))
* expand and categorize supported code block languages in the editor with updated display names and an empty string fallback. ([eee0e13](eee0e13))
* migrate to monorepo structure with pnpm workspaces ([erlandv#3](https://github.com/jaainil/writenex/issues/3)) ([6d0c62a](6d0c62a))
… various topics and updating package configurations.
…ion, and various development-related tasks, updating the skills lock file.
…component library, editor, and filesystem management.
# [1.1.0](https://github.com/jaainil/writenex/compare/@imjp/writenex-astro@1.0.0...@imjp/writenex-astro@1.1.0) (2026-03-10)

### Features

* add image, link, and keyboard shortcuts dialogs for the editor, along with a generic dialog component. ([ebd1caa](ebd1caa))
* Add Zod-based configuration schema with validation and a version history diff viewer component. ([a38449b](a38449b))
* Implement the initial Writenex application with its core Astro component library, editor, and filesystem management. ([0e674cc](0e674cc))
* Introduce new `@writenex/eslint-config` package with Prettier integration. ([c955ab6](c955ab6))
* Introduce new agent skills for Biome.js, ESLint/Prettier migration, and various development-related tasks, updating the skills lock file. ([cc06929](cc06929))
* Introduce new agent skills for Next.js best practices, covering various topics and updating package configurations. ([d90c9aa](d90c9aa))
semantic-release-bot and others added 30 commits April 2, 2026 14:54
…kinds

Adds defaultValue support to select, multiselect, checkbox, date, datetime, number, and integer fields. Introduces new field kinds: slug, url, number, integer, checkbox, datetime, path-reference, markdoc, mdx, child, and cloud-image. Also adds singletons to ResolvedConfig.
# [1.5.0](https://github.com/jaainil/writenex/compare/@imjp/writenex-astro@1.4.0...@imjp/writenex-astro@1.5.0) (2026-04-02)

### Features

* **fields:** add defaultValue support for field types and new field kinds ([c81c6c7](c81c6c7))
# [1.6.0](https://github.com/jaainil/writenex/compare/@imjp/writenex-astro@1.5.0...@imjp/writenex-astro@1.6.0) (2026-04-08)

### Features

* add Fields API documentation for content schema definition in Astro projects ([d72e897](d72e897))
## [1.6.1](https://github.com/jaainil/writenex/compare/@imjp/writenex-astro@1.6.0...@imjp/writenex-astro@1.6.1) (2026-04-08)

### Bug Fixes

* update rootDirectory in vercel.json for correct deployment path ([49fd59a](49fd59a))
…tenex-astro

- Changed GitHub links in LandingFooter, JSON-LD schema, and Privacy Policy to reflect new repository.
- Updated all mentions of @writenex/astro to @imjp/writenex-astro in Privacy Policy and Terms of Use pages.
- Modified README files in the astro package to use the new package name.
Enable loading of TypeScript configuration files (.ts / .mts) at runtime by integrating jiti for transpilation. This allows Node.js to handle TypeScript configs without native support, while maintaining compatibility with existing JS/MJS files. Updated related dependencies including jiti, and bumped versions for @biomejs/biome, globals, turbo, typescript, @mdxeditor/editor, lucide-react, slugify, @types/node, astro, and vite.
defineConfig now automatically resolves FieldDefinition objects (from fields.*() functions) in both raw collection/singleton objects and collection()/singleton() helpers, eliminating the need for manual resolution and improving TypeScript inference with collection() helpers.

Updated documentation and examples to demonstrate both valid patterns. Added troubleshooting for configuration errors in older versions.
Add support for checkbox, cloud-image, path-reference, conditional, and blocks field types in the FrontmatterForm component. Introduced CSS styles for array structured items and add buttons. Minor refactoring in config loader and schema for type consistency.
- Update FIELD_KIND_TO_TYPE to map field kinds to more specific types (e.g., slug, url, integer) instead of generic ones like string. Adjust ArrayField default values to set false for boolean or checkbox items, improving type consistency and form behavior.
Update development and production dependencies to latest versions:

- @biomejs/biome: 2.4.12 → 2.4.15
- globals: 17.5.0 → 17.6.0
- turbo: 2.9.6 → 2.9.14
- typescript: 5.9.3 → 6.0.3
- pnpm: 10.33.0 → 11.1.3
- @mdxeditor/editor: 3.54.1 → 4.0.1
- jiti: 2.6.1 → 2.7.0
- lucide-react: 1.8.0 → 1.16.0
- zod: 4.3.6 → 4.4.3
- @types/node: 25.6.0 → 25.9.1
- @types/react: 19.2.14 → 19.2.15
- astro: 6.1.7 → 6.3.6
- vite: 8.0.8 → 8.0.14

Additionally, enhance path handling, field resolution robustness, and security:

- Improve URL/file path normalization with proper decoding and file:// protocol support
- Add config input resolution to validateConfig for consistent field processing
- Enhance field definition validation with type guards and fallback handling
- Add path traversal security checks in image and asset serving
- Fix collection path resolution to use discovered paths as fallback
- Improve pattern token replacement to handle multiple occurrences
- Support boolean values in pattern token resolution
- Refine enum detection heuristic to require minimum sample size
- Enhance YAML frontmatter serialization with proper string quoting and multiline support
- Fix cross-platform path handling in watcher and reader modules
- Improve version ID generation and parsing consistency
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.

2 participants