Yuki Takei před 3 roky
rodič
revize
0bf94492bb

+ 1 - 1
packages/app/src/components/PageEditor/ScrollSyncHelper.js

@@ -13,7 +13,7 @@ class ScrollSyncHelper {
     let elements;
     if (!elements) {
       elements = Array.prototype.map.call(
-        parentElement.getElementsByClassName('code-line'),
+        parentElement.getElementsByClassName('has-data-line'),
         (element) => {
           const line = +element.getAttribute('data-line');
           return { element, line };

+ 8 - 3
packages/app/src/services/renderer/rehype-plugins/add-line-number-attribute.ts

@@ -8,9 +8,14 @@ export const addLineNumberAttribute: Plugin = () => {
   return (tree) => {
     visit(tree, 'element', (node: Element) => {
       if (REGEXP_TARGET_TAGNAMES.test(node.tagName as string)) {
-        if (node.properties != null) {
-          node.properties['data-line'] = node.position?.start.line;
-        }
+        const properties = node.properties ?? {};
+
+        // add class
+        properties.className = [properties.className as string ?? '', 'has-data-line'];
+        // add attribute
+        properties['data-line'] = node.position?.start.line;
+
+        node.properties = properties;
       }
     });
   };