- Introduced PageLoadTimeController to measure and display page load times. - Moved the footer content into a partial for better code organization. - Added 'bullet' gem for performance monitoring. This commit enhances the application by providing useful information about load time directly in the UI and refactoring the layout code for maintainability.
71 lines
2.3 KiB
Plaintext
71 lines
2.3 KiB
Plaintext
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<title><%= content_for(:title) || "Today Ai Weather" %></title>
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
<meta name="mobile-web-app-capable" content="yes">
|
|
<%= display_meta_tags(
|
|
site: 'TodayAIWeather',
|
|
reverse: true,
|
|
og: {
|
|
site_name: 'TodayAIWeather',
|
|
type: 'website',
|
|
url: request.original_url
|
|
},
|
|
alternate: {
|
|
"zh-CN" => url_for(locale: 'zh-CN'),
|
|
"en" => url_for(locale: 'en')
|
|
}
|
|
) %>
|
|
<%= csrf_meta_tags %>
|
|
<%= csp_meta_tag %>
|
|
|
|
<%= yield :head %>
|
|
|
|
<%# Enable PWA manifest for installable apps (make sure to enable in config/routes.rb too!) %>
|
|
<%#= tag.link rel: "manifest", href: pwa_manifest_path(format: :json) %>
|
|
|
|
<link rel="icon" href="/icon.png" type="image/png">
|
|
<link rel="icon" href="/icon.svg" type="image/svg+xml">
|
|
<link rel="apple-touch-icon" href="/icon.png">
|
|
|
|
<%# Includes all stylesheet files in app/assets/stylesheets %>
|
|
<%= javascript_include_tag "application", "data-turbo-track": "reload", type: "module" %>
|
|
<%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
|
|
<script defer data-domain="todayaiweather.com" src="https://plausible.frytea.com/js/script.js"></script>
|
|
|
|
<script defer src="https://busuanzi.frytea.com/js"></script>
|
|
|
|
<!-- Google tag (gtag.js) -->
|
|
<script async src="https://www.googletagmanager.com/gtag/js?id=G-PX1C92V5L7"></script>
|
|
<script>
|
|
window.dataLayer = window.dataLayer || [];
|
|
function gtag(){dataLayer.push(arguments);}
|
|
gtag('js', new Date());
|
|
|
|
gtag('config', 'G-PX1C92V5L7');
|
|
</script>
|
|
|
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7296634171837358"
|
|
crossorigin="anonymous"></script>
|
|
|
|
</head>
|
|
|
|
<body class="min-h-screen bg-base-100 font-sans">
|
|
<!-- 导航栏 -->
|
|
<%= render 'layouts/navbar' %> <!-- 使用局部渲染 -->
|
|
|
|
|
|
<!-- 主要内容 -->
|
|
<main class="pt-16 relative">
|
|
<%= render 'layouts/flash_message' %>
|
|
|
|
<%= yield %>
|
|
</main>
|
|
|
|
<%= render 'layouts/footer' %>
|
|
|
|
</body>
|
|
</html>
|