SlideShare a Scribd company logo
1 of 18
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

What's hot

EBSCO Discovery Service @ University of Toledo - Rigda
EBSCO Discovery Service @ University of Toledo - RigdaEBSCO Discovery Service @ University of Toledo - Rigda
EBSCO Discovery Service @ University of Toledo - RigdaSWON-EDS
 
Avoiding the 927 Problem: Standards, Digital Preservation, and Communities of...
Avoiding the 927 Problem: Standards, Digital Preservation, and Communities of...Avoiding the 927 Problem: Standards, Digital Preservation, and Communities of...
Avoiding the 927 Problem: Standards, Digital Preservation, and Communities of...Artefactual Systems - Archivematica
 
Furore devdays 2017 - implementation guides (lloyd)
Furore devdays 2017 - implementation guides (lloyd)Furore devdays 2017 - implementation guides (lloyd)
Furore devdays 2017 - implementation guides (lloyd)DevDays
 
Furore devdays 2017- profiling academy - profiling guidelines v1
Furore devdays 2017- profiling academy - profiling guidelines v1Furore devdays 2017- profiling academy - profiling guidelines v1
Furore devdays 2017- profiling academy - profiling guidelines v1DevDays
 
Open Data: Elag workshop report
Open Data: Elag workshop reportOpen Data: Elag workshop report
Open Data: Elag workshop reportPatrick Danowski
 
EBSCO Discovery Service @ Union Institute & University
EBSCO Discovery Service @ Union Institute & UniversityEBSCO Discovery Service @ Union Institute & University
EBSCO Discovery Service @ Union Institute & UniversityTina Beis
 
Multilingual issues in the representation of international bibliographic stan...
Multilingual issues in the representation of international bibliographic stan...Multilingual issues in the representation of international bibliographic stan...
Multilingual issues in the representation of international bibliographic stan...Gordon Dunsire
 
Wsillforwaal2013
Wsillforwaal2013Wsillforwaal2013
Wsillforwaal2013WiLS
 
RDA: Alive and Well and Still Speaking MARC
RDA: Alive and Well and Still Speaking MARCRDA: Alive and Well and Still Speaking MARC
RDA: Alive and Well and Still Speaking MARCDiane Hillmann
 
2010 06 rdf_next
2010 06 rdf_next2010 06 rdf_next
2010 06 rdf_nextJun Zhao
 
Vocabulary Development for Local Use: A DIY Introduction
Vocabulary Development for Local Use: A DIY IntroductionVocabulary Development for Local Use: A DIY Introduction
Vocabulary Development for Local Use: A DIY IntroductionDiane Hillmann
 

What's hot (16)

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

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

Documenting metadata application profiles and vocabularies
Documenting metadata application profiles and vocabulariesDocumenting metadata application profiles and vocabularies
Documenting metadata application profiles and vocabulariesPaul Walk
 
Static Site Generators - Developing Websites in Low-resource Condition
Static Site Generators - Developing Websites in Low-resource ConditionStatic Site Generators - Developing Websites in Low-resource Condition
Static Site Generators - Developing Websites in Low-resource ConditionIWMW
 
itPage LDC 09 Presentation
itPage LDC 09 PresentationitPage LDC 09 Presentation
itPage LDC 09 PresentationEric Landmann
 
Front end for back end developers
Front end for back end developersFront end for back end developers
Front end for back end developersWojciech Bednarski
 
HTML5, just another presentation :)
HTML5, just another presentation :)HTML5, just another presentation :)
HTML5, just another presentation :)François Massart
 
High Voltage - Building Static Sites With Wordpress-Managed Content
High Voltage - Building Static Sites With Wordpress-Managed ContentHigh Voltage - Building Static Sites With Wordpress-Managed Content
High Voltage - Building Static Sites With Wordpress-Managed ContentNicolle Morton
 
Best practices-wordpress-enterprise
Best practices-wordpress-enterpriseBest practices-wordpress-enterprise
Best practices-wordpress-enterpriseTaylor Lovett
 
IBM Digital Experience Theme Customization
IBM Digital Experience Theme CustomizationIBM Digital Experience Theme Customization
IBM Digital Experience Theme CustomizationVan Staub, MBA
 
Demystifying WordPress
Demystifying WordPressDemystifying WordPress
Demystifying WordPressMykl Roventine
 
CI_CONF 2012: Scaling
CI_CONF 2012: ScalingCI_CONF 2012: Scaling
CI_CONF 2012: ScalingChris Miller
 
WCBos13 intermediate workshop
WCBos13 intermediate workshopWCBos13 intermediate workshop
WCBos13 intermediate workshopBoston WordPress
 
Find maximum bugs in limited time
Find maximum bugs in limited timeFind maximum bugs in limited time
Find maximum bugs in limited timebeched
 
Olympya web-tools 2011
Olympya web-tools 2011Olympya web-tools 2011
Olympya web-tools 2011Paulo Mattos
 
Rapidly prototyping web applications using BackPress
Rapidly prototyping web applications using BackPressRapidly prototyping web applications using BackPress
Rapidly prototyping web applications using BackPressNathaniel Taintor
 
[Russia] Bugs -> max, time <= T
[Russia] Bugs -> max, time <= T[Russia] Bugs -> max, time <= T
[Russia] Bugs -> max, time <= TOWASP EEE
 
5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your WebsiteAcquia
 
WordPress Intermediate Workshop
WordPress Intermediate WorkshopWordPress Intermediate Workshop
WordPress Intermediate WorkshopThe Toolbox, Inc.
 

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

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

More from Paul Walk

Introduction to the COAR Notify project
Introduction to the COAR Notify projectIntroduction to the COAR Notify project
Introduction to the COAR Notify projectPaul Walk
 
Next generation repositories
Next generation repositoriesNext generation repositories
Next generation repositoriesPaul Walk
 
What does the next generation repository look like?
What does the next generation repository look like?What does the next generation repository look like?
What does the next generation repository look like?Paul Walk
 
COAR Next Generation Repositories Working Group
COAR Next Generation Repositories Working GroupCOAR Next Generation Repositories Working Group
COAR Next Generation Repositories Working GroupPaul Walk
 
RIOXX: a Modern Metadata Application Profile
RIOXX: a Modern Metadata Application ProfileRIOXX: a Modern Metadata Application Profile
RIOXX: a Modern Metadata Application ProfilePaul Walk
 
Exploiting the value of Dublin Core through pragmatic development
Exploiting the value of Dublin Core through pragmatic developmentExploiting the value of Dublin Core through pragmatic development
Exploiting the value of Dublin Core through pragmatic developmentPaul Walk
 
The Strategic Developer: a new role for Higher Education?
The Strategic Developer: a new role for Higher Education?The Strategic Developer: a new role for Higher Education?
The Strategic Developer: a new role for Higher Education?Paul Walk
 
Local, technical innovation in an outsourced world
Local, technical innovation in an outsourced worldLocal, technical innovation in an outsourced world
Local, technical innovation in an outsourced worldPaul Walk
 
Working with Developers
Working with DevelopersWorking with Developers
Working with DevelopersPaul Walk
 
It's their cloud, not yours
It's their cloud, not yoursIt's their cloud, not yours
It's their cloud, not yoursPaul Walk
 
Technical Challenges in Resource Discovery
Technical Challenges in Resource DiscoveryTechnical Challenges in Resource Discovery
Technical Challenges in Resource DiscoveryPaul Walk
 
Responsive Innovation in a Local Context
Responsive Innovation in a Local ContextResponsive Innovation in a Local Context
Responsive Innovation in a Local ContextPaul Walk
 
The Changing Role of the Developer in HE
The Changing Role of the Developer in HEThe Changing Role of the Developer in HE
The Changing Role of the Developer in HEPaul Walk
 
Supporting Developers, Supporting Research
Supporting Developers, Supporting ResearchSupporting Developers, Supporting Research
Supporting Developers, Supporting ResearchPaul Walk
 
Future of LMS
Future of LMSFuture of LMS
Future of LMSPaul Walk
 
Innovation, community, sustainability
Innovation, community, sustainabilityInnovation, community, sustainability
Innovation, community, sustainabilityPaul Walk
 
Strategic development in a local HEI context
Strategic development in a local HEI contextStrategic development in a local HEI context
Strategic development in a local HEI contextPaul Walk
 
Enterprise Information Integration at LondonMet
Enterprise Information Integration at LondonMetEnterprise Information Integration at LondonMet
Enterprise Information Integration at LondonMetPaul Walk
 
The value of local developers
The value of local developersThe value of local developers
The value of local developersPaul Walk
 
Technical standards & the RDTF Vision: some considerations
Technical standards & the RDTF Vision: some considerationsTechnical standards & the RDTF Vision: some considerations
Technical standards & the RDTF Vision: some considerationsPaul Walk
 

More from Paul Walk (20)

Introduction to the COAR Notify project
Introduction to the COAR Notify projectIntroduction to the COAR Notify project
Introduction to the COAR Notify project
 
Next generation repositories
Next generation repositoriesNext generation repositories
Next generation repositories
 
What does the next generation repository look like?
What does the next generation repository look like?What does the next generation repository look like?
What does the next generation repository look like?
 
COAR Next Generation Repositories Working Group
COAR Next Generation Repositories Working GroupCOAR Next Generation Repositories Working Group
COAR Next Generation Repositories Working Group
 
RIOXX: a Modern Metadata Application Profile
RIOXX: a Modern Metadata Application ProfileRIOXX: a Modern Metadata Application Profile
RIOXX: a Modern Metadata Application Profile
 
Exploiting the value of Dublin Core through pragmatic development
Exploiting the value of Dublin Core through pragmatic developmentExploiting the value of Dublin Core through pragmatic development
Exploiting the value of Dublin Core through pragmatic development
 
The Strategic Developer: a new role for Higher Education?
The Strategic Developer: a new role for Higher Education?The Strategic Developer: a new role for Higher Education?
The Strategic Developer: a new role for Higher Education?
 
Local, technical innovation in an outsourced world
Local, technical innovation in an outsourced worldLocal, technical innovation in an outsourced world
Local, technical innovation in an outsourced world
 
Working with Developers
Working with DevelopersWorking with Developers
Working with Developers
 
It's their cloud, not yours
It's their cloud, not yoursIt's their cloud, not yours
It's their cloud, not yours
 
Technical Challenges in Resource Discovery
Technical Challenges in Resource DiscoveryTechnical Challenges in Resource Discovery
Technical Challenges in Resource Discovery
 
Responsive Innovation in a Local Context
Responsive Innovation in a Local ContextResponsive Innovation in a Local Context
Responsive Innovation in a Local Context
 
The Changing Role of the Developer in HE
The Changing Role of the Developer in HEThe Changing Role of the Developer in HE
The Changing Role of the Developer in HE
 
Supporting Developers, Supporting Research
Supporting Developers, Supporting ResearchSupporting Developers, Supporting Research
Supporting Developers, Supporting Research
 
Future of LMS
Future of LMSFuture of LMS
Future of LMS
 
Innovation, community, sustainability
Innovation, community, sustainabilityInnovation, community, sustainability
Innovation, community, sustainability
 
Strategic development in a local HEI context
Strategic development in a local HEI contextStrategic development in a local HEI context
Strategic development in a local HEI context
 
Enterprise Information Integration at LondonMet
Enterprise Information Integration at LondonMetEnterprise Information Integration at LondonMet
Enterprise Information Integration at LondonMet
 
The value of local developers
The value of local developersThe value of local developers
The value of local developers
 
Technical standards & the RDTF Vision: some considerations
Technical standards & the RDTF Vision: some considerationsTechnical standards & the RDTF Vision: some considerations
Technical standards & the RDTF Vision: some considerations
 

Recently uploaded

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Recently uploaded (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

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

  1. 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.)
  2. text files arranged in folder hierarchy the folder hierarchy normally conveys some meaning, and relates directly to URL structures
  3. eagle-eyed will spot that this is using CSS from 'bootstrap'
  4. 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)
  5. 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
  6. For the EDINA main website, Drupal is a smart choice "70% of today’s WordPress installations are vulnerable to known exploits"
  7. speed!! shifts the burden from the point of viewing the content to the point of publishing the content
  8. there are many good Markdown editors