Mondo Meta

With Mondo Meta, you can change any boring old MetaFilter post like this:

to a styled, tagged post like this:

all based on text in the message, including the user's name.

Overview

Mondo Meta is a stand-alone Firefox extension or Greasemonkey script for the MetaFilter website allowing users to permanently customize how posts are displayed. Mondo Meta allows the application of custom display styles to individual posts or the entire MetaFilter site based on trigger words or patterns. It supports flexible tagging, highlighting, and deletion of individual posts and comments based on text or patterns the user specifies, as well as automatic expansion of links in messages to their full addresses. Mondo Meta has been tested on Firefox versions 2.x and 3.x with multiple operating systems for MetaFilter readers. You need not be a registered MetaFilter user to use any of the script features. The current Mondo Meta version is 2.01, released mid-June 2007.

See the Examples section for a few real-life examples of how to use Mondo Meta, including screenshots. Read the Usage section for a description of how to use Mondo Meta. See the Support section for further help. Go to the main Extensions and Scripts page for information on more extensions and scripts.

Install the Mondo Meta Greasemonkey script. (Alt-click link to download in Firefox)
OR
Download the Mondo Meta Firefox extension.

Mondo Meta Version 2.x is a major update over all 1.x versions, introducing styles and tagging, along with minor enhancements, bugfixes, and performance improvements.

Usage

Mondo Meta presents a list box in the lower left corner of the browser display when viewing a MetaFilter site.  There are six selections: Expand Links/Compact Links, Delete-Filter, Highlight, Style, Tag, Manage. All selections except Manage act immediately on the current display.

Expand Links/Compact Links: Chosing the Expand Links selection will display the full URL of all links inside of square brackets after the link text, eliminating the need to hover the cursor over each link to see its full address, Collapse restores to normal. The main MetaFilter sidebar is removed on link expansion so that long links do not overflow the available page width and consequently began below the sidebar. Expanded links last until another page is loaded.

Delete-Filter: Displays a dialog box allowing you to choose how to filter out messages on MetaFilter you do not want to see. Select the text or pattern to scan for; choose whether the text to match is located in the posts' content, footer, or content and footer; whether to remove the post (no indication the message existed), make it invisible (show a blank gap), or make the foreground color match the background color (blank, but allow cursor highlight to display the message); and how long the filter should be active. Checkboxes allow further control by matching only whole words, making the match case sensitive, matching the actual URL text, and choosing whether to make the pattern match as a regular expression. All Delete-Filter entries are permanent until deleted through the Manage selection, although Manage also allows deactivating all active filters.

Highlight: The Highlight selection, operating much like theDelete-Filter selection, allows you to highlight posts if they match text in the location you specify. You can highlight either the post's footer or the entire message. Highlight allows you choose which foreground and background color to display for the highlight. If you choose, highlights can differ from entry to entry. Sixteen common foreground and background colors are supported by name, as well as 'Unchanged'. By choosing Custom you directly input the RGB color, either as a decimal number triplet separated by a space, comma, or dash (e.g. 255-97-13); or a six-digit hexadecimal number with a leading '#'. All Highlight entries are permanent unless deleted or deactivated through Manage.

Style: In like a manner to the other options, the Style selection gives support for custom styles (CSS) to either individual posts or the entire MetaFilter site based on trigger words or patterns in a post or comment. Style text contains the text to match. Use style contains the style you want to apply. You will need to know something of styles to use this feature. Specifically, MetaFilter message post DIV's are assigned an attribute of mmStyledPost, internally updated to a unique name per post. This allows users to do such things as specify a style of DIV[mmStyledPost] { color: black; font: 18pt bold italic Times } to make a post text larger, black, and in the Times font.. If the DIV[mmStyledPost] is dropped, then the style is universally applied to all posts (i.e. one text/pattern trigger match, but all posts updated). You can qualify within the style, for example, use DIV[mmStyledPost] SPAN.smallcopy { font-size: 20px } to increase a post's footer size. The same rules as normal CSS apply because the field is an applied style. Be aware that badly formatted styles may cause misbehavior or script failure. All Style entries are permanent unless deleted or deactivated through Manage.

Tag: The Tag selection also operates similarly to the other options. One or more tags can be applied to individual posts based on the text or pattern criteria. For example, if you have specified mathowie in the Tag text for a footer with the Use tags tag of 'Administrator' for one rule, and specified bicycl in post content with the tag 'Bicycling Related' for another rule, then if mathowie posts a comment about his latest bicycling trip, the tags 'Administrator' and 'Bicycling Related' will show up in the footer of that comment. All the Mondo Meta tags have a span class mmTagClass, so custom styles can applied directly. All Tag entries are permanent unless deleted or deactivated through Manage.

Manage: The Manage selection allows you to delete a Delete-Filter, Highlight, Style, or Tag entry. The text pattern for each entry is shown to identify it. Use the Previous and Next entries to navigate, and the Delete button to remove an entry. Four checkboxes deactivate currently active delete-filters, highlights, tags, and styles; their status is retained from session to session. Refresh after using Manage to update the web page display, changes are not immediately applied.

Performance Note: Huge numbers of comments on a page can cause the script to run slowly because it has to process each individual comment. This situation is exacerbated by low performance machines or large numbers of Mondo Meta rules, so you may want to keep your rule count low if things start bogging down for reasons other than MetaFilter's occasional response-time issues.

Advanced

The Mondo Meta dropdown box in the lower left corner can optionally be set to appear and disappear based on mouse movements. This behavior is activated by setting user preferences with the about:config editor in the browser address bar. Filter for Mondo Meta.dropdownpeekaboo. Change the string type from value false to value true and reload the page.

When this setting is active, the dropdown box will only appear if the mouse is moved from the left or right side of the browser frame to the other side and back again within 3 seconds. The mouse cursor must land within 50 pixels of the side of the browser. The width, second count, and number of times to hit the opposite browser side may be changed within the Mondo Meta code, if you find the default settings to be insufficient for your needs. Be aware that the browser may occasionally miss a side hit, so the mouse may need to be moved back and forth to each side more than should be necessary.

Examples

  1. Tag a post that has library-related content with 'Library'.
  2. Style posts from mdevore to be all cyan.
  3. Highlight all posts in Ask MetaFilter with less than 4 answers.
  4. Style all tags to be larger than normal.
  5. Go nuts.
These examples show just one way to get results, some of them may not be very efficient. There are other, possibly better, ways to get the same results. Pick your own preferred style.

Support

Please post questions, problem reports, and comments as a script comment at userscripts.org or leave a comment on the I Fix Scripts weblog.

Install the Mondo Meta Greasemonkey script. (Alt-click link to download in Firefox)
OR
Download the Mondo Meta Firefox extension.