Tech Note: The “Email an Article” Makeover, Now Mobile-Friendly

Thanks to MJML
LGF • Views: 39,968

Image via Shutterstock

In the past few days I’ve been working on a part of the LGF site that’s been woefully neglected for too long: our “Email an Article” feature, which you get to by clicking the little envelope icon below each article — the one that looks like this:

Would you believe this code hasn’t been seriously worked on for 10 years?

In a way it’s kind of cool that it was still functional despite the lack of attention, but with the advent of mobile devices it really started to show its age. The idea of the feature is to send a nicely formatted HTML email that contains most of the article, with images and links and all that good stuff. (It also includes an alternate non-HTML version for people who don’t want HTML in their emails.)

But on mobile devices, this HTML code was … well … less than optimal. Not perfect. Oh, let’s face it, it sucked. On some mobile devices it looked OK, but was shrunken down to an unreadable tiny size because it wasn’t scaled to the mobile screen. On other mobile devices it looked flat out awful, because they didn’t support CSS properly, or a myriad of other reasons.

The thing about mobile HTML email is that it’s a real nightmare to code, with so many devices out there, each with its own quirks and bugs. That’s one reason why I hadn’t done much with the code for a long time, because it was a daunting task.

But I’m pleased to announce that I recently discovered an open source framework called MJML that makes all of these compatibility headaches disappear like magic. Instead of writing the HTML directly, you code it with MJML’s custom tags first, then compile it to the special HTML that works in emails. Here’s a sample of what the MJML code looks like:

<mjml>
   <mj-head>
     <mj-title>Hello MJML</mj-title>
   </mj-head>
   <mj-body>
     <mj-container>
       <mj-section>
         <mj-column>
           <mj-text>
             Hello World!
           </mj-text>
         </mj-column>
       </mj-section>
     </mj-container>
   </mj-body>
 </mjml>

The MJML framework gives us a vastly improved “Email an Article” feature that looks great on almost any mobile device or desktop computer. The HTML version now scales beautifully to fit the screen size of whatever device you’re using to view it, and it works even with the most troublesome email clients (I’m looking at you, Microsoft Outlook). And as a bonus, our emails now include links to share the articles to Facebook and Twitter.

I always like to end these Tech Notes with a tip for programmers, so here’s something I figured out while working with MJML that wasn’t obvious and wasn’t in their documentation.

Since I use PHP to generate the email for this feature, I build the MJML code as a string. The official docs for MJML only describe how to compile the code from a file on disk and write the resulting code back to the disk, but this seemed like way too much overhead. So I worked out a way to use PHP to pass a string into the MJML compiler and get back a string of compiled HTML code. And here it is:

<?php
$mjml = '[[ MJML CODE HERE ]]';
$html = trim(
	shell_exec(
		'echo -n ' . escapeshellarg($mjml) . ' | mjml -i -s -m'
	)
);
?>

This uses PHP’s shell_exec command to pipe the MJML string to the MJML command line compiler, and return the compiled code in the variable $html. The trim command is in there just in case there’s some white space at the beginning or end of the compiled code.

Jump to top

Create a PageThis is the LGF Pages posting bookmarklet. To use it, drag this button to your browser's bookmark bar, and title it 'LGF Pages' (or whatever you like). Then browse to a site you want to post, select some text on the page to use for a quote, click the bookmarklet, and the Pages posting window will appear with the title, text, and any embedded video or audio files already filled in, ready to go.
Or... you can just click this button to open the Pages posting window right away.
Last updated: 2016-01-01 10:29 am PST
LGF User's Guide RSS Feeds Tweet

Help support Little Green Footballs!

Subscribe now for ad-free access!Register and sign in to a free LGF account before subscribing, and your ad-free access will be automatically enabled.

Donate with
PayPal
Square Cash Shop at amazon
as an LGF Associate!
Recent PagesClick to refresh
3 Midwest State Polls Trump at ~35% Approvalnbcnews.com These three NBC/Marist polls were conducted August 13-17 — after the Aug. 12 unrest and violence in Charlottesville, Virginia, and in the midst of Trump’s multiple responses to the events. In Michigan, 36 percent of voters approve of Trump’s ...
Rocky-in-Connecticut
1 hour, 38 minutes ago
Views: 97 • Comments: 0 • Rating: 0
Tweets: 0 • Share to Facebook
Shares: 0
Comments: 0
: 0
Ten Sailors Missing After U.S. Warship, Tanker Collide Near Singapore SINGAPORE (Reuters) - Ten sailors are missing after a U.S. warship collided with an oil tanker east of Singapore before dawn on Monday, tearing a hole beneath the waterline and flooding compartments that include a crew sleeping area, the ...
Thanos
4 hours, 58 minutes ago
Views: 142 • Comments: 0 • Rating: 0
Tweets: 0 • Share to Facebook
Shares: 0
Comments: 0
: 0
University of Texas Removes Four Confederate Statues Overnight AUSTIN, Texas — University of Texas President Greg Fenves ordered the immediate removal of statues of Robert E. Lee and other prominent Confederate figures from a main area of campus, saying such monuments have become "symbols of modern white ...
Thanos
5 hours ago
Views: 176 • Comments: 0 • Rating: 0
Tweets: 1 • Share to Facebook
Shares: 0
Comments: 0
: 0
Why You Can’t Take a Flag to a National Cemetery Why You Can't Take a Flag to Arlington (or other national veteran cemeteries) Stars and Stripes, reprinting with permission an article from the Washington Post, explains why you cannot take a flag to Arlington National Cemetery (or any other ...
Anymouse 🌹
2 days, 11 hours ago
Views: 305 • Comments: 0 • Rating: 2
Tweets: 0 • Share to Facebook
Shares: 0
Comments: 0
: 0
Another Democrat Starting Trump Impeachment Process Come on guys, get behind the bill. All of us. we should get behind this bill as it emerges as fast as we attacked the BCA. Following Donald Trump’s equivocating of white supremacists and those who oppose them in ...
Unshaken Defiance
3 days, 20 hours ago
Views: 530 • Comments: 0 • Rating: 0
Tweets: 0 • Share to Facebook
Shares: 1
Comments: 0
: 1
How Militias Became the Private Police for White Supremacists Magazine Guns to a protest? Clubs? We can not tolerate anti American militias. The bloody weekend in Charlottesville that began with several hundred chanting white supremacists on a torch-lit march will long be remembered for the searing image of a ...
Unshaken Defiance
3 days, 21 hours ago
Views: 528 • Comments: 0 • Rating: 0
Tweets: 0 • Share to Facebook
Shares: 0
Comments: 0
: 0
Starting in 2018, Police Dogs Injured in the Line of Duty Can Be Transported by EMS to Veterinary Clinics ST. CLAIR COUNTY, IL – Ambulances are for people. It’s always been the law of the land. In Illinois, it'll soon be "almost always". Illinois Governor, Bruce Rauner, signed House Bill 2661, Tuesday. It will allow police dogs to ...
Birth Control Works
4 days ago
Views: 519 • Comments: 0 • Rating: 0
Tweets: 0 • Share to Facebook
Shares: 0
Comments: 0
: 0
The New War on Birth Control - Pacific Standard Although it wasn't clear at the time, the attack on Phillips marked the beginning of a new anti-contraception movement—conceived in the U.S., but unfolding in Africa, where women's frustrations with the dearth of safe, effective family planning options are ...
Birth Control Works
4 days ago
Views: 580 • Comments: 0 • Rating: 1
Tweets: 1 • Share to Facebook
Shares: 0
Comments: 0
: 0
M83 - Do It, Try It (David Wilson Video) M83 - Do It, Try It video by David Wilson. Following the video's premiere at Sundance Next Fest it is now available to watch online. The track is taken from M83's seventh studio album Junk, available to buy & ...
Thanos
4 days, 15 hours ago
Views: 454 • Comments: 0 • Rating: 0
Tweets: 0 • Share to Facebook
Shares: 0
Comments: 0
: 0
Marvel’s the Defenders It’s all coming together. Learn about The Defenders from the stars themselves: Charlie Cox, Krysten Ritter, Mike Colter and Finn Jones. Marvel’s The Defenders premieres globally August 18, 2017, only on Netflix. Watch The Defenders on Netflix: netflix.com SUBSCRIBE: ...
Thanos
4 days, 15 hours ago
Views: 484 • Comments: 0 • Rating: 0
Tweets: 0 • Share to Facebook
Shares: 0
Comments: 0
: 0