mirror of
				https://github.com/AppFlowy-IO/AppFlowy.git
				synced 2025-11-04 03:54:44 +00:00 
			
		
		
		
	* fix: lose focus in editor on open settings dialog * fix: support CTRL+. for sidebar toggle * fix: make notify method private * fix: copy for video block * fix: copy for notification setting * fix: add libmpv to appimage builder * fix: missing tabs bloc from context * ci: add libmpv-dev to missing workflows * fix: do not depend on inherited widget in dispose * test: add media kit ensureInitialized to integration tests * fix: use maybeOf for AFFocusManager * fix: use pattern matching for youtube error * fix: missed null-promise on convertion
		
			
				
	
	
		
			38 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
const _trailingZerosPattern = r'^(\d+(?:\.\d*?[1-9](?=0|\b))?)\.?0*$';
 | 
						|
final trailingZerosRegex = RegExp(_trailingZerosPattern);
 | 
						|
 | 
						|
const _hrefPattern =
 | 
						|
    r'https?://(?:www\.)?[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,}(?:/[^\s]*)?';
 | 
						|
final hrefRegex = RegExp(_hrefPattern);
 | 
						|
 | 
						|
/// This pattern allows for both HTTP and HTTPS Scheme
 | 
						|
/// It allows for query parameters
 | 
						|
/// It only allows the following image extensions: .png, .jpg, .gif, .webm
 | 
						|
///
 | 
						|
const _imgUrlPattern =
 | 
						|
    r'(https?:\/\/)([^\s(["<,>/]*)(\/)[^\s[",><]*(.png|.jpg|.gif|.webm)(\?[^\s[",><]*)?';
 | 
						|
final imgUrlRegex = RegExp(_imgUrlPattern);
 | 
						|
 | 
						|
/// This pattern allows for both HTTP and HTTPS Scheme
 | 
						|
/// It allows for query parameters
 | 
						|
/// It only allows the following video extensions:
 | 
						|
///  .mp4, .mov, .avi, .webm, .flv, .m4v (mpeg), .mpeg, .h264,
 | 
						|
///
 | 
						|
const _videoUrlPattern =
 | 
						|
    r'(https?:\/\/)([^\s(["<,>/]*)(\/)[^\s[",><]*(.mp4|.mov|.avi|.webm|.flv|.m4v|.mpeg|.h264)(\?[^\s[",><]*)?';
 | 
						|
final videoUrlRegex = RegExp(_videoUrlPattern);
 | 
						|
 | 
						|
/// This pattern matches both youtube.com and shortened youtu.be urls.
 | 
						|
///
 | 
						|
const _youtubeUrlPattern = r'^(https?:\/\/)?(www\.)?(youtube\.com|youtu\.be)\/';
 | 
						|
final youtubeUrlRegex = RegExp(_youtubeUrlPattern);
 | 
						|
 | 
						|
const _appflowyCloudUrlPattern = r'^(https:\/\/)(.*)(\.appflowy\.cloud\/)(.*)';
 | 
						|
final appflowyCloudUrlRegex = RegExp(_appflowyCloudUrlPattern);
 | 
						|
 | 
						|
const _camelCasePattern = '(?<=[a-z])[A-Z]';
 | 
						|
final camelCaseRegex = RegExp(_camelCasePattern);
 | 
						|
 | 
						|
const _macOSVolumesPattern = '^/Volumes/[^/]+';
 | 
						|
final macOSVolumesRegex = RegExp(_macOSVolumesPattern);
 |