Skip to content

Commit 8fe7231

Browse files
authored
115 build system housekeeping modernisation windows linux (#174)
* 120 packagejson build section cleanup (#140) * ci: .env added for windows store build * fix: nameing cleanup (#136) * chore: moved internal meta to new section (#137) * chore: cleaned up scripts * 119 build script redesign (#165) * 141 create metadata injection script inject metadatajs (#158) * template meta injector(untested) * Clean YYYY‑MM‑DD in the footer * 142 implement dev build script build devjs (#159) * template meta injector(untested) * dev script working |meta script val * 143 implement test build script build testjs (#160) * add: test script for new test builds * updated the meta scrapper to include the new meta * updated the meta scrapper to include the new meta * removed from root now in scripts * new: release pipline (dry run tested only) (#161) * new: linux build script (testing merge if good) (#162) * 146 create platform helper module helpersplatformjs (#163) * new: helper module for future updater * feat: added new helper non invasive for testing * 147 refactor packagejson build entrypoints (#164) * chore: removed un needed old script * updated quickstart for new commands * 116 updater modernisation windows linux (#167) * chore: added build/ to list * updated build scripts for release line to store * chore: added helper in to add new field for updater: * chore: added helper in to add new field for updater: * chore: updated to add new release flags for updater * feat: added for simplicity for community, detects OS and builds accordingly * connected new meta | added end points to the UI meta section * added meta.installSource to connect detect sourse * now just passes through meta * change location * hold * feat: store ready update logic * chore: linux clean up (#169) * 121 release pipeline improvements (#170) * MSIX packaging tool included i * fix: correct script * windows stop moving your stuff * removed MSIX to allow for manual packaging (new issue to address) * fix: snap build calls correct actions | removed test tag * snap packaging * Snap Store Live | Windows store next * cleaned build pipline ready for testing * Update release.yml * Update package.json * Update package.json * Update release.yml * Update release.yml * Update build-win.js * fix: updated with no publish | changed nodejs version 20->24 * 122 documentation overhaul build updater (#173) * chore: version bump * chore: document pass for V3 release * chore: readme fix * fix: windows store review
1 parent dcf895a commit 8fe7231

48 files changed

Lines changed: 1453 additions & 1538 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/release.yml

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
name: SnapDock Release Pipeline
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches:
7+
- main
8+
# - 121-release-pipeline-improvements // test branch here
9+
10+
permissions:
11+
contents: write
12+
id-token: write
13+
14+
jobs:
15+
# ---------------------------------------------------------
16+
# 1. Desktop Installers (Windows + Linux)
17+
# ---------------------------------------------------------
18+
desktop:
19+
name: Desktop Installers
20+
runs-on: ${{ matrix.os }}
21+
strategy:
22+
matrix:
23+
os: [windows-latest, ubuntu-latest]
24+
steps:
25+
- name: Checkout
26+
uses: actions/checkout@v4
27+
28+
- name: Setup Node
29+
uses: actions/setup-node@v4
30+
with:
31+
node-version: 24
32+
33+
- name: Install Dependencies
34+
run: npm ci
35+
36+
- name: Build Desktop Release
37+
run: npm run build:release
38+
39+
- name: Upload Artifacts
40+
uses: actions/upload-artifact@v4
41+
with:
42+
name: desktop-${{ matrix.os }}
43+
path: |
44+
dist/*.exe
45+
dist/*.deb
46+
dist/*.AppImage
47+
dist/*.zip
48+
dist/*.dmg
49+
if-no-files-found: ignore
50+
51+
# ---------------------------------------------------------
52+
# 2. Snap Store Build
53+
# ---------------------------------------------------------
54+
snap:
55+
name: Snap Store Build
56+
runs-on: ubuntu-latest
57+
needs: desktop
58+
steps:
59+
- name: Checkout
60+
uses: actions/checkout@v4
61+
62+
- name: Setup Node
63+
uses: actions/setup-node@v4
64+
with:
65+
node-version: 24
66+
67+
- name: Install Dependencies
68+
run: npm ci
69+
70+
- name: Build Store-Safe Version
71+
run: npm run build:release:store
72+
73+
# No script generation — snapcraft.yaml already exists
74+
75+
- name: Install Snapcraft
76+
uses: samuelmeuli/action-snapcraft@v2
77+
with:
78+
snapcraft_token: ${{ secrets.SNAPCRAFT_LOGIN }}
79+
80+
- name: Pack Snap
81+
run: snapcraft pack
82+
83+
- name: Upload Snap Artifact
84+
uses: actions/upload-artifact@v4
85+
with:
86+
name: snap-package
87+
path: "*.snap"
88+
89+
- name: Publish to Snap Store
90+
if: startsWith(github.ref, 'refs/tags/')
91+
run: snapcraft upload *.snap --release=stable
92+
93+
# ---------------------------------------------------------
94+
# 3. Windows Store Build
95+
# ---------------------------------------------------------
96+
# cut for futher
97+
98+
# ---------------------------------------------------------
99+
# 4. GitHub Release
100+
# ---------------------------------------------------------
101+
release:
102+
name: Create GitHub Release
103+
runs-on: ubuntu-latest
104+
needs: [desktop, snap]
105+
steps:
106+
- name: Download All Artifacts
107+
uses: actions/download-artifact@v4
108+
with:
109+
path: release-assets
110+
111+
- name: Create Release
112+
uses: softprops/action-gh-release@v2
113+
with:
114+
files: release-assets/**
115+
generate_release_notes: true

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ out/
1414
release/
1515
*.asar
1616
*.asar.unpacked
17+
.env
18+
build/
19+
*.snap
1720

1821
# Electron Builder
1922
electron-builder-cache/

README.md

Lines changed: 89 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -106,35 +106,58 @@ cd SnapDock
106106
# Install dependencies
107107
npm install
108108

109-
# Build the app
110-
npm run build
109+
# Build a development build
110+
npm run build:dev
111111
```
112112

113-
**Windows**
114-
- `npm install | npm run build`
113+
### Windows
114+
- `npm install | npm run build:dev`
115115
- If npm is missing, install Node.js from [https://nodejs.org](https://nodejs.org)
116116

117-
**Linux**
118-
- `npm install && npm run build`
117+
### Linux
118+
- `npm install && npm run build:dev`
119119
- If npm is missing: `sudo apt install npm`
120120

121-
**Dev mode:** Coming soon
121+
> **Note:** AppImage builds require FUSE on some distros (`sudo apt install libfuse2`).
122122
123123
---
124124

125125
## Installation
126126

127-
Most users should install SnapDock using the prebuilt packages available on the Releases page:
127+
SnapDock is available through official stores for the easiest and most reliable installation experience.
128128

129-
👉 [https://github.com/ZFordDev/SnapDock/releases](https://github.com/ZFordDev/SnapDock/releases)
129+
### Windows (Recommended)
130+
Install SnapDock directly from the Microsoft Store:
130131

131-
**Windows**
132-
- Download the `.exe` installer
133-
- Run it
134-
- SnapDock is ready to use
132+
~~👉 **https://apps.microsoft.com/detail/{Placeholder}**~~
135133

136-
**Linux**
137-
- Download the `.AppImage` or `.deb` package
134+
> Windows Store pending review
135+
136+
This provides:
137+
- Automatic updates
138+
- Clean installation & removal
139+
- Verified publisher security
140+
141+
A standalone `.exe` installer is also available on GitHub Releases if preferred.
142+
143+
### Linux (Recommended)
144+
SnapDock is available on the Snap Store:
145+
146+
👉 **https://snapcraft.io/markdown-workspace**
147+
148+
Install via terminal:
149+
150+
```bash
151+
sudo snap install markdown-workspace
152+
```
153+
154+
This provides:
155+
- Automatic updates
156+
- Sandboxed, secure environment
157+
- Works across all major distros
158+
159+
### Manual Linux Packages
160+
If you prefer manual installation:
138161

139162
**AppImage**
140163
```bash
@@ -150,6 +173,11 @@ chmod +x SnapDock-Setup.AppImage
150173
sudo apt install ./SnapDock-Setup.deb
151174
```
152175

176+
### Other Downloads
177+
All installers and portable builds are available on GitHub Releases:
178+
179+
👉 https://github.com/ZFordDev/SnapDock/releases
180+
153181
No additional runtimes or dependencies are required.
154182

155183
---
@@ -187,44 +215,61 @@ SnapDock/
187215
└── temp_notes.md # Internal notes (not part of the app)
188216
```
189217

190-
---
191-
192218
## Roadmap
193219

194-
Planned improvements and upcoming development goals for SnapDock.
195-
This list reflects active GitHub issues and near‑term release targets.
220+
SnapDock’s roadmap reflects active GitHub issues and near‑term development priorities.
221+
For the most up‑to‑date list, visit:
222+
https://github.com/ZFordDev/SnapDock/issues
223+
224+
### Core Improvements
225+
- **[Diff Viewer](ca://s?q=Open_Diff_Viewer_issue)**
226+
_Side‑by‑side diffing for Markdown documents_
227+
(#154)
228+
229+
- **[Markdown Page Break Syntax for PDF Export](ca://s?q=Open_Page_Break_issue)**
230+
_Support for `---` or `\page` to control PDF pagination_
231+
(#153)
232+
233+
- **[Find Box (Ctrl+F Search)](ca://s?q=Open_Find_Box_issue)**
234+
_Inline search within the editor_
235+
(#152)
236+
237+
- **[Word Count for Selected Text](ca://s?q=Open_Selected_Word_Count_issue)**
238+
_Granular writing metrics_
239+
(#151)
240+
241+
### UI / UX Enhancements
242+
- **[Unlock Native Right‑Click Context Menu](ca://s?q=Open_Context_Menu_issue)**
243+
_Restore OS‑native context menus for better usability_
244+
(#150)
245+
246+
- **[Editor Status Bar Metrics](ca://s?q=Open_Status_Bar_issue)**
247+
_Live stats: words, characters, cursor position_
248+
(#149)
196249

197-
### **In Progress / High Priority**
198-
- [X] **Ecosystem Standards Migration**
199-
_Documentation improvements and alignment with ZFordDev ecosystem standards_
200-
(#109)
250+
- **[Document Outline Panel](ca://s?q=Open_Outline_Panel_issue)**
251+
_Heading‑based navigation sidebar_
252+
(#148)
201253

202-
- [ ] **Integrate New Updater Logic**
203-
_Modernized update pipeline for V3 and future releases_
204-
(#104)
254+
### Markdown Engine & Plugin Pipeline
255+
- **[Fix markdown‑it‑link‑attributes Wiring](ca://s?q=Open_Link_Attributes_issue)**
256+
(#135)
205257

206-
### **UI / UX Improvements**
207-
- [X] **Replace Electron Frame With Custom SnapDock Frame**
208-
_Cleaner, native-feeling window chrome_
209-
(#95)
258+
- **[Fix markdown‑it‑emoji Wiring](ca://s?q=Open_Emoji_issue)**
259+
(#134)
210260

211-
- [X] **Add Tab Overflow Scrolling / Horizontal Scroll**
212-
_Improves usability for large workspaces_
213-
(#87)
261+
- **[Fix markdown‑it‑container Wiring](ca://s?q=Open_Container_issue)**
262+
(#133)
214263

215-
### **Platform Releases**
216-
- [ ] **Windows Store Release**
217-
_Submission + certification for Microsoft Store_
264+
- **[Markdown‑it Plugin Wiring Fix (Renderer Pipeline)](ca://s?q=Open_Renderer_Pipeline_issue)**
265+
(#132)
218266

219-
- [ ] **Snap Store Release**
220-
_Snapcraft packaging + publishing_
267+
### Build, Release & Automation
268+
- **[Improve Versioning Discipline & Release Automation](ca://s?q=Open_Release_Automation_issue)**
269+
(#139)
221270

222-
### **Upcoming (V3 Cycle)**
223-
- [ ] New developer mode (`npm run dev`)
224-
- [ ] Theme engine improvements + custom theme support
225-
- [ ] Enhanced PDF export pipeline
226-
- [ ] V3 UI/UX redesign
227-
- [ ] Import custom `.sdwp` files as virtual workspaces
271+
- **[Improve Build Scripts & Build‑Type Workflow](ca://s?q=Open_Build_Scripts_issue)**
272+
(#138)
228273

229274
---
230275

assets/SnapDock.png

-119 KB
Binary file not shown.

assets/icon.icns

1.72 MB
Binary file not shown.

assets/icon.ico

194 KB
Binary file not shown.

assets/icons/icon_1024x1024.png

1010 KB
Loading

assets/icons/icon_128x128.png

22.6 KB
Loading

assets/icons/icon_128x128@2x.png

85.8 KB
Loading

assets/icons/icon_16x16.png

1.04 KB
Loading

0 commit comments

Comments
 (0)