INN’s WordPress Framework For News Sites Now Fully Supports HTTPS

We're pleased to announce the release of version 0.5.2 of our popular Largo WordPress framework for news sites.

With this update, Largo is now fully-compatible with https out of the box. Also included are some enhancements to managing featured media for your stories, some new footer layout options and a number of minor enhancements and bugfixes.

Full HTTPS Support

For many news sites, user privacy and security are significant concerns. With this release we wanted to ensure that sites using Largo would be able to use https out of the box. We're proud to say that this is now the case. Starting from a base installation of Largo you should not have any issues enabling https for your entire site.

WordPress has a guide explaining how to do that, but the details will vary depending on the hosting company you use.

A couple of caveats:

  • If you are migrating to Largo from a different WordPress theme or even updating Largo from a previous version and enable https, you may find that you have http links hard-coded into the body of your stories or elsewhere in your site settings. To get rid of potential mixed content warnings you would need to perform a search and replace to change these URLs to https. We use and recommend this tool, but please be sure to backup your site before doing anything potentially destructive.
  • If you have done any custom work in a child theme using Largo as your parent theme, you may also need to review the code in your child theme to make sure it also fully supports https.
  • If you install third-party plugins or insert/embed content from other sites or services (ad networks, embedded media, etc.) you will need to ensure that those plugins/sites/services support delivery via https or you may also run into mixed content warnings, missing ads or other issues. This is sometimes a major tripping point for sites switching to https, so just be aware that a significant amount or work and testing may be required depending on the number and type of third-party services you're using on your site.

If you are an INN member using our hosted version of Largo and would like to enable https for your site, let us know and we'll explain how the process works, the cost involved, etc. and help you get switched over.

Enhancements to the "Featured Media" editor

In Largo 0.5 we introduced the ability to use a video, slideshow or other embedded media in the place of a featured image for each story. With Largo 0.5.2, we have added a number of enhancements to this functionality to make it work better in a number of additional contexts, including:

  • The ability to set a thumbnail for embed and video featured media types to be used on the homepage, category pages, widgets or anywhere else a thumbnail/featured image might appear
  • The video featured media editor will attempt to automatically pull a thumbnail from any available oEmbed provider (YouTube, Vimeo, etc.) but still give authors the ability to upload their own thumbnail images if they would prefer
  • For theme developers, we have also added "featured-media" and "featured-media-{type}" classes to story containers for use in customizing the appearance of different types of featured media via CSS (adding overlays, icons, etc. to call out posts containing video, slideshows or other rich media)

New footer layout options

In working on a few recent client projects (Nonprofit Quarterly, Midwest Energy News and the redesign of our own site) we've developed a couple of new layout options for the footer of Largo sites, specifically:

  • A 4-column asymmetrical layout, with three narrow columns and one wide column, well suited for three menu areas and a donation, subscription or newsletter signup banner or widget.
  • A minimal 1-column centered layout, well-suited for sites who want a simpler, more minimal footer limited to simple navigation instead of having more widget areas to populate and manage.
  • For theme developers, an easier way to register and use a custom footer layout.

And of course a number of other bugfixes and enhancements.

We encourage you to download the new version and update your sites at your earliest convenience. If you host your site with us, we're making this update for you today. If you host your site elsewhere, you can download the new version from GitHub.

If you have questions or need assistance please check out the release notes and documentation first and if you're still stuck, open a ticket through the Largo help desk.

What's next?

Over the next couple of months we'll be working fast and furious on polishing a number of existing features gearing up for our next full point release, version 0.6 (currently slated for late October). Look for a new release almost every week in between now and then and if you're interested in following along or contributing to the project, you can check out the upcoming milestones on GitHub.

Largo 0.5.1 released!

On July 16, we tagged Largo v0.5.1 with another slew of bug fixes and updates.

Amongst the bug fixes and enhancements:

Google Custom Search results are now displayed on the standard WordPress search results page and are compatible with the standard WordPress search results conventions including the /search/search%20term and /?s=search%20term url structures.

We've also added a menu to the WordPress Admin Bar with several useful Largo-related links.

Further, we fixed a nasty bug/oversight which resulted in the optional "donate" button not displaying on smaller screens. The donate link we're referring to shows up in the site's sticky navigation.

On the documentation front, we merged a ton of developer documentation that came about as a result of our participation in the OpenNews Code Convening in Portland The developer docs now include:

  • Revised technical notes
  • Instructions for setting up a development environment (based on the development rig we use at INN)
  • Details for working with Largo to create Child Themes
  • A first pass at Largo API documentation

A special note on a breaking change -- if you redefined largo_load_more_posts in your child theme, you will need to update it with code from this release, as the old logic will fail to load the correct posts.

That said, the "Load more posts" button can now be used multiple times per page and no longer relies on the global $wp_query. Further, you can customize the text of the button by using the largo_next_posts_link filter.

Read the complete release notes and download the version here.

Three INN Members Launch New Websites Powered By Largo

Over the last couple of weeks three INN members who we've worked with over the past few months have launched new websites using our Largo WordPress framework.

In addition to some common requests like making their sites mobile friendly and responsive, we worked with each of the three organizations on some custom design and functionality and built a couple of new open source tools for you to use.

Investigate West


Investigate West wanted to make their homepage more of a branding statement featuring their partners, awards they've won and the impact of their work. In addition to building a new homepage grid, we worked with them to add credits for partner organizations to their projects and stories and also created a way for them to show which of their major projects had received awards.

Midwest Energy News


Midwest Energy News asked us to help them increase recirculation of visitors through the site and also to increase subscribers to their two newsletter products. The resulting redesign features a number of new design elements we're prototyping for future versions of Largo including a number of changes to article pages as well as some new homepage layout options.

We also made it easy for Midwest Energy News to insert newsletter signup boxes almost anywhere on the site and created a new plugin (a revamped version of an older plugin called Argo Links) to streamline the curation of links, creation of link roundups and allow them to push roundup posts directly to MailChimp.
popular posts

Nonprofit Quarterly

Nonprofit Quarterly migrated to WordPress from Joomla and wanted to make their site better for mobile visitors. In addition, they wanted to be able to feature popular stories in a number of places on the site. We've never been particularly impressed with the various popular posts plugins that exist for WordPress, so apprentice developer Will Haynes wrote a new plugin that pulls data from Google Analytics and algorithmically determines popular posts in a much more accurate and performative way.

Open Source

As with all of our projects, the code we wrote for these projects is open source and you're welcome to borrow bits and pieces to use in your projects.

All three child themes rely on the current version of Largo as their parent theme (here's more on WordPress child themes if you're just getting started).

You can find the child theme code here:

And the two plugins we referenced:

Work With Us

If you'd like to work with us on an upcoming project we are accepting new clients and would love to talk with you.

We offer substantial discounts on our services to INN member organizations and other nonprofit organizations but you do not have to be a member to work with us.

To discuss hiring us for an upcoming project, just email with a short description, anticipated timeline and budget and we'll be in touch!

Announcing Largo Version 0.5

Announcing the version 0.5 release of Largo, everyone's favorite responsive WordPress theme for news sites!

Where v0.4 was dedicated to a major overhaul of user-facing features and touching nearly all corners of the project, v0.5 brings a handful of new features for developers as well as some much-needed project cleanup, additional documentation and a few performance enhancements.

For this release, we audited the use of third-party PHP and javascript libraries throughout the project. Wherever possible, we updated third-party libraries to their most recent release or found suitable, well-maintained replacements.

We've also started an initiative — which will carry on through subsequent releases — to evaluate Largo's performance. No one wants a slow site, so we're doing what we can to cut down on wasteful resource usage. In this release, we've started using minified CSS and Javascript and refactored code to make less expensive database queries.

The shortlist of features added in this release:

  • LESS source maps in all unminified CSS, to help in debugging styles while developing for Largo.
  • Updated slideshows to use slick instead of slidejs since it is no longer maintained.
  • Polished the styles for the Largo recent posts widget
  • Added a LARGO_DEBUG constant, which is currently used to determine whether or not to include unminified, uncompressed Javascript and CSS. When developing your Largo site, use:
    define('LARGO_DEBUG', true);

    When pushing your site live, use:

    define('LARGO_DEBUG', false);
  • Updated all "Investigative News Network" references to "Institute for Nonprofit News" after INN's recent rebranding
  • Moved the "member of INN" badge to the footer and improved the styling of the social media icons in the footer
  • Use the single column layout for single post pages by default

For more information and a complete list of new features and bugfixes in this release, see the release notes on Github.

Announcing Largo Version 0.4

largo-sqWe're excited to announce a new version of Largo, the open source WordPress framework we build and maintain for our member organizations.

Version 0.4 is a huge update that's been in the works for a while. In this release, we've more or less rebuilt the Largo theme from the ground up to make it more stable and easier to use. Here's a list of some of the things included in this update:

wcijProbably the most visible change is the addition of a number of new homepage layouts, which are much more visual and "magazine-like" to really highlight the feature reporting that many of our members are doing. We've also retained and polished up the previous homepage layouts (with the exception of the "carousel" layout, which is deprecated in version 0.4) and have added a new homepage framework to make it much easier to create your own custom homepage layouts from a child theme. Many of the new layouts also allow a user to switch between viewing "top stories" and "all recent stories" in a traditional "river" view, remembering their preference on subsequent visits.

Faith-based state group seeks Waupun prison abuse probe   WisconsinWatch.orgWe've also completely redesigned the article template to allow for more easy creation of immersive stories. The new default article template in Largo removes the sidebar to reduce distraction and adds a new featured media area at the top of the story with support for a large "hero" image, video or other embedded content (maps, audio, etc.). If you prefer the traditional two-column layout on story pages, we've kept that, too. You can simply select the template you'd like to use in the theme options and will have the option to override it on select stories. These improvements also include streamlining the publishing interface to make it easy to add and manage featured media by reducing the number of boxes you have to search through to find what you're looking for.

read-nextThe bottom of the article page template is now a WordPress widget area to make it easier to rearrange the elements that appear there. This includes the addition of a number of new widgets for related content, author bios, and an optional disclaimer that you can easily add to the bottom of all your stories, or selectively override on a per-story basis.

Site navigation is also cleaner, easier to manage and more mobile friendly, including an option to use a "sticky" header that remains visible when a user scrolls. Article pages now also have a sticky footer with social sharing links, the ability to easily follow authors and topics, and more.


And we've replaced the clunky older/newer posts navigation used on many pages of the site with a simpler "load more posts" infinite scroll.

catCategory pages have been redesigned to give more prominence to featured stories and it is now possible to create and use custom sidebars on category and tag pages. In addition, we've added a new optional "content type" taxonomy to allow you to group stories by type. For example, if you'd like to have a page for just your data projects without having to use categories or tags, now you can!

User profiles are also now easier to manage with the option to upload avatar photos directly in WordPress instead of relying on Gravatar and with better validation for social media accounts to make sure your accounts get linked up correctly. We've also added a new widget to display a list of the writers and editors on your site with their avatar photos, titles, bios, etc.

optionsOn the admin side, we've tried to simplify wherever possible and have moved less-frequently used settings to an optional tab of the theme options to keep them easily available but out of the way. This includes things like optional taxonomies and a number of new integrations with services such as Google Custom Search that you can use to enhance the functionality of your site. One additional option allows you to easily change the color scheme of your site using a LESS/CSS customizer directly from the admin without having to edit your theme files directly.

For developers, we've reorganized the theme files in a way that we hope will make it a lot easier to develop child themes based on Largo. You'll also notice that we've begun to add unit tests for the theme, helper functions for debugging, and more hooks, filters and constants to make it easier to add, remove or modify various pieces of Largo functionality. We also have an updated sample child theme that includes ample documentation and recommended best practices for working with Largo. We welcome your feedback if there's anything else we can do to make your lives easier.

helpdeskAnd last but not least, we've completely revamped the Largo documentation, added a knowledge base with answers to our most frequently asked questions and implemented a new help desk system to better keep tabs on your questions for us.

Oh right, and the ubiquitous "assorted bug fixes."

Updating to the new version is as simple as downloading the new theme (zip) and replacing your existing copy of the Largo parent theme. Then, when you login to your site for the first time, you'll be prompted to apply a database update to make sure all of your settings are preserved. As this is a major update, we strongly recommend creating a backup of your site before making the update and, ideally, testing the new version on a staging site to make sure you have a handle on the changes before applying it to your live site. Just a reminder that if you require more assistance making this update, we offer paid services and we'd be happy to help. Details on that program can be found here.

For INN members who host their sites with us, this update is available today but we'd like to spend some time working with you to walk through the new features. Please drop us a line at if you'd like to be among the first sites to make the update, otherwise we'll be reaching out to you in the coming weeks to schedule these consultations.

Thanks to every member of the INN Nerds team who worked on this release, particularly Ryan Nagle, who took lead on this one, but also to Meredith Melragon who did a lot of the work improving our documentation, Kaeti Hinck who jumped in late in the cycle to help us polish the visual design, and our software apprentices Ben Keith and Will Haynes who both contributed a lot of code to this release. Thanks also to a couple of open source contributors, particularly Ben Byrne and Daniel Bachhuber.

The next release! 0.5 will be focused on improving performance, developer documentation and evaluating third-party libraries, as well as some continued improvements to the design of the default theme. It is scheduled for release at the end of March. We're now keeping the Largo roadmap public on GitHub, so you can see more of what's planned for future releases.

Quiz Your Readers: Our New WordPress Plugin To Create Simple Quizzes

Today we're excited to announce a new embeddable interactive quiz tool built using Mother Jones' handy quiz tool but adapted specifically for the Largo platform and available now for any WordPress site.

[quiz key="0AvfAWkLLRik_dGtjRVNUamJwbE1wRWxtVVRURG1UU0E" layout="sidebar" answerstyle="alpha" align="alignright" title="Take the Quiz!" description="Think you've got what it takes?" source="Wikipedia" byline="Will Haynes/INN"]

Built on top of Mother Jones’ NewsQuiz.js library, this WordPress plugin allows you to build a quiz in Google Drive and embed it with a shortcode into a WordPress post. This could be used to test readers’ understanding of material, or just to expose them to the questions in an interactive way.

Grading of questions happens inline, at the bottom of the widget. Settings exist to control both the size and flow of the plugin, as documented in the project readme.

Try out the example quiz embedded in this post, or check out how INN member Youth Today is using it to support a piece exploring how the income gap affects scoring on college entrance exams.

To see how to build a quiz of your own using this plugin, how to format your Google spreadsheet, etc. please see Mother Jones’ documentation for the original quiz library.

We’re hoping to build more interactive features for Largo in the future.

So if you have an idea for what we should build next or suggestions for how to improve this tool, let us know in the comments or email us anytime at

An Internship In Review

Today wraps up my summer internship with INN. I started May 7, according to the folder of daily journals I started for this internship. That day, I wrote my job description:

  • Improve documentation of Largo for end users and developers
  • Contribute to Project Largo
  • Contribute to member projects
  • Other duties as assigned

It's actually a pretty good summary of what I've done.

I worked on improving the documentation for the Largo Project WordPress theme, before I started working on the Largo Project.

I learned that GitHub project wikis are secretly git repos that you can push to, and that it's possible to keep a GitHub repo for collaboratively working on the wiki.

I started a browser-based version of INN News Apps Developer Ryan Nagle's responsive table creation Python script, and brought it to a stable working version. Play with it on GitHub Pages.

I wrote a custom WordPress page template for an INN member. It uses custom post metadata to choose a category of posts and a title for that category, and renders those with some other posts in a page designed to be embedded in an iframe. It uses NPR's pym.js to make sure the iframe is the right size. I learned about pym.js from the responsive table project.

For a different INN member, I built a widget that queries the Sunlight Foundation Political Party Time API for fundraising events in their state. It shows a list of events and politicians benefiting from them, and stories written by the member about those events. The query response is cached to prevent hammering the API, and the widget itself is cached, to cut the number of times the expensive rendering operation has to run.

In between, I contributed CSS fixes to Largo and to INN member websites, tested the INN deploy-tools repository, and learned a lot of things about PHP and JavaScript.

If a paid internship learning web development tools and techniques while helping non-profit news organizations perform investigative journalism is your sort of thing, you should apply for INN's fall and spring internships. It doesn't really matter where you live or work from, as long as you have an internet connection and are willing to learn.

Next week, I'm moving to Idaho, to write for the Progressive Dairyman website for the semester. Follow my adventures on Twitter @benlkeith, or my occasionally-updated blog

Hire Us! Announcing New Consulting Services From INN’s Technology Team

INN's technology team is focused on helping our now 100+ member organizations any way we can.

We now provide free hosting and support to over 30 member websites on our Largo platform and a significant portion of what we do involves improving the platform and supporting members so they can take maximum advantage of the tools we build.

We've made a lot of headway in the past couple of years reducing costs for members, eliminating duplication of effort and getting members onto a stable platform that looks great and works well across devices.

But it's hard for us to help every member individually and there are many member (and non-member) organizations who would like us to do more and have expressed the willingness to pay for our services.

Specifically, we’ve heard from a number of INN members that they:

  • Have a hard time finding vendors/contractors who “get” what they’re trying to do and often wind up working with local agencies or freelancers who focus mostly on internet marketing or building small business sites so they don’t understand the other considerations unique to news and content sites or nonprofits
  • Are often unhappy with the vendors/contractors they do have and/or are overpaying for subpar services
  • Would, in a number of cases, rather work with INN's tech team directly rather than with an outside vendor. Given our current staffing and workload we typically haven't been able to do this if the request goes above and beyond what we’re able to do for "free" as a benefit of INN membership.

We also frequently hear from non-members that they:

  • Want to use the tools we have built (particularly Largo) but may require some help setting them up or customizing them to suit their needs
  • In some case may require additional custom development to add functionality that we have not yet built
  • Would be willing to pay (provided our rates are competitive) for our services and even (potentially) pay us to host their sites in the same way we host sites for members.

Until now we’ve just been referring people to outside contractors and freelancers but as we continue to grow our technology team we now have the capability to take on some of this work ourselves.

For INN members we will subsidize the cost of these services to keep them very affordable (see the rates section below for details), but we will also, from time to time, take on work from non-members as well (at regular market rates).

Some examples of the services we may offer include:

  • Content migration, design customization and custom development for members using our Largo platform beyond what we're able to do for "free" as a benefit of INN membership
  • Assistance with editorial design and development for news apps, data projects or special series
  • Ongoing or project-based support, training and assistance with story production
  • Design and development of microsites or other special projects

Taking on this additional paid work will allow us to:

  • Offset a portion of our costs and make our team more sustainable for the long-term by being less reliant on grants and other less-predictable sources of funding
  • Expand our technology team faster than would otherwise be possible and offer competitive compensation packages to help us recruit the best talent
  • Provide better service to members at lower rates than what they’re often getting now
  • Assist non-members with the adoption of tools we build (particularly our Largo platform)

We hope that this new program will be a win-win for members and for INN and that we'll now be able to provide an even higher level of support at very reasonable cost.

If you're interested in working with us, we'd love to discuss your needs and how we can help. Get in touch with us here to learn more.

We've also assembled an FAQ to provide more detail on the program.


For INN members, what is free and what do we have to pay for?

As a benefit of your INN membership you receive free hosting for your main website if you use our Largo platform (if you have more complex needs, multiple sites, etc. we may need to pass some of our infrastructure costs through to you). In addition, we will provide a reasonable amount of support to help you migrate to the platform and customize the look and feel of your site.

If you require more assistance, extensive design customization, custom functionality, etc. or ongoing support then this is typically what we would ask you to pay for.

Weren't you doing this for free? Why do we have to pay now?

This new program does not affect any of the benefits we currently offer to members as part of their regular INN membership.

We will continue, for the foreseeable future, to cover hosting costs for members using our Largo WordPress platform and will continue our work to improve the platform itself as well as help members where possible with migration, on-boarding and basic customization.

The reason we're starting to do paid work is that we now have a lot of requests that are very specific to one particular member that we don't believe would necessarily benefit others in the network.

Our team is focused on tackling problems we believe can best be solved at a network level and given our size and funding level we will never be a complete replacement for investment in technology at the member level.

We also hope that by reducing duplication of effort, building common platforms and tools, etc. we free up resources that members can (and should!) re-invest in technology at their organization to best serve their audience, try new things and innovate further faster.

Why should we pay you instead of a local freelancer/agency?

In short, our aim is provide better services at a lower cost.

In the past when members came to us with one-off needs we would refer them to outside contractor or in some cases helped them recruit and hire a full-time tech staff.

Sometimes this works out well but many members have told us they have had bad experiences with contractors or had a hard time finding good help at all that was reasonably priced and understood what they were trying to do.

Other members may want to eventually hire a full-time staff member focused on technology but aren't quite at that point yet and have a need for ongoing help in the meantime.

The way we're hoping to solve this problem is to form a sort of "co-op" comprised of the best news technologists, designers and support staff we can possibly find who will be focused full-time on meeting the needs of nonprofit news organizations. Members will then be able to tap into this team as needed on a project-by-project basis and/or use us for ongoing support, training, etc.

What are the rates? How do you structure your contracts?

As of January 2015 our rates are as follows*:

  • For INN member organizations we offer a further discounted hourly rate of $85 per hour. This is actually slightly below our cost and is subsidized by the other consulting work we do for non-members and by INN's general operating funds (grants we receive from foundations, member dues, etc.)
  • For non-member non-profit organizations we offer a substantially reduced hourly rate of $125 per hour.
  • For non-member, for-profit organizations our regular hourly rate is $175 per hour.

*rates are subject to change but once we agree to an hourly rate we will honor it per the terms of your contract.

Contracts will typically be project-based and we will bill twice monthly for the actual hours worked during the preceding two week period. Under certain circumstances we may agree to do fixed bid contracts but we believe it's typically more fair for both parties to charge for actual hours worked.

I have ongoing tech needs but we're not ready to hire a full-time staff member yet, can you help?

If you have ongoing needs, we've talked to a few members about doing a retainer-based support agreements where you would essentially be sharing a full-time headcount on our team with a number of other INN members. The advantage would be that you would be guaranteed a certain percentage of that person's time without having to recruit and manage them.

If this is something that you would be interested in, contact us and we can discuss your particular needs and how we might best help you.

Project Largo Goes International

Recently INN member Centro de Periodismo Investigativo (CPIPR) debuted a new website, the first INN member to translate our open source Project Largo WordPress theme into Spanish.

The new Centro de Periodismo Investigativo website is the first to translate INN's Largo WordPress theme into Spanish.
The new Centro de Periodismo Investigativo website is the first to translate INN's Largo WordPress theme into Spanish.

With the launch of their new site, CPIPR joins over 20 INN members and 50 other sites around the globe who are now using INN's Project Largo, including sites in Danish, French, Spanish, Portuguese and even Korean. A complete list of the sites using Largo can be found on the Project Largo website.

While many of these sites publish in different languages, the CPIPR site marks the first time we worked with a member to translate the Largo theme itself so that all of the interface elements are now available in Spanish for any other site by simply selecting "Spanish" as their language preference when they install WordPress.

For more details on how WordPress language support works, see this article from their official documentation.

The updated translation files are available now on github and if you'd like to help us translate Largo into other languages, get in touch and we'd be happy to walk you through the process.