From c417325c832ade17e0ae5fb8e2586ff8c36385cd Mon Sep 17 00:00:00 2001 From: "ALZAHRANI-PC\\riyad" Date: Sat, 4 Sep 2021 00:00:50 +0800 Subject: [PATCH 01/22] Add codeBlockButtonsContainer.js --- packages/core/src/plugins/codeBlockButtonsContainer.js | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 packages/core/src/plugins/codeBlockButtonsContainer.js diff --git a/packages/core/src/plugins/codeBlockButtonsContainer.js b/packages/core/src/plugins/codeBlockButtonsContainer.js new file mode 100644 index 0000000000..77266ad76e --- /dev/null +++ b/packages/core/src/plugins/codeBlockButtonsContainer.js @@ -0,0 +1,5 @@ +module.exports = { + getContainerHtml: function () { + return `
`; + } +} From 4b502aaf70721187a5df010542b3e396e41dbe0d Mon Sep 17 00:00:00 2001 From: "ALZAHRANI-PC\\riyad" Date: Sat, 4 Sep 2021 16:31:57 +0800 Subject: [PATCH 02/22] Rename copy-btn class to function-btn --- packages/core-web/src/styles/markbind.css | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/core-web/src/styles/markbind.css b/packages/core-web/src/styles/markbind.css index 03d57314a3..85a50a65db 100644 --- a/packages/core-web/src/styles/markbind.css +++ b/packages/core-web/src/styles/markbind.css @@ -241,12 +241,12 @@ li.footnote-item:target { opacity: 1; } -/* "Copy" code block button */ +/* "Copy" and "Wrap Text" code block buttons */ pre { position: relative; } -button.copy-btn { +button.function-btn { border: none; background-color: transparent; color: darkgray; @@ -260,21 +260,21 @@ button.copy-btn { white-space: nowrap; } -.copy-btn:hover { +.function-btn:hover { transition: all 0.5s ease; box-shadow: 0 0 0.25rem rgba(173, 173, 173, 0.8); } -.copy-btn-body { +.function-btn-body { align-items: center; display: flex; } -.copy-btn svg { +.function-btn svg { fill: currentColor; } -.copy-btn:focus { +.function-btn:focus { box-shadow: 0 0 0.125rem rgba(173, 173, 173, 0.8); } From 833dd82484ae11bec0ccb6349fafbd2f147ad2d6 Mon Sep 17 00:00:00 2001 From: "ALZAHRANI-PC\\riyad" Date: Sat, 4 Sep 2021 16:35:59 +0800 Subject: [PATCH 03/22] Add function-btn-container class --- packages/core-web/src/styles/markbind.css | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/core-web/src/styles/markbind.css b/packages/core-web/src/styles/markbind.css index 85a50a65db..1ad2a643c0 100644 --- a/packages/core-web/src/styles/markbind.css +++ b/packages/core-web/src/styles/markbind.css @@ -246,6 +246,13 @@ pre { position: relative; } +.function-btn-container { + display: flex; + position: relative; + right: 0.1rem; + top: 0.1rem; +} + button.function-btn { border: none; background-color: transparent; From c4ab07e1c93edfaadd3069cb424d308cecdb14f6 Mon Sep 17 00:00:00 2001 From: "ALZAHRANI-PC\\riyad" Date: Sat, 4 Sep 2021 16:37:13 +0800 Subject: [PATCH 04/22] Remove properties from button.function-btn class --- packages/core-web/src/styles/markbind.css | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/core-web/src/styles/markbind.css b/packages/core-web/src/styles/markbind.css index 1ad2a643c0..be0752e5cf 100644 --- a/packages/core-web/src/styles/markbind.css +++ b/packages/core-web/src/styles/markbind.css @@ -260,9 +260,6 @@ button.function-btn { cursor: pointer; display: inline-block; padding: 0.35rem; - position: absolute; - right: 0.1rem; - top: 0.1rem; text-align: center; white-space: nowrap; } From 2b3809a2dd182a632e45210684aeaa9f19f9920d Mon Sep 17 00:00:00 2001 From: "ALZAHRANI-PC\\riyad" Date: Sat, 4 Sep 2021 16:38:07 +0800 Subject: [PATCH 05/22] Update CSS class name --- packages/core/src/plugins/codeBlockButtonsContainer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/plugins/codeBlockButtonsContainer.js b/packages/core/src/plugins/codeBlockButtonsContainer.js index 77266ad76e..ae1263b6eb 100644 --- a/packages/core/src/plugins/codeBlockButtonsContainer.js +++ b/packages/core/src/plugins/codeBlockButtonsContainer.js @@ -1,5 +1,5 @@ module.exports = { getContainerHtml: function () { - return `
`; + return `
`; } } From 5ae23f81bf2fd5760540c358a87168866ccd3ca8 Mon Sep 17 00:00:00 2001 From: "ALZAHRANI-PC\\riyad" Date: Sat, 4 Sep 2021 19:32:09 +0800 Subject: [PATCH 06/22] Change container position to absolute --- packages/core-web/src/styles/markbind.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core-web/src/styles/markbind.css b/packages/core-web/src/styles/markbind.css index be0752e5cf..39ebd3a883 100644 --- a/packages/core-web/src/styles/markbind.css +++ b/packages/core-web/src/styles/markbind.css @@ -248,7 +248,7 @@ pre { .function-btn-container { display: flex; - position: relative; + position: absolute; right: 0.1rem; top: 0.1rem; } From 0cbd4876842edfc87277239e3a0dd4a0c7241dd8 Mon Sep 17 00:00:00 2001 From: "ALZAHRANI-PC\\riyad" Date: Sat, 4 Sep 2021 21:22:35 +0800 Subject: [PATCH 07/22] Add functions to exports --- .../src/plugins/codeBlockButtonsContainer.js | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/packages/core/src/plugins/codeBlockButtonsContainer.js b/packages/core/src/plugins/codeBlockButtonsContainer.js index ae1263b6eb..cde9387afa 100644 --- a/packages/core/src/plugins/codeBlockButtonsContainer.js +++ b/packages/core/src/plugins/codeBlockButtonsContainer.js @@ -1,5 +1,21 @@ -module.exports = { - getContainerHtml: function () { - return `
`; - } +const CONTAINER_HTML = `
`; + +function isFunctionBtnContainer(node) { + return node + .attribs + ?.class + ?.split(' ') + .includes('function-btn-container'); +} + +function doesFunctionBtnContainerExistInNode(node) { + return node + .children + ?.some(child => isFunctionBtnContainer(child)); } + +module.exports = { + CONTAINER_HTML, + isFunctionBtnContainer, + doesFunctionBtnContainerExistInNode +}; From 886476965c50772a36071b3eb7910c9b76517927 Mon Sep 17 00:00:00 2001 From: "ALZAHRANI-PC\\riyad" Date: Sat, 4 Sep 2021 23:02:13 +0800 Subject: [PATCH 08/22] Add codeBlockWrapButtons.js --- .../core/src/plugins/codeBlockWrapButtons.js | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 packages/core/src/plugins/codeBlockWrapButtons.js diff --git a/packages/core/src/plugins/codeBlockWrapButtons.js b/packages/core/src/plugins/codeBlockWrapButtons.js new file mode 100644 index 0000000000..f1a34cb9bb --- /dev/null +++ b/packages/core/src/plugins/codeBlockWrapButtons.js @@ -0,0 +1,58 @@ +// NOTE: this code is a modified copy of codeBlockCopyButtons.js + +const cheerio = module.parent.require('cheerio'); +const { + CONTAINER_HTML, + isFunctionBtnContainer, + doesFunctionBtnContainerExistInNode +} = require('./codeBlockButtonsContainer'); + +const WRAP_ICON = ` + + + + + +`; + +function getButtonHTML() { + const html = ``; + return html; +} + +const wrapCodeBlockScript = ``; + +module.exports = { + getScripts: () => [wrapCodeBlockScript], + processNode: (pluginContext, node) => { + if (node.name === 'pre' && !doesFunctionBtnContainerExistInNode(node)) { + cheerio(node).append(CONTAINER_HTML); + } else if (isFunctionBtnContainer(node)) { + cheerio(node).append(getButtonHTML()); + } else { + return; // Do nothing. + } + }, +}; From 5d2dbdb5da3cdbfc68d472babc5b909bb6f3c1f8 Mon Sep 17 00:00:00 2001 From: "ALZAHRANI-PC\\riyad" Date: Sat, 4 Sep 2021 23:02:51 +0800 Subject: [PATCH 09/22] Modify copy button to reside in container --- .../core/src/plugins/codeBlockCopyButtons.js | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/packages/core/src/plugins/codeBlockCopyButtons.js b/packages/core/src/plugins/codeBlockCopyButtons.js index 67c4155b8d..b7fbe5b5a1 100644 --- a/packages/core/src/plugins/codeBlockCopyButtons.js +++ b/packages/core/src/plugins/codeBlockCopyButtons.js @@ -1,4 +1,9 @@ const cheerio = module.parent.require('cheerio'); +const { + CONTAINER_HTML, + doesFunctionBtnContainerExistInNode, + isFunctionBtnContainer +} = require('./codeBlockButtonsContainer'); const COPY_ICON = ` -
+ const html = ``; @@ -26,7 +31,7 @@ function getButtonHTML() { const copyCodeBlockScript = ``; +/* module.exports = { getScripts: () => [copyCodeBlockScript], processNode: (pluginContext, node) => { @@ -50,3 +56,17 @@ module.exports = { cheerio(node).append(getButtonHTML()); }, }; +*/ + +module.exports = { + getScripts: () => [copyCodeBlockScript], + processNode: (pluginContext, node) => { + if (node.name === 'pre' && !doesFunctionBtnContainerExistInNode(node)) { + cheerio(node).append(CONTAINER_HTML); + } else if (isFunctionBtnContainer(node)) { + cheerio(node).append(getButtonHTML()); + } else { + return; // Do nothing. + } + }, +}; \ No newline at end of file From 5a334cc1f5b4938801b74bb2258a6dc4d6b66c9b Mon Sep 17 00:00:00 2001 From: "ALZAHRANI-PC\\riyad" Date: Sun, 5 Sep 2021 22:19:41 +0800 Subject: [PATCH 10/22] Add code.wrap class --- packages/core-web/src/styles/markbind.css | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/core-web/src/styles/markbind.css b/packages/core-web/src/styles/markbind.css index 39ebd3a883..fd08352ea4 100644 --- a/packages/core-web/src/styles/markbind.css +++ b/packages/core-web/src/styles/markbind.css @@ -241,7 +241,7 @@ li.footnote-item:target { opacity: 1; } -/* "Copy" and "Wrap Text" code block buttons */ +/* "Copy" and "wrap text" code block buttons */ pre { position: relative; } @@ -282,6 +282,11 @@ button.function-btn { box-shadow: 0 0 0.125rem rgba(173, 173, 173, 0.8); } +/* Wrap class used for "wrap text" button. */ +code.wrap { + white-space: pre-wrap; +} + /* Octicon sizing */ .octicon { height: 1em; From 20faf192a858c802d0069a9a1dffe7ceb80c34f1 Mon Sep 17 00:00:00 2001 From: "ALZAHRANI-PC\\riyad" Date: Sun, 5 Sep 2021 22:20:48 +0800 Subject: [PATCH 11/22] Use jQuery toggleClass method --- packages/core/src/plugins/codeBlockWrapButtons.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/core/src/plugins/codeBlockWrapButtons.js b/packages/core/src/plugins/codeBlockWrapButtons.js index f1a34cb9bb..508472c0f3 100644 --- a/packages/core/src/plugins/codeBlockWrapButtons.js +++ b/packages/core/src/plugins/codeBlockWrapButtons.js @@ -36,11 +36,7 @@ const wrapCodeBlockScript = ``; From 554055c7562fc096c908eb0da3ed86836022a596 Mon Sep 17 00:00:00 2001 From: "ALZAHRANI-PC\\riyad" Date: Sun, 5 Sep 2021 23:04:56 +0800 Subject: [PATCH 12/22] Use custom wrap text icon --- .../core/src/plugins/codeBlockWrapButtons.js | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/packages/core/src/plugins/codeBlockWrapButtons.js b/packages/core/src/plugins/codeBlockWrapButtons.js index 508472c0f3..ed398ab816 100644 --- a/packages/core/src/plugins/codeBlockWrapButtons.js +++ b/packages/core/src/plugins/codeBlockWrapButtons.js @@ -7,24 +7,29 @@ const { doesFunctionBtnContainerExistInNode } = require('./codeBlockButtonsContainer'); + const WRAP_ICON = ` - + `; function getButtonHTML() { const html = ``; return html; From 9128617639be4d4870113d1f4749462c175929db Mon Sep 17 00:00:00 2001 From: "ALZAHRANI-PC\\riyad" Date: Sun, 5 Sep 2021 23:39:18 +0800 Subject: [PATCH 13/22] Clean up and refactor code --- .../codeBlockButtonsContainer.js | 0 .../core/src/plugins/codeBlockCopyButtons.js | 17 +---------------- .../core/src/plugins/codeBlockWrapButtons.js | 5 +---- 3 files changed, 2 insertions(+), 20 deletions(-) rename packages/core/src/plugins/{ => codeBlockButtonsAssets}/codeBlockButtonsContainer.js (100%) diff --git a/packages/core/src/plugins/codeBlockButtonsContainer.js b/packages/core/src/plugins/codeBlockButtonsAssets/codeBlockButtonsContainer.js similarity index 100% rename from packages/core/src/plugins/codeBlockButtonsContainer.js rename to packages/core/src/plugins/codeBlockButtonsAssets/codeBlockButtonsContainer.js diff --git a/packages/core/src/plugins/codeBlockCopyButtons.js b/packages/core/src/plugins/codeBlockCopyButtons.js index b7fbe5b5a1..9758dd283f 100644 --- a/packages/core/src/plugins/codeBlockCopyButtons.js +++ b/packages/core/src/plugins/codeBlockCopyButtons.js @@ -3,7 +3,7 @@ const { CONTAINER_HTML, doesFunctionBtnContainerExistInNode, isFunctionBtnContainer -} = require('./codeBlockButtonsContainer'); +} = require('./codeBlockButtonsAssets/codeBlockButtonsContainer'); const COPY_ICON = ` } `; -/* -module.exports = { - getScripts: () => [copyCodeBlockScript], - processNode: (pluginContext, node) => { - if (node.name !== 'pre') { - return; - } - - cheerio(node).append(getButtonHTML()); - }, -}; -*/ - module.exports = { getScripts: () => [copyCodeBlockScript], processNode: (pluginContext, node) => { @@ -65,8 +52,6 @@ module.exports = { cheerio(node).append(CONTAINER_HTML); } else if (isFunctionBtnContainer(node)) { cheerio(node).append(getButtonHTML()); - } else { - return; // Do nothing. } }, }; \ No newline at end of file diff --git a/packages/core/src/plugins/codeBlockWrapButtons.js b/packages/core/src/plugins/codeBlockWrapButtons.js index ed398ab816..2d12c95e7f 100644 --- a/packages/core/src/plugins/codeBlockWrapButtons.js +++ b/packages/core/src/plugins/codeBlockWrapButtons.js @@ -5,7 +5,7 @@ const { CONTAINER_HTML, isFunctionBtnContainer, doesFunctionBtnContainerExistInNode -} = require('./codeBlockButtonsContainer'); +} = require('./codeBlockButtonsAssets/codeBlockButtonsContainer'); const WRAP_ICON = ` @@ -37,7 +37,6 @@ function getButtonHTML() { const wrapCodeBlockScript = `
`; function isFunctionBtnContainer(node) { - return node - .attribs - ?.class - ?.split(' ') - .includes('function-btn-container'); + return cheerio(node).hasClass('function-btn-container'); } function doesFunctionBtnContainerExistInNode(node) { - return node - .children - ?.some(child => isFunctionBtnContainer(child)); + return cheerio(node) + .children() + .is((index, element) => isFunctionBtnContainer(element)); } module.exports = { From a6e8efc00840ea6d3d27964cf4937447b4b9eb5d Mon Sep 17 00:00:00 2001 From: "ALZAHRANI-PC\\riyad" Date: Sat, 11 Sep 2021 17:45:32 +0800 Subject: [PATCH 16/22] Extend left border when code text is wrapped --- packages/core-web/src/styles/markbind.css | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/core-web/src/styles/markbind.css b/packages/core-web/src/styles/markbind.css index fd08352ea4..bba6a0641a 100644 --- a/packages/core-web/src/styles/markbind.css +++ b/packages/core-web/src/styles/markbind.css @@ -201,6 +201,7 @@ li.footnote-item:target { text-align: right; top: 0; width: 3em; + height: 100%; } /* hide popover, tooltip content */ From 41cf2cc40e62ef8333b0843789513aa9b66d64bd Mon Sep 17 00:00:00 2001 From: "ALZAHRANI-PC\\riyad" Date: Tue, 14 Sep 2021 03:54:42 +0800 Subject: [PATCH 17/22] Update user guide --- docs/images/wrapCodeOff.png | Bin 0 -> 9733 bytes docs/images/wrapCodeOn.png | Bin 0 -> 12901 bytes .../plugins/codeBlockWrapButtons.mbdf | 24 ++++++++++++++++++ docs/userGuide/syntax/code.mbdf | 11 ++++++++ docs/userGuide/usingPlugins.md | 1 + 5 files changed, 36 insertions(+) create mode 100644 docs/images/wrapCodeOff.png create mode 100644 docs/images/wrapCodeOn.png create mode 100644 docs/userGuide/plugins/codeBlockWrapButtons.mbdf diff --git a/docs/images/wrapCodeOff.png b/docs/images/wrapCodeOff.png new file mode 100644 index 0000000000000000000000000000000000000000..0b497b959af433e92f836717f78cf29c1a9897ce GIT binary patch literal 9733 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%0Af3VSk&MXc#$^PJHod^LK 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 literal 0 HcmV?d00001 diff --git a/docs/images/wrapCodeOn.png b/docs/images/wrapCodeOn.png new file mode 100644 index 0000000000000000000000000000000000000000..4e1cc73e80178a32d73eaebaaa96a617afb7b9bd GIT binary patch literal 12901 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 + +Clicking the 'wrap text' button will result in the following + + + +--Note: the default `foo` code was replaced with [_Lorem ipsum_](https://en.wikipedia.org/wiki/Lorem_ipsum) text for demonstration purposes.-- diff --git a/docs/userGuide/syntax/code.mbdf b/docs/userGuide/syntax/code.mbdf index 4802d37c80..9158932a68 100644 --- a/docs/userGuide/syntax/code.mbdf +++ b/docs/userGuide/syntax/code.mbdf @@ -168,6 +168,17 @@ A _copy_ button can be added to code blocks using the `codeBlockCopyButtons` plu
+##### Wrap text button + +A _wrap text_ button can be added to code blocks using the `codeBlockWrapButtons` plugin: + + + + + + +
+ #### Inline Code ##### Syntax coloring diff --git a/docs/userGuide/usingPlugins.md b/docs/userGuide/usingPlugins.md index 57fbf958b0..e3aac8d2e1 100644 --- a/docs/userGuide/usingPlugins.md +++ b/docs/userGuide/usingPlugins.md @@ -58,6 +58,7 @@ MarkBind has a set of built-in plugins that can be used immediately without inst + From f3e4d810af69bb8ce7ee0263de630beb8008fb74 Mon Sep 17 00:00:00 2001 From: "ALZAHRANI-PC\\riyad" Date: Tue, 14 Sep 2021 22:26:18 +0800 Subject: [PATCH 18/22] Fix code styling --- packages/core-web/src/styles/markbind.css | 10 +++++----- .../codeBlockButtonsContainer.js | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/core-web/src/styles/markbind.css b/packages/core-web/src/styles/markbind.css index bba6a0641a..a91ba29aeb 100644 --- a/packages/core-web/src/styles/markbind.css +++ b/packages/core-web/src/styles/markbind.css @@ -248,10 +248,10 @@ pre { } .function-btn-container { - display: flex; - position: absolute; - right: 0.1rem; - top: 0.1rem; + display: flex; + position: absolute; + right: 0.1rem; + top: 0.1rem; } button.function-btn { @@ -285,7 +285,7 @@ button.function-btn { /* Wrap class used for "wrap text" button. */ code.wrap { - white-space: pre-wrap; + white-space: pre-wrap; } /* Octicon sizing */ diff --git a/packages/core/src/plugins/codeBlockButtonsAssets/codeBlockButtonsContainer.js b/packages/core/src/plugins/codeBlockButtonsAssets/codeBlockButtonsContainer.js index 2a69c4548d..6f7f23fccd 100644 --- a/packages/core/src/plugins/codeBlockButtonsAssets/codeBlockButtonsContainer.js +++ b/packages/core/src/plugins/codeBlockButtonsAssets/codeBlockButtonsContainer.js @@ -1,5 +1,5 @@ const cheerio = module.parent.require('cheerio'); -const CONTAINER_HTML = `
`; +const CONTAINER_HTML = '
'; function isFunctionBtnContainer(node) { return cheerio(node).hasClass('function-btn-container'); @@ -14,5 +14,5 @@ function doesFunctionBtnContainerExistInNode(node) { module.exports = { CONTAINER_HTML, isFunctionBtnContainer, - doesFunctionBtnContainerExistInNode + doesFunctionBtnContainerExistInNode, }; From 313dcee1b28297d7553e23bc819d371ad501294b Mon Sep 17 00:00:00 2001 From: "ALZAHRANI-PC\\riyad" Date: Wed, 6 Oct 2021 11:41:23 +0800 Subject: [PATCH 19/22] Modify function buttons styling --- packages/core-web/src/styles/markbind.css | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/packages/core-web/src/styles/markbind.css b/packages/core-web/src/styles/markbind.css index a91ba29aeb..00014e5452 100644 --- a/packages/core-web/src/styles/markbind.css +++ b/packages/core-web/src/styles/markbind.css @@ -24,6 +24,7 @@ pre > code.hljs { background-clip: padding-box; /* for IE9+, Firefox 4+, Opera, Chrome */ border-radius: 5px; counter-reset: line; + width: 100%; } pre > code.hljs[heading] { @@ -245,13 +246,12 @@ li.footnote-item:target { /* "Copy" and "wrap text" code block buttons */ pre { position: relative; + display: flex; } .function-btn-container { - display: flex; - position: absolute; - right: 0.1rem; - top: 0.1rem; + display: grid; + height: max-content; } button.function-btn { @@ -267,7 +267,7 @@ button.function-btn { .function-btn:hover { transition: all 0.5s ease; - box-shadow: 0 0 0.25rem rgba(173, 173, 173, 0.8); + color: gray; } .function-btn-body { @@ -279,10 +279,6 @@ button.function-btn { fill: currentColor; } -.function-btn:focus { - box-shadow: 0 0 0.125rem rgba(173, 173, 173, 0.8); -} - /* Wrap class used for "wrap text" button. */ code.wrap { white-space: pre-wrap; From 27300c0af81e9409e6feae025d1d5276bc93ddb5 Mon Sep 17 00:00:00 2001 From: "ALZAHRANI-PC\\riyad" Date: Wed, 6 Oct 2021 11:49:44 +0800 Subject: [PATCH 20/22] Add word-break text wrapping --- packages/core-web/src/styles/markbind.css | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/core-web/src/styles/markbind.css b/packages/core-web/src/styles/markbind.css index 00014e5452..b0b1ad9fb1 100644 --- a/packages/core-web/src/styles/markbind.css +++ b/packages/core-web/src/styles/markbind.css @@ -25,6 +25,7 @@ pre > code.hljs { border-radius: 5px; counter-reset: line; width: 100%; + word-wrap: break-word; } pre > code.hljs[heading] { From 1b6c65622aa1d92d4734e08d916d43ef44c2d4f6 Mon Sep 17 00:00:00 2001 From: "ALZAHRANI-PC\\riyad" Date: Wed, 6 Oct 2021 11:53:18 +0800 Subject: [PATCH 21/22] Move word-wrap property to code.wrap --- packages/core-web/src/styles/markbind.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core-web/src/styles/markbind.css b/packages/core-web/src/styles/markbind.css index b0b1ad9fb1..061cf38acb 100644 --- a/packages/core-web/src/styles/markbind.css +++ b/packages/core-web/src/styles/markbind.css @@ -25,7 +25,6 @@ pre > code.hljs { border-radius: 5px; counter-reset: line; width: 100%; - word-wrap: break-word; } pre > code.hljs[heading] { @@ -283,6 +282,7 @@ button.function-btn { /* Wrap class used for "wrap text" button. */ code.wrap { white-space: pre-wrap; + word-wrap: break-word; } /* Octicon sizing */ From c56314e57e4248a564c42e66473fee5f04dde80c Mon Sep 17 00:00:00 2001 From: "ALZAHRANI-PC\\riyad" Date: Wed, 6 Oct 2021 12:36:23 +0800 Subject: [PATCH 22/22] Update user guide --- docs/images/copyCode.png | Bin 6328 -> 6591 bytes docs/images/wrapCodeOff.png | Bin 9733 -> 9773 bytes docs/images/wrapCodeOn.png | Bin 12901 -> 15463 bytes docs/images/wrapCodeOnWordBreak.png | Bin 0 -> 14665 bytes .../plugins/codeBlockCopyButtons.mbdf | 4 ++-- .../plugins/codeBlockWrapButtons.mbdf | 10 +++++++--- 6 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 docs/images/wrapCodeOnWordBreak.png diff --git a/docs/images/copyCode.png b/docs/images/copyCode.png index 9453e2c5ec152c5f01351e4ac7ab74043bdca828..6cf282a49f945c2f9eeff14aa3b6734f2a40494c 100644 GIT binary patch literal 6591 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 literal 6328 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%0Af3VSk&MXc#$^PJHod^LK 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 diff --git a/docs/images/wrapCodeOn.png b/docs/images/wrapCodeOn.png index 4e1cc73e80178a32d73eaebaaa96a617afb7b9bd..1e06f591546a62c54db318aca666e9786278258e 100644 GIT binary patch literal 15463 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 literal 12901 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 diff --git a/docs/userGuide/plugins/codeBlockWrapButtons.mbdf b/docs/userGuide/plugins/codeBlockWrapButtons.mbdf index 2cebbb4fbd..84822dc942 100644 --- a/docs/userGuide/plugins/codeBlockWrapButtons.mbdf +++ b/docs/userGuide/plugins/codeBlockWrapButtons.mbdf @@ -1,6 +1,6 @@ ### Plugin: `codeBlockWrapButtons` -This plugin adds a 'wrap text' button to fenced code blocks so that readers can read long lines of code without scrolling sideways. +This plugin adds a *wrap text* button to fenced code blocks so that readers can read long lines of code without scrolling sideways. To enable it, simply add `codeBlockWrapButtons` to your site's plugins. @@ -13,12 +13,16 @@ To enable it, simply add `codeBlockWrapButtons` to your site's plugins. } ``` -This is what it'll look like once added +This is what it'll look like once added: -Clicking the 'wrap text' button will result in the following +Clicking the *wrap text* button will result in the following: +In case a single long word is encountered, it will be split across multiple lines similar to the following: + + + --Note: the default `foo` code was replaced with [_Lorem ipsum_](https://en.wikipedia.org/wiki/Lorem_ipsum) text for demonstration purposes.--