This is an automated email from the ASF dual-hosted git repository.

shuai pushed a commit to branch ui-optimization
in repository https://gitbox.apache.org/repos/asf/answer.git

commit 105cd37dfe7af2e0090bf707330129b28e28260c
Author: shuai <[email protected]>
AuthorDate: Mon Apr 7 11:44:34 2025 +0800

    fix: update seo template for footer template
---
 cmd/wire_gen.go                             |  24 +-
 docs/docs.go                                |  19 --
 docs/swagger.yaml                           |  17 --
 internal/service/mock/siteinfo_repo_mock.go |  19 --
 ui/template/footer.html                     |  34 ++-
 ui/template/header.html                     |   3 +-
 ui/template/question.html                   | 164 +++++-----
 ui/test.html                                | 443 ++++++++++++++++++++++++++++
 8 files changed, 547 insertions(+), 176 deletions(-)

diff --git a/cmd/wire_gen.go b/cmd/wire_gen.go
index 702f60df..3ad59130 100644
--- a/cmd/wire_gen.go
+++ b/cmd/wire_gen.go
@@ -1,28 +1,8 @@
-//go:build !wireinject
-// +build !wireinject
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
 // Code generated by Wire. DO NOT EDIT.
 
 //go:generate go run github.com/google/wire/cmd/wire
+//go:build !wireinject
+// +build !wireinject
 
 package answercmd
 
diff --git a/docs/docs.go b/docs/docs.go
index 2fb46904..34f87f2b 100644
--- a/docs/docs.go
+++ b/docs/docs.go
@@ -1,22 +1,3 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
 // Package docs Code generated by swaggo/swag. DO NOT EDIT
 package docs
 
diff --git a/docs/swagger.yaml b/docs/swagger.yaml
index 16c5cfbb..bc0df88b 100644
--- a/docs/swagger.yaml
+++ b/docs/swagger.yaml
@@ -1,20 +1,3 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
 basePath: /
 definitions:
   constant.NotificationChannelKey:
diff --git a/internal/service/mock/siteinfo_repo_mock.go 
b/internal/service/mock/siteinfo_repo_mock.go
index 1b841278..7f6d89eb 100644
--- a/internal/service/mock/siteinfo_repo_mock.go
+++ b/internal/service/mock/siteinfo_repo_mock.go
@@ -1,22 +1,3 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
 // Code generated by MockGen. DO NOT EDIT.
 // Source: ./siteinfo_service.go
 //
diff --git a/ui/template/footer.html b/ui/template/footer.html
index a72db38c..c5e97736 100644
--- a/ui/template/footer.html
+++ b/ui/template/footer.html
@@ -19,23 +19,25 @@
 
 -->
 {{define "footer"}}
-</div>
-  <footer class="py-3 bg-light w-100">
-    <p class="text-center mb-0 small">
-      <a class="me-3" href="{{$.baseURL}}/tos" data-discover="true">
-        {{translator $.language "ui.admin.legal.terms_of_service.label"}}
-      </a>
-      <a href="{{$.baseURL}}/privacy" data-discover="true">
-        {{translator $.language "ui.admin.legal.privacy_policy.label"}}
-      </a>
-    </p>
-    <p class="text-center mb-0 small text-secondary">
-      {{$cc := (join " " .siteinfo.Year .siteinfo.General.Name) -}}
-      {{- $ft := translator $.language "ui.footer.build_on" "cc" $cc -}}
-      {{templateHTML (replaceHTMLTag $ft "<a 
href=\"https://answer.apache.org/\"; target=\"_blank\"> Answer </a>")}}
-    </p>
-  </footer>
+        <footer class="py-3 bg-light w-100">
+          <p class="text-center mb-0 small">
+            <a class="me-3" href="{{$.baseURL}}/tos" data-discover="true">
+              {{translator $.language "ui.admin.legal.terms_of_service.label"}}
+            </a>
+            <a href="{{$.baseURL}}/privacy" data-discover="true">
+              {{translator $.language "ui.admin.legal.privacy_policy.label"}}
+            </a>
+          </p>
+          <p class="text-center mb-0 small text-secondary">
+            {{$cc := (join " " .siteinfo.Year .siteinfo.General.Name) -}}
+            {{- $ft := translator $.language "ui.footer.build_on" "cc" $cc -}}
+            {{templateHTML (replaceHTMLTag $ft "<a 
href=\"https://answer.apache.org/\"; target=\"_blank\"> Answer </a>")}}
+          </p>
+        </footer>
+      </div>
     </div>
+  </div>
+</div>
 <!--customize_footer-->
 {{if .FooterCode }}{{.FooterCode | templateHTML}}{{end}}
 <!--customize_footer-->
diff --git a/ui/template/header.html b/ui/template/header.html
index f6529b8d..404df75b 100644
--- a/ui/template/header.html
+++ b/ui/template/header.html
@@ -191,10 +191,9 @@
         <div class="d-flex">
           <div class="position-sticky px-3 border-end pt-4 d-none d-xl-block" 
id="pcSideNav">
             {{template "sidenav" . }}
-            {{end}}
           </div>
           <div class="flex-fill w-100">
-
+            {{end}}
           </div>
         </div>
       </div>
diff --git a/ui/template/question.html b/ui/template/question.html
index 6d7be332..7680e705 100644
--- a/ui/template/question.html
+++ b/ui/template/question.html
@@ -20,96 +20,98 @@
 -->
 {{template "header" . }}
 <div class="d-flex justify-content-center px-0 px-md-4">
-  <div class="pt-4 mb-5 row">
-    <div class="page-main flex-auto col">
-      <div>
-        <div class="mb-3 d-flex flex-wrap justify-content-between">
-          <h5 class="fs-5 text-nowrap mb-3 mb-md-0">
-            {{translator $.language "ui.question.all_questions"}}
-          </h5>
-          {{template "sort-btns" .}}
-        </div>
-        <div class="rounded-0 list-group">
-          {{range .data}}
-          <li class="py-3 px-2 border-start-0 border-end-0 position-relative 
pointer list-group-item list-group-item-action">
-            <div class="d-flex flex-wrap text-secondary small mb-12">
-              <div class="d-flex align-items-center  text-secondary me-1">
-                <a href="{{$.baseURL}}/users/{{.Operator.Username}}">
-                  <img src="{{$.baseURL}}/users/{{.Operator.Avatar}}" 
width="24px" height="24px" class="rounded-circle me-1" alt="shuai" 
data-processed="true">
-                  <span class="me-1 name-ellipsis" style="max-width: 
300px;">{{.Operator.DisplayName}}</span>
-                </a>
-                <span class="fw-bold" 
title="Reputation">{{.Operator.Rank}}</span>
+  <div class="answer-container">
+    <div class="pt-4 mb-5 row">
+      <div class="page-main flex-auto col">
+        <div>
+          <div class="mb-3 d-flex flex-wrap justify-content-between">
+            <h5 class="fs-5 text-nowrap mb-3 mb-md-0">
+              {{translator $.language "ui.question.all_questions"}}
+            </h5>
+            {{template "sort-btns" .}}
+          </div>
+          <div class="rounded-0 list-group">
+            {{range .data}}
+            <li class="py-3 px-2 border-start-0 border-end-0 position-relative 
pointer list-group-item list-group-item-action">
+              <div class="d-flex flex-wrap text-secondary small mb-12">
+                <div class="d-flex align-items-center  text-secondary me-1">
+                  <a href="{{$.baseURL}}/users/{{.Operator.Username}}">
+                    <img src="{{$.baseURL}}/users/{{.Operator.Avatar}}" 
width="24px" height="24px" class="rounded-circle me-1" alt="shuai" 
data-processed="true">
+                    <span class="me-1 name-ellipsis" style="max-width: 
300px;">{{.Operator.DisplayName}}</span>
+                  </a>
+                  <span class="fw-bold" 
title="Reputation">{{.Operator.Rank}}</span>
+                </div>
+                •
+                <time
+                  class="text-secondary ms-1"
+                  datetime="{{timeFormatISO $.timezone .OperatedAt}}"
+                  title="{{translatorTimeFormatLongDate $.language $.timezone 
.OperatedAt}}">
+                  {{translator $.language "ui.question.asked"}}
+                  {{translatorTimeFormat $.language $.timezone .OperatedAt}}
+                </time>
               </div>
-              •
-              <time
-                class="text-secondary ms-1"
-                datetime="{{timeFormatISO $.timezone .OperatedAt}}"
-                title="{{translatorTimeFormatLongDate $.language $.timezone 
.OperatedAt}}"
-                >{{translator $.language "ui.question.asked"}}
-                {{translatorTimeFormat $.language $.timezone .OperatedAt}}
-              </time>
-            </div>
 
-            <h5 class="text-wrap text-break">
-              {{if $.useTitle }}
-              <a class="link-dark d-block" 
href="{{$.baseURL}}/questions/{{.ID}}/{{urlTitle .Title}}"
-                >{{.Title}}</a
-              >
-              {{else}}
-              <a class="link-dark d-block" 
href="{{$.baseURL}}/questions/{{.ID}}">{{.Title}}</a>
-              {{end}}
-            </h5>
+              <h5 class="text-wrap text-break">
+                {{if $.useTitle }}
+                <a class="link-dark d-block" 
href="{{$.baseURL}}/questions/{{.ID}}/{{urlTitle .Title}}"
+                  >{{.Title}}</a
+                >
+                {{else}}
+                <a class="link-dark d-block" 
href="{{$.baseURL}}/questions/{{.ID}}">{{.Title}}</a>
+                {{end}}
+              </h5>
 
-            <div class="text-truncate-2 mb-2">
-              {{if $.useTitle }}
-              <a class="d-block small text-body" 
href="{{$.baseURL}}/questions/{{.ID}}/{{urlTitle .Title}}"
-                >{{.Description}}</a
-              >
-              {{else}}
-              <a class="d-block small text-body" 
href="{{$.baseURL}}/questions/{{.ID}}">{{.Description}}</a>
-              {{end}}
-            </div>
+              <div class="text-truncate-2 mb-2">
+                {{if $.useTitle }}
+                <a class="d-block small text-body" 
href="{{$.baseURL}}/questions/{{.ID}}/{{urlTitle .Title}}"
+                  >{{.Description}}</a
+                >
+                {{else}}
+                <a class="d-block small text-body" 
href="{{$.baseURL}}/questions/{{.ID}}">{{.Description}}</a>
+                {{end}}
+              </div>
 
-            <div class="question-tags mb-12">
-              {{range .Tags }}
-              <a
-                href="{{$.baseURL}}/tags/{{.SlugName}}"
-                class="badge-tag rounded-1 {{if 
.Reserved}}badge-tag-reserved{{end}} {{if .Recommend}}badge-tag-required{{end}} 
me-1"
-              >
-                <span class="">{{.SlugName}}</span>
-              </a>
-              {{end}}
-            </div>
+              <div class="question-tags mb-12">
+                {{range .Tags }}
+                <a
+                  href="{{$.baseURL}}/tags/{{.SlugName}}"
+                  class="badge-tag rounded-1 {{if 
.Reserved}}badge-tag-reserved{{end}} {{if .Recommend}}badge-tag-required{{end}} 
me-1"
+                >
+                  <span class="">{{.SlugName}}</span>
+                </a>
+                {{end}}
+              </div>
 
-            <div class="small text-secondary">
-              <div class="d-flex align-items-center mt-2 mt-md-0">
-                <div class="d-flex align-items-center flex-shrink-0">
-                  <i class="br bi-hand-thumbs-up-fill me-1"></i>
-                  <span class="fw-medium">{{.VoteCount}}</span>
-                  <span class="ms-1">{{translator $.language 
"ui.counts.votes"}}</span>
-                </div>
-                <div class="d-flex flex-shrink-0 align-items-center ms-3">
-                  <i class="br bi-chat-square-text-fill me-1"></i>
-                  <span class="fw-medium">{{.AnswerCount}}</span>
-                  <span class="ms-1">{{translator $.language 
"ui.counts.answers"}}</span>
+              <div class="small text-secondary">
+                <div class="d-flex align-items-center mt-2 mt-md-0">
+                  <div class="d-flex align-items-center flex-shrink-0">
+                    <i class="br bi-hand-thumbs-up-fill me-1"></i>
+                    <span class="fw-medium">{{.VoteCount}}</span>
+                    <span class="ms-1">{{translator $.language 
"ui.counts.votes"}}</span>
+                  </div>
+                  <div class="d-flex flex-shrink-0 align-items-center ms-3">
+                    <i class="br bi-chat-square-text-fill me-1"></i>
+                    <span class="fw-medium">{{.AnswerCount}}</span>
+                    <span class="ms-1">{{translator $.language 
"ui.counts.answers"}}</span>
+                  </div>
+                  <span class="summary-stat ms-3 flex-shrink-0">
+                    <i class="br bi-bar-chart-fill"></i>
+                    <span class="fw-medium ms-1">{{.ViewCount}}</span>
+                    <span class="ms-1">{{translator $.language 
"ui.counts.views"}}</span>
+                  </span>
                 </div>
-                <span class="summary-stat ms-3 flex-shrink-0">
-                  <i class="br bi-bar-chart-fill"></i>
-                  <span class="fw-medium ms-1">{{.ViewCount}}</span>
-                  <span class="ms-1">{{translator $.language 
"ui.counts.views"}}</span>
-                </span>
               </div>
-            </div>
-          </li>
-          {{end}}
-        </div>
-        <div class="mt-4 mb-2 d-flex justify-content-center">
-          {{template "page" .}}
+            </li>
+            {{end}}
+          </div>
+          <div class="mt-4 mb-2 d-flex justify-content-center">
+            {{template "page" .}}
+          </div>
         </div>
       </div>
-    </div>
-    <div class="page-right-side mt-4 mt-xl-0 col">
-      {{template "hot-question" .}}
+      <div class="page-right-side mt-4 mt-xl-0 col">
+        {{template "hot-question" .}}
+      </div>
     </div>
   </div>
 </div>
diff --git a/ui/test.html b/ui/test.html
new file mode 100644
index 00000000..20cf636c
--- /dev/null
+++ b/ui/test.html
@@ -0,0 +1,443 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+
+<head>
+  <meta charset="utf-8" />
+  <title>快速问答</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1, 
viewport-fit=cover" />
+  <meta name="theme-color" />
+  <meta name="description" content="" data-rh="true" />
+  <meta name="generator" content="Answer 1.4.5 - 
https://github.com/apache/answer version 568f1e9f">
+
+
+
+  <link rel="canonical" href="http://localhost"; />
+  <link rel="manifest" href="/manifest.json" />
+  <link rel="search" type="application/opensearchdescription+xml" 
href="/opensearch.xml" title="快速问答" />
+  <link href="/static/css/main.7900d206.css" rel="stylesheet" />
+  <link href="/custom.css" rel="stylesheet" />
+  <link rel="icon" type="image/png" href="/favicon.ico" data-rh="true" />
+  <link rel="icon" type="image/png" sizes="192x192" href="" data-rh="true" />
+  <link rel="apple-touch-icon" type="image/png" href="" data-rh="true" />
+
+  <script defer="defer" src="/static/js/chunk-mix1.6e509cad.chunk.js"></script>
+
+  <script defer="defer" src="/static/js/chunk-mix2.3ecf665a.chunk.js"></script>
+
+  <script defer="defer" src="/static/js/chunk-mix3.8dafb7ec.chunk.js"></script>
+
+  <script defer="defer" src="/static/js/codemirror.846cdf64.js"></script>
+
+  <script defer="defer" src="/static/js/lezer.85e7351a.js"></script>
+
+  <script defer="defer" src="/static/js/react-dom.90ee5423.chunk.js"></script>
+
+  <script defer="defer" 
src="/static/js/chunk-nodesInitial.02c0c216.chunk.js"></script>
+
+  <script defer="defer" src="/static/js/main.6fb8e749.js"></script>
+
+
+
+  <meta property="og:type" content="website" />
+  <meta property="og:title" name="twitter:title" content="快速问答" />
+  <meta property="og:site_name" content="快速问答" />
+  <meta property="og:url" content="http://localhost"; />
+  <meta property="og:description" content="" />
+  <meta property="og:image" itemProp="image primaryImageOfPage" 
content="/favicon.ico" />
+  <meta name="twitter:card" content="summary" />
+  <meta name="twitter:domain" content="http://localhost"; />
+  <meta name="twitter:description" content="" />
+  <meta name="twitter:image" content="/favicon.ico" />
+  <meta name="go-template">
+
+
+
+</head>
+
+<body>
+
+
+
+  <div id="root">
+
+    <div id="spin-mask">
+      <noscript>
+        <style>
+          #spin-mask {
+            display: none !important;
+          }
+
+          #protect-browser {
+            display: none;
+          }
+        </style>
+      </noscript>
+      <style>
+        @keyframes _doc-spin {
+          to {
+            transform: rotate(360deg)
+          }
+        }
+
+        #spin-mask {
+          position: fixed;
+          top: 0;
+          right: 0;
+          bottom: 0;
+          left: 0;
+          background-color: white;
+          z-index: 9999;
+        }
+
+        #spin-container {
+          position: absolute;
+          top: 50%;
+          left: 50%;
+          transform: translate(-50%, -50%);
+        }
+
+        #spin-container .spinner {
+          box-sizing: border-box;
+          display: inline-block;
+          width: 2rem;
+          height: 2rem;
+          vertical-align: -.125em;
+          border: .25rem solid currentColor;
+          border-right-color: transparent;
+          color: rgba(108, 117, 125, .75);
+          border-radius: 50%;
+          animation: 0.75s linear infinite _doc-spin;
+        }
+
+        #protect-browser {
+          padding: 20px;
+          text-align: center;
+        }
+      </style>
+      <div id="spin-container">
+        <div class="spinner"></div>
+      </div>
+      <div id="protect-browser"></div>
+    </div>
+
+    <nav id="header" class="sticky-top theme-colored navbar navbar-expand-lg 
navbar-dark">
+      <div class="w-100 d-flex align-items-center px-3">
+        <button aria-controls="navBarContent" type="button" aria-label="Toggle 
navigation"
+          class="answer-navBar me-2 navbar-toggler collapsed">
+          <span class="navbar-toggler-icon"></span>
+        </button>
+        <div class="d-flex justify-content-between align-items-center nav-grow 
flex-nowrap">
+
+          <a class="lh-1 me-0 me-sm-3 navbar-brand" href="/">
+            快速问答
+          </a>
+
+        </div>
+        <div class="d-none d-xl-block flex-grow-1 me-auto">
+          <div class="d-none d-xl-block ps-0 col-lg-8">
+            <form action="/search" class="w-100 maxw-400">
+              <input placeholder="Search" name="q" type="search" 
class="placeholder-search form-control" value="">
+            </form>
+          </div>
+
+          <div class="d-none d-xl-flex justify-content-start 
justify-content-sm-end col-lg-4">
+
+          </div>
+        </div>
+      </div>
+    </nav>
+    <div class="position-relative page-wrap d-flex flex-column flex-fill">
+      <div class="d-flex">
+        <div class="position-sticky px-3 border-end pt-4 d-none d-xl-block" 
id="pcSideNav">
+
+          <div class="flex-column nav nav-pills">
+            <a class="nav-link active" href="/questions">
+              <i class="br bi-question-circle-fill me-2"></i>
+              <span>ui.header.nav.question</span>
+            </a>
+            <a href="/tags" data-rr-ui-event-key="/tags" class="nav-link">
+              <i class="br bi-tags-fill me-2"></i>
+              <span>ui.header.nav.tag</span>
+            </a>
+            <a class="nav-link" href="/users">
+              <i class="br bi-people-fill me-2"></i>
+              <span>ui.header.nav.user</span>
+            </a>
+            <a class="nav-link" href="/badges">
+              <i class="br bi-people-fill me-2"></i>
+              <span>ui.header.nav.badges</span>
+            </a>
+          </div>
+
+        </div>
+        <div class="flex-fill w-100">
+
+          <div class="d-flex justify-content-center px-0 px-md-4">
+            <div class="pt-4 mb-5 row">
+              <div class="page-main flex-auto col">
+                <div>
+                  <div class="mb-3 d-flex flex-wrap justify-content-between">
+                    <h5 class="fs-5 text-nowrap mb-3 mb-md-0">
+                      ui.question.all_questions
+                    </h5>
+
+                    <div role="group" class="md-show me-2 btn-group 
btn-group-sm">
+                      <a role="button" tabindex="0" href="?order=newest"
+                        class="text-capitalize fit-content btn active 
btn-outline-secondary">
+                        ui.question.newest
+                      </a>
+                      <a role="button" tabindex="0" href="?order=active"
+                        class="text-capitalize fit-content btn 
btn-outline-secondary">
+                        ui.question.active
+                      </a>
+
+                      <a role="button" tabindex="0" href="?order=unanswered"
+                        class="text-capitalize fit-content d-none d-md-block 
btn btn-outline-secondary"
+                        style="border-top-right-radius: 0.25rem; 
border-bottom-right-radius: 0.25rem;">
+                        ui.question.unanswered
+                      </a>
+                      <a role="button" tabindex="0" href="?order=frequent"
+                        class="text-capitalize fit-content d-none d-md-block 
btn btn-outline-secondary"
+                        style="border-top-right-radius: 0.25rem; 
border-bottom-right-radius: 0.25rem;">
+                        ui.question.frequent
+                      </a>
+                      <div role="group" class="show dropdown btn-group">
+                        <button type="button" aria-expanded="true"
+                          class="dropdown-toggle show btn 
btn-outline-secondary btn-sm">
+                          ui.btns.more
+                        </button>
+                        <div x-placement="bottom-start" class="dropdown-menu 
show" data-popper-reference-hidden="false"
+                          data-popper-escaped="false" 
data-popper-placement="bottom-start"
+                          style="position: absolute; inset: 0px auto auto 0px; 
transform: translate(0px, 33px);">
+                          <a href="?order=score" aria-selected="false" 
class="text-capitalize dropdown-item">
+                            ui.question.score</a>
+                        </div>
+                      </div>
+                    </div>
+
+                    <div class="dropdown">
+                      <button type="button" id="react-aria8245013726-:r5:" 
aria-expanded="false"
+                        class="dropdown-toggle btn btn-outline-secondary 
btn-sm"><i
+                          class="br bi-view-stacked"></i></button>
+                      <div x-placement="bottom-end" 
aria-labelledby="react-aria8245013726-:r5:"
+                        class="dropdown-menu dropdown-menu-end" 
data-popper-reference-hidden="false"
+                        data-popper-escaped="false" 
data-popper-placement="bottom-end"
+                        style="position: absolute; inset: 0px 0px auto auto; 
transform: translate(0px, 33px);">
+                        <div class="dropdown-header" role="heading">
+                          ui.btns.view
+                        </div>
+                        <a aria-selected="true" data-rr-ui-dropdown-item="" 
class="dropdown-item active" role="button"
+                          tabindex="0" href="#" data-footnote-fixed="true">
+                          ui.btns.card
+                        </a>
+                        <a aria-selected="false" data-rr-ui-dropdown-item="" 
class="dropdown-item" role="button"
+                          tabindex="0" href="#" data-footnote-fixed="true">
+                          ui.btns.compact
+                        </a>
+                      </div>
+                    </div>
+
+                  </div>
+                  <div class="rounded-0 list-group">
+
+                    <li
+                      class="py-3 px-2 border-start-0 border-end-0 
position-relative pointer list-group-item list-group-item-action">
+                      <div class="d-flex flex-wrap text-secondary small mb-12">
+                        <div class="d-flex align-items-center  text-secondary 
me-1">
+                          <a href="/users/shuai">
+                            <img
+                              
src="/users/https://www.gravatar.com/avatar/862c8fcfd7e97b5c399e65cb1b99b20244d958c5ee1a8a5193e274df6de16262";
+                              width="24px" height="24px" class="rounded-circle 
me-1" alt="shuai" data-processed="true">
+                            <span class="me-1 name-ellipsis" style="max-width: 
300px;">shuai</span>
+                          </a>
+                          <span class="fw-bold" title="Reputation">1</span>
+                        </div>
+                        •
+                        <time class="text-secondary ms-1" 
datetime="2025-02-24T16:44:41.000Z"
+                          title="ui.dpmte41.long_dpmte_wit4_ti44e">
+                          ui.question.asked
+                          ui.dpmte41.long_dpmte
+                        </time>
+                      </div>
+
+                      <h5 class="text-wrap text-break">
+
+                        <a class="link-dark d-block" 
href="/questions/10010000000000002">What is a tag?</a>
+
+                      </h5>
+
+                      <div class="text-truncate-2 mb-2">
+
+                        <a class="d-block small text-body" 
href="/questions/10010000000000002">When asking a question,
+                          we need to choose tags. What are tags and why should 
I use them?</a>
+
+                      </div>
+
+                      <div class="question-tags mb-12">
+
+                        <a href="/tags/support" class="badge-tag rounded-1   
me-1">
+                          <span class="">support</span>
+                        </a>
+
+                      </div>
+
+                      <div class="small text-secondary">
+                        <div class="d-flex align-items-center mt-2 mt-md-0">
+                          <div class="d-flex align-items-center flex-shrink-0">
+                            <i class="br bi-hand-thumbs-up-fill me-1"></i>
+                            <span class="fw-medium">0</span>
+                            <span class="ms-1">ui.counts.votes</span>
+                          </div>
+                          <div class="d-flex flex-shrink-0 align-items-center 
ms-3">
+                            <i class="br bi-chat-square-text-fill me-1"></i>
+                            <span class="fw-medium">1</span>
+                            <span class="ms-1">ui.counts.answers</span>
+                          </div>
+                          <span class="summary-stat ms-3 flex-shrink-0">
+                            <i class="br bi-bar-chart-fill"></i>
+                            <span class="fw-medium ms-1">0</span>
+                            <span class="ms-1">ui.counts.views</span>
+                          </span>
+                        </div>
+                      </div>
+                    </li>
+
+                    <li
+                      class="py-3 px-2 border-start-0 border-end-0 
position-relative pointer list-group-item list-group-item-action">
+                      <div class="d-flex flex-wrap text-secondary small mb-12">
+                        <div class="d-flex align-items-center  text-secondary 
me-1">
+                          <a href="/users/shuai">
+                            <img
+                              
src="/users/https://www.gravatar.com/avatar/862c8fcfd7e97b5c399e65cb1b99b20244d958c5ee1a8a5193e274df6de16262";
+                              width="24px" height="24px" class="rounded-circle 
me-1" alt="shuai" data-processed="true">
+                            <span class="me-1 name-ellipsis" style="max-width: 
300px;">shuai</span>
+                          </a>
+                          <span class="fw-bold" title="Reputation">1</span>
+                        </div>
+                        •
+                        <time class="text-secondary ms-1" 
datetime="2025-02-24T16:44:41.000Z"
+                          title="ui.dpmte41.long_dpmte_wit4_ti44e">
+                          ui.question.asked
+                          ui.dpmte41.long_dpmte
+                        </time>
+                      </div>
+
+                      <h5 class="text-wrap text-break">
+
+                        <a class="link-dark d-block" 
href="/questions/10010000000000004">What is reputation and how do I
+                          earn them?</a>
+
+                      </h5>
+
+                      <div class="text-truncate-2 mb-2">
+
+                        <a class="d-block small text-body" 
href="/questions/10010000000000004">I see that each user has
+                          reputation points, What is it and how do I earn 
them?</a>
+
+                      </div>
+
+                      <div class="question-tags mb-12">
+
+                        <a href="/tags/support" class="badge-tag rounded-1   
me-1">
+                          <span class="">support</span>
+                        </a>
+
+                      </div>
+
+                      <div class="small text-secondary">
+                        <div class="d-flex align-items-center mt-2 mt-md-0">
+                          <div class="d-flex align-items-center flex-shrink-0">
+                            <i class="br bi-hand-thumbs-up-fill me-1"></i>
+                            <span class="fw-medium">0</span>
+                            <span class="ms-1">ui.counts.votes</span>
+                          </div>
+                          <div class="d-flex flex-shrink-0 align-items-center 
ms-3">
+                            <i class="br bi-chat-square-text-fill me-1"></i>
+                            <span class="fw-medium">1</span>
+                            <span class="ms-1">ui.counts.answers</span>
+                          </div>
+                          <span class="summary-stat ms-3 flex-shrink-0">
+                            <i class="br bi-bar-chart-fill"></i>
+                            <span class="fw-medium ms-1">0</span>
+                            <span class="ms-1">ui.counts.views</span>
+                          </span>
+                        </div>
+                      </div>
+                    </li>
+
+                  </div>
+                  <div class="mt-4 mb-2 d-flex justify-content-center">
+
+                    <ul class="d-inline-flex mb-0 pagination pagination-sm">
+
+
+
+                      <li class="page-item active">
+                        <span class="page-link" href="questions?page=1">1
+                          <span class="visually-hidden">(current)</span>
+                        </span>
+                      </li>
+
+
+
+                    </ul>
+
+                  </div>
+                </div>
+              </div>
+              <div class="page-right-side mt-4 mt-xl-0 col">
+
+                <div class="card">
+                  <div class="text-nowrap text-capitalize 
card-header">ui.question.hot_questions</div>
+                  <div class="list-group list-group-flush">
+
+
+                    <a class="list-group-item list-group-item-action" 
href="/questions/10010000000000002">
+
+                      <div class="link-dark">What is a tag?</div>
+
+                      <div class="d-flex align-items-center small mt-1 
link-secondary">
+                        <i class="br bi-chat-square-text-fill"></i>
+                        <span class="ms-1">ui.question.x_answers</span>
+                      </div>
+
+                    </a>
+
+
+                    <a class="list-group-item list-group-item-action" 
href="/questions/10010000000000004">
+
+                      <div class="link-dark">What is reputation and how do I 
earn them?</div>
+
+                      <div class="d-flex align-items-center small mt-1 
link-secondary">
+                        <i class="br bi-chat-square-text-fill"></i>
+                        <span class="ms-1">ui.question.x_answers</span>
+                      </div>
+
+                    </a>
+
+                  </div>
+                </div>
+
+              </div>
+            </div>
+          </div>
+
+          <footer class="py-3 bg-light w-100">
+            <p class="text-center mb-0 small">
+              <a class="me-3" href="/tos" data-discover="true">
+                ui.admin.legal.terms_of_service.label
+              </a>
+              <a href="/privacy" data-discover="true">
+                ui.admin.legal.privacy_policy.label
+              </a>
+            </p>
+            <p class="text-center mb-0 small text-secondary">
+              ui.footer.build_on
+            </p>
+          </footer>
+        </div>
+      </div>
+    </div>
+  </div>
+</body>
+</html>
\ No newline at end of file


Reply via email to