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
400
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
170
Search Evolution - Keeping up with the hype?
spinscale
0
290
Mirror mirror... what am I typing next?
spinscale
0
380
The New Generation of Data Stores
spinscale
0
180
Elasticsearch: Distributed Search Under the Hood
spinscale
0
130
Working distributed - but how?
spinscale
0
140
Implementing a custom aws lambda runtime using Crystal
spinscale
0
620
Elasticsearch Ingest Processors
spinscale
0
150
Open Source as a Business
spinscale
1
160
Other Decks in Technology
See All in Technology
サービス開発を前に進めるために 新米リードエンジニアが 取り組んだこと / Steps Taken by a Novice Lead Engineer to Advance Service Development
nologyance
0
180
20240724_cm_odyssey_hibiyatech
hiashisan
0
110
AI研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
130
AOAI Dev Day - Opening Session
yoshidashingo
2
470
コンテナ・K8s研修 - 前半 コンテナ基礎・ハンズオン【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
年間一億円削減した時系列データベースのアーキテクチャ改善~不確実性の高いプロジェクトへの挑戦~
lycorptech_jp
PRO
3
2.9k
[I/O Extended Android 2024] What`s new in Android 2024
kyeongwan
0
220
コミュニティサービスに「あなたへ」フィードを リリースするまでの試行錯誤
takapy
1
150
さらに高品質・高速化を目指すAI時代のテスト設計支援と、めざす先 / AI Test Lab vol.1
shift_evolve
0
190
AIアシスタントの活用で品質の向上と開発ワークフローのスピードアップ
nagix
1
210
テスト・設計研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
シフトレフトで挑む セキュリティの生産性向上
sekido
PRO
0
270
Featured
See All Featured
Teambox: Starting and Learning
jrom
130
8.6k
Six Lessons from altMBA
skipperchong
24
3.2k
Pencils Down: Stop Designing & Start Developing
hursman
118
11k
Writing Fast Ruby
sferik
623
60k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
129
32k
Build your cross-platform service in a week with App Engine
jlugia
227
17k
Building a Scalable Design System with Sketch
lauravandoore
458
32k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
78
15k
A Tale of Four Properties
chriscoyier
155
22k
Building Your Own Lightsaber
phodgson
101
5.9k
Raft: Consensus for Rubyists
vanstee
134
6.5k
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]