siyuan 1.1.0 → 1.1.2

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.
package/CHANGELOG.md CHANGED
@@ -1,6 +1,17 @@
1
1
  # Changelog
2
2
 
3
- ## v1.1.1 2025-03
3
+ ## v1.1.2 2025-07-22
4
+
5
+ * [Add plugin option `IProtyleOptions.click.preventInsetEmptyBlock`](https://github.com/siyuan-note/siyuan/issues/15303)
6
+ * [Add plugin function `saveLayout`](https://github.com/siyuan-note/siyuan/issues/15308)
7
+ * [Add config.query to `input-search` event bus](https://github.com/siyuan-note/siyuan/issues/15285)
8
+ * [Update plugin `addDock` callback parameter scope](https://github.com/siyuan-note/siyuan/issues/14752)
9
+ * [Add `cb-get-outline` to `TProtyleAction`](https://github.com/siyuan-note/siyuan/issues/14725)
10
+
11
+ ## v1.1.1 2025-04-08
12
+
13
+ * [Add plugin function `globalCommand`](https://github.com/siyuan-note/siyuan/issues/14499)
14
+ * [Add plugin function `openAttributePanel`](https://github.com/siyuan-note/siyuan/issues/14276)
4
15
 
5
16
  ## v1.1.0 2025-03-04
6
17
 
package/package.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "README.md",
13
13
  "siyuan.d.ts"
14
14
  ],
15
- "version": "1.1.0",
15
+ "version": "1.1.2",
16
16
  "repository": {
17
17
  "type": "git",
18
18
  "url": "git+https://github.com/siyuan-note/petal.git"
package/siyuan.d.ts CHANGED
@@ -20,7 +20,7 @@ import {
20
20
  App,
21
21
  Files,
22
22
  Tab, Model,
23
- IMenuItem, IRefDefs,
23
+ IMenuItem, IRefDefs, MobileCustom,
24
24
  } from "./types";
25
25
 
26
26
  export * from "./types";
@@ -56,8 +56,11 @@ export type TOperation =
56
56
  | "removeFlashcards"
57
57
  | "updateAttrViewCell"
58
58
  | "updateAttrViewCol"
59
+ | "updateAttrViewColTemplate"
59
60
  | "sortAttrViewRow"
60
61
  | "sortAttrViewCol"
62
+ | "sortAttrViewKey"
63
+ | "setAttrViewColPin"
61
64
  | "setAttrViewColHidden"
62
65
  | "setAttrViewColWrap"
63
66
  | "setAttrViewColWidth"
@@ -65,10 +68,39 @@ export type TOperation =
65
68
  | "removeAttrViewColOption"
66
69
  | "updateAttrViewColOption"
67
70
  | "setAttrViewName"
71
+ | "doUpdateUpdated"
72
+ | "duplicateAttrViewKey"
73
+ | "setAttrViewColIcon"
68
74
  | "setAttrViewFilters"
69
75
  | "setAttrViewSorts"
70
76
  | "setAttrViewColCalc"
71
77
  | "updateAttrViewColNumberFormat"
78
+ | "replaceAttrViewBlock"
79
+ | "addAttrViewView"
80
+ | "setAttrViewViewName"
81
+ | "removeAttrViewView"
82
+ | "setAttrViewViewIcon"
83
+ | "duplicateAttrViewView"
84
+ | "sortAttrViewView"
85
+ | "setAttrViewPageSize"
86
+ | "updateAttrViewColRelation"
87
+ | "moveOutlineHeading"
88
+ | "updateAttrViewColRollup"
89
+ | "hideAttrViewName"
90
+ | "setAttrViewCardSize"
91
+ | "setAttrViewCardAspectRatio"
92
+ | "setAttrViewCoverFrom"
93
+ | "setAttrViewCoverFromAssetKeyID"
94
+ | "setAttrViewFitImage"
95
+ | "setAttrViewShowIcon"
96
+ | "setAttrViewWrapField"
97
+ | "setAttrViewColDate"
98
+ | "unbindAttrViewBlock"
99
+ | "setAttrViewViewDesc"
100
+ | "setAttrViewColDesc"
101
+ | "setAttrViewBlockView"
102
+ | "setAttrViewGroup"
103
+ | "syncAttrViewTableColWidth"
72
104
 
73
105
  export interface Global {
74
106
  Lute: typeof Lute;
@@ -162,7 +194,7 @@ export interface IEventBusMap {
162
194
  textPlain: string,
163
195
  siyuanHTML: string,
164
196
  files: FileList | DataTransferItemList | string[]; // 读取本地文件时为 string[]
165
- }
197
+ };
166
198
  "ws-main": IWebSocketData;
167
199
  "sync-start": IWebSocketData;
168
200
  "sync-end": IWebSocketData;
@@ -204,14 +236,14 @@ export interface ICommand {
204
236
  }
205
237
 
206
238
  export interface ICard {
207
- deckID: string
208
- cardID: string
209
- blockID: string
210
- nextDues: IObject
211
- lapses: number // 遗忘次数
212
- lastReview: number // 最后复习时间
213
- reps: number // 复习次数
214
- state: number // 卡片状态 0:新卡
239
+ deckID: string;
240
+ cardID: string;
241
+ blockID: string;
242
+ nextDues: IObject;
243
+ lapses: number; // 遗忘次数
244
+ lastReview: number; // 最后复习时间
245
+ reps: number; // 复习次数
246
+ state: number; // 卡片状态 0:新卡
215
247
  }
216
248
 
217
249
  export interface ICardData {
@@ -309,7 +341,33 @@ export function openSetting(app: App): Dialog | undefined;
309
341
  export function getModelByDockType(type: TDock | string): Model | any;
310
342
 
311
343
  /**
312
- * @param timeout - ms. 0: manual close;-1: always show; 6000: default
344
+ * @param {IObject} [options.data] - 块属性值
345
+ * @param {HTMLElement} [options.nodeElement] - 块元素
346
+ * @param {"bookmark" | "name" | "alias" | "memo" | "av" | "custom"} [options.focusName="bookmark"] - av 为数据库页签,custom 为自定义页签,其余为内置输入框
347
+ * @param {IProtyle} [options.protyle] - 有数据库时需要传入 protyle
348
+ */
349
+ export function openAttributePanel(options: {
350
+ data?: IObject
351
+ nodeElement?: HTMLElement,
352
+ focusName: "bookmark" | "name" | "alias" | "memo" | "av" | "custom",
353
+ protyle?: IProtyle,
354
+ }): void;
355
+
356
+ /**
357
+ * 保存布局
358
+ * @param {function} [cb] - 保存后的回调函数
359
+ */
360
+ export function saveLayout(cb: () => void): void;
361
+
362
+ /**
363
+ * 全局命令
364
+ * @param {string} command - 命令名称 https://github.com/siyuan-note/siyuan/blob/master/app/src/boot/globalEvent/command/global.ts#L71
365
+ * @param {App} app
366
+ */
367
+ export function globalCommand(command: string, app: App): void;
368
+
369
+ /**
370
+ * @param {number} [timeout=6000] - ms. 0: manual close;-1: always show;
313
371
  * @param {string} [type=info]
314
372
  */
315
373
  export function showMessage(text: string, timeout?: number, type?: "info" | "error", id?: string): void;
@@ -391,17 +449,18 @@ export abstract class Plugin {
391
449
  }): () => Custom;
392
450
 
393
451
  /**
452
+ * Add Custom to Dock.
394
453
  * Must be executed before the synchronous function.
395
454
  */
396
455
  addDock(options: {
397
456
  config: IPluginDockTab,
398
457
  data: any,
399
458
  type: string,
400
- destroy?: (this: Dock) => void,
401
- resize?: (this: Dock) => void,
402
- update?: (this: Dock) => void,
403
- init: (this: Dock, dock: Dock) => void,
404
- }): { config: IPluginDockTab, model: Dock };
459
+ destroy?: (this: Custom | MobileCustom) => void,
460
+ resize?: (this: Custom | MobileCustom) => void,
461
+ update?: (this: Custom | MobileCustom) => void,
462
+ init: (this: Custom | MobileCustom, dock: Custom | MobileCustom) => void,
463
+ }): { config: IPluginDockTab, model: Custom | MobileCustom };
405
464
 
406
465
  addCommand(options: ICommand): void;
407
466
 
package/types/config.d.ts CHANGED
@@ -35,8 +35,8 @@ export namespace Config {
35
35
  bazaar: IBazaar;
36
36
  /**
37
37
  * Cloud Service Provider Region
38
- * - `0`: Chinese mainland
39
- * - `1`: North America
38
+ * - `0`: Chinese mainland (LianDi)
39
+ * - `1`: North America (LiuYun)
40
40
  */
41
41
  cloudRegion: number;
42
42
  editor: IEditor;
@@ -273,16 +273,18 @@ export namespace Config {
273
273
  */
274
274
  export type TLang =
275
275
  "en_US"
276
+ | "ar_SA"
277
+ | "de_DE"
276
278
  | "es_ES"
277
279
  | "fr_FR"
278
- | "zh_CHT"
279
- | "zh_CN"
280
- | "ja_JP"
281
- | "it_IT"
282
- | "de_DE"
283
280
  | "he_IL"
281
+ | "it_IT"
282
+ | "ja_JP"
283
+ | "pl_PL"
284
+ | "pt_BR"
284
285
  | "ru_RU"
285
- | "pl_PL";
286
+ | "zh_CN"
287
+ | "zh_CHT";
286
288
 
287
289
  /**
288
290
  * SiYuan bazaar related configuration
@@ -330,6 +332,10 @@ export namespace Config {
330
332
  * Whether to enable the inline strikethrough
331
333
  */
332
334
  inlineStrikethrough: boolean;
335
+ /**
336
+ * Whether to enable the inline mark
337
+ */
338
+ inlineMark: boolean;
333
339
  }
334
340
 
335
341
  /**
@@ -537,6 +543,10 @@ export namespace Config {
537
543
  * Whether to add YAML Front Matter when exporting to Markdown
538
544
  */
539
545
  markdownYFM: boolean;
546
+ /**
547
+ * Whether to export the inline memo
548
+ */
549
+ inlineMemo: boolean;
540
550
  /**
541
551
  * Pandoc executable file path
542
552
  */
@@ -887,6 +897,7 @@ export namespace Config {
887
897
  showInFolder: IKey;
888
898
  spaceRepetition: IKey;
889
899
  switchReadonly: IKey;
900
+ switchAdjust: IKey;
890
901
  undo: IKey;
891
902
  vLayout: IKey;
892
903
  wysiwyg: IKey;
@@ -1124,10 +1135,18 @@ export namespace Config {
1124
1135
  */
1125
1136
  key: string;
1126
1137
  /**
1127
- * Synchronous index timing, if it exceeds this time, the user is prompted that the index
1138
+ * Sync index timing, if it exceeds this time, the user is prompted that the index
1128
1139
  * performance is degraded (unit: milliseconds)
1129
1140
  */
1130
1141
  syncIndexTiming: number;
1142
+ /**
1143
+ * Automatic purge for local data repo index retention days
1144
+ */
1145
+ indexRetentionDays: number;
1146
+ /**
1147
+ * Automatic purge for local data repo indexes retention daily
1148
+ */
1149
+ retentionIndexesDaily: number;
1131
1150
  }
1132
1151
 
1133
1152
  /**
@@ -1344,6 +1363,10 @@ export namespace Config {
1344
1363
  * - `3`: Completely manual synchronization
1345
1364
  */
1346
1365
  mode: number;
1366
+ /**
1367
+ * Synchronization interval (unit: seconds)
1368
+ */
1369
+ interval: number;
1347
1370
  /**
1348
1371
  * Whether to enable synchronization perception
1349
1372
  */
@@ -1353,6 +1376,7 @@ export namespace Config {
1353
1376
  * - `0`: SiYuan official cloud storage service
1354
1377
  * - `2`: Object storage service compatible with S3 protocol
1355
1378
  * - `3`: Network storage service using WebDAV protocol
1379
+ * - `4`: Local file system
1356
1380
  */
1357
1381
  provider: number;
1358
1382
  s3: ISyncS3;
@@ -1365,6 +1389,7 @@ export namespace Config {
1365
1389
  */
1366
1390
  synced: number;
1367
1391
  webdav: ISyncWebDAV;
1392
+ local: ISyncLocal;
1368
1393
  }
1369
1394
 
1370
1395
  /**
@@ -1439,6 +1464,28 @@ export namespace Config {
1439
1464
  username: string;
1440
1465
  }
1441
1466
 
1467
+ /**
1468
+ * Local file system related configuration
1469
+ */
1470
+ export interface ISyncLocal {
1471
+ /**
1472
+ * The full path of local directory
1473
+ *
1474
+ * Examples:
1475
+ * - Windows: `"D:/path/to/repos/directory"`
1476
+ * - Unix: `"/path/to/repos/directory"`
1477
+ */
1478
+ endpoint: string;
1479
+ /**
1480
+ * Timeout (unit: seconds)
1481
+ */
1482
+ timeout: number;
1483
+ /**
1484
+ * Concurrent requests.
1485
+ */
1486
+ concurrentReqs: number;
1487
+ }
1488
+
1442
1489
  /**
1443
1490
  * System related information
1444
1491
  */
@@ -1463,6 +1510,7 @@ export namespace Config {
1463
1510
  * - `docker`: Docker container
1464
1511
  * - `android`: Android device
1465
1512
  * - `ios`: iOS device
1513
+ * - `harmony`: HarmonyOS device
1466
1514
  * - `std`: Desktop Electron environment
1467
1515
  */
1468
1516
  container: TSystemContainer;
@@ -1470,10 +1518,6 @@ export namespace Config {
1470
1518
  * The absolute path of the `data` directory of the current workspace
1471
1519
  */
1472
1520
  dataDir: string;
1473
- /**
1474
- * Whether to disable Google Analytics
1475
- */
1476
- disableGoogleAnalytics: boolean;
1477
1521
  /**
1478
1522
  * Whether to automatically download the installation package for the new version
1479
1523
  */
@@ -1531,6 +1575,10 @@ export namespace Config {
1531
1575
  * The absolute path of the workspace directory
1532
1576
  */
1533
1577
  workspaceDir: string;
1578
+ /**
1579
+ * Disabled features.
1580
+ */
1581
+ disabledFeatures: string[];
1534
1582
  }
1535
1583
 
1536
1584
  /**
@@ -2013,6 +2061,10 @@ export namespace Config {
2013
2061
  * SiYuan search tab configuration
2014
2062
  */
2015
2063
  export interface IUILayoutTabSearchConfig {
2064
+ /**
2065
+ * 搜索传入的查询内容
2066
+ */
2067
+ query?: string;
2016
2068
  /**
2017
2069
  * Grouping strategy
2018
2070
  * - `0`: No grouping
@@ -2149,6 +2201,10 @@ export namespace Config {
2149
2201
  * @default false
2150
2202
  */
2151
2203
  blockRef?: boolean;
2204
+ /**
2205
+ * Replace file annotation refs
2206
+ */
2207
+ fileAnnotationRef?: boolean;
2152
2208
  /**
2153
2209
  * Replace kdb elements
2154
2210
  * @default true
package/types/index.d.ts CHANGED
@@ -390,6 +390,25 @@ export declare class Dock {
390
390
  genButton(data: Config.IUILayoutDockTab[], index: number, tabIndex?: number): void;
391
391
  }
392
392
 
393
+ export declare class MobileCustom {
394
+ public element: Element;
395
+ public data: any;
396
+ public type: string;
397
+ public init: (custom: MobileCustom) => void;
398
+ public destroy: () => void;
399
+ public update: () => void;
400
+
401
+ constructor(options: {
402
+ element: Element,
403
+ type: string,
404
+ data: any,
405
+ destroy?: () => void,
406
+ update?: () => void,
407
+ init: (custom: MobileCustom) => void
408
+ })
409
+ }
410
+
411
+
393
412
  export declare class Custom extends Model {
394
413
  element: Element;
395
414
  tab: Tab;
@@ -19,7 +19,8 @@ export type TProtyleAction = "cb-get-append" | // 向下滚动加载
19
19
  "cb-get-hl" | // 高亮
20
20
  "cb-get-focus" | // 光标定位
21
21
  "cb-get-focusfirst" | // 动态定位到第一个块
22
- "cb-get-setid" | // 重置 blockid
22
+ "cb-get-setid" | // 无折叠大纲点击 重置 blockid
23
+ "cb-get-outline" | // 大纲点击
23
24
  "cb-get-all" | // 获取所有块
24
25
  "cb-get-backlink" | // 悬浮窗为传递型需展示上下文
25
26
  "cb-get-unundo" | // 不需要记录历史
@@ -77,8 +78,8 @@ interface IHintData {
77
78
  id?: string;
78
79
  html: string;
79
80
  value: string;
80
- filter?: string[]
81
- focus?: boolean
81
+ filter?: string[];
82
+ focus?: boolean;
82
83
  }
83
84
 
84
85
  export interface IProtyleOptions {
@@ -120,6 +121,10 @@ export interface IProtyleOptions {
120
121
  classes?: {
121
122
  preview?: string;
122
123
  };
124
+ click?: {
125
+ /** 点击末尾是否阻止插入新块 */
126
+ preventInsetEmptyBlock?: boolean
127
+ }
123
128
 
124
129
  /** 编辑器异步渲染完成后的回调方法 */
125
130
  after?(protyle: Protyle): void;