inmem-memo 1.2.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +30 -24
  2. package/bin/cli.js +1 -1
  3. package/package.json +4 -4
package/README.md CHANGED
@@ -10,7 +10,7 @@
10
10
  [![npm version](https://img.shields.io/npm/v/inmem-memo.svg?style=flat-square&color=cb3837)](https://www.npmjs.com/package/inmem-memo)
11
11
  [![Framework: Tauri v2](https://img.shields.io/badge/Framework-Tauri%20v2.0-6366f1.svg?style=flat-square&logo=tauri&logoColor=white)](https://v2.tauri.app/)
12
12
  [![Frontend: React 18](https://img.shields.io/badge/Frontend-React%2018%20%2B%20Vite%205-61dafb.svg?style=flat-square&logo=react&logoColor=black)](https://react.dev/)
13
- [![Storage: In-Memory Only](https://img.shields.io/badge/Storage-In--Memory%20Only-f59e0b.svg?style=flat-square)](https://github.com/)
13
+ [![Storage: In-Memory Only](https://img.shields.io/badge/Storage-In--Memory%20Only-f59e0b.svg?style=flat-square)](https://github.com/jakelizzI/inmem-memo)
14
14
  [![License: MIT](https://img.shields.io/badge/License-MIT-10b981.svg?style=flat-square)](LICENSE)
15
15
 
16
16
  <br />
@@ -64,8 +64,9 @@ InMem Scratchpad eliminates traditional note management overhead—such as title
64
64
  ## 🌟 Key Features
65
65
 
66
66
  ### 1. 🛡️ Pure In-Memory Security Policy
67
- - **Zero Disk Persistence for Memo Text**: Note text is kept purely in RAM. It is never written to disk, databases, or `localStorage`.
67
+ - **Zero Disk Persistence for Memo Text**: Note text is kept strictly in RAM. It is never written to disk, databases, or `localStorage`.
68
68
  - **Complete Erasure on Process Exit**: Terminating the application (via "Quit App" in settings or tray menu) immediately releases all allocated memory back to the OS.
69
+ - **Robust macOS & Multi-Platform Process Termination**: Guaranteed process exit via `std::process::exit(0)` ensuring full memory cleanup across Windows, macOS, and Linux.
69
70
  - **Unload Guard**: Built-in confirmation prompt to prevent accidental data loss while typing.
70
71
 
71
72
  ### 2. ⚡ Right Quick-Action Toolbar (JSON Format & Regex Replacements)
@@ -73,7 +74,8 @@ InMem Scratchpad eliminates traditional note management overhead—such as title
73
74
  - Permanently pinned at the top. Instantly prettifies unformatted JSON payloads with clean 2-space indentation.
74
75
  - **Custom Regular Expression Actions**:
75
76
  - Add, edit, test, and save frequently used regex replacement rules via the Settings modal.
76
- - **Live Preview Testing**: Interactive sandbox inside the Settings modal to verify pattern replacements in real time.
77
+ - **Interactive Regex Flags Cheat Sheet & Help Guide**: Clear explanations for `g` (global), `m` (multiline), `i` (case-insensitive), and `s` (dot-all) with one-click quick chips (`gm`, `g`, `gi`).
78
+ - **Multiline Real-Time Testing Sandbox**: 2-pane interactive preview (input text ➔ live replacement output) with sample preset buttons to verify pattern replacements across multiple lines.
77
79
  - **One-Click Presets**:
78
80
  - "Clean Empty Lines" (`^\s*$\n` ➔ `""`)
79
81
  - "Trim Trailing Spaces" (`[ \t]+$` ➔ `""`)
@@ -81,33 +83,32 @@ InMem Scratchpad eliminates traditional note management overhead—such as title
81
83
  - "Strip HTML Tags" (`<[^>]+>` ➔ `""`)
82
84
  - "Collapse Multiple Spaces" (`[ \t]+` ➔ `" "`)
83
85
 
84
- ### 3. ↩️ Full `Ctrl + Z` (Undo) & `Ctrl + Y` (Redo) History Stack
86
+ ### 3. 🎨 Modern UI & 3 Themes (Midnight / OLED / Clean Light)
87
+ - **3 Curated Color Themes**:
88
+ - **Midnight Dark**: Deep gradient dark mode for night work.
89
+ - **OLED Pure Black**: High-contrast, power-saving true black mode.
90
+ - **Clean Light**: Crisp, bright light mode with soft shadows and refined readability.
91
+ - **Interactive Font Resizing**:
92
+ - Adjust editor font size via numerical input or interactively via **`Ctrl + MouseWheel`** (Mac: `Cmd + Wheel`) with smooth silent zooming.
93
+ - **Live Markdown Preview**: Toggle between raw text editing and sanitized Markdown rendering with one click (sanitized with DOMPurify).
94
+ - **Status Bar & UI Version Display**: Real-time character, word, and line count metrics along with bottom-left version badge (`v1.2.0`).
95
+
96
+ ### 4. 📑 2-Column Sidebar Settings Modal
97
+ - Redesigned from horizontal tabs into a **macOS / VS Code style 2-column sidebar navigation** layout.
98
+ - Easily customize shortcuts, regex actions, appearance themes, font sizes, editor preferences, and process termination in dedicated sections.
99
+
100
+ ### 5. ↩️ Full `Ctrl + Z` (Undo) & `Ctrl + Y` (Redo) History Stack
85
101
  - Even after executing batch transformations (JSON formatting or regex replacements), pressing **`Ctrl + Z` (Mac: `Cmd + Z`)** instantly restores the exact previous text state.
86
102
  - Redo anytime using **`Ctrl + Y`** or **`Ctrl + Shift + Z` (Mac: `Cmd + Shift + Z`)**.
87
103
  - Visual Undo/Redo icon buttons located directly in the header bar.
88
104
 
89
- ### 4. ⌨️ Global Shortcut & System Tray Residency
105
+ ### 6. ⌨️ Global Shortcut & System Tray Residency
90
106
  - **Background Tray Standby**: Clicking the window close button (`×`) minimizes the app directly to the system tray (Windows) or menu bar (macOS).
91
107
  - **Instant Hotkey Summon**:
92
108
  - Press the global hotkey from any active window (IDE, browser, terminal) to instantly toggle the scratchpad on top of your screen.
93
109
  - Default: `Ctrl + Shift + M` (Mac: `Cmd + Shift + M`).
94
110
  - Customizable in Settings with an interactive key recorder.
95
111
 
96
- ### 5. ⚙️ Local Settings Persistence & Complete App Exit
97
- - While memo text remains strictly in-memory, your **user preferences are safely persisted to `localStorage`**:
98
- - Global shortcut key
99
- - Custom regex action library
100
- - Theme choice (Midnight Dark / OLED Pure Black)
101
- - Editor preferences (Font size, Tab width, Word wrap)
102
- - **Complete Application Exit**:
103
- - Easily terminate the background tray process and completely free memory with the "Quit App" button in Settings.
104
-
105
- ### 6. 🎨 Modern Dark Glassmorphism UI & Markdown Preview
106
- - **Aesthetic Dark Mode**: Curated color palette with fluid micro-animations.
107
- - **Live Markdown Preview**: Toggle between raw text editing and formatted Markdown rendering with one click.
108
- - **Live Statistics**: Status bar displaying real-time character, word, and line counts.
109
- - **Quick Operations**: Copy all (`Copy`), export file (`Export .md`), and clear (`Clear`).
110
-
111
112
  ---
112
113
 
113
114
  ## ⌨️ Keyboard Shortcuts
@@ -115,6 +116,7 @@ InMem Scratchpad eliminates traditional note management overhead—such as title
115
116
  | Shortcut | Action |
116
117
  |---|---|
117
118
  | `Ctrl + Shift + M` (Mac: `Cmd + Shift + M`) | **Global Summon** (Toggle window visibility from anywhere) |
119
+ | `Ctrl + MouseWheel` (Mac: `Cmd + Wheel`) | **Interactive Font Resize** (Zoom editor text seamlessly) |
118
120
  | `Ctrl + Z` (Mac: `Cmd + Z`) | **Undo** (Revert text changes, JSON formatting, or regex replacements) |
119
121
  | `Ctrl + Y` / `Ctrl + Shift + Z` | **Redo** (Re-apply reverted changes) |
120
122
  | `Tab` | Insert indentation (2 or 4 spaces) |
@@ -128,17 +130,21 @@ InMem Scratchpad eliminates traditional note management overhead—such as title
128
130
  - `tauri-plugin-global-shortcut`: System-wide hotkey listener
129
131
  - `tray-icon`: System tray / menu bar residency
130
132
  - `include_image!`: Native embedded icon binaries
131
- - **Frontend**: [React 18](https://react.dev/) + [Vite 5](https://vitejs.dev/) + [Lucide Icons](https://lucide.dev/)
133
+ - **Frontend**: [React 18](https://react.dev/) + [Vite 5](https://vitejs.dev/) + [Lucide Icons](https://lucide.dev/) + [DOMPurify](https://github.com/cure53/DOMPurify)
132
134
  - **Styling**: Vanilla CSS (Modern CSS Variables, Glassmorphism, Responsive Grid/Flexbox)
133
135
  - **Distribution**:
134
- - npm: Automated platform-resolving CLI runner (`inmem-memo`)
135
- - GitHub Actions: Multi-platform automated builds for Windows (`.exe`), macOS (`.dmg`), and Linux (`.AppImage`)
136
+ - npm: Automated platform-resolving CLI runner (`inmem-memo`) with Sigstore Provenance
137
+ - GitHub Actions: Multi-platform automated builds for Windows (`.exe`, `.msi`), macOS (`.dmg`), and Linux (`.AppImage`, `.deb`, `.rpm`)
136
138
 
137
139
  ---
138
140
 
139
141
  ## 💻 Local Development & Building from Source
140
142
 
141
143
  ```powershell
144
+ # Clone repository
145
+ git clone https://github.com/jakelizzI/inmem-memo.git
146
+ cd inmem-memo
147
+
142
148
  # Install frontend dependencies
143
149
  npm install
144
150
 
@@ -156,4 +162,4 @@ npm run tauri build
156
162
 
157
163
  ## 📄 License
158
164
 
159
- [MIT License](LICENSE) © 2026 InMem Scratchpad Project
165
+ [MIT License](LICENSE) © 2026 [jakelizzI](https://github.com/jakelizzI/inmem-memo)
package/bin/cli.js CHANGED
@@ -16,7 +16,7 @@ const packageJson = JSON.parse(
16
16
  );
17
17
 
18
18
  const VERSION = packageJson.version;
19
- const REPO = 'jakelizzI/InMem_Scratchpad';
19
+ const REPO = 'jakelizzI/inmem-memo';
20
20
  const CACHE_DIR = path.join(os.homedir(), '.inmem-memo', `v${VERSION}`);
21
21
 
22
22
  function fetchJson(url) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "inmem-memo",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "Ultra-Fast In-Memory Scratchpad Memo Application for Windows, macOS, and Linux",
5
5
  "type": "module",
6
6
  "bin": {
@@ -13,11 +13,11 @@
13
13
  ],
14
14
  "repository": {
15
15
  "type": "git",
16
- "url": "git+https://github.com/jakelizzI/InMem_Scratchpad.git"
16
+ "url": "git+https://github.com/jakelizzI/inmem-memo.git"
17
17
  },
18
- "homepage": "https://github.com/jakelizzI/InMem_Scratchpad#readme",
18
+ "homepage": "https://github.com/jakelizzI/inmem-memo#readme",
19
19
  "bugs": {
20
- "url": "https://github.com/jakelizzI/InMem_Scratchpad/issues"
20
+ "url": "https://github.com/jakelizzI/inmem-memo/issues"
21
21
  },
22
22
  "keywords": [
23
23
  "scratchpad",