Learning Tiddlywiki, some input, suggestion, and insight from a new user

Tables

This sounds weird. If you can still replicate it, setting up a minimal example that shows this behavior would help debug it.

One explanation that quickly comes to mind, though a bit stretched, is that perhaps in the content you copy from QOwnNotes, there is some character similar to | in use.

As to managing tables in TW, it depends on how many and how complex you want them. If not so many and not too complex, I’d stick to the default core syntax.

If your notes rely heavily on many big tables, including “dynamically generated” ones, I would maybe consider Shiraz Plugin. See:

  • Shiraz Tutorial → Dynamic tables
  • Shiraz Tutorial → Quick tables → Example simple quick table

However, especially for a new user, I would recommend, if possible, to try to avoid too many plugins and making your notes dependent on those plugins early on. I don’t use the aforementioned Shiraz Plugin due to this exact reason. I think it is very nice, especially the table features, but I don’t think I would use it enough to justify being dependent on it.

Visual exploration of information

You have found part of the solution already.

For hierarchical, handbook-like notes, the tag hierarchy (“TOC” tags “Crop varieties”, which tags “Spring crops”, which tags “Arugula”, which can also be tagged by “Summer crops” if appropriate).
Then, for a very quick visual exploration setup, you could have a Home (opened by default or by pressing home button on sidebar) with <<toc-selective-expandable "TOC">>.
You could have the same thing in a sidebar tab.

Splitting and connecting information

Partial answer and some tips to this complex topic. See a similar recent topic here: How to organize nested time-of-day tiddlers under Journal days

If you have a repeating note pattern like “seeding density; transplanting; watering; harvesting; postharvest” for each crop, it could be beneficial to give it some structure. It will allow you to view this information in a more visually pleasing, organized way.

If your notes on any of this topic are very short, like one line of text, it might be easiest to create dedicated fields, where you type these notes.
You can create a view template which will present these information in a neat way.

If your notes on these topics are longer and more complex, you can split them to different tiddlers. I would recommend “connecting” them by namespace, that is for “Arugula” create “Arugula/watering” tiddler.
See the discussion linked above for more details about a very similar problem.
You can reliably find all “subtiddlers” using filters.
To make your life easier, you could create a view template, displayed for each crop, that transcludes these “subtiddlers” in a table or tabbed UI, and shows button to create the “subtiddlers” that do not exist yet.
Also, if you have Relink titles subplugin, it will recognize such relations (show them in backlinks, rename Arugula/watering if you rename Arugula).

Looks like you need a tiddlywiki markdown plugin. Or a tiddlywiki markdown importer

And of course, don’t be afraid to ask questions here whenever you’re stuck. The inaccessibility of the TW for newcomers is compensated by a very helpful community here.

I just took a look at the qownnotes software. Its storage format is markdown. Maybe you need to migrate the entire markdown folder instead of manually copying and pasting.

Hi Spiffyman. It’s probably not what you’re after but you might want to have a look at https://tiddlymap.org/

Hi @Spiffyman and welcome to the TW community

Here are some tips to soften the learning curve:

  1. Use TW to learn TW. This one you already found by yourself, but my advice is to create a new wiki where you write what you’ve learned on TW. In this wiki, use as many links as possible to official documentation, or to places in other wikis where each technique is implemented. Tip: use permalinks to collect link targets:


    Also, in order to make searching more effective, use your own vocabulary in this wiki and describe what you used each technique for. Example: using the caption field to change the label of your Gardening wiki TOC items.
    In each tiddler text you can also add a “Keywords” section with keywords and synonyms, to help finding information back later. If you don’t want them displayed, hide them inside html comments in your tiddler text, they will still be searchable: <!-- Keywords: foo bar baz -->

  2. Use a dedicated wiki for your tests. When you’re trying to do something new, don’t do it directly in the target wiki, use a test wiki for this, but don’t delete it afterwards. I keep a tests.html wiki just for that, where I try every new technique I want to use in another wiki. I sometimes find it easier to search this testbed than remembering where I used the techniques later. It will also help you to reduce your problem to a simple example, which can then be used to ask for help here.

  3. Collect useful code and plugins in your own customized “empty” wiki. When you want to create a new wiki, all you have to do is copy your empty template and start to work with it.

  4. Don’t be afraid to ask the community here. Even “dumb-looking” questions are important, because they help newcomers to find the answers later, and they help new community members to get involved by solving “simple” problems.

Fred

1 Like

Hello and welcome! You’ve gotten a lot of good recommendations already, so I’m just going to focus on this part:

I can’t recommend the Link to Tabs plugin highly enough, especially when you’re trying to examine the inner workings of your wiki or someone else’s wiki “in the wild.” It will let you open any tab as a tiddler in the story river to see how its code works—I find this is often a lot easier than trying to track down the responsible tiddler via search, especially if you don’t really know what you’re looking for or what kind of naming scheme the author might have used. And since it doesn’t use any Javascript (which would require you to reload after installing) you can drag it into any wiki you find online and start using it immediately.

So if, for instance, I wanted to find out more about the Contents tab on tiddlywiki.com, I’d start by installing Link to Tabs. This lets me open the tab, and I can immediately see that it corresponds to the “TableOfContents” tiddler.

  • I notice that this tiddler has the tag $:/tags/SideBar. If I remove it, the Contents tab disappears from the sidebar; if I add it back (or add it to any other tiddler), a new tab will appear. So I can conclude, even without finding the sidebar tiddler that contains the <<tabs>> macro, that $:/tags/SideBar is the tag used by that tabset, and I can add or subtract tabs as I like.
    • In fact, system tags (the ones that start with $:/) are used to control nearly every element of the UI: you can add them, remove them, or rearrange their contents (click on the tag pill and drag-and-drop titles in the dropdown) to change what displays where. You can search for “system tag” on tiddlywiki.com to get a complete list of system tags and how they’re used.
  • If I edit “TableOfContents”, I can further see that it has a caption field which transcludes the tiddler $:/language/SideBar/Contents/Caption.
    • If I paste this tiddler into the search field in the blue menu bar, I can hit enter to navigate to it directly. Alternately, I can paste it into the sidebar search and hit the Advanced Search button, which will pull up a tiddler with some more options.
      • I can see that this tiddler starts with the system prefix $:/, which means it won’t show up in a standard search. I don’t see it in the System tab either, but I do see $:/core—the plugin that contains all the core TW UI.
      • A plugin is a collection of specially packaged shadow tiddlers, so I’ll try the Shadows tab instead. This is where I find the $:/language/SideBar/Contents/Caption tiddler, and I can edit its text to change the label on the sidebar TOC table. (Since this tiddler is part of a plugin, any changes I make to it will create a normal tiddler—a modified copy that will overwrite the shadow. I can delete the modified version at any point and return to the shadow’s “default” behavior.)
    • Most core tiddlers use this kind of transcluded label to make it easy to switch out if you install a different language pack—but if you’re building a personal wiki for a targeted audience, you don’t need to transclude your captions: you can just change the caption to whatever text you’d like to use.

And as a side note, since we’re already looking at $:/AdvancedSearch

Yes, and yes! The quickest “core” way to do this is with the Filter tab of Advanced Search, which lets you use filter syntax to perform more complicated searches than the default search allows. Filters can get very complex, but you really don’t need to master them right now. Paste the following into the Filter search bar:

[search:caption[Contents]]

You can replace Contents with your search term, and caption with the field you’d like to search.

  • More about the search operator, including more examples which you can test inline or in the Advanced Search.

You can also find plugins to make it easier to search in fields, like this one by @pmario.

If you’d like to be able to view and edit fields in view mode, @Mohammad’s Utility plugin includes a Fields in View Mode toggle, along with some other tools that may make it easier to study and customize your wiki. (This is another one you can install and start using in any online wiki, which may be useful on GrokTiddlyWiki or the official site.)

2 Likes

This website might help: https://www.tablesgenerator.com/

I’m a huge fan of a) tabs, b) using fields to hold information closely associated with a single tiddler, c) view-mode editing, and d) using view templates to standardize and simplify tiddler layouts, so I made a quick demo of how I might approach this problem. This is a very rough and simple example (frankly, I spent more time documenting it than coding it) and quite opinionated, too; it’s only one of many possible approaches, of course. But I hope it gives you some idea of what’s possible.

2 Likes

Regarding the tables: After trying to replicate it again, I was careful to see if maybe I copied the output of the markdown or the markdown itself so I tried both. And doing either did not give the end result that I wanted. So I looked at the markdown carefully after I pasted it and noticed that it never pasted the initial | in any line. It would do the columns and the final | in each line but just ignore the start of line ones. So I changed nothing but add | to the start of each line and it created a table. I’m thinking this must be an error on my computer and nothing to do with TW. Perhaps simple tables are fine as is and that was an unfortunate oversight on my part.

2 Likes

I saw that little sprout symbol when I was looking at the wiki and it really made my day!
I’m still reading through your documentation but so far I like this! Templates look so so useful to standardize types of notes. But reading how to make them is terrifying. I understand it’s just an upfront cost to make it then it just works after. But I’m definitely going to get this in a test TW to play with because your demo was a great example of what I could do.

I’m curious how your tabs are horizontal while the examples I’ve seen are all vertical.

1 Like

I’m so glad it was useful! I vividly recall being intimidated by templates myself; that’s why I thought it might be easier to give you something to play around and experiment with.

I do think it’s worth trying to make a few simple templates upfront. You’ll be doing a major favor to your future self if you haven’t mixed up content and formatting in the same tiddlers, and it will make it much easier to edit and build as your needs change and your skills improve. :slight_smile: My general rule is that if I find myself using the same pattern more than two or three times in different places, it’s something I should take out and turn into a template that I can transclude.

  • In case you haven’t come across any examples yet, you can transclude a template, too!
  • It’s not unlike the other kinds of transclusion you’ve seen: the difference is that tiddler transclusion (like {{Arugula}}, which grabs the content of Arugula’s text field) and field transclusion ({{!!density}} or {{Arugula!!density}}) are used to import content, while template transclusion is used to import formatting.
    • A transcluded template will try to retrieve the values of any transcluded fields relative to the tiddler where it’s used, rather than looking for those values in its own fields.
    • In wikitext, a template transclusion looks like {{Arugula||MyTemplate}} or {{||MyTemplate}}. Both of these will take their basic structure from MyTemplate.
      • The first will use field data from Arugula; the second will use field data from the <<currentTiddler>> (usually equivalent to the tiddler where you used the transclusion, unless you’ve nested it inside a widget like $list. Don’t worry about this yet.)
  • Structurally, this is also how templates work when you apply them with a tag like $:/tags/ViewTemplate—the TW is just handling all the translusions for you.

This is just a function of the CSS I (didn’t) use. To get vertical tabs, add class="tc-vertical" to any <<tabs>> macro. Without it, it will default to a horizontal display.

Sidenote: I didn’t install it in my demo, but I’d also highly recommend the Commander plugin for your personal wiki if you’re not already using it. It’s my favorite tool for batch-processing when I inevitably want to make changes to a whole group of tiddlers at once—add or remove a tag, remove or add a field (empty or prefilled), search and replace content within a field, etc. You’ll probably find yourself wanting to reorganize a bit as your wiki grows with you, and Commander makes it quick and much less painless than editing each tiddler one at a time.

1 Like

Quick question: is it easy to remove a plugin? I stumbled across a plugin called Section editor (Section Editor — create, edit, fold, manage sections) while looking at Commander above. This seems like a nice way to get my notes in as big tiddlers without them getting unwieldy as a stop-gap for learning to break them down further or using mentioned tools in this thread to organize the information differently.

Once I end up doing that, i don’t know if i’d need the plugin anymore as I would create new notes not as giant tiddlers but in the more bite-size manner. If it’s easy to remove, then I could use that to get my notes into tiddlywiki relatively easily so all the info is in the wiki as I am learning how to use it. Not sure if that is a better method than adding it in slowly as I learn the new ways.

I am taking @tw-FRed 's advice and having multiple wikis to test things out, with a maintenance wiki that follows my tests and results for future me (or others if it is useful). So at the moment I will be conservative to what plugins go into the main, final wiki and it’s not a major issue. But I like to overthink things and wonder what happens if a plugin gets old and no longer works with TW as it gets updated to new versions (like dependencies with programming languages). Then I’d need a way to remove it from the wiki or just not update.

So even though I’m using test wikis, it will still be useful to know if I can easily and safely remove plugins. Whether I’m using a plugin that I may no longer need in the future, or it stop working, it’s one of those details that would be good to know for the future.editor).

@Thanasis_Sklapanis thank you for mentioning TiddlyMap.

I honestly have no idea if this could be useful to me. It is quite a novel ‘map’ to me so I can’t picture how it would be used in my wiki. Maybe it is a different way to navigate around and is awesome for me; or it may be for a different usecase than mine. I can’t really try it out until the wiki gets lots of links though, as i think it works by visually showing how things link.

Plugins can be disabled or deleted any time.

Yup, super simple! Locate the plugin in the Control Panel or More > Plugins in the sidebar, click on the title to open it as a tiddler, and then delete it. If you haven’t customized your tiddler toolbar, the delete button may be hiding under the “More actions” button/dropdown at the top of the tiddler.

This won’t remove any “real” tiddlers you’ve promoted from shadows (by editing them), so you may (or may not) want to go through the contents tab of the plugin and delete any non-bolded tiddlers first.

Just stay aware of what exact functionality from the plugins (macros, filters, widgets) are present in your notes, therefore making them dependent on the plugin. It’s easier to explain on some examples:

  • Using Relink only to update links/references when renaming – you can safely remove it.
  • Using Relink’s filter operators to construct some custom elements – it will stop working if you remove plugin.
  • Using Section Editor just to collapse/edit individual sections – you can safely remove it.
  • Using SE to construct the “Patchwork tiddlers” – these will not be possible to display without the plugin.
  • Using Shiraz to create quick or dynamic tables – these will not work after removing the plugin.
  • Themes, palettes, and plugins that create their own UI for all they do like Auto Complete or Command Palette can be safely removed.
4 Likes

Here’s a vote for @etardiff to write up the next iteration of “Templates - The Missing Manual”.

:trophy:

3 Likes