SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
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
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

Contenu connexe

Tendances

Real-Time Python Web: Gevent and Socket.io
Real-Time Python Web: Gevent and Socket.ioReal-Time Python Web: Gevent and Socket.io
Real-Time Python Web: Gevent and Socket.io
Rick Copeland
 

Tendances (19)

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

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

How to create a basic template
How to create a basic templateHow to create a basic template
How to create a basic template
vathur
 
Theming Wordpress for Your Showcases
Theming Wordpress for Your ShowcasesTheming Wordpress for Your Showcases
Theming Wordpress for Your Showcases
Jun Hu
 
Widget Summit 2008
Widget Summit 2008Widget Summit 2008
Widget Summit 2008
Volkan Unsal
 

Similaire à Build your website with awestruct and publish it on the cloud with git (20)

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

Plus de Xavier Coulon (7)

EclipseCon Europe 2016 - Docker Tooling for Developers
EclipseCon Europe 2016 - Docker Tooling for DevelopersEclipseCon Europe 2016 - Docker Tooling for Developers
EclipseCon Europe 2016 - Docker Tooling for Developers
 
Eclipse DemoCamp Munich - Docker Tooling and Vagrant Tooling
Eclipse DemoCamp Munich  - Docker Tooling and Vagrant ToolingEclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling
Eclipse DemoCamp Munich - Docker Tooling and Vagrant Tooling
 
Eclipse Neon Webinar - Docker Tooling for Developers
Eclipse Neon Webinar - Docker Tooling for DevelopersEclipse Neon Webinar - Docker Tooling for Developers
Eclipse Neon Webinar - Docker Tooling for Developers
 
Docker Tooling for Java EE Developers
Docker Tooling for Java EE  DevelopersDocker Tooling for Java EE  Developers
Docker Tooling for Java EE Developers
 
DevNation'15 - Using Lambda Expressions to Query a Datastore
DevNation'15 - Using Lambda Expressions to Query a DatastoreDevNation'15 - Using Lambda Expressions to Query a Datastore
DevNation'15 - Using Lambda Expressions to Query a Datastore
 
Build and Deploy on OpenShift
Build and Deploy on OpenShiftBuild and Deploy on OpenShift
Build and Deploy on OpenShift
 
Build and deploy your app on your own cloud with open shift origin
Build and deploy your app on your own cloud with open shift originBuild and deploy your app on your own cloud with open shift origin
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
  • 3.
  • 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