SlideShare a Scribd company logo
Paul Walk
Head of Technology Strategy and Planning,
EDINA
p.walk@ed.ac.uk
@paulwalk
Static Site Generators: what they are and
when they are useful
contents
• what are static-site generators?
• why should you care?
• what do you need to use them?
• (I will use the example of the RIOXX website, which is built with an application
called Hugo)
what are they?
what are static site generators?
• a different kind of web-content management system, designed to publish
content as static content to a bog-standard web-server.
• content is processed during the publishing operation, rather than when the
user requests content (although client-side Javascript still supported)
• simple command-line application to generate content and serve pages
• no database - content in semi-structured text files
components - standard to most systems
1. content-model
• folder hierarchy, text files
2. content pages
• (markdown, front-matter)
• blog type content is also often supported
3. templates (& themes)
• (with some level of basic scripting)
4. generator software
• typically a command-line script or application
5. configuration file
6. other non-core features
• 'shortcodes'
• data as content (i.e. data in structured files such as JSON or YAML)
• plugins
1. content-model
• text files arranged in folder
hierarchy
• folder hierarchy relates to URL path
structure
• filename relates to URL
2. content pages
• "front-matter" metadata
• often in YAML format like here
• main body in Markdown, arbitrary
HTML also accepted where necessary
---
author: Paul Walk
categories: []
date: 2016-03-29T17:18:13+01:00
description: ""
draft: false
tags: ["eprints","oai-pmh"]
title: RIOXX and metadata only
records
topics: []
---
I received the following query from
Emma Sansby, Head of Library
Services at Bishop Grosseteste
University:
> I am currently leading a project to
implement Eprints (hosted and
supported by ULCC) at my
3. templates
• can reference metadata (e.g. 'page title') from content page
• can re-use 'partial' templates (e.g. a common 'header' & 'footer')
• often in a common templating language such as HAML
• (example below is in Go's templating syntax)
= include partials/header.html .
div.row-fluid
div class="col-xs-12"
h1.page-title {{if .Draft}}[**draft**]{{end}}{{.Title}}
h2.page-title
i {{.Params.author}}, {{.Date.Format "Monday, January 02, 2006"}}
{{.Content}}
= include partials/share_buttons.html .
= include _internal/disqus.html .
= include partials/footer.html .
4. generator software
• used to generate new content:
• also used to run a local sever to see how the site will look
deployment options
• SFTP (no one uses FTP anymore, right....?)
• Rsync (over SSH)
• git commit hooks (or GitHub webhooks)
• requires the site to be built on the server, so more infrastructure required
• Dropbox
example: rioxx site deployment
436 known generators
https://staticsitegenerators.net
why should you care?
the case against big CMS (Wordpress, Drupal etc.)
• complexity (require infrastructure - notably a database)
• more points of failure
• overkill for small websites
• require frequent maintenance for security and resilience
• even when the website is in 'legacy' mode
• replication for resilience and/or scaling is non-trivial
• responding to sudden peaks in demand is difficult
• backup and long-term preservation is very difficult
• typically need to preserve complex software & a database
Pros and cons
• Pros
• can manage many contributors,
with different levels of access
• (non-tech) user-friendly
authoring env.
• Cons
• significant sysadmin burden
• infrastructural reqs
• plugins make this worse
• content preservation challenge
• Pros
• developer-friendly authoring env
• minimal sysadmin burden
• minimal infrastructural reqs
• supports content preservation
• very responsive websites
• Cons
• basic access control (e.g. git repo)
• (non-tech) user-friendly authoring
env.
Content Management System Static website generator
what do you need to
use them?
authoring tools
• a good Markdown-friendly editor with 'preview' support
• any old text editor at a pinch....
• access to command line tool such as SFTP or Rsync for deployment
• web browser
• that's it :-)
when to consider using them
• if you need to build & manage a website which:
• will have one, or a small number, of users
• will be relatively simple
• won't have major 'dynamic' requirements
• will need to be preserved, even after it is no longer a live site
• in short - a project website is a good candidate!

More Related Content

PDF
Implementing RIOXX
PPTX
Rioxx 2 repository fringe
PDF
DSpace Update from Open Repositories 2014
PPTX
Wikidata & dbpedia
PPTX
The workflows for the ingest of digital objects into a repository/digital l...
PDF
The ECM world from the point of view of Alfresco - Linux Day 2013 - Rome
PDF
Open Source Software for Libraries
Implementing RIOXX
Rioxx 2 repository fringe
DSpace Update from Open Repositories 2014
Wikidata & dbpedia
The workflows for the ingest of digital objects into a repository/digital l...
The ECM world from the point of view of Alfresco - Linux Day 2013 - Rome
Open Source Software for Libraries

What's hot (16)

PPTX
Report: Archivematica hosting in the cloud
PDF
PREMIS in METS in Archivematica
PPTX
EBSCO Discovery Service @ University of Toledo - Rigda
PPTX
Avoiding the 927 Problem: Standards, Digital Preservation, and Communities of...
PPTX
Digital Preservation with Archivematica: An Introduction
PPTX
Archivematica Community Update - SAA 2016
PPTX
Furore devdays 2017 - implementation guides (lloyd)
PPTX
Furore devdays 2017- profiling academy - profiling guidelines v1
KEY
Open Data: Elag workshop report
PPTX
EBSCO Discovery Service @ Union Institute & University
PPTX
Multilingual issues in the representation of international bibliographic stan...
PPTX
Wsillforwaal2013
PPTX
RDA: Alive and Well and Still Speaking MARC
PDF
2010 06 rdf_next
PPTX
Vocabulary Development for Local Use: A DIY Introduction
ODP
Resource Oriented Architecture
Report: Archivematica hosting in the cloud
PREMIS in METS in Archivematica
EBSCO Discovery Service @ University of Toledo - Rigda
Avoiding the 927 Problem: Standards, Digital Preservation, and Communities of...
Digital Preservation with Archivematica: An Introduction
Archivematica Community Update - SAA 2016
Furore devdays 2017 - implementation guides (lloyd)
Furore devdays 2017- profiling academy - profiling guidelines v1
Open Data: Elag workshop report
EBSCO Discovery Service @ Union Institute & University
Multilingual issues in the representation of international bibliographic stan...
Wsillforwaal2013
RDA: Alive and Well and Still Speaking MARC
2010 06 rdf_next
Vocabulary Development for Local Use: A DIY Introduction
Resource Oriented Architecture
Ad

Similar to Static Site Generators: what they are and when they are useful (20)

PPTX
Documenting metadata application profiles and vocabularies
PPTX
Static Site Generators - Developing Websites in Low-resource Condition
PDF
itPage LDC 09 Presentation
PDF
Front end for back end developers
PDF
HTML5, just another presentation :)
PDF
High Voltage - Building Static Sites With Wordpress-Managed Content
PDF
Best practices-wordpress-enterprise
PPTX
IBM Digital Experience Theme Customization
PDF
Demystifying WordPress
PPTX
CI_CONF 2012: Scaling
PPTX
CI_CONF 2012: Scaling - Chris Miller
PPTX
WCBos13 intermediate workshop
PPTX
Find maximum bugs in limited time
PPSX
Olympya web-tools 2011
PDF
Rapidly prototyping web applications using BackPress
PDF
[Russia] Bugs -> max, time <= T
PDF
Intro to HTML 5 / CSS 3
PPT
5 Common Mistakes You are Making on your Website
PDF
WordPress Intermediate Workshop
Documenting metadata application profiles and vocabularies
Static Site Generators - Developing Websites in Low-resource Condition
itPage LDC 09 Presentation
Front end for back end developers
HTML5, just another presentation :)
High Voltage - Building Static Sites With Wordpress-Managed Content
Best practices-wordpress-enterprise
IBM Digital Experience Theme Customization
Demystifying WordPress
CI_CONF 2012: Scaling
CI_CONF 2012: Scaling - Chris Miller
WCBos13 intermediate workshop
Find maximum bugs in limited time
Olympya web-tools 2011
Rapidly prototyping web applications using BackPress
[Russia] Bugs -> max, time <= T
Intro to HTML 5 / CSS 3
5 Common Mistakes You are Making on your Website
WordPress Intermediate Workshop
Ad

More from Paul Walk (20)

PPTX
COAR Notify - presentation to PRC Meeting Lyon Notify
PDF
Should Repositories Participate in the Fediverse?
PPTX
Introduction to the COAR Notify project
PPTX
Next generation repositories
PDF
What does the next generation repository look like?
PPTX
COAR Next Generation Repositories Working Group
PPTX
RIOXX: a Modern Metadata Application Profile
PPTX
Exploiting the value of Dublin Core through pragmatic development
PPTX
The Strategic Developer: a new role for Higher Education?
PDF
Local, technical innovation in an outsourced world
PDF
Working with Developers
PPT
It's their cloud, not yours
PDF
Technical Challenges in Resource Discovery
PDF
Responsive Innovation in a Local Context
KEY
The Changing Role of the Developer in HE
KEY
Supporting Developers, Supporting Research
KEY
Future of LMS
KEY
Innovation, community, sustainability
KEY
Strategic development in a local HEI context
PDF
Enterprise Information Integration at LondonMet
COAR Notify - presentation to PRC Meeting Lyon Notify
Should Repositories Participate in the Fediverse?
Introduction to the COAR Notify project
Next generation repositories
What does the next generation repository look like?
COAR Next Generation Repositories Working Group
RIOXX: a Modern Metadata Application Profile
Exploiting the value of Dublin Core through pragmatic development
The Strategic Developer: a new role for Higher Education?
Local, technical innovation in an outsourced world
Working with Developers
It's their cloud, not yours
Technical Challenges in Resource Discovery
Responsive Innovation in a Local Context
The Changing Role of the Developer in HE
Supporting Developers, Supporting Research
Future of LMS
Innovation, community, sustainability
Strategic development in a local HEI context
Enterprise Information Integration at LondonMet

Recently uploaded (20)

PPTX
Cloud computing and distributed systems.
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Electronic commerce courselecture one. Pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Empathic Computing: Creating Shared Understanding
PPT
Teaching material agriculture food technology
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Big Data Technologies - Introduction.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
MYSQL Presentation for SQL database connectivity
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
Cloud computing and distributed systems.
Understanding_Digital_Forensics_Presentation.pptx
MIND Revenue Release Quarter 2 2025 Press Release
Reach Out and Touch Someone: Haptics and Empathic Computing
Electronic commerce courselecture one. Pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Per capita expenditure prediction using model stacking based on satellite ima...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Review of recent advances in non-invasive hemoglobin estimation
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Empathic Computing: Creating Shared Understanding
Teaching material agriculture food technology
NewMind AI Weekly Chronicles - August'25 Week I
Big Data Technologies - Introduction.pptx
Encapsulation_ Review paper, used for researhc scholars
Chapter 3 Spatial Domain Image Processing.pdf
MYSQL Presentation for SQL database connectivity
The AUB Centre for AI in Media Proposal.docx
Digital-Transformation-Roadmap-for-Companies.pptx

Static Site Generators: what they are and when they are useful

  • 1. Paul Walk Head of Technology Strategy and Planning, EDINA p.walk@ed.ac.uk @paulwalk Static Site Generators: what they are and when they are useful
  • 2. contents • what are static-site generators? • why should you care? • what do you need to use them? • (I will use the example of the RIOXX website, which is built with an application called Hugo)
  • 4. what are static site generators? • a different kind of web-content management system, designed to publish content as static content to a bog-standard web-server. • content is processed during the publishing operation, rather than when the user requests content (although client-side Javascript still supported) • simple command-line application to generate content and serve pages • no database - content in semi-structured text files
  • 5. components - standard to most systems 1. content-model • folder hierarchy, text files 2. content pages • (markdown, front-matter) • blog type content is also often supported 3. templates (& themes) • (with some level of basic scripting) 4. generator software • typically a command-line script or application 5. configuration file 6. other non-core features • 'shortcodes' • data as content (i.e. data in structured files such as JSON or YAML) • plugins
  • 6. 1. content-model • text files arranged in folder hierarchy • folder hierarchy relates to URL path structure • filename relates to URL
  • 7. 2. content pages • "front-matter" metadata • often in YAML format like here • main body in Markdown, arbitrary HTML also accepted where necessary --- author: Paul Walk categories: [] date: 2016-03-29T17:18:13+01:00 description: "" draft: false tags: ["eprints","oai-pmh"] title: RIOXX and metadata only records topics: [] --- I received the following query from Emma Sansby, Head of Library Services at Bishop Grosseteste University: > I am currently leading a project to implement Eprints (hosted and supported by ULCC) at my
  • 8. 3. templates • can reference metadata (e.g. 'page title') from content page • can re-use 'partial' templates (e.g. a common 'header' & 'footer') • often in a common templating language such as HAML • (example below is in Go's templating syntax) = include partials/header.html . div.row-fluid div class="col-xs-12" h1.page-title {{if .Draft}}[**draft**]{{end}}{{.Title}} h2.page-title i {{.Params.author}}, {{.Date.Format "Monday, January 02, 2006"}} {{.Content}} = include partials/share_buttons.html . = include _internal/disqus.html . = include partials/footer.html .
  • 9. 4. generator software • used to generate new content: • also used to run a local sever to see how the site will look
  • 10. deployment options • SFTP (no one uses FTP anymore, right....?) • Rsync (over SSH) • git commit hooks (or GitHub webhooks) • requires the site to be built on the server, so more infrastructure required • Dropbox
  • 11. example: rioxx site deployment
  • 13. why should you care?
  • 14. the case against big CMS (Wordpress, Drupal etc.) • complexity (require infrastructure - notably a database) • more points of failure • overkill for small websites • require frequent maintenance for security and resilience • even when the website is in 'legacy' mode • replication for resilience and/or scaling is non-trivial • responding to sudden peaks in demand is difficult • backup and long-term preservation is very difficult • typically need to preserve complex software & a database
  • 15. Pros and cons • Pros • can manage many contributors, with different levels of access • (non-tech) user-friendly authoring env. • Cons • significant sysadmin burden • infrastructural reqs • plugins make this worse • content preservation challenge • Pros • developer-friendly authoring env • minimal sysadmin burden • minimal infrastructural reqs • supports content preservation • very responsive websites • Cons • basic access control (e.g. git repo) • (non-tech) user-friendly authoring env. Content Management System Static website generator
  • 16. what do you need to use them?
  • 17. authoring tools • a good Markdown-friendly editor with 'preview' support • any old text editor at a pinch.... • access to command line tool such as SFTP or Rsync for deployment • web browser • that's it :-)
  • 18. when to consider using them • if you need to build & manage a website which: • will have one, or a small number, of users • will be relatively simple • won't have major 'dynamic' requirements • will need to be preserved, even after it is no longer a live site • in short - a project website is a good candidate!

Editor's Notes

  • #5: contrasted with a 'Content Management System', which typically assembles and pre-processes content on request not a new idea (this is where we started with the Web!) but it is much better supported now that we have things like distributed version control (e.g. git) and useable markup and presentation languages (e.g. Markdown, HAML etc.)
  • #7: text files arranged in folder hierarchy the folder hierarchy normally conveys some meaning, and relates directly to URL structures
  • #9: eagle-eyed will spot that this is using CSS from 'bootstrap'
  • #10: the new content will use the appropriate 'archetype' according to the path - in this case a 'post' -w flag means watch for changes - extremely fast in Hugo - the browser refreshes the content as soon as you save any file (content or template)
  • #13: These are the two I have used - started with Middleman (Ruby) and moved to Hugo (Go). It was easy to automate the migration of content from one to the other. Jekyll is another Ruby system, very well known and used to power GitHub
  • #15: For the EDINA main website, Drupal is a smart choice "70% of today’s WordPress installations are vulnerable to known exploits"
  • #16: speed!! shifts the burden from the point of viewing the content to the point of publishing the content
  • #18: there are many good Markdown editors