Modest article writing idea

Hi everyone

Here is an idea for those who write articles that transclude a number of tiddlers: Have an article organizer tiddler separate from the article tiddler.

The article organizer would have this: <<list-tagged-draggable tag:"yourarticletag">> This allows you to:

  • see at a glance the blocks or sections for this article
  • open them to edit them
  • drag to rearrange them

The article tiddler can be the usual list of transclusions: <$list filter="[tag[yourarticletag]!tag[unf]]"><$transclude field="text" mode="block"/></$list>

(the '!tag[unf]` part is optional, in case you want to use an ‘unf’ (= unfinished) tag to maintain a list of the unfinished sections that you still need to write for the article)


When setting up an article like this, or other writings you’ve prepared, are you aiming to use TW mainly for organizing thoughts and laying out the text — one independent article at a time?

To try to clarify, do you try to create blocks/sections for your writing that can be re-used easily, or do you start fresh and use past information more as a reference rather than strictly re-usable building blocks?

I ask because in my experience, the ideal of being able to (easily?) re-use past content in future writing doesn’t work out. Even in the best circumstances I end up rewriting content to fit individual contexts and have different versions of essentially the same text.

All that said, I do not do much content creation. I’m currently trying to find a good workflow for assembling procedures documentation info. Breaking out individual process steps is easier than what I immediately think of for “article writing” and writing longer paragraphs of content. This is where I can see your idea as strictly a per-article organizer.

I’ve done something similar, reusing the article title as a tag, so it’s not separated:

<$list filter="[tag<currentTiddler>!has[draft.of]]">
  <h2><$link><$view field="caption"><$view field="title"/></$view></$link></h2>
  <$transclude field="text" mode="block"/>

Note that the caption/titles are links to the tiddlers, so it’s easy enough to edit individual ones.

I will also sometimes tag the article with its own name, as it’s nice to be able to rearrange from within the article. We just need to add -[<currentTiddler>]:

<$list filter="[tag<currentTiddler>!has[draft.of]] -[<currentTiddler>]">
  <h2><$link><$view field="caption"><$view field="title"/></$view></$link></h2>
  <$transclude field="text" mode="block"/>

This has the unfortunate side-effect, though, of adding the title to the draggable list. It’s a minor annoyance, and I haven’t found any good way around that. But I find this a useful technique.

You can drag this to some wiki to see it in action.
MyArticle.json (916 Bytes)

1 Like

Hi Brian, I use this set up to write one time articles I export to static. Very rarely do I reuse blocks, but if I were to do so, it would just mean an extra tag. This might work for your use case. I use new buttons in page controls for articles organizers and blocks. Saves a lot of time.

Hi Scott

Yeah I am avoiding the whole caption vs title issue by only transcluding the text field. If I need a header I add it in the text. I use English tiddler titles and Spanish headers.

I thought I would like dragging in the article but found it easier to see the big picture with the organizer as I am dragging things.

Hi Dave

Can you think of a way to toggle the display of Titles on and off?


Hi Steve, if you go the tags route mentioned in a reply above, you could do it with two macros, one with the title and one without, and a toggle button from the sidebar that removes $:/tags/Macro from one, and adds it to the other. I am on a 4 hour bus ride and can’t go into detail. Search for “toggle macro” in this forum, maybe perhaps even with my username, and you should find examples.

1 Like

You may try the Section Editor for this purpose. Look for Patchwork tiddler example, where a se-type field accept a filter to select tiddlers to be included in your article. The patch tiddler also can be customized to show other fields in addition to text field of block tiddlers. You can even edit them in place. The tutorial has examples and explanation.

1 Like

Thank you Dave - safe and happy travels

1 Like

Thanks, Mohammod, I’ll go though the tutorial.

In other places where I’m not automating the transclusion, but am actively transcluding the tiddler in multiple places, I end up repeating the headers above each transclusion, but this is necessary, because I often want different headers and sometimes none at all.

The technique above is mostly for when the pieces are not particularly independent – lightly reused at most – but mostly just a way to break apart larger content. I know there are some tools out there for this, but I’ve yet to try them.

1 Like
  • This stands for me as a general rule as well,
  • but blocks will be useful in some cases;

The idea of reusable blocks is a powerful one, but it really depends on what the content it is you are writing. If it is usually somewhat bespoke, it may not be of much value, or you may drop a copy of a block in, and modify it.

The kind of case where it may be very valuable, is when you are responding to a particular subject area, for example if you supported a particular application. Each time you answer a question you can save your answer into reusable blocks because you are confident, they will be used more than once, perhaps your wiki includes a manual, cheat sheet and command syntax readily available for composing subject specific replies.

  • This is an example for where TiddlyWiki with a specific function makes sense, keeping it separate from other wikis so its scope is restricted to the area it addresses.

I am not sure if I will go so far as to do it, but I am trying to see if there is sufficient value in using this approach, to compose Cover Letters for Job applications. At the moment each one takes me hours.

1 Like

Mind … blown. I have no idea why I didn’t think of this. but yeah this is a great tip! thank you!!

1 Like

For sure, I’ll have to try setting this up as a Sidebar tab to keep onscreen