forked from emilyntest/braze-docs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbroken_page.html
212 lines (173 loc) · 6.21 KB
/
broken_page.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
---
layout: default
hide_toc: true
hide_bottom_nav: true
hide_breadcrumb: true
---
<script type="text/javascript" src="{{ site.baseurl }}/assets/js/broken_redirect_list.js?{{site.time | date: '%s'}}" ></script>
<script type="text/javascript">
function removeleadingslash(str){
var rstr = str;
if (rstr.slice(-1) === "/") {
rstr = rstr.slice(0, -1);
}
return rstr;
}
var validurls = (typeof validurls === "undefined") ? {} : validurls;
// multi language broken link redirects
if (site_language && (site_language != 'en')){
var base_url = '{{ site.baseurl }}';
for (var url in validurls) {
var adjusted_url = url;
var adjusted_destination = validurls[url];
if (!adjusted_url.match(/^\/docs\/\w{2}\//)) {
adjusted_url = adjusted_url.replace(/^\/docs\//, `\/docs\/${site_language}\/`);
}
if (!adjusted_destination.match(/^\/docs\/\w{2}\//)) {
adjusted_destination = adjusted_destination.replace(/^\/docs\//, `\/docs\/${site_language}\/`);
}
validurls[adjusted_url] = adjusted_destination;
};
}
(function(){
//lower case name => path name
var urlpath = removeleadingslash(window.location.pathname);
var pagetype = urlpath.split('/');
function redirecturl(ky,uh,redirect) {
var val_urls = validurls[ky];
var hashes = val_urls.split('#');
var returl = hashes[0] + redirect;
if (hashes[1]) {
returl += '#' + hashes[1];
}
else if (uh ) {
returl += uh;
}
return returl;
}
var siteurl = '';
{%- for page in site.documents -%}
{%- assign hide_url = page.hidden -%}
{%- if page.collection == 'site_pages' -%}
{%- assign hide_url = false -%}
{%- endif -%}
{%- if hide_url == nil -%}
{%- assign col_info = site.collections | where:"label", page.collection | first -%}
{%- if col_info.hidden -%}
{%- assign hide_url = col_info.hidden -%}
{%- endif -%}
{%- endif -%}
{% unless hide_url %}
siteurl = removeleadingslash("{{ page.url }}");
validurls['{{ site.baseurl }}' + siteurl.toLowerCase()] = '{{ site.baseurl }}' + siteurl + '/';
{% endunless %}
{%- endfor -%}
var urlhash = window.location.hash;
var urlsearch = window.location.search;
if (window.location.href.indexOf('redirected=true') == -1) {
var redirected = '?redirected=true' ;
if (urlsearch.indexOf('?') > -1 ) {
redirected = urlsearch + '&redirected=true';
}
if (validurls[urlpath.toLowerCase() + '/' + urlhash] ) {
window.location = redirecturl(urlpath.toLowerCase() + '/' + urlhash,urlhash,redirected);
}
else if (validurls[urlpath.toLowerCase() + urlhash] ) {
window.location = redirecturl(urlpath.toLowerCase() + urlhash,urlhash,redirected);
}
else if (validurls[urlpath.toLowerCase() + '/'] ) {
window.location = redirecturl(urlpath.toLowerCase() + '/',urlhash,redirected);
}
else if (validurls[urlpath.toLowerCase()] ) {
window.location = redirecturl(urlpath.toLowerCase(),urlhash,redirected);
}
}
} )();
$(document).ready(function(k){
var search_strings = removeleadingslash(window.location.pathname).split('/');
var search_string = search_strings[search_strings.length -1].replace(/(\W|_|-)+/g,' ');
var urlhash = window.location.hash;
if (urlhash) {
search_string += ' ' + urlhash.replace(/(\W|_|-)+/g,' ');
}
$('#help-menu_search').val(search_string)
});
</script>
{%- comment -%} Assigned variables first by page, then by layout {%- endcomment -%}
{%- assign hide_nav = page.hide_nav -%}
{%- assign hide_bottom_nav = page.hide_bottom_nav -%}
{%- assign hide_breadcrumb = page.hide_breadcrumb -%}
{%- assign hide_feedback = page.hide_feedback -%}
{%- unless hide_nav -%}
{%- assign hide_nav = layout.hide_nav -%}
{%- endunless -%}
{%- unless hide_bottom_nav -%}
{%- assign hide_bottom_nav = layout.hide_bottom_nav -%}
{%- endunless -%}
{%- unless hide_breadcrumb -%}
{%- assign hide_breadcrumb = layout.hide_breadcrumb -%}
{%- endunless -%}
{%- unless hide_feedback -%}
{%- assign hide_feedback = layout.hide_feedback -%}
{%- endunless -%}
{% unless hide_nav %}
<div class="col-sm-12 col-md-3 col-lg-3 col-xl-2 d-print-none collapse d-md-block" id="nav_bar" >
<div id="nav_col" class=" ">
{% include left_nav_menu.html %}
</div>
</div>
{% endunless %}
<div class="col d-print-block " id="main_content" >
<div id="broken-main">
<div id="broken_banner">
<div id="broken_banner_img"><img src="{{ page.broken_image | multi_lang }}" /></div>
<div id="broken_banner_info" class="broken_info">
<div id="content_start"></div>
<div id="broken_banner_text">
{{ page.broken_text }}
</div>
</div>
</div>
<div id="broken_bottom">
<div id="broken_bottom_left">
<div id="broken_popular" class="broken_info">
<div class="broken_name">Try one of these</div>
<div class="broken_description">
{%- for broken_list in page.recommend_list -%}
<div>
<a href="{{ broken_list.link }}">{{ broken_list.name }}</a>
</div>
{%- endfor -%}
</div>
</div>
</div>
<div id="broken_bottom_right">
<div id="broken_help" class="broken_info">
<div class="broken_name">
Search
</div>
<div class="broken_description">
Didn't find what you were looking for? Search below, or visit our <a href="{{site.baseurl}}/help/">Help page</a>.
</div>
<form id="help-search-form" action="{{site.baseurl}}/search/" method="get" class="form-inline">
<div class="input-group ">
<input type="text" class="form-control" id="help-menu_search" name="q" placeholder="Search Braze Documentation" aria-label="Search">
<button class="btn">
<i class="fa fa-search" aria-hidden="true"></i>
</button>
</div>
</form>
</div>
</div>
</div>
</div>
{%- unless hide_bottom_nav -%}
<div id="bottom_nav" >
{%- unless hide_feedback -%}
{% include feedback.html %}
{%- endunless -%}
<!-- div class="gradient-line" ></div -->
</div>
{%- endunless -%}
{% include footer.html %}
</div>