SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
Generating static web sites with
MiddlemanFrontenders Valencia - Enero 2015
By Tony Camaiani @tonycamaiani
Hi, I'm
Tony Camaiani
-tony.camaiani.me @tonycamaiani
born grew up aging
Laurea in Computer Science, University of Bologna
“Usability Guidelines and User-Centered Design“
Frontend Web Developer
Web Designer & UX
About this Talk
Old Version
New Version
Middleman
Layout
Styles
Data
Config
Heroku
Next Steps
Old Version
Static Html / Css
2 index.html
Copy index.html to past.html
Add talks slides
Css images for sponsors
Header and Footer duplicated
Why change?
Update content more easily
Separate content from markup
No css edits
Status of Event
HAML & SASS
Common Header and Footer
Static Site Generators
A static-site generator simply takes your pre-compiled (and pre-processed) languages like Haml, Jade,
Sass, LESS, Stylus, CoffeeScript, and others, and compiles them into the equivalent language that is
understood by the browser; HTML, CSS, and JavaScript, respectively.
http://drewbarontini.com/articles/middleman/
Middleman Jekyll Assemble.io
...
https://www.staticgen.com
CodeKit Hammer Mixture
...
Middleman
middlemanapp.com
Command-line tool for creating static websites, with Ruby and the Sinatra web framework.
ERb, Haml, Sass, CoffeeScript
Multiple asset management solutions, including Sprockets
Pretty URLs
LiveReload extension
CSS minification and Javascript compression
Support for numerous templating languages to simplify your HTML development, which will allow you
to add variables, call methods and use loops and 'if' statements.
Middleman: Install
middlemanapp.com
Middleman: Init
middlemaninitnew_project
Middleman: Server
middlemanserver
Middleman: Build
middlemanbuild
Frontenders Valencia Middleman
Layout
HAML
Layouts
Partials
Pages
Layout.haml
!!!
%html
%head
...
%link{:href=>"http://fonts.googleapis.com/css?family=Rambla:400,700",:rel=>"stylesheet",:
=stylesheet_link_tag"all"
=javascript_include_tag "libs/modernizr"
%body
=partial'partials/header'
=yield
=partial'partials/footer'
...
Partials: _header.haml
%header
%hgroup
%h1
=link_todata.static[:h1_logo_text],"/",:title=>data.static[:h1_title]
%span=data.static[:h1_logo_subtext]
%h2
=data.static[:h2_scream_line_1]
%span=data.static[:h2_scream_line_2]
%span=data.static[:h2_scream_line_3]
%nav
%ul
%li
=link_todata.static[:nav_page_1],"/frontenders.html",:title=>data.static[:nav_page_
%li
=link_todata.static[:nav_page_2],"/past.html",:title=>data.static[:nav_page_2_title
Partials: _footer.haml
%footer
.fgroup
.first
%h3=data.static[:participate]
%p
=data.static[:participate_how]
=mail_todata.static[:participate_email],data.static[:participate_email]
.middle
%h3=data.static[:follow]
%p
=link_to"@frontendersVLC","https://twitter.com/frontendersVLC",:title=>"@frontendersV
%p
=link_to"#frontendersVLC","https://twitter.com/search?q=%23frontendersVLC",:title=>"H
.last
%h3=data.static[:partner]
%p
=link_todata.static[:partner_name],data.static[:partner_url],:title=>data.static[:par
Index.haml
---
title:ameetupforFrontend UIDevelopers,UX WebDesigners
ready:true
---
...
%main{:role=>"main"}
%p.main_paragraph
=data.static[:main_paragraph_text_1]
=link_todata.static[:partner_name],data.static[:partner_url],:title=>data.static[:partner
=data.static[:main_paragraph_text_2]
=link_todata.static[:main_paragraph_link_text],"frontenders.html"
%h2.title
=data.static[:next_meetup]
%time
=data.static[:week_day]
#{date}
=data.static[:day_hour]
%section{:class=>"#{type}"}
-homepage.talks.eachdo|f|
%article
%h3=f[:title]
-f.text.eachdo|t|
%p=t
-ifactive
-f.author.eachdo|t|
%p
=t[:name]
frontenders.haml
---
title:¿Quees?Frontenders
---
%main{:role=>"main"}
%section
%h2.title=data.static[:frontenders_title]
%p
%b=data.static[:frontenders_def_text_1]
=data.static[:frontenders_def_text_2]
%cite
=link_todata.static[:frontenders_def_source_text],data.static[:frontenders_def_source_url
%p=data.static[:frontenders_text_1]
%p=data.static[:frontenders_text_2]
%p=data.static[:frontenders_text_3]
%p
=data.static[:frontenders_text_4]
=succeed'.'do
=mail_todata.static[:participate_email],data.static[:participate_email]
past.haml
---
title:Loseventosanteriores
---
%main{:role=>"main"}
%h2.title=data.static[:past_title]
-data.archive.meetups.eachdo|m|
%h2.section_title
=data.static[:week_day]
=m[:date]
-ifm[:hangout_url]
=link_tom[:hangout_url],m[:hangout_url],:class=>"icohangout",:target=>"_blank"
%section{:class=>"#{m.type}"}
-m.talks.eachdo|f|
%article
%h3=f[:title]
-f.author.eachdo|t|
=t[:name]
=twitter_url(t[:twitter])
-f.text.eachdo|t|
%p=t
-iff.links
-f.links.eachdo|t|
%p.links
=link_tot[:label],t[:url],:target=>"_blank"
Styles
SASS
Partials
Flexbox
Mobile First
Own breakpoints
Styles
Styles: _variables.scss
//_varables.scss
////BasicColors
$white:#fff;
$gray:#53585e;/*text*/
$gray_light:#f5f5f5;/*background*/
$gray_lighter:rgba(161,161,161,0.5);
$orange:rgb(230,126,34);
$orange_light:rgb(243,156,18);
$orange_dark:rgba(211,84,0,0.5);
$orange_darker:rgb(220,105,17);
$blue:#1ea0ce;
$blue_light:#339ACC;
////BackgroundColors
$background_color_body:$gray_light;
$background_color_header:$orange;
$background_color_button:$orange_light;
$background_color_button_hover:$orange_dark;
$shadow_color_header:$gray_lighter;
$shadow_color_article:$gray_lighter;
$border_color_article:$white;
Flexbox: footer
footer{
.fgroup{
display:flex;
justify-content:center;
div{
margin:0;
flex-grow:1;
flex-basis:0;
&.first{text-align:left;}
&.last{text-align:right;}
}//div
}//.fgroup
}//footer
Flexbox: article
main{
section{
article{
margin:02%30px;
p{font-size:18px;}
}//article
&.double{
display:flex;
flex-flow:rowwrap;
justify-content:center;
article{
flex-grow:1;
flex-basis:0;
}
div{flex:1100%;}
}//section.double
}//section
}//main
Breakpoints
@mediaonlyscreenand(min-width:768px){...}
@mediaonlyscreenand(min-width:896px){...}
@mediaonlyscreenand(min-width:1024px){...}
“Start with the small screen first, then
expand until it looks like shit. Time for a
breakpoint!” - Stephen Hay
Data
Data: default.yml
meetup:
date:"8enero2015"
type:"double"
talks:
-title:Espaciolibre
text:
-¿Tienesalgointeresantequecontarsobretemasdedesarrollofrontend,diseñoweb,UIyUX
-Envíanosuncorreoa<ahref="mailto:frontendersvalencia@gmail.com">frontendersvalencia@gma
-title:Espaciolibre
text:
-¿Tienesalgointeresantequecontarsobretemasdedesarrollofrontend,diseñoweb,UIyUX
-Envíanosuncorreoa<ahref="mailto:frontendersvalencia@gmail.com">frontendersvalencia@gma
Data: new.yml
meetup:
date:"8enero2015"
type:"double"
eventbrite:https://frontenders-enero-2015.eventbrite.es
talks:
-title:"GenerandositioswebestáticosconMiddleman"
text:
-"Frontenderstienecasidosaños,¡ytambiénsuweb!.Hallegadoelmomentodepasardeuna
-"Paraellovamosahacerusode“Middleman”,ungeneradordesitiosestáticos.Hablaremosd
author:
-name:"TonyCamaiani"
twitter:"tonycamaiani"
bio:"esFrontenderen@peerTransfer&coorganizadorde@frontendersVLC."
-title:"Diseñayvenderás"
text:
-"¿Porquéunusuarioentraamiwebynosabeadondeir?¿Cómoconsigodarconfianzaamis
-"UnbuendiseñopuedeserlaclaveparaconseguirtuobjetivoenInternet,peronolaúnica
author:
-name:"JuanmaMartínez"
twitter:"juanmamartinez"
bio:"esWebDesigner&UXen@Increnta,agenciaespecializadaenInboundMarketingyMarketi
sponsor:
name:"Kuombo-Consultoríaydesarrollodecomercioelectrónico"
url:"http://kuombo.com/"
image:"logo_kuombo.png"
Data: archive.yml
meetups:
-meetup:
date:"13noviembre2014"
hangout_url:"https://plus.google.com/u/0/events/c43la6lak11lgpo6g7q6bgumfpc"
type:double
talks:
-title:"¿Compraronlineesunaexperiencia?UXparaecommerce"
text:
-"Elcomercioonlineesunmercadodurísimodondelasempresasinviertenmultitudderecur
-"Enestacharlaaprenderemoslossecretosparacrearexperienciasenfocadasenelusuario
links:
-url:"/slides/Dani_Frontenders_UX_ecommerce.pdf"
label:"slides»"
author:
-name:"DaniCatalan"
twitter:"dani_catalan"
bio:"esDesarrolladorFrontenden@kuombo,agenciaespecializadaeneldesarrollodelnego
-title:"MaquetaciónconFlexbox"
text:
-'CSSempezóconmalpiecuandonosdioel"float"comomediodedistribucióndeelementos
-'PeroahoratenemoselmódulodeFlexbox,conelquepodemosmaquetarconpropiedadessim
links:
-url:"/slides/Wakkos_Frontenders_Flexbox.pdf"
label:"slides»"
author:
-name:"DanielMartínez"
twitter:"Wakkos"
bio:"esFrontendytutor/profesordeArquitecturaCSSyresponsivedesignen@EscuelaIty
-meetup:
date:"11septiembre2014"
Data: static.yml
#Header
h1_title:"FrontendersValencia"
h1_logo_text:"<frontenders/>"
h1_logo_subtext:"Valencia"
h2_scream_line_1:"ameetupfor"
h2_scream_line_2:"Frontend&UIDevelopers,"
h2_scream_line_3:"UX&WebDesigners"
nav_page_1:"¿Quees?"
nav_page_1_title:"¿QueesFrontenders?"
nav_page_2:"Anteriores"
nav_page_2_title:"Loseventosanteriores"
#Footer
participate:"Participa"
participate_how:"¿Quieresparticiparenunadelaspróximasreuniones?Escribea"
participate_email:"frontendersvalencia@gmail.com"
follow:"Síguenos"
partner:"Partner"
partner_name:"GeeksHubs"
partner_url:"http://geekshubs.com/es/?utm_source=comunidades&utm_medium=web&utm_campaign=frontende
partner_url_title:"ComunidadGeekyEmprendedorestechies"
#Index
main_paragraph_text_1:"Frontendersesunareuniónmensualcentradaentemasdedesarrollofrontend
main_paragraph_text_2:",enAvenidaCataluña,11(Valencia)."
main_paragraph_link_text:"¿Quieressabermás?"
next_meetup:"Próximomeetup:"
week_day:"jueves"
day_hour:",19:00h"
sponsor:"Patrocinador"
attend_text:"AsistiréalFrontendersValencia"
Using the data
index.haml
---
title:ameetupforFrontend UIDevelopers,UX WebDesigners
ready:true
---
-active=current_page.data.ready
-ifactive
-homepage=data.new.meetup
-else
-homepage=data.default.meetup
-date=homepage.date
-type=homepage.type
-homepage.talks.eachdo|f|
%article
%h3=f[:title]
-f.text.eachdo|t|
%p=t
-ifactive
-f.author.eachdo|t|
%p
=t[:name]
=twitter_url(t[:twitter])
=t[:bio]
Using the data
frontenders.haml
%main{:role=>"main"}
%section
%h2.title=data.static[:frontenders_title]
%p
%b=data.static[:frontenders_def_text_1]
=data.static[:frontenders_def_text_2]
%cite
=link_todata.static[:frontenders_def_source_text],data.static[:frontenders_def_source_url
%p=data.static[:frontenders_text_1]
%p=data.static[:frontenders_text_2]
%p=data.static[:frontenders_text_3]
%p
=data.static[:frontenders_text_4]
=succeed'.'do
=mail_todata.static[:participate_email],data.static[:participate_email]
Config: config.rb
activate:livereload
set:css_dir,'stylesheets'
set:js_dir,'javascripts'
set:images_dir,'images'
set:haml,{:ugly=>true,:format=>:html5}
activate:directory_indexes
#Build-specificconfiguration
configure:builddo
activate:minify_css
activate:minify_javascript
activate:asset_hash
end
helpersdo
defis_page_selected(page)
current_page.url==page?"selected":''
end
deftwitter_url(username)
"<atarget="_blank"href="https://twitter.com/#{username}">@#{username}</a>"
end
end
Config: config.ru
require"rubygems"
require"rack"
require"middleman/rack"
require"rack/contrib/try_static"
map"/"do
runlambda{|env|
[
200,
{
'Content-Type' =>'text/html',
'Cache-Control'=>'public,max-age=86400'
},
File.open('build/index.html',File::RDONLY)
]
}
end
map"/frontenders.html"do
runlambda{|env|
[
200,
{
'Content-Type' =>'text/html',
'Cache-Control'=>'public,max-age=86400'
},
File.open('build/frontenders.html',File::RDONLY)
]
}
end
Deploy a Heroku
http://www.randomerrata.com/articles/2013/middleman-on-heroku/
Gemfile
source'http://rubygems.org'
ruby"2.0.0"
gem"middleman","~>3.0.13"
gem"rack-contrib"
gem"puma"
Config.ru
#Buildthestaticsitewhentheappboots
` `
#EnableproperHEADresponses
useRack::Head
#AttempttoservestaticHTMLfiles
useRack::TryStatic,
:root=>"build",
:urls=>%w[/],
:try=>['.html','index.html','/index.html']
bundleexecmiddlemanbuild
Deploy a Heroku
http://www.randomerrata.com/articles/2013/middleman-on-heroku/
Procfile
web:bundleexecpuma-p$PORT-e$RACK_ENV
...set up Heroku and
gitpushherokumaster
Next Steps
SVG
Social Icon Font
More generic
...suggestions?
That's all, Folks!
Repo
https://github.com/frontenders/valencia-middleman
These slides
http://tony.camaiani.me/frontenders-middleman-talk
made with reveal.js
Any question?
Thanks!
Tony Camaiani
-tony.camaiani.me @tonycamaiani

Más contenido relacionado

La actualidad más candente

Introduction to web development
Introduction to web developmentIntroduction to web development
Introduction to web development
Mohammed Safwat
 
Introduction to Basic Concepts in Web
Introduction to Basic Concepts in WebIntroduction to Basic Concepts in Web
Introduction to Basic Concepts in Web
Jussi Pohjolainen
 
Zend Framework In Action
Zend Framework In ActionZend Framework In Action
Zend Framework In Action
askme
 
SPSVB 1 7-2012 - getting started with share point branding
SPSVB 1 7-2012 - getting started with share point brandingSPSVB 1 7-2012 - getting started with share point branding
SPSVB 1 7-2012 - getting started with share point branding
Thomas Daly
 
The Autonomo.us Open Software Services Evolution, featuring Identi.ca
The Autonomo.us Open Software Services Evolution, featuring Identi.ca The Autonomo.us Open Software Services Evolution, featuring Identi.ca
The Autonomo.us Open Software Services Evolution, featuring Identi.ca
Jon Phillips
 
Web Design
Web DesignWeb Design
Web Design
Mr_Casey
 

La actualidad más candente (20)

How websites and search engines work
How websites and search engines workHow websites and search engines work
How websites and search engines work
 
Blooming SharePoint Design
Blooming SharePoint DesignBlooming SharePoint Design
Blooming SharePoint Design
 
Introduction to web development
Introduction to web developmentIntroduction to web development
Introduction to web development
 
Introduction to Basic Concepts in Web
Introduction to Basic Concepts in WebIntroduction to Basic Concepts in Web
Introduction to Basic Concepts in Web
 
Web Issues
Web IssuesWeb Issues
Web Issues
 
Introduction to Web Design
Introduction to Web DesignIntroduction to Web Design
Introduction to Web Design
 
The Days of Web Standards "IA" 20070715
The Days of Web Standards "IA" 20070715The Days of Web Standards "IA" 20070715
The Days of Web Standards "IA" 20070715
 
Front end web development
Front end web developmentFront end web development
Front end web development
 
Webs Review
Webs ReviewWebs Review
Webs Review
 
Zend Framework In Action
Zend Framework In ActionZend Framework In Action
Zend Framework In Action
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
 
Becoming an IBM Connections Developer
Becoming an IBM Connections DeveloperBecoming an IBM Connections Developer
Becoming an IBM Connections Developer
 
Web Site Design,
Web Site Design,Web Site Design,
Web Site Design,
 
SPSVB 1 7-2012 - getting started with share point branding
SPSVB 1 7-2012 - getting started with share point brandingSPSVB 1 7-2012 - getting started with share point branding
SPSVB 1 7-2012 - getting started with share point branding
 
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017 So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
 
The Autonomo.us Open Software Services Evolution, featuring Identi.ca
The Autonomo.us Open Software Services Evolution, featuring Identi.ca The Autonomo.us Open Software Services Evolution, featuring Identi.ca
The Autonomo.us Open Software Services Evolution, featuring Identi.ca
 
Web designing course bangalore
Web designing course bangaloreWeb designing course bangalore
Web designing course bangalore
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5
 
CM WebClient CA Expo Mannheim Germany
CM WebClient CA Expo Mannheim Germany CM WebClient CA Expo Mannheim Germany
CM WebClient CA Expo Mannheim Germany
 
Web Design
Web DesignWeb Design
Web Design
 

Similar a "Generating static web sites with Middleman"

Building Dynamic Websites With Joomla CMS
Building Dynamic Websites With Joomla CMSBuilding Dynamic Websites With Joomla CMS
Building Dynamic Websites With Joomla CMS
Thomas Siegers
 
SharePoint 2007 and SharePoint 2010 for Web Content Management (WCM)
SharePoint 2007 and SharePoint 2010 for Web Content Management (WCM)SharePoint 2007 and SharePoint 2010 for Web Content Management (WCM)
SharePoint 2007 and SharePoint 2010 for Web Content Management (WCM)
Richard Harbridge
 
Building cross platform mobile web apps
Building cross platform mobile web appsBuilding cross platform mobile web apps
Building cross platform mobile web apps
James Pearce
 
Just dev it presenation modified word press 101
Just dev it presenation   modified word press 101Just dev it presenation   modified word press 101
Just dev it presenation modified word press 101
roguevoice
 
Bd conf sencha touch workshop
Bd conf sencha touch workshopBd conf sencha touch workshop
Bd conf sencha touch workshop
James Pearce
 
Developing branding solutions for 2013
Developing branding solutions for 2013Developing branding solutions for 2013
Developing branding solutions for 2013
Thomas Daly
 
HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1
James Pearce
 

Similar a "Generating static web sites with Middleman" (20)

My Resume
My ResumeMy Resume
My Resume
 
Modern ux-workflow-presentation
Modern ux-workflow-presentationModern ux-workflow-presentation
Modern ux-workflow-presentation
 
Building Dynamic Websites With Joomla CMS
Building Dynamic Websites With Joomla CMSBuilding Dynamic Websites With Joomla CMS
Building Dynamic Websites With Joomla CMS
 
SharePoint 2007 and SharePoint 2010 for Web Content Management (WCM)
SharePoint 2007 and SharePoint 2010 for Web Content Management (WCM)SharePoint 2007 and SharePoint 2010 for Web Content Management (WCM)
SharePoint 2007 and SharePoint 2010 for Web Content Management (WCM)
 
It ppt.pptx
It ppt.pptxIt ppt.pptx
It ppt.pptx
 
Html5
Html5Html5
Html5
 
HTML5 introduction for beginners
HTML5 introduction for beginnersHTML5 introduction for beginners
HTML5 introduction for beginners
 
Wa html5-pdf
Wa html5-pdfWa html5-pdf
Wa html5-pdf
 
Wa html5-pdf
Wa html5-pdfWa html5-pdf
Wa html5-pdf
 
Front-end development introduction (HTML, CSS). Part 1
Front-end development introduction (HTML, CSS). Part 1Front-end development introduction (HTML, CSS). Part 1
Front-end development introduction (HTML, CSS). Part 1
 
web devs ppt.ppsx
web devs ppt.ppsxweb devs ppt.ppsx
web devs ppt.ppsx
 
Building cross platform mobile web apps
Building cross platform mobile web appsBuilding cross platform mobile web apps
Building cross platform mobile web apps
 
Html5 & less css
Html5 & less cssHtml5 & less css
Html5 & less css
 
Just dev it presenation modified word press 101
Just dev it presenation   modified word press 101Just dev it presenation   modified word press 101
Just dev it presenation modified word press 101
 
Ui development frameworks html-bootstrap by awa
Ui development frameworks html-bootstrap by awaUi development frameworks html-bootstrap by awa
Ui development frameworks html-bootstrap by awa
 
Bd conf sencha touch workshop
Bd conf sencha touch workshopBd conf sencha touch workshop
Bd conf sencha touch workshop
 
Rails Girls - Introduction to HTML & CSS
Rails Girls - Introduction to HTML & CSSRails Girls - Introduction to HTML & CSS
Rails Girls - Introduction to HTML & CSS
 
Developing branding solutions for 2013
Developing branding solutions for 2013Developing branding solutions for 2013
Developing branding solutions for 2013
 
Bootstrap how it can help you build better websites
Bootstrap   how it can help you build better websitesBootstrap   how it can help you build better websites
Bootstrap how it can help you build better websites
 
HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1
 

Último

一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
ayvbos
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理
F
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
ayvbos
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Monica Sydney
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
JOHNBEBONYAP1
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
ydyuyu
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
ydyuyu
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
F
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
ydyuyu
 
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Monica Sydney
 

Último (20)

Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime BalliaBallia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理
 
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
 
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency Dallas
 
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
 

"Generating static web sites with Middleman"