Skip to content

Commit f709eb3

Browse files
committed
SEO optimizing
1 parent 5f12aa3 commit f709eb3

10 files changed

Lines changed: 401 additions & 3 deletions

File tree

assets/media/logo.png

22.5 KB
Loading

config/_default/hugo.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
# Hugo Documentation: https://gohugo.io/getting-started/configuration/#all-configuration-settings
44
# This file is formatted using YAML syntax - learn more at https://learnxinyminutes.com/docs/yaml/
55

6-
title: XMU-DeepLIT # Website name
7-
baseURL: 'https://example.com/' # Website URL
6+
title: 厦门大学语言智能技术课题组 XMU-DeepLIT Deep Language Intelligence Technology of Xiamen University # Website name
7+
baseURL: 'https://xmudeeplit.github.io/' # Website URL
88

99
############################
1010
## LANGUAGE

config/_default/params.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ features:
9898
app_id: ''
9999
api_key: ''
100100
index_name: ''
101-
show_logo: false
101+
show_logo: true
102102
map:
103103
provider: 'mapnik'
104104
api_key: ''
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{{ if (.Params.announcement.dismissable | default true) -}}
2+
<div id="announcement" data-id="wc-announcement-{{ .Params.announcement.id | default (md5 .Params.announcement.text) }}" class="alert alert-secondary alert-dismissible fade show text-lg-center mb-0" role="alert">
3+
{{ .Params.announcement.text | emojify | markdownify | safeHTML }}
4+
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
5+
<span aria-hidden="true">&times;</span>
6+
</button>
7+
</div>
8+
{{ else -}}
9+
<div class="alert alert-primary text-lg-center" role="alert">
10+
{{ .Params.announcement.text | emojify | markdownify | safeHTML }}
11+
</div>
12+
{{ end -}}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{{ if not .IsHome }}
2+
<nav class="d-none d-md-flex" aria-label="breadcrumb">
3+
<ol class="breadcrumb">
4+
{{ template "breadcrumb" . }}
5+
<li class="breadcrumb-item active" aria-current="page">
6+
{{ .LinkTitle | emojify }}
7+
</li>
8+
</ol>
9+
</nav>
10+
{{ end }}
11+
12+
{{ define "breadcrumb" }}
13+
{{ with .Parent }}
14+
{{ template "breadcrumb" . }}
15+
<li class="breadcrumb-item">
16+
<a href="{{ .RelPermalink }}">
17+
{{ if .IsHome }}
18+
{{ (i18n "home" | default "Home") | emojify }}
19+
{{ else }}
20+
{{ .LinkTitle | emojify }}
21+
{{ end }}
22+
</a>
23+
</li>
24+
{{ end }}
25+
{{ end }}
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
{{ $ga := site.Params.marketing.analytics.google_analytics | default "" }}
2+
{{ $show_feedback := .Params.feedback | default true }}
3+
4+
{{ if hugo.IsProduction | and $ga | and $show_feedback }}
5+
<style>
6+
.btn-feedback {
7+
display: inline-block;
8+
}
9+
.btn-feedback-negative {
10+
margin-left: 1em;
11+
}
12+
.feedback--response {
13+
display: none;
14+
margin-top: 1em;
15+
}
16+
.feedback--response__visible {
17+
display: block;
18+
}
19+
</style>
20+
<div class="d-print-none widget--feedback">
21+
<h2 class="feedback--title">{{ i18n "feedback_widget_title" | default "Feedback" }}</h2>
22+
<p class="feedback--question">{{ i18n "feedback_widget_question" | default "Was this page helpful?" }}</p>
23+
<p class="feedback--response feedback--response-positive">
24+
{{ (site.Params.features.feedback.responses.positive | default "🙏") | markdownify | safeHTML }}
25+
</p>
26+
<p class="feedback--response feedback--response-negative">
27+
{{ (site.Params.features.feedback.responses.negative | default "🙏") | markdownify | safeHTML }}
28+
</p>
29+
<button class="btn btn-primary mb-4 btn-feedback btn-feedback-positive">
30+
{{ i18n "feedback_widget_answer_positive" | default "😍 Yes" }}
31+
</button>
32+
<button class="btn btn-primary mb-4 btn-feedback btn-feedback-negative">
33+
{{ i18n "feedback_widget_answer_negative" | default "😡 No" }}
34+
</button>
35+
</div>
36+
<script>
37+
const btnYes = document.querySelector('.btn-feedback-positive');
38+
const btnNo = document.querySelector('.btn-feedback-negative');
39+
const responseYes = document.querySelector('.feedback--response-positive');
40+
const responseNo = document.querySelector('.feedback--response-negative');
41+
const disableButtons = () => {
42+
btnYes.disabled = true;
43+
btnNo.disabled = true;
44+
};
45+
const sendFeedback = (value) => {
46+
if (typeof gtag !== 'function') return;
47+
gtag('event', 'click', {
48+
'event_category': 'page_rating',
49+
'event_label': window.location.pathname,
50+
'value': value,
51+
'transport_type': 'beacon',
52+
'event_callback': function () {
53+
console.debug(`✅ Feedback sent ${value}`);
54+
}
55+
});
56+
};
57+
btnYes.addEventListener('click', () => {
58+
console.debug('Feedback response: 😍');
59+
responseYes.classList.add('feedback--response__visible');
60+
disableButtons();
61+
sendFeedback(1);
62+
});
63+
btnNo.addEventListener('click', () => {
64+
console.debug('Feedback response: 😡');
65+
responseNo.classList.add('feedback--response__visible');
66+
disableButtons();
67+
sendFeedback(0);
68+
});
69+
</script>
70+
{{ end }}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{{ if .IsTranslated | and site.Params.footer.show_translations }}
2+
<div class="powered-by d-flex flex-wrap pb-2 justify-content-center">
3+
<div class="p-2 font-weight-bold"><i class="fas fa-globe pr-1" aria-hidden="true"></i>{{ i18n "languages" }}:</div>
4+
<div class="p-2">{{ index site.Data.i18n.languages .Lang }}</div>
5+
{{ range .Translations }}
6+
<div class="p-2"><a href="{{ .Permalink }}">{{ index site.Data.i18n.languages .Lang }}</a></div>
7+
{{ end }}
8+
</div>
9+
{{ end }}
10+
11+
{{ if or (site.GetPage "/terms.md") (site.GetPage "/privacy.md") }}
12+
<p class="powered-by">
13+
{{ with site.GetPage "/privacy.md" }}
14+
{{ printf "<a href=\"%s\">%s</a>" .RelPermalink .Title | safeHTML }}
15+
{{ end }}
16+
{{ with site.GetPage "/terms.md" }}
17+
{{ if site.GetPage "/privacy.md" }} &middot; {{ end }}
18+
{{ printf "<a href=\"%s\">%s</a>" .RelPermalink .Title | safeHTML }}
19+
{{ end }}
20+
</p>
21+
{{ end }}
22+
23+
{{ with site.Params.footer.text }}
24+
<p class="powered-by">
25+
{{ . | markdownify | emojify }}
26+
</p>
27+
{{ end }}
28+
29+
{{/* Display copyright license. */}}
30+
{{ partial "site_footer_license" . }}
Lines changed: 217 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,217 @@
1+
{{ $show_navbar := ((site.Params.header.navbar.enable | default true) | and (ne .Params.header.navbar.enable false)) | or .Params.header.navbar.enable }}
2+
{{ if $show_navbar }}
3+
4+
{{ $current_page := . }}
5+
{{ $highlight_active_link := site.Params.header.navbar.highlight_active_link | default true }}
6+
{{ $show_current_language := site.Params.header.navbar.show_language | default false }}
7+
8+
{{/* Get site logo. */}}
9+
{{ $show_logo := site.Params.header.navbar.show_logo | default true }}
10+
{{ $has_logo := fileExists "assets/media/logo.png" | or (fileExists "assets/media/logo.svg") }}
11+
{{ $logo := "" }}
12+
{{ if $has_logo }}
13+
{{ $logo = (partial "blox-core/functions/get_logo" (dict "constraint" "max_height" "size" 70)) }}
14+
{{ end }}
15+
16+
<header>
17+
<nav class="navbar navbar-expand-lg navbar-light compensate-for-scrollbar" id="navbar-main">
18+
<div class="container-xl">
19+
20+
{{if $show_logo}}
21+
<div class="d-none d-lg-inline-flex">
22+
<a class="navbar-brand navbar-brand d-flex align-items-center gap-2" href="{{ site.Home.RelPermalink }}">
23+
{{- if $has_logo -}}
24+
<img src="{{ $logo.RelPermalink }}" alt="{{ site.Title }}"
25+
{{with site.Params.header.image.width}}width="{{.}}"{{end}}
26+
{{with site.Params.header.image.height}}height="{{.}}"{{end}}>
27+
28+
{{- end -}}
29+
XMU-DeepLIT
30+
</a>
31+
</div>
32+
{{end}}
33+
34+
{{ if site.Menus.main }}
35+
<button type="button" class="navbar-toggler" data-toggle="collapse"
36+
data-target="#navbar-content" aria-controls="navbar-content" aria-expanded="false" aria-label="{{ i18n "toggle_navigation" }}">
37+
<span><i class="fas fa-bars"></i></span>
38+
</button>
39+
{{ end }}
40+
41+
{{if $show_logo}}
42+
<div class="navbar-brand-mobile-wrapper d-inline-flex d-lg-none">
43+
<a class="navbar-brand" href="{{ site.Home.RelPermalink }}">
44+
{{- if $has_logo -}}
45+
<img src="{{ $logo.RelPermalink }}" alt="{{ site.Title }}"
46+
{{with site.Params.header.image.width}}width="{{.}}"{{end}}
47+
{{with site.Params.header.image.height}}height="{{.}}"{{end}}>
48+
{{- else -}}
49+
{{- site.Title -}}
50+
{{- end -}}
51+
</a>
52+
</div>
53+
{{end}}
54+
55+
<!-- Collect the nav links, forms, and other content for toggling -->
56+
{{ $align_menu := site.Params.header.navbar.align | default "l" }}
57+
<div class="navbar-collapse main-menu-item collapse {{ if eq $align_menu "c" }}justify-content-center{{ else if eq $align_menu "r" }}justify-content-end{{else}}justify-content-start{{ end }}" id="navbar-content">
58+
59+
<!-- Left Nav Bar -->
60+
<ul class="navbar-nav d-md-inline-flex">
61+
{{ range site.Menus.main }}
62+
63+
{{ if .HasChildren }}
64+
<li class="nav-item dropdown">
65+
<a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true">
66+
{{- .Pre -}}<span>{{ .Name | safeHTML }}</span>{{- .Post -}}
67+
<span class="caret"></span>
68+
</a>
69+
<div class="dropdown-menu">
70+
{{ range .Children }}
71+
<a class="dropdown-item" href="{{ .URL | relLangURL }}"{{ if $.IsHome }} data-target="{{ .URL }}"{{ end }}>
72+
{{- .Pre -}}<span>{{ .Name | safeHTML }}</span>{{- .Post -}}
73+
</a>
74+
{{ end }}
75+
</div>
76+
</li>
77+
78+
{{ else }}
79+
80+
{{/* Set target for link. */}}
81+
{{ $.Scratch.Set "target" "" }}
82+
{{ if gt (len .URL) 4 }}
83+
{{ if eq "http" (slicestr .URL 0 4) }}
84+
{{ $.Scratch.Set "target" " target=\"_blank\" rel=\"noopener\"" }}
85+
{{ end }}
86+
{{ end }}
87+
88+
{{/* Get active page. */}}
89+
90+
{{ $is_link_in_current_path := false }}
91+
{{ $is_widget_page := or $current_page.IsHome (eq $current_page.Type "widget_page") }}
92+
{{ $is_same_page := false }}
93+
{{ $hash := findRE "#(.+)" .URL }}
94+
95+
{{ if $current_page.IsHome | and (or (eq .URL "/") (eq .URL "")) }}
96+
{{ $is_link_in_current_path = true }}
97+
{{else}}
98+
{{ if gt (len .URL) 1 }}{{/* Ignore root URL */}}
99+
{{ $is_link_in_current_path = in $current_page.RelPermalink .URL }}
100+
{{ $is_same_page = $is_link_in_current_path }}
101+
{{end}}
102+
{{ if gt (len $hash) 0 }}
103+
{{ $hash = index $hash 0 }}
104+
{{ $hash_removed := replace .URL $hash "" }}
105+
{{ if eq (len $hash_removed) 0 }}
106+
{{ $hash_removed = "/" }}{{/* Add robustness for `/#SECTION` or `#SECTION` in `menus.toml`. */}}
107+
{{ end }}
108+
{{ $is_same_page = eq (path.Dir $current_page.RelPermalink) (path.Dir ($hash_removed|relLangURL)) }}
109+
{{ end }}
110+
{{end}}
111+
112+
<li class="nav-item">
113+
<a class="nav-link {{if and $highlight_active_link $is_link_in_current_path }} active{{end}}" href="{{.URL | relLangURL}}"{{ if and $is_widget_page $is_same_page }} data-target="{{$hash}}"{{ end }}{{ ($.Scratch.Get "target") | safeHTMLAttr }}>
114+
{{- .Pre -}}<span>{{ .Name | safeHTML }}</span>{{- .Post -}}
115+
</a>
116+
</li>
117+
118+
{{ end }}
119+
{{ end }}
120+
121+
{{ if site.Menus.main_right | and (eq $align_menu "l") }}
122+
</ul>
123+
<ul class="navbar-nav ml-md-auto">
124+
{{ end }}
125+
126+
{{ range site.Menus.main_right }}
127+
128+
{{/* Set target for link. */}}
129+
{{ $.Scratch.Set "target" "" }}
130+
{{ if gt (len .URL) 4 }}
131+
{{ if eq "http" (slicestr .URL 0 4) }}
132+
{{ $.Scratch.Set "target" " target=\"_blank\" rel=\"noopener\"" }}
133+
{{ end }}
134+
{{ end }}
135+
136+
<li class="nav-item">
137+
<a class="nav-link" href="{{ .URL | relLangURL }}"{{ if $.IsHome }} data-target="{{ .URL }}"{{ end }}{{ ($.Scratch.Get "target") | safeHTMLAttr }}>
138+
{{- .Pre -}}<span>{{ .Name | safeHTML }}</span>{{- .Post -}}
139+
</a>
140+
</li>
141+
142+
{{ end }}
143+
</ul>
144+
</div><!-- /.navbar-collapse -->
145+
146+
<ul class="nav-icons navbar-nav flex-row ml-auto d-flex pl-md-2">
147+
148+
{{/* Display any social links that the superuser chose to display in the header. */}}
149+
{{ range where (where (where site.Pages "Section" "authors") ".Params.superuser" true) ".Params.social" "!=" nil }}
150+
{{ range where .Params.social ".display.header" true }}
151+
{{ $social_link := partial "functions/get_social_link" . }}
152+
<li class="nav-item d-none d-lg-inline-flex">
153+
<a class="nav-link" href="{{ $social_link.link | safeURL }}"{{ with $social_link.tooltip }} data-toggle="tooltip" data-placement="bottom" title="{{.}}"{{ end }} {{ $social_link.target | safeHTMLAttr }} aria-label="{{ $social_link.aria_label }}">
154+
<i class="{{ $social_link.icon_pack }} {{ $social_link.pack_prefix }}-{{ $social_link.icon }}" aria-hidden="true"></i>
155+
</a>
156+
</li>
157+
{{ end }}
158+
{{ end }}
159+
160+
{{/* Override: hide search icon if provider is Docsearch so we only show Docsearch once in the docs sidebar. */}}
161+
{{ $show_search := site.Params.header.navbar.show_search | default true }}
162+
{{ if and site.Params.features.search.provider $show_search | and (ne (lower site.Params.features.search.provider) "docsearch") }}
163+
<li class="nav-item">
164+
<a class="nav-link js-search" href="#" aria-label="{{ i18n "search" }}"><i class="fas fa-search" aria-hidden="true"></i></a>
165+
</li>
166+
{{ end }}
167+
168+
{{ $show_day_night := site.Params.header.navbar.show_day_night | default true }}
169+
{{ $has_day_night_themes := (and site.Params.appearance.theme_day site.Params.appearance.theme_night) }}
170+
{{ if and $has_day_night_themes $show_day_night }}
171+
<li class="nav-item dropdown theme-dropdown">
172+
<a href="#" class="nav-link" data-toggle="dropdown" aria-haspopup="true" aria-label="{{ i18n "theme_selector" | default "Display preferences" }}">
173+
<i class="fas fa-moon" aria-hidden="true"></i>
174+
</a>
175+
<div class="dropdown-menu">
176+
<a href="#" class="dropdown-item js-set-theme-light">
177+
<span>{{ i18n "theme_light" | default "Light" }}</span>
178+
</a>
179+
<a href="#" class="dropdown-item js-set-theme-dark">
180+
<span>{{ i18n "theme_dark" | default "Dark" }}</span>
181+
</a>
182+
<a href="#" class="dropdown-item js-set-theme-auto">
183+
<span>{{ i18n "theme_auto" | default "Automatic" }}</span>
184+
</a>
185+
</div>
186+
</li>
187+
{{ end }}
188+
189+
{{ $show_translations := site.Params.header.navbar.show_translations | default true }}
190+
{{ if .IsTranslated | and $show_translations }}
191+
<li class="nav-item dropdown i18n-dropdown">
192+
<a href="#" class="nav-link {{ if $show_current_language }}dropdown-toggle{{end}}" data-toggle="dropdown"
193+
aria-haspopup="true" aria-label="{{ i18n "languages" | default "Languages" }}">
194+
<i class="fas fa-globe mr-1" aria-hidden="true"></i>
195+
{{- if $show_current_language -}}
196+
<span class="d-none d-lg-inline">{{ index site.Data.i18n.languages .Lang }}</span>
197+
{{- end -}}
198+
</a>
199+
<div class="dropdown-menu">
200+
<div class="dropdown-item dropdown-item-active">
201+
<span>{{ index site.Data.i18n.languages .Lang }}</span>
202+
</div>
203+
{{ range .Translations }}
204+
<a class="dropdown-item" href="{{ .Permalink }}"{{ if $.IsHome }} data-target="{{ .RelPermalink }}"{{ end }}>
205+
<span>{{ index site.Data.i18n.languages .Lang }}</span>
206+
</a>
207+
{{ end }}
208+
</div>
209+
</li>
210+
{{ end }}
211+
212+
</ul>
213+
214+
</div><!-- /.container -->
215+
</nav>
216+
</header>
217+
{{end}}{{/* End show navbar. */}}

0 commit comments

Comments
 (0)