custom build target?

140 views
Skip to first unread message

Spencer Wilson

unread,
Aug 25, 2019, 10:19:02 AM8/25/19
to TiddlyWiki
new TW5 user here, really awesome concept and i'm excited that the community is so active. i'm hoping that TW can help me organize my notes for personal projects, academic work, and documentation all in one customizable, open-source platform.

i have a question which i searched for but was unable to find, however this might be because im still learning the abstractions of TW.

my use case: i would love to use several wikis for different projects such as a blog, an academic work, or creative writing. however, i would like to use the TW interface for content creation and the publish that work to my site in a dynamic format (like what is created with `build index`) although using specific filters, settings, and themes.

i think what i'll need to do to achieve this is to create a custom build target (such as `tiddlywiki --build my_project_documentation`) where in that build i write a custom filter to grab the tids i want to be included in that published version.

i am a little unsure how to generate the published form of this content with certain settings (e.g. hide the edit buttons, or all buttons, and change the appearance of tids). what exactly do i need to create "from scratch" and what has already been thought through for this use case.

that is, i basically want to use TW in "edit mode" with all the functionality, and produce a "published mode" with the appearance tweaked how i want and filtering for the tiddlers specific to that published version.

hope this makes sense and you all can provide some pointers for where to get started! really amazing project. excited to learn more and give back to the community.

thanks

spencer

scot

unread,
Aug 25, 2019, 10:55:07 AM8/25/19
to TiddlyWiki
Hello Spencer Wilson,
you may be interested in this link.

http://publish.tiddlyspot.com

Spencer Wilson

unread,
Aug 25, 2019, 2:54:30 PM8/25/19
to TiddlyWiki
hey scot, thanks for this-- it appears to be tied to tiddlyspot. perhaps i can reverse-engineer it, but my hope is to find a way that works with TW core...

TonyM

unread,
Aug 25, 2019, 8:51:10 PM8/25/19
to TiddlyWiki
Spencer,

People are already doing similar things already and there are a number of approaches.

You could take an empty tiddlywiki and craft it as your published site and design it so you can drag and drop import content. You then copy overwrite the public copy.

You could generate and save or export static tiddlers or html from your wiki to your published site.

Personally I am interested in using the innerwiki plugin that sits on v5.1.20 to generate lesser wikis from a master wiki.

I suppose key details that will influence the approach you take includes

What server platforms do you have available?
Is any interaction with visitors required on the published site
Will content change hourly, daily or weekly
Do you want users to interact with the website
Do you want users to be able to customise their experience on the site

Not withstanding the apparent complexity I believe we can develop a few methods for publishing content that will satisfy most peoples needs.

Regards
Tony

Spencer Wilson

unread,
Aug 26, 2019, 6:12:53 AM8/26/19
to tiddl...@googlegroups.com
hey tony, thanks, this is very helpful.

i am most interested in this innerwiki idea, as my ideal requirements are something close to:

- dynamic activity for the client, such that tids are searchable over text and tags, as well as reconfigurable to generate arbitrary story rivers
- i expect content will change from daily to weekly (a blog timescale)

as far as platform, i will start with hosting on my personal server, so i have complete control there.

it's worth mentioning that i am interested in paths to static sites (for hosting on github for example) where the layout and appearance of the static published version of the site is very different from
the working version of the wiki. open to information on that path as well, but happy to keep this discussion focused on generating "clean" dynamic sites.

it sounds like what i'd like to achieve makes sense, which was my original question-- to use TW almost as a CMS to generate dynamic sites such that from a master wiki (or several) many sites can be generated with particular looks, feels, and curated content.

thanks tony, look forward to your thoughts on where to go next
> --
> You received this message because you are subscribed to a topic in the Google Groups "TiddlyWiki" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/tiddlywiki/thLY0PkgLKk/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to tiddlywiki+...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/a38c8fe0-7dbb-4344-a8f4-a3d07a749a77%40googlegroups.com.

TonyM

unread,
Aug 26, 2019, 8:59:26 AM8/26/19
to TiddlyWiki
Spencer

Can you use node for your server? It can automatically create static tiddlers dynamically. The template for which could be modified.

Regards
Tony

spencer wilson

unread,
Aug 26, 2019, 10:04:53 AM8/26/19
to tiddl...@googlegroups.com
yes! sorry, i should have said i am using node and the “--build index” function to generate the single-file wiki.

that command is:

```
"build": {
"index": [
"--rendertiddler",
"$:/plugins/tiddlywiki/tiddlyweb/save/offline",
"index.html",
"text/plain"
]
```

which the docs say the first arg is the filter. if i look at that plugin, i see:

title: $:/plugins/tiddlywiki/tiddlyweb/save/offline

\define saveTiddlerFilter()
[is[tiddler]] -[[$:/boot/boot.css]] -[[$:/HistoryList]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[[$:/plugins/tiddlywiki/filesystem]] -[[$:/plugins/tiddlywiki/tiddlyweb]] +[sort[title]] $(publishFilter)$
\end
{{$:/core/templates/tiddlywiki5.html}}

which i’m having trouble parsing…

thanks!
> --
> You received this message because you are subscribed to a topic in the Google Groups "TiddlyWiki" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/tiddlywiki/thLY0PkgLKk/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to tiddlywiki+...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/c9461703-6f51-4be8-87fc-90a0768e31c8%40googlegroups.com.

TonyM

unread,
Aug 26, 2019, 11:10:56 AM8/26/19
to TiddlyWiki
Spencer

With node. As you know tiddlers can be found at http://pathordomain/wikiname#tiddlername but a static version is found automatically at
http://pathordomain/wikiname/tiddlername

It may be a way to publish

Regards
Tony

spencer wilson

unread,
Aug 26, 2019, 11:53:12 AM8/26/19
to tiddl...@googlegroups.com
This is a good point— could you elaborate on this, if you have any specific ideas?
> --
> You received this message because you are subscribed to a topic in the Google Groups "TiddlyWiki" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/tiddlywiki/thLY0PkgLKk/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to tiddlywiki+...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/b85b2a4a-7bbe-488f-a43a-e9457d498d74%40googlegroups.com.

Jed Carty

unread,
Aug 26, 2019, 2:47:01 PM8/26/19
to TiddlyWiki
Bob has built-in functions to do a lot of what you are discussing. It can automatically export an html version of a wiki, or collect tiddlers from multiple wikis and export them as a new wiki, either a single file html or a new node wiki. It also lets you specify what plugins you want in the created wikis.

Spencer Wilson

unread,
Aug 26, 2019, 4:08:32 PM8/26/19
to tiddl...@googlegroups.com
bob looks great. i'll give that a whirl! thanks for your work on that, Jed 

On 26 Aug 2019, at 19:47, Jed Carty <inmy...@gmail.com> wrote:

Bob has built-in functions to do a lot of what you are discussing. It can automatically export an html version of a wiki, or collect tiddlers from multiple wikis and export them as a new wiki, either a single file html or a new node wiki. It also lets you specify what plugins you want in the created wikis.

--
You received this message because you are subscribed to a topic in the Google Groups "TiddlyWiki" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/tiddlywiki/thLY0PkgLKk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tiddlywiki+...@googlegroups.com.

TonyM

unread,
Aug 26, 2019, 8:06:33 PM8/26/19
to TiddlyWiki
Spencer,

Yes I meant to mention Bob too after learning your using a node server because bob has similar prerequisites but more features.

Elaborating on;
Re: With node. As you know tiddlers can be found at http://pathordomain/wikiname#tiddlername but a static version is found automatically at 
http://pathordomain/wikiname/tiddlername

I am still looking at this myself so there is a degree of speculation. Given all tiddlers are automatically published as static tiddlers in addition to the whole wiki, and the template to do so can be modified, my idea was to publish pages automatically as a representation of content in a tiddler.  The resulting pages could be "embedded" in a traditional website or even another tiddlywiki through iframes or other methods. One static tiddler can list the content of multiple tiddlers, like a blog page. However as author you open your master wiki and make and save changes and they will be immediately be reflected in the other site via the static tiddlers. So visitors need never open the full wiki just see the pages you decide to share, and containing the links you decide to place in your content. Of course they may get to your other content if they look hard.

In another use case I am also keen to have the static tiddlers not link to other static pages but back into the full wiki. This will allow the static pages to be indexed by search engines and visiting the static address loads only that page. However if the person wants to go further such as search your site content it opens the full wiki for full interactivity. Bookmarks to static pages will only open that page quickly, good for browsing or reading, but when interaction demands they find themself in the full wiki.

Perhaps there is a way to restrict visitors to http://pathordomain/wikiname/tiddlername addresses and not permit access to http://pathordomain/wikiname or http://pathordomain/wikiname#tiddlername addresses.

Regards
Tony



On Tuesday, August 27, 2019 at 1:53:12 AM UTC+10, Spencer Wilson wrote:
This is a good point— could you elaborate on this, if you have any specific ideas?

> On Aug 26, 2019, at 4:10 PM, TonyM <anthon...@gmail.com> wrote:
>
> Spencer
>
> With node. As you know tiddlers can be found at http://pathordomain/wikiname#tiddlername but a static version is found automatically at
> http://pathordomain/wikiname/tiddlername
>
> It may be a way to publish
>
> Regards
> Tony
>
> --
> You received this message because you are subscribed to a topic in the Google Groups "TiddlyWiki" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/tiddlywiki/thLY0PkgLKk/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to tiddl...@googlegroups.com.

TonyM

unread,
Aug 26, 2019, 8:10:22 PM8/26/19
to TiddlyWiki
Post Script,

Using the above ideas it may be possible to have multiple users with their own wikis publish content via static tiddlers to a central website.

Regards
Tony
Reply all
Reply to author
Forward
0 new messages