

{"id":462,"date":"2011-04-12T06:17:01","date_gmt":"2011-04-12T11:17:01","guid":{"rendered":"http:\/\/rud.is\/b\/?p=462"},"modified":"2017-03-27T09:24:01","modified_gmt":"2017-03-27T14:24:01","slug":"flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix","status":"publish","type":"post","link":"https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/","title":{"rendered":"&#8220;Flatten&#8221; HTML Content (i.e strip tags) in Cocoa\/Objective-C [UPDATED] [BUG-FIX]"},"content":{"rendered":"<p>One of my most popular blog posts &mdash; 24,000 reads &mdash; in the old, co-mingled site was a <span class=\"removed_link\" title=\"https:\/\/rudis.net\/content\/2009\/01\/21\/flatten-html-content-ie-strip-tags-cocoaobjective-c\">short snippet<\/span> on how to strip HTML tags from a block of content in Objective-C. It&#8217;s been used by many-an-iOS developer (which was the original intent).<\/p>\n<p>An intrepid reader &#038; user (&#8220;Brian&#8221; &#8211; no other attribution available) found a memory leak that really rears it&#8217;s ugly head when parsing large-content blocks. The updated code is below (with the original post text) and also in the comments on the old site. If Brian reads this, please post full attribution info in the comments or to @hrbrmstr so I can give you proper credit.<\/p>\n<div style=\"width:100%;border-bottom:1px dotted gray;margin-bottom:12px;\"><\/div>\n<p>I needed to strip the tags from some HTML that was embedded in an XML feed so I could display a short summary from the full content in a <code>UITableView<\/code>. Rather than go through the effort of parsing HTML on the iPhone (as I already parsed the XML file) I built this simple method from some half-finished snippets I found. It has worked in all of the cases I have needed, but your mileage may vary. It is at least a working method (which cannot be said about most of the other examples). It works both in iOS (iPhone\/iPad) and in plain-old OS X code, too.<\/p>\n<p>    &#8211; (NSString *) stripTags:(NSString *)str {<\/p>\n<p>      NSMutableString *html = [NSMutableString stringWithCapacity:[str length]];<\/p>\n<p>      NSScanner *scanner = [NSScanner scannerWithString:str];<br \/>\n      NSString *tempText = nil;<\/p>\n<p>      while (![scanner isAtEnd]) {<\/p>\n<p>         [scanner scanUpToString:@&quot;&lt;&quot; intoString:&amp;tempText];<\/p>\n<p>         if (tempText != nil)<br \/>\n            [html appendString:tempText];<\/p>\n<p>         [scanner scanUpToString:@&quot;&gt;&quot; intoString:NULL];<\/p>\n<p>         if (![scanner isAtEnd])<br \/>\n         [scanner setScanLocation:[scanner scanLocation] + 1];<\/p>\n<p>         tempText = nil;<\/p>\n<p>      }<\/p>\n<p>      return html ;<\/p>\n<p>    }<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of my most popular blog posts &mdash; 24,000 reads &mdash; in the old, co-mingled site was a short snippet on how to strip HTML tags from a block of content in Objective-C. It&#8217;s been used by many-an-iOS developer (which was the original intent). An intrepid reader &#038; user (&#8220;Brian&#8221; &#8211; no other attribution available) [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":3,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[63,10,64,6],"tags":[403,108,400,125,143,742,402,404,399,401],"class_list":["post-462","post","type-post","status-publish","format-standard","hentry","category-development","category-ios","category-objective-c","category-software","tag-cocoa","tag-html","tag-iphone","tag-mac-os-x","tag-markup-languages","tag-objective-c","tag-scanner","tag-technical-communication","tag-ugly-head","tag-xml"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>&quot;Flatten&quot; HTML Content (i.e strip tags) in Cocoa\/Objective-C [UPDATED] [BUG-FIX] - rud.is<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"&quot;Flatten&quot; HTML Content (i.e strip tags) in Cocoa\/Objective-C [UPDATED] [BUG-FIX] - rud.is\" \/>\n<meta property=\"og:description\" content=\"One of my most popular blog posts &mdash; 24,000 reads &mdash; in the old, co-mingled site was a short snippet on how to strip HTML tags from a block of content in Objective-C. It&#8217;s been used by many-an-iOS developer (which was the original intent). An intrepid reader &#038; user (&#8220;Brian&#8221; &#8211; no other attribution available) [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/\" \/>\n<meta property=\"og:site_name\" content=\"rud.is\" \/>\n<meta property=\"article:published_time\" content=\"2011-04-12T11:17:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-03-27T14:24:01+00:00\" \/>\n<meta name=\"author\" content=\"hrbrmstr\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"hrbrmstr\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/\"},\"author\":{\"name\":\"hrbrmstr\",\"@id\":\"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886\"},\"headline\":\"&#8220;Flatten&#8221; HTML Content (i.e strip tags) in Cocoa\/Objective-C [UPDATED] [BUG-FIX]\",\"datePublished\":\"2011-04-12T11:17:01+00:00\",\"dateModified\":\"2017-03-27T14:24:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/\"},\"wordCount\":282,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886\"},\"keywords\":[\"Cocoa\",\"HTML\",\"iPhone\",\"Mac OS X\",\"Markup languages\",\"Objective-C\",\"Scanner\",\"Technical communication\",\"ugly head\",\"XML\"],\"articleSection\":[\"Development\",\"iOS\",\"Objective-C\",\"Software\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/\",\"url\":\"https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/\",\"name\":\"\\\"Flatten\\\" HTML Content (i.e strip tags) in Cocoa\/Objective-C [UPDATED] [BUG-FIX] - rud.is\",\"isPartOf\":{\"@id\":\"https:\/\/rud.is\/b\/#website\"},\"datePublished\":\"2011-04-12T11:17:01+00:00\",\"dateModified\":\"2017-03-27T14:24:01+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/rud.is\/b\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"&#8220;Flatten&#8221; HTML Content (i.e strip tags) in Cocoa\/Objective-C [UPDATED] [BUG-FIX]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/rud.is\/b\/#website\",\"url\":\"https:\/\/rud.is\/b\/\",\"name\":\"rud.is\",\"description\":\"&quot;In God we trust. All others must bring data&quot;\",\"publisher\":{\"@id\":\"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/rud.is\/b\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886\",\"name\":\"hrbrmstr\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1\",\"url\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1\",\"width\":460,\"height\":460,\"caption\":\"hrbrmstr\"},\"logo\":{\"@id\":\"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1\"},\"description\":\"Don't look at me\u2026I do what he does \u2014 just slower. #rstats avuncular \u2022 ?Resistance Fighter \u2022 Cook \u2022 Christian \u2022 [Master] Chef des Donn\u00e9es de S\u00e9curit\u00e9 @ @rapid7\",\"sameAs\":[\"http:\/\/rud.is\"],\"url\":\"https:\/\/rud.is\/b\/author\/hrbrmstr\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\"Flatten\" HTML Content (i.e strip tags) in Cocoa\/Objective-C [UPDATED] [BUG-FIX] - rud.is","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/","og_locale":"en_US","og_type":"article","og_title":"\"Flatten\" HTML Content (i.e strip tags) in Cocoa\/Objective-C [UPDATED] [BUG-FIX] - rud.is","og_description":"One of my most popular blog posts &mdash; 24,000 reads &mdash; in the old, co-mingled site was a short snippet on how to strip HTML tags from a block of content in Objective-C. It&#8217;s been used by many-an-iOS developer (which was the original intent). An intrepid reader &#038; user (&#8220;Brian&#8221; &#8211; no other attribution available) [&hellip;]","og_url":"https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/","og_site_name":"rud.is","article_published_time":"2011-04-12T11:17:01+00:00","article_modified_time":"2017-03-27T14:24:01+00:00","author":"hrbrmstr","twitter_card":"summary_large_image","twitter_misc":{"Written by":"hrbrmstr","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/#article","isPartOf":{"@id":"https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/"},"author":{"name":"hrbrmstr","@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"headline":"&#8220;Flatten&#8221; HTML Content (i.e strip tags) in Cocoa\/Objective-C [UPDATED] [BUG-FIX]","datePublished":"2011-04-12T11:17:01+00:00","dateModified":"2017-03-27T14:24:01+00:00","mainEntityOfPage":{"@id":"https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/"},"wordCount":282,"commentCount":2,"publisher":{"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"keywords":["Cocoa","HTML","iPhone","Mac OS X","Markup languages","Objective-C","Scanner","Technical communication","ugly head","XML"],"articleSection":["Development","iOS","Objective-C","Software"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/","url":"https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/","name":"\"Flatten\" HTML Content (i.e strip tags) in Cocoa\/Objective-C [UPDATED] [BUG-FIX] - rud.is","isPartOf":{"@id":"https:\/\/rud.is\/b\/#website"},"datePublished":"2011-04-12T11:17:01+00:00","dateModified":"2017-03-27T14:24:01+00:00","breadcrumb":{"@id":"https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/rud.is\/b\/2011\/04\/12\/flatten-html-content-i-e-strip-tags-in-cocoaobjective-c-updated-bug-fix\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/rud.is\/b\/"},{"@type":"ListItem","position":2,"name":"&#8220;Flatten&#8221; HTML Content (i.e strip tags) in Cocoa\/Objective-C [UPDATED] [BUG-FIX]"}]},{"@type":"WebSite","@id":"https:\/\/rud.is\/b\/#website","url":"https:\/\/rud.is\/b\/","name":"rud.is","description":"&quot;In God we trust. All others must bring data&quot;","publisher":{"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/rud.is\/b\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/rud.is\/b\/#\/schema\/person\/d7cb7487ab0527447f7fda5c423ff886","name":"hrbrmstr","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1","url":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1","contentUrl":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1","width":460,"height":460,"caption":"hrbrmstr"},"logo":{"@id":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2023\/10\/ukr-shield.png?fit=460%2C460&ssl=1"},"description":"Don't look at me\u2026I do what he does \u2014 just slower. #rstats avuncular \u2022 ?Resistance Fighter \u2022 Cook \u2022 Christian \u2022 [Master] Chef des Donn\u00e9es de S\u00e9curit\u00e9 @ @rapid7","sameAs":["http:\/\/rud.is"],"url":"https:\/\/rud.is\/b\/author\/hrbrmstr\/"}]}},"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p23idr-7s","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":512,"url":"https:\/\/rud.is\/b\/2011\/04\/17\/a-fully-operational-os-x-dbclone\/","url_meta":{"origin":462,"position":0},"title":"A Fully Operational OS X dbClone","author":"hrbrmstr","date":"2011-04-17","format":false,"excerpt":"Spent some time today updating the missing bits of the OS X version of the Dropbox cloner I uploaded last night. You can just grab the executable or grab the whole project from the github repository. The app can now backup\/restore of local config, clone dropbox configs to a URL\/file\u2026","rel":"","context":"In &quot;Development&quot;","block_context":{"text":"Development","link":"https:\/\/rud.is\/b\/category\/development\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4611,"url":"https:\/\/rud.is\/b\/2016\/08\/06\/quicklookr-a-macos-quicklook-plugin-for-r-data-files\/","url_meta":{"origin":462,"position":1},"title":"QuickLookR &#8211; A macOS QuickLook plugin for R Data files","author":"hrbrmstr","date":"2016-08-06","format":false,"excerpt":"I had tried to convert my data-saving workflows to [`feather`](https:\/\/github.com\/wesm\/feather\/tree\/master\/R) but there have been [issues](https:\/\/github.com\/wesm\/feather\/issues\/155) with it supporting large files (that seem to be near resolution), so I've been continuing to use R Data files for local saving of processed\/cleaned data. I make _many_ of these files and sometimes I\u2026","rel":"","context":"In &quot;Objective-C&quot;","block_context":{"text":"Objective-C","link":"https:\/\/rud.is\/b\/category\/objective-c\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":13039,"url":"https:\/\/rud.is\/b\/2021\/04\/24\/making-macos-universal-apps-with-universal-golang-static-libraries\/","url_meta":{"origin":462,"position":2},"title":"Making macOS Universal Apps in Swift with Universal Golang Static Libraries","author":"hrbrmstr","date":"2021-04-24","format":false,"excerpt":"There are a plethora of amazingly useful Golang libraries, and it has been possible for quite some time to use Go libraries with Swift. The advent of the release of the new Apple Silicon\/M1\/arm64 architecture for macOS created the need for a new round of \"fat\"\/\"universal\" binaries and libraries to\u2026","rel":"","context":"In &quot;Go&quot;","block_context":{"text":"Go","link":"https:\/\/rud.is\/b\/category\/go\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3787,"url":"https:\/\/rud.is\/b\/2015\/11\/13\/beware-of-sideloading-f-lux-for-ios-from-files-obtained-on-sharingtorrent-sites\/","url_meta":{"origin":462,"position":3},"title":"Beware of sideloading f.lux for iOS from files obtained on sharing\/torrent sites","author":"hrbrmstr","date":"2015-11-13","format":false,"excerpt":"Apple made the @justgetflux folks remove their [iOS sideloaded app](https:\/\/justgetflux.com\/sideload\/) due to the use of private APIs (which are a violation of the Apple Developer agreement). The ZIP archive has been pulled from their site (and it really has, too). This \"sideloading\"\u2014i.e. installing directly to your device after compiling it\u2026","rel":"","context":"In &quot;Apple&quot;","block_context":{"text":"Apple","link":"https:\/\/rud.is\/b\/category\/apple\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/rud.is\/b\/wp-content\/uploads\/2015\/11\/image.png?fit=400%2C368&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":6215,"url":"https:\/\/rud.is\/b\/2017\/09\/04\/readability-redux\/","url_meta":{"origin":462,"position":4},"title":"Readability Redux","author":"hrbrmstr","date":"2017-09-04","format":false,"excerpt":"I recently posted about using a Python module to convert HTML to usable text. Since then, a new package has hit CRAN dubbed htm2txt that is 100% R and uses regular expressions to strip tags from text. I gave it a spin so folks could compare some basic output, but\u2026","rel":"","context":"In &quot;data wrangling&quot;","block_context":{"text":"data wrangling","link":"https:\/\/rud.is\/b\/category\/data-wrangling\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":13773,"url":"https:\/\/rud.is\/b\/2023\/03\/09\/webr-is-here\/","url_meta":{"origin":462,"position":5},"title":"WebR IS HERE!","author":"hrbrmstr","date":"2023-03-09","format":false,"excerpt":"WebR 0.1.0 was released! I had been git-stalking George (the absolute genius who we all must thank for this) for a while and noticed the GH org and repos being updated earlier this week, So, I was already pretty excited. It dropped today, and you can hit that link for\u2026","rel":"","context":"In &quot;d3&quot;","block_context":{"text":"d3","link":"https:\/\/rud.is\/b\/category\/d3\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/462","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/comments?post=462"}],"version-history":[{"count":0,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/posts\/462\/revisions"}],"wp:attachment":[{"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/media?parent=462"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/categories?post=462"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rud.is\/b\/wp-json\/wp\/v2\/tags?post=462"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}