Template are now cleanly split. Properly handle synchronization with jquery. re #73
--HG-- rename : templates/default/frontpage.html => templates/default/header.html rename : templates/default/frontpage.html => templates/default/main.html
This commit is contained in:
		
							parent
							
								
									5e1cae2fd8
								
							
						
					
					
						commit
						bf54e6a7b9
					
				
					 7 changed files with 113 additions and 141 deletions
				
			
		
							
								
								
									
										35
									
								
								index.php
									
										
									
									
									
								
							
							
						
						
									
										35
									
								
								index.php
									
										
									
									
									
								
							|  | @ -96,17 +96,34 @@ | ||||||
|                 } |                 } | ||||||
|             }); |             }); | ||||||
|              |              | ||||||
|             $.get('templates/default/bookdetail.html', function(data){ |             $.when($.get('templates/default/header.html'), | ||||||
|                 templateBookDetail = doT.template (data); |                    $.get('templates/default/footer.html'), | ||||||
|  |                    $.get('templates/default/bookdetail.html'), | ||||||
|  |                    $.get('templates/default/main.html'), | ||||||
|  |                    $.get('templates/default/page.html'), | ||||||
|  |                    $.getJSON('<?php echo "getJSON.php?" . str_replace ("&", "&", $_SERVER["QUERY_STRING"]); ?>')).done(function(header, footer, bookdetail, main, page, data){ | ||||||
|  |                 templateBookDetail = doT.template (bookdetail [0]); | ||||||
|  |                  | ||||||
|  |                 var defMain = { | ||||||
|  |                     bookdetail: bookdetail [0] | ||||||
|  |                 }; | ||||||
|  |                  | ||||||
|  |                 templateMain = doT.template (main [0], undefined, defMain); | ||||||
|  |                  | ||||||
|  |                 var defPage = { | ||||||
|  |                     header: header [0], | ||||||
|  |                     footer: footer [0], | ||||||
|  |                     main  : main [0], | ||||||
|  |                     bookdetail: bookdetail [0] | ||||||
|  |                 }; | ||||||
|  |                  | ||||||
|  |                 templatePage = doT.template (page [0], undefined, defPage); | ||||||
|  |                 var toto = "toto"; | ||||||
|  |                  | ||||||
|  |                 updatePage (data [0]); | ||||||
|  |                 history.replaceState(data [0], "", window.location); | ||||||
|             }); |             }); | ||||||
|              |              | ||||||
|             $.get('templates/default/frontpage.html', function(data){ |  | ||||||
|                 template = doT.template(data); |  | ||||||
|                 $.getJSON('<?php echo "getJSON.php?" . str_replace ("&", "&", $_SERVER["QUERY_STRING"]); ?>', function(data) { |  | ||||||
|                     updatePage (data); |  | ||||||
|                     history.replaceState(data, "", window.location); |  | ||||||
|                 }); |  | ||||||
|             }); |  | ||||||
|         }); |         }); | ||||||
|          |          | ||||||
|          |          | ||||||
|  |  | ||||||
							
								
								
									
										15
									
								
								templates/default/footer.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								templates/default/footer.html
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | ||||||
|  | <footer> | ||||||
|  |     <div class="footleft"> | ||||||
|  |         <a href="customize.php"><img src="images/theme.png?v={{=it.version}}" alt="{{=it.i18n.customizeTitle}}" /></a> | ||||||
|  |     </div> | ||||||
|  |     <div class="footright"> | ||||||
|  |         <a class="fancyabout" href="{{=it.abouturl}}"><img src="images/info.png?v={{=it.version}}" alt="{{=it.i18n.aboutTitle}}" /></a> | ||||||
|  |     </div> | ||||||
|  |     {{? it.isPaginated == 1}} | ||||||
|  |     <div class="footcenter"> | ||||||
|  |         {{? it.prevLink != ""}}<a id="prevLink" href="{{=it.prevLink}}" ><img src="images/previous.png?v={{=it.version}}" alt="{{=it.i18n.previousAlt}}" /></a>{{?}} | ||||||
|  |         <p> {{=it.currentPage}} / {{=it.maxPage}} </p> | ||||||
|  |         {{? it.nextLink != ""}}<a id="nextLink" href="{{=it.nextLink}}" ><img src="images/next.png?v={{=it.version}}" alt="{{=it.i18n.nextAlt}}" /></a>{{?}} | ||||||
|  |     </div> | ||||||
|  |     {{?}} | ||||||
|  | </footer> | ||||||
|  | @ -1,130 +0,0 @@ | ||||||
| <header> |  | ||||||
|     <a class="headleft" href="{{=it.homeurl}}"> |  | ||||||
|             <img src="images/home.png?v={{=it.version}}" alt="{{=it.i18n.homeAlt}}" /> |  | ||||||
|     </a> |  | ||||||
|     <img class="headright" id="searchImage" src="images/setting64.png?v={{=it.version}}" alt="Settings and menu" /> |  | ||||||
|     <div class="headcenter"> |  | ||||||
|         <h1>{{=it.title}}</h1> |  | ||||||
|     </div> |  | ||||||
|     <div id="tool"> |  | ||||||
|         <div style="float: left; width: 60%"> |  | ||||||
|             <form action="index.php" method="get"> |  | ||||||
|                 <div style="float: right"> |  | ||||||
|                     <input type="image" src="images/search32.png?v={{=it.version}}" alt="{{=it.i18n.searchAlt}}" /> |  | ||||||
|                 </div> |  | ||||||
|                 <div class="stop"> |  | ||||||
|                     <input type="hidden" name="current" value="{{=it.page}}" /> |  | ||||||
|                     <input type="hidden" name="page" value="9" /> |  | ||||||
|                     {{? it.databaseId != ""}} |  | ||||||
|                         <input type="hidden" name="db" value="{{=it.databaseId}}" /> |  | ||||||
|                     {{?}} |  | ||||||
|                     <input type="search" name="query" /> |  | ||||||
|                 </div> |  | ||||||
|             </form> |  | ||||||
|         </div> |  | ||||||
|     </div> |  | ||||||
| </header> |  | ||||||
| <section> |  | ||||||
| {{? it.page == 13}} |  | ||||||
|     <article class="bookpopup"> |  | ||||||
|         <span class="cover"> |  | ||||||
|             {{? it.book.hasCover == 1}} |  | ||||||
|             <a href="{{=it.book.coverurl}}"> |  | ||||||
|               <img src="{{=it.book.thumbnailurl}}" alt="{{=it.i18n.coverAlt}}" /> |  | ||||||
|             </a> |  | ||||||
|             {{?}} |  | ||||||
|         </span> |  | ||||||
|         <h2 class="download"> |  | ||||||
|             {{~it.book.datas:data:i}} |  | ||||||
|             <a href="{{=data.url}}">{{=data.format}}</a><br /> |  | ||||||
|             {{~}} |  | ||||||
|         </h2> |  | ||||||
|         <h1><a rel="bookmark" href="{{=it.book.detailurl}}"><img src="images/Link.png?v={{=it.version}}" alt="{{=it.i18n.permalinkAlt}}" /></a>{{=htmlEscape (it.title)}}</h1> |  | ||||||
|         <p class="popupless"> |  | ||||||
|             <h3>{{=it.i18n.authorsTitle}}: </h3> |  | ||||||
|             {{~it.book.authors:author:j}} |  | ||||||
|             {{? j > 0}}, {{?}}<a href="{{=author.url}}">{{=htmlEscape (author.name)}}</a> |  | ||||||
|             {{~}} |  | ||||||
|         </p> |  | ||||||
|         {{? it.book.tagsName != ""}} |  | ||||||
|         <p class="popupless"> |  | ||||||
|             <h3>{{=it.i18n.tagsTitle}}: </h3> |  | ||||||
|             {{~it.book.tags:tag:k}} |  | ||||||
|             {{? k > 0}}, {{?}}<a href="{{=tag.url}}">{{=htmlEscape (tag.name)}}</a> |  | ||||||
|             {{~}} |  | ||||||
|         </p> |  | ||||||
|         {{?}} |  | ||||||
|         {{? it.book.seriesName != ""}} |  | ||||||
|         <p class="popupless"> |  | ||||||
|             <h3><a href="{{=it.book.seriesurl}}">{{=it.i18n.seriesTitle}}</a> : </h3>{{=htmlEscape (it.book.seriesCompleteName)}} |  | ||||||
|         </p> |  | ||||||
|         {{?}} |  | ||||||
|         {{? it.book.pubDate != ""}} |  | ||||||
|         <p class="popupless"> |  | ||||||
|             <h3>{{=it.i18n.pubdateTitle}}: </h3>{{=it.book.pubDate}} |  | ||||||
|         </p> |  | ||||||
|         {{?}} |  | ||||||
|         {{? it.book.languagesName != ""}} |  | ||||||
|         <p class="popupless"> |  | ||||||
|             <h3>{{=it.i18n.languagesTitle}}: </h3>{{=it.book.languagesName}} |  | ||||||
|         </p> |  | ||||||
|         {{?}} |  | ||||||
|         {{? it.book.content != ""}} |  | ||||||
|         <br /> |  | ||||||
|         <h4>{{=it.i18n.contentTitle}}</h4> |  | ||||||
|         <div>{{=it.book.content}}</div> |  | ||||||
|         {{?}} |  | ||||||
|     </article> |  | ||||||
| {{??}} |  | ||||||
| {{~it.entries:entry:i}} |  | ||||||
|     {{? it.containsBook == 0}} |  | ||||||
|     <article> |  | ||||||
|         <div class="frontpage"> |  | ||||||
|             <a href="{{=entry.navlink}}"> |  | ||||||
|                 <h2>{{=htmlEscape (entry.title)}}</h2> |  | ||||||
|                 <h4>{{=entry.content}}</h4>  |  | ||||||
|             </a> |  | ||||||
|         </div> |  | ||||||
|     </article> |  | ||||||
|     {{??}} |  | ||||||
|     <article class="books"> |  | ||||||
|             <span class="cover"> |  | ||||||
|             {{? entry.book.hasCover == 1}} |  | ||||||
|                 <a data-fancybox-group="group" class="fancycover" href="{{=entry.coverurl}}"><img src="{{=entry.thumbnailurl}}" alt="{{=it.i18n.coverAlt}}" /></a> |  | ||||||
|             {{?}} |  | ||||||
|             </span> |  | ||||||
|             <h2 class="download"> |  | ||||||
|                 {{~entry.book.preferedData:data:j}} |  | ||||||
|                  <a href="{{=data.url}}">{{=data.name}}</a><br /> |  | ||||||
|                 {{~}} |  | ||||||
|             </h2> |  | ||||||
|             <a class="fancydetail" href="{{=entry.book.detailUrl}}"> |  | ||||||
|             <div class="fullclickpopup"> |  | ||||||
|                 <h2><span class="st">{{=htmlEscape (entry.title)}}</span> |  | ||||||
|                 {{? entry.book.pubDate != ""}}<span class="sp">({{=entry.book.pubDate}})</span>{{?}} |  | ||||||
|                 {{? entry.book.rating != ""}}<span class="sr">{{=entry.book.rating}}</span>{{?}} |  | ||||||
|                 </h2> |  | ||||||
|                 <h4>{{=it.i18n.authorsTitle}} : </h4><span class="sa">{{=htmlEscape (entry.book.authorsName)}}</span><br /> |  | ||||||
|                 {{? entry.book.tagsName != ""}}<h4>{{=it.i18n.tagsTitle}} : </h4>{{=htmlEscape (entry.book.tagsName)}}<br />{{?}} |  | ||||||
|                 {{? entry.book.seriesName != ""}}<h4>{{=it.i18n.seriesTitle}} : </h4>{{=htmlEscape (entry.book.seriesName)}}<br />{{?}} |  | ||||||
|             </div></a> |  | ||||||
|         </article> |  | ||||||
|     {{?}} |  | ||||||
| {{~}} |  | ||||||
| {{?}} |  | ||||||
| </section> |  | ||||||
| <footer> |  | ||||||
|     <div class="footleft"> |  | ||||||
|         <a href="customize.php"><img src="images/theme.png?v={{=it.version}}" alt="{{=it.i18n.customizeTitle}}" /></a> |  | ||||||
|     </div> |  | ||||||
|     <div class="footright"> |  | ||||||
|         <a class="fancyabout" href="{{=it.abouturl}}"><img src="images/info.png?v={{=it.version}}" alt="{{=it.i18n.aboutTitle}}" /></a> |  | ||||||
|     </div> |  | ||||||
|     {{? it.isPaginated == 1}} |  | ||||||
|     <div class="footcenter"> |  | ||||||
|         {{? it.prevLink != ""}}<a id="prevLink" href="{{=it.prevLink}}" ><img src="images/previous.png?v={{=it.version}}" alt="{{=it.i18n.previousAlt}}" /></a>{{?}} |  | ||||||
|         <p> {{=it.currentPage}} / {{=it.maxPage}} </p> |  | ||||||
|         {{? it.nextLink != ""}}<a id="nextLink" href="{{=it.nextLink}}" ><img src="images/next.png?v={{=it.version}}" alt="{{=it.i18n.nextAlt}}" /></a>{{?}} |  | ||||||
|     </div> |  | ||||||
|     {{?}} |  | ||||||
| </footer> |  | ||||||
							
								
								
									
										26
									
								
								templates/default/header.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								templates/default/header.html
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,26 @@ | ||||||
|  | <header> | ||||||
|  |     <a class="headleft" href="{{=it.homeurl}}"> | ||||||
|  |             <img src="images/home.png?v={{=it.version}}" alt="{{=it.i18n.homeAlt}}" /> | ||||||
|  |     </a> | ||||||
|  |     <img class="headright" id="searchImage" src="images/setting64.png?v={{=it.version}}" alt="Settings and menu" /> | ||||||
|  |     <div class="headcenter"> | ||||||
|  |         <h1>{{=it.title}}</h1> | ||||||
|  |     </div> | ||||||
|  |     <div id="tool"> | ||||||
|  |         <div style="float: left; width: 60%"> | ||||||
|  |             <form action="index.php" method="get"> | ||||||
|  |                 <div style="float: right"> | ||||||
|  |                     <input type="image" src="images/search32.png?v={{=it.version}}" alt="{{=it.i18n.searchAlt}}" /> | ||||||
|  |                 </div> | ||||||
|  |                 <div class="stop"> | ||||||
|  |                     <input type="hidden" name="current" value="{{=it.page}}" /> | ||||||
|  |                     <input type="hidden" name="page" value="9" /> | ||||||
|  |                     {{? it.databaseId != ""}} | ||||||
|  |                         <input type="hidden" name="db" value="{{=it.databaseId}}" /> | ||||||
|  |                     {{?}} | ||||||
|  |                     <input type="search" name="query" /> | ||||||
|  |                 </div> | ||||||
|  |             </form> | ||||||
|  |         </div> | ||||||
|  |     </div> | ||||||
|  | </header> | ||||||
							
								
								
									
										41
									
								
								templates/default/main.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								templates/default/main.html
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,41 @@ | ||||||
|  | <section> | ||||||
|  | {{? it.page == 13}} | ||||||
|  |     {{#def.bookdetail}} | ||||||
|  | {{??}} | ||||||
|  | {{~it.entries:entry:i}} | ||||||
|  |     {{? it.containsBook == 0}} | ||||||
|  |     <article> | ||||||
|  |         <div class="frontpage"> | ||||||
|  |             <a href="{{=entry.navlink}}"> | ||||||
|  |                 <h2>{{=htmlEscape (entry.title)}}</h2> | ||||||
|  |                 <h4>{{=entry.content}}</h4>  | ||||||
|  |             </a> | ||||||
|  |         </div> | ||||||
|  |     </article> | ||||||
|  |     {{??}} | ||||||
|  |     <article class="books"> | ||||||
|  |             <span class="cover"> | ||||||
|  |             {{? entry.book.hasCover == 1}} | ||||||
|  |                 <a data-fancybox-group="group" class="fancycover" href="{{=entry.coverurl}}"><img src="{{=entry.thumbnailurl}}" alt="{{=it.i18n.coverAlt}}" /></a> | ||||||
|  |             {{?}} | ||||||
|  |             </span> | ||||||
|  |             <h2 class="download"> | ||||||
|  |                 {{~entry.book.preferedData:data:j}} | ||||||
|  |                  <a href="{{=data.url}}">{{=data.name}}</a><br /> | ||||||
|  |                 {{~}} | ||||||
|  |             </h2> | ||||||
|  |             <a class="fancydetail" href="{{=entry.book.detailUrl}}"> | ||||||
|  |             <div class="fullclickpopup"> | ||||||
|  |                 <h2><span class="st">{{=htmlEscape (entry.title)}}</span> | ||||||
|  |                 {{? entry.book.pubDate != ""}}<span class="sp">({{=entry.book.pubDate}})</span>{{?}} | ||||||
|  |                 {{? entry.book.rating != ""}}<span class="sr">{{=entry.book.rating}}</span>{{?}} | ||||||
|  |                 </h2> | ||||||
|  |                 <h4>{{=it.i18n.authorsTitle}} : </h4><span class="sa">{{=htmlEscape (entry.book.authorsName)}}</span><br /> | ||||||
|  |                 {{? entry.book.tagsName != ""}}<h4>{{=it.i18n.tagsTitle}} : </h4>{{=htmlEscape (entry.book.tagsName)}}<br />{{?}} | ||||||
|  |                 {{? entry.book.seriesName != ""}}<h4>{{=it.i18n.seriesTitle}} : </h4>{{=htmlEscape (entry.book.seriesName)}}<br />{{?}} | ||||||
|  |             </div></a> | ||||||
|  |         </article> | ||||||
|  |     {{?}} | ||||||
|  | {{~}} | ||||||
|  | {{?}} | ||||||
|  | </section> | ||||||
							
								
								
									
										3
									
								
								templates/default/page.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								templates/default/page.html
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,3 @@ | ||||||
|  | {{#def.header}} | ||||||
|  | {{#def.main}} | ||||||
|  | {{#def.footer}} | ||||||
							
								
								
									
										4
									
								
								util.js
									
										
									
									
									
								
							
							
						
						
									
										4
									
								
								util.js
									
										
									
									
									
								
							|  | @ -1,4 +1,4 @@ | ||||||
| var template, templateBookDetail, result; | var templatePage, templateBookDetail, templateMain, result; | ||||||
| 
 | 
 | ||||||
| var isEink = /Kobo|Kindle|EBRD1101/i.test(navigator.userAgent); | var isEink = /Kobo|Kindle|EBRD1101/i.test(navigator.userAgent); | ||||||
| 
 | 
 | ||||||
|  | @ -32,7 +32,7 @@ function navigateTo (url) { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function updatePage (data) { | function updatePage (data) { | ||||||
|     result = template (data); |     result = templatePage (data); | ||||||
|     document.title = data.title; |     document.title = data.title; | ||||||
|     $(".container").html (result); |     $(".container").html (result); | ||||||
|      |      | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue