Note: I don’t use Clapper’s image popup plugin anymore, so the settings below are now gone.
Background
Using the following plugin, I finished removing the repeating figures in my Atom Feed.1
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |  | 
Problem
How about category Atom Feeds?
It took me some time a find out that the file needed to be changed was
source/_includes/custom/category_feed.xml.  In that file, I tried to
do the same modification like what I had already did in
source/atom.xml.
| 1 2 3 4 |  | 
Then I generated the site without getting any errors. However, when I was previewing one of my category Atom Feeds, I found out that the above changes to the XML had did nothing—the popup images still appeared twice.
Exploring the default Jekyll code
I tried deleting my custom filter remove_bigfig, so that I could
test whether Walter’s instructions for removing line numbers
worked for category Atom Feeds.  Unfortunately, his method failed.
Having no knowledge in how the XML file actually worked, I broke
things down by deleting the word markdownify, as well as
remove_bigfig, in order to see how things worked.  Then I saw
markdown code at localhost:4000.  It means that markdownify
converts markdown to HTML.  Thus, I tried to insert the word
remove_bigfig again just after markdownify, but I still saw the
same popup image appearing twice.
Since Walter’s steps didn’t work for me, I almost wanted to give it up.
In the morning two days ago, I suddenly realized that I could write see what’s going on inside Octopress by getting the standard output. Not going take an online tutorial about using Ruby debugger, I used the most primitive way of debugging.
| 1 2 3 |  | 
I recorded the output into a file and then browsed through it.  I
found the imgpopup ... inside the file.
I also viewed the source code of cdata_escape so that I knew what
the function did: HTML encode the only argument.  I compared the
output before and after cdata_escape, and couldn’t see any
difference.  Then it’s clear that using an HTML tag for a regular
expression match wasn’t feasible—change it back to Octopress’s image
tag instead.
Ruby code learnt
- body.gsub!(/(?=\b).+(?=\b)/) {|m| subs[m]}from Stack Overflow.- /(?<=\b)/didn’t work, since Perl and Ruby didn’t allow variable-length patterns.
- This is for an array of Strings, not a long String.
 
- mapand- collectmethods in Array class are the same.
- eachand- each_pairmethods in Hash class are different.
An illusory success
I wrote a function, and pushed it onto GitHub.2  Viewing the site,
I could see that I successfully change the popup images into ordinary
ones in the category Atom Feed.  However, these changes were also
applied to my blog posts.3  I thought that the error was due to the
use of gsub!, instead of gsub.
New version of my custom filter
I’ve been tired of studying code and reading documentations.
Therefore, I just adopted an ugly approach—input .gsub(...) for
multiple times.  Eventually, I got the desired output.