signalk-charts-provider-simple 1.0.0

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.
@@ -0,0 +1,40 @@
1
+ name: Publish Package
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*'
7
+
8
+ permissions:
9
+ id-token: write
10
+ contents: read
11
+
12
+ jobs:
13
+ publish:
14
+ runs-on: ubuntu-latest
15
+
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+
19
+ - name: Clean workspace
20
+ run: git clean -xfd
21
+
22
+ - uses: actions/setup-node@v4
23
+ with:
24
+ node-version: '20'
25
+ registry-url: 'https://registry.npmjs.org'
26
+
27
+ # Ensure npm 11.5.1 or later is installed
28
+ - name: Update npm
29
+ run: npm install -g npm@latest
30
+ - run: npm install
31
+
32
+ - run: npm test
33
+
34
+ - name: Publish
35
+ run: |
36
+ if [[ "${{ github.ref }}" == refs/tags/*-beta.* ]] || [[ "${{ github.ref }}" == refs/tags/*-rc.* ]]; then
37
+ npm publish --provenance --access public --tag beta
38
+ else
39
+ npm publish --provenance --access public
40
+ fi
package/.gitattributes ADDED
@@ -0,0 +1,2 @@
1
+ # Auto detect text files and perform LF normalization
2
+ * text=auto
package/CHANGELOG.md ADDED
@@ -0,0 +1,12 @@
1
+ # Changelog
2
+
3
+ ## [1.0.0] 2025-01-26
4
+ - Initial release
5
+ - Material Design 3 UI
6
+ - Optimized for touch and mobile
7
+ - Download queue management
8
+ - Manual Upload
9
+ - Folder organization with drag-and-drop
10
+ - Root folder and subfolder will be abailable for charts
11
+ - Abillity to disable certain charts (requires server reload)
12
+ - Rename chart (requires server reload)
package/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Signal K Community
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,88 @@
1
+ # Signal K Charts Provider Simple
2
+
3
+ A lightweight, JavaScript-based Signal K server plugin for managing local nautical charts. This plugin provides a clean interface for organizing, uploading, and serving MBTiles.
4
+
5
+ ## Features
6
+
7
+ - **Local Chart Management**: Support for MBTiles
8
+ - **Download Manager**: Built-in download queue with progress tracking and automatic ZIP extraction
9
+ - **Modern Web UI**: Clean, Material Design 3 interface with drag-and-drop chart organization
10
+ - **Chart Organization**: Folder-based organization with enable/disable toggles
11
+ - **Dual API Support**: Compatible with both Signal K v1 and v2 API
12
+
13
+
14
+ ## Installation
15
+
16
+ ### From Signal K Appstore
17
+
18
+ 1. Open your Signal K server admin interface
19
+ 2. Navigate to Appstore
20
+ 3. Search for "Charts Provider Simple"
21
+ 4. Click Install
22
+
23
+ ### Manual Installation
24
+
25
+ ```bash
26
+ cd ~/.signalk
27
+ npm install signalk-charts-provider-simple
28
+ ```
29
+
30
+ ## Configuration
31
+
32
+ 1. Navigate to **Server → Plugin Config → Charts Provider Simple**
33
+ 2. Set your chart directory path (defaults to `~/.signalk/charts`)
34
+ 3. Enable the plugin
35
+ 4. Restart Signal K server
36
+
37
+ ## Usage
38
+
39
+ ### Web Interface
40
+
41
+ Access the plugin's web interface through your Signal K server:
42
+
43
+ ```
44
+ http://[your-server]:3000/plugins/signalk-charts-provider-simple/
45
+ ```
46
+
47
+ The interface provides two main tabs:
48
+
49
+ 1. **Manage Charts**:
50
+ - View all charts in your library
51
+ - Enable/disable charts
52
+ - Organize charts into folders
53
+ - Upload new chart files
54
+ - Delete unwanted charts
55
+ - Rename charts
56
+
57
+ 2. **Download from URL**:
58
+ - Download charts directly from any URL
59
+ - Supports `.mbtiles` files and `.zip` archives
60
+ - Automatic extraction of MBTiles from ZIP files
61
+ - Download queue with progress tracking
62
+ - Simple, clean interface without complex chart browsing
63
+
64
+ ### Chart Formats
65
+
66
+ The plugin supports this chart formats:
67
+
68
+ - **MBTiles** (`.mbtiles`): SQLite-based map tile format
69
+
70
+ ### Compatible Chart Plotters
71
+
72
+ Charts provided by this plugin work with:
73
+ - [Freeboard SK](https://www.npmjs.com/package/@signalk/freeboard-sk)
74
+ - [OpenCPN](https://opencpn.org/)
75
+
76
+ ## Acknowledgments
77
+
78
+ Inspired by [Signal K Charts Plugin](https://github.com/SignalK/charts-plugin) by Mikko Vesikkala.
79
+
80
+ ## Contributing
81
+
82
+ Contributions are welcome! Please feel free to submit a Pull Request.
83
+
84
+ ## Support
85
+
86
+ For issues and feature requests:
87
+ - GitHub Issues: https://github.com/dirkwa/signalk-charts-provider-simple/issues
88
+
package/package.json ADDED
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "signalk-charts-provider-simple",
3
+ "version": "1.0.0",
4
+ "description": "Simple Signal K chart provider for local MBTiles and directory-based charts with download management",
5
+ "main": "src/index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "license": "MIT",
10
+ "keywords": [
11
+ "signalk",
12
+ "signalk-node-server-plugin",
13
+ "signalk-webapp",
14
+ "nautic",
15
+ "chart",
16
+ "mbtiles",
17
+ "tms",
18
+ "chart-management",
19
+ "download-manager"
20
+ ],
21
+ "author": {
22
+ "name": "Dirk Wahrheit",
23
+ "email": "dirkwa@users.noreply.github.com"
24
+ },
25
+ "dependencies": {
26
+ "@mapbox/mbtiles": "^0.12.1",
27
+ "@signalk/server-api": "^2.0.0",
28
+ "bluebird": "^3.5.1",
29
+ "busboy": "^1.6.0",
30
+ "lodash": "^4.17.11",
31
+ "unzipper": "^0.12.3",
32
+ "xml2js": "^0.6.2"
33
+ },
34
+ "repository": {
35
+ "type": "git",
36
+ "url": "https://github.com/dirkwa/signalk-charts-provider-simple"
37
+ },
38
+ "signalk": {
39
+ "appIcon": "assets/charts_logo.png",
40
+ "displayName": "Charts Provider Simple",
41
+ "appstore": {
42
+ "displayName": "Charts Provider Simple",
43
+ "categories": [
44
+ "utilities"
45
+ ],
46
+ "author": "Dirk Wahrheit",
47
+ "description": "Simple Signal K chart provider for local MBTiles and directory-based charts with download management"
48
+ },
49
+ "webapp": {
50
+ "name": "Charts Provider Simple",
51
+ "description": "Simple Signal K chart provider for local MBTiles and directory-based charts",
52
+ "location": "/plugins/signalk-charts-provider-simple/"
53
+ }
54
+ }
55
+ }
Binary file