You are here


Includes: The Building Blocks of Code

Submitted by Kady on June 30, 2015 - 12:37pm

NationBuilder's webfiles are organized into various levels of .html files, each pulling in different pieces of the site at increasingly more granular levels.

The meta-level file is called "layout.html". This is the file that pulls in the Doctype information, and includes the head of the site, as well as the opening and closing body tags, and is used by nearly every forward-facing page template.

Within the layout.html file, other pieces of the site are pulled in from separate .html files via liquid "include statements". These statements appear as such in the code: {% include "filename" %}, where the "filename" is an html file saved elsewhere on the site. This system keeps the meta-level code neat and well organized.

NationBuilder has its own standard set of "Includes" which it uses in its default templates. You can access and modify those files by going to the "Theme" tab under "Pages". At the bottom of the default templates page is a list called, "Includes". One example of this is the code for the top navigation, which is called in via an include called "nav". Find that include statement in the layout.html file: {% include "nav"%}.

Breadcrumbs: Not for the birds.

Submitted by Kady on June 23, 2015 - 9:44am

In the vast world of the internet, it's easy to lose your way. One way to help your users stay grounded is to use breadcrumbs.

Breadcrumbs are a method of navigation that shows a user where they are on your site.

In NationBuilder, the breadcrumbs.html file controls the navigation within the site pages. It typically follows this format: page / subpage / sub-subpage. With the Buildy breadcrumbs.html, all of those page links are clickable - making site back-navigation more simple and intuitive.

Having site breadcrumbs is a good design practice, and is helpful for SEO.

Most of the popular platforms for website development have methods for implementing breadcrumbs. Resource links follow. Make sure you scroll past them to see a code snippet of our implementation of breadcrumbs in NationBuilder.

The Importance of CRMs

Submitted by Kady on June 18, 2015 - 11:11am

CRMs, or Customer Relationship Management platforms, are key elements of most organizations. A good CRM will help your organization to easily keep track of how supporters interact with you. You can track things like donations, in-kind donations, event attendance, volunteers, and other people who may interact with your organization, like direct clients.

Having a dedicated CRM will help your organization keep track of, segment, and target all of its contacts from one central location. This is a very important feature for any growing organization, as it allows you to target specific requests to specific groups of people relatively easily. It helps you find allies and supporters who may have inadvertently slipped between the cracks, and it facilitates mass communication via emailing. Having all of that information in one database, instead of spread across several, will cut down on duplicate data, duplication of effort, and general confusion, while improving organization and ease of access to data.

All About That Blog

Submitted by Kady on June 16, 2015 - 10:51am

What is a blog, and why does your website need one?

The word "blog", short for "weblog" derives from its early origins as an actual journal on places like livejournal and blogger. The use of the term is further confused by the fact that people use it to refer to the parts, as well as to the whole.

If you think of a blog as a journal or diary, the term blog refers to the whole book, while blog post (or simply post) refers to each entry. They can be used for any content that will need frequent updating, it needn't be a journal. Following is a brief overview of some basic blog-related tasks in NationBuilder.

Email - Less is More

Submitted by Jerimee on June 12, 2015 - 1:26pm

Effective organizations use email to communicate with their supporters in a way that is personal and engaging. Often, organizations seek to use complicated layouts for their email template, when simple is much better. Good email design is 99% invisible. You should not have to think about the design of your email messages; energy invested in designing email templates is more effectively spent on targeting and messaging. For most organizations a text only email will consistently outperform an email with graphics or layout elements such as columns.

The first thing to consider it that email templates aren't like print flyers, which look the same no matter where you see them. Each email client displays code slightly differently, meaning that the best way ensure that your emails look similar across email clients like Yahoo, Google and Outlook is to have as little code as possible, and keeping your mass emails simple and succinct will cut down on this possibility.

How's your Google Fu?

Submitted by Kady on June 9, 2015 - 11:40am
Pie Operators

A long, long time ago, on an internet vastly dissimilar from that we know today, a little company named Google came up with a new way of searching the web. Unlike other search engines of the time, their search portal was not cluttered with links to other places, or news stories, and you could not customize your experience to show only the spam content that was interesting to you.

It was just a box. A lovely text box in the middle of the page, beneath the vivid primary colors of the Google logo.

Nowadays, Google has become a proprietary eponym (a brand name that's been generalized... like Kleenex® or Rollerblade®.) for the more general "search the web."

But how good are your Google skills? Do you always find what you're Googling for? Did you know that there's more to the Google algorithms than just the search box?

This mythical antediluvian Google site also had a few tiny little text links, one of which was "Advanced Search." From there, you could access secret extra tools (like a spy!) to be more specific in your searches.

NationBuilder Field Guide

Submitted by Kady on May 26, 2015 - 12:15pm

We're excited to announce that section one of our NationBuilder Field Guide is now available online at  

Thank you again to those of you who have supported this project, whether monetarily, with your enthusiasm, or with your input on the guide as we get more content into it.

We are working diligently to get copies of the full guide in its current form to those who've ordered them. If you'd like to purchase it and have not yet done so, you have options here:

Bull City Solidarity

Submitted by Lindsay on May 4, 2015 - 11:36am

Approximately 500 or so people converged in front of the Durham Police Precinct for a march in solidarity with Baltimore (organized by the Durham Solidarity Center)  in the wake of the murder of 25 year old Freddie Gray. Citizens from all over the Triangle and all walks of life assembled on the sidewalk and eventually overflowed into the street. The tone of the rally was occasionally somber, but more jubilant than anticipated given the news of charges being brought against the 6 police officers responsible for Grey’s death. Many participants held signs commenting on the problems with police brutality. One woman who waved a large white sign with “Justice for Jesus Huerta” scrawled in big black letters volunteered that her marriage to a west Indian black man decades ago was a cause of much racism, said that she was at the rally because  she couldn’t bear her children living in a world as racist as her own.

Concepts of Coding: Keep Your Nest Clean

Submitted by Kady on April 8, 2015 - 9:21am

It's not uncommon for words that you thought you knew the meaning of to take on a different connotation when relating to computers. "Embed" doesn't just mean snuggle down into a mass of pillows, there's an actual tag called "embed" which performs a specific (albeit similar) function. Another word coders have misappropriated is "nest." In coding HTML you will often want to do several things to one object. In the case of a website, the simplest example is a piece of text. The example I'm going to give you with HTML is not something you will necessarily do anymore, because you can more cleanly accomplish it with CSS, but it will serve for showing the properties of nesting.

Let's say you have some text.

Hello World.

Being a diligent coder, you surround your text with paragraph tags, like so:

<p>Hello World.</p>

And maybe you are really excited about this text, and you want it to be bold. Here's where we have to start worrying about nesting.

Concepts of Coding: If you open it, close it

Submitted by Kady on April 1, 2015 - 9:27am

AKA: If you start it, end it

Have you ever thought about doing a little more customization on your website, and just been overwhelmed when you realized you'd need to know HTML, or Javascript, or CSS, or php or... whatever language you needed and didn't have? It's not unlike being in a foreign country and not speaking the language. BUT! When it comes to computer coding, there's good news. There are certain concepts of writing computer languages that are universal to nearly all coding languages.*

Today we're going to start with open and closed. One very basic concept of coding is that if you open something, you have to close it before the end of your file.