aboutsummaryrefslogtreecommitdiff
path: root/common.luax
diff options
context:
space:
mode:
authorStanisław Zagórowski <hasohasacz@gmail.com>2024-01-15 14:21:34 +0100
committerStanisław Zagórowski <hasohasacz@gmail.com>2024-01-15 14:21:34 +0100
commit63ea67e4c3c8caa2cf0dc6d7c940981bd40b3974 (patch)
tree9900794e80bd4413ceb4dad72cdfc3eeaf0d6c9b /common.luax
parentd5c0555775ac835f75246a17b5e6f3ddc353d82b (diff)
all: move out from luax/
Diffstat (limited to 'common.luax')
-rw-r--r--common.luax78
1 files changed, 78 insertions, 0 deletions
diff --git a/common.luax b/common.luax
new file mode 100644
index 0000000..ab29a02
--- /dev/null
+++ b/common.luax
@@ -0,0 +1,78 @@
+return function(props)
+ local use_cdn = reluax.dev_mode == false
+ local asset_prefix = use_cdn and "https://cdn.duckonaut.dev" or ""
+
+ local thumbnail = props.attrs.thumbnail or
+ asset_prefix .. "/assets/images/thumbnail.png"
+ local title = props.attrs.title or "duckonaut.dev"
+ local description = props.attrs.description or "duckonaut's stuff"
+ local stylesheelts = props.attrs.stylesheets or
+ { 'app.css',
+ 'index.css',
+ 'contact.css',
+ 'project.css',
+ 'navbar.css',
+ 'carousel.css',
+ 'blog.css'
+ }
+ local scripts = props.attrs.scripts or
+ { 'index.js' }
+
+ local style_tags = {}
+ for _, stylesheet in ipairs(stylesheelts) do
+ style_tags[#style_tags + 1] =
+ <link rel="stylesheet" href={asset_prefix .. "/assets/" .. stylesheet} />
+ end
+
+ local script_tags = {}
+ for _, script in ipairs(scripts) do
+ script_tags[#script_tags + 1] =
+ <script src={asset_prefix .. "/assets/" .. script}></script>
+ end
+
+ return <html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <link rel="icon" type="image/svg+xml" href={asset_prefix .. '/assets/images/favicon.svg'} />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <link rel="stylesheet"
+ href="//cdn.jsdelivr.net/npm/hack-font@3.3.0/build/web/hack-subset.css" />
+
+ <link rel="stylesheet"
+ type="text/css"
+ href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css" />
+ <link rel="stylesheet"
+ type="text/css"
+ href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick-theme.css" />
+
+ <script type="text/javascript"
+ src="https://code.jquery.com/jquery-1.11.0.min.js"></script>
+ <script type="text/javascript"
+ src="https://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
+ <script type="text/javascript"
+ src="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"></script>
+
+ <script type="text/javascript" src="https://rawgit.com/patriciogonzalezvivo/glslCanvas/master/dist/GlslCanvas.js"></script>
+
+ {$ script_tags $}
+
+ {$ style_tags $}
+
+ <meta property="og:image" content={thumbnail} />
+ <meta property="og:title" content={title} />
+ <meta property="og:description" content={description} />
+ <meta property="og:url" content="https://duckonaut.dev" />
+ <meta property="og:type" content="website" />
+ <meta name="theme-color" content="#9191ff" />
+ <meta name="twitter:card" content="summary_large_image" />
+ <meta name="twitter:site" content="@duckonaut" />
+ <meta name="twitter:creator" content="@duckonaut" />
+ <title>{$ title $}</title>
+</head>
+
+<body>
+ <div id="app">{$ props.children $}</div>
+</body>
+
+</html>
+end