Draft code reorganisation (+ fix Alice rules + stateless VariantRules object)
[vchess.git] / views / layout.pug
index 10b1ae9..d894ff0 100644 (file)
@@ -1,29 +1,48 @@
 doctype html
-html(lang="fr")
+html
 
        head
                meta(charset="UTF-8")
                title vchess - #{title}
-               meta(name="viewport", content="width=device-width, initial-scale=1")
-               meta(name="msapplication-config", content="/images/favicon/browserconfig.xml")
-               meta(name="theme-color", content="#ffffff")
-               link(rel="stylesheet", href="//cdnjs.cloudflare.com/ajax/libs/mini.css/3.0.0/mini-default.min.css")
-               link(rel="stylesheet", href="//fonts.googleapis.com/css?family=Open+Sans:400,700")
-               link(rel="apple-touch-icon", sizes="180x180", href="/images/favicon/apple-touch-icon.png")
-               link(rel="icon", type="image/png", sizes="32x32", href="/images/favicon/favicon-32x32.png")
-               link(rel="icon", type="image/png", sizes="16x16", href="/images/favicon/favicon-16x16.png")
-               link(rel="manifest", href="/images/favicon/manifest.json")
-               link(rel="mask-icon", href="/images/favicon/safari-pinned-tab.svg", color="#5bbad5")
-               link(rel="shortcut icon", href="/images/favicon/favicon.ico")
-               link(rel="stylesheet", href="/stylesheets/layout.css")
+               meta(name="viewport" content="width=device-width, initial-scale=1")
+               meta(name="msapplication-config" content="/images/favicon/browserconfig.xml")
+               meta(name="theme-color" content="#ffffff")
+               link(rel="stylesheet"
+                       href="//cdnjs.cloudflare.com/ajax/libs/mini.css/3.0.0/mini-default.min.css")
+               link(rel="stylesheet" href="//fonts.googleapis.com/css?family=Open+Sans:400,700")
+               link(rel="apple-touch-icon" sizes="180x180"
+                       href="/images/favicon/apple-touch-icon.png")
+               link(rel="icon" type="image/png" sizes="32x32"
+                       href="/images/favicon/favicon-32x32.png")
+               link(rel="icon" type="image/png" sizes="16x16"
+                       href="/images/favicon/favicon-16x16.png")
+               link(rel="manifest" href="/images/favicon/manifest.json")
+               link(rel="mask-icon" href="/images/favicon/safari-pinned-tab.svg" color="#5bbad5")
+               link(rel="shortcut icon" href="/images/favicon/favicon.ico")
+               link(rel="stylesheet" href="/stylesheets/layout.css")
+               link(rel="stylesheet" href="//fonts.googleapis.com/icon?family=Material+Icons")
                block css
 
        body
 
                main
+                       include langNames
+                       case lang
+                               when "en"
+                                       include translations/en
+                               when "es"
+                                       include translations/es
+                               when "fr"
+                                       include translations/fr
+                       include settings
                        block content
 
                script(src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js")
-               script(src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js")
-               //script(src="https://cdn.jsdelivr.net/npm/vue") //prod
+               script(src="/javascripts/layout.js")
+               if development
+                       script(src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js")
+               else
+                       script(src="https://cdn.jsdelivr.net/npm/vue")
+               script.
+                       const translations = !{JSON.stringify(translations)};
                block javascripts