{"id":36975,"date":"2018-03-22T03:01:28","date_gmt":"2018-03-21T17:01:28","guid":{"rendered":"http:\/\/www.rjmprogramming.com.au\/ITblog\/?p=36975"},"modified":"2018-03-21T22:52:26","modified_gmt":"2018-03-21T12:52:26","slug":"english-phrase-creation-game-primer-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/english-phrase-creation-game-primer-tutorial\/","title":{"rendered":"English Phrase Creation Game Primer Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/created_phrase.html\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"English Phrase Creation Game Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/created_phrase.jpg\" title=\"English Phrase Creation Game Primer Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">English Phrase Creation Game Primer Tutorial<\/p><\/div>\n<p>There&#8217;s one last Linux and Mac OS X dictionary files concept to augment what we left off yesterday with <a title='English Phrase Guessing Game Primer Tutorial' href='#epggpt'>English Phrase Guessing Game Primer Tutorial<\/a>.  It concerns the dictionary file &#8230;<\/p>\n<p><code><br \/>\n\/usr\/share\/dict\/connectives<br \/>\n<\/code><\/p>\n<p> &#8230; which contains a list of those very important English &#8220;little words&#8221;, but vital words.  To make use of this list we allow for surprise.php PHP helper file be able to supply, via &#8220;&amp;littlewords=y&#8221;, a sorted list of these &#8220;little words&#8221;.  The way we can use this to create a word game, is to add into an HTML select element (dropdown) &#8220;helper&#8221; to assist the user piecing together a phrase, which we then look up on the &#8220;net&#8221; for self-validation, but no scoring today.<\/p>\n<p>The HTML <a target=_blank title='HTML div information from w3schools' href='http:\/\/www.w3schools.com\/tags\/tag_div.asp'><i>div<\/i><\/a> element set to <a target=_blank title='HTML Global attribute contenteditable information from w3schools' href='https:\/\/www.w3schools.com\/tags\/att_global_contenteditable.asp'><i>contenteditable<\/i><\/a>=true element appears again, so just like with the recent <a target=_blank title='Emoji Name Search Fairy Story PHP Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/emoji-name-search-fairy-story-php-tutorial\/'>Emoji Name Search Fairy Story PHP Tutorial<\/a>, where content can &#8220;flow&#8221; to this HTML div element from choices made at other HTML elements, we need to cater, because this HTML div has that contenteditable=true characteristic, for where the user has placed the cursor for that HTML div element.  We&#8217;ve adjusted some Javascript code from there for these &#8220;cursor manipulation and interpretation&#8221; purposes in today&#8217;s &#8220;English Phrase Creation Game&#8221;.<\/p>\n<p>Here&#8217;s a <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/created_phrase.html\" title='Click picture'>live run<\/a> and here is the HTML programming source code you could call <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/created_phrase.html-GETME\" title=\"created_phrase.html\">created_phrase.html<\/a> which <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/created_phrase.html-GETME\" title=\"created_phrase.html\">got created via these cloning changes<\/a>.<\/p>\n<hr>\n<p id='epggpt'>Previous relevant <a target=_blank title='English Phrase Guessing Game Primer Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/english-phrase-guessing-game-primer-tutorial\/'>English Phrase Guessing Game 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\/HTMLCSS\/phrase.html\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"English Phrase Guessing Game Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/phrase.jpg\" title=\"English Phrase Guessing Game Primer Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">English Phrase Guessing Game Primer Tutorial<\/p><\/div>\n<p>Following on from yesterday&#8217;s <a title='First Name Guessing Game for Two Primer Tutorial' href='#fnggtpt'>First Name Guessing Game for Two Primer Tutorial<\/a> exploring more regarding Linux and Mac OS X dictionary file arrangements we want to tell you about another such resource available to you in the form of the file &#8230;<\/p>\n<p><code><br \/>\n\/usr\/share\/dict\/web2a<br \/>\n<\/code><\/p>\n<p> &#8230; where you can find a collection of, in our case, English, phrases (and word pairings).  Again, this could be a source for some password creation thoughts, or we use this file to create today&#8217;s &#8220;English Phrase Guessing Game&#8221; by asking the user to fill in the first word or phrase part to score a point.<\/p>\n<p>This was a pretty easy English word game to construct, but it featured some interesting techniques we like around here &#8230;<\/p>\n<ul>\n<li>an HTML <a target=_blank title='HTML iframe element information from w3schools' href='http:\/\/www.w3schools.com\/tags\/tag_iframe.asp'>iframe<\/a> hosting of the middle<strike>man<\/strike>person surprise.php resource we call on to make use of &#8220;\/usr\/share\/dict\/web2a&#8221; file via the URL snippet &#8220;&amp;phrase=y&#8221;<\/li>\n<li>a <a target=_blank title='Client Pre-Emptive Iframe mentions' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/?s=client+pre-emptive+iframe'>Client Pre-Emptive Iframe<\/a> feel as to how that middle<strike>man<\/strike>person surprise.php communicates with its supervisory <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/phrase.html_GETME\" title=\"phrase.html\">phrase.html<\/a> today, using that HTML iframe&#8217;s <i>onload<\/i> event to check for content, in today&#8217;s case, we hope, an English phrase (or word pairing) of length 3 to 24 &#8230; and how did we work out the range &#8230;<br \/>\n<code><br \/>\n<a target=_blank title='Linux awk command information from computerhope' href='http:\/\/www.computerhope.com\/unix\/uawk.htm'>awk<\/a> '(NR==1||length&lt;shortest){shortest=length} END {print shortest}' \/usr\/share\/dict\/web2a # 3 is shortest thanks to advice of <a target=_blank title='Useful link' href='https:\/\/stackoverflow.com\/questions\/12600177\/length-of-shortest-line'>this useful link<\/a>, thanks<br \/>\n<a target=_blank title='Linux awk command information from computerhope' href='http:\/\/www.computerhope.com\/unix\/uawk.htm'>awk<\/a> ' { if ( length &gt; L ) { L=length} }END{ print L}' \/usr\/share\/dict\/web2a # 24 is longest thanks to advice of <a target=_blank title='Useful link' href='http:\/\/www.unixcl.com\/2009\/04\/find-length-of-longest-line-awk-bash.html'>this useful link<\/a>, thanks<br \/>\n<\/code>\n<\/li>\n<li>the game &#8220;standards&#8221; for randomosity as per &#8230;<br \/>\n<code><br \/>\nvar lis=<a target=_blank href='http:\/\/www.w3schools.com\/jsref\/jsref_eval.asp' title='Javascript eval'>eval<\/a>(<a target=_blank title='Javascript Math.random() information from w3schools' href='http:\/\/www.w3schools.com\/jsref\/jsref_floor.asp'>Math.floor<\/a>(<a target=_blank title='Javascript Math.random() information from w3schools' href='http:\/\/www.w3schools.com\/jsref\/jsref_random.asp'>Math.random()<\/a> * 21) + 3);<br \/>\n<\/code>\n<\/li>\n<li>the usual &#8220;Score: 0\/0&#8221; (implied score\/goes) scoring arrangements<\/li>\n<li>the usual Javascript <a target=_blank title='Javascript setTimeout method information from w3schools' href='http:\/\/www.w3schools.com\/jsref\/met_win_settimeout.asp'><i>setTimeout<\/i><\/a> timer methodology control of the game&#8217;s flow<\/li>\n<li>the often used offering to find out more on a wrong answer via a <a target=_blank href='http:\/\/www.w3schools.com\/jsref\/met_win_open.asp' title='window.open information from w3schools'>window.open<\/a> <a target=_blank href=\"http:\/\/www.thefreedictionary.com\/\">English<\/a> dictionary popup mechanism, prompted for via a Javascript <a target=_blank href='http:\/\/www.w3schools.com\/jsref\/met_win_prompt.asp' title='Javascript prompt window information from w3schools ... thanks'>prompt<\/a> window<\/li>\n<li>the recent obsession, the HTML <a target=_blank title='HTML div information from w3schools' href='http:\/\/www.w3schools.com\/tags\/tag_div.asp'><i>div<\/i><\/a> element set to <a target=_blank title='HTML Global attribute contenteditable information from w3schools' href='https:\/\/www.w3schools.com\/tags\/att_global_contenteditable.asp'><i>contenteditable<\/i><\/a>=true mode allows for slightly simpler looking user interaction flagged via the <a target=_blank title='Javascript onclick event information from w3schools' href='http:\/\/www.w3schools.com\/jsref\/event_onblur.asp'><i>onblur<\/i><\/a> event<\/li>\n<li>the &#8220;I give up&#8221; mechanism (that can be really annoying NOT to have, in some games) handled via means of the <a target=_blank title='Javascript onclick event information from w3schools' href='http:\/\/www.w3schools.com\/jsref\/event_onclick.asp'><i>onclick<\/i><\/a> event, today, via a click on the non-div elements (though we did try it, unsuccessfully with the HTML div element, but it being contenteditable=true, really needs a click (into it) left aside to allow for the HTML div element to get the focus)<\/li>\n<\/ul>\n<p>Your typical game ideas, in large part.<\/p>\n<p>Here&#8217;s a <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/phrase.html\" title='Click picture'>live run<\/a> and here is the HTML programming source code you could call <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/phrase.html_GETME\" title=\"wordguessgame.html\">phrase.html<\/a> which, again, uses some PHP we&#8217;ve talked about with a lot of our <a target=_blank title='Word Games' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/word-game'>word games<\/a> at this blog, the very shy surprise.php <font size=1>&#8230; aptly named, don&#8217;t you think?!<\/font><\/p>\n<hr>\n<p id='fnggtpt'>Previous relevant <a target=_blank title='First Name Guessing Game for Two Primer Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/first-name-guessing-game-for-two-primer-tutorial\/'>First Name Guessing Game for Two 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\/HTMLCSS\/nameguessgame.html\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"First Name Guessing Game for Two Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/nameguessgame.jpg\" title=\"First Name Guessing Game for Two Primer Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">First Name Guessing Game for Two Primer Tutorial<\/p><\/div>\n<p>It may not be immediately imaginable what would be the synergies between today&#8217;s proposed &#8220;First Name Guessing Game for Two&#8221; and <a title='Word Guessing Game for Two Primer Tutorial' href='#wggtpt'>Word Guessing Game for Two Primer Tutorial<\/a>&#8216;s &#8220;Word Guessing Game for Two&#8221;.  Other than that a First Name is a Word, isn&#8217;t there too much difference here to clone the &#8220;Word Guessing Game for Two&#8221; into a new &#8220;First Name Guessing Game for Two&#8221; when even dictionaries usually do not venture into the world of First Names, so much a product of our culture and history?  But, believe it or not these two games are so alike that, apart from tweaks to prompt wordings and message wordings, all that is needed to succeed after the cloning is to make the middle<strike>man<\/strike>person surprise.php get called for Linux (or Mac OS X FreeBSD) dictionary file usage such that instead of accessing a dictionary file called &#8230;<\/p>\n<p><code><br \/>\n\/usr\/share\/dict\/words<br \/>\n<\/code><\/p>\n<p> &#8230; that contains a list of singular, in our case, English, words to access, for the purposes of our new &#8220;First Name Guessing Game for Two&#8221; the dictionary file &#8230;<\/p>\n<p><code><br \/>\n\/usr\/share\/dict\/propernames<br \/>\n<\/code><\/p>\n<p> &#8230; cute,huh?!  But a big ask for a complete list of First Names around the world!  Nevertheless, it is good to have this list for our game today, and some other ideas that you can think of, am sure.  Maybe, a basis in letters for part of a password idea, for example.  Seeing this same dictionary file on both Mac OS X and Linux was an encouraging sign of support from the operating systems here.<\/p>\n<p>The event and organizational side of the web application is just as described for <a title='Word Guessing Game for Two Primer Tutorial' href='#wggtpt'>Word Guessing Game for Two Primer Tutorial<\/a> below.  We just call surprise.php with an extra &#8230;<\/p>\n<p><code><br \/>\n&amp;firstname=y<br \/>\n<\/code><\/p>\n<p> &#8230; within its URL.  Also, references to the online <a target=_blank href=\"http:\/\/www.thefreedictionary.com\/\">English<\/a> dictionary become a bit inapplicable, but we substitute in, here, on these <i>a<\/i> links, use of the excellent <a target=_blank title='Behind the Name' href='http:\/\/www.behindthename.com\/'>Behind the Name<\/a> website, thanks.<\/p>\n<p>So here&#8217;s a <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/nameguessgame.html\" title='Click picture'>live run<\/a> and here is the HTML programming source code you could call <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/nameguessgame.html-GETME\" title=\"nameguessgame.html\">nameguessgame.html<\/a> which <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/nameguessgame.html-GETME\" title=\"nameguessgame.html\">got created via these cloning changes<\/a>.<\/p>\n<p>You can also see this play out at WordPress 4.1.1&#8217;s <a target=_blank  href='https:\/\/www.rjmprogramming.com.au\/ITblog\/first-name-guessing-game-for-two-primer-tutorial\/'>First Name Guessing Game for Two Primer Tutorial<\/a>.<\/p>\n<hr>\n<p id='wggtpt'>Previous relevant <a target=_blank title='Word Guessing Game for Two Primer Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/word-guessing-game-for-two-primer-tutorial\/'>Word Guessing Game for Two 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\/HTMLCSS\/wordguessgame.html\"><img decoding=\"async\" style=\"float:left; border: 15px solid pink;\" alt=\"Word Guessing Game for Two Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/wordguessgame.jpg\" title=\"Word Guessing Game for Two Primer Tutorial\" \/><\/a><p class=\"wp-caption-text\">Word Guessing Game for Two Primer Tutorial<\/p><\/div>\n<p>Word Games help vocabulary for <a target=_blank title='English as a second or foreign language' href='https:\/\/en.wikipedia.org\/wiki\/English_as_a_second_or_foreign_language'>ESL<\/a> students.  There is also not much doubt that collaboration can help ESL students, who also learn quicker with other students present.<\/p>\n<p>Today we create a web application Word Guessing Game designed for two.  Not two devices, the one device for two users (hovering over it).  So for &#8230;<\/p>\n<ul>\n<li>non-mobile users can play the game with one user using the mouse and the other using the keyboard<\/li>\n<li>mobile users can play with one user using touch on the blue areas of the web application and the other using touch on other places<\/li>\n<\/ul>\n<p>The events we code for are &#8230;<\/p>\n<ul>\n<li><a target=_blank title='Javascript onclick event information from w3schools' href='http:\/\/www.w3schools.com\/jsref\/event_onclick.asp'>onclick<\/a>  &#8230; will be recognised on non-mobile platforms<\/li>\n<li><a target=_blank title='Javascript ontouchstart event information from w3schools' href='http:\/\/www.w3schools.com\/jsref\/dom_obj_event.asp'>ontouchstart<\/a>  &#8230; will be recognised on mobile platforms (where it will supercede any onlick event)<\/li>\n<li><a target=_blank title='Javascript onkeyup event information from w3schools' href='http:\/\/www.w3schools.com\/jsref\/event_onkeyup.asp'>onkeyup<\/a> &#8230;  will be recognised on non-mobile platforms<\/li>\n<\/ul>\n<p> &#8230; so you can see that the colour coding of the webpage becomes important for the mobile platform usage.<\/p>\n<p>Today&#8217;s game tests English vocabulary skills.  Why just English?   Well, it uses English words, based on the dictionary arrangements at its (web) server, which happens to be based on English.<\/p>\n<p>Programmers often use <a target_blank title='Words (unix) information from Wikipedia' href='http:\/\/en.wikipedia.org\/wiki\/Words_%28Unix%29'>Linux dictionary files<\/a> as a means to get a word list, and that list could be in any language, and for ours it is English.<\/p>\n<p>Here&#8217;s a <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/wordguessgame.html\" title='Click picture'>live run<\/a> and here is the HTML programming source code you could call <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/wordguessgame.html_GETME\" title=\"wordguessgame.html\">wordguessgame.html<\/a> which, again, uses some PHP we&#8217;ve talked about with a lot of our <a target=_blank title='Word Games' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/word-game'>word games<\/a> at this blog, on a &#8220;Client Pre-Emptive Iframe&#8221; scenario in a couple of HTML iframe elements we include into today&#8217;s game.  We thank this free online <a target=_blank href=\"http:\/\/www.thefreedictionary.com\/\">English<\/a> dictionary that gets called on if the user chooses to.<\/p>\n<p>We hope you try it, and like it.  By the way, you can also play the game as a single user.<\/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='#d17485' onclick='var dv=document.getElementById(\"d17485\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"http:\/\/www.rjmprogramming.com.au\/wordpress\/?tag=SQL\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d17485' 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='#d36912' onclick='var dv=document.getElementById(\"d36912\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/linux\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d36912' 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='#d36930' onclick='var dv=document.getElementById(\"d36930\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/word\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d36930' 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='#d36975' onclick='var dv=document.getElementById(\"d36975\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/cursor\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d36975' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>There&#8217;s one last Linux and Mac OS X dictionary files concept to augment what we left off yesterday with English Phrase Guessing Game Primer Tutorial. It concerns the dictionary file &#8230; \/usr\/share\/dict\/connectives &#8230; which contains a list of those very &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/english-phrase-creation-game-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,14,15,37],"tags":[122,2442,2127,326,342,367,388,396,448,476,477,576,587,652,707,725,860,861,932,939,997,1866,1126,1319,1452,1453],"class_list":["post-36975","post","type-post","status-publish","format-standard","hentry","category-elearning","category-event-driven-programming","category-games","category-tutorials","tag-awk","tag-contenteditable","tag-cursor","tag-dictionary","tag-div","tag-dropdown","tag-english","tag-esl","tag-focus","tag-game","tag-games-2","tag-html","tag-iframe","tag-javascript","tag-linux","tag-mac-os-x","tag-onblur","tag-onclick","tag-php","tag-phrase","tag-programming","tag-select","tag-settimeout","tag-tutorial","tag-word","tag-word-game"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/36975"}],"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=36975"}],"version-history":[{"count":5,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/36975\/revisions"}],"predecessor-version":[{"id":36980,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/36975\/revisions\/36980"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=36975"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=36975"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=36975"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}