sfc-utils 1.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -0
- package/blueconic.js +58 -0
- package/brands.js +180 -0
- package/copy/c2p_sheet.js +186 -0
- package/copy/docs.js +177 -0
- package/copy/googleauth.js +153 -0
- package/copy/sheets.js +151 -0
- package/fonts/albany.less +45 -0
- package/fonts/default.less +50 -0
- package/fonts/houston.less +51 -0
- package/fonts/sfc.less +57 -0
- package/footer.js +615 -0
- package/index.js +254 -0
- package/nav.js +247 -0
- package/package.json +14 -0
- package/settings.js +86 -0
- package/specialnav.js +128 -0
- package/topper.js +825 -0
package/footer.js
ADDED
|
@@ -0,0 +1,615 @@
|
|
|
1
|
+
|
|
2
|
+
let { getBrands } = require('./brands')
|
|
3
|
+
|
|
4
|
+
// Handle nav for various markets and include nav options for other links
|
|
5
|
+
let getFooter = function(meta, forceColor){
|
|
6
|
+
|
|
7
|
+
// If we aren't passing meta in, we have to call getSettings here
|
|
8
|
+
if (!meta){
|
|
9
|
+
let {getSettings} = require('./settings')
|
|
10
|
+
meta = getSettings()
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
let year = new Date().getFullYear()
|
|
14
|
+
|
|
15
|
+
let {attributes: {marketPrefix, invert}} = getBrands(meta.PROJECT.MARKET_KEY)
|
|
16
|
+
|
|
17
|
+
// Handle various CT domains
|
|
18
|
+
let eedition = "";
|
|
19
|
+
if (typeof window !== "undefined"){
|
|
20
|
+
switch(window.location.origin){
|
|
21
|
+
case "https://www.ctpost.com": marketPrefix = "ct"; eedition = "CT_PO"; break;
|
|
22
|
+
case "https://www.nhregister.com": marketPrefix = "nh"; eedition = "CT_NHR"; break;
|
|
23
|
+
case "https://www.greenwichtime.com": marketPrefix = "gt"; eedition = "CT_GT"; break;
|
|
24
|
+
case "https://www.stamfordadvocate.com": marketPrefix = "st"; eedition = "CT_AD"; break;
|
|
25
|
+
case "https://www.thehour.com": marketPrefix = "th"; eedition = "CT_HR"; break;
|
|
26
|
+
case "https://www.newstimes.com": marketPrefix = "nt"; eedition = "CT_NT"; break;
|
|
27
|
+
case "https://www.middletownpress.com": marketPrefix = "mp"; eedition = "CT_MP"; break;
|
|
28
|
+
case "https://www.ctinsider.com": marketPrefix = "in"; break;
|
|
29
|
+
|
|
30
|
+
case "https://www.beaumontenterprise.com":
|
|
31
|
+
marketPrefix = "texcom/beau";
|
|
32
|
+
break;
|
|
33
|
+
case "https://www.lmtonline.com":
|
|
34
|
+
marketPrefix = "texcom/laredo";
|
|
35
|
+
break;
|
|
36
|
+
case "https://www.mrt.com":
|
|
37
|
+
marketPrefix = "texcom/mrt";
|
|
38
|
+
break;
|
|
39
|
+
case "https://www.myplainview.com":
|
|
40
|
+
marketPrefix = "texcom/plain";
|
|
41
|
+
break;
|
|
42
|
+
|
|
43
|
+
case "https://www.bigrapidsnews.com":
|
|
44
|
+
marketPrefix = "midcom/big";
|
|
45
|
+
break;
|
|
46
|
+
case "https://www.manisteenews.com":
|
|
47
|
+
marketPrefix = "midcom/mani";
|
|
48
|
+
break;
|
|
49
|
+
case "https://www.ourmidland.com":
|
|
50
|
+
marketPrefix = "midcom/mid";
|
|
51
|
+
break;
|
|
52
|
+
case "https://www.michigansthumb.com":
|
|
53
|
+
marketPrefix = "midcom/huron";
|
|
54
|
+
break;
|
|
55
|
+
case "https://www.recordpatriot.com":
|
|
56
|
+
marketPrefix = "midcom/benzie";
|
|
57
|
+
break;
|
|
58
|
+
case "https://www.theheraldreview.com":
|
|
59
|
+
marketPrefix = "midcom/hr";
|
|
60
|
+
break;
|
|
61
|
+
case "https://www.lakecountystar.com":
|
|
62
|
+
marketPrefix = "midcom/lc";
|
|
63
|
+
break;
|
|
64
|
+
case "https://www.thetelegraph.com":
|
|
65
|
+
marketPrefix = "midcom/alton";
|
|
66
|
+
break;
|
|
67
|
+
case "https://www.theintelligencer.com":
|
|
68
|
+
marketPrefix = "midcom/ed";
|
|
69
|
+
break;
|
|
70
|
+
case "https://www.myjournalcourier.com":
|
|
71
|
+
marketPrefix = "midcom/jv";
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
// If inverted, do black on white nav
|
|
76
|
+
let invertClass = ""
|
|
77
|
+
let color = "white"
|
|
78
|
+
if (invert || forceColor === "white"){
|
|
79
|
+
invertClass = "invert"
|
|
80
|
+
color = "black"
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
const footerLinks = {
|
|
84
|
+
"SFC": {
|
|
85
|
+
"About": [
|
|
86
|
+
{text:"Our Company",link:"http://www.hearst.com/newspapers/san-francisco-chronicle"},
|
|
87
|
+
{text:"Privacy Notice / Notice at Collection",link:"https://www.sfchronicle.com/privacy_policy"},
|
|
88
|
+
{text:"Your California Privacy Rights",link:"https://www.sfchronicle.com/privacy_policy/#caprivacyrights"},
|
|
89
|
+
{text:"Interest Based Ads",link:"https://www.sfchronicle.com/privacy_policy/#interestbasedads"},
|
|
90
|
+
{text:"Terms of Use",link:"https://www.sfchronicle.com/terms_of_use/"},
|
|
91
|
+
{text:"Careers",link:"https://eevd.fa.us6.oraclecloud.com/hcmUI/CandidateExperience/en/sites/CX_15/pages/29004"},
|
|
92
|
+
{text:"Advertising",link:"https://marketing.sfgate.com/advertise-with-us-today"}
|
|
93
|
+
],
|
|
94
|
+
"Newsroom": [
|
|
95
|
+
{text:"Ethics Policy",link:"https://www.sfchronicle.com/file/759/0/7590-7528-Hearst_Newspaper_Group_Standards_and_Ethics_Policy.pdf"},
|
|
96
|
+
{text:"How We Cover Politics",link:"https://www.sfchronicle.com/local-politics/article/Election-2020-inside-the-newsroom-How-15519702.php"},
|
|
97
|
+
{text:"Endorsement Process",link:"https://www.sfchronicle.com/opinion/article/How-The-Chronicle-s-endorsement-process-works-14499467.php"},
|
|
98
|
+
{text:"News Tips",link:"https://www.sfchronicle.com/newstips/"},
|
|
99
|
+
{text:"Newsroom News", link:"https://www.sfchronicle.com/about/newsroomnews/"}
|
|
100
|
+
],
|
|
101
|
+
"Contact": [
|
|
102
|
+
{text:"Customer Service",link:"https://www.sfchronicle.com/customer_service"},
|
|
103
|
+
{text:"FAQ",link:"https://www.sfchronicle.com/faq"},
|
|
104
|
+
{text:"Newsroom Contacts",link:"https://www.sfchronicle.com/newsroom_contacts"}
|
|
105
|
+
],
|
|
106
|
+
"CCPA": [
|
|
107
|
+
{text:"Do Not Sell My Personal Information",link:"https://www.sfchronicle.com/mydata/"}
|
|
108
|
+
],
|
|
109
|
+
"Services": [
|
|
110
|
+
{text:"Subscriber Services",link:"https://subscription.sfchronicle.com/"},
|
|
111
|
+
{text:"e-Edition",link:"https://www.sfchronicle.com/e-edition"},
|
|
112
|
+
{text:"Reprints & Permissions",link:"https://www.parsintl.com/publication/sfchronicle/"},
|
|
113
|
+
{text:"Corporate Subscriptions",link:"https://www.sfchronicle.com/corporatesubscriptions/"},
|
|
114
|
+
{text:"App",link:"https://www.sfchronicle.com/mobile-apps/"},
|
|
115
|
+
{text:"Archives",link:"https://www.sfchronicle.com/archive/search/subscriber/"},
|
|
116
|
+
{text:"Membership",link:"https://www.sfchronicle.com/membership"},
|
|
117
|
+
{text:"Store",link:"https://sfchronicle.myshopify.com/?_ga=2.86091355.2125278198.1634578934-724761130.1630448969"},
|
|
118
|
+
{text:"Subscription Offers",link:"https://subscription.sfchronicle.com/checkout/430/866/?siteID=SFC&origin=footer"},
|
|
119
|
+
{text:"sfgate.com",link:"https://www.sfgate.com/"}
|
|
120
|
+
]
|
|
121
|
+
},
|
|
122
|
+
"Houston": {
|
|
123
|
+
"About": [
|
|
124
|
+
{
|
|
125
|
+
"text": "Our Company",
|
|
126
|
+
"link": "https://www.hearst.com/newspapers/houston-chronicle"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"text": "Newspaper Delivery Safety Procedures",
|
|
130
|
+
"link": "https://www.houstonchronicle.com/customer_service/article/How-Hearst-Newspapers-is-delivering-information-15151944.php"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"text": "Privacy Notice",
|
|
134
|
+
"link": "https://www.houstonchronicle.com/privacy_policy"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"text": "Your California Privacy Rights",
|
|
138
|
+
"link": "https://www.houstonchronicle.com/privacy_policy/#caprivacyrights"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"text": "Interest Based Ads",
|
|
142
|
+
"link": "https://www.houstonchronicle.com/privacy_policy/#interestbasedads"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"text": "Terms of Use",
|
|
146
|
+
"link": "https://www.houstonchronicle.com/terms_of_use/"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"text": "Advertising",
|
|
150
|
+
"link": "http://marketing.chron.com/"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"text": "Careers",
|
|
154
|
+
"link": "http://www.chron.com/careers/"
|
|
155
|
+
}
|
|
156
|
+
],
|
|
157
|
+
"Contact": [
|
|
158
|
+
{
|
|
159
|
+
"text": "Subscribe",
|
|
160
|
+
"link": "https://offers.houstonchronicle.com/?origin=footer&variant=wcm.88837"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"text": "e-Edition",
|
|
164
|
+
"link": "https://subscription.houstonchronicle.com/eedition"
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"text": "Archives",
|
|
168
|
+
"link": "https://www.houstonchronicle.com/archive/"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"text": "Customer Service",
|
|
172
|
+
"link": "https://www.houstonchronicle.com/customer_service"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"text": "Frequently Asked Questions",
|
|
176
|
+
"link": "https://www.houstonchronicle.com/faq"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"text": "Newsroom Contacts",
|
|
180
|
+
"link": "https://www.houstonchronicle.com/newsroom_contacts"
|
|
181
|
+
}
|
|
182
|
+
],
|
|
183
|
+
},
|
|
184
|
+
"SanAntonio": {
|
|
185
|
+
"About": [
|
|
186
|
+
{
|
|
187
|
+
"text": "Our Company",
|
|
188
|
+
"link": "https://www.hearst.com/newspapers/san-antonio-express-news"
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"text": "Newspaper Delivery Safety Procedures",
|
|
192
|
+
"link": "https://www.expressnews.com/customer_service/article/How-Hearst-Newspapers-is-delivering-information-15152120.php"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"text": "Privacy Notice",
|
|
196
|
+
"link": "https://www.expressnews.com/privacy_policy/"
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"text": "Your California Privacy Rights",
|
|
200
|
+
"link": "https://www.expressnews.com/privacy_policy/#caprivacyrights"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"text": "Interest Based Ads",
|
|
204
|
+
"link": "https://www.expressnews.com/privacy_policy/#interestbasedads"
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"text": "Terms of Use",
|
|
208
|
+
"link": "https://www.expressnews.com/terms_of_use/"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"text": "Advertising",
|
|
212
|
+
"link": "http://www.hearstmediasa.com/"
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"text": "Careers",
|
|
216
|
+
"link": "http://www.mysanantonio.com/careers/"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"text": "e-edition",
|
|
220
|
+
"link": "http://digital.olivesoftware.com/Olive/ODN/SanAntonioExpressNews/Default.aspx"
|
|
221
|
+
},
|
|
222
|
+
],
|
|
223
|
+
"Contact": [
|
|
224
|
+
{
|
|
225
|
+
"text": "Archives",
|
|
226
|
+
"link": "https://www.expressnews.com/archive"
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"text": "Customer Service",
|
|
230
|
+
"link": "https://www.expressnews.com/customer_service"
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"text": "Frequently Asked Questions",
|
|
234
|
+
"link": "https://www.expressnews.com/subscriberfaqs/"
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"text": "Newsroom Contacts",
|
|
238
|
+
"link": "https://www.expressnews.com/newsroom_contacts"
|
|
239
|
+
}
|
|
240
|
+
]
|
|
241
|
+
},
|
|
242
|
+
"Albany": {
|
|
243
|
+
"About": [
|
|
244
|
+
{
|
|
245
|
+
"text": "Our Company",
|
|
246
|
+
"link": "http://www.hearst.com/newspapers/albany-times-union",
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"text": "General Standards and Practices",
|
|
250
|
+
"link": "https://www.timesunion.com/home/article/General-Standards-and-Practices-for-Hearst-15647242.php/"
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"text": "Newspaper Delivery Safety Procedures",
|
|
254
|
+
"link": "https://www.timesunion.com/home/article/How-Hearst-Newspapers-is-delivering-information-15152131.php"
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"text": "Advertising",
|
|
258
|
+
"link": "https://timesunionmediagroup.com/"
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"text": "Interest Based Ads",
|
|
262
|
+
"link": "https://www.timesunion.com/help/article/Privacy-notice-highlights-16480619.php#interestbasedads"
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"text": "Terms of Use",
|
|
266
|
+
"link": "https://www.timesunion.com/help/article/Terms-of-use-16468248.php "
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"text": "Privacy Notice",
|
|
270
|
+
"link": "https://www.timesunion.com/help/article/Privacy-notice-highlights-16480619.php "
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"text": "Your California Privacy Rights",
|
|
274
|
+
"link": "https://www.timesunion.com/help/article/Privacy-notice-highlights-16480619.php#additionalinformationforcaliforniaresidents "
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"text": "Jobs at the TU",
|
|
278
|
+
"link": "https://eevd.fa.us6.oraclecloud.com/hcmUI/CandidateExperience/en/sites/CX_15/pages/28003 "
|
|
279
|
+
}
|
|
280
|
+
],
|
|
281
|
+
"Contact": [
|
|
282
|
+
{
|
|
283
|
+
"text": "Contact Us",
|
|
284
|
+
"link": "https://www.timesunion.com/help/"
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"text": "Weather",
|
|
288
|
+
"link": "https://www.timesunion.com/weather/"
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"text": "School Closings",
|
|
292
|
+
"link": "https://www.timesunion.com/closings/"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"text": "Events Calendar",
|
|
296
|
+
"link": "https://events.timesunion.com"
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"text": "Celebrations",
|
|
300
|
+
"link": "https://www.timesunion.com/celebrations/"
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"text": "Obituaries",
|
|
304
|
+
"link": "https://www.legacy.com/obituaries/timesunion-albany/"
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"text": "Online Store",
|
|
308
|
+
"link": "https://timesunionplus-store.myshopify.com/"
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
"text": "Puzzles Palace",
|
|
312
|
+
"link": "https://www.timesunion.com/puzzles/"
|
|
313
|
+
}
|
|
314
|
+
],
|
|
315
|
+
"Services": [
|
|
316
|
+
{
|
|
317
|
+
"text": "Subscriber Services",
|
|
318
|
+
"link": "https://subscription.timesunion.com/"
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"text": "Home Delivery",
|
|
322
|
+
"link": "https://subscription.timesunion.com/checkout/337/730/?origin=footer"
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"text": "Become a Carrier",
|
|
326
|
+
"link": "https://www.timesunion.com/carriers"
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"text": "e-Edition",
|
|
330
|
+
"link": "https://subscription.timesunion.com/eedition/"
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"text": "Corporate Subscriptions",
|
|
334
|
+
"link": "https://www.timesunion.com/corporatesubscriptions/"
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"text": "Mobile App",
|
|
338
|
+
"link": "https://www.timesunion.com/mobile-apps/"
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"text": "Copyright and Reprint",
|
|
342
|
+
"link": "https://www.timesunion.com/help/article/Times-Union-copyright-and-reprint-policy-16417547.php"
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"text": "Archives",
|
|
346
|
+
"link": "https://www.timesunion.com/archive"
|
|
347
|
+
}
|
|
348
|
+
]
|
|
349
|
+
},
|
|
350
|
+
"CT": {
|
|
351
|
+
"About": [
|
|
352
|
+
{
|
|
353
|
+
"text": "Newspaper Delivery Safety Procedures",
|
|
354
|
+
"link": "/article/How-Hearst-Newspapers-is-delivering-information-15152129.php",
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
"text": "Privacy Notice",
|
|
358
|
+
"link": "/privacy/"
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
"text": "Your California Privacy Rights",
|
|
362
|
+
"link": "/privacy/#additionalinformationforcaliforniaresidents"
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
"text": "Interest Based Ads",
|
|
366
|
+
"link": "/privacy/#interestbasedads"
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
"text": "Terms of Use",
|
|
370
|
+
"link": "/tos/"
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"text": "Advertising",
|
|
374
|
+
"link": "https://hearstmediact.com/"
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
"text": "Careers",
|
|
378
|
+
"link": "http://www.hearst.com/careers"
|
|
379
|
+
}
|
|
380
|
+
],
|
|
381
|
+
"Contact": [
|
|
382
|
+
{
|
|
383
|
+
"text": "FAQ",
|
|
384
|
+
"link": "/faq/"
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
"text": "Customer Service",
|
|
388
|
+
"link": "/feedback/"
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"text": "Today's e-Edition",
|
|
392
|
+
"link": "https://subscription.hearstmediact.com/eEdition?siteID="+eedition
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
"text": "Contact Us",
|
|
396
|
+
"link": "/contact/"
|
|
397
|
+
}
|
|
398
|
+
],
|
|
399
|
+
"Connect": [
|
|
400
|
+
{
|
|
401
|
+
"text": "RSS",
|
|
402
|
+
"link": "/rss/"
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
"text": "Newsletter Sign-Up",
|
|
406
|
+
"link": "/newsletters/"
|
|
407
|
+
}
|
|
408
|
+
]
|
|
409
|
+
},
|
|
410
|
+
"Midcom": {
|
|
411
|
+
"About": [
|
|
412
|
+
{
|
|
413
|
+
"text": "Privacy Notice",
|
|
414
|
+
"link": "/privacy/"
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
"text": "Your California Privacy Rights",
|
|
418
|
+
"link": "/privacy/#additionalinformationforcaliforniaresidents"
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
"text": "Interest Based Ads",
|
|
422
|
+
"link": "/privacy/#interestbasedads"
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"text": "Terms of Use",
|
|
426
|
+
"link": "/tos/"
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
"text": "Careers",
|
|
430
|
+
"link": "http://www.hearst.com/careers"
|
|
431
|
+
}
|
|
432
|
+
],
|
|
433
|
+
"Contact": [
|
|
434
|
+
{
|
|
435
|
+
"text": "Subscribe",
|
|
436
|
+
"link": "/subproject/"
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
"text": "Newsroom Contacts",
|
|
440
|
+
"link": "/contact/"
|
|
441
|
+
},
|
|
442
|
+
{
|
|
443
|
+
"text": "Advertise",
|
|
444
|
+
"link": "https://hearstmediamidwest.com/"
|
|
445
|
+
}
|
|
446
|
+
]
|
|
447
|
+
},
|
|
448
|
+
"Texcom": {
|
|
449
|
+
"About": [
|
|
450
|
+
{
|
|
451
|
+
"text": "Privacy Notice",
|
|
452
|
+
"link": "/privacy/"
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
"text": "Your California Privacy Rights",
|
|
456
|
+
"link": "/privacy/#additionalinformationforcaliforniaresidents"
|
|
457
|
+
},
|
|
458
|
+
{
|
|
459
|
+
"text": "Interest Based Ads",
|
|
460
|
+
"link": "/privacy/#interestbasedads"
|
|
461
|
+
},
|
|
462
|
+
{
|
|
463
|
+
"text": "Terms of Use",
|
|
464
|
+
"link": "/tos/"
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
"text": "Careers",
|
|
468
|
+
"link": "http://www.hearst.com/careers"
|
|
469
|
+
}
|
|
470
|
+
],
|
|
471
|
+
"Contact": [
|
|
472
|
+
{
|
|
473
|
+
"text": "Subscribe",
|
|
474
|
+
"link": "/subproject/"
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
"text": "Newsroom Contacts",
|
|
478
|
+
"link": "/contact/"
|
|
479
|
+
}
|
|
480
|
+
]
|
|
481
|
+
},
|
|
482
|
+
"TK": {
|
|
483
|
+
"About": [
|
|
484
|
+
{
|
|
485
|
+
"text": "Advertising",
|
|
486
|
+
"link": "https://hearstmediact.com/"
|
|
487
|
+
},
|
|
488
|
+
{
|
|
489
|
+
"text": "Careers",
|
|
490
|
+
"link": "http://www.hearst.com/careers"
|
|
491
|
+
}
|
|
492
|
+
]
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
let marketLinks = footerLinks[meta.PROJECT.MARKET_KEY]
|
|
497
|
+
// Special case for ctinsider, which doesn't fit the normal CT mold
|
|
498
|
+
if (marketPrefix === "in"){
|
|
499
|
+
marketLinks = {
|
|
500
|
+
"About": [
|
|
501
|
+
{
|
|
502
|
+
"text": "Our Company",
|
|
503
|
+
"link": "https://www.hearst.com/newspapers/hearst-connecticut-media-group",
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
"text": "Ad Choices",
|
|
507
|
+
"link": "https://optout.aboutads.info/?c=2&lang=EN"
|
|
508
|
+
},
|
|
509
|
+
{
|
|
510
|
+
"text": "Careers",
|
|
511
|
+
"link": "https://eevd.fa.us6.oraclecloud.com/hcmUI/CandidateExperience/en/sites/CX_1"
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
"text": "Terms of Use",
|
|
515
|
+
"link": "https://www.ctinsider.com/tos/"
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
"text": "Advertising",
|
|
519
|
+
"link": "https://hearstmediact.com/?_ga=2.121588744.1440353062.1624467793-1527008254.1622131828"
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
"text": "Privacy Notice / Notice of Collection",
|
|
523
|
+
"link": "https://www.ctinsider.com/privacy/"
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
"text": "Your Privacy Rights",
|
|
527
|
+
"link": "https://www.ctinsider.com/privacy/#your_rights"
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
"text": "Your California Privacy Rights",
|
|
531
|
+
"link": "https://www.ctinsider.com/privacy/#additionalinformationforcaliforniaresidents"
|
|
532
|
+
}
|
|
533
|
+
],
|
|
534
|
+
"Contact": [
|
|
535
|
+
{
|
|
536
|
+
"text": "Contact Us",
|
|
537
|
+
"link": "https://www.ctinsider.com/contact/"
|
|
538
|
+
},
|
|
539
|
+
{
|
|
540
|
+
"text": "FAQ",
|
|
541
|
+
"link": "https://www.ctinsider.com/faq/"
|
|
542
|
+
}
|
|
543
|
+
]
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
let linkHTML = ""
|
|
548
|
+
Object.keys(marketLinks).forEach(function(key,index) {
|
|
549
|
+
// Open the new section
|
|
550
|
+
linkHTML += '<li><div class="footer-title">'+key+'</div><ul class="section">'
|
|
551
|
+
|
|
552
|
+
// Create the link items
|
|
553
|
+
for (link in marketLinks[key]){
|
|
554
|
+
let thisLink = marketLinks[key][link]
|
|
555
|
+
linkHTML += '<li><a href="'+thisLink.link+'" target="_blank" rel="noopener noreferrer">'+thisLink.text+'</a></li>'
|
|
556
|
+
}
|
|
557
|
+
|
|
558
|
+
// Close the new section
|
|
559
|
+
linkHTML += '</ul></li>'
|
|
560
|
+
});
|
|
561
|
+
|
|
562
|
+
let footerHTML = `<footer class="pageFooter ${invertClass}">
|
|
563
|
+
<div class="lock">
|
|
564
|
+
<div class="pageFooter--wrapper">
|
|
565
|
+
<div class="pageFooter--left">
|
|
566
|
+
<a
|
|
567
|
+
href="/"
|
|
568
|
+
class="pageFooter--left-logo"
|
|
569
|
+
aria-label="Click to go to the homepage"
|
|
570
|
+
style="background-image: url(https://files.sfchronicle.com/static-assets/logos/${marketPrefix}-${color}.png)"
|
|
571
|
+
>
|
|
572
|
+
Homepage
|
|
573
|
+
</a>
|
|
574
|
+
<a
|
|
575
|
+
href="/"
|
|
576
|
+
class="pageFooter--left-logo mobile"
|
|
577
|
+
aria-label="Click to go to the homepage"
|
|
578
|
+
style="background-image: url(https://files.sfchronicle.com/static-assets/logos/${marketPrefix}-square-${color}.png)"
|
|
579
|
+
>
|
|
580
|
+
Homepage
|
|
581
|
+
</a>
|
|
582
|
+
</div>
|
|
583
|
+
<div class="pageFooter--right">
|
|
584
|
+
<div class="pageFooter--right-topLine">
|
|
585
|
+
<button id="scrollTop" class="return">
|
|
586
|
+
To Top
|
|
587
|
+
</button>
|
|
588
|
+
</div>
|
|
589
|
+
<div class="pageFooter--right-links">
|
|
590
|
+
<div class="hdnce-e hdnce-item-87230">
|
|
591
|
+
<ul class="wrapper">
|
|
592
|
+
${linkHTML}
|
|
593
|
+
</ul>
|
|
594
|
+
</div>
|
|
595
|
+
</div>
|
|
596
|
+
</div>
|
|
597
|
+
</div>
|
|
598
|
+
<div class="pageFooter--branding">
|
|
599
|
+
<img
|
|
600
|
+
class="pageFooter--branding-logo"
|
|
601
|
+
src="https://sfchronicle.com/img/hearst_newspapers_logo.svg"
|
|
602
|
+
alt="San Francisco Chronicle logo"
|
|
603
|
+
/>
|
|
604
|
+
<span class="pageFooter--branding-copyright">
|
|
605
|
+
©${year}
|
|
606
|
+
Hearst
|
|
607
|
+
</span>
|
|
608
|
+
</div>
|
|
609
|
+
</div>
|
|
610
|
+
</footer>`
|
|
611
|
+
|
|
612
|
+
return footerHTML
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
module.exports = { getFooter }
|