|
|
2 дней назад | |
|---|---|---|
| .. | ||
| resources | 2 дней назад | |
| .dockerignore | 2 дней назад | |
| .gitignore | 2 дней назад | |
| Dockerfile | 2 дней назад | |
| LICENSE | 2 дней назад | |
| README.md | 2 дней назад | |
| build-windows.js | 2 дней назад | |
| docker-compose.yml | 2 дней назад | |
| neutralino.config.json | 2 дней назад | |
| package-lock.json | 2 дней назад | |
| package.json | 2 дней назад | |
| prepare.js | 2 дней назад | |
| setup-binaries.js | 2 дней назад | |
This is a desktop app port of Markdown Viewer, see README. It is built using Neutralinojs.
The desktop app shares its core files (script.js, styles.css, assets/) with the browser version in the repo root. A build script (prepare.js) copies these files into resources/ and injects Neutralinojs-specific additions into index.html at build time.
Neutralinojs platform binaries are managed by setup-binaries.js, which downloads them on first use and caches them in bin/ (gitignored). The download is version-locked to cli.binaryVersion in neutralino.config.json and only re-triggered when that version changes.
Desktop-only files (not generated):
resources/js/main.js — Neutralinojs lifecycle, tray menu, window eventsresources/js/neutralino.js — Neutralinojs client libraryneutralino.config.json — App configurationsetup-binaries.js — Idempotent binary setup (downloads on first use)No installation is required. The app is built and run using npx (via npm scripts).
Neutralinojs platform binaries are downloaded automatically on first build or dev run. To manually trigger the download:
npm run setup
Binaries are cached in bin/ (gitignored) and only re-downloaded when cli.binaryVersion in neutralino.config.json changes.
npm run dev
This automatically runs setup (downloads binaries if needed and prepares resources) before starting the app. Hot-reload is enabled by default. Enable the browser inspector by setting "enableInspector": true in neutralino.config.json.
For more information, see the Neutralinojs documentation.
Default / Windows - Single-file Windows executable with embedded resources:
npm run build
Portable - ZIP bundle with separate resources.neu file:
npm run build:portable
Both - Build the portable bundle and a Windows embedded EXE in one step:
npm run build:all
Build output is placed in dist/.
Note: npm run build now uses the Windows-only embedded helper and writes
dist/markdown-viewer/markdown-viewer-win_x64.exe. The helper temporarily hides
non-Windows Neutralino binaries so the CLI does not run out of memory while
embedding every platform before it reaches the Windows target. Use
npm run build:portable for the all-platform portable ZIP with resources.neu;
npm run build:all writes that ZIP plus a Windows embedded EXE at
dist/windows-embedded/markdown-viewer/markdown-viewer-win_x64.exe.
For more information, see the Neutralinojs documentation.
Build binaries without installing Node.js locally:
docker compose up --build
Build artifacts will be output to desktop-app/output/.
Prebuilt binaries are automatically built and published as GitHub Releases when a tag matching desktop-v* is pushed (e.g., desktop-v1.0.0). See .github/workflows/desktop-build.yml.
Each release includes:
| Asset | Description |
|---|---|
markdown-viewer-win_x64.exe |
Windows x64 executable |
markdown-viewer-release.zip |
Portable bundle with resources.neu (all platforms) |
source.tar.gz |
Desktop app source archive |
SHA256SUMS.txt |
Checksums for all release assets |
MIT.
The desktop version uses Neutralinojs, which is also licensed under the MIT License.