Your question is timely -- in the last year I've started to be deliberate about this, and I've found a solution for myself that works really well.

There are five important parts to my strategy:

1. Each idea gets its own notebook/document.
2. Each idea gets linked bidirectionally from/to its parent concepts. (more on this later)
3. Each concept / parent concept gets its own notebook/document.
4. Each day gets its own notebook/document that links bidirectionally from/to the ideas thought up on that day.
5. Various UI tricks such as hotkeys and "NLU" to make working with the above as fast and efficient as possible.

To sketch the above, I'll give you an example of my workflow on a given day.

I'll often start by going on a walk for 40-80 minutes in the morning. The energy of the morning air, the extra blood flow from walking, and the beauty of nature stimulate various thoughts and ideas.

Once I'm sitting in front of my computer, I press a hotkey Ctrl-Alt-Shift-T, which runs some code to create a "Today" document. The title and file name of the document are, for example, "January 6 2019", and it has a hyperlink within it to its parent document "January 2019". There's a section of the notebook pre-generated called "Ideas".

To create my first idea, I press a hotkey Ctrl-Alt-Shift-N, which is for "create a child document" which will link back to the document it was created from. A dialog box opens asking me for a name/title, so I'll type in a one line summary of the idea "Depression as Feedback Cycle that is Inverse of Entropy". Pressing ENTER, this creates a new document of that name, and adds a hyperlink from it back to its parent "January 6 2018", as well as a link from the parent to the child. I then add a few bullet points to record the essence of the idea.

Now it's time to link the idea to all of its "parent concepts". In this case, the parent concepts are "Depression", "Feedback Cycle", and "Entropy". If I don't yet have documents for those concepts, then I'll press a hotkey Ctrl-Alt-N to create those new documents. Then, from my idea notebook I'll use a hotkey Ctrl-E to create a link to a parent concept notebook. Each time I do this, it prompts me for the name of the parent concept, so for the first one I'll type in "Depression". Upon pressing ENTER, it will add the hyperlink from the child to the parent, but it will also open the parent concept's document and create a link to the child in a "Related" section at the bottom of the document.

When this process is done, I have the following documents that all link to each other:

Parents to children: (and vice versa)
"2019" -> "January 2019" -> "January 5 2019" -> "Depression as Feedback Cycle that is Inverse of Entropy"
"Mental Health" -> "Depression" -> "Depression as Feedback Cycle that is Inverse of Entropy"
"Feedback" -> "Feedback Cycles" -> "Depression as Feedback Cycle that is Inverse of Entropy"
"Entropy" -> "Depression as Feedback Cycle that is Inverse of Entropy"

In addition, I'll add links in the "Related" section at the bottom of the idea notebook to any other ideas/concepts that aren't necessarily "parent concepts" but are related. In this case, I'll press Ctrl-E and then type in "Depression as Thinking Too Much", which create a link to that document, as well as a link within that document to my new idea document.

Why create all of these bidirectional link from child documents to parent documents, and laterally between documents? It's all about "making connections" and making things "findable/noticeable at the appropriate time in the future". Without all of those links, your idea will become an "orphan", possibly never seen / though of again, or hard to find if you only vaguely remember what it was called in the future. On the flip side, with all of these bidirectional links in place, in the future when you're adding new ideas to these same parent concepts, you'll see the link to this idea, and it will make possible a new unexpected connection / aha moment. Being an idea person, you probably realize how ideas are like popcorn -- one pop leads to another, ideas connecting with each other to form richer and deeper understandings of things.

The final piece of all of this is that rather than only giving each concept document a name (for future lookup / reference), I give them a regex like name. So for example, if I create a concept document for "rectified linear unit", I'd actually define the pattern:

"rectified linear unit" | relu

Then from a document in the future, I can link to it by either of the above names. Or, if I simply want to get to that concept fast, I press a hotkey Ctrl-Q, type in a name, such as "relu", press enter, and it appears. (otherwise, if I just called it "Rectified Linear Unit", it wouldn't have been found when I typed "relu")

This system has been working great for me. I've quickly developed a tree/graph of concepts and ideas that are building on and connecting to each other. Any time I have a new idea or learn a new thing, I have a place to "hang" the concept, so things don't get lost.