Skip to content

Commit

Permalink
Merge pull request #59 from mellobacon/dev
Browse files Browse the repository at this point in the history
  • Loading branch information
mellobacon committed May 28, 2023
2 parents b55406f + 298c913 commit a25303c
Show file tree
Hide file tree
Showing 81 changed files with 3,272 additions and 15,736 deletions.
106 changes: 73 additions & 33 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,78 +3,118 @@
Before you get started, please note the following:

This project was made with [Tauri](https://tauri.app/) and was built with...

- [Svelte](https://svelte.dev/) (Frontend)
- [Rust](https://www.rust-lang.org/) (Backend)
- [TypeScript](https://www.typescriptlang.org/)

...and these build dependencies...

- [Yarn](https://yarnpkg.com/)
- [Node.js](https://nodejs.org)

Note that yarn is the package manager I've decided to use for this project and it's what I have Tauri rely on for building the app at the moment. If you want to use another package manager like npm, you can but youll just need to change yarn to npm in the [tauri config](https://github.com/mellobacon/Nucleus/blob/master/src-tauri/tauri.conf.json) and for any command in these instructions that uses yarn.
Note that yarn is the package manager I've decided to use for this project and it's what I have Tauri rely on for building the app at the moment. If you want to use another package manager like npm, you can but you'll just need to change yarn to npm in the [tauri config](https://github.com/mellobacon/Nucleus/blob/master/src-tauri/tauri.conf.json) and for any command in these instructions that uses yarn.

## Submitting Issues

If you found a bug, [submit a bug report](https://github.com/mellobacon/Nucleus/issues/new?assignees=&labels=bug&template=bug_report.md&title=%5BBUG%5D). If you want to discuss a feature you would like to see added, [submit a feature request](https://github.com/mellobacon/Nucleus/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=%5BFEATURE%5D).

When writing your issue, don't delete the template. You can fill it out and delete parts that do not apply, but don't delete the whole thing. It's there as a guideline and makes it easier for me to understand your request.

## Submitting PRs

If you want to contribute to Nucleus via code, doc edits, or otherwise make a pull request. Note that only PRs to the `dev` branch will be reviewed.

- When making commits, please follow the Conventional Commits guildines outlined [here](https://www.conventionalcommits.org/en/v1.0.0/#specification).
- Your commits must be [signed](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits).

- Do not submit a pull request that contains major changes unless an issue has been opened for it first. This way it can be discussed. Any PR that is submitted without an issue being open on it will not be accepted.

**Note**: Any issue or pull request that contains spam or trolling will be marked as such and closed. Don't do it.

**Note 2:** Keep in mind I am one person. *Do not beg me to look at your issue or PR.* I will get to it when I get to it. No PR is guarenteed to be merged. As life happens activity will fluctuate but that does not mean this project is abandoned. If this project is no longer being worked on I will say so.

___

## Development Guide

Note: Right now only Windows is supported

### Prerequisites

- Rust
- Node 16+
- TypeScript
- Yarn/Npm

Follow these instructions for installing the prerequisites on Windows:

1. Download and install [Build Tools for Visual Studio 2022](https://visualstudio.microsoft.com/visual-cpp-build-tools/)
2. If you dont have it already, download and install [webview2](https://developer.microsoft.com/en-us/microsoft-edge/webview2/#download-section)
3. Download and install Rust via `winget` or get it from [here](https://www.rust-lang.org/tools/install).

```shell
winget install --id Rustlang.Rustup
```

4. Download and install [nodejs](https://nodejs.org/en/)

5. Install yarn

```shell
npm i -g yarn
```

6. Install [git](https://git-scm.com/download/win)

## Project Setup

Clone the repo via...

```bash
gh repo clone mellobacon/Nucleus
```

or

```bash
git clone https://github.com/mellobacon/Nucleus.git
```

If you want to clone from within your editor, copy ```https://github.com/mellobacon/Nucleus.git``` and follow the instructions for cloning a repo for your editor. Alternatively you can [download the zip file](https://github.com/mellobacon/Nucleus/archive/refs/heads/master.zip).

Finally install the packages...
```bash
yarn install # Packages are listed in the package.json
```
Navigate to the project...

## Running Nucleus

First build the app. This will bundle the scripts, css, and other required project files.
```bash
yarn build
cd Nucleus
```

Once you have the project built, you can run it via a desktop window or alternatively on a browser window*.

\**Nucleus is meant to be run on a desktop window. Though it can load and run in a browser, expect weird behavior*

### To run via a desktop window...

(*Note on building for desktop: Make sure you have these [prerequisites](https://tauri.app/v1/guides/getting-started/prerequisites) as well as [the Tauri CLI](https://tauri.app/v1/guides/getting-started/tauri-cli)*.)
Finally install the packages...

```bash
yarn tauri dev
yarn install # Packages are listed in the package.json
```

### To run via browser...
and build the files...

```bash
yarn build # Will need to be run if there are file changes
yarn start
yarn build
```

Navigate to [localhost:8080](http://localhost:8080). You should see the app running in the browser.

## Compiling Nucleus
This will bundle the scripts, css, and other required project files to be run later.

To create an executable file...
```bash
yarn tauri build
```
(*Note: this is for building a single executable for your current OS. To build for other operating systems, read [how to build a Tauri app](https://tauri.app/v1/guides/building/).*)
___

## Submitting Issues
## Running Nucleus

If you found a bug, [submit a bug report](https://github.com/mellobacon/Nucleus/issues/new?assignees=&labels=bug&template=bug_report.md&title=%5BBUG%5D). If you want to discuss a feature you would like to see added, [submit a feature request](https://github.com/mellobacon/Nucleus/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=%5BFEATURE%5D).
With Nucleus set up, follow this guide to run the development environment.

***Do not*** submit a pull request that contains major changes unless an issue has been opened for it first. This way it can be discussed.
Once you have the project built, you can run it via a desktop window.

Also, when writing your issue, don't delete the issue template. You can fill it out and delete parts that do not apply, but don't delete the whole thing. It's there as a guideline and makes it easier for me to understand your request.
### To run via a desktop window...

**Note**: Any issue or pull request that contains spam or trolling will be marked as such and closed. Don't do it.
```bash
yarn tauri dev
```

(*Note on building for desktop: Make sure you have these [prerequisites](https://tauri.app/v1/guides/getting-started/prerequisites) as well as [the Tauri CLI](https://tauri.app/v1/guides/getting-started/tauri-cli)*.)
12 changes: 5 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,16 @@
Download
</p>


Nucleus is a text editor featuring a clean and easy to use user interface inspired by Visual Studio Code, Atom, Fleet, and others.

<img width="600" alt="nucleus_emptyworkspace" src="https://user-images.githubusercontent.com/42365887/193436094-43a4a617-0f4f-48a1-bfe6-660702075b62.png">
<img width="600" alt="nucleus_emptyworkspace" src="https://github.com/mellobacon/Nucleus/assets/42365887/b66b6f69-218f-4aab-8ae2-d2c4c1b87203">

### Known issues

- TBA

**This project is a WIP. Bugs and missing or incomplete features will be present**
## Contributing

## Installation
*TBA*
This is for those that want to contribute or build on their local machines. [Here's how to contribute](https://github.com/mellobacon/Nucleus/blob/master/CONTRIBUTING.md).

## Contributing
This is for those that want to contribute or build on their local machines. ~~If you want to install without building, follow the steps in Installation.~~ Otherwise, [here's how to contribute](https://github.com/mellobacon/Nucleus/blob/master/CONTRIBUTING.md).
**This project is a WIP. Bugs and missing or incomplete features will be present**
32 changes: 15 additions & 17 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,27 +12,25 @@
"start-window": "yarn tauri dev"
},
"dependencies": {
"@codemirror/language-data": "^6.1.0",
"@tauri-apps/api": "^1.1.0",
"@codemirror/language-data": "^6.3.1",
"@tauri-apps/api": "^1.2.0",
"codemirror": "^6.0.1",
"sass": "^1.62.0",
"sortablejs": "^1.15.0",
"svelte-splitpanes": "^0.7.3",
"xterm": "^5.0.0",
"xterm-addon-fit": "^0.6.0",
"sass": "^1.56.1"
"svelte-splitpanes": "^0.7.13"
},
"devDependencies": {
"@sveltejs/vite-plugin-svelte": "^1.0.1",
"@tauri-apps/cli": "^1.1.0",
"@tsconfig/svelte": "^3.0.0",
"carbon-components-svelte": "^0.67.0",
"@sveltejs/vite-plugin-svelte": "^2.0.4",
"@tauri-apps/cli": "^1.2.3",
"@tsconfig/svelte": "^4.0.1",
"@types/node": "^18.15.11",
"carbon-icons-svelte": "^11.4.0",
"prettier": "2.7.1",
"svelte": "^3.49.0",
"svelte-check": "^2.8.0",
"svelte-preprocess": "^4.10.7",
"tslib": "^2.4.0",
"typescript": "^4.6.4",
"vite": "^3.0.2"
"prettier": "^2.8.7",
"svelte": "^3.58.0",
"svelte-check": "^3.2.0",
"svelte-preprocess": "^5.0.3",
"tslib": "^2.5.0",
"typescript": "^5.0.4",
"vite": "^4.2.2"
}
}
Loading

0 comments on commit a25303c

Please sign in to comment.