Open in new tab, sorting, embedding, separators and other "improvements"

Piotr you are the absolute best! I love the counter idea and I am glad you like the numerical variable idea, I think it could be extremely powerful - in combination with your sort feature I will never need to use spreadsheets again!

Don’t kill yourself to get any of this done quickly, you are working for free and we can wait! :slight_smile: :slight_smile:

1 Like

Sorting by tags

update https://greasyfork.org/pl/scripts/30048-dynalist-powerpack


simple tag
#[sort|by:tag(#test)]


multiple simple tag
#[sort|by:tag(#test)+tag(@office)+tag(#whatever)]


pattern matching with *, you can put * in any place within tag, multiple times, so for example.
#[sort|by:tag(#*te*st*)+tag(@office)]
will match things like: #test, #test2, #2test, #2te2st2, #te-st, #teeeeest, etc

with pattern matching it will be not only sorted by moving items with matched tag at the beginning/end of list, but also will be sorted by those matched results (omg, english is hard, sorry), for example:
#[sort|by:tag(#week*)|order:desc]
with items with tags: #week01, #week02, #week03 will always result in this order:
#week03
#week02
#week01

all of this can be mixed with previous functionality, so it’s possible to do crazy things like #[sort|by:color+tag(#test*)+date+tag(#m-*-whatever)|order:asc+desc+asc+desc]


copy that list to your DL if you want working examples https://dynalist.io/d/3vO_Sdo9KRUQO_ZSTN7OfcUL

can one of you write a description for all of that sorting related things, so I can update description in settings (popup)? My english is bad for such complex things :slight_smile:

3 Likes

I’ll make a short guide later when I test out all the tag sort features :slight_smile:

Thank you Piotr this is awesome! What you wrote wasn’t bad english actually but I’ve improved it here and there below for the description (the matching automatic sort was quite difficult to explain!):

Feel free to completely change mine, I’m sure it could be a lot better!

Ok, thanks :slight_smile: If you want to add something to that description @Vincent_Tang please do, but remember that this is for small popup with settings, it needs to be as short as possible :slight_smile: Or maybe better would be to place there link to longer guide with examples in this topic.

Piotr I put the guide below

Some of them were too complicated to explain so I just left the examples you used. Other ones are straight forward enough with a oneliner explanation

okay here’s the short sweet version

Sorting

Assign a #[sort] tag at parent list to create a button that sorts top level child nodes

This does not sort child of child nodes

✓ Active - Shortcut for marked items: ctrl+alt+e

✓ Enable autosorting - Automatically apply sort rules when dynalist reloads

✗ Examples

Sorts can be specified with ASC (ascension sort) or DES (descension sort)

Sort children by tag
#[sort|by:tag(#test)|order:asc]

  • Nodes ONLY with tag #test will go to the top of the list (tags like #test3 are not inclusive)

Sort children by multiple tags
#[sort|by:tag(#test)+tag(@office)|order:asc]

  • Nodes ONLY with both #test AND @office will be sorted to top of list (tags like #test3 are not inclusive)

By tag with pattern matching
#[sort|by:tag(#week*)]

  • Nodes with wildcard tags from week#* such as #week01, #week02, #week03 are sorted in alphabetical order at top of list

Sort children by multiple tags with pattern matching
#[sort|by:tag(#week*)+tag(#day*)|order:desc+desc]

  • Sorts by #week* tag first descending, then by #day* in descending order.
  • Example after sorting:
    #week22 #day12
    #week22 #day11
    #week10 #day24
    #week10 #day22

Pattern matching with “*” can be applied in any position and even multiple times within tag
#[sort|by:tag(#a-*-b-*-c-*)|order:asc]

Example after sorting:
#a-01-b-01-c-01
#a-01-b-01-c-02
#a-01-b-02-c-01
#a-01-b-02-c-02
#a-02-b-01-c-01
#a-02-b-01-c-02
#a-02-b-02-c-01
#a-02-b-02-c-02

Sort children by item “created” metadate and order ASC
#[sort|by:created|order:asc]

  • When a bulletpoint node is created in dynalist, it is timestamped.
  • This sorts all children so the most recently created ones sit at top (ASC order)
    EDIT @PIOTR, this is sorting the wrong way compared to one above (created-date), please check
    EDIT EDIT: this works as intended, was error on my part

Sort children by item “last-edited” metadate and order ASC
#[sort|by:edited]

  • When a bulletpoint is edited in dynalist, it is timestamped
  • This sorts all children so most recently edited sits at top (ASC order)

Sort children by A-Z and order ASC (these are default settings)
#[sort]

  • A would sit at top, Z at bottom of list

Sort children by A-Z and order DESC
#[sort|order:desc]

  • Z would sit at top, A at bottom of list

Sort children by numbers and order ASC
#[sort|by:number]

  • 1 sits at top of list, 99 would sit lower

Sort children by numbers and order DESC
#[sort|by:number|order:desc]

  • 99 sits at top of list, 1 would sit at bottom

Sort children by colors and order ASC
#[sort|by:color]

  • Color tags order from top of list to bottom sort: RED, ORANGE, YELLOW, GREEN, BLUE, PURPLE

Sort children by colors and order ASC
#[sort|by:color|order:desc]

  • Color tags order from top of list to bottom sort: PURPLE, BLUE, GREEN, YELLOW, ORANGE, RED

Sort children by date and order ASC
#[sort|by:date]

  • “!” date tags. Older dates sit at top, newer dates sit at bottom

Sort children by date and order DESC
#[sort|by:date|order:desc]

  • “!” date tags. Newer dates sit at top, older dates sit at bottom

Sort children by date + A-Z and order ASC + DESC
#[sort|by:date+alpha|order:asc+desc]

  • “!” Older dates sit near top, then sorted from Z to A order top to bottom.
  • “!” Newer dates sit at bottom

Sort children by date + A-Z and order DESC + ASC
#[sort|by:date+alpha|order:desc+asc]

  • “!” Newer dates sit at top, then sorted A to Z order top to bottom
  • “!” Older dates sit at bottom

Sort children by colors + A-Z and order ASC + DESC
#[sort|by:color+alpha|order:asc+desc]

  • Colors are sorted first top to bottom (Red, orange, yellow, green, blue, purple) then by Z to A order top to bottom.

Sort children by colors + dates and order ASC + DESC
#[sort|by:color+date|order:asc+desc]

  • Colors are sorted first top to bottom (Red, orange, yellow, green, blue, purple) then by Newer-to-Older Dates top-to-bottom

Sort children by colors + dates + A-Z and order ASC + DESC + ASC
#[sort|by:color+date+alpha|order:asc+desc+asc]

  • First, Colors are sorted first top to bottom (Red,orange, yellow, green, blue, purple)
  • Then, Newer-to-Older dates top-to-bottom
  • Finally, Z-to-A order top-to-bottom

Sort children by colors + dates + A-Z and order DESC + ASC + ASC
#[sort|by:date+color+alpha|order:desc+asc+asc]

  • First, Newer-to-Older dates sorted top-to-bottom
  • Then, Colors are sorted top-to-bottom (Red,orange, yellow, green, blue, purple)
  • Finally, A-to-Z order top-to-bottom

Sort a fragment of a list

  • Inside of parent list with children nodes, apply a starting point #[sort|start|by:color|order:desc]
  • and an ending point #[sort|start|by:color|order:desc]
  • to selectively sort ONLY SOME of the children nodes

Example:
✪ Parent
✪✪ this will not be sorted
✪✪ this will not be sorted
✪✪ #[sort|start|by:color|order:desc]
✪✪ <everything here is sorted by color (purple, blue, green, yellow, orange, red order)>
✪✪ #[sort|end]
✪✪ this will not be sorted
✪✪ this will not be sorted

Auto sorting
#[sort|auto|by:date|order:desc]

  • Apply the sort code to automatically sort when dynalist is refreshed.
    PIOTR, does the system settings at autosort need to be applied here? or does this work individually per bulletpoint → didn’t seem to work for me, needs clarification


here you go piotr short description of everything, I used as few words as possible to explain everything

there’s some issues and errors not clarified as well during my tests

By the way if you wanted the markdown rendered paste here it is as well

https://pastebin.com/59sMPjsy

1 Like

Thanks :slight_smile:

What do you mean by wrong way?
asc - new item / newest update will be at the bottom
desc - new item / newest update will be at the top
it should and it’s working that way for me, do you see different results?
EDIT: I’m talking here about my own documents, the shared one with examples was copied from different document and because of that all items have identical timestamps, maybe you are referring to that?

When enabled, it works like normal sort, but is applied automatically with each document refresh. And also most of the time when one of items to sort is being unfocused (this is buggy and sometimes don’t work, I don’t know yet how to make it to be more reliable, but the button is clickable and manual sorting should work in that situation).

okay nevermind I think this was an error on my part. I misread the ASC and DESC on one of the lines

I’m starting to incorporate some more sorting functions right now

right now when I take notes from a textbook I find the sort by number helpful, I write what page number of notes im taking. Sort of like a bookmark

  • 99 : lorem ipsum

  • 89 : lorem ipsum

Then I can sort page number order. Optionally use colors to table of contents organization, etc

Piotr do you have any plans to implement multi-sorts for one list still?

New version & new feature: Set background / border / font color for item and all its children


installation / update: https://greasyfork.org/scripts/30048-dynalist-powerpack

guides and examples: https://dynalist.io/d/pTUCqlG4v4dv_5D1bK03Bz4P


before activation:

after:


I have intention to do that, but I don’t know when or if that will be even possible with my skills

3 Likes

Beautiful. I like how the tags disappear as well. Now I have to think of a good use for it.

this is awesome @piotr this is going to be a game changer for me using color tagging. Im going to give each doc I have a unique color feel so i can identify them faster.

BTW, I thought of another really good and related feature to this color tagging

In workflowy you could specify a background theme

Like wood, steel, white doc background etc

How about if you assign a tag on the parent list view (the one you are currently zoomed into) to change background of doc?

You could do this with CSS but tampermonkey, this would make it easier to customize on the fly.

I have too much to do with features more important for productivity, it’s unlikely that I will come back to styling, sorry

okay thats cool just wanted to throw suggestions out there anyways :slight_smile:

EDIT btw could you have the sorting function include support for items with things crossed out?

That’d be super neat to use with the embed codes

yes, in the next week

1 Like

btw @piotr just wanted to say thanks for the color tagging (its going to be my most used feature in the powerpack) . it makes taking notes on really big file structures SO much easier now

That + github + your code syntax plugin means I can easily take notes on something even if its a program thats 100,000 lines long

Following software tutorials / reverse engineering software is going to be sooo much easier now thanks piotr :slight_smile:

3 Likes

Piotr I thought of another idea related to coloring

I use the bulletpoint’s note a lot, when I condense course notes. Example:

It would really like a selective way of coloring only the bulletpoint’s note

Selection would be made right from the bulletpoint itself. Like #note:lavender or something.

Or maybe on the parent list of all of these, assign something like #note:lavender so all children’s bulletpoint notes have it. Also, it would override things like #bg:yellow too

That would be super neat

I might make it myself later though if you don’t do it, I can see myself using it on every course I take after I finish this javascript course

P.S. unrelated note. I use your multicode syntax color thing pretty much everyday, its super wonderful :slight_smile:

EDIT :

I think the user should be able to select whether #note:lavender applies to both the bulletpoint and the note, or just the note in the powerpack settings too

I’m leaning more towards “note+bulletpoint” looks cleaner to look at (see last pic)

Also I think the coloring of the note… should only be as long as the color tags.

Possibly even a slight border and or box shadow to it (optional). Also, everything on the bulletpoint and stuff below it should be white.

It reminds me of catalog design almost. I have some sample well-known brand hard copy catalogs actually following this style of design

Example:

EDIT EDIT I just realized on vertical monitor the colors don’t line up properly though.

Probably should look like this instead

1 Like

Piotr I noticed with #[sort|by:edited|order:desc]] to sort by most recently edited items, it only works on the child bulletpoints, not children of children bulletpoints

I think this sort should look at the latest item edited in that area. Example:

B should sit at the top when I typed in asdfasdfasdf on B’s child bulletpoint after pressing the sort button

C when I added zzz sorts as intended

I’ll modify your script later probably to reflect the new change, albeit it might require adding lots of new code though

I disagree, it’s clear now that all possible sorts are applied to first level children. When you modify that behaviour for your one specific use case this whole thing will become inconsistent. You can think about new way to implement sorting by children of children of children of … and build/extend syntax and UI for specifying which level items must be considered as candidates to compare. It would be very useful to have this in this script, but I have no time to do this myself, I can merge your code if you wish and if you can build that.