From dfe98283b5400d88b33d2c3c548c1559b57bbc8e Mon Sep 17 00:00:00 2001 From: Nicolas Bally Date: Sat, 11 Apr 2015 16:01:51 +0200 Subject: [PATCH] new design --- app/assets/javascripts/public.js.coffee | 4 +- app/assets/stylesheets/public.scss | 30 +- .../stylesheets/public/articles.css.scss | 12 +- app/assets/stylesheets/public/layout.css.scss | 496 +++--------------- app/views/admin/articles/_form.html.haml | 4 +- app/views/layouts/public.html.haml | 34 +- app/views/public/articles/_article.html.haml | 51 +- .../public/articles/_article_intro.html.haml | 53 +- .../articles/_sidebar_recents.html.haml | 6 +- app/views/public/home/home.html.haml | 3 +- public/arrow-next.png | Bin 0 -> 3234 bytes public/arrow-prev.png | Bin 0 -> 3212 bytes public/close.png | Bin 0 -> 4793 bytes public/controls.png | Bin 0 -> 2195 bytes 14 files changed, 141 insertions(+), 552 deletions(-) create mode 100755 public/arrow-next.png create mode 100755 public/arrow-prev.png create mode 100644 public/close.png create mode 100755 public/controls.png diff --git a/app/assets/javascripts/public.js.coffee b/app/assets/javascripts/public.js.coffee index 7501bc1..d7086d0 100644 --- a/app/assets/javascripts/public.js.coffee +++ b/app/assets/javascripts/public.js.coffee @@ -1,9 +1,9 @@ -#= require ./shared/jquery.js +#= require jquery #= require jquery_ujs - +#=require ./popover $ -> diff --git a/app/assets/stylesheets/public.scss b/app/assets/stylesheets/public.scss index bea93f0..19a74b7 100644 --- a/app/assets/stylesheets/public.scss +++ b/app/assets/stylesheets/public.scss @@ -4,30 +4,32 @@ @import "shared/superfish"; @import "css3-mixins.scss"; @import "public/layout"; -@import "public/articles"; +//@import "public/articles"; +@import "qi_grids"; +@import "popover"; + +img{ + max-width:100%; + +} body{ padding:0; margin:0; - font-family:"museo-sans", serif; + font-family:"freight-text-pro", serif; font-weight:500; - font-size:15px; + font-size:17px; + line-height:1.6em; } -p{ - line-height:1.4em; - -} -strong{ - font-weight:700; - -} + + h1,h2,h3,h4{ font-weight:normal; - font-family:lato; + font-family:"Lato"; a{ color:#1e1e1e; @@ -72,10 +74,6 @@ aside{ } -.article_infos{ - - margin-bottom:1em; -} .read{ diff --git a/app/assets/stylesheets/public/articles.css.scss b/app/assets/stylesheets/public/articles.css.scss index 30816a3..a61d23a 100644 --- a/app/assets/stylesheets/public/articles.css.scss +++ b/app/assets/stylesheets/public/articles.css.scss @@ -1,11 +1,4 @@ -.widget{ - h2{ - font-family : "DanielRegular"; - - } - - -} + .read{ display:block; @@ -86,4 +79,5 @@ font-size:0.8em; margin-bottom:1em; -} \ No newline at end of file +} + diff --git a/app/assets/stylesheets/public/layout.css.scss b/app/assets/stylesheets/public/layout.css.scss index b4a981e..678b75b 100644 --- a/app/assets/stylesheets/public/layout.css.scss +++ b/app/assets/stylesheets/public/layout.css.scss @@ -1,20 +1,30 @@ body{ padding:0px; - background: url('/assets/front/fond.jpg'); + background: rgba(250,250,250,1); + background-size:100%; + - +color: #333; } +#gradient{ + + +} header#top{ display:block; - + .center{ + max-width:1200px; + margin:auto; + + } background: url('/assets/front/top.png') repeat-x; img{ width:120px; float:left; - margin:20px 50px; + margin:20px 0px; } } @@ -40,60 +50,43 @@ navigation#first_nav{ } #main{ - - - header{ - h1{ - margin-bottom:10px; - } - - h2{ - margin-top:0em; - margin-bottom:1em; - } - - } + + max-width:1200px; + margin:auto; img{ max-width:100%; } - article{ - margin-bottom:3em; - border-top:2px solid #97bc4a; - padding-top:1em !important; - aside{ - img{ - display:none; - } - - *{ - display:inline; - } - } - - } +} +#corps{ + background:white; + padding:40px; + float:left; + width:70%; + box-sizing: border-box; } +.article_corps{ + background:white; + +} #sidebar{ - padding:0% 2%; + padding:20px; + margin-left:70%; + box-sizing: border-box; + - - background:#97bc4a; + img{ margin:0.5em 0; } - - color:white; - - h3,a{ - color:white; - } + } @@ -144,405 +137,10 @@ footer{ -@media only screen and (min-width: 0px) { - - header#top{ - - img{ - width:120px; - - margin:20px 5%; - } - - } - - #main{ - margin:auto; - - max-width:800px; - width:90%; - } - - #sidebar{ - margin:auto; - padding:2% !important; - max-width:800px; - width:86%; - - img{ - margin:0.5em 0; - max-width:98%; - } - - } - - - .img_with_legend{ - position:relative; - - figcaption{ - margin-top:5px; - } - - } - - -} - - -@media only screen and (min-width: 769px) { - - - #main{ - margin-left:2%; - - - max-width:800px; - width:69%; - float:left; - - padding:0px; - - - article{ - padding:0px 6%; - } - - } - - #sidebar{ - float:right; - width:23%; - padding-top:0px !important; - min-height:1000px; - - img{ - max-width:100%; - margin:0.5em 0; - } - - } - +//@media only screen and (min-width: 0px) { - - - -} - - -@media only screen and (min-width: 950px) { - - - #main{ - margin-left:5%; - - width:64%; - - - - } -} - -@media only screen and (min-width: 1200px) { - - - #main{ - margin-left:18%; - - width:53%; - - - } - - #sidebar{ - - padding-top:0em !important; - } - - - - article{ - position:relative; - - - - aside{ - - display:block; - position:absolute; - left : -39%; - - top:-2px; - padding-top:0em; - line-height:1.6em; - width:42%; - - text-align:center; - - - p{ - margin:0px; - display:block !important; - } - - img{ - display:block !important; - margin:auto; - border-radius:50%; - } - - time{ - display:block; - - } - - *{ - text-align:center; - - } - - } - - } - - - .img_with_legend{ - position:relative; - - figcaption{ - display:block; - position:absolute; - left : -35%; - width:32%; - top:10px; - - *{ - text-align:right; - - } - - } - - } - - - -} - -#comments{ - - .comment{ - margin-bottom:3em; - - aside{ - - img{ - float:left; - margin:auto; - border-radius:50%; - - } - - } - - blockquote{ - - text-align:justify !important; - border-color : #97bc4a; - min-height:3em; - padding-right:0px; - - p{ - text-align:justify !important; - - } - - } - - .header, blockquote{ - margin-left:100px; - - } - - .header{ - font-size: 0.95em; - line-height:1.6em; - - img{ - display:none; - } - - } - - } - -} - - -#comment_form{ - background:#e4f1d5; - background-color:rgba(127,182,55,0.2); - padding:20px; - padding-bottom:35px; - margin:0px 0px 0px 0px; - - h3{ - margin-top:0px; - text-transform:uppercase; - - } - - input,textarea{ - background:white; - background-color:rgba(255,255,255,0.8); - padding:1%; - - } - - textarea{ - line-height:1.6em; - - } - - label{ - display:inline-block; - min-width:90px; - padding:5px; - - } - - .submit{ - float:right; - @include border-radius(10px); - margin-top:-16px; - cursor:pointer; - - &:hover{ - background:#97bc4a; - color:white; - - } - padding:1% 2%; - - } - -} - - - - - -//iPhone -@media only screen and (max-width: 480px) { - - - - - body{ - font-size:50%; - - } - - - - -} - -@media only screen and (max-width: 320px) { - - - - - body{ - font-size:75%; - - } - - - - -} - - -@media only screen and (max-width: 600px) { - - - - - - - - - header#top{ - - text-align:center; - img{ - float:none; - display:block; - margin:auto; - - - - } - - - navigation{ - text-align:center; - float:none; - display:block; - margin-top:10px; - - - } - - - - } - - - - #comment_form{ - margin:0px !important; - } - - #comments{ - - .comment{ - - aside{ - - img{ - float:left; - margin:auto; - border-radius:50%; - width:40px; - height:40px; - - } - - } - - - .header, blockquote{ - margin-left:50px; - - } - blockquote{ - margin-left:10px; - - } - - - - } - - } - - - -} footer{ @@ -584,3 +182,27 @@ footer{ } } + +.article_small{ + + margin-bottom:20px; + position:relative; + h1{ + text-align:center; + + } + background:white; + + padding:10px; + padding-left:120px; + .img{ + width:100px; + position:absolute; + + top:10px; + left:10px; + background-size:cover; + + + } +} diff --git a/app/views/admin/articles/_form.html.haml b/app/views/admin/articles/_form.html.haml index a54bcbc..1b1c9ce 100644 --- a/app/views/admin/articles/_form.html.haml +++ b/app/views/admin/articles/_form.html.haml @@ -4,9 +4,9 @@ =form.input :category_id, :as => :select, :collection => Category.order(:name) = form.input :enabled,:as => :boolean , :label => "Actif" = form.input :published_at, :label => "Date de publication : ",:as => :qi_date_picker - + = form.input :image_file_id, :label => "Image :" , :as => :qi_image_select = form.input :title, :label => "Titre :" - = form.input :title_cached,:as => :boolean , :label => "Titre masqué ?" + =# form.input :title_cached,:as => :boolean , :label => "Titre masqué ?" =# form.input :slug, :label => "Slug :" = form.input :description, :label => "Description courte :", :as => :text diff --git a/app/views/layouts/public.html.haml b/app/views/layouts/public.html.haml index c1ad16b..561a162 100644 --- a/app/views/layouts/public.html.haml +++ b/app/views/layouts/public.html.haml @@ -19,6 +19,7 @@ + =javascript_include_tag "http://maps.google.com/maps/api/js?sensor=false®ion=FR" =render :partial => "public/shared/ga" %body @@ -27,31 +28,34 @@ %header#top - =link_to image_tag("front/logo.png"), "/" + .center + =link_to image_tag("front/logo.png"), "/" - %navigation#first_nav - =link_to "A propos", "/a-propos-de-nicolas-bally.html" - =link_to "Blog", "/" + %navigation#first_nav + =link_to "A propos", "/a-propos-de-nicolas-bally.html" + =link_to "Blog", "/" - =link_to "Contact", "/contact.html" + =link_to "Contact", "/contact.html" - %p{:style => "clear:both;"} - #main=yield + %p{:style => "clear:both;"} - %section#sidebar - - %h3=link_to "À propos", "/a-propos-de-nicolas-bally.html" + + #main + #corps{:class => ("article_corps" if @article)}=yield + + %section#sidebar + =render :partial => "public/articles/sidebar_recents" - %h3 Mes activités - %ul - %li= link_to "Création de site web", "http://www.quartz-agence.com", :title => "Site de l'agence Nicolas Bally, création de sites web", :target => "_blank" - %li= link_to "Photographie", "http://www.nicolasbally.com", :title => "Site photo de Nicolas Bally, Photographe", :target => "_blank" + %h3 Mes activités + %ul + %li= link_to "Création de site web", "http://www.quartz-agence.com", :title => "Site de l'agence Nicolas Bally, création de sites web", :target => "_blank" + %li= link_to "Photographie", "http://www.nicolasbally.com", :title => "Site photo de Nicolas Bally, Photographe", :target => "_blank" - %p{:style => "clear:both;height:1px;margin-top:0px;"} + .clear %footer diff --git a/app/views/public/articles/_article.html.haml b/app/views/public/articles/_article.html.haml index 488eca8..ba50339 100644 --- a/app/views/public/articles/_article.html.haml +++ b/app/views/public/articles/_article.html.haml @@ -1,35 +1,20 @@ -%article - - - %header - - - - - %h1=link_to article.title, article_path(:slug => article.slug), :title => "Blog de Nicolas Bally "+article.title.to_s - - .article_infos - - - - - - %time.updated{:datetime => Time.now, :pubdate => true} - Publié - ="le "+l(article.published_at, :format => :human_date) - - ="-" - -if article.comments.count == 0 - =link_to "Pas de commentaires", article_path(:slug => article.slug, :anchor => "comments") - -elsif article.comments.count == 1 - =link_to "1 commentaire", article_path(:slug => article.slug, :anchor => "comments") - -else - =link_to "#{article.comments.count} commentaires", article_path(:slug => article.slug, :anchor => "comments") - - .desc - %a{:href => article_path(:slug => article.slug)}= article.description - %a.read{:href => article_path(:slug => article.slug)} Lire la suite - +.article_small -if article.image_file - %a{:href => article_path(:slug => article.slug)}=image_tag(article.image_file.file.large.medium.url, :alt => "") + =image_tag(article.image_file.file.square.url, :class => "img") + + + %h3=link_to article.title, article_path(:slug => article.slug), :title => " "+article.title.to_s + + + + + + %p.article_infos + + + + %time.updated{:datetime => Time.now, :pubdate => true} + + ="le "+l(article.published_at, :format => :human_date) + diff --git a/app/views/public/articles/_article_intro.html.haml b/app/views/public/articles/_article_intro.html.haml index ffe51ee..e5cc77d 100644 --- a/app/views/public/articles/_article_intro.html.haml +++ b/app/views/public/articles/_article_intro.html.haml @@ -1,35 +1,24 @@ %article - %header - - %aside - - - %p - Article de - %strong - - Nicolas Bally - - - %time.updated{:datetime => Time.now, :pubdate => true} - publié - ="le "+l(article.published_at, :format => :human_date) - - %p{:style => "margin-top:1em;"} - -if article.comments.count == 0 - =link_to "Pas de commentaires", article_path(:slug => article.slug, :anchor => "comments") - -elsif article.comments.count == 1 - =link_to "1 commentaire", article_path(:slug => article.slug, :anchor => "comments") - -else - =link_to "#{article.comments.count} commentaires", article_path(:slug => article.slug, :anchor => "comments") - - - - - %h1=link_to article.title, article_path(:slug => article.slug), :title => "blog conseil en image : "+article.title.to_s - - %h2= article.description + %header + + + %p.article_infos - =render article.block - + + + %time.updated{:datetime => Time.now, :pubdate => true} + + ="le "+l(article.published_at, :format => :human_date) + + ="-" + =link_to i(:"comment-o")+" "+article.comments.count.to_s, article_path(:slug => article.slug, :anchor => "comments") + + + + %h1=link_to article.title, article_path(:slug => article.slug), :title => "blog conseil en image : "+article.title.to_s + + + =render article.block + +%hr \ No newline at end of file diff --git a/app/views/public/articles/_sidebar_recents.html.haml b/app/views/public/articles/_sidebar_recents.html.haml index 7f7bb0b..4ea15de 100644 --- a/app/views/public/articles/_sidebar_recents.html.haml +++ b/app/views/public/articles/_sidebar_recents.html.haml @@ -1,8 +1,4 @@ .recents.widget %h3 Articles récents - %ul - -Article.recents.limit(10).each do |article| - %li= link_to article.title, article_path(:slug => article.slug),:title => "Blog conseil en image - "+article.title.to_s - - \ No newline at end of file + =render Article.recents.limit(10) \ No newline at end of file diff --git a/app/views/public/home/home.html.haml b/app/views/public/home/home.html.haml index 31c0cda..bc5b4fa 100644 --- a/app/views/public/home/home.html.haml +++ b/app/views/public/home/home.html.haml @@ -1,7 +1,8 @@ -if @index_title %h1=@index_title -=render :partial => "public/articles/article", :collection => @articles, :as => "article" +=render :partial => "public/articles/article_intro", :collection => @articles, :as => "article" +.clear #articles_pagination= paginate @articles \ No newline at end of file diff --git a/public/arrow-next.png b/public/arrow-next.png new file mode 100755 index 0000000000000000000000000000000000000000..17425bf65a784c1d5c90b9268adde10fb3aa72eb GIT binary patch literal 3234 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 literal 0 HcmV?d00001 diff --git a/public/arrow-prev.png b/public/arrow-prev.png new file mode 100755 index 0000000000000000000000000000000000000000..efa0bc13656df241f04be32833dca2944fd7cb32 GIT binary patch literal 3212 zcmY*cX;hNi8V154NC6W}GtxLJDdu=m3lnp|SyZyrt~pSt)hf*l4-Sx74x#3d=75xQ zBhFfCCy#THQ#o`!rDA4j4h`lht-C+F_s9JK`&)bM{l3riehU&AE_6AR3JL~;$=Tak zyMr|i27@1wl?G2YQf*FwW#bt;ud^`NE)w*Cvr8-@z@}QDox3v(_J;-x#=QiC{h-5O z7X&cac{mISJj^HMJg+}f@syH8srbP8Go$5jo$(X^h?%n=B z2VXuYr~Sj&+Wu)}h>wQ9>2w*O7X{x7e^Z%8xTY1K5~_;ERAHDEG-c6H`}0-l*M|X4 zhhgLTk2xX_0P+6S?PwfhAG6AJ1g$i9g*$MR+b?1p(pV3#Gd4Y%| zq&ig}wfk0dpXurmO{x*CjP&gD*DF)R;K}rhoH3*MGsxJXVQN70XxjRz;-)Ts7&=YH=)BPUru!}Gl~=VZyd zUY}+7ZH_=HVhRxXA_;H6P+Y_s!7;p+A(`SuRXM!wj>&ILhDt~f(Lef?A))-SSgKMHkC)93LT8} znyhK>L|3CH-YD^F78Nj=(mFQSPD|Rvfc6Dbd0mRrviBL#F)7a-4IK^5n|{fTsEW^K z3)#+RZ+A_aGKHcj*YHqPq@uLXC=s1uAg&QDkuzt2{$dG7KFKsCj(e@dqjhrxwXf#6 zLsV-Dx3tK;SUCb&L)|LX0$M881<$kcM08x|4TN}sLzzs}1b3zb%a9V&8c`$}-{0z} z%{X)iKf1n_HXbP59HE_N!O;*sl!5D7m28?cl?_taUDX*%R18&>!5H%w%n~;4#dlrp zAPeZ*Vy|w(_Mr#!52(t(`6qHS4zUxt*9^oQ$>_L}Z@|sBCgQsa-e7OqM0`#CU22Q_ z1SiPfjfrGg=H0yC6i z901(?s4u1fb6qmQ#OWA-Xe*UA?iOgI#3jZY&Go5VRDeh393%J+wC0Z_#b<+pDCiKe z<*gbKjY}f|Nyh&N!%o9+PPXeRAKC)_0m2<>bnnW=bi(vHLWG(7uM$I5kBG5W|EC6I zjOu6-n1vkD*7dF{g18(JNsYe8z`t{Y^U2(9Fuezv|Ah<;ydTh-BJ)6BeD{|r3;N=* z2HX@Q}fMOSlWW0fVY^Ja|LBcKK)>WAk0&*t~pmo|VZc~-2 z0p2WP8Csfi<1@Sv1AiF|-0QTvT&eOUB2Guv(*|R_@~>SZ&TIo zOLXrXepA1q_KNFAqq#OG2;^cHidIBEeT(|F>1)FWf9h7v%g!Wu)jew)T2V(DTWk52 zO~_-y?fpMn<%A%OySkY^E5AwKkqzQ{cIIcto8R4p3Fq5JQB1&8e!9I@G%?0m#UdU| zU)CPou6%wqDA?aBbFwJ!&l`vW&W+O@)wL<9S7=fyO$7#xGH*5VO6D@Yn_C=18nbRW zN=97+!d%f0L!0Ye=40{6W!OG^_0uTljyrj6Qy{C!Jv*;xFHc2-8U4wq=uZb*CB8wdA34avUvqfaF9db>`*%{XbW)l95NgET}1+rb&vkuMKqw~6%)gu|Ga0q4vjrbhW zM1|+F&Px&SLa01u`uK&Va;1Z9sInO2^vYvkGwhfKfiuubU1NaNok!i-9^k5-Cc~dg zy;93&6(jy`C|DPx)(|42=kYI<-l~xdNQ~v~wflRX4a4BghELk!uxUyKIb#wY)%o}9 z9OTqf%XQ>6Rh@CmHHOr_-&NMD_w2DP=lWewqb_IwA?T1w?zL>&o%!E5NS$cdS&IqxB=3G2w-kn!wY1uS7Oh_vs+U%lX{yWOH0!v?|aT z$WQtuKR)#e$bkct1EcHjSrW?{{aEdz)J8f@!q6FHV-YH;F3KHoi!_NF`7a<~P?X0h z_3KdXvOTZsF1KxPwj%jZ$=|xo@j(x6H){|-?~Aaw$SwV3m1US9)8ATJ!kmO09^~98 zRsy0;KP=EN1AdB!d(!jANWy=d&IMDqz5qGj{qxJd3aCR&h=y@vS-iM+J@*Ds@WW!r zfCj?*Qk(*0?zN%=h-7nv{wIUvN$5tT=i0fo=83sN6y<{hI{67Rmgxt03D1-(`co57 zit@EP4$s+3p;BFN?Lfi_H}XwT4K>JA>ZnfcjKeY-PEnHD1#ICW|6Cssi7|3VaRnst z(8{ma7a<;FOAvgJ#z~=@5TX;>uPp+DMQ-sVFsZWe_T#r4rD}lJ1g$K@bwG<u7yyh@_?=0$;sI%K;WLGxYXe9oUbs|q{|9<={MUvMr-W`g(8U?>Ah zbEN2nHN;^bGztseK(3DyXD++_phz;e!{68xU6oko%tXZ-_dpG`bodbLOBFH6c@VEi zkM6UeQBR(?AcLcgwIeR6LEoSrHa{-}t*7}_R@S8^ECKZM>pGOD1ajWMD%lI=)2|D2 zz}Dk$@C!_(s51|D#gxgydF{;edu(saKGFLT a3zM!Do7RA@yzZB4DP`}7vYL;V!YsE=GpZx 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