@lapis-notes/bases 0.1.1 → 0.1.3
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 +7 -1
- package/LICENSE.md +3 -7
- package/README.md +2 -2
- package/dist/bases-view/components/column-visibility.svelte.d.ts +1 -1
- package/dist/bases-view/components/sort/sort-root.svelte +1 -0
- package/dist/bases-view/components/sort/sort-row.svelte +2 -0
- package/dist/bases-view/components/views.svelte.d.ts +1 -1
- package/manifest.json +18 -3
- package/package.json +15 -9
- package/registry-content/overview.md +11 -0
- package/registry.json +185 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
# Bases changelog
|
|
2
2
|
|
|
3
|
-
## 0.1.
|
|
3
|
+
## 0.1.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Add official author avatars and deterministic split, light, and dark registry media for plugin banners, overviews, and galleries.
|
|
8
|
+
|
|
9
|
+
## 0.1.2
|
|
4
10
|
|
|
5
11
|
- Initial independent public package extracted from Lapis Notes without changing
|
|
6
12
|
the runtime plugin ID.
|
package/LICENSE.md
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
Apache-2.0
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
This software is licensed under the GNU Affero General Public License, version
|
|
6
|
-
3 or (at your option) any later version (`AGPL-3.0-or-later`). The complete
|
|
7
|
-
license text is available from the
|
|
8
|
-
[GNU Project](https://www.gnu.org/licenses/agpl-3.0.html).
|
|
3
|
+
This project is licensed under the Apache License 2.0.
|
|
4
|
+
See <https://www.apache.org/licenses/LICENSE-2.0>.
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Bases
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Build table, card, and grouped views from Markdown properties
|
|
4
4
|
|
|
5
5
|
## Install for static composition
|
|
6
6
|
|
|
@@ -13,7 +13,7 @@ Register the exported plugin class in the application's `PluginProfile`. Import
|
|
|
13
13
|
registration so the host owns its lifecycle.
|
|
14
14
|
|
|
15
15
|
The runtime plugin ID is `bases`. A matching signed
|
|
16
|
-
`bases-0.1.
|
|
16
|
+
`bases-0.1.3.lapis-plugin` archive is attached to the
|
|
17
17
|
package-scoped GitHub release for manual or registry installation.
|
|
18
18
|
|
|
19
19
|
See the [repository README](https://github.com/lapismd/lapis-plugins#readme) for
|
|
@@ -8,6 +8,6 @@ type $$ComponentProps = {
|
|
|
8
8
|
formulas: Record<string, string>;
|
|
9
9
|
order: Array<string>;
|
|
10
10
|
};
|
|
11
|
-
declare const ColumnVisibility: import("svelte").Component<$$ComponentProps, {}, "
|
|
11
|
+
declare const ColumnVisibility: import("svelte").Component<$$ComponentProps, {}, "properties" | "order" | "formulas">;
|
|
12
12
|
type ColumnVisibility = ReturnType<typeof ColumnVisibility>;
|
|
13
13
|
export default ColumnVisibility;
|
|
@@ -198,6 +198,7 @@
|
|
|
198
198
|
<Button
|
|
199
199
|
variant="ghost"
|
|
200
200
|
size="sm"
|
|
201
|
+
aria-label="Clear grouping"
|
|
201
202
|
class="bases-style-bg-background-e6f9e3 bases-style-h-8-ed8a5d bases-style-rounded-none-0c5e91 bases-style-rounded-r-md-d4eb07 bases-style-border-none-4a5f0e bases-style-shadow-none-ad47d1 bases-style-outline-none-df37b1"
|
|
202
203
|
disabled={!selectedGroupColumn}
|
|
203
204
|
onclick={() => (controller.selectedView.groupBy = undefined)}
|
|
@@ -96,6 +96,7 @@
|
|
|
96
96
|
<Button
|
|
97
97
|
{@attach draggable.attachHandle}
|
|
98
98
|
size="sm"
|
|
99
|
+
aria-label={`Reorder ${column?.displayName ?? "sort"}`}
|
|
99
100
|
class="drag-handle bases-style-mr-0-5-1caf26"
|
|
100
101
|
variant="ghost"
|
|
101
102
|
>
|
|
@@ -179,6 +180,7 @@
|
|
|
179
180
|
<Button
|
|
180
181
|
variant="ghost"
|
|
181
182
|
size="sm"
|
|
183
|
+
aria-label={`Remove ${column?.displayName ?? "sort"}`}
|
|
182
184
|
class="bases-style-bg-background-e6f9e3 bases-style-h-8-ed8a5d bases-style-rounded-none-0c5e91 bases-style-rounded-r-md-d4eb07 bases-style-border-none-4a5f0e bases-style-shadow-none-ad47d1 bases-style-outline-none-df37b1"
|
|
183
185
|
onclick={() => deleteSort()}
|
|
184
186
|
>
|
|
@@ -7,6 +7,6 @@ type $$ComponentProps = {
|
|
|
7
7
|
table?: any;
|
|
8
8
|
show: boolean;
|
|
9
9
|
};
|
|
10
|
-
declare const Views: import("svelte").Component<$$ComponentProps, {}, "
|
|
10
|
+
declare const Views: import("svelte").Component<$$ComponentProps, {}, "views" | "value" | "show">;
|
|
11
11
|
type Views = ReturnType<typeof Views>;
|
|
12
12
|
export default Views;
|
package/manifest.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "bases",
|
|
3
3
|
"name": "Bases",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.3",
|
|
5
5
|
"minAppVersion": "0.1.0",
|
|
6
|
-
"description": "
|
|
6
|
+
"description": "Build table, card, and grouped views from Markdown properties",
|
|
7
7
|
"author": "Lapis Notes Bases",
|
|
8
8
|
"authorUrl": "https://app.lapis.md",
|
|
9
|
+
"authorAvatarUrl": "https://www.gravatar.com/avatar/1df68d9ff087b0dd72fd8626056fca7f?s=128&d=404",
|
|
9
10
|
"isDesktopOnly": false,
|
|
10
11
|
"lapis": {
|
|
11
12
|
"manifestVersion": 1,
|
|
@@ -23,7 +24,21 @@
|
|
|
23
24
|
"@lapis-notes/api/editor/core",
|
|
24
25
|
"@lapis-notes/api/editor/extensions/class-highlighter",
|
|
25
26
|
"@lapis-notes/api/icon",
|
|
26
|
-
"@lapis-notes/api/metadata-value"
|
|
27
|
+
"@lapis-notes/api/metadata-value",
|
|
28
|
+
"@codemirror/autocomplete",
|
|
29
|
+
"@codemirror/language",
|
|
30
|
+
"@codemirror/state",
|
|
31
|
+
"@codemirror/view",
|
|
32
|
+
"@lezer/common",
|
|
33
|
+
"@lezer/highlight",
|
|
34
|
+
"@lezer/lr",
|
|
35
|
+
"svelte/renderer/5.56.10",
|
|
36
|
+
"svelte/renderer/5.56.10/attachments",
|
|
37
|
+
"svelte/renderer/5.56.10/events",
|
|
38
|
+
"svelte/renderer/5.56.10/internal/client",
|
|
39
|
+
"svelte/renderer/5.56.10/internal/disclose-version",
|
|
40
|
+
"svelte/renderer/5.56.10/internal/flags/legacy",
|
|
41
|
+
"svelte/renderer/5.56.10/reactivity"
|
|
27
42
|
],
|
|
28
43
|
"requiresReloadOnUpdate": false
|
|
29
44
|
}
|
package/package.json
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lapis-notes/bases",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Lapis Notes Bases plugin",
|
|
5
|
-
"license": "
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"files": [
|
|
8
8
|
"dist",
|
|
9
9
|
"manifest.json",
|
|
10
|
+
"registry.json",
|
|
11
|
+
"registry-content",
|
|
10
12
|
"styles.css",
|
|
11
13
|
"README.md",
|
|
12
14
|
"CHANGELOG.md",
|
|
@@ -27,20 +29,16 @@
|
|
|
27
29
|
"default": "./dist/index.js"
|
|
28
30
|
},
|
|
29
31
|
"./styles.css": "./styles.css",
|
|
30
|
-
"./manifest.json": "./manifest.json"
|
|
32
|
+
"./manifest.json": "./manifest.json",
|
|
33
|
+
"./registry.json": "./registry.json"
|
|
31
34
|
},
|
|
32
35
|
"dependencies": {
|
|
33
|
-
"@codemirror/autocomplete": "^6.18.6",
|
|
34
36
|
"@codemirror/lang-sql": "^6.9.1",
|
|
35
37
|
"@codemirror/lang-yaml": "^6.1.2",
|
|
36
|
-
"@codemirror/language": "^6.11.3",
|
|
37
|
-
"@codemirror/state": "^6.6.0",
|
|
38
|
-
"@codemirror/view": "^6.42.1",
|
|
39
38
|
"@dnd-kit/dom": "^0.4.0",
|
|
40
39
|
"@dnd-kit/helpers": "^0.4.0",
|
|
41
40
|
"@dnd-kit/svelte": "^0.4.0",
|
|
42
|
-
"@
|
|
43
|
-
"@lapismd/design-core": "^0.1.0",
|
|
41
|
+
"@lapismd/design-core": "^0.3.2",
|
|
44
42
|
"@lucide/svelte": "^0.523.0",
|
|
45
43
|
"@tanstack/table-core": "^8.21.3",
|
|
46
44
|
"js-yaml": "^4.1.0",
|
|
@@ -49,6 +47,14 @@
|
|
|
49
47
|
"peaql": "^0.1.25"
|
|
50
48
|
},
|
|
51
49
|
"peerDependencies": {
|
|
50
|
+
"@codemirror/autocomplete": "^6.18.6",
|
|
51
|
+
"@codemirror/language": "^6.11.3",
|
|
52
|
+
"@codemirror/state": "^6.6.0",
|
|
53
|
+
"@codemirror/view": "^6.42.1",
|
|
54
|
+
"@lapis-notes/api": "^0.1.2",
|
|
55
|
+
"@lezer/common": "^1.5.2",
|
|
56
|
+
"@lezer/highlight": "^1.2.3",
|
|
57
|
+
"@lezer/lr": "^1.4.2",
|
|
52
58
|
"svelte": "^5.0.0"
|
|
53
59
|
},
|
|
54
60
|
"devDependencies": {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Bases
|
|
2
|
+
|
|
3
|
+
Bases turns ordinary Markdown notes and front matter into live, structured
|
|
4
|
+
collections without moving the source into a separate database. A `.base`
|
|
5
|
+
file describes which notes belong, which properties appear, and how the result
|
|
6
|
+
should be filtered, sorted, limited, or grouped.
|
|
7
|
+
|
|
8
|
+
Use tables for detailed review, visual cards for portfolios with cover images,
|
|
9
|
+
or grouped lists for faster scanning. Changes to supported properties still
|
|
10
|
+
flow through normal vault files, so the same notes remain portable and usable
|
|
11
|
+
everywhere else in Lapis.
|
package/registry.json
ADDED
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://registry.lapis.md/schemas/plugin-source.schema.json",
|
|
3
|
+
"schemaVersion": 2,
|
|
4
|
+
"categories": ["data", "database", "editor"],
|
|
5
|
+
"highlights": [
|
|
6
|
+
"Create structured views over notes and front matter.",
|
|
7
|
+
"Filter and organize vault data without leaving the workspace.",
|
|
8
|
+
"Keep editable views backed by ordinary Lapis content."
|
|
9
|
+
],
|
|
10
|
+
"documentationUrl": "https://github.com/lapismd/lapis-plugins/tree/main/packages/bases#readme",
|
|
11
|
+
"appearance": {
|
|
12
|
+
"icon": "table-2",
|
|
13
|
+
"accent": "#14B8A6"
|
|
14
|
+
},
|
|
15
|
+
"media": {
|
|
16
|
+
"banner": {
|
|
17
|
+
"alt": "Lapis Bases showing a populated project cover-card view with real artwork and useful properties.",
|
|
18
|
+
"images": {
|
|
19
|
+
"preview": {
|
|
20
|
+
"path": "registry-assets/banner.preview.webp"
|
|
21
|
+
},
|
|
22
|
+
"full": {
|
|
23
|
+
"path": "registry-assets/banner.full.webp"
|
|
24
|
+
},
|
|
25
|
+
"light": {
|
|
26
|
+
"path": "registry-assets/banner.light.webp"
|
|
27
|
+
},
|
|
28
|
+
"dark": {
|
|
29
|
+
"path": "registry-assets/banner.dark.webp"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"capture": {
|
|
33
|
+
"storyId": "plugins-bases-registry-screenshots--overview",
|
|
34
|
+
"focus": "full-shell"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"overview": {
|
|
38
|
+
"alt": "Lapis Bases grouped list view with populated project records and grouping controls open.",
|
|
39
|
+
"images": {
|
|
40
|
+
"preview": {
|
|
41
|
+
"path": "registry-assets/overview.preview.webp"
|
|
42
|
+
},
|
|
43
|
+
"full": {
|
|
44
|
+
"path": "registry-assets/overview.full.webp"
|
|
45
|
+
},
|
|
46
|
+
"light": {
|
|
47
|
+
"path": "registry-assets/overview.light.webp"
|
|
48
|
+
},
|
|
49
|
+
"dark": {
|
|
50
|
+
"path": "registry-assets/overview.dark.webp"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"capture": {
|
|
54
|
+
"storyId": "plugins-bases-registry-screenshots--grouped-list",
|
|
55
|
+
"focus": "full-shell"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"gallery": [
|
|
60
|
+
{
|
|
61
|
+
"id": "table",
|
|
62
|
+
"alt": "Focused projects table with the Filter panel open to an Active status rule.",
|
|
63
|
+
"images": {
|
|
64
|
+
"preview": {
|
|
65
|
+
"path": "registry-assets/gallery/table.preview.webp"
|
|
66
|
+
},
|
|
67
|
+
"full": {
|
|
68
|
+
"path": "registry-assets/gallery/table.full.webp"
|
|
69
|
+
},
|
|
70
|
+
"light": {
|
|
71
|
+
"path": "registry-assets/gallery/table.light.webp"
|
|
72
|
+
},
|
|
73
|
+
"dark": {
|
|
74
|
+
"path": "registry-assets/gallery/table.dark.webp"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"capture": {
|
|
78
|
+
"storyId": "plugins-bases-registry-screenshots--filter-options",
|
|
79
|
+
"focus": "full-shell"
|
|
80
|
+
},
|
|
81
|
+
"card": {
|
|
82
|
+
"headline": [
|
|
83
|
+
{
|
|
84
|
+
"text": "Filter the work",
|
|
85
|
+
"tone": "neutral"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"text": "to what matters now",
|
|
89
|
+
"tone": "cyan"
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
"description": [
|
|
93
|
+
{
|
|
94
|
+
"text": "Combine property rules across one view or every view while the source stays",
|
|
95
|
+
"tone": "neutral"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"text": "ordinary Markdown.",
|
|
99
|
+
"tone": "green"
|
|
100
|
+
}
|
|
101
|
+
]
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"id": "cards",
|
|
106
|
+
"alt": "Focused projects base displayed as visual cards with actual cover artwork, owner, status, and score.",
|
|
107
|
+
"images": {
|
|
108
|
+
"preview": {
|
|
109
|
+
"path": "registry-assets/gallery/cards.preview.webp"
|
|
110
|
+
},
|
|
111
|
+
"full": {
|
|
112
|
+
"path": "registry-assets/gallery/cards.full.webp"
|
|
113
|
+
},
|
|
114
|
+
"light": {
|
|
115
|
+
"path": "registry-assets/gallery/cards.light.webp"
|
|
116
|
+
},
|
|
117
|
+
"dark": {
|
|
118
|
+
"path": "registry-assets/gallery/cards.dark.webp"
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
"capture": {
|
|
122
|
+
"storyId": "plugins-bases-registry-screenshots--cover-cards",
|
|
123
|
+
"focus": "full-shell"
|
|
124
|
+
},
|
|
125
|
+
"card": {
|
|
126
|
+
"headline": [
|
|
127
|
+
{
|
|
128
|
+
"text": "See the work",
|
|
129
|
+
"tone": "neutral"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"text": "at a glance",
|
|
133
|
+
"tone": "violet"
|
|
134
|
+
}
|
|
135
|
+
],
|
|
136
|
+
"description": [
|
|
137
|
+
{
|
|
138
|
+
"text": "Use cover images and selected properties to build a compact project portfolio.",
|
|
139
|
+
"tone": "neutral"
|
|
140
|
+
}
|
|
141
|
+
]
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"id": "grouped-list",
|
|
146
|
+
"alt": "Focused projects list grouped into Active and Planning sections with the Group by controls open.",
|
|
147
|
+
"images": {
|
|
148
|
+
"preview": {
|
|
149
|
+
"path": "registry-assets/gallery/grouped-list.preview.webp"
|
|
150
|
+
},
|
|
151
|
+
"full": {
|
|
152
|
+
"path": "registry-assets/gallery/grouped-list.full.webp"
|
|
153
|
+
},
|
|
154
|
+
"light": {
|
|
155
|
+
"path": "registry-assets/gallery/grouped-list.light.webp"
|
|
156
|
+
},
|
|
157
|
+
"dark": {
|
|
158
|
+
"path": "registry-assets/gallery/grouped-list.dark.webp"
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
"capture": {
|
|
162
|
+
"storyId": "plugins-bases-registry-screenshots--grouped-list",
|
|
163
|
+
"focus": "full-shell"
|
|
164
|
+
},
|
|
165
|
+
"card": {
|
|
166
|
+
"headline": [
|
|
167
|
+
{
|
|
168
|
+
"text": "Group related notes",
|
|
169
|
+
"tone": "neutral"
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"text": "around the next decision",
|
|
173
|
+
"tone": "green"
|
|
174
|
+
}
|
|
175
|
+
],
|
|
176
|
+
"description": [
|
|
177
|
+
{
|
|
178
|
+
"text": "Shape the same source data into a grouped list when a table is more than you need.",
|
|
179
|
+
"tone": "neutral"
|
|
180
|
+
}
|
|
181
|
+
]
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
]
|
|
185
|
+
}
|