138 lines
3.3 KiB
Markdown
138 lines
3.3 KiB
Markdown
# NotePad
|
|
|
|
A simple cross-platform text editor built with Avalonia UI and .NET 8.
|
|
|
|
| Windows | Linux |
|
|
|-----------------------------------------------------------------| ----- |
|
|
|  |  |
|
|
|
|
## Installation
|
|
|
|
### Linux
|
|
|
|
Download the latest release from the [releases page](https://repos.gmgauthier.com/gmgauthier/notepad/releases).
|
|
|
|
#### Option 1: AppImage (Recommended)
|
|
|
|
The AppImage is a portable, single-file executable that requires no installation.
|
|
|
|
```bash
|
|
# Download the AppImage
|
|
wget https://repos.gmgauthier.com/gmgauthier/notepad/releases/download/v0.1.3/NotePad-v0.1.3-x86_64.AppImage
|
|
|
|
# Make it executable
|
|
chmod +x NotePad-v0.1.3-x86_64.AppImage
|
|
|
|
# Run it
|
|
./NotePad-v0.1.3-x86_64.AppImage
|
|
```
|
|
|
|
#### Option 2: System Installation (Tarball)
|
|
|
|
For a traditional system-wide installation:
|
|
|
|
```bash
|
|
# Download and extract
|
|
wget https://repos.gmgauthier.com/gmgauthier/notepad/releases/download/v0.1.3/notepad-v0.1.3-linux-x64.tar.gz
|
|
tar -xzf notepad-v0.1.3-linux-x64.tar.gz
|
|
cd notepad
|
|
|
|
# Install (requires sudo)
|
|
sudo ./install.sh
|
|
```
|
|
|
|
This installs NotePad to `/opt/notepad` and creates:
|
|
- Command-line shortcut: `notepad`
|
|
- Desktop menu entry
|
|
|
|
To uninstall:
|
|
```bash
|
|
sudo /opt/notepad/uninstall.sh
|
|
```
|
|
|
|
### Windows
|
|
|
|
Download the latest release from the [releases page](https://repos.gmgauthier.com/gmgauthier/notepad/releases).
|
|
|
|
```powershell
|
|
# Download the zip file
|
|
# Extract notepad-v0.1.3-win-x64.zip
|
|
|
|
# Run NotePad.exe from the extracted folder
|
|
```
|
|
|
|
No installation required - just extract and run!
|
|
|
|
## Building from Source
|
|
|
|
### Prerequisites
|
|
|
|
- [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0)
|
|
- Python 3.12+
|
|
- (Linux only) `appimagetool` for AppImage builds
|
|
|
|
### Build Commands
|
|
|
|
```bash
|
|
cd NotePad
|
|
|
|
# Build for Linux only
|
|
python3 publish.py linux
|
|
|
|
# Build for Windows only
|
|
python3 publish.py windows
|
|
|
|
# Build for both platforms
|
|
python3 publish.py both
|
|
|
|
# Linux-specific package options
|
|
python3 publish.py linux appimage # AppImage only
|
|
python3 publish.py linux tarball # Tarball only
|
|
python3 publish.py linux both # Both packages
|
|
```
|
|
|
|
Build outputs are located in `../publish/`:
|
|
- Linux AppImage: `publish/appimage/`
|
|
- Linux Tarball: `publish/tarball/`
|
|
- Windows: `publish/win-x64/`
|
|
|
|
## Development
|
|
|
|
### Project Structure
|
|
|
|
```
|
|
NotePad/
|
|
├── NotePad/ # Main application
|
|
│ ├── App.axaml # Application XAML
|
|
│ ├── MainWindow.axaml # Main window UI
|
|
│ ├── Program.cs # Entry point
|
|
│ └── publish.py # Build script
|
|
├── .gitea/
|
|
│ └── workflows/
|
|
│ └── release.yaml # CI/CD workflow
|
|
└── README.md
|
|
```
|
|
|
|
### Running in Development
|
|
|
|
```bash
|
|
cd NotePad/NotePad
|
|
dotnet run
|
|
```
|
|
|
|
## License
|
|
|
|
This is free and unencumbered software released into the public domain.
|
|
|
|
Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.
|
|
|
|
For more information, please refer to <https://unlicense.org>
|
|
|
|
## Author
|
|
|
|
Greg Gauthier
|
|
|
|
## Acknowledgements
|
|
|
|
Okay, I'll admit it. This application was build with the assisance of Grok, and the Claude agent built into Jetbrains Rider.
|