您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

110 行
3.9KB

  1. <!doctype html>
  2. <%
  3. Response.Charset = "utf-8"
  4. Response.CodePage = 65001
  5. ' Safe title resolution
  6. Dim pageTitle
  7. If IsObject(CurrentController) Then
  8. On Error Resume Next
  9. pageTitle = CurrentController.Title
  10. If Err.Number <> 0 Then
  11. pageTitle = "RouteKit Classic ASP"
  12. Err.Clear
  13. End If
  14. On Error GoTo 0
  15. End If
  16. If Len(pageTitle) = 0 Then pageTitle = "Classic ASP Starter Template"
  17. %>
  18. <html lang="en">
  19. <head>
  20. <meta charset="utf-8" />
  21. <title><%= pageTitle %></title>
  22. <meta name="viewport" content="width=device-width, initial-scale=1" />
  23. <!-- Bootstrap CSS -->
  24. <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" />
  25. <!-- Bootstrap Icons (optional) -->
  26. <link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css" rel="stylesheet" />
  27. <!-- App Fonts -->
  28. <link rel="preconnect" href="https://fonts.googleapis.com" />
  29. <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
  30. <link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Fraunces:opsz,wght@9..144,600&display=swap" rel="stylesheet" />
  31. <!-- App CSS -->
  32. <link href="/css/site.css" rel="stylesheet" />
  33. </head>
  34. <body>
  35. <!-- Top navbar -->
  36. <nav class="navbar navbar-expand-lg navbar-dark rk-topnav">
  37. <div class="container-fluid">
  38. <a class="navbar-brand rk-navbar-brand" href="/">
  39. RouteKit
  40. <span class="small">Classic ASP</span>
  41. </a>
  42. <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#rkMainNav" aria-controls="rkMainNav" aria-expanded="false" aria-label="Toggle navigation">
  43. <span class="navbar-toggler-icon"></span>
  44. </button>
  45. <div class="collapse navbar-collapse" id="rkMainNav">
  46. <ul class="navbar-nav me-auto mb-2 mb-lg-0">
  47. <li class="nav-item">
  48. <a class="nav-link <%= Active("home") %>" href="/home">Home</a>
  49. </li>
  50. <li class="nav-item">
  51. <a class="nav-link <%= Active("boards") %>" href="/boards">Boards</a>
  52. </li>
  53. </ul>
  54. <%
  55. If KeycloakIsLoggedIn() Then
  56. Dim currentUser, displayName
  57. Set currentUser = KeycloakCurrentUser()
  58. displayName = ""
  59. If Not currentUser Is Nothing Then
  60. On Error Resume Next
  61. displayName = CStr(currentUser.Item("preferred_username"))
  62. If Err.Number <> 0 Then
  63. displayName = ""
  64. Err.Clear
  65. End If
  66. If Len(displayName) = 0 Then
  67. displayName = CStr(currentUser.Item("email"))
  68. If Err.Number <> 0 Then
  69. displayName = ""
  70. Err.Clear
  71. End If
  72. End If
  73. On Error GoTo 0
  74. End If
  75. If Len(displayName) = 0 Then displayName = "User"
  76. %>
  77. <ul class="navbar-nav mb-2 mb-lg-0">
  78. <li class="nav-item dropdown">
  79. <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
  80. <i class="bi bi-person-circle me-1"></i><%= Server.HTMLEncode(displayName) %>
  81. </a>
  82. <ul class="dropdown-menu dropdown-menu-end">
  83. <li><a class="dropdown-item" href="/auth/logout"><i class="bi bi-box-arrow-right me-1"></i>Sign Out</a></li>
  84. </ul>
  85. </li>
  86. </ul>
  87. <% Else %>
  88. <ul class="navbar-nav mb-2 mb-lg-0">
  89. <li class="nav-item">
  90. <a class="nav-link" href="/auth/login"><i class="bi bi-box-arrow-in-right me-1"></i>Sign In</a>
  91. </li>
  92. </ul>
  93. <% End If %>
  94. </div>
  95. </div>
  96. </nav>
  97. <!-- Main container for views -->
  98. <main class="routekit-main">
  99. <div class="container">
  100. <% Flash().ShowErrorsIfPresent : Flash().ShowSuccessIfPresent %>

Powered by TurnKey Linux.