Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/alexwkleung/iris

✨ A comfortable note-taking app powered by Markdown
https://github.com/alexwkleung/iris

codemirror codemirror-editor electron electron-app electron-application local-apps local-first macos markdown markdown-editor napi napi-rs note-taking note-taking-app notes-app prosemirror rust typescript wysiwyg wysiwyg-editor

Last synced: about 17 hours ago
JSON representation

✨ A comfortable note-taking app powered by Markdown

Awesome Lists containing this project

README

        




Iris



ˈaɪərɪs | eye-riss




A comfortable note-taking app powered by Markdown that introduces a elegant note-taking experience.


Always local-first, open-source, and free forever.






Discord



# Info

The app is currently in early development and may not be 100% stable for daily use. The source code could go through a handful of iterations and subsequent releases may not be backward compatible.

Only macOS installers will be supplied in the early development phase and official release (v1.0.0). Other platforms are not supported but is considered in the future roadmap.

# Contact

Join the [Discord](https://discord.gg/z9QmRgJsmc) to chat with others in the community.

For professional mediums, you can contact via email (expect 24-48 hour reply time): [email protected]

[GitHub Discussions](https://github.com/alexwkleung/Iris/discussions) is also an alternative to the above contact methods.

# Installation

You can install the latest dev builds from [releases](https://github.com/alexwkleung/Iris/releases).

If you want to build the app directly from source, follow the instructions in [Development](#development).

# Development

The recommended editor for development is [VS Code](https://code.visualstudio.com/)

Install [Node.js](https://nodejs.org/en/download)

Install [Rust](https://www.rust-lang.org/tools/install)

If you are cross-compiling the native modules for other platforms, you'll need to install the corresponding target if it isn't already installed:

```bash
# check target list
rustc --print target-list

# install target
rustup target install

# Apple Silicon:
rustup target install x86_64-apple-darwin

# Intel Architecture:
rustup target install aarch64-apple-darwin
```

The recommended build tool for Iris is [GNU Make](https://www.gnu.org/software/make/). All build steps or commands will be reflected in the `makefile`. At the moment, only a small set of commands have a `npm run` script counterpart.

```bash
# for example: install Xcode Command Line Tools on macOS (includes GNU Make)
xcode-select --install
```

Clone the repository

```bash
git clone
```

Change directory

```bash
cd <...>/Iris
```

Install npm dependencies. Only do this in the *root* of the project. Do not `npm install` inside of the native modules.

```bash
npm install
```

It recommended to add these to your VS Code `settings.json`:

```json
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "always",
"editor.formatOnSave": "always",
},
"prettier.enable": true,
```

Build native modules

```bash
# change directory to native module
cd fs-mod

# if you are planning to build a universal binary, you must have the native module for both x64 and arm64

# execute one of the build commands below:

# build native module for your platform (automatic)
npm run build
# build native module for macOS x64
npm run build-x64
# build native module for macOS arm64
npm run build-arm64

# go back to previous directory (assuming Iris root)
cd -
```

Run development server. The dev tools is undocked by default.

```bash
# via make
make dev

# via npm
npm run dev
```

Build the installer

```bash
# via make (x64)
make build-mac-x64

# via make (arm64)
make build-mac-arm64

# via make (universal)
make build-mac-universal

# via npm (x64)
npm run build:mac-x64

# via npm (universal)
npm run build:mac-universal

# via npm (arm64)
npm run build:mac-arm64
```

# Contributing

Here are a list of ways you can contribute to Iris:

1. [Submit a pull request](https://github.com/alexwkleung/Iris/pulls)
2. [Create or answer issues](https://github.com/alexwkleung/Iris/issues)
3. [Create or answer discussion posts](https://github.com/alexwkleung/Iris/discussions)
4. Show your interest by sharing Iris to others :)

# License

[MIT License.](https://github.com/alexwkleung/Iris/blob/main/LICENSE)