4 "created": "1674409747467",
15 "id": "1dc4c363-7440-4661-bbc5-7e995dc6ba71",
20 "id": "e067419d-85c3-422d-b8c4-41690be4450d",
24 "id": "6addd61d-d12f-4a27-a471-513becfff006",
31 "id": "2ab706de-fea9-42a0-a900-e88b2950ceb3",
35 "id": "27c14755-ff26-4931-a676-b48cd958b781",
38 "id": "116f8e0f-ab62-450f-914e-5ca0956a457f",
46 "id": "d69efd32-fbf5-4b80-8a36-af1cb2af7b80",
49 "id": "b5a55548-f65d-496a-8bea-6b6ba8296e21",
57 "id": "2f67d730-c71b-4823-a986-fa510d9408e1",
60 "id": "40194ea5-9c28-4adb-bffe-4f59e7eca666",
70 "id": "21df5e96-d770-43f0-8bd1-1b01ab4626f9",
75 "id": "89c3267b-0114-4138-98a8-443b28d2e679",
79 "id": "6b457d6b-0228-41b7-bbba-6c0ba3b54f4d",
83 "id": "bad021fc-24d1-4560-8321-042c28d438a8",
90 "id": "9690699a-cb7d-4123-8fa5-f7a58a191a08",
93 "id": "2831a7aa-7291-4ebc-997f-5572e767f5c0",
101 "id": "88d336be-4910-4d74-b79a-441894af956d",
105 "id": "eb7fd6d7-b3fe-46e5-814c-655a6eec2ba4",
112 "id": "51b2f235-b979-4d74-ad83-3e8b6152bb4a",
116 "id": "9c576012-7e8f-4d2b-b58b-1886eba43341",
125 "id": "ef04ea02-aed6-4295-9117-2dcc45506f3a",
129 "id": "255bfdfc-9260-4cb1-9dcd-15f2c9eca2b2",
132 "id": "40b53a6f-0f43-40c2-b6d3-486982fc9d48",
135 "id": "724d0e33-fe2c-459e-9e75-e3311809ba36",
140 "id": "588a65fd-69dd-4bb4-a819-f8c7f05a1d69",
145 "id": "13ea01fb-339d-4e65-9fad-123d72830efb",
150 "id": "a941538b-6834-4a65-b297-50036b89a41f",
158 "id": "80b86062-a197-4adf-baa4-56a5953e0a77",
162 "id": "c09a5876-f825-4cb0-9a56-2916e28f9d02",
178 "created": 1674409747467,
180 "content": "**Welcome to my Outliner**<br>"
182 "e067419d-85c3-422d-b8c4-41690be4450d": {
183 "id": "e067419d-85c3-422d-b8c4-41690be4450d",
184 "created": 1674412571215,
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>"
188 "21df5e96-d770-43f0-8bd1-1b01ab4626f9": {
189 "id": "21df5e96-d770-43f0-8bd1-1b01ab4626f9",
190 "created": 1674412689419,
194 "89c3267b-0114-4138-98a8-443b28d2e679": {
195 "id": "89c3267b-0114-4138-98a8-443b28d2e679",
196 "created": 1674412690374,
200 "9690699a-cb7d-4123-8fa5-f7a58a191a08": {
201 "id": "9690699a-cb7d-4123-8fa5-f7a58a191a08",
202 "created": 1674412696214,
204 "content": "**Why should I use this?**<br>"
206 "2831a7aa-7291-4ebc-997f-5572e767f5c0": {
207 "id": "2831a7aa-7291-4ebc-997f-5572e767f5c0",
208 "created": 1674412702948,
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>"
212 "51b2f235-b979-4d74-ad83-3e8b6152bb4a": {
213 "id": "51b2f235-b979-4d74-ad83-3e8b6152bb4a",
214 "created": 1674412786944,
216 "content": "**Ok I used it, but my data is trapped?**<br>"
218 "9c576012-7e8f-4d2b-b58b-1886eba43341": {
219 "id": "9c576012-7e8f-4d2b-b58b-1886eba43341",
220 "created": 1674412794788,
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>"
224 "88d336be-4910-4d74-b79a-441894af956d": {
225 "id": "88d336be-4910-4d74-b79a-441894af956d",
226 "created": 1674412890012,
228 "content": "**If I use this, does this mean you have access to all my data?**<br>"
230 "eb7fd6d7-b3fe-46e5-814c-655a6eec2ba4": {
231 "id": "eb7fd6d7-b3fe-46e5-814c-655a6eec2ba4",
232 "created": 1674412907752,
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>"
236 "bad021fc-24d1-4560-8321-042c28d438a8": {
237 "id": "bad021fc-24d1-4560-8321-042c28d438a8",
238 "created": 1674491030563,
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>"
242 "1dc4c363-7440-4661-bbc5-7e995dc6ba71": {
243 "id": "1dc4c363-7440-4661-bbc5-7e995dc6ba71",
244 "created": 1674491120429,
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>"
248 "6addd61d-d12f-4a27-a471-513becfff006": {
249 "id": "6addd61d-d12f-4a27-a471-513becfff006",
250 "created": 1674491272253,
252 "content": "![Thumbs Up](http://www.tmsauto.com/wp-content/uploads/3-thumbs-up.jpg)<br>"
254 "ef04ea02-aed6-4295-9117-2dcc45506f3a": {
255 "id": "ef04ea02-aed6-4295-9117-2dcc45506f3a",
256 "created": 1674494561538,
258 "content": "**Changelog**"
260 "255bfdfc-9260-4cb1-9dcd-15f2c9eca2b2": {
261 "id": "255bfdfc-9260-4cb1-9dcd-15f2c9eca2b2",
262 "created": 1674494572205,
264 "content": "**2023-01-23 - Initial Release**<br>"
266 "40b53a6f-0f43-40c2-b6d3-486982fc9d48": {
267 "id": "40b53a6f-0f43-40c2-b6d3-486982fc9d48",
268 "created": 1674494588998,
270 "content": "The outliner supports all standard outliner functionality<br>"
272 "850bac59-c64f-4884-a24c-a10cad6b38c2": {
273 "id": "850bac59-c64f-4884-a24c-a10cad6b38c2",
274 "created": 1674494607269,
278 "cccd8044-92b6-4e89-887c-2f979f4e0cab": {
279 "id": "cccd8044-92b6-4e89-887c-2f979f4e0cab",
280 "created": 1674494607378,
284 "724d0e33-fe2c-459e-9e75-e3311809ba36": {
285 "id": "724d0e33-fe2c-459e-9e75-e3311809ba36",
286 "created": 1674496047585,
288 "content": "Ability to create/remove nodes at the same level or as children of the selected node<br>"
290 "588a65fd-69dd-4bb4-a819-f8c7f05a1d69": {
291 "id": "588a65fd-69dd-4bb4-a819-f8c7f05a1d69",
292 "created": 1674496066859,
294 "content": "Ability to move nodes up and down within the same level<br>"
296 "13ea01fb-339d-4e65-9fad-123d72830efb": {
297 "id": "13ea01fb-339d-4e65-9fad-123d72830efb",
298 "created": 1674496078557,
300 "content": "Ability to lift/lower nodes in the hierarchy<br>"
302 "80b86062-a197-4adf-baa4-56a5953e0a77": {
303 "id": "80b86062-a197-4adf-baa4-56a5953e0a77",
304 "created": 1674496103163,
306 "content": "**Known Issues**<br>"
308 "c09a5876-f825-4cb0-9a56-2916e28f9d02": {
309 "id": "c09a5876-f825-4cb0-9a56-2916e28f9d02",
310 "created": 1674496115316,
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>"
314 "a941538b-6834-4a65-b297-50036b89a41f": {
315 "id": "a941538b-6834-4a65-b297-50036b89a41f",
316 "created": 1674496226731,
318 "content": "Ability to fold/unfold nodes to hide/display nested content<br>"
320 "6b457d6b-0228-41b7-bbba-6c0ba3b54f4d": {
321 "id": "6b457d6b-0228-41b7-bbba-6c0ba3b54f4d",
322 "created": 1674499489509,
324 "content": "**What is an outliner?**<br>"
326 "2ab706de-fea9-42a0-a900-e88b2950ceb3": {
327 "id": "2ab706de-fea9-42a0-a900-e88b2950ceb3",
328 "created": 1674504320041,
330 "content": "**Features**<br>"
332 "27c14755-ff26-4931-a676-b48cd958b781": {
333 "id": "27c14755-ff26-4931-a676-b48cd958b781",
334 "created": 1674504328945,
336 "content": "- [x] A simple keyboard-navigated outliner where each node supports Markdown<br>"
338 "116f8e0f-ab62-450f-914e-5ca0956a457f": {
339 "id": "116f8e0f-ab62-450f-914e-5ca0956a457f",
340 "created": 1674504343967,
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>"
344 "974ebeda-2d49-4a31-9bcc-666c6b910702": {
345 "id": "974ebeda-2d49-4a31-9bcc-666c6b910702",
346 "created": 1674504414730,
348 "content": "Roadmap<br>"
350 "b00509a3-694a-4159-b9f0-fdc11e1e04e3": {
351 "id": "b00509a3-694a-4159-b9f0-fdc11e1e04e3",
352 "created": 1674504415116,
356 "3c51e000-8bf7-469d-94e5-4480b980993c": {
357 "id": "3c51e000-8bf7-469d-94e5-4480b980993c",
358 "created": 1674504438403,
362 "0da3090a-9a6f-4b3f-9607-0e97bd4318f5": {
363 "id": "0da3090a-9a6f-4b3f-9607-0e97bd4318f5",
364 "created": 1674504442196,
368 "d69efd32-fbf5-4b80-8a36-af1cb2af7b80": {
369 "id": "d69efd32-fbf5-4b80-8a36-af1cb2af7b80",
370 "created": 1674504453605,
372 "content": "- [ ] Search!"
374 "b5a55548-f65d-496a-8bea-6b6ba8296e21": {
375 "id": "b5a55548-f65d-496a-8bea-6b6ba8296e21",
376 "created": 1674504458424,
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>"
380 "315c3870-a6c2-49b6-89b1-8c9e0a950b4c": {
381 "id": "315c3870-a6c2-49b6-89b1-8c9e0a950b4c",
382 "created": 1674504522443,
386 "4f84fa9b-bc13-43fa-9e31-cf4a0c976d27": {
387 "id": "4f84fa9b-bc13-43fa-9e31-cf4a0c976d27",
388 "created": 1674504522958,
392 "2f67d730-c71b-4823-a986-fa510d9408e1": {
393 "id": "2f67d730-c71b-4823-a986-fa510d9408e1",
394 "created": 1674504531115,
396 "content": "- [ ] Export Data<br>"
398 "bb64c043-b69f-49f8-bde4-9018822d929b": {
399 "id": "bb64c043-b69f-49f8-bde4-9018822d929b",
400 "created": 1674504546666,
402 "content": "Being able to \"publish\" a node and <br>"
404 "40194ea5-9c28-4adb-bffe-4f59e7eca666": {
405 "id": "40194ea5-9c28-4adb-bffe-4f59e7eca666",
406 "created": 1674504558701,
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>"
410 "82956c9c-33d1-44e1-aca7-298cdfc4c72c": {
411 "id": "82956c9c-33d1-44e1-aca7-298cdfc4c72c",
412 "created": 1674504834120,
416 "a1f74891-c98b-4fc2-a7ce-c18b2ad2b8d0": {
417 "id": "a1f74891-c98b-4fc2-a7ce-c18b2ad2b8d0",
418 "created": 1674504838755,
422 "e1e60a99-74da-436c-b140-ce8c10832889": {
423 "id": "e1e60a99-74da-436c-b140-ce8c10832889",
424 "created": 1674504891810,
428 "de5fd362-402e-4769-8429-9fecab882da0": {
429 "id": "de5fd362-402e-4769-8429-9fecab882da0",
430 "created": 1674504894934,
434 "de9ca950-e7c0-4f10-b65e-a5cf9000a618": {
435 "id": "de9ca950-e7c0-4f10-b65e-a5cf9000a618",
436 "created": 1674504899904,
440 "8f1a787f-01b5-4b72-8308-8a3fe0a96383": {
441 "id": "8f1a787f-01b5-4b72-8308-8a3fe0a96383",
442 "created": 1674504923176,