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
470
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
Elasticsearch: From Keyword Search To Data Science
spinscale
0
130
Evolving Search at an ecommerce marketplace
spinscale
0
140
The new generation of data stores
spinscale
0
240
Search Evolution - Keeping up with the hype?
spinscale
0
360
Mirror mirror... what am I typing next?
spinscale
0
450
The New Generation of Data Stores
spinscale
0
220
Elasticsearch: Distributed Search Under the Hood
spinscale
0
160
Working distributed - but how?
spinscale
0
190
Implementing a custom aws lambda runtime using Crystal
spinscale
0
730
Other Decks in Technology
See All in Technology
AWSを利用する上で知っておきたい名前解決の話
nagisa53
6
700
Datadog のトライアルを成功に導く技術 / Techniques for a successful Datadog trial
nulabinc
PRO
0
110
PagerDuty×ポストモーテムで築く障害対応文化/Building a culture of incident response with PagerDuty and postmortems
aeonpeople
3
560
問 1:以下のコンパイラを証明せよ(予告編) #kernelvm / Kernel VM Study Kansai 11th
ytaka23
2
340
Azure & DevSecOps
kkamegawa
2
150
Part1 GitHubってなんだろう?その2
tomokusaba
1
500
genspark_presentation.pdf
haruki_uiru
1
200
クラウドネイティブ環境の脅威モデリング
kyohmizu
1
370
製造業向けIoTソリューション提案資料.pdf
haruki_uiru
0
190
日経電子版 for Android の技術的課題と取り組み(令和最新版)/android-20250423
nikkei_engineer_recruiting
2
640
AndroidアプリエンジニアもMCPを触ろう
kgmyshin
2
610
意思決定を支える検索体験を目指してやってきたこと
hinatades
PRO
0
400
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
Site-Speed That Sticks
csswizardry
6
530
Facilitating Awesome Meetings
lara
54
6.3k
Embracing the Ebb and Flow
colly
85
4.7k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Optimising Largest Contentful Paint
csswizardry
37
3.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
For a Future-Friendly Web
brad_frost
177
9.7k
Raft: Consensus for Rubyists
vanstee
137
6.9k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Transcript
Alexander Reelsen @spinscale alexander.reelsen@elasticsearch.com 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 alexander.reelsen@elasticsearch.com