Custo totem ++

* parralax.js: refactoring

* drummer-652345_1280.xxs.jpg:
* musician-923526_1280.xxs.jpg:
* live-concert-388160_1280.xxs.jpg: totem style

* Makefile: cleaner code

* style.css: -> Totem

* BlogsController.cs: Fixes edition validation

* App.master: externalize the parralax javascript code, finishes the
  merge from yavsc

* UserPosts.aspx: Affiche "pas de contenu" quand aucun post n'est à
  afficher

* Web.csproj: Totem images

* instdbws.sql: Header images
vnext
Paul Schneider 9 years ago
parent 8042031871
commit 40a49f5284
14 changed files with 177 additions and 168 deletions

@ -1,3 +1,7 @@
2015-10-04 Paul Schneider <paul@pschneider.fr>
* Makefile: cleaner code
2015-08-20 Paul Schneider <paul@pschneider.fr> 2015-08-20 Paul Schneider <paul@pschneider.fr>
* Yavsc.sln: Adds the `Presta` project * Yavsc.sln: Adds the `Presta` project

@ -3,25 +3,17 @@ VERSION=1.1
CONFIG=Debug CONFIG=Debug
LDYDESTDIR=build/web/$(CONFIG) LDYDESTDIR=build/web/$(CONFIG)
COPYUNCHANGED="false" COPYUNCHANGED="false"
HOST_rsync_local=localhost
DESTDIR_rsync_local=/srv/www/yavsc
HOST_rsync_test=localhost
DESTDIR_rsync_test=/srv/www/lua
HOST_rsync_pre=lua.localdomain
DESTDIR_rsync_pre=/srv/www/yavsc
HOST_rsync_prod=lua.localdomain
DESTDIR_rsync_prod=/srv/www/lua
DOCASSBS=NpgsqlBlogProvider.dll WorkFlowProvider.dll Yavsc.WebControls.dll ITContentProvider.dll NpgsqlMRPProviders.dll Yavsc.dll SalesCatalog.dll YavscModel.dll
RSYNCCMD=rsync -ravu --chown=www-data:www-data RSYNCCMD=rsync -ravu --chown=www-data:www-data
HOST_rsync_dev=totemdev.localdomain
DESTDIR_rsync_dev=/srv/www/totemdev
HOST_rsync_pre=totempre.localdomain
DESTDIR_rsync_pre=/srv/www/totempre
HOST_rsync_prod=totemprod.pschneider.fr
DESTDIR_rsync_prod=/srv/www/totemprod
DOCASSBS=NpgsqlBlogProvider.dll WorkFlowProvider.dll Yavsc.WebControls.dll ITContentProvider.dll NpgsqlMRPProviders.dll Yavsc.dll SalesCatalog.dll YavscModel.dll
all: deploy all: deploy
ddir: ddir:
mkdir -p $(LDYDESTDIR) mkdir -p $(LDYDESTDIR)
@ -30,15 +22,13 @@ deploy: ddir build
xbuild /p:Configuration=$(CONFIG) /p:SkipCopyUnchangedFiles=$(COPYUNCHANGED) /p:DeployDir=../$(LDYDESTDIR) /t:Deploy web/Web.csproj xbuild /p:Configuration=$(CONFIG) /p:SkipCopyUnchangedFiles=$(COPYUNCHANGED) /p:DeployDir=../$(LDYDESTDIR) /t:Deploy web/Web.csproj
mv $(LDYDESTDIR)/Web.config $(LDYDESTDIR)/Web.config.new mv $(LDYDESTDIR)/Web.config $(LDYDESTDIR)/Web.config.new
rsync_% : HOST = $(HOST_$@) rsync_% : HOST = $(HOST_$@)
rsync_% : DESTDIR = $(DESTDIR_$@) rsync_% : DESTDIR = $(DESTDIR_$@)
rsync_% : deploy rsync_% : deploy
echo "!Deploying to $(HOST)!" echo "!Deploying to $(HOST)!"
$(RSYNCCMD) build/web/$(CONFIG)/ root@$(HOST):$(DESTDIR) $(RSYNCCMD) build/web/$(CONFIG)/ root@$(HOST):$(DESTDIR)
ssh root@$(HOST) apachectl restart
build: build:
xbuild /p:Configuration=$(CONFIG) /t:Build Yavsc.sln xbuild /p:Configuration=$(CONFIG) /t:Build Yavsc.sln
@ -46,6 +36,8 @@ build:
clean: clean:
xbuild /t:Clean xbuild /t:Clean
find -name "StyleCop.Cache" -exec rm {} \; find -name "StyleCop.Cache" -exec rm {} \;
distclean: clean
rm -rf $(LDYDESTDIR) rm -rf $(LDYDESTDIR)
sourcepkg: sourcepkg:
@ -63,14 +55,9 @@ htmldoc: xmldoc
docdeploy-prod: htmldoc docdeploy-prod: htmldoc
rsync -ravu web/htmldoc root@$(PRODHOSTDIR) rsync -ravu web/htmldoc root@$(PRODHOSTDIR)
rsync_local: rsync_dev:
rsync_test:
rsync_pre: rsync_pre:
rsync_prod: rsync_prod:
bigrsync: rsync_test rsync_local rsync_pre rsync_prod

@ -5,13 +5,14 @@ body {
color: #D0FFD0; color: #D0FFD0;
font-family: 'Arial', cursive; font-family: 'Arial', cursive;
padding: 0em; padding: 0em;
margin: 0;
} }
.iconsmall { max-height: 1.3em; max-width: 1.3em; } .iconsmall { max-height: 1.3em; max-width: 1.3em; }
input, textarea, checkbox { input, textarea, checkbox {
color: #FFFFA0; color: #FFFFA0;
background: black; background-color: black;
} }
header { header {
@ -22,8 +23,11 @@ header {
display: block; display: block;
min-height: 10em; min-height: 10em;
text-align: center; text-align: center;
background: url("/images/star-939235_1280.jpg") 0 0 no-repeat fixed; background: url("/images/totemprod.png") 0 0 no-repeat fixed;
} }
header h1, header a {
background-color: rgba(0,0,0,.5);
}
nav { nav {
border-radius:1em; border-radius:1em;
@ -55,14 +59,13 @@ footer {
justify-content: center; justify-content: center;
} }
footer a { footer a {
background-color: rgba(0,0,40,.8);
border-radius:5px; border-radius:5px;
margin:.5em; margin:.5em;
padding:1em; padding:1em;
} }
#copyr { text-align: center; } #copyr { text-align: center; display: block; background-color: rgba(20,20,20,.5); }
footer p { background-color: rgba(20,20,20,.5); } footer p { display:inline-block; }
footer img { max-height: 2em; vertical-align: middle; } footer img { max-height: 2em; vertical-align: middle; }
a.actionlink img, h1 img, .menuitem img { vertical-align: middle; } a.actionlink img, h1 img, .menuitem img { vertical-align: middle; }
@ -108,7 +111,7 @@ aside {
color: #aaa; color: #aaa;
border-radius:10px; border-radius:10px;
} }
.hiddenpost { background-color: rgba(16,16,0,0.3); } .hiddenpost { background-color: rgba(16,16,16,0.7); }
.fullwidth { width: 100%; } .fullwidth { width: 100%; }
textarea.fullwidth { min-height:10em; } textarea.fullwidth { min-height:10em; }
@ -144,8 +147,6 @@ content: ")";
a { a {
text-decoration: none; text-decoration: none;
color: #B0B080; color: #B0B080;
background-color:rgba(20,0,20,0.5);
text-decoration: none;
} }
.usertitleref { .usertitleref {
color: #B0B080; color: #B0B080;
@ -281,25 +282,25 @@ input, select {
margin: .5em; margin: .5em;
padding: .5em; padding: .5em;
min-height: 3em; min-height: 3em;
background: url("/images/star-939235_1280.xxs.jpg") 0 0 no-repeat fixed; padding-top: 5em;
} }
nav { nav {
margin: .5em; margin: .5em;
padding: .5em; padding: .5em;
min-height: 3em; min-height: 3em;
background: url("/images/helix-nebula-1400x1400.xxs.jpg") 50% 10% repeat fixed ; background: url("/images/live-concert-388160_1280.xxs.jpg") 50% 10% repeat fixed ;
} }
main { main {
margin: .5em; margin: .5em;
padding: .5em; padding: .5em;
min-height: 7em; min-height: 7em;
background: url("/images/p8-av4.xxs.jpg") 50% 20em no-repeat fixed ; background: url("/images/musician-923526_1280.xxs.jpg") 50% 20em repeat fixed ;
} }
footer { footer {
margin: .5em; margin: .5em;
padding: .5em; padding: .5em;
min-height: 3em; min-height: 3em;
background: url("/images/helix-nebula-1400x1400.xxs.jpg") 50% 90% repeat fixed ; background: url("/images/drummer-652345_1280.xxs.jpg") 50% 90% repeat fixed ;
} }
.menuitem { .menuitem {
display: block; display: block;

@ -1,3 +1,25 @@
2015-10-04 Paul Schneider <paul@pschneider.fr>
* parralax.js: refactoring
* drummer-652345_1280.xxs.jpg:
* musician-923526_1280.xxs.jpg:
* live-concert-388160_1280.xxs.jpg: totem style
* style.css: -> Totem
* BlogsController.cs: Fixes edition validation
* App.master: externalize the parralax javascript code,
finishes the merge from yavsc
* UserPosts.aspx: Affiche "pas de contenu" quand aucun post
n'est à afficher
* Web.csproj: Totem images
* instdbws.sql: Header images
2015-10-02 Paul Schneider <paul@pschneider.fr> 2015-10-02 Paul Schneider <paul@pschneider.fr>
* style.css: yauniformisation small & large screens. * style.css: yauniformisation small & large screens.

@ -276,6 +276,13 @@ namespace Yavsc.Controllers
model.Id = BlogManager.Post (model.Author, model.Title, model.Content, model.Visible, model.AllowedCircles); model.Id = BlogManager.Post (model.Author, model.Title, model.Content, model.Visible, model.AllowedCircles);
return RedirectToAction ("UserPosts", new { user = model.Author, title = model.Title }); return RedirectToAction ("UserPosts", new { user = model.Author, title = model.Title });
} }
ViewData ["AllowedCircles"] =
CircleManager.DefaultProvider.List (
Membership.GetUser ().UserName).Select (x => new SelectListItem {
Value = x.Id.ToString(),
Text = x.Title,
Selected = model.AllowedCircles.Contains (x.Id)
});
return View ("Edit", model); return View ("Edit", model);
} }

@ -15,64 +15,9 @@
<link rel="icon" type="image/png" href="/favicon.png?v=3" /> <link rel="icon" type="image/png" href="/favicon.png?v=3" />
<script src="<%=Url.Content("~/Scripts/jquery-2.1.4.min.js")%>"></script> <script src="<%=Url.Content("~/Scripts/jquery-2.1.4.min.js")%>"></script>
<script src="<%=Url.Content("~/Scripts/jquery-ui-1.11.4.js")%>"></script> <script src="<%=Url.Content("~/Scripts/jquery-ui-1.11.4.js")%>"></script>
<script src="<%=Url.Content("~/Scripts/parralax.js")%>"></script>
<script type="text/javascript"> <script type="text/javascript">
var apiBaseUrl = '<%=Url.Content(Yavsc.WebApiConfig.UrlPrefixRelative)%>'; var apiBaseUrl = '<%=Url.Content(Yavsc.WebApiConfig.UrlPrefixRelative)%>';
$(document).ready(function(){
var $window = $(window);
$('[data-type="background"]').each(function(){
var $bgobj = $(this); // assigning the object
// get the initial background position, assumes a "X% Yem" ?
var orgpos = $bgobj.css('backgroundPosition');
var bgpos = orgpos.split(" ");
var bgposx = bgpos[0];
var bgposy = bgpos[1];
if (/%$/.test(bgposx)){
bgposx = bgposx.substr(0,bgposx.length-1);
$bgobj.attr('orgbgpxu','% ');
}
else if (/em$/.test(bgposx)){
bgposx = bgposx.substr(0,bgposx.length-2);
$bgobj.attr('orgbgpxu','em ');
}
else if (/px$/.test(bgposx)){
bgposx = bgposx.substr(0,bgposx.length-2);
$bgobj.attr('orgbgpxu','px ');
}
else { $bgobj.attr('orgbgpxu','px '); }
if (/%$/.test(bgposy)){
bgposy = bgposy.substr(0,bgposy.length-1);
$bgobj.attr('orgbgpyu','% ');
}
else if (/em$/.test(bgposy)){
bgposy = bgposy.substr(0,bgposy.length-2);
$bgobj.attr('orgbgpyu','em ');
}
else if (/px$/.test(bgposy)){
bgposy = bgposy.substr(0,bgposy.length-2);
$bgobj.attr('orgbgpyu','px ');
}
else { $bgobj.attr('orgbgpyu','px '); }
$bgobj.attr('orgbgpx',parseInt(bgposx));
$bgobj.attr('orgbgpy',parseInt(bgposy));
$(window).scroll(function() {
var speed = $bgobj.data('speed');
var xPos = $bgobj.attr('orgbgpx') - Math.round($window.scrollLeft() / speed);
var yPos = $bgobj.attr('orgbgpy') - Math.round($window.scrollTop() / speed);
// Put together our final background position
var coords = '' + xPos + $bgobj.attr('orgbgpxu') + yPos + $bgobj.attr('orgbgpyu');
// Move the background
$bgobj.css({ backgroundPosition: coords });
// console.log($bgobj.get()[0].localName+' backgroundPosition: '+coords);
});
});
});
</script> </script>
<script src="/Scripts/yavsc.js"></script> <script src="/Scripts/yavsc.js"></script>
<asp:ContentPlaceHolder id="head" runat="server"> <asp:ContentPlaceHolder id="head" runat="server">
@ -80,79 +25,43 @@ $(document).ready(function(){
<link href='http://fonts.googleapis.com/css?family=Dancing+Script:400,700' rel='stylesheet' type='text/css'/> <link href='http://fonts.googleapis.com/css?family=Dancing+Script:400,700' rel='stylesheet' type='text/css'/>
</head> </head>
<body> <body>
<<<<<<< HEAD
<header data-type="background" data-speed="10" >
=======
<header data-type="background" data-speed="8" > <header data-type="background" data-speed="8" >
>>>>>>> bdae927f67893f93bc3681bb9c7fa08d0ca04a93
<asp:ContentPlaceHolder ID="overHeaderOne" runat="server"> <asp:ContentPlaceHolder ID="overHeaderOne" runat="server">
<h1><a href="<%= Html.Encode(Request.Url.AbsoluteUri.ToString()) %>">
<h1><a href="<%= Html.Encode(Request.Url.AbsoluteUri.ToString()) %>"> <%=ViewState["orgtitle"]%> </a> <%=ViewState["orgtitle"]%></a>
<span> - <span> -
<a href="<%= Url.Content("~/") %>"><%= YavscHelpers.SiteName %></a> <a href="<%= Url.Content("~/") %>"><%= YavscHelpers.SiteName %></a>
</span></h1> </span></h1>
</asp:ContentPlaceHolder> </asp:ContentPlaceHolder>
<asp:ContentPlaceHolder ID="header" runat="server"></asp:ContentPlaceHolder> <asp:ContentPlaceHolder ID="header" runat="server"></asp:ContentPlaceHolder>
<div id="error"><%= (ViewData["Error"]!=null)? Html.Encode(ViewData["Error"]) : "" %></div> <div id="error"><%= (ViewData["Error"]!=null)? Html.Encode(ViewData["Error"]) : "" %></div>
<div id="message"><%= Html.Encode(ViewData["Message"]) %></div> <div id="message"><%= Html.Encode(ViewData["Message"]) %></div>
</header> </header>
<<<<<<< HEAD
<nav data-type="background" data-speed="10" data-emheight="10" data-posx="0" data-posy="11" >
=======
<nav data-type="background" data-speed="2"> <nav data-type="background" data-speed="2">
>>>>>>> bdae927f67893f93bc3681bb9c7fa08d0ca04a93
<% if (Membership.GetUser()==null) { %> <% if (Membership.GetUser()==null) { %>
<a href="<%= Url.Content("~/Account/Login/?returnUrl=") + Url.Encode( Request.Url.PathAndQuery )%>" > <a href="<%= Url.Content("~/Account/Login/?returnUrl=") + Url.Encode( Request.Url.PathAndQuery )%>" >
<div class="menuitem"> <div class="menuitem">
<<<<<<< HEAD
<%= Html.ActionLink("Authentification", "Login", "Account", new { returnUrl=Request.Url.PathAndQuery }, new { accesskey = "L" } ) %>
<div class="hint">Pour pouvoir publier, facturer</div>
</div>
<% } else { %><div class="menuitem">
<a href="/Blog/<%= HttpContext.Current.User.Identity.Name%>" accesskey = "B" >
<img src="<%=Html.AvatarUrl(HttpContext.Current.User.Identity.Name)%>" alt="vos billets" class="iconsmall" /></a>
<div class="hint">Vos billets</div>
=======
<i class="fa fa-sign-in"></i> Connexion <i class="fa fa-sign-in"></i> Connexion
<div class="hint">Pour pouvoir publier, facturer</div>
>>>>>>> bdae927f67893f93bc3681bb9c7fa08d0ca04a93
</div> </div>
</a> </a>
<% } else { %> <% } else { %>
<a href="/Blog/<%= HttpContext.Current.User.Identity.Name%>" accesskey = "B" > <a href="/Blog/<%= HttpContext.Current.User.Identity.Name%>" accesskey = "B" >
<div class="menuitem"> <div class="menuitem">
<<<<<<< HEAD
<%= Html.ActionLink(HttpContext.Current.User.Identity.Name, "Profile", "Account", new { id = HttpContext.Current.User.Identity.Name }, new { accesskey = "P" } ) %>
<div class="hint"> &Eacute;dition de votre profile </div></div>
<div class="menuitem">
<a href="/Blogs/Post" accesskey="P"><u>P</u>oster</a>
<div class="hint">
&Eacute;dition d'un nouveau billet </div></div>
<div class="menuitem">
<%= Html.ActionLink( "Deconnexion", "Logout", "Account", new { returnUrl=Request.Url.PathAndQuery }, new { accesskey = "L" }) %>
=======
<img src="<%=Html.AvatarUrl(HttpContext.Current.User.Identity.Name)%>" alt="vos billets" class="iconsmall" /> <img src="<%=Html.AvatarUrl(HttpContext.Current.User.Identity.Name)%>" alt="vos billets" class="iconsmall" />
<div class="hint">Vos billets</div> <div class="hint">Vos billets</div>
</div> </div>
</a> </a>
<a href="<%= Url.Content("~/Account/Profile/" + HttpContext.Current.User.Identity.Name) %>" accesskey="L" class="menuitem"> <a href="<%= Url.Content("~/Account/Profile/" + HttpContext.Current.User.Identity.Name) %>" accesskey="L" class="menuitem">
<i class="fa fa-user"></i> <%= HttpContext.Current.User.Identity.Name %> <i class="fa fa-user"><%= HttpContext.Current.User.Identity.Name %>
<div class="hint"> &Eacute;dition de votre profile </div></a> <div class="hint"> &Eacute;dition de votre profile </div></i>
</a>
<a href="/Blogs/Post" accesskey="P" class="menuitem"> <a href="/Blogs/Post" accesskey="P" class="menuitem">
<i class="fa fa-pencil"></i> <i class="fa fa-pencil"><u>P</u>oster
<u>P</u>oster <span class="hint">&Eacute;dition d'un nouveau billet </span></i>
<div class="hint">&Eacute;dition d'un nouveau billet </div></a> </a>
<a href="<%= Url.Content( "~/Account/Logout/?returnUrl=")+Url.Encode(Request.Url.PathAndQuery)%>" accesskey = "P" class="menuitem"> <a href="<%= Url.Content( "~/Account/Logout/?returnUrl=")+Url.Encode(Request.Url.PathAndQuery)%>" accesskey = "P" class="menuitem">
<i class="fa fa-sign-out"></i>Deconnexion</a> <i class="fa fa-sign-out">Deconnexion</i></a>
>>>>>>> bdae927f67893f93bc3681bb9c7fa08d0ca04a93
<% } %> <% } %>
</nav> </nav>
<main data-type="background" data-speed="10" data-emheight="10" data-posx="0" data-posy="22" > <main data-type="background" data-speed="10" data-emheight="10" data-posx="0" data-posy="22" >
@ -163,43 +72,22 @@ $(document).ready(function(){
</main> </main>
<asp:ContentPlaceHolder ID="MASContent" runat="server"> <asp:ContentPlaceHolder ID="MASContent" runat="server">
</asp:ContentPlaceHolder> </asp:ContentPlaceHolder>
<footer data-type="background" data-speed="2" >
<<<<<<< HEAD <div id="copyr">
<footer data-type="background" data-speed="10" >
<p id="copyr">
© 2012 Totem Production. Tous droits réservés. © 2012 Totem Production. Tous droits réservés.
</div>
<p>
<%= Html.ActionLink("Formulaire de contact","Contact","Home") %>
</p> </p>
<p> <p>
<a href="https://fr-fr.facebook.com/Brahms.Totem.officiel" ><img src="/images/facebook.png" alt="facebook"/></a> <a href="https://fr-fr.facebook.com/Brahms.Totem.officiel" ><img src="/images/facebook.png" alt="facebook"/></a>
<a href="http://twitter.com/TotemOfficiel"><img src="/images/twiter.png" alt="twiter"/></a> <a href="http://twitter.com/TotemOfficiel"><img src="/images/twiter.png" alt="twiter"/></a>
</p> </p>
<% #if !DEBUG %>
<script src="https://apis.google.com/js/platform.js" defer> <script src="https://apis.google.com/js/platform.js" defer>
{lang: 'fr'} {lang: 'fr'}
</script> </script>
<div class="g-plusone" data-annotation="inline" data-width="230"></div> <div id="gspacer"><div class="g-plusone" data-annotation="inline" data-width="170"></div>
<% #else %>
<p><i>(Version de développement, G+1 desactivé)</i></p>
<% #endif %>
=======
<footer data-type="background" data-speed="2">
<div >
<%= Html.ActionLink("Formulaire de contact","Contact","Home",null, new { @class="thanks" }) %>
<% foreach ( Link link in Html.Thanks()) { %>
<a class="thanks" href="<%=link.Url%>"><% if (link.Image !=null) {
%><img src="<%= link.Image %>" alt="<%= link.Text %>"/></a>
<% } else { %>
<a class="thanks" href="<%=link.Url%>"><%= link.Text %></a>
<% }} %>
</div> </div>
<script src="https://apis.google.com/js/platform.js" defer> </footer>
{lang: 'fr'}
</script>
<div id="gspacer"><div class="g-plusone" data-annotation="inline" data-width="170"></div></div>
>>>>>>> bdae927f67893f93bc3681bb9c7fa08d0ca04a93
</footer>
</body> </body>
</html> </html>

@ -0,0 +1,74 @@
//
// parralax.js
//
// Author:
// Paul Schneider <paul@pschneider.fr>
//
// Copyright (c) 2015 GNU GPL
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
$(document).ready(function(){
var $window = $(window);
$('[data-type="background"]').each(function(){
var $bgobj = $(this); // assigning the object
// get the initial background position, assumes a "X% Yem" ?
var orgpos = $bgobj.css('backgroundPosition');
var bgpos = orgpos.split(" ");
var bgposx = bgpos[0];
var bgposy = bgpos[1];
if (/%$/.test(bgposx)){
bgposx = bgposx.substr(0,bgposx.length-1);
$bgobj.attr('orgbgpxu','% ');
}
else if (/em$/.test(bgposx)){
bgposx = bgposx.substr(0,bgposx.length-2);
$bgobj.attr('orgbgpxu','em ');
}
else if (/px$/.test(bgposx)){
bgposx = bgposx.substr(0,bgposx.length-2);
$bgobj.attr('orgbgpxu','px ');
}
else { $bgobj.attr('orgbgpxu','px '); }
if (/%$/.test(bgposy)){
bgposy = bgposy.substr(0,bgposy.length-1);
$bgobj.attr('orgbgpyu','% ');
}
else if (/em$/.test(bgposy)){
bgposy = bgposy.substr(0,bgposy.length-2);
$bgobj.attr('orgbgpyu','em ');
}
else if (/px$/.test(bgposy)){
bgposy = bgposy.substr(0,bgposy.length-2);
$bgobj.attr('orgbgpyu','px ');
}
else { $bgobj.attr('orgbgpyu','px '); }
$bgobj.attr('orgbgpx',parseInt(bgposx));
$bgobj.attr('orgbgpy',parseInt(bgposy));
$(window).scroll(function() {
var speed = $bgobj.data('speed');
var xPos = $bgobj.attr('orgbgpx') - Math.round($window.scrollLeft() / speed);
var yPos = $bgobj.attr('orgbgpy') - Math.round($window.scrollTop() / speed);
// Put together our final background position
var coords = '' + xPos + $bgobj.attr('orgbgpxu') + yPos + $bgobj.attr('orgbgpyu');
// Move the background
$bgobj.css({ backgroundPosition: coords });
// console.log($bgobj.get()[0].localName+' backgroundPosition: '+coords);
});
});
});

@ -45,7 +45,9 @@
%> %>
<aside> <aside>
<yavsc:ResultPages id="rp1" Action = "?pageIndex={0}" runat="server"></yavsc:ResultPages> <yavsc:ResultPages id="rp1" Action = "?pageIndex={0}" runat="server">
<None><i>Pas de contenu</i></None>
</yavsc:ResultPages>
</aside> </aside>
<asp:HiddenField id="user" runat="server"></asp:HiddenField> <asp:HiddenField id="user" runat="server"></asp:HiddenField>
</form> </form>

@ -415,6 +415,10 @@
<Content Include="images\star-939235_1280.xxs.jpg" /> <Content Include="images\star-939235_1280.xxs.jpg" />
<Content Include="images\p8-av4.xxs.png" /> <Content Include="images\p8-av4.xxs.png" />
<Content Include="images\p8-av4.xxs.jpg" /> <Content Include="images\p8-av4.xxs.jpg" />
<Content Include="images\musician-923526_1280.xxs.jpg" />
<Content Include="images\drummer-652345_1280.xxs.jpg" />
<Content Include="images\live-concert-388160_1280.xxs.jpg" />
<Content Include="Scripts\parralax.js" />
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" /> <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

@ -728,3 +728,23 @@ WITH (
OIDS=FALSE OIDS=FALSE
); );
-- Table: postheader
-- DROP TABLE postheader;
CREATE TABLE postheader
(
postid bigserial NOT NULL, -- Blog post identifier, to which will be associated this head image
url character varying(512), -- Url for this header image,...
CONSTRAINT postheader_pkey PRIMARY KEY (postid),
CONSTRAINT postheader_postid_fkey FOREIGN KEY (postid)
REFERENCES blog (_id) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE CASCADE
)
WITH (
OIDS=FALSE
);
COMMENT ON COLUMN postheader.postid IS 'Blog post identifier, to which will be associated this head image';
COMMENT ON COLUMN postheader.url IS 'Url for this header image, if relative, it will be on the path "~/bfiles/<postid>"';

Loading…