dont cross pointers while searching
card HTML is generated by a single argument function, instead of inline. data-* elements hold views, mashes, and factor (mashes * views). JSON posts list is updated after swap. the JSON array of posts may be discarded in favor of data-* elements. Transition to data-* elements is half done at this point.