markdown-outline-helper
1) Intro
1.1) A minimal markdown outline helper to convert between list and headings, convert hierarchical list into flat items, and to sort hierarchical items
2) Motivation
2.1) I use VSCode a lot, and with multi-cursor, I can change almost anything I want in a breeze.
2.2) Except for the following cases...
2.2.1) Generate ordered list with hierarchy prefix (like this --> 3-1; 3-1-2...)
2.2.2) Convert hierarchical items into flat items (e.g. " - child" (beneath the "- parent") --> parent/ child)
2.2.3) Sort child nodes in a hierarchical list
2.3) A practice project (node.js, typescript, unit test, vscode extension api...)
2.3.1) Hence, I didn't do the market research before starting
3) Demo
3.1) Toggle between list and headings
3.2) Sort hierarchical list
3.3) Convert hierarchical list into flat items
4) Proposal
4.1) Apply to the outlines where the cursor is located
4.1.1) Should expand range automatically to match the range of the outlines
4.1.2) NO PLANS to implement multi-selection
4.1.3) NO PLANS to implement multi-block detection
4.3) Convert between list and heading (for github readme)
4.3.1) With customizable indentation
4.4) Convert hierarchical list into flat items
4.4.1) With customizable delimiter
4.4.2) Ignore LogSeq tokens, skip block references by default
4.4.3) Strip off LogSeq hierarchies (i.e. ~~tagA/ tagB/~~ tagC)
4.4.4) NO PLANS to do bi-directional conversion
4.5) Sort hierarchical items
4.5.1) Order by ASC or DESC
4.5.2) Sort until target level
4.5.3) Sort without LogSeq tokens
4.5.4) ------- (Optional) Below items are advanced features -------
4.5.5) Case-sensitive sort options
4.5.6) Skip sort on certain items
4.5.7) Decide which level to sort or not
4.5.8) Sort with customizable priorities
4.6) Code Implementation
4.6.1) Use Typescript
4.6.2) Build unit tests
4.6.3) Should use modular design
4.7) Code Deployment
4.7.1) Should go on marketplace
4.7.2) Should try GitHub Actions and Codecov
| |