small medium large xlarge

Build Websites with Hugo; Programmer Passport: Prolog

February 12, 2020

Best Sellers:

Make sure you haven't missed anything!

  1. Become an Effective Software Engineering Manager
  2. Real-Time Phoenix
  3. Agile Web Development with Rails 6
  4. Fixing Your Scrum
  5. Software Estimation Without Guessing

See all best sellers…

On this day in 1947, an iron meteorite struck the Earth in the Sikhote-Alin region. It was the largest observed iron meteorite at the time, and made (ahem) quite an impact.

Terrible puns aside, you can make a huge impact yourself—without resorting to big iron. Pick up a copy of our latest title, Build Websites with Hugo. Rediscover for yourself how much fun web development can be with Hugo, a static site generator and web framework. See how easy it is to build a rock-solid, no-moving-parts website. Get started today at

Also this week, our friends at have a new entry on graphs using Prolog. Read on for details.


Build Websites with Hugo

Database-driven sites bring complexity you might not need, but building a site by hand is too much work. Hugo is a static site generator and web development framework that creates content sites quickly without the overhead or dependencies of a dynamic web framework. With Hugo, you use HTML templates and Markdown to build static sites you can host anywhere, letting you use the skills you already have.

Develop your own theme using standard HTML and CSS, and Hugo's powerful templating features to organize your site's components. Create your site's content with HTML or Markdown and use Hugo's content templating features to build new content quickly. Build a fully-featured blog with archive pages, tagging, and pagination, and integrate an external commenting system to provide interactivity. Use data from front-matter, site-wide configuration, and external JSON sources to add content, and generate JSON others can use. Integrate JavaScript with your site to create a search engine. Get Hugo working with Webpack so you can leverage the wider web development ecosystem, and explore ways to publish your site to various services. Finally, learn how you can move your existing content site to Hugo.

Dive in and build your next site with Hugo!

Now available in beta from

Programmer Passport: Prolog

Graphs represent the concept of connection. In math, graphs are collections of nodes (also called vertices) and the connections, called edges, between them. A node might be a city on a map or a person in a social network. An edge might be the route between two subway stations, or a follows relationship in social media.

Representing connections is important, but what makes graph theory so powerful are the analysis tools a knowledgeable programmer can bring to bear. Think of it this way: Knowing all of the airports a carrier uses is interesting. Knowing the data about the flights between them is infinitely more important. Scheduling flights to minimize fuel costs and maximize customer load is the difference between profitability and bankruptcy.

Prolog is the ideal language for dealing with graphs because the database works that way. You can often think of a Prolog fact as an edge in a database. That makes it easy to envision what’s happening in a graph.

Curious? Subscribe to's Programmer Passport at!

Upcoming Author Appearances

  • 2020-02-13 George Dinwiddie,
    Agile Charm, Baltimore MD
  • 2020-02-18 Paolo Perrotta,
    ParisRB Conf 2020, Paris
  • 2020-02-20 Craig Walls,
  • 2020-02-21 Diana Larsen,
    Portland, Oregon, USA
  • 2020-02-24 Ethan Garofolo,
    O’Reilly Software Architecture Conference, New York City
  • 2020-02-28 Craig Walls,
    Greater Wisconsin Software Symposium (NFJS)
  • 2020-02-29 Stephen Bussey,
    Lone Star Elixir in Austin, Texas
  • 2020-03-03 James Stanier,
    QCon London
  • 2020-03-04 Randall Koutnik,
    QCon London
  • 2020-03-05 Stephen Bussey,
    Code BEAM SF
  • 2020-03-06 Craig Walls,
    Twin Cities Software Symposium (NFJS)
  • 2020-03-09 Cesario Ramos,
    “A Scrum Book” Course by Jim Coplien
  • 2020-03-12 Jon Reid,
    Advanced TDD with Swift, Linz, Austria
  • 2020-03-13 Craig Walls,
    New England Software Symposium (NFJS)
  • 2020-03-16 Jon Reid,
    TDD for iOS Workshop, Amsterdam, Netherlands
  • 2020-03-24 Venkat Subramaniam,, Broomfield, Colorado
  • 2020-03-24 Diana Larsen,
    Broomfield, Colorado USA
  • 2020-03-24 Diana Larsen,
    Broomfield, Colorado, USA
  • You Could Be a Published Author

    Is there a tech topic you are deeply passionate about and want to share with the rest of us? You could become a published Pragmatic Bookshelf author! Take a look at our page for details, including our 50% royalty (yes, for real!) and world-class development editors.

    Don't Get Left Out

    Are your friends jealous that you get these spiffy email newsletters and they don't? Clue them in that all they need to do is create an account on (email address and password is all it takes) and select the checkbox to receive newsletters.

    Are you following us on Twitter and/or Facebook? Here's where you can find us and keep up with the latest news and commentary, and occasional discounts:

    Tell your friends! Tweet this

    Follow us on Twitter: pragprog</a>, <a href="">pragpub, Andy Hunt @PragmaticAndy.

    Coming Soon:

    • Programming Flutter, in print
    • Programming Machine Learning, in print
    • Competing with Unicorns, in print
    • Real-Time Phoenix, in print
    • Mastering SwiftUI, in beta

    Recently Released:

    Thanks for your continued support,

    Andy Hunt
    Publisher, Pragmatic Bookshelf

    Books • eBooks • PragPub Magazine • Audiobooks and Screencasts