diff --git a/README.md b/README.md index 597c469..5edc0ff 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,81 @@ # Markditor -English | [简体中文](./README.zh-CN.mdss) +
+ +
+ English | 简体中文 +
-A WYSIWYG Markdown editor. +Yet another WYSIWYG Markdown editor written in TypeScript and Tauri. Aims to be an open-source alternative to Typora. -> ⚠️ Under active development. Only supports Windows 10/11 by now. +> **[Markditor]** = **[Mark]** down + e **[ditor]**. +> Supports Windows 10 / 11 by now. + +> ⚠️ WIP. Be careful if you want to edit your important documents. ## Technology Stack - React -- Tauri / Electron +- **Tauri** (preferred) / Electron +- Vditor (A forked version, see [here](https://github.com/greyovo/vditor)) - Zustand -- Radix +- Radix-UI - Tailwind CSS +- Vite + +## Download + +Go to [releases](https://github.com/greyovo/MarkditorApp/releases) page. + +## Project Architecture + +``` +├─build // Build assets used by electron-builder +├─dist // Web contents build output +├─dist-electron // Electron prebuilt files +├─electron // Electron main process +├─public // Public files to be used in HTML +├─release // Electron build output +├─shared // Shared types definitions between renderer and main processes +├─src // Front-end sources +│ ├─assets // Static assets, i.e., fonts +│ ├─components // Global components +│ ├─feat // Feature modules +│ ├─ipc // IPC communication +│ ├─store // Zustand stores and business logics +│ ├─types // Global type definitions +│ └─utils // Utility functions +└─src-tauri // Tauri backend process and build output +``` + +## Development + +> Note: Markditor is initially made with Electron, **but currently Tauri is preferred.** So far Electron is still in development and has some unimplemented Platform API. See `electron/main/handler` +> +> By encapsulating IPC communication (see `shared/platform_api.d.ts` and `src/ipc`), Markditor can be easily migrated to other backends such as Tauri. + +Install dependencies: + +```bash +npm install +``` + +Run in dev mode: + +```bash +# Run with Tauri (preferred) +npm run dev:tauri + +# Run with Electron +npm run dev:electron +``` + +Build product: + +```bash +# Build with Tauri (preferred) +npm run build:tauri -感谢TV感谢所有TV +# Build with Electron +npm run build:electron +``` diff --git a/README.zh-CN.md b/README.zh-CN.md index ce51212..8b13789 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -1,91 +1 @@ -## vite-react-electron -[![awesome-vite](https://awesome.re/mentioned-badge.svg)](https://github.com/vitejs/awesome-vite) -![GitHub stars](https://img.shields.io/github/stars/caoxiemeihao/vite-react-electron?color=fa6470) -![GitHub issues](https://img.shields.io/github/issues/caoxiemeihao/vite-react-electron?color=d8b22d) -![GitHub license](https://img.shields.io/github/license/caoxiemeihao/vite-react-electron) -[![Required Node.JS >= 14.18.0 || >=16.0.0](https://img.shields.io/static/v1?label=node&message=14.18.0%20||%20%3E=16.0.0&logo=node.js&color=3f893e)](https://nodejs.org/about/releases) - -[English](README.md) | 简体中文 - -## 概述 - -📦 开箱即用 -🎯 基于官方的 [template-react-ts](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts), 低侵入性 -🌱 结构清晰,可塑性强 -💪 支持在渲染进程中使用 Electron、Node.js API -🔩 支持 C/C++ 模块 -🖥 很容易实现多窗口 - -## 快速开始 - -```sh -# clone the project -git clone https://github.com/electron-vite/electron-vite-react.git - -# enter the project directory -cd electron-vite-react - -# install dependency -npm install - -# develop -npm run dev -``` - -## 调试 - -![electron-vite-react-debug.gif](/electron-vite-react-debug.gif) - -## 目录 - -*🚨 默认情况下, `electron` 文件夹下的文件将会被构建到 `dist-electron`* - -```tree -├── electron Electron 源码文件夹 -│ ├── main Main-process 源码 -│ └── preload Preload-scripts 源码 -│ -├── release 构建后生成程序目录 -│ └── {version} -│ ├── {os}-{os_arch} 未打包的程序(绿色运行版) -│ └── {app_name}_{version}.{ext} 应用安装文件 -│ -├── public 同 Vite 模板的 public -└── src 渲染进程源码、React代码 -``` - - - -## 🔧 额外的功能 - -1. Electron 自动更新 👉 [阅读文档](src/components/update/README.zh-CN.md) -2. Playwright 测试 - -## ❔ FAQ - -- [C/C++ addons, Node.js modules - Pre-Bundling](https://github.com/electron-vite/vite-plugin-electron-renderer#dependency-pre-bundling) -- [dependencies vs devDependencies](https://github.com/electron-vite/vite-plugin-electron-renderer#dependencies-vs-devdependencies) - -## 🍵 🍰 🍣 🍟 - -