From e3dd68e19cd06ddea7c7eb127c836d8462536bac Mon Sep 17 00:00:00 2001 From: Peter Jaszkowiak Date: Mon, 28 Nov 2016 12:53:47 -0700 Subject: [PATCH] Explanations and simplifications --- public/src/admin/modules/search.js | 7 ++++- src/admin/search.js | 43 ++++++++++++++++++++++++++---- 2 files changed, 44 insertions(+), 6 deletions(-) diff --git a/public/src/admin/modules/search.js b/public/src/admin/modules/search.js index 0a5d3dde56..c7f660149a 100644 --- a/public/src/admin/modules/search.js +++ b/public/src/admin/modules/search.js @@ -19,11 +19,16 @@ define(function () { var title = params.title == null ? nsToTitle(namespace) : params.title; var results = translations + // remove all lines without a match .replace(new RegExp('^(?:(?!' + term + ').)*$', 'gmi'), '') + // get up to 25 characaters of context on both sides of the match + // and wrap the match in a `.search-match` element .replace( new RegExp('^[\\s\\S]*?(.{0,25})(' + term + ')(.{0,25})[\\s\\S]*?$', 'gmi'), '...$1$2$3...
' - ).replace(/(\n ?)+/g, '\n'); + ) + // collapse whitespace + .replace(/(?:\n ?)+/g, '\n'); return '