View
55
Download
0
Category
Preview:
Citation preview
Dev Week 2016, London
With Static Site Generators
@chrischinch
[{
1998
Anyone Remember?
<frameset cols="50%,50%">
<frame src=“page.html" />
<frame src=“page2.html" />
</frameset>
[}
Not Alone (Or Just PHP)
❖ Wordpress: 647,518
❖ Joomla: 536,085
❖ Ruby on Rails: 330,059
[|
But… What is a Static Site Generator?
Content + Repeatable Elements → Static Website
Positives
❖ Collaboration & Workflow
❖ Super Fast
❖ Pre-build Irrelevant
❖ Flexible
❖ Minimal Infrastructure
Negatives
❖ Not Dynamic
❖ New
❖ Technical Knowledge
Why These Options?
❖ Stars / Downloads
❖ Community
❖ Simplicity
❖ Activity
❖ 1 per Language
Example Site
❖ Installation
❖ Configuration
❖ Creating Blog posts
❖ Creating Custom Event type
❖ Templates
❖ Extending
Jekyll / Octopress
❖ History❖ Ruby❖ Templates: Liquid❖ jekyllrb.com
gem install jekyll
jekyll new devweekjk
Middleman
❖ History❖ Ruby❖ Templates: ERB❖ middlemanapp.com
gem install middleman
middleman init devweekmi
Hugo❖ History❖ Go❖ Templates: Go Templates❖ gohugo.io
Pre-built binarieshugo new site devweekhg
Hexo❖ History❖ JavaScript❖ Templates: EJS / Swig❖ hexo.io
npm install hexo-cli -g
hexo init <folder>
npm install
Pelican❖ History❖ Python❖ Templates: Jinja2❖ getpelican.com
pip install pelican markdown
mkdir -p devweekpe
pelican-quickstart
Sculpin❖ History❖ PHP❖ Templates: Twig❖ sculpin.io
curl -O https://download.sculpin.io/sculpin.phar
chmod +x sculpin.phar
??
sculpin install
Assemble❖ History❖ node.js❖ Templates: Jade❖ assemble.io
mkdir devweekas
grunt-init assemble
npm install && bower install
Hakyll❖ History❖ Haskell❖ Templates: Pandoc❖ jaspervdj.be/hakyll
cabal install hakyll
wait………
hakyll-init devweekhk
Cryogen
❖ History❖ Clojure❖ Templates: Selmer❖ cryogenweb.org
lein new cryogen devweekcr
cd devweekcr
Luapress
❖ History❖ Lua❖ Templates: Mustache❖ luapress.org
luarocks install luapress
luapress init devweeklp
JBake❖ History❖ Java❖ Templates: Freemarker❖ jbake.org
brew install jbake
mkdir devweekjb
bake -i
Deployment
❖ FTP / SCP
❖ Rsync
❖ GitHub Pages / Hooks
❖ Language Build Systems / CIs
❖ Netlify, Surge etc…
Extending
❖ Jekyll: Generators, Converters, Commands, Tags, Hooks
❖ Middleman: New Features, Helpers, Manipulate Content, Hooks
❖ Hexo: Utilities available
❖ Pelican: Signals (Hooks)
Extending
❖ Sculpin: Symfony bundles
❖ Assemble: Plugins, Helpers
❖ Luapress: Basic docs
What’s Possible?
Thanks!
Chris Ward (aka Chinchilla)
Technical Writer & Developer Relationsgregariousmammal.com@chrischinch
staticgen.com
Recommended