Cloning in the outline

How hard would it be to add the following feature: allow the sequence field to be a list instead of a single value and have the note appear in multiple positions based on the values in the list? This will allow a note to be cloned in the outline view and also potentially in the list view when sorted by sequence. Cloning a note has advantages over duplication as any changes are immediately present in all the cloned copies.

I may be misinterpreting your request, but have you thought about configuring your Note IDs to accommodate files with the same name (in your case Seq would be a good auxiliary field, I think), selecting a note to be your “base” note and then including
this base note in whichever notes you want to have its contents appear in?

Hope this helps.

1 Like

I have included notes in other notes, but I haven’t used the same title with the Note ID config that you describe. That’s a good idea, thanks! In general, including another note is a convenient and very useful feature of Notenik.

However there are two drawbacks:

  1. It does require a bit of extra work for every inclusion compared to adding a single entry to an existing field.
  2. The included note is not editable directly from the edit tab and one can’t go to it that easily from the note in which it is being included.
1 Like
  1. Try this out: Granted it may take some effort, but you could assign a Class field type for every “Base note” and pre-populate the Class template’s body with the necessary include command

    • Or use a third-party utility (e.g., Keyboard Maestro, TextExpander) to speed up the process. Any shortcut/text expansion/snippets features in whatever text editors you have handy may help also
  2. If possible you can also pre-populate each corresponding Class template described in step one with a Notenik URL to the base note. Or place the link to the base note in the body of the Class template. This may satisfy your objective to add a single entry in an existing field, albeit in a fashion different from your specific intentions.

    • Or use an app like Hookmark to add bidirectional links between the Base note and all Included replicants. It’s on sale this month if you’re interested.

A maverick proposal

This definitely verbose and possibly incoherent but I put too much work into thinking it all out to disregard it. I’m sorry.

An additional suggestion, more esoteric, would be to place all these alias notes in a subfolder that you can work in parallel to your main collection (i.e., have 2 collections open when editing the notes you want the reoccur in your sequence of notes).

With some crafty template and script writing you may be able to make so that a single instance of the note that you want to appear more than once in your main collection can be propagated into this parallel collection/subfolder so that every time the parent note changes, identical notes are generated in this parallel collection.

If you get the sequencing right [1] you can have these propagated notes inserted into the parallel collection in such a way that they can sit beneath the parent note if you use a Outline or or Sequenced collection template as as scaffold, appear in your main collection automatically, and if you mirror the parallel collection’s notes this process can be done automatically with every save.

So long as you only edit the parent note in the parallel collection, or edit the parent note in the main collection, and then are sure to either have the script and template integrated in the mirror configuration for your main collection or initiate the mirroring process in the parallel collection itself. [2]

This idea is just me shooting off the hip in demonstration of some of my impression of Notenik’s more arcane strengths. I’m not even sure that it would work. I think it could.

I’m down to collaborate and try it out. Although after thinking this through it would be nice to have a feature similar to Tinderbox’s use of Aliases. I think that would achieve precisely what you want to do.


  1. Which will probably require a well thought out (read: Complex) use of the set command and the undocumented count variable that I frequently find myself snooping through Herb’s own merge templates to get right myself. ↩︎

  2. Think of it like mitosis, where the collection is the body, or organ, whichever, that contains the cells (your notes) that are being divided into identical iterations of itself, just not always in pairs. Granted, biology is not my forte. ↩︎

Well, the Tags field, and the Tags tab, are specifically designed to support this sort of “cloning,” if I understand what you are asking for. But supporting this on the Seq field would introduce a whole new level of complexity for that field, and I’m not sure it would be justified. Would you mind sharing a use case you have in mind? I can’t really visualize what the contents of a Seq field would actually mean in this sort of scenario.

One use case I have in mind is for making lecture notes. I already use Notenik’s outliner features for doing this.

One could prepare a set of notes which are arranged according to topic in an outline using the sequence field. Then I would like to arrange the same notes again to prepare the notes for a particular lecture, pulling in the topics that I might want to talk about in that lecture in the right sequence. The underlying notes could appear in more than one lecture.

I can see why implementing this might introduce a fair bit of complexity. I use the outliner for arranging notes without using the “level” fields and this works just fine for me.

Here is an example of what I am talking about. Let’s say I am preparing notes for a course on the theory of computation.

  1. Topics

    1. 1 Finite automata
      1.2 Uniform computation
      1.2.1 Turing Machines
  2. Lectures
    2.1 Lecture 1: Introduction to the course
    .
    .
    .
    2.4 Lecture 4: Intro to Turing Machines
    2.4.1 Turing Machines

I imagined that if I could assign the note “Turing Machines” the sequence field value:
seq: 1.2.1, 2.4.1

then it could appear twice in the outline tab, as is possible in the Tags tab and can be edited in place, i.e., one can click on the note and go to the edit tab.
There are many other features associated with the Seq field like drag and drop, incrementing the seq value for a range of notes, etc., which might make implementation of this complicated, but perhaps all of the other commands and functionality could be associated with just the first value of the sequence field if it has multiple values.

I have been using the “include a note” feature so far and that works, but has limitations. In addition to not being editable a place, like in the Tags tab, and a little more friction in generation, the markdown report generated from notes which include another note have the include note instruction, rather than the included note, so it requires a little more processing to convert to a markdown file for a particular lecture.

An alternative which would also be helpful for me would be to allow fields which have wikilinks, so that one can navigate to the included note from the Display tab. This will make navigation to the original note easier without introducing a link to the note in the body itself which would make it somewhat clunky.

Thanks. I will think more and try out some of your suggestions. I haven’t used Tinderbox, but from what I gathered from the documentation, its use of Aliases seems pretty close to what I am looking for.

Thanks for sharing the use case. That makes a lot of sense!

Let me see what I can do.

(And BTW, you can create other fields of type longtext and I’m pretty sure wikilinks in such fields will work. Let me know your results if you try this out.)

Thank you! That’s really useful and good to know. Yes, wikilinks do work in longtext fields.

1 Like

Another idea that occurred to me is to perhaps introduce another field, say “clones” or “additional seq” which like the tags field allows for a list of values and which are used to determine additional spots for the note to appear in the Outline tab. Then, the current functionality associated with the sequence field can perhaps be left mostly untouched.

1 Like

See the latest beta. Definitely not complete, but I’ve got a healthy start on this!

Thanks! It seems to work exactly as I had hoped in my limited testing so far!