From 804d8cd81fddb5aa40802984238fe1ca0f44890e Mon Sep 17 00:00:00 2001 From: Kyle Taylor Date: Fri, 8 Nov 2019 02:58:50 -0600 Subject: [PATCH] Add Bokeh JS detection - fixes #2253 --- src/apps.json | 15 +++++++++++++++ src/icons/bokeh.png | Bin 0 -> 17742 bytes 2 files changed, 15 insertions(+) create mode 100644 src/icons/bokeh.png diff --git a/src/apps.json b/src/apps.json index 883d3a5a7..7618f4197 100644 --- a/src/apps.json +++ b/src/apps.json @@ -4726,6 +4726,21 @@ "script": "highcharts.*\\.js", "website": "https://www.highcharts.com" }, + "Bokeh": { + "cats": [ + 25 + ], + "js": { + "Bokeh": "", + "Bokeh.version": "^(.+)$\\;version:\\1" + }, + "script": "bokeh.*\\.js", + "website": "https://bokeh.org", + "icon": "bokeh.png", + "implies": [ + "Python" + ] + }, "Highlight.js": { "cats": [ 19 diff --git a/src/icons/bokeh.png b/src/icons/bokeh.png new file mode 100644 index 0000000000000000000000000000000000000000..b8c5167e5e5cf73d73078c4716e2e9f0d4b8370e GIT binary patch literal 17742 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 literal 0 HcmV?d00001