How to keep certain tiddlers private and gradually reveal them to the public

Hello,

I just created my first TW, which is still private but I’d like to turn it into public soon.

However as I write my tiddlers little by little, I find the vast majority of them is not worthy to be public.

I would like to be able to decide which tiddler can be public, when I feel ready to share them.

Is there a way to a achieve that?

By maybe having all my tiddlers private and than tagging those that I judge ready to be shared by “public”?

I noticed Soren’s tiddler on his wiki are all tagged with “Public”. Is it how he does it?

Thanks a lot!

Martin

Hi Martin,

Welcome to the community.

With a single file wiki, there is no reliable way to “hide” certain tiddlers from experienced users.

With reliable I mean. If you want to hide something from a TW developer, the only way to do it is: “remove it” or “encrypt” it.

Since single file wikis can only be encrypted as a whole. The only way to go is. “remove it”


I think the simplest way to achieve what you want is to go with 2 wikis. 1 private and 1 public.

As soon as you think your text should be public, you can move it form the private wiki to the public one. From then on edit it there if needed.

Thanks a lot for your answer, I’ll sleep on that!

If you only need to “hide” something the “simple way” you can make a tiddler a system-tiddler. System tiddlers are hidden by default from TW UI lists

Eg: $:/_/about-something … This tiddler will not show up in the Recent tab of the sidebar but it will be easy to find with the Advanced search UI.

Every tiddler that starts with $:/ is treated as a system tiddler. I did use _/ as a placeholder. So it can be what ever you want

I would create a custom button to export a public version of the wiki and publish it, stripped from private tiddlers. You could use this:

\whitespace trim
\rules except wikilink

<$wikify name="site-title" text={{$:/config/SaveWikiButton/Filename}}>
<$let publishFilter="""-[tag[private]]""">
<$button tooltip="Download a public standalone wiki" aria-label="download full public wiki" class="tc-btn-big-green">
<$action-sendmessage $message="tm-download-file" $param="$:/core/save/all" publishFilter=<<publishFilter>> filename=<<site-title>>/>
{{$:/core/images/download-button}}
<span class="tc-tiny-gap-left">
Download full public wiki
</span>
</$button>
</$let>
</$wikify>

Mark the private tiddlers with a “private” tag.

You could also use the command line, Soren use a tool he built in python:

Builders — tzk 0.5.0 documentation

This is more involved but allows for automation.

5 Likes

A vanilla instance, yes. There is a plugin that uses the sjcs.js tiddler to encrypt individual tiddlers.

It requires you to keep the same title and remember the password, so in practice, two keys.

But I do agree with you none the less that really, the safest option is to simple export it from the wiki, if you worry about someone reading the contents of said tiddler.

This is a nice idea.

1 Like

My wiki https://wiki.onetwo.ren/ only contains 1481 public notes, but has 13942 notes in total when using it on my PC. Where public and private notes can link to each other.

Simply add a tag “Private” or “Public” can switch the visibility.

In TidGi app, I provide out-of-box way to do this. See its doc. It is a nodejs wiki, you can use same technique in nodejs wiki if you are a tech expert.

1 Like

If it’s just a matter of what’s clearly displayed to web visitors, you might consider one of the ReadOnly solutions. These hide all editing interfaces, and easily change what people see, when the wiki is viewed online (rather than in TiddlyHost logged-in mode, or via file protocol).

I love it for a constantly dynamically-edited wiki, because I have no separate “publication” step, but I always see the stuff I need for editing and drafting and organizing, and my viewers never see it (unless they’re peeking at source, etc.)

See this thread: https://read-only.tiddlyhost.com/

It’s true that all of my wiki can be seen by a determined hacker, except any tiddlers that are encrypted… (which you might consider if you need that). But the readOnly solution is plenty good enough for ordinary web visitors to be shown only what I want them to see, and not to be distracted by things (not only tiddlers, but GUI elements specific to editing) that are not there for them.

Also, here’s a link to Encrypt Tiddler plugin.

Hi,
I’ve tried the second method. It does hide the editing interface but I want to control wich tiddler I want to show. Is it possible to achieve that with that method or do you use the Encrypt Tiddle plugin for that?
Thanks!

@Kartoushh how do the tiddlers come to be seen?, I mean is it already open?, is it opened from the contents?, was it found using the search?

Unless a user can find the title they can’t open it, so I am sure we can do other things to make your unpublished tiddler not be listed and thus not opened. However when you are using the wiki you don’t want this to get in the way.

The easiest way is to make them system tiddlers and rename and remove the $:/ when ready to publish. If you call them $:/draft/tiddlername then even if a user finds it they will guess its not ready to take seriously.

  • We could make a button, only you can see, that allows a click to add/remove the $:/

I don’t like the current way that involves “fileSystemPath”, it is too complex for most of users.

I’m always looking forward for “multiwiki server” update in tw core to separate private and public tiddlers, anyone can be sure on this?

I am confident you could use the bags to control one set of tiddlers vs another. What tools allow tiddlers to be moved between bags is the next question.

how do the tiddlers come to be seen?

They can be seen through search and thought internal links of other tiddlers.
Also I’d like my visitors to be able to see the sidebar.

The easiest way is to make them system tiddlers and rename and remove the $:/ when ready to publish. If you call them $:/draft/tiddlername then even if a user finds it they will guess its not ready to take seriously

Hey that seems easy enough! So far I like it, thanks a lot!

How to do that? :face_with_monocle: