Skip to content
  • Chun Rapeepat's avatar
    2d733ee5
    feat: Mermaid to Excalidraw package with playground (#1) · 2d733ee5
    Chun Rapeepat authored
    
    
    * Init project
    
    * Extract nodes
    
    * Remove dist, .cache
    
    * Add research note
    
    * Parse edgeParhs
    
    * Create multiple testcases
    
    * Fix position info = 0
    
    * Load all flow diagram testcases from doc
    
    * Add nodeType
    
    * Extract edgeLabels
    
    * Parse clusters
    
    * Extract node link
    
    * Handle parser recursively
    
    * Clean gitignore
    
    * Extract edgeType
    
    * Add TODO note
    
    * Experiments with getDiagramFromText
    
    * Use mermaid from npm package instead
    
    * Access the parsed data
    
    * parseVertices
    
    * parseEdges
    
    * parseSubgraph
    
    * Clean nodes id
    
    * Clean up TODOs
    
    * Ignore advanced testcases for poc
    
    * Parse cluster dimention
    
    * Add curve linear option for better understanding of arrow path
    
    * Add TODOs
    
    * Create Excalidraw Board
    
    * Render vertex with text
    
    * Render circle
    
    * Update TODOs and Testcases
    
    * Add text to arrow
    
    * Check text exist on arrow
    
    * Correct arrow position
    
    * Update TODOs
    
    * Bind arrow to vertex
    
    * Support reflection points
    
    * Fix render position & add advanced testcases
    
    * Show parsed data
    
    * Fix sub vertices position
    
    * Fix sub edges position
    
    * Render cluster to Excalidraw
    
    * Render cluster title
    
    * Group by cluster
    
    * Calculate parent element recursively
    
    * Add TODOs
    
    * create tree mapping for groupping
    
    * Call redrawTextBoundingBox
    
    * Update excalidraw to latest version
    
    * Calculate gap and focus
    
    * redrawTextBoundingBox on clustesr
    
    * Convert database type
    
    * Support thick and dashed arrow
    
    * Fix render bug (width: 0, height: 0)
    
    * Remove TODOs
    
    * Update gitignore
    
    * Remove excalidraw package from git
    
    * dummy commit
    
    * Fix build error problem
    
    * Upload excalidraw package to CDN
    
    * Change build dir to public
    
    * Support round element
    
    * Update package.json
    
    Co-authored-by: default avatarAakansha Doshi <aakansha1216@gmail.com>
    
    * Update package.json
    
    Co-authored-by: default avatarAakansha Doshi <aakansha1216@gmail.com>
    
    * Create playground dir
    
    * Remove unused code
    
    * Update build-playground command
    
    * Setup tsconfig
    
    * Setup tests
    
    * Update package.json
    
    Co-authored-by: default avatarAakansha Doshi <aakansha1216@gmail.com>
    
    * Clean up dependencies
    
    * Remove tsc (deprecated)
    
    * Implement parseMermaid func
    
    * Implement graphToExcalidraw func
    
    * Fix render edge curve bug
    
    * Remove test
    
    * Update build:playground command
    
    * Fix build command public url path
    
    * Change font-size dynamically
    
    * Ignore markdown strings and the FontAwesome support feature.
    
    * Support entity codes
    
    * Support dot and bar arrow type
    
    * Support double arrow types
    
    * Use getBBox instead of getBoundingClientRect for more precise element dimentions
    
    * Apply redrawTextBoundingBox for edge's text
    
    * Fix nested cluster position & dimension shift
    
    * Update text binding to label param on vertex
    
    * Update text binding to label param on arrow
    
    * Update text binding to label param on cluster
    
    * Add TODOs
    
    * Add TODOs
    
    * Add custom mermaid data test section
    
    * Render correct cluster title text alignment
    
    * Render correct cluster title text alignment
    
    * Support grouping
    
    * Add comments for parser
    
    * Remove deprecated dependency
    
    * Remove type checker since it already check in graphToExcalidraw
    
    * Remove unused code
    
    * Remove TODOs
    
    * Remove unused code
    
    * Refactor computeExcalidrawArrowType
    
    * Rename to ExcalidrawWrapper
    
    * Update testcases
    
    * Render the Excalidraw App UI
    
    * Support doublecircle
    
    * Support link
    
    * Fallback stadium type for rounded conner rect
    
    * Refactor file structures
    
    * Rename files
    
    * Add comment
    
    * Pump excalidraw version
    
    * Support arrow binding with new API
    
    * Hide .mobile-misc-tools-container
    
    * Fix rendering cluster id not found
    
    * Add custom fontSize for custom test
    
    * Check supported diagram type
    
    * Add custom test description
    
    * Bump excalidraw version
    
    * Refactor playground
    
    * Update code structure for parseMermaid
    
    * Add types and refactor parseCluster
    
    * Refactor computeElementPosition
    
    * Fix link compute position err
    
    * Refactor parseEdge
    
    * Refactor interfaces
    
    * Refactor graphToExcalidraw
    
    * Refactor groupping algorithm
    
    * Add comments
    
    * minor tweaks in package
    
    * enable strict type checks
    
    * Enable Typescript strict mode
    
    * Fix graphToExcalidraw type errs
    
    * Migrate parcel to v2; resolving babel issues
    
    * Remove unused dependency
    
    * Fix parseMermaid errs
    
    * Remove @babel/plugin-syntax-optional-chaining
    
    * Remove unused code
    
    * Remove babel-polyfill
    
    * Fix build playground err
    
    * Turn playground to typescript
    
    * Add TODOs
    
    * Fix mermaid build err by disable parcel scope hoisting
    
    * Render mermaid syntax and make data collapsable
    
    * Fix renderExcalidraw parse data err
    
    * Rename vars
    
    * Move playground out of src folder
    
    * Update TODOs
    
    * Set the default font size to 20
    
    * Refactor hiding element in parseMermaid
    
    * Fix parse err when diagram have cluster
    
    * Add example for entityCodesToText
    
    * Rename mermaidDiv id
    
    * Update mermaidParser type
    
    * Rename nodes to nodeIds
    
    * Add extract node id example
    
    * Create constants file
    
    * Fallback markdown label to text
    
    * Ignore font awesome icons in label
    
    * Setup eslint
    
    * Update dependencies list
    
    * Update README.md
    
    * Refactor playground
    
    * Update TODOs
    
    * Update script
    
    * Refactor vertex.type
    
    * Add comments
    
    * Make parsed data from custom test collapsible
    
    * Handle err for custom test
    
    * Refactor custom test section
    
    * Refactor ExcalidrawElement types
    
    * Update TODOs and comments
    
    * Upgrade excalidraw package and refactor arrow binding code
    
    * Add example image for README.md, showing an overview of what the output look like
    
    * Revert preview code
    
    * Set scrollToContent to true
    
    * update Un-supported features section
    
    * Refactor renderMermaid
    
    * Fallback unsupported graph with svg image
    
    * Render svg image on Excalidraw
    
    * Add TODOs
    
    * Refactor ExcalidrawWrapper types
    
    * Extract width, height from svg for rendering correct fallback image dimension
    
    * Update README.md
    
    * Fix graph image dimension issue and add examples on README.md
    
    * Add examples
    
    * Add example imgs for supported feature
    
    * Refactor testcases filename
    
    * Refactor code
    
    * Refactor computeExcalidrawArrowType
    
    * Use nanoid to generate id
    
    * Refactor element null check on playground
    
    * Migrate style to SCSS
    
    * Add loading spinner while loading testcases
    
    * Add stroke randomness note on README
    
    * Add unsupported diagram testcases
    
    * Add get started section on README
    
    * Add TODOs
    
    * Add error handling to get started
    
    * Upgrade mermaid version
    
    * Fix graph image fallback size
    
    * Extract style from vertex
    
    * Implement style mapping for vertex element
    
    * Implement style mapping for text label
    
    * Refactor style mapping types
    
    * Rename folder
    
    * Apply fitToContent
    
    * Lock package version
    
    * Add playground link
    
    * Add unsupported diagram section
    
    * Update README.md and API sectionb
    
    * Use unpkg for React and ReactDOM
    
    * Fix eslint warnings
    
    * Add example imgs for unsupported chart
    
    * Fix indentation
    
    * Update text alignment
    
    * Add align property to table
    
    * Add mermaid example on unsupported features
    
    * Refactor renderToExcalidraw logic, handle props change
    
    * Fix build err type declaration not found problem
    
    * Fix parcel build err
    
    * Remove mermaid from parseMermaid params
    
    * Fix type def not found err
    
    * Update build command
    
    * Update global types
    
    * Update package.json
    
    * Add MIT License
    
    * Update playground build path
    
    * Update tsconfig setting with project ref
    
    * Remove exclude
    
    * Update build cmd
    
    * Add comments for targets.main param
    
    * Add minify process on build
    
    * Change playground build path to public
    
    * Fix body width
    
    * Add --dist-dir for parcel start
    
    * Rename common tsconfig file
    
    * tweaks and fix css
    
    * Remove minify script
    
    ---------
    
    Co-authored-by: default avatarAakansha Doshi <aakansha1216@gmail.com>
    2d733ee5
    feat: Mermaid to Excalidraw package with playground (#1)
    Chun Rapeepat authored
    
    
    * Init project
    
    * Extract nodes
    
    * Remove dist, .cache
    
    * Add research note
    
    * Parse edgeParhs
    
    * Create multiple testcases
    
    * Fix position info = 0
    
    * Load all flow diagram testcases from doc
    
    * Add nodeType
    
    * Extract edgeLabels
    
    * Parse clusters
    
    * Extract node link
    
    * Handle parser recursively
    
    * Clean gitignore
    
    * Extract edgeType
    
    * Add TODO note
    
    * Experiments with getDiagramFromText
    
    * Use mermaid from npm package instead
    
    * Access the parsed data
    
    * parseVertices
    
    * parseEdges
    
    * parseSubgraph
    
    * Clean nodes id
    
    * Clean up TODOs
    
    * Ignore advanced testcases for poc
    
    * Parse cluster dimention
    
    * Add curve linear option for better understanding of arrow path
    
    * Add TODOs
    
    * Create Excalidraw Board
    
    * Render vertex with text
    
    * Render circle
    
    * Update TODOs and Testcases
    
    * Add text to arrow
    
    * Check text exist on arrow
    
    * Correct arrow position
    
    * Update TODOs
    
    * Bind arrow to vertex
    
    * Support reflection points
    
    * Fix render position & add advanced testcases
    
    * Show parsed data
    
    * Fix sub vertices position
    
    * Fix sub edges position
    
    * Render cluster to Excalidraw
    
    * Render cluster title
    
    * Group by cluster
    
    * Calculate parent element recursively
    
    * Add TODOs
    
    * create tree mapping for groupping
    
    * Call redrawTextBoundingBox
    
    * Update excalidraw to latest version
    
    * Calculate gap and focus
    
    * redrawTextBoundingBox on clustesr
    
    * Convert database type
    
    * Support thick and dashed arrow
    
    * Fix render bug (width: 0, height: 0)
    
    * Remove TODOs
    
    * Update gitignore
    
    * Remove excalidraw package from git
    
    * dummy commit
    
    * Fix build error problem
    
    * Upload excalidraw package to CDN
    
    * Change build dir to public
    
    * Support round element
    
    * Update package.json
    
    Co-authored-by: default avatarAakansha Doshi <aakansha1216@gmail.com>
    
    * Update package.json
    
    Co-authored-by: default avatarAakansha Doshi <aakansha1216@gmail.com>
    
    * Create playground dir
    
    * Remove unused code
    
    * Update build-playground command
    
    * Setup tsconfig
    
    * Setup tests
    
    * Update package.json
    
    Co-authored-by: default avatarAakansha Doshi <aakansha1216@gmail.com>
    
    * Clean up dependencies
    
    * Remove tsc (deprecated)
    
    * Implement parseMermaid func
    
    * Implement graphToExcalidraw func
    
    * Fix render edge curve bug
    
    * Remove test
    
    * Update build:playground command
    
    * Fix build command public url path
    
    * Change font-size dynamically
    
    * Ignore markdown strings and the FontAwesome support feature.
    
    * Support entity codes
    
    * Support dot and bar arrow type
    
    * Support double arrow types
    
    * Use getBBox instead of getBoundingClientRect for more precise element dimentions
    
    * Apply redrawTextBoundingBox for edge's text
    
    * Fix nested cluster position & dimension shift
    
    * Update text binding to label param on vertex
    
    * Update text binding to label param on arrow
    
    * Update text binding to label param on cluster
    
    * Add TODOs
    
    * Add TODOs
    
    * Add custom mermaid data test section
    
    * Render correct cluster title text alignment
    
    * Render correct cluster title text alignment
    
    * Support grouping
    
    * Add comments for parser
    
    * Remove deprecated dependency
    
    * Remove type checker since it already check in graphToExcalidraw
    
    * Remove unused code
    
    * Remove TODOs
    
    * Remove unused code
    
    * Refactor computeExcalidrawArrowType
    
    * Rename to ExcalidrawWrapper
    
    * Update testcases
    
    * Render the Excalidraw App UI
    
    * Support doublecircle
    
    * Support link
    
    * Fallback stadium type for rounded conner rect
    
    * Refactor file structures
    
    * Rename files
    
    * Add comment
    
    * Pump excalidraw version
    
    * Support arrow binding with new API
    
    * Hide .mobile-misc-tools-container
    
    * Fix rendering cluster id not found
    
    * Add custom fontSize for custom test
    
    * Check supported diagram type
    
    * Add custom test description
    
    * Bump excalidraw version
    
    * Refactor playground
    
    * Update code structure for parseMermaid
    
    * Add types and refactor parseCluster
    
    * Refactor computeElementPosition
    
    * Fix link compute position err
    
    * Refactor parseEdge
    
    * Refactor interfaces
    
    * Refactor graphToExcalidraw
    
    * Refactor groupping algorithm
    
    * Add comments
    
    * minor tweaks in package
    
    * enable strict type checks
    
    * Enable Typescript strict mode
    
    * Fix graphToExcalidraw type errs
    
    * Migrate parcel to v2; resolving babel issues
    
    * Remove unused dependency
    
    * Fix parseMermaid errs
    
    * Remove @babel/plugin-syntax-optional-chaining
    
    * Remove unused code
    
    * Remove babel-polyfill
    
    * Fix build playground err
    
    * Turn playground to typescript
    
    * Add TODOs
    
    * Fix mermaid build err by disable parcel scope hoisting
    
    * Render mermaid syntax and make data collapsable
    
    * Fix renderExcalidraw parse data err
    
    * Rename vars
    
    * Move playground out of src folder
    
    * Update TODOs
    
    * Set the default font size to 20
    
    * Refactor hiding element in parseMermaid
    
    * Fix parse err when diagram have cluster
    
    * Add example for entityCodesToText
    
    * Rename mermaidDiv id
    
    * Update mermaidParser type
    
    * Rename nodes to nodeIds
    
    * Add extract node id example
    
    * Create constants file
    
    * Fallback markdown label to text
    
    * Ignore font awesome icons in label
    
    * Setup eslint
    
    * Update dependencies list
    
    * Update README.md
    
    * Refactor playground
    
    * Update TODOs
    
    * Update script
    
    * Refactor vertex.type
    
    * Add comments
    
    * Make parsed data from custom test collapsible
    
    * Handle err for custom test
    
    * Refactor custom test section
    
    * Refactor ExcalidrawElement types
    
    * Update TODOs and comments
    
    * Upgrade excalidraw package and refactor arrow binding code
    
    * Add example image for README.md, showing an overview of what the output look like
    
    * Revert preview code
    
    * Set scrollToContent to true
    
    * update Un-supported features section
    
    * Refactor renderMermaid
    
    * Fallback unsupported graph with svg image
    
    * Render svg image on Excalidraw
    
    * Add TODOs
    
    * Refactor ExcalidrawWrapper types
    
    * Extract width, height from svg for rendering correct fallback image dimension
    
    * Update README.md
    
    * Fix graph image dimension issue and add examples on README.md
    
    * Add examples
    
    * Add example imgs for supported feature
    
    * Refactor testcases filename
    
    * Refactor code
    
    * Refactor computeExcalidrawArrowType
    
    * Use nanoid to generate id
    
    * Refactor element null check on playground
    
    * Migrate style to SCSS
    
    * Add loading spinner while loading testcases
    
    * Add stroke randomness note on README
    
    * Add unsupported diagram testcases
    
    * Add get started section on README
    
    * Add TODOs
    
    * Add error handling to get started
    
    * Upgrade mermaid version
    
    * Fix graph image fallback size
    
    * Extract style from vertex
    
    * Implement style mapping for vertex element
    
    * Implement style mapping for text label
    
    * Refactor style mapping types
    
    * Rename folder
    
    * Apply fitToContent
    
    * Lock package version
    
    * Add playground link
    
    * Add unsupported diagram section
    
    * Update README.md and API sectionb
    
    * Use unpkg for React and ReactDOM
    
    * Fix eslint warnings
    
    * Add example imgs for unsupported chart
    
    * Fix indentation
    
    * Update text alignment
    
    * Add align property to table
    
    * Add mermaid example on unsupported features
    
    * Refactor renderToExcalidraw logic, handle props change
    
    * Fix build err type declaration not found problem
    
    * Fix parcel build err
    
    * Remove mermaid from parseMermaid params
    
    * Fix type def not found err
    
    * Update build command
    
    * Update global types
    
    * Update package.json
    
    * Add MIT License
    
    * Update playground build path
    
    * Update tsconfig setting with project ref
    
    * Remove exclude
    
    * Update build cmd
    
    * Add comments for targets.main param
    
    * Add minify process on build
    
    * Change playground build path to public
    
    * Fix body width
    
    * Add --dist-dir for parcel start
    
    * Rename common tsconfig file
    
    * tweaks and fix css
    
    * Remove minify script
    
    ---------
    
    Co-authored-by: default avatarAakansha Doshi <aakansha1216@gmail.com>
This project is licensed under the MIT License. Learn more
Loading