|  | @@ -17,8 +17,7 @@
 | 
	
		
			
				|  |  |           class="text-upper text-right text-red"/>
 | 
	
		
			
				|  |  |        <div v-else class="edit-hint text-right ellipsis">
 | 
	
		
			
				|  |  |          <a :href="externalEditorInfoUrl"
 | 
	
		
			
				|  |  | -           target="_blank"
 | 
	
		
			
				|  |  | -           rel="noopener noreferrer"
 | 
	
		
			
				|  |  | +           v-bind="EXTERNAL_LINK_PROPS"
 | 
	
		
			
				|  |  |             v-text="i18n('editHowToHint')"/>
 | 
	
		
			
				|  |  |        </div>
 | 
	
		
			
				|  |  |        <div class="mr-1">
 | 
	
	
		
			
				|  | @@ -83,7 +82,7 @@
 | 
	
		
			
				|  |  |        </locale-group>
 | 
	
		
			
				|  |  |        <p v-for="e in errors" :key="e" v-text="e" class="text-red"/>
 | 
	
		
			
				|  |  |        <p class="my-1" v-if="errors">
 | 
	
		
			
				|  |  | -        <a :href="urlMatching" target="_blank" rel="noopener noreferrer" v-text="urlMatching"/>
 | 
	
		
			
				|  |  | +        <a :href="VM_DOCS_MATCHING" v-bind="EXTERNAL_LINK_PROPS" v-text="VM_DOCS_MATCHING"/>
 | 
	
		
			
				|  |  |        </p>
 | 
	
		
			
				|  |  |      </div>
 | 
	
		
			
				|  |  |    </div>
 | 
	
	
		
			
				|  | @@ -95,17 +94,18 @@ import {
 | 
	
		
			
				|  |  |    debounce, formatByteLength, getScriptName, getScriptUpdateUrl, i18n, isEmpty,
 | 
	
		
			
				|  |  |    nullBool2string, sendCmdDirectly, trueJoin,
 | 
	
		
			
				|  |  |  } from '@/common';
 | 
	
		
			
				|  |  | +import { VM_DOCS_MATCHING } from '@/common/consts';
 | 
	
		
			
				|  |  |  import { deepCopy, deepEqual, objectPick } from '@/common/object';
 | 
	
		
			
				|  |  |  import { externalEditorInfoUrl, focusMe, getActiveElement, showMessage } from '@/common/ui';
 | 
	
		
			
				|  |  |  import { keyboardService } from '@/common/keyboard';
 | 
	
		
			
				|  |  |  import options from '@/common/options';
 | 
	
		
			
				|  |  |  import { getUnloadSentry } from '@/common/router';
 | 
	
		
			
				|  |  | +import { EXTERNAL_LINK_PROPS } from '@/common/ui';
 | 
	
		
			
				|  |  |  import {
 | 
	
		
			
				|  |  |    kDownloadURL, kExclude, kExcludeMatch, kHomepageURL, kIcon, kInclude, kMatch, kName, kOrigExclude, kOrigExcludeMatch,
 | 
	
		
			
				|  |  |    kOrigInclude, kOrigMatch, kUpdateURL,
 | 
	
		
			
				|  |  |  } from '../../utils';
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -const urlMatching = 'https://violentmonkey.github.io/api/matching/';
 | 
	
		
			
				|  |  |  const CUSTOM_PROPS = {
 | 
	
		
			
				|  |  |    [kName]: '',
 | 
	
		
			
				|  |  |    [kHomepageURL]: '',
 |