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
370
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
150
Search Evolution - Keeping up with the hype?
spinscale
0
280
Mirror mirror... what am I typing next?
spinscale
0
370
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
580
Elasticsearch Ingest Processors
spinscale
0
140
Open Source as a Business
spinscale
1
160
Other Decks in Technology
See All in Technology
拓展QA日常工作的邊界
line_developers_tw
PRO
0
550
QA経験のないエンジニアリング マネージャーがQAのカジュアル面談に出て 苦労していること・気づいたこと / scrum fest niigata 2024
yoshikiiida
2
650
多言語化対応における TypeScript の型定義を通して開発のしやすさについて考えた / TSKaigi TypeScript Multilingualization
nabeliwo
2
380
Taking Flight with Tailwind CSS
opdavies
0
4.3k
能動学習のいろは:書籍「Human-in-the-Loop機械学習」3〜5章
hiroyoshiito
0
290
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
0
2k
動画配信サービスのフロントエンド実装に学ぶ設計原則
yud0uhu
1
130
Autonomous Database Cloud 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
15
36k
本番環境で Cloudflareを 使ってみた話
miu_crescent
2
120
エンジニアゼロの組織から内製開発の DX をどう実現したのか / How did we achieve DX in in-house development in an organization with zero engineers?
genkiogasawara
7
2.9k
5分で分かる(かもしれない) Vector engine for OpenSearch Serverless
tsukuboshi
1
400
スクラムに出会って「できた」を実感できるようになってきた話 / Scrum makes me feel like I can do it
yayoi_dd
2
110
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
92
4.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
22
6.5k
Designing the Hi-DPI Web
ddemaree
276
33k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
YesSQL, Process and Tooling at Scale
rocio
165
13k
How to name files
jennybc
65
94k
The MySQL Ecosystem @ GitHub 2015
samlambert
244
12k
Thoughts on Productivity
jonyablonski
60
3.9k
Documentation Writing (for coders)
carmenintech
60
4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
34
6.1k
GraphQLの誤解/rethinking-graphql
sonatard
56
9.3k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
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]