SlideShare a Scribd company logo
Build your Website
 with Awestruct and
Publish it on the Cloud
        with Git
      Xavier Coulon, Red Hat
             @xcoulon
F*ck CMS
Do you need a CMS to run your website ?
               (hint: no)
       Push files to a Web Server
              setup mod_php
            CMS security patches
          Database admin/backups
             Data migration hell
Build your website with awestruct and publish it on the cloud with git
Part I.
Let's Have Fun Again
 at Baking Websites
Content First !
   Write your Articles in
Markdown, Textile or AsciiDoc
Layout with HAML
Comparing HAML with HTML
                HTML
<i>
 dv
 <togHlo Wrd<srn>
  srn>el, ol!/tog
<dv
 /i>


                HAML
%i
 dv
 %togHlo Wrd
  srn el, ol!
Comparing HAML with HTML
                HTML
<i i=wapr cas"o"
 dv d"rpe" ls=bx>
 <togi=msae cas"oe>el,Wrd<srn>
  srn d"esg" ls=cd"Hlo ol!/tog
<dv
 /i>


                HAML
%i{i = "rpe" :ls = "o"
 dv:d > wapr, cas > bx}
 %tog:d= "esg" :ls = "oe}Hlo Wrd
  srn{i > msae, cas > cd" el, ol!

#rpe.o
 waprbx
 %togmsaecd Hlo Wrd
  srn#esg.oe el, ol!
Make it Sexy with
CSS, SASS or LESS
Dynamise with JavaScript or
      CoffeeScript
Deploy on a Web Server with Git
       It's just (text) files !
It's a Developer's Workflow !
              (think about it)
        A developer codes and tests,
  then pushes to a remote git repo to share
       An author writes and reviews,
 then pushes to a remote git repo to publish
and both can even have CI and Staging sites !
Part II.
Let's Bake our Website
   with Awestruct !
Getting Started
gmisalaetut
 e ntl wsrc
mdrcayaeoepoetst
 ki rz-wsm-rjc-ie
aetut-ii -faeokbosrpbupit90
 wsrc -nt -rmwr otta|lern|6
aetut-
 wsrc d
Awestruct Project Structure
   _config
     site.yml
   _ext
     pipeline.rb
   _layout
     base.html.haml
   _site
   news
     2013-01-19-some-article.md
   index.html.haml
Properties/Metadata
                     YAML
       Engine context (_config/*.yml)
         Page context (front-matter)
Available within the pages and the extensions.
Managing Profiles
         _site/config.yml
          specific "profiles" entry
..
 .
poie:
 rfls
  dvlpet
   eeomn:
    bs_r:ht:/oahs:22
    aeul tp/lclot44
    dsu:sprcaypoetdv
    iqs ue-rz-rjc-e
    dsu_eeoe:tu
    iqsdvlpr re
  pouto:
   rdcin
    bs_r:ht:/cuo.ihbcmsml-wsrc-ie
    aeul tp/xolngtu.o/apeaetutst
    dpo:
    ely
     hs:gtu_ae
      ot ihbpgs
    dsu:sprcaypoet
    iqs ue-rz-rjc
    gol_nltc:U-24681
    ogeaayis A1357-
Awestruct Built-in Extensions and
            Helpers
   Indexifier
   Posts
   Tagger
   Atomizer
   Paginator
   Disqus
   Google Analytics
   and more...
Site Deployment
GitHub Pages
         _config/site.yml
..
.
poie:
rfls
..
 .
pouto:
 rdcin
 bs_r:ht:/cuo.ihbcmsml-wsrc-ie
  aeul tp/xolngtu.o/apeaetutst
  ..
   .
  dpo:
   ely
   hs:gtu_ae
    ot ihbpgs



gtcmi
i omt
aetut- pouto -fre
wsrc P rdcin -oc
aetut- pouto -dpo
wsrc P rdcin -ely
OpenShift
Demo
fork the demo:
 github.com/xcoulon/sample-awestruct-site
BTW, this prezo was also baked with
           Awestruct ;-)
awestruct.org
 #awestruct
 @awestruct
Thanks !
Q/A

More Related Content

PDF
3 ways-to-create-sprites-in-rails
PDF
Ansibleではじめるサーバー・ネットワークの自動化 (Ansible2.7情報つき)2018/10/12
PPTX
Major Keys to Wordpress Speed
PDF
Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)
PPTX
Database Schema as Code
PDF
Manage WordPress with Awesome using wp cli
PPTX
Backbone the Good Parts
PPTX
20160627 Docker on Azure Hands on
3 ways-to-create-sprites-in-rails
Ansibleではじめるサーバー・ネットワークの自動化 (Ansible2.7情報つき)2018/10/12
Major Keys to Wordpress Speed
Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)
Database Schema as Code
Manage WordPress with Awesome using wp cli
Backbone the Good Parts
20160627 Docker on Azure Hands on

What's hot (19)

PDF
Go-Couchbase Golang Paris 2015/12/17
PDF
konfigurasi freeradius + daloradius in debian 9
PDF
WordCamp Vancouver 2012 - Manage WordPress with Awesome using wp-cli
PDF
AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -
PDF
Coffeescript: An Opinionated Introduction
PDF
First there was the command line
PDF
Learning the command line
PDF
Conquering the Command Line
PPTX
CouchDB Day NYC 2017: Full Text Search
PDF
Website Performance Basics
PPT
How to run_moses 2
PDF
DOD 2016 - Tomasz Torcz - The Song of JBoss and Chef
PDF
Using python and docker for data science
PDF
Using docker for data science - part 2
PPT
Real-Time Python Web: Gevent and Socket.io
PDF
Node js javascript no lado do servidor
PDF
Windows Azure Mobile Services
PDF
Getting Started with Puppet on Windows - PuppetConf 2014
PDF
Introduction to ansible
Go-Couchbase Golang Paris 2015/12/17
konfigurasi freeradius + daloradius in debian 9
WordCamp Vancouver 2012 - Manage WordPress with Awesome using wp-cli
AnsibleではじめるNW設定の自動化について - Cisco(VIRL)編 -
Coffeescript: An Opinionated Introduction
First there was the command line
Learning the command line
Conquering the Command Line
CouchDB Day NYC 2017: Full Text Search
Website Performance Basics
How to run_moses 2
DOD 2016 - Tomasz Torcz - The Song of JBoss and Chef
Using python and docker for data science
Using docker for data science - part 2
Real-Time Python Web: Gevent and Socket.io
Node js javascript no lado do servidor
Windows Azure Mobile Services
Getting Started with Puppet on Windows - PuppetConf 2014
Introduction to ansible
Ad

Similar to Build your website with awestruct and publish it on the cloud with git (20)

PDF
How to create a basic template
PDF
Profiling PHP with Xdebug / Webgrind
PDF
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
PDF
Killing the Angle Bracket
PDF
Wordless, stop writing WordPress themes like it's 1998
PDF
Embulk, an open-source plugin-based parallel bulk data loader
PDF
[H3 2012] 우리가 모르는 Node.js로 할 수 있는 몇가지
PPT
Fundamentals of web_design_v2
PDF
Intro to mobile web application development
PDF
우리가 모르는 노드로 할 수 있는 몇가지
PDF
Shifting Gears
PDF
5 年後還是新手 - WordPress Plugin 開發大冒險 - GOTY
PPTX
Theming Wordpress for Your Showcases
ODP
Practical catalyst
PDF
CSS Architecture - JSIL.pdf
PDF
Death of a Themer
PDF
Club website demo
PPT
Sanjeev ghai 12
PPS
Web Development in Perl
PPT
Widget Summit 2008
How to create a basic template
Profiling PHP with Xdebug / Webgrind
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
Killing the Angle Bracket
Wordless, stop writing WordPress themes like it's 1998
Embulk, an open-source plugin-based parallel bulk data loader
[H3 2012] 우리가 모르는 Node.js로 할 수 있는 몇가지
Fundamentals of web_design_v2
Intro to mobile web application development
우리가 모르는 노드로 할 수 있는 몇가지
Shifting Gears
5 年後還是新手 - WordPress Plugin 開發大冒險 - GOTY
Theming Wordpress for Your Showcases
Practical catalyst
CSS Architecture - JSIL.pdf
Death of a Themer
Club website demo
Sanjeev ghai 12
Web Development in Perl
Widget Summit 2008
Ad

More from Xavier Coulon (7)

PDF
EclipseCon Europe 2016 - Docker Tooling for Developers
PDF
Eclipse DemoCamp Munich - Docker Tooling and Vagrant Tooling
PDF
Eclipse Neon Webinar - Docker Tooling for Developers
PDF
Docker Tooling for Java EE Developers
PDF
DevNation'15 - Using Lambda Expressions to Query a Datastore
PDF
Build and Deploy on OpenShift
PDF
Build and deploy your app on your own cloud with open shift origin
EclipseCon Europe 2016 - Docker Tooling for Developers
Eclipse DemoCamp Munich - Docker Tooling and Vagrant Tooling
Eclipse Neon Webinar - Docker Tooling for Developers
Docker Tooling for Java EE Developers
DevNation'15 - Using Lambda Expressions to Query a Datastore
Build and Deploy on OpenShift
Build and deploy your app on your own cloud with open shift origin

Build your website with awestruct and publish it on the cloud with git

  • 1. Build your Website with Awestruct and Publish it on the Cloud with Git Xavier Coulon, Red Hat  @xcoulon
  • 2. F*ck CMS Do you need a CMS to run your website ? (hint: no) Push files to a Web Server setup mod_php CMS security patches Database admin/backups Data migration hell
  • 4. Part I. Let's Have Fun Again at Baking Websites
  • 5. Content First ! Write your Articles in Markdown, Textile or AsciiDoc
  • 7. Comparing HAML with HTML HTML <i> dv <togHlo Wrd<srn> srn>el, ol!/tog <dv /i> HAML %i dv %togHlo Wrd srn el, ol!
  • 8. Comparing HAML with HTML HTML <i i=wapr cas"o" dv d"rpe" ls=bx> <togi=msae cas"oe>el,Wrd<srn> srn d"esg" ls=cd"Hlo ol!/tog <dv /i> HAML %i{i = "rpe" :ls = "o" dv:d > wapr, cas > bx} %tog:d= "esg" :ls = "oe}Hlo Wrd srn{i > msae, cas > cd" el, ol! #rpe.o waprbx %togmsaecd Hlo Wrd srn#esg.oe el, ol!
  • 9. Make it Sexy with CSS, SASS or LESS
  • 10. Dynamise with JavaScript or CoffeeScript
  • 11. Deploy on a Web Server with Git It's just (text) files !
  • 12. It's a Developer's Workflow ! (think about it) A developer codes and tests, then pushes to a remote git repo to share An author writes and reviews, then pushes to a remote git repo to publish and both can even have CI and Staging sites !
  • 13. Part II. Let's Bake our Website with Awestruct !
  • 14. Getting Started gmisalaetut e ntl wsrc mdrcayaeoepoetst ki rz-wsm-rjc-ie aetut-ii -faeokbosrpbupit90 wsrc -nt -rmwr otta|lern|6 aetut- wsrc d
  • 15. Awestruct Project Structure  _config  site.yml  _ext  pipeline.rb  _layout  base.html.haml  _site  news  2013-01-19-some-article.md  index.html.haml
  • 16. Properties/Metadata YAML Engine context (_config/*.yml) Page context (front-matter) Available within the pages and the extensions.
  • 17. Managing Profiles _site/config.yml specific "profiles" entry .. . poie: rfls dvlpet eeomn: bs_r:ht:/oahs:22 aeul tp/lclot44 dsu:sprcaypoetdv iqs ue-rz-rjc-e dsu_eeoe:tu iqsdvlpr re pouto: rdcin bs_r:ht:/cuo.ihbcmsml-wsrc-ie aeul tp/xolngtu.o/apeaetutst dpo: ely hs:gtu_ae ot ihbpgs dsu:sprcaypoet iqs ue-rz-rjc gol_nltc:U-24681 ogeaayis A1357-
  • 18. Awestruct Built-in Extensions and Helpers Indexifier Posts Tagger Atomizer Paginator Disqus Google Analytics and more...
  • 20. GitHub Pages  _config/site.yml .. . poie: rfls .. . pouto: rdcin bs_r:ht:/cuo.ihbcmsml-wsrc-ie aeul tp/xolngtu.o/apeaetutst .. . dpo: ely hs:gtu_ae ot ihbpgs gtcmi i omt aetut- pouto -fre wsrc P rdcin -oc aetut- pouto -dpo wsrc P rdcin -ely
  • 22. Demo
  • 23. fork the demo:  github.com/xcoulon/sample-awestruct-site
  • 24. BTW, this prezo was also baked with Awestruct ;-)
  • 27. Q/A