Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introduction into Harp
Search
Alexander Reelsen
December 04, 2014
Technology
1
360
Introduction into Harp
A quick introduction into harp. Hold at the MNUG Meetup in Munich in December 2014
Alexander Reelsen
December 04, 2014
Tweet
Share
More Decks by Alexander Reelsen
See All by Alexander Reelsen
The new generation of data stores
spinscale
0
140
Search Evolution - Keeping up with the hype?
spinscale
0
270
Mirror mirror... what am I typing next?
spinscale
0
360
The New Generation of Data Stores
spinscale
0
170
Elasticsearch: Distributed Search Under the Hood
spinscale
0
130
Working distributed - but how?
spinscale
0
130
Implementing a custom aws lambda runtime using Crystal
spinscale
0
570
Elasticsearch Ingest Processors
spinscale
0
140
Open Source as a Business
spinscale
1
150
Other Decks in Technology
See All in Technology
人間の尊厳、幸福、アクセシビリティ / 第116回「WEB TOUCH MEETING」アクセシビリティSP
nulabinc
PRO
2
180
Terraformあれやこれ/terraform-this-and-that
emiki
6
570
SPI原点回帰論:事業課題とFour Keysの結節点を見出す実践的ソフトウェアプロセス改善 / DevOpsDays Tokyo 2024
visional_engineering_and_design
4
1.6k
アクセシビリティを考慮したUI/CSSフレームワーク・ライブラリ選定
yajihum
0
220
OpenTelemetry を使ったトレースエグザンプラーの活用 / otel-trace-exemplar
k6s4i53rx
2
640
Hands-on / Kaname Frusawa / Cloud Compare Users Meetup 2024 at University of Tokyo on April 17
paraworld
2
470
アプリがつくるNOT A HOTELブランド
hokuts
1
450
Garoon 開発チーム / Garoon development team
cybozuinsideout
PRO
2
2.9k
Janus
bkuhlmann
1
490
オーナーシップを持つ領域を明確にする
konifar
12
2.6k
"好き"との生活/Regularly update profile with GitHub Actions
judeeeee
0
150
小さな開発会社がWebサービスを作る理由
polidog
PRO
1
160
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
Six Lessons from altMBA
skipperchong
20
3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3k
A Tale of Four Properties
chriscoyier
150
22k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
76
41k
The Illustrated Children's Guide to Kubernetes
chrisshort
29
46k
Building Flexible Design Systems
yeseniaperezcruz
318
37k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
226
16k
What’s in a name? Adding method to the madness
productmarketing
PRO
15
2.6k
Adopting Sorbet at Scale
ufuk
67
8.6k
Happy Clients
brianwarren
91
6.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Transcript
Alexander Reelsen @spinscale
[email protected]
Introduction into harp
About me Developer at Elasticsearch Interested in all things scale,
search & a bit web No clue about web design likes tech meetups...
More search... Check out the Search Meetup Munich (15th Dec)
http://www.meetup.com/Search-Meetup-Munich/events/218856224/
Devcamp anyone? Like a barcamp, but for developers only! Location
for 150 people One big room 5 small conference rooms Sponsors wanted as well Contact me!
Introduction
Static site generators There are a few out there... 388
https://staticsitegenerators.net/ Known ones Jekyll, Octopress, Pelican, Middleman
Use-Cases Prototyping Documentation Small websites Blogs Potentially replacing misused CMS
harp static web server with built-in preprocessing HTML: EJS, Jade,
Markdown CSS: LESS, Stylus, SASS JS: Coffeescript
Installation npm install -g harp harp init myproject harp server
myproject
Features
Command line options harp compile creates compiled HTML/CSS/JS for static
hosting harp multihost allows to develop multiple projects in parallel
Features - Partials <!-- _nav.ejs --> <nav> <a href="#">Home</a> <a
href="#">Product</a> <a href="#">Services</a> </nav> <!-- index.ejs --> <body> <%= partial("_nav") %> <h1>Services</h1> <!-- etc. --> </body>
Features - Metadata { "team": { "title": "Team page", "members":
["Rob", “Brock", "Jorge"] } } h1= title ul each member in members li= member _data.json team.jade
Integration - express.js var express = require("express"); var harp =
require("harp"); var app = express(); app.configure(function(){ app.use(express.static(__dirname + "/public")); app.use(harp.mount(__dirname + "/public")); });
Features - Boilerplates harp init -b harp-boilerplates/hb-blog Blog, Bootstrap, Presentations...
https://github.com/harp-boilerplates
Features - Environment Act different depending on your environment production
|| development Display drafts etc.. Different caching strategy (LRU vs. none) harp compile is production as well!
Features - Deployment GitHub Pages Heroku Azure harp.io
Features... Support for globals.json current object for application state Basic
Auth Custom 404, 200 (for client apps) More help through recipes http://harpjs.com/recipes/
Not (yet) implemented... browser-sync https://github.com/sintaxi/harp/pull/360 terraform needs to be updated
more regularly lots of pending PRs with support for other languages Big picture: Harp editor https://github.com/silentrob/harp-editor
DEMO
Resources Harp http://harpjs.com/ https://github.com/sintaxi/harp Harp Platform https://www.harp.io/ Note: No affiliation
with harp just stole the design!
Thanks for listening! Alexander Reelsen @spinscale
[email protected]