Permalink
Browse files

Merge branch 'newserver'

  • Loading branch information...
2 parents 60e6545 + e63f0f4 commit a1daeb72f6957584c195665b73f7ed4290e23974 @ebidel ebidel committed Sep 7, 2012
Showing with 439 additions and 374 deletions.
  1. +30 −11 app.yaml
  2. +0 −16 common.py
  3. +1 −1 content/mobile/debugging/en/index.html
  4. +1 −1 content/mobile/mobifying/en/index.html
  5. +1 −1 content/mobile/nativedebate/en/index.html
  6. +1 −1 content/mobile/optimization-and-performance/en/index.html
  7. +1 −0 content/mobile/responsivedesign/en/index.html
  8. +1 −1 content/mobile/touch/de/index.html
  9. +1 −1 content/mobile/touch/en/index.html
  10. +1 −1 content/mobile/touch/es/index.html
  11. +1 −1 content/mobile/touch/fr/index.html
  12. +1 −1 content/mobile/touch/ja/index.html
  13. +1 −1 content/mobile/touch/pt/index.html
  14. +1 −1 content/mobile/touch/ru/index.html
  15. +1 −1 content/mobile/touch/zh/index.html
  16. +1 −1 content/mobile/workingoffthegrid/en/index.html
  17. +1 −1 content/tutorials/3d/css/en/index.html
  18. +1 −1 content/tutorials/appcache/beginner/de/index.html
  19. +1 −1 content/tutorials/appcache/beginner/es/index.html
  20. +1 −1 content/tutorials/appcache/beginner/ja/index.html
  21. +1 −1 content/tutorials/appcache/beginner/pt/index.html
  22. +1 −1 content/tutorials/appcache/beginner/ru/index.html
  23. +1 −1 content/tutorials/appcache/beginner/zh/index.html
  24. +1 −1 content/tutorials/audio/quick/en/index.html
  25. +1 −1 content/tutorials/canvas/imagefilters/en/index.html
  26. +1 −1 content/tutorials/canvas/notearsgame/en/index.html
  27. +1 −1 content/tutorials/canvas/performance/de/index.html
  28. +1 −1 content/tutorials/canvas/performance/en/header.html
  29. +1 −1 content/tutorials/canvas/performance/en/index.html
  30. +1 −1 content/tutorials/canvas/performance/es/index.html
  31. +1 −1 content/tutorials/canvas/performance/ja/index.html
  32. +1 −1 content/tutorials/canvas/performance/pt/index.html
  33. +1 −1 content/tutorials/canvas/performance/ru/index.html
  34. +1 −1 content/tutorials/canvas/performance/zh/index.html
  35. +1 −1 content/tutorials/canvas/texteffects/de/index.html
  36. +1 −1 content/tutorials/canvas/texteffects/en/index.html
  37. +1 −1 content/tutorials/canvas/texteffects/es/index.html
  38. +1 −1 content/tutorials/canvas/texteffects/ja/index.html
  39. +1 −1 content/tutorials/canvas/texteffects/pt/index.html
  40. +1 −1 content/tutorials/canvas/texteffects/ru/index.html
  41. +1 −1 content/tutorials/canvas/texteffects/zh/index.html
  42. +2 −2 content/tutorials/casestudies/20things_pageflip/de/index.html
  43. +2 −2 content/tutorials/casestudies/20things_pageflip/es/index.html
  44. +2 −2 content/tutorials/casestudies/20things_pageflip/ja/index.html
  45. +2 −2 content/tutorials/casestudies/20things_pageflip/pt/index.html
  46. +2 −2 content/tutorials/casestudies/20things_pageflip/ru/index.html
  47. +2 −2 content/tutorials/casestudies/20things_pageflip/zh/index.html
  48. +1 −1 content/tutorials/detection/en/index.html
  49. +1 −1 content/tutorials/developertools/auditpanel/en/index.html
  50. +1 −1 content/tutorials/developertools/part1/en/index.html
  51. +1 −1 content/tutorials/developertools/sourcemaps/en/index.html
  52. +1 −1 content/tutorials/device/orientation/en/index.html
  53. +1 −1 content/tutorials/dnd/cases/en/index.html
  54. +1 −1 content/tutorials/eventsource/basics/en/index.html
  55. +1 −1 content/tutorials/file/dndfiles/de/index.html
  56. +1 −1 content/tutorials/file/dndfiles/en/index.html
  57. +1 −1 content/tutorials/file/dndfiles/es/index.html
  58. +1 −1 content/tutorials/file/dndfiles/ja/index.html
  59. +1 −1 content/tutorials/file/dndfiles/pt/index.html
  60. +1 −1 content/tutorials/file/dndfiles/ru/index.html
  61. +1 −1 content/tutorials/file/dndfiles/zh/index.html
  62. +1 −1 content/tutorials/file/filesystem/de/index.html
  63. +1 −1 content/tutorials/file/filesystem/es/index.html
  64. +1 −1 content/tutorials/file/filesystem/ja/index.html
  65. +1 −1 content/tutorials/file/filesystem/pt/index.html
  66. +1 −1 content/tutorials/file/filesystem/ru/index.html
  67. +1 −1 content/tutorials/file/filesystem/zh/index.html
  68. +1 −1 content/tutorials/file/xhr2/de/index.html
  69. +1 −1 content/tutorials/file/xhr2/en/index.html
  70. +1 −1 content/tutorials/file/xhr2/es/index.html
  71. +1 −1 content/tutorials/file/xhr2/ja/index.html
  72. +1 −1 content/tutorials/file/xhr2/pt/index.html
  73. +1 −1 content/tutorials/file/xhr2/ru/index.html
  74. +1 −1 content/tutorials/file/xhr2/zh/index.html
  75. +9 −7 content/tutorials/filters/understanding-css/en/index.html
  76. +1 −1 content/tutorials/flexbox/quick/de/index.html
  77. +1 −1 content/tutorials/flexbox/quick/en/index.html
  78. +1 −1 content/tutorials/flexbox/quick/es/index.html
  79. +1 −1 content/tutorials/flexbox/quick/ja/index.html
  80. +1 −1 content/tutorials/flexbox/quick/pt/index.html
  81. +1 −1 content/tutorials/flexbox/quick/ru/index.html
  82. +1 −1 content/tutorials/flexbox/quick/zh/index.html
  83. +1 −1 content/tutorials/forms/html5forms/de/index.html
  84. +1 −1 content/tutorials/forms/html5forms/en/index.html
  85. +1 −1 content/tutorials/forms/html5forms/es/index.html
  86. +1 −1 content/tutorials/forms/html5forms/ja/index.html
  87. +1 −1 content/tutorials/forms/html5forms/pt/index.html
  88. +1 −1 content/tutorials/forms/html5forms/ru/index.html
  89. +1 −1 content/tutorials/forms/html5forms/zh/index.html
  90. +1 −1 content/tutorials/games/assetmanager/en/index.html
  91. +1 −1 content/tutorials/geolocation/trip_meter/en/index.html
  92. +1 −0 content/tutorials/getusermedia/intro/en/header.html
  93. +1 −0 content/tutorials/getusermedia/intro/en/index.html
  94. +1 −1 content/tutorials/google-chrome-frame/en/index.html
  95. +7 −4 content/tutorials/indexeddb/uidatabinding/en/index.html
  96. +1 −1 content/tutorials/internals/howbrowserswork/de/index.html
  97. +1 −1 content/tutorials/internals/howbrowserswork/es/index.html
  98. +1 −1 content/tutorials/internals/howbrowserswork/ja/index.html
  99. +1 −1 content/tutorials/internals/howbrowserswork/pt/index.html
  100. +1 −1 content/tutorials/internals/howbrowserswork/ru/index.html
  101. +1 −1 content/tutorials/internals/howbrowserswork/zh/index.html
  102. +1 −1 content/tutorials/notifications/quick/en/index.html
  103. +1 −1 content/tutorials/offline/storage/en/index.html
  104. +1 −1 content/tutorials/offline/takingappoffline/en/index.html
  105. +1 −1 content/tutorials/offline/whats-offline/en/index.html
  106. +1 −1 content/tutorials/raphael/intro/en/index.html
  107. +1 −0 content/tutorials/regions/adobe/en/header.html
  108. +1 −0 content/tutorials/regions/adobe/en/index.html
  109. +1 −1 content/tutorials/speed/html5/en/index.html
  110. +1 −1 content/tutorials/speed/quick/en/index.html
  111. +1 −1 content/tutorials/three/intro/en/index.html
  112. +1 −1 content/tutorials/video/basics/de/index.html
  113. +1 −1 content/tutorials/video/basics/en/index.html
  114. +1 −1 content/tutorials/video/basics/es/index.html
  115. +1 −1 content/tutorials/video/basics/ja/index.html
  116. +1 −1 content/tutorials/video/basics/pt/index.html
  117. +1 −1 content/tutorials/video/basics/ru/index.html
  118. +1 −1 content/tutorials/video/basics/zh/index.html
  119. +1 −1 content/tutorials/webaudio/intro/en/header.html
  120. +1 −1 content/tutorials/webaudio/intro/en/index.html
  121. +1 −1 content/tutorials/webfonts/quick/en/index.html
  122. +1 −1 content/tutorials/webgl/demoloop/en/index.html
  123. +1 −1 content/tutorials/webgl/shaders/en/index.html
  124. +1 −1 content/tutorials/webperformance/basics/en/index.html
  125. +1 −1 content/tutorials/websockets/basics/de/index.html
  126. +1 −1 content/tutorials/websockets/basics/es/index.html
  127. +1 −1 content/tutorials/websockets/basics/ja/index.html
  128. +1 −1 content/tutorials/websockets/basics/pt/index.html
  129. +1 −1 content/tutorials/websockets/basics/ru/index.html
  130. +1 −1 content/tutorials/websockets/basics/zh/index.html
  131. +1 −1 content/tutorials/workers/basics/de/index.html
  132. +1 −1 content/tutorials/workers/basics/en/index.html
  133. +1 −1 content/tutorials/workers/basics/es/index.html
  134. +1 −1 content/tutorials/workers/basics/ja/index.html
  135. +1 −1 content/tutorials/workers/basics/pt/index.html
  136. +1 −1 content/tutorials/workers/basics/ru/index.html
  137. +1 −1 content/tutorials/workers/basics/zh/index.html
  138. 0 {templatetags → customtags}/__init__.py
  139. 0 customtags/templatetags/__init__.py
  140. +16 −25 { → customtags}/templatetags/templatefilters.py
  141. 0 { → customtags}/templatetags/verbatim.py
  142. +5 −0 database/author_new.html
  143. +5 −0 database/live.html
  144. +7 −2 database/resource_new.html
  145. +1 −1 database/tutorials.yaml
  146. +0 −22 django_settings.py
  147. +8 −13 echo.py
  148. +85 −77 main.py
  149. +51 −38 models.py
  150. +42 −0 settings.py
  151. +32 −23 static/css/base.css
  152. +0 −1 templates/base.html
  153. +2 −0 templates/tutorial.html
View
@@ -1,9 +1,17 @@
application: html5rocks-hrd
-version: master
-runtime: python
+version: newserver
+runtime: python27
+threadsafe: yes
api_version: 1
-default_expiration: "30d"
+env_variables:
+ DJANGO_SETTINGS_MODULE: 'settings'
+
+libraries:
+- name: webapp2
+ version: "latest"
+- name: django
+ version: "latest" #version: "1.3"
inbound_services:
- warmup
@@ -16,6 +24,8 @@ pagespeed:
- ImageAddDimensions
- RemoveComments
+default_expiration: "30d"
+
handlers:
- url: /google75906d613a2a09ba.html
@@ -174,20 +184,29 @@ handlers:
static_files: static/robots.txt
upload: static/robots.txt
-- url: /database/live
- script: main.py
- login: required
-
- url: /database/.*
- script: main.py
+ script: main.app
login: admin
- url: /admin/.*
- script: $PYTHON_LIB/google/appengine/ext/admin
+ script: google.appengine.ext.admin.application
login: admin
- url: /echoserver
- script: echo.py
+ script: echo.app
- url: .*
- script: main.py
+ script: main.app
+
+
+skip_files:
+- ^(.*/)?app\.yaml
+- ^(.*/)?app\.yml
+- ^(.*/)?index\.yaml
+- ^(.*/)?index\.yml
+- ^(.*/)?.*~
+- ^(.*/)?.*\.py[co]
+- ^(.*/)?.*/RCS/.*
+- ^(.*/)?\..*
+- ^(.*/)?.*\.scss$
+- ^(.*/)?.*\.psd$
View
@@ -1,16 +0,0 @@
-import os
-
-if 'SERVER_SOFTWARE' in os.environ:
- PROD = not os.environ['SERVER_SOFTWARE'].startswith('Development')
-else:
- PROD = True
-
-APP_VERSION = os.environ['CURRENT_VERSION_ID'].split('.')[0]
-
-MEMCACHE_KEY_PREFIX = 'newscheme' #APP_VERSION
-MAX_FETCH_LIMIT = 1000
-
-# Users whitelisted to access certain sections the site.
-WHITELISTED_USERS = [
- 'chrome.devrel@gmail.com'
-]
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Eric Bidelman <ericbidelman@chromium.org>{% endblock %}
-{% block pageauthor %}{% profilelinks ericbidelman %}{% endblock %}
+
{% block headtitle %}Debugging Mobile HTML5 Apps{% endblock %}
{% block pagetitle %}Debugging Mobile HTML5 Apps{% endblock %}
{% block pagebreadcrumb %}Debugging Mobile HTML5 Apps{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Eric Bidelman <e.bidelman@chromium.org>{% endblock %}
-{% block pageauthor %}{% profilelinks ericbidelman %}{% endblock %}
+
{% block headtitle %}"Mobifying" Your HTML5 Site{% endblock %}
{% block pagetitle %}"Mobifying" Your HTML5 Site{% endblock %}
{% block pagebreadcrumb %}"Mobifying" Your HTML5 Site{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Michael Mahemoff <mahemoff@google.com>{% endblock %}
-{% block pageauthor %}{% profilelinks mahemoff %}{% endblock %}
+
{% block headtitle %}HTML5 vs Native: The Mobile App Debate{% endblock %}
{% block pagetitle %}HTML5 vs Native: The Mobile App Debate{% endblock %}
{% block pagebreadcrumb %}HTML5 vs Native: The Mobile App Debate{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Wesley Hales <wesleyhales@gmail.com>{% endblock %}
-{% block pageauthor %}{% profilelinks wesleyhales %}{% endblock %}
+
{% block headtitle %}HTML5 Techniques for Optimizing Mobile Performance{% endblock %}
{% block pagetitle %}HTML5 Techniques for Optimizing Mobile Performance{% endblock %}
{% block head %}
@@ -1,4 +1,5 @@
{% extends "tutorial.html" %}
+{% load mixin from templatefilters %}
{% block pagebreadcrumb %}Creating a Mobile-First Responsive Web Design{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Boris Smus <smus@chromium.org>{% endblock %}
-{% block pageauthor %}{% profilelinks smus %}{% endblock %}
+
{% block headtitle %}Entwicklung für Multi-Touch-Webbrowser{% endblock %}
{% block pagetitle %}Entwicklung für Multi-Touch-Webbrowser{% endblock %}
{% block pagebreadcrumb %}Entwicklung für Multi-Touch-Webbrowser{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Boris Smus <smus@chromium.org>{% endblock %}
-{% block pageauthor %}{% profilelinks smus %}{% endblock %}
+
{% block headtitle %}Developing for Multi-Touch Web Browsers{% endblock %}
{% block pagetitle %}Developing for Multi-Touch Web Browsers{% endblock %}
{% block pagebreadcrumb %}Developing for Multi-Touch Web Browsers{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Boris Smus <smus@chromium.org>{% endblock %}
-{% block pageauthor %}{% profilelinks smus %}{% endblock %}
+
{% block headtitle %}Información para desarrolladores de navegadores web con tecnología Multitouch{% endblock %}
{% block pagetitle %}Información para desarrolladores de navegadores web con tecnología Multitouch{% endblock %}
{% block pagebreadcrumb %}Información para desarrolladores de navegadores web con tecnología Multitouch{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Boris Smus <smus@chromium.org>{% endblock %}
-{% block pageauthor %}{% profilelinks smus %}{% endblock %}
+
{% block headtitle %}Developing for Multi-Touch Web Browsers{% endblock %}
{% block pagetitle %}Developing for Multi-Touch Web Browsers{% endblock %}
{% block pagebreadcrumb %}Developing for Multi-Touch Web Browsers{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Boris Smus <smus@chromium.org>{% endblock %}
-{% block pageauthor %}{% profilelinks smus %}{% endblock %}
+
{% block headtitle %}マルチタッチ ウェブブラウザ向けの開発{% endblock %}
{% block pagetitle %}マルチタッチ ウェブブラウザ向けの開発{% endblock %}
{% block pagebreadcrumb %}マルチタッチ ウェブブラウザ向けの開発{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Boris Smus <smus@chromium.org>{% endblock %}
-{% block pageauthor %}{% profilelinks smus %}{% endblock %}
+
{% block headtitle %}Como desenvolver para navegadores da web multitoque{% endblock %}
{% block pagetitle %}Como desenvolver para navegadores da web multitoque{% endblock %}
{% block pagebreadcrumb %}Como desenvolver para navegadores da web multitoque{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Boris Smus <smus@chromium.org>{% endblock %}
-{% block pageauthor %}{% profilelinks smus %}{% endblock %}
+
{% block headtitle %}Developing for Multi-Touch Web Browsers{% endblock %}
{% block pagetitle %}Developing for Multi-Touch Web Browsers{% endblock %}
{% block pagebreadcrumb %}Developing for Multi-Touch Web Browsers{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}波利斯·萨姆斯 (Boris Smus) <smus@chromium.org>{% endblock %}
-{% block pageauthor %}{% profilelinks smus %}{% endblock %}
+
{% block headtitle %}针对多点触控网络浏览器的开发{% endblock %}
{% block pagetitle %}针对多点触控网络浏览器的开发{% endblock %}
{% block pagebreadcrumb %}针对多点触控网络浏览器的开发{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Paul Kinlan{% endblock %}
-{% block pageauthor %}{% profilelinks paulkinlan %}{% endblock %}
+
{% block headtitle %}Working Off the Grid with HTML5 Offline{% endblock %}
{% block pagetitle %}Working Off the Grid with HTML5 Offline{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Paul Kinlan <paulkinlan@google.com>{% endblock %}
-{% block pageauthor %}{% profilelinks paulkinlan %}{% endblock %}
+
{% block headtitle %}3D and CSS{% endblock %}
{% block pagetitle %}3D and CSS{% endblock %}
{% block pagebreadcrumb %}3D and CSS{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Eric Bidelman <e.bidelman@chromium.org>{% endblock %}
-{% block pageauthor %}{% profilelinks ericbidelman %}{% endblock %}
+
{% block headtitle %}Startleitfaden für den Anwendungscache{% endblock %}
{% block pagetitle %}Startleitfaden für den Anwendungscache{% endblock %}
{% block pagebreadcrumb %}Startleitfaden für den Anwendungscache{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Eric Bidelman <e.bidelman@chromium.org>{% endblock %}
-{% block pageauthor %}{% profilelinks ericbidelman %}{% endblock %}
+
{% block headtitle %}A Beginner's Guide to Using the Application Cache{% endblock %}
{% block pagetitle %}A Beginner's Guide to Using the Application Cache{% endblock %}
{% block pagebreadcrumb %}A Beginner's Guide to Using the Application Cache{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Eric Bidelman <e.bidelman@chromium.org>{% endblock %}
-{% block pageauthor %}{% profilelinks ericbidelman %}{% endblock %}
+
{% block headtitle %}アプリケーション キャッシュ初心者ガイド{% endblock %}
{% block pagetitle %}アプリケーション キャッシュ初心者ガイド{% endblock %}
{% block pagebreadcrumb %}アプリケーション キャッシュ初心者ガイド{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Eric Bidelman <e.bidelman@chromium.org>{% endblock %}
-{% block pageauthor %}{% profilelinks ericbidelman %}{% endblock %}
+
{% block headtitle %}Guia Básico sobre o uso do Cache do Aplicativo{% endblock %}
{% block pagetitle %}Guia Básico sobre o uso do Cache do Aplicativo{% endblock %}
{% block pagebreadcrumb %}Guia Básico sobre o uso do Cache do Aplicativo{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Eric Bidelman <e.bidelman@chromium.org>{% endblock %}
-{% block pageauthor %}{% profilelinks ericbidelman %}{% endblock %}
+
{% block headtitle %}A Beginner's Guide to Using the Application Cache{% endblock %}
{% block pagetitle %}A Beginner's Guide to Using the Application Cache{% endblock %}
{% block pagebreadcrumb %}A Beginner's Guide to Using the Application Cache{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}埃里克·比德尔曼 (Eric Bidelman) <e.bidelman@chromium.org>{% endblock %}
-{% block pageauthor %}{% profilelinks ericbidelman %}{% endblock %}
+
{% block headtitle %}应用缓存初级使用指南{% endblock %}
{% block pagetitle %}应用缓存初级使用指南{% endblock %}
{% block pagebreadcrumb %}应用缓存初级使用指南{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Ernest Delgado{% endblock %}
-{% block pageauthor %}{% profilelinks ernestd %}{% endblock %}
+
{% block credits %}
* Credits:
* - flash mp3 player from http://flash-mp3-player.net/
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Ilmari Heikkinen <ilmari@google.com>{% endblock %}
-{% block pageauthor %}{% profilelinks ilmari %}{% endblock %}
+
{% block headtitle %}Making Image Filters with Canvas{% endblock %}
{% block pagetitle %}Making Image Filters with Canvas{% endblock %}
{% block head %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Daniel Moore{% endblock %}
-{% block pageauthor %}{% profilelinks danielmoore %}{% endblock %}
+
{% block headtitle %}No Tears Guide to HTML5 Games{% endblock %}
{% block pagetitle %}No Tears Guide to HTML5 Games{% endblock %}
{% block pagebreadcrumb %}No Tears Guide to HTML5 Games{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Boris Smus{% endblock %}
-{% block pageauthor %}{% profilelinks smus %}{% endblock %}
+
{% block headtitle %}Leistungsverbesserung des HTML5-Canvas{% endblock %}
{% block pagetitle %}Leistungsverbesserung des HTML5-Canvas{% endblock %}
{% block pagebreadcrumb %}Leistungsverbesserung des HTML5-Canvas{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Boris Smus{% endblock %}
-{% block pageauthor %}{% profilelinks smus %}{% endblock %}
+
{% block headtitle %}Improving HTML5 Canvas Performance{% endblock %}
{% block pagetitle %}Improving HTML5 Canvas Performance{% endblock %}
{% block pagebreadcrumb %}Improving HTML5 Canvas Performance{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Boris Smus{% endblock %}
-{% block pageauthor %}{% profilelinks smus %}{% endblock %}
+
{% block headtitle %}Improving HTML5 Canvas Performance{% endblock %}
{% block pagetitle %}Improving HTML5 Canvas Performance{% endblock %}
{% block pagebreadcrumb %}Improving HTML5 Canvas Performance{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Boris Smus{% endblock %}
-{% block pageauthor %}{% profilelinks smus %}{% endblock %}
+
{% block headtitle %}Improving HTML5 Canvas Performance{% endblock %}
{% block pagetitle %}Improving HTML5 Canvas Performance{% endblock %}
{% block pagebreadcrumb %}Improving HTML5 Canvas Performance{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Boris Smus{% endblock %}
-{% block pageauthor %}{% profilelinks smus %}{% endblock %}
+
{% block headtitle %}HTML5 canvas のパフォーマンスを向上させる{% endblock %}
{% block pagetitle %}HTML5 canvas のパフォーマンスを向上させる{% endblock %}
{% block pagebreadcrumb %}HTML5 canvas のパフォーマンスを向上させる{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Boris Smus{% endblock %}
-{% block pageauthor %}{% profilelinks smus %}{% endblock %}
+
{% block headtitle %}Melhoria do desempenho do canvas em HTML5{% endblock %}
{% block pagetitle %}Melhoria do desempenho do canvas em HTML5{% endblock %}
{% block pagebreadcrumb %}Melhoria do desempenho do canvas em HTML5{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Boris Smus{% endblock %}
-{% block pageauthor %}{% profilelinks smus %}{% endblock %}
+
{% block headtitle %}Improving HTML5 Canvas Performance{% endblock %}
{% block pagetitle %}Improving HTML5 Canvas Performance{% endblock %}
{% block pagebreadcrumb %}Improving HTML5 Canvas Performance{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}波利斯·萨姆斯 (Boris Smus){% endblock %}
-{% block pageauthor %}{% profilelinks smus %}{% endblock %}
+
{% block headtitle %}提高 HTML5 画布性能{% endblock %}
{% block pagetitle %}提高 HTML5 画布性能{% endblock %}
{% block pagebreadcrumb %}提高 HTML5 画布性能{% endblock %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Michael Deal <mudcube@gmail.com>{% endblock %}
-{% block pageauthor %}{% profilelinks mdeal %}{% endblock %}
+
{% block headtitle %}Typografische Effekte in Canvas{% endblock %}
{% block pagetitle %}Typografische Effekte in Canvas{% endblock %}
{% block head %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Michael Deal <mudcube@gmail.com>{% endblock %}
-{% block pageauthor %}{% profilelinks mdeal %}{% endblock %}
+
{% block headtitle %}Typographic effects in canvas{% endblock %}
{% block pagetitle %}Typographic effects in canvas{% endblock %}
{% block head %}
@@ -1,7 +1,7 @@
{% extends "tutorial.html" %}
{% block headauthor %}Michael Deal <mudcube@gmail.com>{% endblock %}
-{% block pageauthor %}{% profilelinks mdeal %}{% endblock %}
+
{% block headtitle %}Typographic effects in canvas{% endblock %}
{% block pagetitle %}Typographic effects in canvas{% endblock %}
{% block head %}
Oops, something went wrong.

0 comments on commit a1daeb7

Please sign in to comment.