implement outliner functionality
[apps/outliner/.git] / src / test-data.json
1 {
2   "id": "000000",
3   "name": "Sample",
4   "created": "1674409747467",
5   "tree": {
6     "id": "000000",
7     "collapsed": false,
8     "children": [
9       {
10         "id": "000001",
11         "collapsed": false,
12         "children": []
13       },
14       {
15         "id": "1dc4c363-7440-4661-bbc5-7e995dc6ba71",
16         "collapsed": false,
17         "children": []
18       },
19       {
20         "id": "e067419d-85c3-422d-b8c4-41690be4450d",
21         "collapsed": false,
22         "children": [
23           {
24             "id": "6addd61d-d12f-4a27-a471-513becfff006",
25             "children": [],
26             "collapsed": false
27           }
28         ]
29       },
30       {
31         "id": "2ab706de-fea9-42a0-a900-e88b2950ceb3",
32         "collapsed": false,
33         "children": [
34           {
35             "id": "27c14755-ff26-4931-a676-b48cd958b781",
36             "children": [
37               {
38                 "id": "116f8e0f-ab62-450f-914e-5ca0956a457f",
39                 "children": [],
40                 "collapsed": false
41               }
42             ],
43             "collapsed": true
44           },
45           {
46             "id": "d69efd32-fbf5-4b80-8a36-af1cb2af7b80",
47             "children": [
48               {
49                 "id": "b5a55548-f65d-496a-8bea-6b6ba8296e21",
50                 "children": [],
51                 "collapsed": false
52               }
53             ],
54             "collapsed": true
55           },
56           {
57             "id": "2f67d730-c71b-4823-a986-fa510d9408e1",
58             "children": [
59               {
60                 "id": "40194ea5-9c28-4adb-bffe-4f59e7eca666",
61                 "children": [],
62                 "collapsed": false
63               }
64             ],
65             "collapsed": true
66           }
67         ]
68       },
69       {
70         "id": "21df5e96-d770-43f0-8bd1-1b01ab4626f9",
71         "collapsed": false,
72         "children": []
73       },
74       {
75         "id": "89c3267b-0114-4138-98a8-443b28d2e679",
76         "collapsed": false,
77         "children": [
78           {
79             "id": "6b457d6b-0228-41b7-bbba-6c0ba3b54f4d",
80             "collapsed": false,
81             "children": [
82               {
83                 "id": "bad021fc-24d1-4560-8321-042c28d438a8",
84                 "collapsed": false,
85                 "children": []
86               }
87             ]
88           },
89           {
90             "id": "9690699a-cb7d-4123-8fa5-f7a58a191a08",
91             "children": [
92               {
93                 "id": "2831a7aa-7291-4ebc-997f-5572e767f5c0",
94                 "children": [],
95                 "collapsed": false
96               }
97             ],
98             "collapsed": false
99           },
100           {
101             "id": "88d336be-4910-4d74-b79a-441894af956d",
102             "collapsed": false,
103             "children": [
104               {
105                 "id": "eb7fd6d7-b3fe-46e5-814c-655a6eec2ba4",
106                 "children": [],
107                 "collapsed": false
108               }
109             ]
110           },
111           {
112             "id": "51b2f235-b979-4d74-ad83-3e8b6152bb4a",
113             "collapsed": false,
114             "children": [
115               {
116                 "id": "9c576012-7e8f-4d2b-b58b-1886eba43341",
117                 "children": [],
118                 "collapsed": false
119               }
120             ]
121           }
122         ]
123       },
124       {
125         "id": "ef04ea02-aed6-4295-9117-2dcc45506f3a",
126         "collapsed": false,
127         "children": [
128           {
129             "id": "255bfdfc-9260-4cb1-9dcd-15f2c9eca2b2",
130             "children": [
131               {
132                 "id": "40b53a6f-0f43-40c2-b6d3-486982fc9d48",
133                 "children": [
134                   {
135                     "id": "724d0e33-fe2c-459e-9e75-e3311809ba36",
136                     "children": [],
137                     "collapsed": false
138                   },
139                   {
140                     "id": "588a65fd-69dd-4bb4-a819-f8c7f05a1d69",
141                     "collapsed": false,
142                     "children": []
143                   },
144                   {
145                     "id": "13ea01fb-339d-4e65-9fad-123d72830efb",
146                     "collapsed": false,
147                     "children": []
148                   },
149                   {
150                     "id": "a941538b-6834-4a65-b297-50036b89a41f",
151                     "collapsed": false,
152                     "children": []
153                   }
154                 ],
155                 "collapsed": false
156               },
157               {
158                 "id": "80b86062-a197-4adf-baa4-56a5953e0a77",
159                 "collapsed": false,
160                 "children": [
161                   {
162                     "id": "c09a5876-f825-4cb0-9a56-2916e28f9d02",
163                     "children": [],
164                     "collapsed": false
165                   }
166                 ]
167               }
168             ],
169             "collapsed": false
170           }
171         ]
172       }
173     ]
174   },
175   "contentNodes": {
176     "000001": {
177       "id": "000001",
178       "created": 1674409747467,
179       "type": "text",
180       "content": "**Welcome to my Outliner**<br>"
181     },
182     "e067419d-85c3-422d-b8c4-41690be4450d": {
183       "id": "e067419d-85c3-422d-b8c4-41690be4450d",
184       "created": 1674412571215,
185       "type": "text",
186       "content": "This is my attempt to build a \"home base\" piece of software for myself. The goal is to be able to use this tool to serve as a way to write long-form content, manage my website, and keep notes + references. <br>"
187     },
188     "21df5e96-d770-43f0-8bd1-1b01ab4626f9": {
189       "id": "21df5e96-d770-43f0-8bd1-1b01ab4626f9",
190       "created": 1674412689419,
191       "type": "text",
192       "content": "---"
193     },
194     "89c3267b-0114-4138-98a8-443b28d2e679": {
195       "id": "89c3267b-0114-4138-98a8-443b28d2e679",
196       "created": 1674412690374,
197       "type": "text",
198       "content": "**FAQ**"
199     },
200     "9690699a-cb7d-4123-8fa5-f7a58a191a08": {
201       "id": "9690699a-cb7d-4123-8fa5-f7a58a191a08",
202       "created": 1674412696214,
203       "type": "text",
204       "content": "**Why should I use this?**<br>"
205     },
206     "2831a7aa-7291-4ebc-997f-5572e767f5c0": {
207       "id": "2831a7aa-7291-4ebc-997f-5572e767f5c0",
208       "created": 1674412702948,
209       "type": "text",
210       "content": "You shouldn't. This isn't a piece of software for you - it's for me. You may find some use for it, but you also may not. Along the way features will be introduced that likely break things for you.<br>"
211     },
212     "51b2f235-b979-4d74-ad83-3e8b6152bb4a": {
213       "id": "51b2f235-b979-4d74-ad83-3e8b6152bb4a",
214       "created": 1674412786944,
215       "type": "text",
216       "content": "**Ok I used it, but my data is trapped?**<br>"
217     },
218     "9c576012-7e8f-4d2b-b58b-1886eba43341": {
219       "id": "9c576012-7e8f-4d2b-b58b-1886eba43341",
220       "created": 1674412794788,
221       "type": "text",
222       "content": "I'll be adding the ability to export the entire thing as OPML, so that there's some interop between this and all of [Dave Winer's](https://scripting.com) tooling. Hopefully that's enough. At some point I'm going to also introduce support for [RemoteStorage](https://remotestorage.io) which is a project that I've previous contributed to in the past, but have mostly been neglecting lately. I'm hoping between those two options that'll be enough for \"backups\" of data.<br>"
223     },
224     "88d336be-4910-4d74-b79a-441894af956d": {
225       "id": "88d336be-4910-4d74-b79a-441894af956d",
226       "created": 1674412890012,
227       "type": "text",
228       "content": "**If I use this, does this mean you have access to all my data?**<br>"
229     },
230     "eb7fd6d7-b3fe-46e5-814c-655a6eec2ba4": {
231       "id": "eb7fd6d7-b3fe-46e5-814c-655a6eec2ba4",
232       "created": 1674412907752,
233       "type": "text",
234       "content": "No. I'm trying to keep this entirely \"static\" and \"offline first\". You should be able to use this without concern that I'll be watching what you type. Like I said - this is primarily a tool for me, and I already have access to all of my content.<br>"
235     },
236     "bad021fc-24d1-4560-8321-042c28d438a8": {
237       "id": "bad021fc-24d1-4560-8321-042c28d438a8",
238       "created": 1674491030563,
239       "type": "text",
240       "content": "An outliner is simply a tool that allows for \"infinite\" hierarchy. You can create nested nodes, move them around, and generally treat it like a big old bulleted list. It seem silly, but being able to sort your list whenever you feel like is a huge deal. <br>"
241     },
242     "1dc4c363-7440-4661-bbc5-7e995dc6ba71": {
243       "id": "1dc4c363-7440-4661-bbc5-7e995dc6ba71",
244       "created": 1674491120429,
245       "type": "text",
246       "content": "I've long been a user of [Dave Winer's](https://scripting.com) outliner tools for the last decade since I first discovered Outliners. They've been a massive benefit to me as I attempt to organize my thoughts across a variety of subjects. I've also always struggled to adopt existing tooling as I found that they were ALMOST what I wanted.<br>"
247     },
248     "6addd61d-d12f-4a27-a471-513becfff006": {
249       "id": "6addd61d-d12f-4a27-a471-513becfff006",
250       "created": 1674491272253,
251       "type": "text",
252       "content": "![Thumbs Up](http://www.tmsauto.com/wp-content/uploads/3-thumbs-up.jpg)<br>"
253     },
254     "ef04ea02-aed6-4295-9117-2dcc45506f3a": {
255       "id": "ef04ea02-aed6-4295-9117-2dcc45506f3a",
256       "created": 1674494561538,
257       "type": "text",
258       "content": "**Changelog**"
259     },
260     "255bfdfc-9260-4cb1-9dcd-15f2c9eca2b2": {
261       "id": "255bfdfc-9260-4cb1-9dcd-15f2c9eca2b2",
262       "created": 1674494572205,
263       "type": "text",
264       "content": "**2023-01-23 - Initial Release**<br>"
265     },
266     "40b53a6f-0f43-40c2-b6d3-486982fc9d48": {
267       "id": "40b53a6f-0f43-40c2-b6d3-486982fc9d48",
268       "created": 1674494588998,
269       "type": "text",
270       "content": "The outliner supports all standard outliner functionality<br>"
271     },
272     "850bac59-c64f-4884-a24c-a10cad6b38c2": {
273       "id": "850bac59-c64f-4884-a24c-a10cad6b38c2",
274       "created": 1674494607269,
275       "type": "text",
276       "content": "---"
277     },
278     "cccd8044-92b6-4e89-887c-2f979f4e0cab": {
279       "id": "cccd8044-92b6-4e89-887c-2f979f4e0cab",
280       "created": 1674494607378,
281       "type": "text",
282       "content": "---"
283     },
284     "724d0e33-fe2c-459e-9e75-e3311809ba36": {
285       "id": "724d0e33-fe2c-459e-9e75-e3311809ba36",
286       "created": 1674496047585,
287       "type": "text",
288       "content": "Ability to create/remove nodes at the same level or as children of the selected node<br>"
289     },
290     "588a65fd-69dd-4bb4-a819-f8c7f05a1d69": {
291       "id": "588a65fd-69dd-4bb4-a819-f8c7f05a1d69",
292       "created": 1674496066859,
293       "type": "text",
294       "content": "Ability to move nodes up and down within the same level<br>"
295     },
296     "13ea01fb-339d-4e65-9fad-123d72830efb": {
297       "id": "13ea01fb-339d-4e65-9fad-123d72830efb",
298       "created": 1674496078557,
299       "type": "text",
300       "content": "Ability to lift/lower nodes in the hierarchy<br>"
301     },
302     "80b86062-a197-4adf-baa4-56a5953e0a77": {
303       "id": "80b86062-a197-4adf-baa4-56a5953e0a77",
304       "created": 1674496103163,
305       "type": "text",
306       "content": "**Known Issues**<br>"
307     },
308     "c09a5876-f825-4cb0-9a56-2916e28f9d02": {
309       "id": "c09a5876-f825-4cb0-9a56-2916e28f9d02",
310       "created": 1674496115316,
311       "type": "text",
312       "content": "The `findNodeInTree` method seems to jump through the list multiple times and needs to be properly terminated. There's a hack in place right now that stops it from triggering the handler multiple times, but it would be good to get that fixed<br>"
313     },
314     "a941538b-6834-4a65-b297-50036b89a41f": {
315       "id": "a941538b-6834-4a65-b297-50036b89a41f",
316       "created": 1674496226731,
317       "type": "text",
318       "content": "Ability to fold/unfold nodes to hide/display nested content<br>"
319     },
320     "6b457d6b-0228-41b7-bbba-6c0ba3b54f4d": {
321       "id": "6b457d6b-0228-41b7-bbba-6c0ba3b54f4d",
322       "created": 1674499489509,
323       "type": "text",
324       "content": "**What is an outliner?**<br>"
325     },
326     "2ab706de-fea9-42a0-a900-e88b2950ceb3": {
327       "id": "2ab706de-fea9-42a0-a900-e88b2950ceb3",
328       "created": 1674504320041,
329       "type": "text",
330       "content": "**Features**<br>"
331     },
332     "27c14755-ff26-4931-a676-b48cd958b781": {
333       "id": "27c14755-ff26-4931-a676-b48cd958b781",
334       "created": 1674504328945,
335       "type": "text",
336       "content": "- [x] A simple keyboard-navigated outliner where each node supports Markdown<br>"
337     },
338     "116f8e0f-ab62-450f-914e-5ca0956a457f": {
339       "id": "116f8e0f-ab62-450f-914e-5ca0956a457f",
340       "created": 1674504343967,
341       "type": "text",
342       "content": "This is probably the single biggest difference from other outliners - and it really is a simple change. The text nodes are all markdown - so by default it supports anything that would render via [marked.js](https://marked.js.org/). <br>"
343     },
344     "974ebeda-2d49-4a31-9bcc-666c6b910702": {
345       "id": "974ebeda-2d49-4a31-9bcc-666c6b910702",
346       "created": 1674504414730,
347       "type": "text",
348       "content": "Roadmap<br>"
349     },
350     "b00509a3-694a-4159-b9f0-fdc11e1e04e3": {
351       "id": "b00509a3-694a-4159-b9f0-fdc11e1e04e3",
352       "created": 1674504415116,
353       "type": "text",
354       "content": "---"
355     },
356     "3c51e000-8bf7-469d-94e5-4480b980993c": {
357       "id": "3c51e000-8bf7-469d-94e5-4480b980993c",
358       "created": 1674504438403,
359       "type": "text",
360       "content": "---"
361     },
362     "0da3090a-9a6f-4b3f-9607-0e97bd4318f5": {
363       "id": "0da3090a-9a6f-4b3f-9607-0e97bd4318f5",
364       "created": 1674504442196,
365       "type": "text",
366       "content": "Current"
367     },
368     "d69efd32-fbf5-4b80-8a36-af1cb2af7b80": {
369       "id": "d69efd32-fbf5-4b80-8a36-af1cb2af7b80",
370       "created": 1674504453605,
371       "type": "text",
372       "content": "- [ ] Search!"
373     },
374     "b5a55548-f65d-496a-8bea-6b6ba8296e21": {
375       "id": "b5a55548-f65d-496a-8bea-6b6ba8296e21",
376       "created": 1674504458424,
377       "type": "text",
378       "content": "This is the most important one. The ability to fuzzy search across the entirety of the document and jump to any node possible. When I was working with Fargo + Little Outliner, I tried building extensions that would allow me to do this - but they never quite worked as I envisioned. I'm hoping to provide a full fuzzy-text search system<br>"
379     },
380     "315c3870-a6c2-49b6-89b1-8c9e0a950b4c": {
381       "id": "315c3870-a6c2-49b6-89b1-8c9e0a950b4c",
382       "created": 1674504522443,
383       "type": "text",
384       "content": "---"
385     },
386     "4f84fa9b-bc13-43fa-9e31-cf4a0c976d27": {
387       "id": "4f84fa9b-bc13-43fa-9e31-cf4a0c976d27",
388       "created": 1674504522958,
389       "type": "text",
390       "content": "---"
391     },
392     "2f67d730-c71b-4823-a986-fa510d9408e1": {
393       "id": "2f67d730-c71b-4823-a986-fa510d9408e1",
394       "created": 1674504531115,
395       "type": "text",
396       "content": "- [ ] Export Data<br>"
397     },
398     "bb64c043-b69f-49f8-bde4-9018822d929b": {
399       "id": "bb64c043-b69f-49f8-bde4-9018822d929b",
400       "created": 1674504546666,
401       "type": "text",
402       "content": "Being able to \"publish\" a node and <br>"
403     },
404     "40194ea5-9c28-4adb-bffe-4f59e7eca666": {
405       "id": "40194ea5-9c28-4adb-bffe-4f59e7eca666",
406       "created": 1674504558701,
407       "type": "text",
408       "content": "Being able to export the data to OPML at any point will go a long way to ensuring that the tool never locks me in if I decide to leave<br>"
409     },
410     "82956c9c-33d1-44e1-aca7-298cdfc4c72c": {
411       "id": "82956c9c-33d1-44e1-aca7-298cdfc4c72c",
412       "created": 1674504834120,
413       "type": "text",
414       "content": "---"
415     },
416     "a1f74891-c98b-4fc2-a7ce-c18b2ad2b8d0": {
417       "id": "a1f74891-c98b-4fc2-a7ce-c18b2ad2b8d0",
418       "created": 1674504838755,
419       "type": "text",
420       "content": "---"
421     },
422     "e1e60a99-74da-436c-b140-ce8c10832889": {
423       "id": "e1e60a99-74da-436c-b140-ce8c10832889",
424       "created": 1674504891810,
425       "type": "text",
426       "content": "---"
427     },
428     "de5fd362-402e-4769-8429-9fecab882da0": {
429       "id": "de5fd362-402e-4769-8429-9fecab882da0",
430       "created": 1674504894934,
431       "type": "text",
432       "content": "---"
433     },
434     "de9ca950-e7c0-4f10-b65e-a5cf9000a618": {
435       "id": "de9ca950-e7c0-4f10-b65e-a5cf9000a618",
436       "created": 1674504899904,
437       "type": "text",
438       "content": "---"
439     },
440     "8f1a787f-01b5-4b72-8308-8a3fe0a96383": {
441       "id": "8f1a787f-01b5-4b72-8308-8a3fe0a96383",
442       "created": 1674504923176,
443       "type": "text",
444       "content": "eys"
445     }
446   }
447 }