8000 GitHub - iDecay-Studio/feathr: A modern and minimal text editor for desktop and mobile.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

iDecay-Studio/feathr

Repository files navigation


Logo

feathr.

A modern and minimal text editor for desktop and mobile.

Download for:  Windows · MacOS · Linux

feathr. Text Editor

About

This project is based on other open-source editors like Parchment and Left while also adding the following features and more:

  • theming - support for multiple baked-in themes;
  • drag-and-drop: open files by dragging them into the app;
  • menu-bar - custom menubar with common text-editor options and shortcuts;
  • command-bar - improved search and replace bar and text-highlighter;
  • custom caret - animated input-caret for a smooth writing experience;
  • autom. text backup - recover current progress in case the OS/app crashed;
  • focus mode - for distraction-free writing;

Used libraries and assets:

  • Tauri - a rust wrapper that allows you to create fast and secure desktop applications using web technologies;
  • Svelte - performant and modern javascript framework for the frontend;
  • UnoCSS - to allow for simple and consistent styling of the application;
  • Tabler Icons & Phosphor Icons - for the few icons used within this application;

Project Structure

Main Folders

  • desktop - the root of the desktop app;
  • mobile - the root of the mobile app;
  • shared - contains the main editor logic as well as styles and components shared between the desktop and mobile app;
  • src-tauri - the source root for the tauri backend;

The desktop, mobile, and shared folders contain the components, styles, and logic for the frontend as well as the actual editor functionality.

Main Scripts

Inside shared\js lies the main script logic for the app with the following structure:

  • core - foundational scripts like the the app.js script and global settings;
    • modules - the global app features as individual classes;
  • editor - the editor-specific scripts;
    • tools - editor-related features;
  • events - global event-handling;
  • ui - interface-related scripts for the menus and prompts;

The core\app.js script is the heart of the application and orchestrates all the modules and editor features. It initializes and updates the modules and serves as the main entry point for all other scripts to access any app-related functionality.

Installation

Head to the releases page to download the preferred pre-built executable.

  • Linux: Download the .AppImage or .deb file and install it.
  • macOS: Download the .dmg file, then drag Tau to your Applications folder.
  • Windows: Download the.exe or .msi executable and run it.

If you encounter a SmartScreen warning, it’s because I haven't purchased a Microsoft code-signing certificate yet.
The app is safe to use, the source code is available for review, and you can also scan the executable with VirusTotal.

To install:
Click "More info."
Click "Run anyway."

Building

Setup

Before you build, you need to have everything required installed.
Follow this guide to install Tauri and its dependencies.

After everything is installed, run the following commands to setup your local repository:

git clone https://github.com/iDecay-Studio/feathr.git
cd feathr
bun install

🖥️ Desktop

run: bun run app-build
Once the build has been completed, you will find the executables in src-tauri/target/release/bundle.

🤖 Android

Android Studio and a few other steps will be required to get things up and running.

Note: When installing Android Studio via JetBrains Toolbox on Windows, the JAVA_HOME path is located at: C:\Users\<User>\AppData\Local\Programs\Android Studio\jbr

Once that's done, you can initialize the project with: bun run android-init

Whenever you make changes to the Cargo dependencies or when you encounter some error messages unrelated to your code changes, run bun run android-init to re-initialize the src-tauri\gen\android folder.

Open Android Studio and run the development build: bun android-dev
This command should open the Android emulator and the app shortly after.\

When multiple android emulators are being detected, enter the index matching the desired emulator (e.g. Medium_Phone_API_35).
On some newer emulator versions, INFO is being listed as a device option. To fix this, downgrade your emulator to the latest stable version.

If everything is working correctly, you can build the mobile app via: bun android-build

In order to upload the app to Google Play Console, it needs to be signed by following this guide.


When the app starts with the following warning: This app was build for an older version of Android, go to src-tauri/gen/android/app/build.gradle.kts and insert targetSdk = 34 inside android { defaultConfig { ... } }.

🍎 iOS

Check the prerequisites for having iOS ready to run (MacOS only).

Once that is done, let’s create the XCode project: tauri ios init

If everything runs successfully, you can start the development server with:
tauri ios dev --open

This command will open XCode with your project. Select the simulator and run the app.

(back to top)

About

A modern and minimal text editor for desktop and mobile.

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published
0