{"id":24206,"date":"2016-08-25T03:01:04","date_gmt":"2016-08-24T17:01:04","guid":{"rendered":"http:\/\/www.rjmprogramming.com.au\/ITblog\/?p=24206"},"modified":"2016-08-22T22:48:50","modified_gmt":"2016-08-22T12:48:50","slug":"tcltk-crossword-primer-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/tcltk-crossword-primer-tutorial\/","title":{"rendered":"Tcl\/Tk Crossword Primer Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/TCL\/crossword.jpg\"><img decoding=\"async\" style=\"float:left;border: 15px solid pink;\" alt=\"Tcl\/Tk Crossword Primer TutorialTcl\/Tk Crossword Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/TCL\/crossword.jpg\" title=\"Tcl\/Tk Crossword Primer Tutorial\"  \/><\/a><p class=\"wp-caption-text\">Tcl\/Tk Crossword Primer Tutorial<\/p><\/div>\n<p>We&#8217;ve spent a bit of time lately revisiting <a target=_blank title='Tcl information from Wikipedia ... thanks' href='https:\/\/en.wikipedia.org\/wiki\/Tcl'>Tcl<\/a>\/Tk like with <a title='Tcl\/Tk Bats and Ball Tutorial' href='#ttbabt'>Tcl\/Tk Bats and Ball Tutorial<\/a> as shown below, from a couple of different fronts &#8230;<\/p>\n<ul>\n<li>The raw Tcl involving Tk code unit testing arrangements on Mac OS X Yosemite<\/li>\n<li>Interfacing Tcl\/Tk with C++ and the Xcode IDE using Mac OS X Yosemite<\/li>\n<\/ul>\n<p> &#8230; and it is sad that we have to say &#8220;Mac OS X Yosemite&#8221; so much above, but, alas, that is the weakness of the Tk GUI aspect to Tcl\/Tk &#8230; it is quite platform dependant for the GUI look of it.<\/p>\n<p>But though we dedicated much more time to it back at Mac OS X 10.5 Leopard, and with Windows XP, and we were finding ways to integrate code across these two with Xcode and Visual Studio IDE usage, that seems a while away now, without a lot more time dedicated to this purpose.  However, did get the Xcode and C++ code going for a Draw Poker card game, but got let down by the &#8220;Tk&#8221; bits of the innards of this no longer looking good with Mac OS X 10.10 Yosemite.<\/p>\n<p>You see, when we were getting somewhere (further), what we used to do was create the vast bulk of GUI &#8220;Tk&#8221; functionality, as a separate &#8220;unit testable&#8221; <i>tcl<\/i> extension file you could test at the command line for Tcl code like today&#8217;s <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/TCL\/crossword.tcl_GETME\" title='crossword.tcl'>crossword.tcl<\/a> via one of the three application Terminal command line statements &#8230;<\/p>\n<ul>\n<li>tclsh .\/crossword.tcl<\/li>\n<li>wish .\/crossword.tcl<\/li>\n<li>chmod 755 crossword.tcl ; .\/crossword.tcl<\/li>\n<\/ul>\n<p> &#8230; and once you were happy with this unit test, the &#8220;business logic&#8221; of these Tcl\/Tk files could easily be incorporated into an Xcode C++ (or Visual Studio C++) project &#8220;ourtcl.h&#8221; header file to be enveloped by the rest of the way Tcl\/Tk framework can interface to the C++ language.<\/p>\n<p>So that is one idea of a way to go, we think, should you be interested in pursuing this yourself as a GUI desktop application approach to creating Tcl\/Tk applications.  In addition, I&#8217;d still be reading lots of the net, like that list we included in that previous <a title='Tcl\/Tk Bats and Ball Tutorial' href='#ttbabt'>Tcl\/Tk Bats and Ball Tutorial<\/a>.<\/p>\n<p><b><i>Stop Press<\/i><\/b><\/p>\n<p>This tutorial&#8217;s <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/TCL\/crossword.tcl_GETME\" title='crossword.tcl'>crossword.tcl<\/a> work was done on this MacBook Pro laptop.  Thought I&#8217;d test it on RJM Programming&#8217;s web server, where there is a Tclsh shell interface but got &#8230;<\/p>\n<p><code><br \/>\n# .\/crossword.tcl<br \/>\nno display name and no $DISPLAY environment variable<br \/>\n    while executing<br \/>\n\"load \/usr\/lib64\/tk8.5\/..\/libtk8.5.so Tk\"<br \/>\n    (\"package ifneeded Tk 8.5.7\" script)<br \/>\n    invoked from within<br \/>\n\"package require Tk\"<br \/>\n    (file \".\/crossword.tcl\" line 6)<br \/>\n# exit<br \/>\nlogout<br \/>\n<\/code><\/p>\n<p> &#8230; which relates to, these days &#8230;<\/p>\n<ul>\n<li>versions of Tcl and\/or Tk &#8220;keeping up&#8221; &#8230; and &#8230;<\/li>\n<li>using XQuartz rather than the X11 of the old Mac OS X Leopard days &#8230; which you can read about more at those links of <a title='Tcl\/Tk Bats and Ball Tutorial' href='#ttbabt'>Tcl\/Tk Bats and Ball Tutorial<\/a><\/li>\n<\/ul>\n<hr>\n<p id='ttbabt'>Previous relevant <a target=_blank title='Tcl\/Tk Bats and Ball Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/tcltk-bats-and-ball-tutorial\/'>Tcl\/Tk Bats and Ball Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/TCL\/Mavericks\/BatsAndBall_TclTk.m4v\"><img decoding=\"async\" id='pimqgmovh' onmouseover=\"var xqw=this.src;  if (xqw.indexOf('25') != -1) { this.src = 'http:\/\/www.rjmprogramming.com.au\/TCL\/Mavericks\/TclTk_BatsAndBall-31of.jpg'; } else if (xqw.indexOf('31') != -1) { this.src = 'http:\/\/www.rjmprogramming.com.au\/TCL\/Mavericks\/TclTk_BatsAndBall-32of.jpg'; }  else if (xqw.indexOf('32') != -1) { this.src = 'http:\/\/www.rjmprogramming.com.au\/TCL\/Mavericks\/TclTk_BatsAndBall-33of.jpg'; } else if (xqw.indexOf('33') != -1) { this.src = 'http:\/\/www.rjmprogramming.com.au\/TCL\/Mavericks\/TclTk_BatsAndBall-11of.jpg'; } else if (xqw.indexOf('11') != -1) { this.src = 'http:\/\/www.rjmprogramming.com.au\/TCL\/Mavericks\/TclTk_BatsAndBall-21of.jpg'; } else if (xqw.indexOf('21') != -1) { this.src = 'http:\/\/www.rjmprogramming.com.au\/TCL\/Mavericks\/TclTk_BatsAndBall-25of.jpg'; }  \"  style=\"float:left;border: 15px solid pink;\" alt=\"Python Webserver Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/TCL\/Mavericks\/TclTk_BatsAndBall-25of.jpg\" title=\"Tcl\/Tk Bats and Ball Tutorial (try twirling round bottom of image for a synopsis ... 'do the twirl now')\"  \/><\/a><p class=\"wp-caption-text\">Tcl\/Tk Bats and Ball Tutorial (try twirling round bottom of image for a synopsis ... 'do the twirl now')<\/p><\/div>\n<p>Good news today is a breakthrough on a put-off project, getting Tcl\/Tk to work with Mac OS X <a target=_blank title='Mac OS X 10.9 ... Mavericks' href='http:\/\/www.apple.com\/au\/osx\/?cid=wwa-au-kwg-mac-com'>Mavericks<\/a> and <a target=_blank title='Xcode' href='https:\/\/developer.apple.com\/xcode\/'>Xcode 5.1<\/a> on a MacBook Pro laptop &#8230; answering, partially, the previous <a target=_blank title='Tcl\/Tk So Brilliant (but where do you start?) Primer Tutorial' href='#ttsbpt'>Tcl\/Tk So Brilliant (but where do you start?) Primer Tutorial<\/a> lament &#8230; yayyyyyyyyyyyyyy!<\/p>\n<p>Was a bit of a battle combining environmental issues and coding issues, and there is an ongoing unresolved (ease of) deployment issue (with Mavericks (ie. Mac OS X 10.9) &#8230; lead is <a target=_blank title='Homebrew as alternative to Package Manager' href='http:\/\/brew.sh\/'>Homebrew<\/a> (what happened to the excellent Package Manager?!)).<\/p>\n<p>Think Tcl\/Tk is definitely worth the time to try GUI applications, which we do here with Xcode C++ code, which utitizes Tcl scripting and Tk GUI.<\/p>\n<p>The <a target=_blank title='Setup issues' href='http:\/\/www.rjmprogramming.com.au\/TCL\/Mavericks\/TclTk_BatsAndBall-11of.jpg'>environmental requirements<\/a> to get it up and running (again &#8230; had it working quite a long time ago (with Mac OS X Darwin or one up from this &#8230; see below it was Mac OS X 10.5.8\/Xcode 3.0)) revolved around updating (personally, <a target=_blank title='Got to this excellent resource via one of those excellent helper links below' href='https:\/\/distfiles.macports.org\/MacPorts\/'>had to start again with a full reinstall<\/a>) <a target=_blank title='The Macports Project' href='http:\/\/www.macports.org'>Macports<\/a>.<\/p>\n<p>The coding issues revolved around a Mac OS X alternative to gettimeofday() function and the 64-bit architecture of a modern Macbook Pro laptop.<\/p>\n<p>Today&#8217;s Mac OS X Mavericks application built with <a target=_blank title='Mac OS X Mavericks application' href='http:\/\/www.rjmprogramming.com.au\/TCL\/Mavericks\/TclTk_BatsAndBall-21of.jpg'>Xcode 5,1<\/a> is a Bats and Ball <a target=_blank title='Mac OS X Mavericks application' href='http:\/\/www.rjmprogramming.com.au\/TCL\/Mavericks\/TclTk_BatsAndBall-25of.jpg'>game<\/a> with up to four players (4 players\/1 keyboard = twister?) reminiscent of those twee tennis games you used to play in the foyer before playing a squash game, back in the &#8217;70s &#8230; please don&#8217;t do the maths!<\/p>\n<p>If you would like this application for a Mavericks Mac maybe an ad-hoc style of install could be arranged if you drop me an <a href='mailto:rmetcalfe@rjmprogramming.com.au?subject=BatsAndBall&#038;cc=rmetcalfe15@gmail.com' title='Email RJM Programming RE BatsAndBall'>email<\/a>.<\/p>\n<p>Please enjoy today&#8217;s Tcl\/Tk tutorial made up of two visual parts &#8230; &#8220;twirling&#8221; around bottom of picture above, and clicking for a <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/TCL\/Mavericks\/BatsAndBall_TclTk.m4v\" title=\"Click picture\">video<\/a>.<\/p>\n<p>These links were useful (so, thanks):<\/p>\n<ul>\n<li><a target=_blank title='Mac OS X install error: No available formula for gtest - ROS Answers: Open Source Q&#038;A Forum' href='http:\/\/answers.ros.org\/question\/42335\/mac-os-x-install-error-no-available-formula-for-gtest\/'>Mac OS X install error: No available formula for gtest &#8211; ROS Answers: Open Source Q&#038;A Forum<\/a><\/li>\n<li><a target=_blank title='OS X- How can I create an OS 10.9 Mavericks .dmg?: [ Apple ]' href='http:\/\/www.usoftlap.com\/t36806.html'>OS X- How can I create an OS 10.9 Mavericks .dmg?: [ Apple ]<\/a><\/li>\n<li><a target=_blank title='X112.7.5 \u2013 XQuartz' href='http:\/\/xquartz.macosforge.org\/trac\/wiki\/X112.7.5'>X112.7.5 \u2013 XQuartz<\/a><\/li>\n<li><a target=_blank title='Installing Homebrew on OS X Mavericks 10.9, Package Manager for Unix Apps' href='http:\/\/coolestguidesontheplanet.com\/setting-up-os-x-mavericks-and-homebrew\/'>Installing Homebrew on OS X Mavericks 10.9, Package Manager for Unix Apps<\/a><\/li>\n<li><a target=_blank title='MacOS Mavericks Fix, Package Manager, etc.' href='http:\/\/arelle.org\/2013\/10\/27\/macos-mavericks-inoperable\/'>MacOS Mavericks Fix, Package Manager, etc.<\/a><\/li>\n<li><a target=_blank title='The state of package management on Mac OS X | On the lambda' href='http:\/\/www.onthelambda.com\/2013\/10\/14\/the-state-of-package-management-on-mac-os-x\/'>The state of package management on Mac OS X | On the lambda<\/a><\/li>\n<li><a target=_blank title='Retrieving system time: gettimeofday()' href='http:\/\/www.chocolatesparalucia.com\/2010\/10\/retrieving-system-time-gettimeofday\/'>Retrieving system time: gettimeofday()<\/a><\/li>\n<li><a target=_blank title=\"osx - Can't update Macports (with Mac OS X Mavericks) - Stack Overflow\" href='http:\/\/stackoverflow.com\/questions\/19622337\/cant-update-macports-with-mac-os-x-mavericks'>osx &#8211; Can&#8217;t update Macports (with Mac OS X Mavericks) &#8211; Stack Overflow<\/a><\/li>\n<li><a target=_blank title='How to Install Command Line Tools in 10.9 Mavericks Fresh Install' href='http:\/\/www.computersnyou.com\/2025\/2013\/06\/install-command-line-tools-in-osx-10-9-mavericks-how-to\/'>How to Install Command Line Tools in 10.9 Mavericks Fresh Install<\/a><\/li>\n<li><a target=_blank title='Macports Download page' href='https:\/\/distfiles.macports.org\/MacPorts\/'>Macports Download page<\/a><\/li>\n<li><a target=_blank title=\"Can't run a TCL script on CentOS 5.8\" href='https:\/\/www.centos.org\/forums\/viewtopic.php?t=18208'> Can&#8217;t run a TCL script on CentOS 5.8<\/a><\/li>\n<\/ul>\n<p>Tcl scripts can run on many web servers, and the web server this domain runs on accepts Tcl scripts run from the command line.  Take a look at this simple Tcl programming script inspired by that last link above, which can be called  <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/TCL\/Mavericks\/HelloWorld.tcl_GETME\" title=\"HelloWorld.tcl\">HelloWorld.tcl<\/a> and runs at the web server&#8217;s command line via <i>tclsh .\/HelloWorld.tcl<\/i> &#8230; this can be a web application via PHP exec command which you can see with <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/TCL\/Mavericks\/HelloWorld.php_GETME\" title=\"HelloWorld.php\">HelloWorld.php<\/a> and with this <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/TCL\/Mavericks\/HelloWorld.php\" title=\"HelloWorld.php\">live run<\/a>.   Tcl scripts are <a target=_blank title='Interpreted language information from Wikipedia' href='http:\/\/en.wikipedia.org\/wiki\/Interpreted_language'>interpreted<\/a>, unlike our Bats And Ball <a target=_blank title='Compiled language information from Wikipedia' href='http:\/\/en.wikipedia.org\/wiki\/Compiled_language'>compiled<\/a> code, so you would have to compile the code at the web server with a similar environment to successfully deploy Bats And Ball to a Linux web server, this way.<\/p>\n<p>Link to Tcl\/Tk website &#8230; <a target=_blank href='http:\/\/www.tcl.tk\/software\/tcltk\/' title='Home of Tcl\/Tk'>Home of Tcl\/Tk<\/a><br \/>\nLink to Tcl\/Tk jobs done &#8230; <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/TCL\/' title='Examples of use of Tcl\/Tk'>Tcl\/Tk jobs done<\/a> &#8230; personal experience<\/p>\n<hr \/>\n<p id='ttsbpt'>Previous relevant <a target=_blank title='Tcl\/Tk So Brilliant (but where do you start?) Primer Tutorial' href='http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=664'>Tcl\/Tk So Brilliant (but where do you start?) Primer Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/TCL\/MacExample\/\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Tcl\/Tk So Brilliant (but where do you start?) Primer Tutorial ... http:\/\/www.tcl.tk\/software\/tcltk\/\" src=\"http:\/\/www.rjmprogramming.com.au\/TCL\/MacExample\/TCL_Example_1of.png\" title=\"Tcl\/Tk So Brilliant (but where do you start?) Primer Tutorial ... http:\/\/www.tcl.tk\/software\/tcltk\/\"  style=\"float:left;\" \/><img decoding=\"async\" style=\"float:left;border: 15px solid pink;\" alt=\"Tcl\/Tk So Brilliant (but where do you start?) Primer Tutorial ... http:\/\/www.tcl.tk\/software\/tcltk\/\" src=\"http:\/\/www.rjmprogramming.com.au\/TCL\/MacExample\/TCL_Example_4of.png\" title=\"Tcl\/Tk So Brilliant (but where do you start?) Primer Tutorial ... http:\/\/www.tcl.tk\/software\/tcltk\/\"  \/><\/a><p class=\"wp-caption-text\">Tcl\/Tk So Brilliant (but where do you start?) Primer Tutorial ... http:\/\/www.tcl.tk\/software\/tcltk\/<\/p><\/div>\n<p>Have you heard of Tcl\/Tk?<\/p>\n<blockquote><p>Tcl\/Tk is open source (based on a BSD-style license), so you can use it and modify it virtually any way you want, including for commercial uses.<\/p><\/blockquote>\n<p>With Tcl\/Tk have used in conjunction with C++ and Python (look out for Tkinter).<\/p>\n<p>Use it for Games Programming (it makes pretty cute GUIs &#8230; you may disagree?!) and it used to work back at Mac OS X 10.5.8\/XCode 3.0 (am going to try Mac OS X 10.7.5 &#8230; any advice anywhere?) and had it going on Windows XP with Visual Studio Express as well.   It has a lot of cross-platform strengths.<\/p>\n<p>Think Tcl\/Tk is really really good.<\/p>\n<p>In this primer  <a target=_blank title='click picture' href='http:\/\/www.rjmprogramming.com.au\/TCL\/MacExample\/'>tutorial<\/a> you can see a Draw Poker game as an XCode project, see it Build and in action, then see how to arrange for *.dmg Package Distribution via Package Manager.<\/p>\n<p>Link to Tcl\/Tk website &#8230; <a target=_blank href='http:\/\/www.tcl.tk\/software\/tcltk\/' title='Home of Tcl\/Tk'>Home of Tcl\/Tk &#8230; where quote up the top resides<\/a><br \/>\nLink to Tcl\/Tk jobs done &#8230; <a target=_blank href='http:\/\/www.rjmprogramming.com.au\/TCL\/' title='Examples of use of Tcl\/Tk'>Tcl\/Tk jobs done<\/a> &#8230; personal experience\n<\/p>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d664' onclick='var dv=document.getElementById(\"d664\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"http:\/\/www.rjmprogramming.com.au\/wordpress\/?cat=51\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d664' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr \/>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d7144' onclick='var dv=document.getElementById(\"d7144\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"http:\/\/www.rjmprogramming.com.au\/wordpress\/?cat=51\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d7144' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d24206' onclick='var dv=document.getElementById(\"d24206\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/xcode\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d24206' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>We&#8217;ve spent a bit of time lately revisiting Tcl\/Tk like with Tcl\/Tk Bats and Ball Tutorial as shown below, from a couple of different fronts &#8230; The raw Tcl involving Tk code unit testing arrangements on Mac OS X Yosemite &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/tcltk-crossword-primer-tutorial\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,17,29,37,39,40],"tags":[176,319,320,476,477,549,725,997,1200,1245,1246,1247,1319,1383,1435,1473],"class_list":["post-24206","post","type-post","status-publish","format-standard","hentry","category-elearning","category-gui","category-operating-system","category-tutorials","category-visual-studio","category-xcode","tag-c","tag-desktop","tag-desktop-application","tag-game","tag-games-2","tag-gui","tag-mac-os-x","tag-programming","tag-stop-press","tag-tcl","tag-tcltk","tag-tclsh","tag-tutorial","tag-visual-studio","tag-windows","tag-xcode"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/24206"}],"collection":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/comments?post=24206"}],"version-history":[{"count":2,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/24206\/revisions"}],"predecessor-version":[{"id":24208,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/24206\/revisions\/24208"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=24206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=24206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=24206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}