{"id":126,"date":"2002-08-21T12:00:00","date_gmt":"2002-08-21T12:00:00","guid":{"rendered":"http:\/\/editorium.com\/archive\/?p=126"},"modified":"2013-10-25T23:10:20","modified_gmt":"2013-10-25T23:10:20","slug":"automated-letter-by-letter-index-sorting","status":"publish","type":"post","link":"https:\/\/editorium.com\/archive\/automated-letter-by-letter-index-sorting\/","title":{"rendered":"Automated Letter-by-Letter Index Sorting"},"content":{"rendered":"<p>Last week's newsletter explained how to sort Word's index entries letter by letter rather than word by word:<\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"RnqGFrIE9j\"><p><a href=\"https:\/\/editorium.com\/archive\/using-found-macros\/\">Using &quot;Found&quot; Macros<\/a><\/p><\/blockquote>\n<p><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&#8220;Using &quot;Found&quot; Macros&#8221; &#8212; Editorium Update\" src=\"https:\/\/editorium.com\/archive\/using-found-macros\/embed\/#?secret=oVd9qwMJ0q#?secret=RnqGFrIE9j\" data-secret=\"RnqGFrIE9j\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/p>\n<p>But it didn't explain how to do it in an automated way. So here's an automated way, using wildcard Find and Replace. You can learn more about using wildcards in some of our past newsletters:<\/p>\n<p>http:\/\/www.topica.com\/lists\/editorium\/read\/message.html?mid=1705963026<\/p>\n<p>http:\/\/www.topica.com\/lists\/editorium\/read\/message.html?mid=1706069286<\/p>\n<p>http:\/\/www.topica.com\/lists\/editorium\/read\/message.html?mid=1706069286<\/p>\n<p>http:\/\/www.topica.com\/lists\/editorium\/read\/message.html?mid=1706069286<\/p>\n<p>http:\/\/www.topica.com\/lists\/editorium\/read\/message.html?mid=1706365638<\/p>\n<p>http:\/\/www.topica.com\/lists\/editorium\/read\/message.html?mid=1706458823<\/p>\n<p>Here's the procedure, which you can record as a macro for future use. Or, better yet, just use the prerecorded macro I've included at the end of this article. Work through the procedure if you want to know more about using complicated searches, or if you just want to see how my devious little mind works. (There's probably a better way to do all this using Visual Basic for Applications, but that's a subject for another day.)<\/p>\n<p>1. Make sure your index entries are visible by showing hidden text (Tools > Options > View > Hidden text).<\/p>\n<p>2. Find the index entries and replace them with themselves colored as, say, plum, so your Find and Replace won't move across entry borders later:<\/p>\n<p>Find What:<\/p>\n<p>(XE \"*\")<\/p>\n<p>Replace With:<\/p>\n<p>1 (formatted as plum)<\/p>\n<p>Use Wildcards:<\/p>\n<p>Checked<\/p>\n<p>3. Replace escaped colons and quotation marks with arbitrary symbols to be changed back later (\"escaped\" means they have a backslash in front of them, telling Word to treat them as characters, which is how you can use colons and quotation marks in your index entries!):<\/p>\n<p>Find What:<\/p>\n<p>:<\/p>\n<p>Replace With:<\/p>\n<p>&&&<\/p>\n<p>Use Wildcards:<\/p>\n<p>Unchecked<\/p>\n<p>Find What:<\/p>\n<p>\"<\/p>\n<p>Replace With:<\/p>\n<p>@@@<\/p>\n<p>Use Wildcards:<\/p>\n<p>Unchecked<\/p>\n<p>4. Put a colon after main-only (but actually, after all) entries:<\/p>\n<p>Find What:<\/p>\n<p>(XE \"*)(\")<\/p>\n<p>Replace With:<\/p>\n<p>1:2<\/p>\n<p>Use Wildcards:<\/p>\n<p>Checked<\/p>\n<p>5. Find plum-colored, multiple-word index entries and enter semicolon entries, going from three spaces to one space, which ought to be enough for anybody (and besides, Word can only handle up to five \"Find What Expression\" wildcards):<\/p>\n<p>Find What:<\/p>\n<p>(XE \")([! :]@) ([! :]@) ([! :]@) ([! :]@): (formatted as plum)<\/p>\n<p>Replace With:<\/p>\n<p>12 3 4 5;2345:<\/p>\n<p>Use Wildcards:<\/p>\n<p>Checked<\/p>\n<p>Find What:<\/p>\n<p>(XE \")([! :]@) ([! :]@) ([! :]@): (formatted as plum)<\/p>\n<p>Replace With:<\/p>\n<p>12 3 4;234:<\/p>\n<p>Use Wildcards:<\/p>\n<p>Checked<\/p>\n<p>Find What:<\/p>\n<p>(XE \")([! :]@) ([! :]@): (formatted as plum)<\/p>\n<p>Replace With:<\/p>\n<p>12 3;23:<\/p>\n<p>Use Wildcards:<\/p>\n<p>Checked<\/p>\n<p>6. Clean up colons at ends of entries:<\/p>\n<p>Find What:<\/p>\n<p>(XE \"*):(\") (formatted as plum)<\/p>\n<p>Replace With:<\/p>\n<p>12 (formatted as Automatic, which gets rid of all plum)<\/p>\n<p>Use Wildcards:<\/p>\n<p>Checked<\/p>\n<p>7. Restore escaped colons and quotation marks, if any:<\/p>\n<p>Find What:<\/p>\n<p>&&&<\/p>\n<p>Replace With:<\/p>\n<p>:<\/p>\n<p>Use Wildcards:<\/p>\n<p>Unchecked<\/p>\n<p>Find What:<\/p>\n<p>@@@<\/p>\n<p>Replace With:<\/p>\n<p>\"<\/p>\n<p>Use Wildcards:<\/p>\n<p>Unchecked<\/p>\n<p>Now move to the bottom of your document and have Word generate your index (Insert > Index and Tables > Index). Well, look at that: The entries are sorted letter by letter. Neat!<\/p>\n<p>If you want to work manually, you can insert a semicolon and alternate spelling after a main index entry to force Word to sort in any way you like. For example, let's say you've got some numbers in your index, ordered like this:<\/p>\n<p>8123<\/p>\n<p>835<\/p>\n<p>86<\/p>\n<p>Ordinarily, that's how they'd sort. But if you edit your index entries like this--<\/p>\n<p>{XE \"835;0835\"}<\/p>\n<p>{XE \"86;0086\"}<\/p>\n<p>{XE \"8123;8123\"}<\/p>\n<p>--you'll make them sort like this:<\/p>\n<p>86<\/p>\n<p>835<\/p>\n<p>8123<\/p>\n<p>If you really wanted to, you could even do something weird like this--<\/p>\n<p>{XE \"Zebra;1\"}<\/p>\n<p>--and force \"Zebra\" to the top of your index.<\/p>\n<p>Pretty handy, no? At any rate, you now have an automated way to sort Word's index entries letter by letter. Enjoy!<\/p>\n<p>Here's the prerecorded macro to make index entries sort letter by letter. If you don't know how to use such macros, you can find out <a href=\"https:\/\/editorium.com\/archive\/using-found-macros\/\" target=\"_blank\">here.<\/a><\/p>\n<pre><span style=\"color: black; font-family: Courier New; font-size: small;\">'THE MACRO STARTS HERE\nSub IndexEntriesLetterByLetter()\nSelection.HomeKey Unit:=wdStory\nSelection.Find.ClearFormatting\nSelection.Find.Replacement.ClearFormatting\nSelection.Find.Replacement.Font.Color = wdColorPlum\nWith Selection.Find\n.Text = \"(XE \"\")([! :]@) ([! :]@):\"\n.Replacement.Text = \"12 3;23:\"\n.Forward = True\n.Wrap = wdFindContinue\n.Format = True\n.MatchCase = False\n.MatchWholeWord = False\n.MatchAllWordForms = False\n.MatchSoundsLike = False\n.MatchWildcards = True\nEnd With\nSelection.Find.ClearFormatting\nSelection.Find.Replacement.ClearFormatting\nSelection.Find.Replacement.Font.Color = wdColorPlum\nWith Selection.Find\n.Text = \"(XE \"\"*\"\")\"\n.Replacement.Text = \"1\"\n.Forward = True\n.Wrap = wdFindContinue\n.Format = True\n.MatchCase = False\n.MatchWholeWord = False\n.MatchAllWordForms = False\n.MatchSoundsLike = False\n.MatchWildcards = True\nEnd With\nSelection.Find.Execute Replace:=wdReplaceAll\nSelection.Find.ClearFormatting\nSelection.Find.Replacement.ClearFormatting\nWith Selection.Find\n.Text = \":\"\n.Replacement.Text = \"&&&\"\n.Forward = True\n.Wrap = wdFindContinue\n.Format = False\n.MatchCase = False\n.MatchWholeWord = False\n.MatchWildcards = False\n.MatchSoundsLike = False\n.MatchAllWordForms = False\nEnd With\nSelection.Find.Execute Replace:=wdReplaceAll\nWith Selection.Find\n.Text = \"\"\"\"\n.Replacement.Text = \"@@@\"\n.Forward = True\n.Wrap = wdFindContinue\n.Format = False\n.MatchCase = False\n.MatchWholeWord = False\n.MatchWildcards = False\n.MatchSoundsLike = False\n.MatchAllWordForms = False\nEnd With\nSelection.Find.Execute Replace:=wdReplaceAll\nSelection.Find.ClearFormatting\nSelection.Find.Replacement.ClearFormatting\nWith Selection.Find\n.Text = \"(XE \"\"*)(\"\")\"\n.Replacement.Text = \"1:2\"\n.Forward = True\n.Wrap = wdFindContinue\n.Format = False\n.MatchCase = False\n.MatchWholeWord = False\n.MatchAllWordForms = False\n.MatchSoundsLike = False\n.MatchWildcards = True\nEnd With\nSelection.Find.Execute Replace:=wdReplaceAll\nSelection.Find.ClearFormatting\nSelection.Find.Font.Color = wdColorPlum\nSelection.Find.Replacement.ClearFormatting\nWith Selection.Find\n.Text = \"(XE \"\")([! :]@) ([! :]@) ([! :]@) ([! :]@):\"\n.Replacement.Text = \"12 3 4 5;2345:\"\n.Forward = True\n.Wrap = wdFindContinue\n.Format = True\n.MatchCase = False\n.MatchWholeWord = False\n.MatchAllWordForms = False\n.MatchSoundsLike = False\n.MatchWildcards = True\nEnd With\nSelection.Find.Execute Replace:=wdReplaceAll\nSelection.Find.ClearFormatting\nSelection.Find.Font.Color = wdColorPlum\nSelection.Find.Replacement.ClearFormatting\nWith Selection.Find\n.Text = \"(XE \"\")([! :]@) ([! :]@) ([! :]@):\"\n.Replacement.Text = \"12 3 4;234:\"\n.Forward = True\n.Wrap = wdFindContinue\n.Format = True\n.MatchCase = False\n.MatchWholeWord = False\n.MatchAllWordForms = False\n.MatchSoundsLike = False\n.MatchWildcards = True\nEnd With\nSelection.Find.Execute Replace:=wdReplaceAll\nSelection.Find.ClearFormatting\nSelection.Find.Font.Color = wdColorPlum\nSelection.Find.Replacement.ClearFormatting\nWith Selection.Find\n.Text = \"(XE \"\")([! :]@) ([! :]@):\"\n.Replacement.Text = \"12 3;23:\"\n.Forward = True\n.Wrap = wdFindContinue\n.Format = True\n.MatchCase = False\n.MatchWholeWord = False\n.MatchAllWordForms = False\n.MatchSoundsLike = False\n.MatchWildcards = True\nEnd With\nSelection.Find.Execute Replace:=wdReplaceAll\nSelection.Find.ClearFormatting\nSelection.Find.Font.Color = wdColorPlum\nSelection.Find.Replacement.ClearFormatting\nSelection.Find.Replacement.Font.Color = wdColorAutomatic\nWith Selection.Find\n.Text = \"(XE \"\"*):(\"\")\"\n.Replacement.Text = \"12\"\n.Forward = True\n.Wrap = wdFindContinue\n.Format = True\n.MatchCase = False\n.MatchWholeWord = False\n.MatchAllWordForms = False\n.MatchSoundsLike = False\n.MatchWildcards = True\nEnd With\nSelection.Find.Execute Replace:=wdReplaceAll\nSelection.Find.ClearFormatting\nSelection.Find.Replacement.ClearFormatting\nWith Selection.Find\n.Text = \"(XE \"\"*):(\"\")\"\n.Replacement.Text = \"12\"\n.Forward = True\n.Wrap = wdFindContinue\n.Format = False\n.MatchCase = False\n.MatchWholeWord = False\n.MatchWildcards = False\n.MatchSoundsLike = False\n.MatchAllWordForms = False\nEnd With\nSelection.Find.ClearFormatting\nSelection.Find.Replacement.ClearFormatting\nWith Selection.Find\n.Text = \"&&&\"\n.Replacement.Text = \":\"\n.Forward = True\n.Wrap = wdFindContinue\n.Format = False\n.MatchCase = False\n.MatchWholeWord = False\n.MatchWildcards = False\n.MatchSoundsLike = False\n.MatchAllWordForms = False\nEnd With\nSelection.Find.Execute Replace:=wdReplaceAll\nWith Selection.Find\n.Text = \"@@@\"\n.Replacement.Text = \"\"\"\"\n.Forward = True\n.Wrap = wdFindContinue\n.Format = False\n.MatchCase = False\n.MatchWholeWord = False\n.MatchWildcards = False\n.MatchSoundsLike = False\n.MatchAllWordForms = False\nEnd With\nSelection.Find.Execute Replace:=wdReplaceAll\nEnd Sub\n'THE MACRO ENDS HERE\n<\/pre>\n<p><\/span><\/p>\n<p>_________________________________________<\/p>\n<p>READERS WRITE<\/p>\n<p>The newsletter for July 31 explained how to make punctuation easier to see by formatting it as big, bold, and red; the following newsletter offered some reader tips on doing so; and last week's newsletter included a terrific macro by Phil Rabichow to automate the process.<\/p>\n<p>This week, Steve Hudson provides a similar macro as an exercise in Visual Basic programming (and of course, it's useful, too!). It's a toggle, so you'll probably want to put the subroutine named SomeToolbarNameToggleBigPunctuation() on a toolbar button for easy access. You can learn how to do this here:<\/p>\n<p>http:\/\/www.topica.com\/lists\/editorium\/read\/message.html?mid=1707286867<\/p>\n<p>As you look through the macro, pay particular attention to Steve's comments, which explain what's going on. The macro is an excellent example of VBA, including find loops, wildcard matching, range objects, optional parameters, design analysis, and much more. Actually, the whole macro has many left-of-center concepts--for example, a Find that can return nothing yet still not have finished (it picks up the Chr$(7) that marks a table start, which can't be included in the wildcard entry). The macro also nicely changes the cursor and screen updating, and it backs out formatting changes. Steve is a master at this kind of stuff, so get ready to learn something. And why not contact Steve to take care of your custom programming needs?<\/p>\n<p>By the way, you'll note Steve's humor throughout. Here is Steve's commentary, edited slightly by me to fit the context of this newsletter:<\/p>\n<p>The past newsletters found and formatted punctuation by inclusion, which rules out Unicode and the like. So I figured a macro would be better with punctuation by exclusion in order to show up all sorts of strange dweebs.<\/p>\n<p>The second problem was your suggestion to create a temporary style that mucks my document up with no subsequent hint of destruction.<\/p>\n<p>The third was \"How do I reverse this?\" If I have a formula in character styling and another elsewhere in terminal screen, I can't find this style and kill it dead with a known something else. So I have to transpose my edits to have a safe working practice. Ack.<\/p>\n<p>The fourth problem was not acknowledging No Proofing on styles.<\/p>\n<p>So the first one is easy enough, we simply start the square brackets formula for the find with a ! and then what we are not interested in. Thus the string for a trivial solution is [!A-Za-z0-9^160]. Note the ^160 for the nonbreaking space; Word honours the ole caret at a higher priority than anything else. Basically, this finds anything *except* a letter, a number, or a nonbreaking space, but I've added additional characters in the macro itself.<\/p>\n<p>The second is also easy. We all use STYLES like good little folk, so let's keep those in place and add--oooo--MANUAL FORMATTING. We can hunt it down and undo it easy enough later by resetting that range to its underlying style again, so it's a temporary aberration for our temporary aberration. That's the third taken care of as well.<\/p>\n<p>Now, the fourth and last--is there any way we can tell the Find to do only those styles with proofing set? Err, no. So we have to check this ourselves manually. \ud83d\ude41 Word's find falls down spectacularly with stuff like this. Easy enough, and should be faster as we are doing less styling work, which is expensive.<\/p>\n<p>Now some little style notes--I prefer to use ranges and let the users have their selection object. It may be faster running selection.finds, dunno, duncare \ud83d\ude42 It makes the resulting code smaller and easier to read and allows me sick puns--the last being the most important reason of course. What's the use of knowing all this junk if you can't have fun with it, I say. I know that some folks hate nonstandard variable naming, but I like code that is human readable.<\/p>\n<p>Next, always reset stuff back to the way it was. If users do a find, do they want your settings?<\/p>\n<pre><span style=\"color: black; font-family: Courier New; font-size: small;\">'THE MACRO STARTS HERE\nPublic Sub SomeToolbarNameToggleBigPunctuation()\n'Attach this to a button on a toolbar\n'we use the toolbar name to start the sub so we know where\n'this sub is called from\nStatic Toggle As Boolean\nToggle = Not Toggle\nProofReadBigPunctuation Toggle\nEnd Sub\nPublic Sub ProofReadBigPunctuation(MakeBig As Boolean, Optional Scope As Range)\n'$--------\nAuthor: heretic [at symbol] tdfa.com\n'$Short: If makebig is true, it makes punctuation marks BIG\n'to aid proofreading as discussed by Editmeister Jack.\n'If makebig is false, it removes this formatting\n'$Known issues: Destroys original doc highlighting IF\n'highlighting is used in the formatting process.\nDim HomeOnThe As Range 'Our findermatic\nDim Finished As Boolean\nDim Progress As Double 'enough space for calcs in big dox\n'Be nice, don't assume system settings\nDim Cursor_pholder As WdCursorType\nDim ScreenUpdating_pholder As Boolean\n'frilly bits: change the cursor whilst we work!\nCursor_pholder = System.Cursor\nSystem.Cursor = wdCursorWait\n'freeze the screen to speed things up\nScreenUpdating_pholder = Application.ScreenUpdating\nApplication.ScreenUpdating = False\n'This basic technique can be used in as many ways as Bill\n'has bux.\n'________________________________\n'Give our range a document range to hang off.\n'The first .dupe is strictly speaking unnecc but a good habit\n'to get into with range objects--the second one prevents us\n'changing the passed scope without realising it!\n'We avoid the other parts of the document by setting our\n'ranges parent to be the range that is the content only.\n'I regularly use Activedocument.Content too.\n'Also note how we deal with no explicit scope being passed\n'from that Optional parameter\nIf Scope Is Nothing Then Set Scope = _\nActiveDocument.StoryRanges(wdMainTextStory).Duplicate\nSet HomeOnThe = Scope.Duplicate\n'Collapse our range to a point at the start of the doc\n'main body content, just like a cursor in a virgin document.\nHomeOnThe.Collapse\n'We don't have to clearformatting or anything as it's\n'a whole new range. Just set up the find\n'$Customize: the ! means NOT anything in the following list\nWith HomeOnThe.Find\n'note we don't use If MakeBig = True then\nIf MakeBig Then 'errant chars\n.Text = \"[! 0-9A-Za-z^9^12^13^160]\" '$Customize\n.MatchWildcards = True\nElse '$Customize: formatting\nWith .Font\n.Color = wdColorRed\n.Bold = True\nEnd With\n.Highlight = True\nEnd If\nEnd With\n'Get started on a standard manual processing find loop.\nWhile Not Finished\n'let the poor user know where we are at\nProgress = Int(HomeOnThe.End * 100 \/ Scope.End)\nApplication.StatusBar = \"Restyling \" & Format(Progress) & \"%\"\n'ensure the statusbar change gets through\nDoEvents\n'the find!\nWith HomeOnThe.Find\n.Execute Replace:=wdReplaceNone\nFinished = Not .Found\nEnd With\n'Our range is now either null, meaning nothing found\n'or it contains a range for us to examine\nIf Not Finished Then 'we caught one!\nIf MakeBig Then 'style if proofing on\nIf Not ActiveDocument.Styles(HomeOnThe.Style).NoProofing Then _\nFormatFontGruesome HomeOnThe\nElse 'unstyle\nHomeOnThe.Font.Reset\nHomeOnThe.HighlightColorIndex = wdNoHighlight\nEnd If\nEnd If\nHomeOnThe.Collapse wdCollapseEnd 'so we keep moving along\nWend 'finished\n'destroy our objects\nSet HomeOnThe = Nothing\n'reset our changes\nApplication.ScreenUpdating = ScreenUpdating_pholder\nSystem.Cursor = Cursor_pholder\nApplication.StatusBar = \"Finished\"\nEnd Sub\nPrivate Sub FormatFontGruesome(Scope As Range)\n'$Short: to make shtuff shtand out shorty, you\n'gotta problem wid dat?\n'$Customize: don't forget to keep this matched with the\n'find requirements for the undo\n'I don't like the thought of changing font name\n'as that could change the displayed character\n'Lets just make it BIG, BOLD and RED on a YELLOW background\nWith Scope.Font\n.Color = wdColorRed\n.Bold = True\n.Grow\n.Grow\n.Grow\nEnd With\nScope.HighlightColorIndex = wdYellow\nEnd Sub\nSub TestProofReadBigPunctuationOn()\nDim i As Long\nApplication.ScreenUpdating = False\nDocuments.Add\nDoEvents\nFor i = 27 To 1200\nSelection.InsertAfter ChrW(i)\nNext i\nProofReadBigPunctuation True\nApplication.ScreenUpdating = True\nEnd Sub\nSub TestProofReadBigPunctuationOnSimple()\n'run this on any trial doc to be sure\nProofReadBigPunctuation True\nEnd Sub\nSub TestProofReadBigPunctuationOff()\nProofReadBigPunctuation False\nEnd Sub\n'THE MACRO ENDS HERE\n<\/pre>\n<p><\/span><\/p>\n<p>Many thanks to Steve for the macro and for the tutorial.<\/p>\n<\/p>\n<p>_________________________________________<\/p>\n<p>RESOURCES<\/p>\n<p>If you're looking for indexing resources, don't miss those supplied by the School of Library, Archival and Information Studies at the University of British Columbia:<\/p>\n<p>http:\/\/www.slais.ubc.ca\/resources\/indexing\/index.htm<\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<a href=\"https:\/\/editorium.com\/archive\/automated-letter-by-letter-index-sorting\/\" rel=\"bookmark\" title=\"Permalink to Automated Letter-by-Letter Index Sorting\"><p>Last week&#8217;s newsletter explained how to sort Word&#8217;s index entries letter by letter rather than word by word: Using &quot;Found&quot; Macros But it didn&#8217;t explain how to do it in an automated way. So here&#8217;s an automated way, using wildcard Find and Replace. You can learn more about using wildcards in some of our past [&hellip;]<\/p>\n<\/a>","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":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[9],"tags":[],"class_list":{"0":"post-126","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-indexing","7":"h-entry","8":"hentry"},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3gfno-22","_links":{"self":[{"href":"https:\/\/editorium.com\/archive\/wp-json\/wp\/v2\/posts\/126","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/editorium.com\/archive\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/editorium.com\/archive\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/editorium.com\/archive\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/editorium.com\/archive\/wp-json\/wp\/v2\/comments?post=126"}],"version-history":[{"count":3,"href":"https:\/\/editorium.com\/archive\/wp-json\/wp\/v2\/posts\/126\/revisions"}],"predecessor-version":[{"id":811,"href":"https:\/\/editorium.com\/archive\/wp-json\/wp\/v2\/posts\/126\/revisions\/811"}],"wp:attachment":[{"href":"https:\/\/editorium.com\/archive\/wp-json\/wp\/v2\/media?parent=126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/editorium.com\/archive\/wp-json\/wp\/v2\/categories?post=126"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/editorium.com\/archive\/wp-json\/wp\/v2\/tags?post=126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}