[TW5] Presenting Klugey HTML to TW5 converter

379 views
Skip to first unread message

Mark S.

unread,
Mar 25, 2016, 7:32:37 PM3/25/16
to TiddlyWiki
This is really kind of klugey (sp?) but it gets you (or at least me) about 90% of the way towards turning HTML from web pages into TW5 mark-up. It attempts to convert most common markups including links, images and tables.

Someone who understood TW5 better would probably build a DOM tree structure, and then parse out the parts piece by piece.

What I did was to simply apply a series of regular expressions. The problem with this approach is that mismatched tags can really throw the translation off the rails. So use at your own risk. You should check to make sure that all original content is still present. You are likely to need to adjust bullets and tables. It's likely that certain situations I haven't thought of will break it more severely.

Maybe this will be an incentive for someone to come up with something better ;-)

As always, make sure that you have a backup of any TW you try this in. Just import the attached json and then reload your TW file. Put your HTML contents in a designated tiddler. In the HTML2TW Launcher supply the name of the source tiddler and click on the convert button. The resulting mark-up should appear in the tiddler with the same name as the original tiddler plus "-converted" appended to the title..

Thanks to BJ, Eric, and Jed for helping me with the launcher.

Mark

html2tw.json

BJ

unread,
Mar 26, 2016, 6:40:05 AM3/26/16
to tiddl...@googlegroups.com
Hi Mark,
good stuff!. You marco seem to work to a large extend. I wrote a similar one to convert to html to tw2, and had about the same success, for reference it is here

http://tiddlyclip.tiddlyspot.com/#%24%3A%2Fplugins%2Fbj%2Ftiddlyclip%2Fconvert.js

If you make a small change in your code you can call the macro from a tiddlyclip rule. The change is

/* Check for special environmental variable. But argument text will take precedence. */
    var vartext = (this && this.getVariable) ? this.getVariable("text2convert"): null;
    if (vartext) intext = vartext ;

The tiddlyclip tiddlers are below, and allow content to be converted as it is clipped.

All the best
BJ
tiddlers(1).json

Mark S.

unread,
Mar 26, 2016, 1:37:52 PM3/26/16
to TiddlyWiki
Hi BJ,

That sounds like a really good idea. But when I try it, it gives an alert pop-up that says "html2twmarco not found". ("marco" is an exact quote).

Is there something else I have to do to the macro (naming, location, tagging?) to allow it to be found?

Thanks!
Mark

BJ

unread,
Mar 26, 2016, 2:12:58 PM3/26/16
to TiddlyWiki
oops! your macro needs to be tagged $:/tags/tiddlyclip in order that tc can find it.

Mark S.

unread,
Mar 28, 2016, 7:50:43 PM3/28/16
to TiddlyWiki
Hi BJ,

That's pretty neat!

Here's the macro with your suggested changes, the $:/tags/tiddlyclip flag, some attribution, disclaimer, and a bit of documentation.

If you want to include it in your distribution that's OK by me.

Thanks!
Mark
HTML2TW_ Macro_v0-1.json

BJ

unread,
Mar 31, 2016, 5:20:21 PM3/31/16
to TiddlyWiki
Good stuff Mark.
I will put a link to it in the next release of tiddlyclip..
-bj

Ed

unread,
Apr 15, 2016, 8:54:12 AM4/15/16
to TiddlyWiki
Hi Guys,

Works really very well, considering the HTML-export I throw at it.
I have to do some extra work on the result but then it is great and
looksfine in my TW. I have about 2000 items in the database that
slowly I am converting to items in a TW

Thanks a bunch!!
Salut! Edm.
=============



Op zaterdag 26 maart 2016 00:32:37 UTC+1 schreef Mark S.:
Reply all
Reply to author
Forward
0 new messages