PageSourceSearch

https://newscrossword.ai/

html newscrossword.ai collected 2026-10-05 12:17:47 UTC 4,049 bytes, 91 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3
4<head>
5	<title>News Crossword</title>
6	<meta charset="UTF-8" />
7	<meta name="viewport" content="width=device-width, initial-scale=1.0" />
8	<meta http-equiv="X-UA-Compatible" content="ie=edge" />
9    <link rel="shortcut icon" href="favicon.png" >
10	<!-- <meta name='twitter:card' content='summary_large_image' />
11	<meta name='twitter:creator' content='codenberg' />
12	<meta name='twitter:title' content='Svelte Crossword' />
13	<meta name='twitter:description' content='Svelte crossword puzzle component' />
14	<meta name='twitter:image:src' content='https://russellgoldenberg.github.io/svelte-crossword/og.png' /> -->
15
16	<link rel="stylesheet" href="global.css" />
17	<link rel="stylesheet" href="build/bundle.css" />
18
19	<style>
20	/* On-screen keyboard on a phone or tablet held SIDEWAYS (reported by WJCT, 2026-09-18).
21	   The keyboard only exists on touch devices. When the screen is wide enough for the grid
22	   and clues to sit side by side, the bundle squeezed it into a thin third column between
23	   them, where it was cut off and covered the clues. Here it moves into the clues column,
24	   above the clue list, at that column's full width. Portrait (".stacked") and desktop
25	   (no keyboard at all) are untouched. The bundle has no source, hence a page-level fix. */
26	.play:not(.stacked):has(> div.keyboard:not(.fixed-bottom)) {
27		display: grid;
28		grid-template-columns: minmax(0, 1fr) minmax(300px, 42%);
29		grid-template-rows: auto 1fr;
30		column-gap: 24px;
31		align-items: start;
32	}
33	.play:not(.stacked):has(> div.keyboard:not(.fixed-bottom)) > .puzzle { grid-column: 1; grid-row: 1 / 3; }
34	.play:not(.stacked) > div.keyboard:not(.fixed-bottom) { grid-column: 2; grid-row: 1; margin: 16px 0 12px; }
35	.play:not(.stacked):has(> div.keyboard:not(.fixed-bottom)) > .clues { grid-column: 2; grid-row: 2; margin: 0; }
36	</style>
37
38	<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
39	
39<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
39
40
41	<!-- 1f9a8700-1de1-11eb-9af0-ffe3209cc5bb.png -->
42
43
44	
44<script>
45	/* The colour behind the puzzle, set per customer on the Background & Header screen.
46	   Painting the page does NOT touch the crossword's own --bg-color, so the squares stay
47	   white and still read as boxes you can type in. Fails silently: the worst case is the
48	   white background every customer has today. */
49	(function () {
50		try {
51			/* A customer is reached either as newscrossword.ai/<slug> or on their own
52			   subdomain, <slug>.newscrossword.ai, so look in both places. */
53			var slug = location.pathname.replace(/^\/+|\/+$/g, '').split('/')[0];
54			if (!slug) {
55				var host = location.hostname.split('.');
56				if (host.length > 2 && host[0] !== 'www') { slug = host[0]; }
57			}
58			if (!slug) { return; }
59			fetch('/member-area/api/get-company-url?url=' + encodeURIComponent(slug))
60				.then(function (r) { return r.json(); })
61				.then(function (d) {
62					var raw = d && d.HeaderCustomize && d.HeaderCustomize.page_background_color;
63					if (typeof raw !== 'string') { return; }
64					raw = raw.trim();
65					if (!/^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(raw)) { return; }
66					var colour = '#' + raw.replace('#', '');
67					document.documentElement.style.setProperty('background-color', colour, 'important');
68					if (document.body) { document.body.style.setProperty('background-color', colour, 'important'); }
69				})
70				.catch(function () {});
71		} catch (e) {}
72	})();
73	</script>
73
74</head>
75
76<body>
77	<main>
78		<!-- HTML -->
79	</main>
80	
80<script type="text/javascript" src="build/bundle.js" defer ></script>
80
81</body>
82
83
84<script type="text/javascript" src="https://pym.nprapps.org/pym.v1.min.js"></script>
vendor: 1 bytes, line 84
84
85<script>
86	pymChild = new pym.Child({ 
87	  id: 'tnq-container',
88	  polling: 500
89	});
90  </script>
90
91</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.