mdts 0.17.0 → 0.18.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.
@@ -69,6 +69,46 @@
69
69
  margin: 0 0 8px;
70
70
  }
71
71
 
72
+ .contains-task-list {
73
+ list-style: none;
74
+ padding-left: 4px;
75
+ }
76
+
77
+ .task-list-item {
78
+ display: flex;
79
+ align-items: baseline;
80
+ gap: 6px;
81
+
82
+ input[type="checkbox"] {
83
+ appearance: none;
84
+ width: 16px;
85
+ height: 16px;
86
+ min-width: 16px;
87
+ border: 2px solid var(--markdown-border-color);
88
+ border-radius: 3px;
89
+ cursor: default;
90
+ position: relative;
91
+ top: 2px;
92
+
93
+ &:checked {
94
+ background-color: var(--markdown-link-color);
95
+ border-color: var(--markdown-link-color);
96
+
97
+ &::after {
98
+ content: "";
99
+ position: absolute;
100
+ left: 3px;
101
+ top: 0px;
102
+ width: 5px;
103
+ height: 9px;
104
+ border: solid #fff;
105
+ border-width: 0 2px 2px 0;
106
+ transform: rotate(45deg);
107
+ }
108
+ }
109
+ }
110
+ }
111
+
72
112
  hr {
73
113
  margin: 48px 0;
74
114
  border: 0;
@@ -56,17 +56,36 @@ const config_1 = require("./config");
56
56
  const watcher_1 = require("./watcher");
57
57
  const diff_1 = require("./routes/diff");
58
58
  const plantuml_1 = require("./routes/plantuml");
59
- const serve = (context, port, host) => {
59
+ const MAX_PORT_RETRIES = 10;
60
+ const serve = (context, port, host, autoPort = false) => {
60
61
  const app = (0, exports.createApp)(context);
61
- const server = app.listen(port, host, () => {
62
- logger_1.logger.log('Server', `📁 Mounted directory: ${context.directory}`);
63
- if (context.filePatterns) {
64
- logger_1.logger.log('Server', `📄 Watching ${context.filePatterns.length} files from glob patterns`);
65
- }
66
- logger_1.logger.log('Server', `🚀 Server listening at http://${host}:${port}`);
67
- });
68
- (0, watcher_1.setupWatcher)(context, server, port);
69
- return server;
62
+ const tryListen = (currentPort, retries) => {
63
+ return new Promise((resolve, reject) => {
64
+ const server = app.listen(currentPort, host);
65
+ server.once('listening', () => {
66
+ logger_1.logger.log('Server', `📁 Mounted directory: ${context.directory}`);
67
+ if (context.filePatterns) {
68
+ logger_1.logger.log('Server', `📄 Watching ${context.filePatterns.length} files from glob patterns`);
69
+ }
70
+ if (currentPort !== port) {
71
+ logger_1.logger.log('Server', `⚠️ Port ${port} was in use, using ${currentPort} instead`);
72
+ }
73
+ logger_1.logger.log('Server', `🚀 Server listening at http://${host}:${currentPort}`);
74
+ (0, watcher_1.setupWatcher)(context, server, currentPort);
75
+ resolve({ server, port: currentPort });
76
+ });
77
+ server.once('error', (err) => {
78
+ if (err.code === 'EADDRINUSE' && autoPort && retries > 0) {
79
+ logger_1.logger.log('Server', `⚠️ Port ${currentPort} is in use, trying ${currentPort + 1}...`);
80
+ resolve(tryListen(currentPort + 1, retries - 1));
81
+ }
82
+ else {
83
+ reject(err);
84
+ }
85
+ });
86
+ });
87
+ };
88
+ return tryListen(port, autoPort ? MAX_PORT_RETRIES : 0);
70
89
  };
71
90
  exports.serve = serve;
72
91
  const createApp = (context, currentLocation = __dirname) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mdts",
3
- "version": "0.17.0",
3
+ "version": "0.18.0",
4
4
  "packageManager": "npm@11.5.1",
5
5
  "description": "A markdown preview server.",
6
6
  "main": "dist/index.js",