anchor.diff:        var pastedTextLength = contentInput.value.length - (initialText.length - selectionLength);
         var end = pasteAtIndex + pastedTextLength;
         var pastedText = contentInput.value.substring(pasteAtIndex, end);
  -      _onTextPasted(selectionText, pastedText);
  +      _onTextPasted(selectionText, pastedText.trim());
       });
   
       // clipboardData only support in chrome, give up
  
positive.code:   }
  
    void _onTextPasted(String selectionText, String text) {
      //detect only pure link text
      var match = _PURE_LINK_REGEX.firstMatch(text);
      if (match == null) {
  
negative.code:       return;
      }
  
      if (_isLinkOnReferenceAppendix(contentInput.value, link)) {
        return;
      }
  
      _applyAutoLink(selectionText, link);
    }
  
    /**
     * two cases:
     *
     * 1. user manually editing appendix section, when he paste into this section,
     *    we should not process it
     * 2. user paste a link in textarea, but the link already in appendix, we ignore this case too.
     */
    bool _isLinkOnReferenceAppendix(String fullText, String link) {
      var existRefs = ReferenceAppendix.tryParse(fullText);
      return existRefs.any((ref) => ref.url == link);
    }
  
    /**
  