extensions icon indicating copy to clipboard operation
extensions copied to clipboard

Add Ray DSL Viewer extension

Open sorafujitani opened this issue 2 months ago • 2 comments

Summary

Ray DSL Viewer is a Raycast extension that provides instant preview for Markdown and Mermaid diagrams.

Features

  • Markdown Preview: Render Markdown content with full formatting support
  • Mermaid Diagram Support: Visualize flowcharts, sequence diagrams, ER diagrams, and more
  • Auto Detection: Automatically detects content type (Markdown or Mermaid)
  • Clipboard Integration: Paste content directly from clipboard with Cmd+Shift+V
  • Dark Theme: Mermaid diagrams rendered with a dark theme optimized for Raycast

Screencast

Input Form

Markdown Preview

Mermaid Preview

Test plan

  • [x] Tested Markdown preview with various formatting
  • [x] Tested Mermaid diagram rendering (flowchart, sequence, ER diagram)
  • [x] Tested auto-detection of content type
  • [x] Tested clipboard paste functionality
  • [x] Verified dark theme rendering

Checklist

sorafujitani avatar Dec 23 '25 15:12 sorafujitani

Greptile Overview

Greptile Summary

This PR introduces Ray DSL Viewer, a new extension for previewing Markdown and Mermaid diagrams. The extension provides a form-based interface for entering content with auto-detection, clipboard integration, and real-time preview.

Key Implementation Details:

  • Auto-detects content type by checking for Mermaid keywords and Markdown syntax
  • Renders Mermaid diagrams via mermaid.ink external service (properly disclosed in descriptions and README)
  • Supports embedded Mermaid code blocks within Markdown
  • Custom dark theme configuration for Mermaid diagrams

Previous Issues Addressed: The developer has already fixed all issues from earlier review threads:

  • Removed debug console.log/console.error statements from handlePaste function
  • Updated platforms from ["macOS", "Windows"] to ["macOS"] only (untested on Windows)
  • Removed hardcoded cmd modifiers from shortcuts (now appropriate for macOS-only extension)
  • Added explicit disclosure about mermaid.ink in both package.json descriptions and README

The extension follows Raycast guidelines with proper metadata, screenshots, CHANGELOG format, and category assignment (Developer Tools, Communication).

Confidence Score: 5/5

  • This PR is safe to merge with no remaining issues
  • The extension follows all Raycast guidelines and the developer has proactively addressed all issues from previous review threads. The code is clean, well-structured, and properly documented with privacy disclosures.
  • No files require special attention

Important Files Changed

Filename Overview
extensions/ray-dsl-viewer/package.json Configuration correctly updated to macOS-only after fixing platform issues; mermaid.ink disclosure added to descriptions
extensions/ray-dsl-viewer/src/dsl-viewer.tsx Main extension logic; previous issues (console logs, platform shortcuts) have been resolved in recent commits
extensions/ray-dsl-viewer/CHANGELOG.md Follows required format with {PR_MERGE_DATE} placeholder and proper structure

Last reviewed commit: df7c3e2

greptile-apps[bot] avatar Dec 23 '25 15:12 greptile-apps[bot]

Congratulations on your new Raycast extension! :rocket:

We're currently experiencing a high volume of incoming requests. As a result, the initial review may take up to 10-15 business days.

Once the PR is approved and merged, the extension will be available on our Store.

raycastbot avatar Dec 23 '25 15:12 raycastbot

Hi 👋

Thanks for your contribution 💪

I have now tested your extension, and I have some feedback ready for you:

I tried to paste mermaid code into the extension and it didn’t work as expected, can you please check?

https://github.com/user-attachments/assets/1c2e7716-2549-4b61-8dcb-382fdd45ed7a

I'm looking forward to testing this extension again 🔥

I converted this PR into a draft until it's ready for the review, please press the button Ready for review when it's ready and we'll have a look 😊

Feel free to contact me here or at Slack if you have any questions.

0xdhrv avatar Jan 06 '26 15:01 0xdhrv

@0xdhrv Fixed and completed local testing. Please review again 🙏

sorafujitani avatar Feb 06 '26 11:02 sorafujitani

Thanks for your contribution @fs0414 🔥

We already have an extension in the Store that deals with Markdown <> Richtext. Could we consider enhancing the existing extension below instead of creating another one?

  • https://www.raycast.com/ning_cao_cabeza/markdown-to-rich-text by @vegetablesB

I believe you have preview and mermaid support in your extension, which you can add to the existing extension.

If there are unique features or workflows you’re aiming to add, we’d love to hear them and see if they can be integrated into this to avoid duplication and improve discoverability.

This would help avoid duplication and keep related functionality consolidated in one place. As mentioned in our extension guidelines here ↗

0xdhrv avatar Feb 13 '26 10:02 0xdhrv

@0xdhrv

Thank you for your review.

For this extension, the original plan was to provide the following value to the Store:

  • Support rendering multiple content types with a single extension
  • Currently supports Markdown and Mermaid, with expectations to extend to other formats like XML and YAML for OpenAPI specifications

While I confirmed that similar existing extensions exist, the following issues led me to proceed with creating my own PR:

  • Communication costs with stakeholders due to nearly two years of no contributions
  • The extension name ("Markdown to Rich Text Converter") and its reliance on Markdown make it semantically difficult to extend

This is my first time creating a Raycast extension, so I may have some gaps in my understanding of community guidelines. Please let me know if you have any concerns about the release decision or additional points to consider.

sorafujitani avatar Feb 13 '26 14:02 sorafujitani

@0xdhrv

Thank you for your review.

For this extension, the original plan was to provide the following value to the Store:

  • Support rendering multiple content types with a single extension
  • Currently supports Markdown and Mermaid, with expectations to extend to other formats like XML and YAML for OpenAPI specifications

While I confirmed that similar existing extensions exist, the following issues led me to proceed with creating my own PR:

  • Communication costs with stakeholders due to nearly two years of no contributions
  • The extension name ("Markdown to Rich Text Converter") and its reliance on Markdown make it semantically difficult to extend

This is my first time creating a Raycast extension, so I may have some gaps in my understanding of community guidelines. Please let me know if you have any concerns about the release decision or additional points to consider.

We can change the name if the extension is updated with more features. You can also create a PR to update the existing extension; we will review it and merge it.

0xdhrv avatar Feb 17 '26 04:02 0xdhrv