mermaidjs-desktop-client

A desktop client for MermaidJS built with Electron

https://github.com/skydiver/mermaidjs-desktop-client

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.3%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

A desktop client for MermaidJS built with Electron

Basic Info
  • Host: GitHub
  • Owner: skydiver
  • License: mit
  • Language: JavaScript
  • Default Branch: master
  • Size: 600 KB
Statistics
  • Stars: 3
  • Watchers: 1
  • Forks: 1
  • Open Issues: 1
  • Releases: 0
Created almost 2 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License Citation

README.md

MermaidJS Desktop Client

MermaidJS Desktop Client is a desktop application built using Electron, designed to provide a visual editor for MermaidJS, enabling users to create, edit, and render diagrams with ease. It integrates the powerful Monaco Editor for a rich coding experience with Mermaid syntax highlighting.

Features

  • Interactive MermaidJS Editor: Write and visualize MermaidJS diagrams in real-time.
  • Syntax Highlighting: Provides MermaidJS syntax highlighting via Monaco Editor.
  • Cross-Platform: Works on macOS, Windows, and Linux.
  • Resizable Editor and Preview: Dynamically resize the editor and preview panes.
  • Save/Open Diagrams: Load and save `.mmd files.
  • Built-in Themes: Includes support for Monaco themes like vs and vs-dark.
  • Export Diagrams: Easily export Mermaid diagrams to image files.

Installation

This project uses Node.js and next to sates to set up your app.

Clone the Repository

bash git clone https://github.com/your-repo/mermaid-desktop-client.git cd mermaid-desktop-client

Install Dependencies

bash npm install

Running the App

Start the Electron application in development mode:

bash npm start

Building the App

To build the app for macOS:

bash npm run build

This will create a .app file in the dist directory for macOS.

Build Configurations

The build configurations are defined in electron-builder.js, which specifies the target platforms and options. To build for macS only:

javascript module.exports = { appId: "dev.skydiver.mermaid-desktop", productName: "MermaidJS Desktop Client", directories: { buildResources: "assets" }, files: [ "**/*", "!node_modules/*/{CHANGEIOGMad,READ_MDr,READmd,REAM_adm,REAMdl, "!node_modules/.../example/.*" ], mac: { category: "public.app-category.utilities", target: [ { target: "dir", arch: ["x64","arm64"] } ], icon: "assets/icon.icns" } };

How to Use

  1. Write Mermaid Diagrams: Use the Monaco Editor to write MermaidJS code. The preview pane will update in real-time as you type.
  2. Save Diagrams: Click the “Save Diagram” button to save your diagram in .mmd format.
  3. Open Diagrams: Load existing MermaidJS diagrams by clicking the “Open Diagram” button.
  4. Full-Screen Mode: Use the “Full Screen” button for distraction-free editing.

Technologies Used

  • Electron: Provides the cross-platform desktop environment.
  • MermaidJS: Allows for the creation of diagrams via text definitions.
  • Monaco Editor: Used for advanced code editing features like syntax highlighting and theme support.
  • Tailwind CSS: Simplifies the styling of the application.

Owner

  • Name: Martin M.
  • Login: skydiver
  • Kind: user
  • Location: Montevideo, Uruguay

Dad & Developer (former skydiver)

Citation (CITATION.cff)

cff-version: 1.2.0
title: 'Mermaid: Generate diagrams from markdown-like text'
message: >-
  If you use this software, please cite it using the metadata from this file.
type: software
authors:
  - family-names: Sveidqvist
    given-names: Knut
  - name: 'Contributors to Mermaid'
repository-code: 'https://github.com/mermaid-js/mermaid'
date-released: 2014-12-02
url: 'https://mermaid.js.org/'
abstract: >-
  JavaScript based diagramming and charting tool that renders Markdown-inspired
  text definitions to create and modify diagrams dynamically.
license: MIT

GitHub Events

Total
  • Watch event: 2
  • Pull request event: 1
  • Fork event: 1
Last Year
  • Watch event: 2
  • Pull request event: 1
  • Fork event: 1

Dependencies

package.json npm
  • electron ^32.0.1 development
  • electron-builder ^25.0.5 development
pnpm-lock.yaml npm
  • 342 dependencies