sdfsdf
This commit is contained in:
1 parent
a59be0fc9c
commit
4cd68793c9
41 files changed
+287
-129
No files matched your search
@@ -60,7 +60,7 @@ function seedVault(root) {
|
||||
- [x] Ship the first public build as an AppImage
|
||||
- [x] Canvas export to PNG, SVG and PDF
|
||||
- [x] Version history for pages and canvases
|
||||
- [ ] Test the Windows installer on a clean machine
|
||||
- [x] Windows installer and Linux deb
|
||||
- [ ] Write the docs, starting with [[Keyboard shortcuts]]
|
||||
- [ ] Follow the [[Launch plan]]
|
||||
|
||||
@@ -69,8 +69,8 @@ function seedVault(root) {
|
||||
|
||||
\`\`\`js
|
||||
const release = {
|
||||
version: '0.1.0',
|
||||
platforms: ['linux'],
|
||||
version: '1.0.0-beta',
|
||||
platforms: ['linux', 'windows'],
|
||||
notes: 'plain .md files, offline, no account',
|
||||
};
|
||||
console.log(\`Shipping Ink \${release.version}\`);
|
||||
@@ -79,7 +79,7 @@ console.log(\`Shipping Ink \${release.version}\`);
|
||||
<details>
|
||||
<summary>Why Linux first?</summary>
|
||||
|
||||
The AppImage is the only target built and tested so far. Windows and macOS are configured but still need a proper pass.
|
||||
The AppImage was the first target built and tested. Windows and the deb followed; macOS is still to do.
|
||||
|
||||
</details>
|
||||
`);
|
||||
@@ -142,7 +142,6 @@ tags: [work, ink]
|
||||
|
||||
## To do
|
||||
|
||||
- [ ] Windows installer test pass
|
||||
- [ ] macOS dmg build
|
||||
- [ ] Docs: where notes are stored
|
||||
- [ ] Verify checksum instructions
|
||||
@@ -151,13 +150,14 @@ tags: [work, ink]
|
||||
## Doing
|
||||
|
||||
- [ ] Website screenshots
|
||||
- [ ] Changelog for 0.1.0
|
||||
- [ ] Changelog for 1.0.0-beta
|
||||
- [ ] Spellcheck language picker polish
|
||||
|
||||
|
||||
## Done
|
||||
|
||||
- [x] AppImage build
|
||||
- [x] AppImage and deb builds
|
||||
- [x] Windows installer
|
||||
- [x] Canvas export (PNG, SVG, PDF)
|
||||
- [x] Version history for canvases
|
||||
- [x] Graph view filters
|
||||
@@ -199,6 +199,42 @@ The release is a single AppImage, so the checklist is short: bump the version, w
|
||||
Once that is done, the website can go live with a plain download button and nothing else.
|
||||
`);
|
||||
|
||||
|
||||
// A database: the page holds the schema, every record is a sub-page whose properties are front matter.
|
||||
const dbSchema = {
|
||||
properties: [
|
||||
{ key: 'status', name: 'Status', type: 'select', options: ['Backlog', 'In progress', 'Review', 'Done'], colors: { Backlog: 'gray', 'In progress': 'blue', Review: 'yellow', Done: 'green' } },
|
||||
{ key: 'area', name: 'Area', type: 'select', options: ['Editor', 'Canvas', 'Databases', 'Themes', 'Site'], colors: { Editor: 'pink', Canvas: 'purple', Databases: 'teal', Themes: 'orange', Site: 'blue' } },
|
||||
{ key: 'owner', name: 'Owner', type: 'people' },
|
||||
{ key: 'start', name: 'Start', type: 'date' },
|
||||
{ key: 'due', name: 'Due', type: 'date' },
|
||||
{ key: 'progress', name: 'Progress', type: 'number', format: 'bar', max: 100 },
|
||||
{ key: 'shipped', name: 'Shipped', type: 'checkbox' },
|
||||
],
|
||||
views: [
|
||||
{ id: 'vtable', name: 'Table', type: 'table', sort: { key: 'due', dir: 'asc' }, filters: [], hidden: [], widths: {}, calc: {} },
|
||||
{ id: 'vboard', name: 'Board', type: 'board', groupBy: 'status', sort: null, filters: [], hidden: [], widths: {}, calc: {} },
|
||||
{ id: 'vcal', name: 'Calendar', type: 'calendar', dateProp: 'due', sort: null, filters: [], hidden: [], widths: {}, calc: {} },
|
||||
{ id: 'vtime', name: 'Timeline', type: 'timeline', dateProp: 'start', endProp: 'due', sort: null, filters: [], hidden: [], widths: {}, calc: {} },
|
||||
],
|
||||
};
|
||||
w(root, 'Feature tracker.md', fm({ icon: '🧭', tags: ['work', 'ink'], 'ink-database': 'basic' }) + `Everything planned for the next release, one record per feature.\n\n%% ink-database\n${JSON.stringify(dbSchema, null, 2)}\n%%\n`);
|
||||
const recs = [
|
||||
['Color themes', 'Themes', 'Done', ['Mara'], '2026-09-14', '2026-09-26', 100, true],
|
||||
['Accent colors', 'Themes', 'Done', ['Mara'], '2026-09-20', '2026-10-01', 100, true],
|
||||
['Table view', 'Databases', 'Done', ['Jo'], '2026-09-08', '2026-10-02', 100, true],
|
||||
['Board view', 'Databases', 'Review', ['Jo', 'Ana'], '2026-09-24', '2026-10-12', 80, false],
|
||||
['Calendar view', 'Databases', 'In progress', ['Ana'], '2026-10-01', '2026-10-16', 60, false],
|
||||
['Timeline view', 'Databases', 'In progress', ['Jo'], '2026-10-05', '2026-10-22', 40, false],
|
||||
['Formula properties', 'Databases', 'Backlog', ['Jo'], '2026-10-14', '2026-10-30', 10, false],
|
||||
['Canvas alignment guides', 'Canvas', 'Done', ['Ana'], '2026-09-01', '2026-09-18', 100, true],
|
||||
['Quick capture', 'Editor', 'Review', ['Mara'], '2026-10-03', '2026-10-14', 90, false],
|
||||
['Website refresh', 'Site', 'In progress', ['Mara', 'Jo'], '2026-10-08', '2026-10-20', 55, false],
|
||||
];
|
||||
for (const [t, area, status, owner, start, due, progress, shipped] of recs) {
|
||||
w(root, `Feature tracker/${t}.md`, fm({ area, status, owner, start, due, progress, shipped }) + `${t}: notes and decisions live here, as an ordinary page.\n`);
|
||||
}
|
||||
|
||||
// Earlier versions of the Roadmap page, so version history has something to show.
|
||||
const now = Date.now();
|
||||
const hist = [
|
||||
@@ -217,7 +253,7 @@ Once that is done, the website can go live with a plain download button and noth
|
||||
return {
|
||||
lastPage: 'Roadmap',
|
||||
vaultSettings: {
|
||||
pins: ['Roadmap', 'Reading list', 'Sprint board', 'Project map.canvas'],
|
||||
pins: ['Roadmap', 'Feature tracker', 'Sprint board', 'Project map.canvas'],
|
||||
recent: ['Roadmap', 'Reading list', 'Sprint board'],
|
||||
tagColors: { work: 'blue', ink: 'pink', reading: 'yellow', learning: 'teal', personal: 'green', ideas: 'purple' },
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user