From a264b5652c87b9fe25dd1059811de961c81055b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Tue, 20 Oct 2020 09:47:00 -0400 Subject: [PATCH 1/2] update highlight.js, use standard css, add plaintext+julia syntax --- package-lock.json | 39 +++----- package.json | 2 +- src/components/css/highlight.css | 150 ------------------------------- src/third-party/highlight.js | 8 +- 4 files changed, 19 insertions(+), 180 deletions(-) delete mode 100644 src/components/css/highlight.css diff --git a/package-lock.json b/package-lock.json index c7db962ea..e6bced478 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8782,30 +8782,9 @@ } }, "highlight.js": { - "version": "9.17.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.17.1.tgz", - "integrity": "sha512-TA2/doAur5Ol8+iM3Ov7qy3jYcr/QiJ2eDTdRF4dfbjG7AaaB99J5G+zSl11ljbl6cIcahgPY6SKb3sC3EJ0fw==", - "requires": { - "handlebars": "^4.5.3" - }, - "dependencies": { - "handlebars": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.3.tgz", - "integrity": "sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA==", - "requires": { - "neo-async": "^2.6.0", - "optimist": "^0.6.1", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.3.1.tgz", + "integrity": "sha512-jeW8rdPdhshYKObedYg5XGbpVgb1/DT4AHvDFXhkU7UnGSIjy9kkJ7zHG7qplhFHMitTSzh5/iClKQk3Kb2RFQ==" }, "hmac-drbg": { "version": "1.0.1", @@ -12027,7 +12006,8 @@ "neo-async": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", - "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==" + "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", + "dev": true }, "next-tick": { "version": "1.0.0", @@ -12540,6 +12520,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, "requires": { "minimist": "~0.0.1", "wordwrap": "~0.0.2" @@ -12548,12 +12529,14 @@ "minimist": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true }, "wordwrap": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true } } }, @@ -17153,6 +17136,7 @@ "version": "3.5.0", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.0.tgz", "integrity": "sha512-kY2sHdru6BcIDg+i1SCZ1bpPhZJ6yiE0bEKLEJDC4M/lDSMhr/zVJeuEzvHJGjAXJCizSzUVh9atREf2jnR7yQ==", + "dev": true, "optional": true, "requires": { "commander": "~2.19.0", @@ -17163,6 +17147,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, "optional": true } } diff --git a/package.json b/package.json index fb804341f..81174b299 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "dependencies": { "color": "^3.1.0", "fast-isnumeric": "^1.1.3", - "highlight.js": "^9.17.1", + "highlight.js": "^10.3.1", "moment": "^2.20.1", "plotly.js": "1.55.2", "prop-types": "^15.6.0", diff --git a/src/components/css/highlight.css b/src/components/css/highlight.css deleted file mode 100644 index 0aecaad29..000000000 --- a/src/components/css/highlight.css +++ /dev/null @@ -1,150 +0,0 @@ -/** - * Default styles - */ -.hljs { - display: block; - padding: 0.5em; - overflow-x: auto; -} - -.hljs-emphasis { - font-style: italic; -} - -.hljs-strong { - font-weight: bold; -} - -/** - * Light theme styles - * Light theme from react-syntax-highlighter 'arduino-light' - * https://github.com/conorhastings/react-syntax-highlighter/blob/master/src/styles/hljs/arduino-light.js - */ -.hljs { - background: #FFFFFF; - color: #434f54; -} - -.hljs-comment { - color: rgba(149,165,166,.8); -} - -.hljs-built_in, -.hljs-literal, -.hljs-bullet, -.hljs-code, -.hljs-addition { - color: #D35400; -} - -.hljs-meta-keyboard, -.hljs-function { - color: #728E00; -} - -.hljs-meta { - color: #434f54; -} - -.hljs-type, -.hljs-string, -.hljs-selector-id, -.hljs-selector-class, -.hljs-quote, -.hljs-template-tag, -.hljs-deletion { - color: #005C5F; -} - -.hljs-title, -.hljs-section { - color: #880000; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-attribute, -.hljs-tag, -.hljs-doctag, -.hljs-name, -.hljs-regexp, -.hljs-symbol, -.hljs-variable, -.hljs-template-variable, -.hljs-link, -.hljs-selector-attr, -.hljs-selector-psuedo { - color: #00979D; -} - -.hljs-subst { - color: #434f54; -} - -.hljs-number { - color: #8A7B52; -} - -/** - * Dark theme styles - * Dark theme from react-syntax-highlighter 'monokai' - * https://github.com/conorhastings/react-syntax-highlighter/blob/master/src/styles/hljs/monokai.js - */ -.hljs-dark .hljs { - background: #272822; - color: #ddd; -} - -.hljs-dark .hljs-tag, -.hljs-dark .hljs-keyword, -.hljs-dark .hljs-selector-tag, -.hljs-dark .hljs-literal, -.hljs-dark .hljs-strong, -.hljs-dark .hljs-name { - color: #f92672; -} - -.hljs-dark .hljs-code { - color: #66d9ef; -} - -.hljs-dark .hljs-class .hljs-title { - color: #ffffff; -} - -.hljs-dark .hljs-attribute, -.hljs-dark .hljs-symbol, -.hljs-dark .hljs-regexp, -.hljs-dark .hljs-link { - color: #bf79db; -} - -.hljs-dark .hljs-string, -.hljs-dark .hljs-bullet, -.hljs-dark .hljs-subst, -.hljs-dark .hljs-title, -.hljs-dark .hljs-section, -.hljs-dark .hljs-emphasis, -.hljs-dark .hljs-type, -.hljs-dark .hljs-built_in, -.hljs-dark .hljs-builtin-name, -.hljs-dark .hljs-selector-attr, -.hljs-dark .hljs-selector-pseudo, -.hljs-dark .hljs-addition, -.hljs-dark .hljs-variable, -.hljs-dark .hljs-template-tag, -.hljs-dark .hljs-template-variable { - color: #a6e22e; -} - -.hljs-dark .hljs-comment, -.hljs-dark .hljs-quote, -.hljs-dark .hljs-deletion, -.hljs-dark .hljs-meta { - color: #75715e; -} - -.hljs-dark .hljs-doctag, -.hljs-dark .hljs-selector-id { - font-weight: bold; -} diff --git a/src/third-party/highlight.js b/src/third-party/highlight.js index 233915782..30d072ffa 100644 --- a/src/third-party/highlight.js +++ b/src/third-party/highlight.js @@ -1,12 +1,14 @@ -import highlightjs from 'highlight.js/lib/highlight'; -import '../components/css/highlight.css'; +import highlightjs from 'highlight.js/lib/core'; +import 'highlight.js/styles/github.css'; import bash from 'highlight.js/lib/languages/bash'; import css from 'highlight.js/lib/languages/css'; import http from 'highlight.js/lib/languages/http'; import javascript from 'highlight.js/lib/languages/javascript'; import json from 'highlight.js/lib/languages/json'; +import julia from 'highlight.js/lib/languages/julia'; import markdown from 'highlight.js/lib/languages/markdown'; +import plaintext from 'highlight.js/lib/languages/plaintext'; import python from 'highlight.js/lib/languages/python'; import r from 'highlight.js/lib/languages/r'; import ruby from 'highlight.js/lib/languages/ruby'; @@ -20,7 +22,9 @@ highlightjs.registerLanguage('css', css); highlightjs.registerLanguage('http', http); highlightjs.registerLanguage('javascript', javascript); highlightjs.registerLanguage('json', json); +highlightjs.registerLanguage('julia', julia); highlightjs.registerLanguage('markdown', markdown); +highlightjs.registerLanguage('plaintext', plaintext); highlightjs.registerLanguage('python', python); highlightjs.registerLanguage('r', r); highlightjs.registerLanguage('ruby', ruby); From 41ea12cbae509c6007e0e8663fa122cebe338d6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andre=CC=81=20Rivet?= Date: Tue, 20 Oct 2020 09:55:43 -0400 Subject: [PATCH 2/2] changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a0649fa2..d8c39570a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [Unreleased] +### Added +- [#871](https://github.com/plotly/dash-core-components/pull/871) Add Julia syntax highlighting support for dcc.Markdown + ## [1.12.1] - 2020-09-16 ### Fixed - [#854](https://github.com/plotly/dash-core-components/pull/854) Used `persistenceTransforms` to strip the time part of the datetime in the persited props of DatePickerSingle (date) and DatePickerRange (end_date, start_date), fixing [dcc#700](https://github.com/plotly/dash-core-components/issues/700).