{"id":49700,"date":"2020-07-21T03:01:12","date_gmt":"2020-07-20T17:01:12","guid":{"rendered":"http:\/\/www.rjmprogramming.com.au\/ITblog\/?p=49700"},"modified":"2020-07-23T10:10:09","modified_gmt":"2020-07-23T00:10:09","slug":"pandoc-document-conversion-primer-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/pandoc-document-conversion-primer-tutorial\/","title":{"rendered":"Pandoc Document Conversion Primer Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Pandoc Document Conversion Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/Mac\/pandoc_matters.gif\" title=\"Pandoc Document Conversion Primer Tutorial\"  style=\"float:left;\"   \/><\/a><p class=\"wp-caption-text\">Pandoc Document Conversion Primer Tutorial<\/p><\/div>\n<p>Yesterday&#8217;s <a title='MacOS Document Conversion Primer Tutorial' href='#mosdcpt'>MacOS Document Conversion Primer Tutorial<\/a> left off with a link, as per &#8230;<\/p>\n<blockquote cite='\/\/www.rjmprogramming.com.au\/ITblog\/macos-document-conversion-primer-tutorial\/'><p>\n &#8230; read <a target=_blank title='Useful link' href='https:\/\/unix.stackexchange.com\/questions\/20859\/is-there-a-linux-equivalent-of-the-mac-os-x-command-textutil'>here<\/a>\n<\/p><\/blockquote>\n<p> &#8230; and it was here and with help from other links below that we took a big interest in a great Open Source product (great at Document Conversions) called <a target=_blank title='pandoc Document Conversion' href='https:\/\/pandoc.org\/'>pandoc<\/a> &#8230;<\/p>\n<ul>\n<li><a target=_blank title='3 command-line file conversion tools for Linux' href='https:\/\/opensource.com\/life\/16\/10\/3-file-conversion-tools-linux-command-line'>3 command-line file conversion tools for Linux<\/a><\/li>\n<li><a target=_blank title='Where do I get the pdflatex program for Mac?' href='https:\/\/superuser.com\/questions\/1038612\/where-do-i-get-the-pdflatex-program-for-mac'>Where do I get the pdflatex program for Mac?<\/a><\/li>\n<li><a target=_blank title='where is pandoc installed on windows' href='https:\/\/www.google.com\/search?q=where+is+pandoc+installed+on+windows&#038;rlz=1C5CHFA_enAU832AU832&#038;oq=where+is+pandoc+installed+on+windows&#038;aqs=chrome..69i57j0l4.10264j0j8&#038;sourceid=chrome&#038;ie=UTF-8'>where is pandoc installed on windows<\/a><\/li>\n<li><a target=_blank title='Setting up LaTeX on a Mac' href='http:\/\/nickgeorge.net\/programming\/latex_setup\/'>Setting up LaTeX on a Mac<\/a><\/li>\n<li><a target=_blank title='Getting MiKTeX' href='https:\/\/miktex.org\/download'>Getting MiKTeX<\/a><\/li>\n<\/ul>\n<p> &#8230; the reason for the interest in MikTeX being a wish to include pdflatex into the PATH as distinct from our preferred approach to add an additional switch &#8230;<\/p>\n<p><code><br \/>\n --pdf-engine=[pathTo]pdflatex<br \/>\n<\/code><\/p>\n<p> &#8230; to try to match the success of pandoc at the Terminal application command line but not with PHP exec usage.  This issue occurred with our macOS system after our two Homebrew install commands (in Terminal session) &#8230;<\/p>\n<p><code><br \/>\n$ brew install pandoc<br \/>\n$ brew cask install basictex<br \/>\n<\/code><\/p>\n<p> &#8230; and, visually, you can see some of with today&#8217;s <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/Mac\/pandoc_matters.gif\">tutorial picture<\/a>.<\/p>\n<p>This Pandoc integration allows a way in for our web application to be operable for Windows or Linux servers where you have installed Pandoc, as well as pdflatex for Word to PDF conversions.  Clearly, to open the door to more platforms is a step we welcome, and may spare us a Panadol?!<\/p>\n<p><a target=_blank title='macos_textutil_convert.php' href='http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php--GETME'>The changed<\/a> <a target=_blank title='macos_textutil_convert.php' href='http:\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php--GETME'>macos_textutil_convert.php<\/a> reflects this Pandoc integration.<\/p>\n<p><!--p>You can also see this play out at WordPress 4.1.1's <a target=_blank  href='\/\/www.rjmprogramming.com.au\/ITblog\/pandoc-document-conversion-primer-tutorial\/'>Pandoc Document Conversion Primer Tutorial<\/a>.<\/p-->\n<hr>\n<p id='mosdcpt'>Previous relevant <a target=_blank title='MacOS Document Conversion Primer Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/macos-document-conversion-primer-tutorial\/'>MacOS Document Conversion 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\/macos_textutil_convert.php\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"MacOS Document Conversion Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/Mac\/textutil_convert.jpg\" title=\"MacOS Document Conversion Primer Tutorial\"  style=\"float:left;\"   \/><\/a><p class=\"wp-caption-text\">MacOS Document Conversion Primer Tutorial<\/p><\/div>\n<p>A good thing about a &#8220;version control&#8221; or &#8220;source control&#8221; system is that you can &#8230;<\/p>\n<ul>\n<li>&#8220;pick up&#8221; from any version &#8230;<\/li>\n<li>&#8220;clone&#8221; to another name &#8230;<\/li>\n<li>&#8220;branch off&#8221; immediately into a new version &#8230;<\/li>\n<\/ul>\n<p> &#8230; to effectively &#8220;clone&#8221; the suitable progress point from a previous project as the start to a new project.<\/p>\n<p>So on top of yesterday&#8217;s &#8220;way back when&#8221; <a title='MacOS Text to Audio Primer Tutorial' href='#mostapt'>MacOS Text to Audio Primer Tutorial<\/a> early stage &#8220;progression point&#8221; of our &#8220;Voiceover Ideas&#8221; back to &#8220;macOS say&#8221; (just works with macOS and MacOS X underlying operating system under PHP &#8220;online presence&#8221;) interfacing, we &#8220;start off&#8221; a new &#8220;Document Conversion&#8221; web application (you guessed it) initially only working with macOS and MacOS X underlying operating system under PHP &#8220;online presence&#8221;.<\/p>\n<p>Like for below, Document Conversion via Mac OS X&#8217;s command line <a target=_blank title='textutil command information from Apple' href='https:\/\/ss64.com\/osx\/textutil.html'><i>textutil<\/i><\/a> command used by PHP via <a target=_blank title='PHP exec() method information' href='http:\/\/php.net\/manual\/en\/function.exec.php'><i>exec<\/i><\/a> to make <a target=_blank title='say.php' href='http:\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php-GETME'>macos_textutil_convert.php<\/a> &#8230; cloned via <a target=_blank title='say.php' href='http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/macos_textutil_convert.php-GETME'>macos_textutil_convert.php<\/a> &#8230; (which is useful as a download to a Mac OS X laptop using <a target=_blank title='MAMP for Apache\/PHP\/MySql on Mac OS X local web server' href='http:\/\/www.mamp.info'>MAMP<\/a>) which, today, does not yet have a very interesting live run because the web server of domain <i>rjmprogramming.com.au<\/i> is a CentOS Linux server &#8230; Linux equivalent of Mac OS X&#8217;s <i>textutil<\/i>? &#8230; read <a target=_blank title='Useful link' href='https:\/\/unix.stackexchange.com\/questions\/20859\/is-there-a-linux-equivalent-of-the-mac-os-x-command-textutil'>here<\/a>.<\/p>\n<p><!--p>You can also see this play out at WordPress 4.1.1's <a target=_blank  href='\/\/www.rjmprogramming.com.au\/ITblog\/macos-document-conversion-primer-tutorial\/'>MacOS Document Conversion Primer Tutorial<\/a>.<\/p-->\n<hr>\n<p id='mostapt'>Previous relevant <a target=_blank title='MacOS Text to Audio Primer Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/macos-text-to-audio-primer-tutorial\/'>MacOS Text to Audio 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\/PHP\/animegif\/haiku_animated_gif.html\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"MacOS Text to Audio Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/animegif\/haiku__say.jpg\" title=\"MacOS Text to Audio Primer Tutorial\"  style=\"float:left;\"   \/><\/a><p class=\"wp-caption-text\">MacOS Text to Audio Primer Tutorial<\/p><\/div>\n<p>The previous <a title='Mac OS X Text to English Speech Primer Tutorial' href='#mosxtespt'>Mac OS X Text to English Speech Primer Tutorial<\/a> &#8230;<\/p>\n<ul>\n<li>lauded the &#8230;<br \/>\n<blockquote cite='\/\/www.rjmprogramming.com.au\/ITblog\/mac-os-x-text-to-english-speech-primer-tutorial\/'><p>\nText to English Speech via Mac OS X&#8217;s command line <a target=_blank title='say command information from Apple' href='https:\/\/ss64.com\/osx\/say.html'><i>say<\/i><\/a> command\n<\/p><\/blockquote>\n<\/li>\n<li>and today we write some PHP (with its very useful <a target=_blank title='PHP exec() method information' href='http:\/\/php.net\/manual\/en\/function.exec.php'><i>exec<\/i><\/a> conduit to &#8220;say&#8221;) to make use of the same (macOS) &#8220;say&#8221; and its Text to Audio talents (via its &#8220;-o&#8221; switch usage)<\/li>\n<\/ul>\n<p> &#8230; and it&#8217;s at times like this we wish that the RJM Programming domain&#8217;s web server had a macOS operating system.  Alas, &#8220;say&#8221; is a macOS and Mac OS X application, but not a Linux one.<\/p>\n<p>None the less, we integrated &#8230;<\/p>\n<ul>\n<li><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/animegif\/haiku_animated_gif.html--GETME\" title=\"haiku_animated_gif.html\">today&#8217;s changed<\/a> <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/animegif\/haiku_animated_gif.html--GETME\">haiku_animated_gif.html<\/a>&#8216;s <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/animegif\/haiku_animated_gif.html\">Haiku creation and sharing web application live run<\/a> link&#8217;s workings (last talked about at <a target=_blank href='https:\/\/www.rjmprogramming.com.au\/ITblog\/haiku-animated-gif-creator-tutorial\/' title='Haiku Animated Gif Creator Tutorial'>Haiku Animated Gif Creator Tutorial<\/a>) with &#8230;<\/li>\n<li><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/macos_say_record.php_GETME\" title=\"macos_say_record.php\">macos_say_record.php<\/a> macOS &#8220;say&#8221; PHP helper<\/li>\n<\/ul>\n<p> &#8230; so that if you had a <a target=_blank title='MAMP for Apache\/PHP\/MySql on Mac OS X local web server' href='http:\/\/www.mamp.info'><i>MAMP<\/i><\/a> local Apache\/PHP\/MySql web server going, and you &#8230;<\/p>\n<ul>\n<li>downloaded <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/animegif\/tutorial_to_animated_gif.php---------------GETME\" title=\"tutorial_to_animated_gif.php\">tutorial_to_animated_gif.php<\/a> to same MAMP subdirectory as &#8230;<\/li>\n<li>downloaded <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/animegif\/haiku_animated_gif.html--GETME\">haiku_animated_gif.html<\/a> to same MAMP place (which can be the same MAMP document root place as talked about below, in which case <i>HTTP:\/\/localhost:8888\/haiku_animated_gif.html<\/i> is what you&#8217;d type into the web browser address bar to try this for yourself on a macOS or Mac OS X system) &#8230; and &#8230;<\/li>\n<li>downloaded <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/macos_say_record.php_GETME\" title=\"macos_say_record.php\">macos_say_record.php<\/a> to MAMP document root (for us, equating to URL <i>HTTP:\/\/localhost:8888\/macos_say_record.php<\/i>)<\/li>\n<\/ul>\n<p> &#8230; then you would be in the position to see a Haiku creation scenario (where we used the Safari web browser) like with today&#8217;s <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/animegif\/haiku__say.jpg\" title=\"tutorial picture\">tutorial picture<\/a>, interesting, in our view, regarding the integration &#8220;tactics&#8221; &#8230;<\/p>\n<ul>\n<li>parent Haiku window opens &#8230;<\/li>\n<li>child (popup) PHP &#8220;say&#8221; helper web application &#8230; which &#8230;<\/li>\n<li>passes back to parent &#8230;<br \/>\n<code><br \/>\n    <a target=_blank title='window.opener information from W3Schools' href='https:\/\/www.w3schools.com\/jsref\/prop_win_opener.asp'>window.opener<\/a>.document.getElementById('aurl').value=document.getElementById('result').value;<br \/>\n    window.opener.atab(window.opener.document.getElementById('aurl'));<br \/>\n<\/code>\n<\/li>\n<\/ul>\n<p> &#8230; achieving functionality we often ask HTML <a target=_blank title='HTML iframe information from w3schools' href='http:\/\/www.w3schools.com\/tags\/tag_iframe.asp'>iframe<\/a> elements achieve for our code.  HTML iframe does have a role today, though.  It uses a favoured &#8220;client pre-emptive iframe&#8221; approach to determine whether we even try to open that popup window above via &#8230;<\/p>\n<ul>\n<li>HTML &#8230;<br \/>\n<code><br \/>\n&lt;div id=dif&gt;&lt;\/div&gt;<br \/>\n<\/code>\n<\/li>\n<li>Javascript &#8230;<br \/>\n<code><br \/>\n     var mampok=false, mampprefix='';<br \/>\n<br \/>\n     if (document.URL.indexOf('\/localhost') != -1) {<br \/>\n       mampprefix=\"http:\/\/localhost\" + document.URL.split('\/localhost')[1].split('\/')[0] + \"\/\";<br \/>\n       document.getElementById('dif').innerHTML=\"&lt;iframe onload='oicheck(this);' style='display:none;' src='http:\/\/localhost\" + document.URL.split('\/localhost')[1].split('\/')[0] + \"\/'&gt;&lt;\/iframe&gt;\";<br \/>\n     }<br \/>\n<br \/>\n function oicheck(iois) {<br \/>\n  mampok=false;<br \/>\n  if (iois != null) {<br \/>\n    var aconto = (iois.contentWindow || iois.contentDocument);<br \/>\n    if (aconto != null) {<br \/>\n     if (aconto.document) { aconto = aconto.document; }<br \/>\n     if (aconto.body != null) {<br \/>\n      if (aconto.body.innerHTML.toLowerCase().indexOf('&gt;not found&lt;') == -1 && aconto.body.innerHTML.toLowerCase().indexOf(\"our home page for your perusal\") == -1) { mampok=true; }<br \/>\n     }<br \/>\n    }<br \/>\n  }<br \/>\n }<br \/>\n<br \/>\n\/\/ and then later when the textarea has text and its onblur event is triggered ...<br \/>\n if (mampok) {<br \/>\n if (wois) { wois.close(); wois=null; }<br \/>\n wois=window.open(mampprefix + \"macos_say_record.php?saythis=\" + encodeURIComponent(document.getElementById('myta').value),\"_blank\",\"top=460,left=400,width=700,height=400\");<br \/>\n }<br \/>\n<\/code>\n<\/li>\n<p><!--p>You can also see this play out at WordPress 4.1.1's <a target=_blank  href='\/\/www.rjmprogramming.com.au\/ITblog\/macos-text-to-audio-primer-tutorial\/'>MacOS Text to Audio Primer Tutorial<\/a>.<\/p-->\n<hr>\n<p id='mosxtespt'>Previous relevant <a target=_blank title='Mac OS X Text to English Speech Primer Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/mac-os-x-text-to-english-speech-primer-tutorial\/'>Mac OS X Text to English Speech 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\/PHP\/audio_video.html?clickit=submitmb\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Mac OS X Text to English Speech Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/PHP\/say.jpg\" title=\"Mac OS X Text to English Speech Primer Tutorial\"  style=\"float:left;\"   \/><\/a><p class=\"wp-caption-text\">Mac OS X Text to English Speech Primer Tutorial<\/p><\/div>\n<p>We&#8217;ve got a few new ideas today &#8230;<\/p>\n<ol>\n<li>Text to English Speech via Mac OS X&#8217;s command line <a target=_blank title='say command information from Apple' href='https:\/\/ss64.com\/osx\/say.html'><i>say<\/i><\/a> command used by PHP via <a target=_blank title='PHP exec() method information' href='http:\/\/php.net\/manual\/en\/function.exec.php'><i>exec<\/i><\/a> to make <a target=_blank title='say.php' href='http:\/\/www.rjmprogramming.com.au\/PHP\/say.php_GETME'>say.php<\/a> (which is useful as a download to a Mac OS X laptop using <a target=_blank title='MAMP for Apache\/PHP\/MySql on Mac OS X local web server' href='http:\/\/www.mamp.info'>MAMP<\/a>) which, today, does not have a live run because the web server of domain <i>rjmprogramming.com.au<\/i> is a CentOS Linux server &#8230; Linux equivalent of Mac OS X&#8217;s <i>say<\/i>? &#8230; read <a target=_blank title='Useful link' href='https:\/\/github.com\/usc-isi-i2\/festival-text-to-speech-service\/blob\/master\/README.md'>here<\/a><\/li>\n<li>Trying to present this brought up the usual movie production problem with <a target=_blank title='iMovie for Mac information from Apple' href='http:\/\/www.apple.com\/au\/mac\/imovie\/'>iMovie<\/a> overlaying the audio on top of the video (though you may want to try, and you could start reading with <a target=_blank title='Semi useful link' href='http:\/\/video.stackexchange.com\/questions\/2579\/can-you-link-an-audio-track-to-a-video-track-in-imovie'>this link<\/a>) versus <a target=_blank title='QuickTime information from Apple' href='https:\/\/support.apple.com\/downloads\/quicktime'>QuickTime Player<\/a> talent to catch both audio and video tracks (and that we ended up using), but not of the &#8220;screen goings on&#8221;, alas versus <a target=_blank title='MPlayer OSX Extended information' href='http:\/\/mplayerosx.ch\/'>MPlayer OSX Extended<\/a> which can play separately but not two tracks on top and doesn&#8217;t do any reconstituting &#8230; so &#8230;<\/li>\n<li>Improved on our inhouse Video\/Audio synchronizing efforts by allowing <a target=_blank title='audio_video.html' href='http:\/\/www.rjmprogramming.com.au\/PHP\/audio_video.html---GETME'>audio_video.html<\/a> supervisor (changed in <a target=_blank title='audio_video.html' href='http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/PHP\/audio_video.html---GETME'>this way<\/a>) be able to be called to press one of its preconceived synchronization buttons <i>onload<\/i> which we do with (the newly added) <a target=_blank title='Macbeth Act 1 Scene 1' href='http:\/\/www.rjmprogramming.com.au\/PHP\/audio_video.html?clickit=submitmb'>Macbeth Act 1 Scene 1<\/a> &#8230; in a small <a target=_blank title='Birthday of Shakespeare' href='http:\/\/www.shakespeare.org.uk\/visit-the-houses\/whats-on.html\/birthday-celebrations.html'>celebration<\/a> of the Bard &#8230; who, am thinking (in that Falstaff way), would have got a huge chuckle out of &#8220;anonymous&#8221; instead of &#8220;anon&#8221; during the Three Witches scene &#8230; we <i>had<\/i> to do something to say Happy Birthday<\/li>\n<\/ol>\n<p>Along the way we tried filming the MacBook Pro with the iPad to a <a target=_blank title='YouTube' href='http:\/\/youtube.com'>YouTube<\/a> &#8230;<\/p>\n<p><iframe loading=\"lazy\" width=\"420\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/9-Hvlz8g1Mg\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p> &#8230; but weren&#8217;t happy with the audio quality, alas (too\/two).<\/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='#d21904' onclick='var dv=document.getElementById(\"d21904\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/text-to-speech\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d21904' 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='#d49544' onclick='var dv=document.getElementById(\"d49544\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/audio\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d49544' 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='#d49695' onclick='var dv=document.getElementById(\"d49695\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/document\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d49695' 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='#d49700' onclick='var dv=document.getElementById(\"d49700\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/pdf\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d49700' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Yesterday&#8217;s MacOS Document Conversion Primer Tutorial left off with a link, as per &#8230; &#8230; read here &#8230; and it was here and with help from other links below that we took a big interest in a great Open Source &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/pandoc-document-conversion-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,29,37],"tags":[113,3349,234,349,405,587,714,725,2178,744,760,885,3365,913,3366,932,967,997,1083,2350,3350,1258,1262,3364,1319,1411,1583,1433,3010],"class_list":["post-49700","post","type-post","status-publish","format-standard","hentry","category-elearning","category-operating-system","category-tutorials","tag-audio","tag-client-pre-emptive-iframe","tag-command-line","tag-document","tag-exec","tag-iframe","tag-local-web-server","tag-mac-os-x","tag-macos","tag-mamp","tag-media","tag-operating-system-2","tag-pandoc","tag-pdf","tag-pdflatex","tag-php","tag-popup","tag-programming","tag-safari","tag-say","tag-text-to-audio","tag-text-to-speech","tag-textarea","tag-textutil","tag-tutorial","tag-web-server","tag-window","tag-window-open","tag-window-opener"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/49700"}],"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=49700"}],"version-history":[{"count":7,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/49700\/revisions"}],"predecessor-version":[{"id":49718,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/49700\/revisions\/49718"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=49700"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=49700"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=49700"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}