{"id":1832,"date":"2023-09-15T22:55:27","date_gmt":"2023-09-15T20:55:27","guid":{"rendered":"https:\/\/hobbykeller.spdns.de\/?p=1832"},"modified":"2023-09-16T19:49:34","modified_gmt":"2023-09-16T17:49:34","slug":"karel-2023-reloaded","status":"publish","type":"post","link":"https:\/\/hobbykeller.spdns.de\/?p=1832","title":{"rendered":"Karel 2023 Reloaded"},"content":{"rendered":"\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:15% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"87\" height=\"97\" src=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2016\/06\/karel.png\" alt=\"\" class=\"wp-image-939 size-full\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p>About 7 years ago, I wrote a post <a href=\"https:\/\/hobbykeller.spdns.de\/?p=938\">how to run Stanford University&#8217;s Karel robot<\/a> which is used in their <a href=\"https:\/\/see.stanford.edu\/Course\/CS106A\/\">highly popular online CS106a course<\/a>. While it&#8217;s been 16 years now since the course page has last been updated and <a href=\"https:\/\/learncs.me\/stanford\/cs106a\">Stanford switched from Java to Python<\/a> for their introductory computer science lessons, the classic Java lectures still remain one of the best free online lessons to learn the basics of programming.<\/p>\n<\/div><\/div>\n\n\n\n<p>As Java and Eclipse have evolved, not only will Stanford&#8217;s original <code>karel.jar<\/code> file refuse to run in modern Eclipse but also the workaround I suggested in my post 7 years ago. Time for a new &#8220;How to run Stanford&#8217;s Karel in modern Java IDEs.&#8221;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Making good old Karel fit for modern Java environments<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Prepare your environment<\/h3>\n\n\n\n<p>There is a lot of confusion what exactly is needed to run the legacy karel.jar in today&#8217;s modern Eclipse environment. Therefore some clarifications regarding the Java prerequisites and the Karel versions:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Java Prerequisites<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Do I need to have the whole JDK installed or is the JRE sufficient? &#8211; The <strong>JRE is sufficient<\/strong> to run Stanford&#8217;s Karel code.<\/li>\n\n\n\n<li>It is <strong>not necessary to install additional legacy Java JREs<\/strong> like Java 1.6 (which anyway can no longer be installed on today&#8217;s current operating systems and is no longer offered for download afaik). <\/li>\n\n\n\n<li>The (at the time of writing) current Java 17 version works. My Ubuntu system ships with that version by default. So if you are on a Linux Ubuntu system or some similar distro, you don&#8217;t need to install anything.<\/li>\n\n\n\n<li>Windows users might need to download and <a href=\"https:\/\/www.java.com\/en\/download\/\">manually install a Java JRE<\/a> (in that case Oracle still offers the Java Version 8u JRE &#8211; which dates back to 2014. Oracle offers no more updates for Windows machines for non-commercial users.)<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Karel version<\/h4>\n\n\n\n<p>The more important thing is to <strong>get hold of a recent Karel version<\/strong>. The <code>karel.jar<\/code> which comes with the original assignment files on <a href=\"https:\/\/see.stanford.edu\/Course\/CS106A\/\">Stanford&#8217;s SEE course page<\/a>, has obviously been designed to work with Java 1.6, which is no longer available for download. Even if you downgrade to the oldest available Java legacy version (1.8 in my case), this jar file is not going to work.<\/p>\n\n\n\n<p>The most recent jar I could find from Stanford dates back to 2010 and has been published on <a href=\"https:\/\/cs.stanford.edu\/people\/eroberts\/courses\/cs106a\/assignments\/index.html\">Eric Robert&#8217;s personal Stanford page<\/a>. Download the <a href=\"https:\/\/cs.stanford.edu\/people\/eroberts\/courses\/cs106a\/assignments\/Assignment1.zip\">Assignment1.zip<\/a> file from that page. In case the page is no longer available, I have included a <a href=\"https:\/\/skydrive.spdns.eu\/s\/8PxK67Eny63aLR4\">copy<\/a> on my server.<\/p>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-warning\" role=\"alert\">When working with <code>Assignment.zip<\/code> files that you download from the original <a href=\"https:\/\/see.stanford.edu\/Course\/CS106A\/\">Stanford SEE CS106a home page<\/a>, <strong>you have to replace<\/strong> the (outdated) <code>karel.jar<\/code> file against the more recent 2010 <code>karel.jar<\/code> file included in the zip from Eric Robert&#8217;s personal page.<br>You can distinguish the two karel.jar files by their size: The more recent <code>karel.jar<\/code> that you need has a file size of approx 368 kB while the deprecated <code>karel.jar<\/code> file inside the original <code>Assignment.zip<\/code> files from the official Stanford CS106a page has about 275 kB. YMMV depending on how your OS&#8217;s file system measures the file size, but the numbers should hold approximately.<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Create Eclipse project from Assignment zip-file<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Open your Eclipse IDE and click <em>File<\/em> \/ <em>Import<\/em> in the menu bar.<\/li>\n\n\n\n<li>In the dialogue that opens, from the <em>General<\/em> section, select <em>Existing Projects into Workspace<\/em> and click <em>Next<\/em>.<br><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Import_Assignment_ZIP.png\"><img loading=\"lazy\" decoding=\"async\" width=\"665\" height=\"647\" src=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Import_Assignment_ZIP.png\" alt=\"\" class=\"wp-image-1847\" srcset=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Import_Assignment_ZIP.png 665w, https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Import_Assignment_ZIP-300x292.png 300w\" sizes=\"auto, (max-width: 665px) 100vw, 665px\" \/><\/a><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Activate <em>Select archive file<\/em> and navigate to the <code>Assignment1.zip<\/code> file you downloaded from the Stanford Server and click <em>Finish<\/em>. Eclipse will automatically unzip the file and create a project structure from the content. Your content of your <em>Project Explorer<\/em> in your Eclipse main window should look like this now:<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Project_Explorer.png\"><img loading=\"lazy\" decoding=\"async\" width=\"862\" height=\"865\" src=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Project_Explorer.png\" alt=\"\" class=\"wp-image-1854\" srcset=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Project_Explorer.png 862w, https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Project_Explorer-300x300.png 300w, https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Project_Explorer-150x150.png 150w, https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Project_Explorer-768x771.png 768w, https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Project_Explorer-125x125.png 125w\" sizes=\"auto, (max-width: 862px) 100vw, 862px\" \/><\/a><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Replace the outdated karel.jar file in your project<\/h4>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-primary\" role=\"alert\">This is a pivotal step, as your code will only work with the 2010 version of karel.jar on modern operating systems with Java version 8 and above installed. Do not skip this step.<br><br>This step has to be repeated each time you import a new assignment zip file which you downloaded from the official SEE Stanford course page.<button type=\"button\" class=\"close\" data-dismiss=\"alert\" aria-label=\"Close\"><span aria-hidden=\"true\">\u00d7<\/span><\/button><\/div>\n\n\n\n<p>In case you imported your assignment file from the official Stanford CS106a course page, the project files in your Eclipse IDE will contain an outdated karel.jar file which will not run with modern Java JREs of version 8 or higher. You can check this by right clicking on <code>karel.jar<\/code> in the <em>Project Explorer<\/em> list of your Eclipse IDE and then choosing <em>Properties<\/em>. The outdated <code>karel.jar<\/code> will have a size of 274,627 bytes and a creation date of April 6, 2006:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Outdated_karel_jar_properties.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Outdated_karel_jar_properties.png\" alt=\"\" class=\"wp-image-1855\" style=\"width:710px;height:537px\" width=\"710\" height=\"537\" srcset=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Outdated_karel_jar_properties.png 926w, https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Outdated_karel_jar_properties-300x227.png 300w, https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Outdated_karel_jar_properties-768x581.png 768w\" sizes=\"auto, (max-width: 710px) 100vw, 710px\" \/><\/a><figcaption class=\"wp-element-caption\">Outdated karel.jar shows a file size of 274&#8217;627 bytes and a creation date of 2006.<\/figcaption><\/figure>\n\n\n\n<p>Replace this by the <code>karel.jar<\/code> file which you have extracted from the 2010 <code>Assignment1.zip<\/code> file which you downloaded from Eric Robert&#8217;s personal Stanford page. It is sufficient to open your file manager of your OS, copy the 2010 <code>karel.jar<\/code> file from where you extracted the Eric Roberts <code>Assignment1.zip<\/code> file (make sure it&#8217;s the file with 378 kB size) and paste it over the outdated <code>karel.jar<\/code> file in your project directory:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Replace_karel_jar.png\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"545\" src=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Replace_karel_jar.png\" alt=\"\" class=\"wp-image-1857\" srcset=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Replace_karel_jar.png 758w, https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Replace_karel_jar-300x216.png 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><\/figure>\n\n\n\n<p>When you return to your Eclipse IDE window, you can confirm that the file was actually replaced by right-clicking <code>karel.jar<\/code> in the <em>Project Explorer<\/em> pane and checking the <em>Properties<\/em>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Karel_Jar_New_properties.png\"><img loading=\"lazy\" decoding=\"async\" width=\"926\" height=\"700\" src=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Karel_Jar_New_properties.png\" alt=\"\" class=\"wp-image-1858\" srcset=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Karel_Jar_New_properties.png 926w, https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Karel_Jar_New_properties-300x227.png 300w, https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Karel_Jar_New_properties-768x581.png 768w\" sizes=\"auto, (max-width: 926px) 100vw, 926px\" \/><\/a><figcaption class=\"wp-element-caption\">Most recent karel.jar version swapped into our project files now shows ~ 368 kB<\/figcaption><\/figure>\n\n\n\n<p>You can now start programming in your IDE.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Add your code to the first assignment problem<\/h3>\n\n\n\n<p>If you expand the (default package) section in the Project Explorer of your IDE, you will see the templates for the coding challenges that Stanford has prepared for you:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Java_Templates.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"754\" src=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Java_Templates-1024x754.png\" alt=\"\" class=\"wp-image-1859\" srcset=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Java_Templates-1024x754.png 1024w, https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Java_Templates-300x221.png 300w, https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Java_Templates-768x565.png 768w, https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Java_Templates.png 1079w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>The first problem of the assignment in the in the student handout is CollectNewspaperKarel.java (read <a href=\"https:\/\/cs.stanford.edu\/people\/eroberts\/courses\/cs106a\/handouts\/09-assignment-1.pdf\">page 2 of the handout<\/a> to find out what your program is expected to do).<\/p>\n\n\n\n<p>So we double-click on <code>CollectNewspaperKarel.java<\/code> in the <em>Project Explorer<\/em> which opens the prepared programming template in the editor window. There is a commented line which says \/\/ Your code here. Guess what you should do now&#8230;<\/p>\n\n\n\n<p>So why not read through the problem description in the handout and put some code to give Karel a spin?<\/p>\n\n\n\n<p>Now here&#8217;s our code which should solve the problem:<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"font-size:11 height-set:true width-set:true width:900 lang:java decode:true \" title=\"CollectNewspaperKarel solution\" >\/*\n * File: CollectNewspaperKarel.java\n * --------------------------------\n *\/\n\nimport stanford.karel.*;\n\npublic class CollectNewspaperKarel extends SuperKarel {\n\n\tpublic void run() {\n\t\tgoOutside();\n\t\tpickUpNewspaper();\n\t\treturnToArmChair();\n\t}\n\n\tprivate void goOutside() {\n\t\tmove();\n\t\tmove();\n\t\tturnRight();\t\t\/\/ Karel now facing south\n\t\tmove();\n\t\tturnLeft();\t        \/\/ Karel facing east again\n\t\tmove();\n\t}\n\t\n\tprivate void pickUpNewspaper() {\n\t\tpickBeeper();\n\t}\n\t\n\tprivate void returnToArmChair() {\n\t\tturnLeft();\t\t\/\/ Karel facing north\n\t\tturnLeft();\t\t\/\/ Karel facing west\n\t\tmove();\n\t\tmove();\n\t\tmove();\n\t\tturnRight();\t\t\/\/ Karel facing north\n\t\tmove();\n\t\tturnRight();\t        \/\/ Karel facing east again\n\t}\n}<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Running your code<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In the menu bar of your Eclipse, click on <em>Run<\/em> then <em>Run Configurations<\/em><\/li>\n\n\n\n<li>In the window that opens, Click on <em>Java Application<\/em> (<strong>not<\/strong> Java Applet) from the left list<\/li>\n\n\n\n<li>Make sure that the <em>Main class<\/em> entry in the right pane is <code>stanford.karel.Karel<\/code><\/li>\n\n\n\n<li>Select the <em>Arguments<\/em> tab in the right pane and enter <code>code=CollectNewspaperKarel<\/code> into the <em>Program arguments<\/em> box.<\/li>\n\n\n\n<li>Click <em>Run<\/em>, then confirm with <em>OK<\/em> in the <em>Save and Launch<\/em> dialog.<\/li>\n\n\n\n<li>Unsatisfactorily, in the program that opens, you will need to manually load the &#8220;world&#8221; for the corresponding Karel world. Click <em>Load World<\/em>, then select <code>CollectNewspaperKarel.w<\/code> from the File dialog and click <em>Open<\/em>.<\/li>\n\n\n\n<li>Click <em>Start Program<\/em> and see if your code works.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_CollectNewspaperKarel.png\"><img loading=\"lazy\" decoding=\"async\" width=\"784\" height=\"540\" src=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_CollectNewspaperKarel.png\" alt=\"\" class=\"wp-image-1845\" srcset=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_CollectNewspaperKarel.png 784w, https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_CollectNewspaperKarel-300x207.png 300w, https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_CollectNewspaperKarel-768x529.png 768w\" sizes=\"auto, (max-width: 784px) 100vw, 784px\" \/><\/a><figcaption class=\"wp-element-caption\">Yippie! It&#8217;s finally working!<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Will it also work on Windows?<\/h2>\n\n\n\n<p>It does. Here&#8217;s my testing setup:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Windows 11 inside a VirtualBox<\/li>\n\n\n\n<li>Manual installation of Java 8 JRE (probably not even needed because I later found out that the Eclipse installer adds a fully loaded OpenJDK Java 17<\/li>\n\n\n\n<li>Installation of default Eclipse for Java Developers edition via Eclipse&#8217;s Oomph Installer<\/li>\n\n\n\n<li>Directed Eclipse to the workspace with the Java code created above and ran the code.<\/li>\n\n\n\n<li>Unlike under Ubuntu, Eclipse seems to load the appropriate Karel world automatically.<\/li>\n<\/ul>\n\n\n\n<p>Here&#8217;s the result:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Karel_Windows.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"712\" src=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Karel_Windows-1024x712.png\" alt=\"\" class=\"wp-image-1867\" srcset=\"https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Karel_Windows-1024x712.png 1024w, https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Karel_Windows-300x209.png 300w, https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Karel_Windows-768x534.png 768w, https:\/\/hobbykeller.spdns.de\/wp-content\/uploads\/2023\/09\/CS106a_Karel_Windows.png 1452w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>About 7 years ago, I wrote a post how to run Stanford University&#8217;s Karel robot which is used in their highly popular online CS106a course. While it&#8217;s been 16 years<span class=\"more-button\"><a href=\"https:\/\/hobbykeller.spdns.de\/?p=1832\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\">Karel 2023 Reloaded<\/span><\/a><\/span><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[193,137,195,246,194],"class_list":["post-1832","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-cs106a","tag-eclipse","tag-karel","tag-linux","tag-stanford"],"_links":{"self":[{"href":"https:\/\/hobbykeller.spdns.de\/index.php?rest_route=\/wp\/v2\/posts\/1832","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hobbykeller.spdns.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hobbykeller.spdns.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hobbykeller.spdns.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hobbykeller.spdns.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1832"}],"version-history":[{"count":11,"href":"https:\/\/hobbykeller.spdns.de\/index.php?rest_route=\/wp\/v2\/posts\/1832\/revisions"}],"predecessor-version":[{"id":1870,"href":"https:\/\/hobbykeller.spdns.de\/index.php?rest_route=\/wp\/v2\/posts\/1832\/revisions\/1870"}],"wp:attachment":[{"href":"https:\/\/hobbykeller.spdns.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1832"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hobbykeller.spdns.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1832"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hobbykeller.spdns.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1832"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}