Retaining Outline formatting/indents within a Note

Hi All,

I’d like to make a case for expanding the scope of an individual Note for it to be capable of outline-style behavior WITHIN the note; or at least to allow multiple levels of indenting within the $Text.

Say if I’ve created an outline in another text app (Word, Pages, Taskpaper) and import that note into TB - while retaining it as an individual note - I find it loses the multiple indents in TB; it appears that all indentations are reduced to 2-levels.

I very often bring externally generated outlines into TB for further ideation and tinderboxing; and often need to re-export those worked-on texts to Word/Pages/Taskpaper as deliverables. Losing the original indentations makes this a non-option (i’ve been making do by adding starting dashes, bolding/italicizing sub-topics, and so on, but it’s time-consuming to begin with and not very helpful in cases of longer $Text fields).

As an extension of this concept, I would like to imagine that a Note that supports multi-level indenting could be Exploded (if required) into an actual TB Container/Outline (viz, allowing a Note to be scaled up into a Container/Outline and back down again into an individual Note).

Maybe what I’m asking is already possible via some html-ery (which I’d like to avoid, and stay plain-text); or perhaps, considered unnecessary or outside the scope of TB. Any advice or thoughts, as always, are deeply appreciated.

Hope all are safe and well!

(PS, some related posts are here and there)

If you activate Format > Text > Show Ruler you have access to the standard macOS formatting features including lists, styles, tabs, etc.

Explode can then break a list into separate notes.

becomes

Screenshot of Tinderbox (4-25-20, 6-56-51 AM)

another view

The rest of the suggestions are, by extension, already included in Tinderbox.

2 Likes

Oh derrr. Thank you. I’ll leave this post undisturbed as shame-proof that I ought to spend more time reading the manual :face_with_hand_over_mouth:
Thanks @PaulWalters!!

PS - in practical terms, for the next poor fella with this question - all you’ve got to do is click in the ruler bar and generate a bunch of indent markers BEFORE pasting your multi-dent text into the $Text :))

1 Like

Digging out with related issue.
I can insert indented lists from another application as expected:

When using the Explode function, I was expecting, to find the indentation structure in TBXs outline. But it seems that all notes created via explode are just put one after another:

I tried playing with the options of the explode function as well, but could not get what I wanted.
Desired output would have been this:

Anyone knows how to get there?

My simplest suggestion is to use a proper text outliner - I use Jesse Grossjean’s Taskpaper (or try his latest app, Bike). I just did a test from TP3 to Tbx (straight copy/paste) and the results are below:

taskpaper
tinderbox

1 Like

Can you share your options in the explode dialogue?
Just tried with all kinds of apps and even downloaded Taskpaper just for trying – it did not work for me. Something going on here.

Maybe you could also show a screenshot of the tinderbox note body after pasting from Taskpaper?

Thanks for the quick reply anyways! :slight_smile:

1 Like

Here’s a short video/gif:
CleanShot 2023-02-15 at 20.28.24

2 Likes

@ShiJianhui has gotten there first! Only thing I’ll add is that Taskpaper’s outline indentation works on the basis of the Tab key; spaces won’t do.

Ok, so solution was: don’t use the Explode function at all, but directly paste into the outline view. I was trying to paste into the $Text body of a note. That still does not give me the desired result, if I try that and then use the Explode function afterwards.

What is also a bit funny/seems unintended:
If I directly write into a TBX note and use simple tabs for indentation, I can then with no issue copy the whole text body of that note, and paste it into the outline. I will retain the indentation structure as desired.
However, if I turn on Show Ruler,


and then use a bulleted list (which actually allows for better editing of an indented list, like moving up a level using Shift+Tab, with the cursor anywhere in the note)
Bildschirm­foto 2023-02-16 um 02.48.03
… it will not work the same way – even though it got a more formalized list to work with.
The list with bullets will be recognized as a spreadsheet instead:

The nested bullets seem to get recognized as attributes.

Yes - sorry I didn’t clarify!

This is an intuitive/natural workflow… start by listing your thoughts in a Note, then (once it gains shape) promote it to an outline by cutting/pasting to the main view.

An interesting finding! I will try to use that as a feature :blush:

This is unexpected, but to me not surprising. You’re pasting RTF text into the view pane. Generally, a drop/paste into the view expects plain text. A number of formats are detected and handled in special to format ways, which I’ve documented here. Beyond that you can try, but there’s no fault/blame if it doesn’t work. Given that there’s no statement that the app supports pasted RTF outlines, I wouldn’t blame the app if it didn’t do something it never claimed to do.

As regards where to paste, generally the text (right-hand) pane is for the content of notes. Explode is a special feature for where there is (normally plain text) content that we wish to split into discrete notes. I’m not aware of any documented support for exploding a text outline into an outline of notes. At best I’d expect each bullet to be a new sibling note, letting me indent in the view to regenerate the source outline.

If you need to explode an RTF outline regularly, I’d suggest contacting tinderbox@eastgate.com and making a feature request, explaining the need/context. As per my footnote below, what looks on screen like an outline may not be stored/coped as such. thus the need for context as not all pasted data is equal, under the hood. The same holds if you want Explode to be able to detect/retain outline levels in the source text. I suspect the latter is harder than the former.

Meanwhile (re-testing in v9.5.1), if you want to copy/paste outlines into the view pane, use tab-indented paragraphs (not list styling if RTF) and omit line breaks between paragraphs. As Explode generates a list of sibling notes (i.e. all that the same outline depth) there is no mechanism to use it to parse an outline in $Text into an outline of notes in the view pane (thus a possible feature suggestion you may choose to make).

Stepping back from generalities, what is the source app for the data you are trying to paste? Often when these mis-matched assumptions arise it is easily solved by just starting with a different type of export form the source app.

†. RTF isn’t my area, but from long work experience of moving data between unconnected apps/parts of apps, I wouldn’t assume something would work and would not be surprised if it didn’t. I wouldn’t necessarily be happy if it didn’t, but I wouldn’t assume error on the part of the receiving app unless the latter stated that configuration should work and I could prove that the pasted data was in the (useable) format I assumed it to be. Data plumbing involves a lot of unexpected surprises about what goes on the clipboard. IOW, do we know what useable textual data—useable to view—is on the clipboard? I’m not sure if nested lists (I.e. RTF that looks on screen like an outline) is necessarily consistent in form in the RTF encoded data. This is a general problem with working via WYSIWYG, when WYG isn’t what we expect we assume the tool is wrong even though we gave no direct indication of what we wanted to occur. Something that looks on screen like an outline doesn’t necessarily contain tractable outline structure in pasted data. Many apps give little thought to their data being used in any other app and thus things like copy/paste don’t work as intuited.

Not trying to blame anyone at all :slight_smile: . Just thought it would be nice, if TBX would be able to recognize structure that was produced within TBX, where possible.
Note, that I am not suggesting that TBX should consider trying to support all kinds of outline formats from all kinds of apps – which would be hard as there seems to be a lot.
But as in my example the RTF outline is created inside TBX it should be fairly easy to make sure, that this can be pasted into the Outline view (developer knows exactly and can control both sides: the supplying and the receiving end).

I guess I will send a feature suggest to give Explode the same “special import” abilities that pasting directly into the Outline view has. Additionally, providing the option of a custom parser for Explode that would allow for respecting indentation would actually allow everybody to resolve such problems themselves for whatever combination of apps they are using.

details about apps I tried, for the curious

I have tried lots of combinations of apps and found that this is a general issue (just as you implied you have in your experience). Got me thinking if there isn’t some unifying framework one could adopt? In this case it does not seem like just trying a different app is an easy workaround.

  • Roam Research seems very good at parsing whatever one throws at it. Not very when copying out of it again (for example TBX RTF outlineRoam works, but RoamTBX Outline view does not).
  • Logseq to TBX works, when using “Copy As” and OPML from block context menu.
  • Notion does not do it either way.
  • Taskpaper (mentioned before) does work as a source, but won’t parse TBX RTF outline (it will however parse outline from Roam Research for example).
  • Apple Notes does create a bulleted list with the correct indents when pasting from TBX RTF outline, however pasting that into TBX Outline view does not work.
  • TextEdit will behave exactly like TBXs $Text editing field
  • Bike (mentioned before) is the only app that plays nicely as a bridge in this very specific case. You can paste RTF outline from TBX into Bike and from there into TBXs Outline view. But it seems to not have soft linebreaks (just a linebreak without a new outline item), which might cause more trouble down the road.
  • WorkFlowy behaves like Apple Notes

You may suggest this to Jesse Grossjean; he’s currently in the process of refining the app and is continually adding features. In fact, I’d be mildly surprised if it isn’t in there already in some form… I haven’t played much with it though.

Far beyond my current action code skillset; however I imagine something approaching this might be implemented through action code, and triggered via the Explode Action pane… though this is conjecture on my part:)

But, why make the outline inside a note and then move it to the outline/ where is the benefit over simply making the outline in the view? Tinkering briefly in a wiki app (in this case Obsidian), I can see scope for confusion as that app only view is the title+text of the note (the title, the source Markdown filename) is auto-rendered. Then again, nothing is Tinderbox’s documentation suggests it works like a wiki/Markdown app.

  1. As you’ve discovered, Tinderbox recognizes tabbed outlines and automatically expands them to outlines. This is so easy that there’s really not much point in hierarchical Explode.

  2. Explode does a nice job for segmenting big blocks of text. You typically restructure the result after Explode, but there are lots of ways to do that. It’s generally easier to just do the reorganization than to describe it — especially as the next one is likely to be completely different.

  3. It turns out that list-styled text looks a lot like a tab-delimited table copied from a spreadsheet. That means the first block will, indeed, be treated as a list of attributes to be applied to the remaining blocks.

  4. This is probably not going to be very reliable. Tabs embedded in the outline items might lead Tinderbox to say, “oh, this is not an outline at all.” So might quotation marks. In the future, Tinderbox may be more strict about missing cells in spreadsheets: we’ve changed this regimen before and might change it again.

  5. The “outline style” in the text pane is fairly feeble. I’m not a fan.

  6. It helps fellow users to explain in more detail what you’re trying to accomplish. It’s also interesting. Are you importing outlines submitted by the concierges of 3 dozen hotels each morning? Or are you studying the 42 outlines in a newly-discovered commonplace book of John Dee?

  7. @mwra: No worries about pasting styled text into the view pane. Tinderbox knows how to convert styled text to plain text.

  8. @rald : Bike is an interesting case. Its notion of outline is extremely permissive: you can move directly from 1. to 1.1.3 with no intervening items. So not all Bike “outlines” can be represented in Tinderbox. (Or in OPML, for that matter.)

  9. @rald : Yes, it would be easy to support this, but would that give you much new analytical or representational insight? The outline view, after all, is right there, and it’s much better at outlining than the text pane.

2 Likes

@eastgate, so noted re RTF→view. I’ll check that’s covered in aTbRef (in the next update).

Looks like I need to extend/update my notes on Pasting into views and RTF (rich text) import.

(I hope any modification for RTF outlines don’t degrade tab-delim table pastes to view as I use that a lot and it works really well.)

BTW, it is for this VERY REASON that I’ve stopped relying on RTF, and if I need to insert structure into the $Text of my note, I either write in typical markdown notation (.e.g, #, ##, ###, *, -) or in my own custom-markdown notation that I then transcribe within my TBX templates.

I get, as @archurhh notes, that there is a desire for many to shy away from “html-ery,” but what I’ve found is that by learning and using “html-ery” I have much more control over my output, and I don’t waste any time at all messing around with the unexpected consequences and manual effort required to mess with anything in the RTF layer. In the end, the initial investment upfront pays off inordinately downstream (not just in content management, but in terms of the intimacy I now have with my content, the control of my thoughts, and output).

No hotel concierges, I work for a physics research group and study engineering. Generally, people around me use outliners more and more. I would like to paste outlines others write.
Additionally, I’d like to paste outlines I wrote on my phone in Apple Notes whilst on the go.

Love that feature! But not the fact, that I have to rely on luck when pasting from other apps (… apps that may be chosen by coworkers, beyond my control).
That is where the idea of allowing a custom parser comes from: it could eliminate all cross-app-paste problems for users who are willing to look under the hood themselves.

Sometimes there will be parts of a note, where a hierarchical structure comes to mind whilst writing. The “outline style” in the text pane allows capturing this structure on the fly. It’s a tentative hierarchical structure that can happily coexist with the unstructured text around it. I guess that is similar to what @archurhh is doing/means:

It takes a bit of pain out of the problem of emergent structure (for me, and @archurhh too, I suppose). It also reduces context switching between Outline and textpane.
Additionally, the sequence of what you entered remains intact. You don’t have to rip a part out of the middle of the note to be able to give it hierarchical structure in the Outline (doing so would either create duplicates or leave a kind of hole in the stringency of the $Text).

Do you share my view of why that could be useful or do you just use this for general formatting :slight_smile: ?

What are the other apps giving you? Two reasonably standard formats are tabbed outlines and OPML. If they want to provide any sort of interoperability, they provide one or the other.

Of course, many developers only want to interoperate in order to kill other products.

Tinderbox users tend to be very highly educated people who routinely undertake very complex tasks. Still, very few of them have ever written a parser.

What this would amount to, in practice, is to shift a class of feature requests — to which we’re really quite responsive — to support requests. Instead of, "could you perhaps add this format?”, it would be, “You’re #$% broken software expects me to write code, and after fifteen minutes my code doesn’t work because this is the worst #%$%#% software ever.”

It’s hard enough supporting Explode!

1 Like

In the case of copying this indented bulleted list from Apple Notes:

I get:

Before the * there is multiple spaces, not tabs. 4 spaces correspond to 1 indent.

I used https://langui.net/clipboard-viewer/.

Edit:
Roam Research gives the same format as Apple Notes, except for having a dash instead of the *.
Logseq actually has a Copy As … functionality in the context menu of each block, that allows selecting OPML, which works like a charm in TBX.