PageSourceSearch

https://naturephotographeroftheyear.com/wp-includes/js/dist/autop.js?ver=4253b2f13990616d5356

js naturephotographeroftheyear.com collected 2026-09-24 21:08:38 UTC 10,193 bytes, 299 lines download raw bytes

1/******/ (() => { // webpackBootstrap
2/******/ 	"use strict";
3/******/ 	// The require scope
4/******/ 	var __webpack_require__ = {};
5/******/ 	
6/************************************************************************/
7/******/ 	/* webpack/runtime/define property getters */
8/******/ 	(() => {
9/******/ 		// define getter functions for harmony exports
10/******/ 		__webpack_require__.d = (exports, definition) => {
11/******/ 			for(var key in definition) {
12/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
13/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
14/******/ 				}
15/******/ 			}
16/******/ 		};
17/******/ 	})();
18/******/ 	
19/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
20/******/ 	(() => {
21/******/ 		__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
22/******/ 	})();
23/******/ 	
24/******/ 	/* webpack/runtime/make namespace object */
25/******/ 	(() => {
26/******/ 		// define __esModule on exports
27/******/ 		__webpack_require__.r = (exports) => {
28/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
29/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
30/******/ 			}
31/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
32/******/ 		};
33/******/ 	})();
34/******/ 	
35/************************************************************************/
36var __webpack_exports__ = {};
37__webpack_require__.r(__webpack_exports__);
38/* harmony export */ __webpack_require__.d(__webpack_exports__, {
39/* harmony export */   autop: () => (/* binding */ autop),
40/* harmony export */   removep: () => (/* binding */ removep)
41/* harmony export */ });
42const htmlSplitRegex = (() => {
43  const comments = "!(?:-(?!->)[^\\-]*)*(?:-->)?";
44  const cdata = "!\\[CDATA\\[[^\\]]*(?:](?!]>)[^\\]]*)*?(?:]]>)?";
45  const escaped = "(?=!--|!\\[CDATA\\[)((?=!-)" + // If yes, which type?
46  comments + "|" + cdata + ")";
47  const regex = "(<(" + // Conditional expression follows.
48  escaped + // Find end of escaped element.
49  "|[^>]*>?))";
50  return new RegExp(regex);
51})();
52function htmlSplit(input) {
53  const parts = [];
54  let workingInput = input;
55  let match;
56  while (match = workingInput.match(htmlSplitRegex)) {
57    const index = match.index;
58    parts.push(workingInput.slice(0, index));
59    parts.push(match[0]);
60    workingInput = workingInput.slice(index + match[0].length);
61  }
62  if (workingInput.length) {
63    parts.push(workingInput);
64  }
65  return parts;
66}
67function replaceInHtmlTags(haystack, replacePairs) {
68  const textArr = htmlSplit(haystack);
69  let changed = false;
70  const needles = Object.keys(replacePairs);
71  for (let i = 1; i < textArr.length; i += 2) {
72    for (let j = 0; j < needles.length; j++) {
73      const needle = needles[j];
74      if (-1 !== textArr[i].indexOf(needle)) {
75        textArr[i] = textArr[i].replace(
76          new RegExp(needle, "g"),
77          replacePairs[needle]
78        );
79        changed = true;
80        break;
81      }
82    }
83  }
84  if (changed) {
85    haystack = textArr.join("");
86  }
87  return haystack;
88}
89function autop(text, br = true) {
90  const preTags = [];
91  if (text.trim() === "") {
92    return "";
93  }
94  text = text + "\n";
95  if (text.indexOf("<pre") !== -1) {
96    const textParts = text.split("</pre>");
97    const lastText = textParts.pop();
98    text = "";
99    for (let i = 0; i < textParts.length; i++) {
100      const textPart = textParts[i];
101      const start = textPart.indexOf("<pre");
102      if (start === -1) {
103        text += textPart;
104        continue;
105      }
106      const name = "<pre wp-pre-tag-" + i + "></pre>";
107      preTags.push([name, textPart.substr(start) + "</pre>"]);
108      text += textPart.substr(0, start) + name;
109    }
110    text += lastText;
111  }
112  text = text.replace(/<br\s*\/?>\s*<br\s*\/?>/g, "\n\n");
113  const allBlocks = "(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary)";
114  text = text.replace(
115    new RegExp("(<" + allBlocks + "[\\s/>])", "g"),
116    "\n\n$1"
117  );
118  text = text.replace(
119    new RegExp("(</" + allBlocks + ">)", "g"),
120    "$1\n\n"
121  );
122  text = text.replace(/\r\n|\r/g, "\n");
123  text = replaceInHtmlTags(text, { "\n": " <!-- wpnl --> " });
124  if (text.indexOf("<option") !== -1) {
125    text = text.replace(/\s*<option/g, "<option");
126    text = text.replace(/<\/option>\s*/g, "</option>");
127  }
128  if (text.indexOf("</object>") !== -1) {
129    text = text.replace(/(<object[^>]*>)\s*/g, "$1");
130    text = text.replace(/\s*<\/object>/g, "</object>");
131    text = text.replace(/\s*(<\/?(?:param|embed)[^>]*>)\s*/g, "$1");
132  }
133  if (text.indexOf("<source") !== -1 || text.indexOf("<track") !== -1) {
134    text = text.replace(/([<\[](?:audio|video)[^>\]]*[>\]])\s*/g, "$1");
135    text = text.replace(/\s*([<\[]\/(?:audio|video)[>\]])/g, "$1");
136    text = text.replace(/\s*(<(?:source|track)[^>]*>)\s*/g, "$1");
137  }
138  if (text.indexOf("<figcaption") !== -1) {
139    text = text.replace(/\s*(<figcaption[^>]*>)/, "$1");
140    text = text.replace(/<\/figcaption>\s*/, "</figcaption>");
141  }
142  text = text.replace(/\n\n+/g, "\n\n");
143  const texts = text.split(/\n\s*\n/).filter(Boolean);
144  text = "";
145  texts.forEach((textPiece) => {
146    text += "<p>" + textPiece.replace(/^\n*|\n*$/g, "") + "</p>\n";
147  });
148  text = text.replace(/<p>\s*<\/p>/g, "");
149  text = text.replace(
150    /<p>([^<]+)<\/(div|address|form)>/g,
151    "<p>$1</p></$2>"
152  );
153  text = text.replace(
154    new RegExp("<p>\\s*(</?" + allBlocks + "[^>]*>)\\s*</p>", "g"),
155    "$1"
156  );
157  text = text.replace(/<p>(<li.+?)<\/p>/g, "$1");
158  text = text.replace(/<p><blockquote([^>]*)>/gi, "<blockquote$1><p>");
159  text = text.replace(/<\/blockquote><\/p>/g, "</p></blockquote>");
160  text = text.replace(
161    new RegExp("<p>\\s*(</?" + allBlocks + "[^>]*>)", "g"),
162    "$1"
163  );
164  text = text.replace(
165    new RegExp("(</?" + allBlocks + "[^>]*>)\\s*</p>", "g"),
166    "$1"
167  );
168  if (br) {
169    text = text.replace(
170      /<(script|style).*?<\/\\1>/g,
171      (match) => match[0].replace(/\n/g, "<WPPreserveNewline />")
172    );
173    text = text.replace(/<br>|<br\/>/g, "<br />");
174    text = text.replace(
175      /(<br \/>)?\s*\n/g,
176      (a, b) => b ? a : "<br />\n"
177    );
178    text = text.replace(/<WPPreserveNewline \/>/g, "\n");
179  }
180  text = text.replace(
181    new RegExp("(</?" + allBlocks + "[^>]*>)\\s*<br />", "g"),
182    "$1"
183  );
184  text = text.replace(
185    /<br \/>(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)[^>]*>)/g,
186    "$1"
187  );
188  text = text.replace(/\n<\/p>$/g, "</p>");
189  preTags.forEach((preTag) => {
190    const [name, original] = preTag;
191    text = text.replace(name, original);
192  });
193  if (-1 !== text.indexOf("<!-- wpnl -->")) {
194    text = text.replace(/\s?<!-- wpnl -->\s?/g, "\n");
195  }
196  return text;
197}
198function removep(html) {
199  const blocklist = "blockquote|ul|ol|li|dl|dt|dd|table|thead|tbody|tfoot|tr|th|td|h[1-6]|fieldset|figure";
200  const blocklist1 = blocklist + "|div|p";
201  const blocklist2 = blocklist + "|pre";
202  const preserve = [];
203  let preserveLinebreaks = false;
204  let preserveBr = false;
205  if (!html) {
206    return "";
207  }
208  if (html.indexOf("<script") !== -1 || html.indexOf("<style") !== -1) {
209    html = html.replace(
210      /<(script|style)[^>]*>[\s\S]*?<\/\1>/g,
211      (match) => {
212        preserve.push(match);
213        return "<wp-preserve>";
214      }
215    );
216  }
217  if (html.indexOf("<pre") !== -1) {
218    preserveLinebreaks = true;
219    html = html.replace(/<pre[^>]*>[\s\S]+?<\/pre>/g, (a) => {
220      a = a.replace(/<br ?\/?>(\r\n|\n)?/g, "<wp-line-break>");
221      a = a.replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g, "<wp-line-break>");
222      return a.replace(/\r?\n/g, "<wp-line-break>");
223    });
224  }
225  if (html.indexOf("[caption") !== -1) {
226    preserveBr = true;
227    html = html.replace(/\[caption[\s\S]+?\[\/caption\]/g, (a) => {
228      return a.replace(/<br([^>]*)>/g, "<wp-temp-br$1>").replace(/[\r\n\t]+/, "");
229    });
230  }
231  html = html.replace(
232    new RegExp("\\s*</(" + blocklist1 + ")>\\s*", "g"),
233    "</$1>\n"
234  );
235  html = html.replace(
236    new RegExp("\\s*<((?:" + blocklist1 + ")(?: [^>]*)?)>", "g"),
237    "\n<$1>"
238  );
239  html = html.replace(/(<p [^>]+>[\s\S]*?)<\/p>/g, "$1</p#>");
240  html = html.replace(/<div( [^>]*)?>\s*<p>/gi, "<div$1>\n\n");
241  html = html.replace(/\s*<p>/gi, "");
242  html = html.replace(/\s*<\/p>\s*/gi, "\n\n");
243  html = html.replace(/\n[\s\u00a0]+\n/g, "\n\n");
244  html = html.replace(/(\s*)<br ?\/?>\s*/gi, (_, space) => {
245    if (space && space.indexOf("\n") !== -1) {
246      return "\n\n";
247    }
248    return "\n";
249  });
250  html = html.replace(/\s*<div/g, "\n<div");
251  html = html.replace(/<\/div>\s*/g, "</div>\n");
252  html = html.replace(
253    /\s*\[caption([^\[]+)\[\/caption\]\s*/gi,
254    "\n\n[caption$1[/caption]\n\n"
255  );
256  html = html.replace(/caption\]\n\n+\[caption/g, "caption]\n\n[caption");
257  html = html.replace(
258    new RegExp("\\s*<((?:" + blocklist2 + ")(?: [^>]*)?)\\s*>", "g"),
259    "\n<$1>"
260  );
261  html = html.replace(
262    new RegExp("\\s*</(" + blocklist2 + ")>\\s*", "g"),
263    "</$1>\n"
264  );
265  html = html.replace(/<((li|dt|dd)[^>]*)>/g, " 	<$1>");
266  if (html.indexOf("<option") !== -1) {
267    html = html.replace(/\s*<option/g, "\n<option");
268    html = html.replace(/\s*<\/select>/g, "\n</select>");
269  }
270  if (html.indexOf("<hr") !== -1) {
271    html = html.replace(/\s*<hr( [^>]*)?>\s*/g, "\n\n<hr$1>\n\n");
272  }
273  if (html.indexOf("<object") !== -1) {
274    html = html.replace(/<object[\s\S]+?<\/object>/g, (a) => {
275      return a.replace(/[\r\n]+/g, "");
276    });
277  }
278  html = html.replace(/<\/p#>/g, "</p>\n");
279  html = html.replace(/\s*(<p [^>]+>[\s\S]*?<\/p>)/g, "\n$1");
280  html = html.replace(/^\s+/, "");
281  html = html.replace(/[\s\u00a0]+$/, "");
282  if (preserveLinebreaks) {
283    html = html.replace(/<wp-line-break>/g, "\n");
284  }
285  if (preserveBr) {
286    html = html.replace(/<wp-temp-br([^>]*)>/g, "<br$1>");
287  }
288  if (preserve.length) {
289    html = html.replace(/<wp-preserve>/g, () => {
290      return preserve.shift();
291    });
292  }
293  return html;
294}
295
296
297(window.wp = window.wp || {}).autop = __webpack_exports__;
298/******/ })()
299;

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.