mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-04 07:24:13 +00:00 
			
		
		
		
	Fix MFM URL parsing
This commit is contained in:
		
							parent
							
								
									63c659bc8f
								
							
						
					
					
						commit
						285d0d13f9
					
				
					 2 changed files with 12 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -164,8 +164,10 @@ export const mfmLanguage = P.createLanguage({
 | 
			
		|||
			} else
 | 
			
		||||
				url = match[0];
 | 
			
		||||
			url = removeOrphanedBrackets(url);
 | 
			
		||||
			if (url.endsWith('.')) url = url.substr(0, url.lastIndexOf('.'));
 | 
			
		||||
			if (url.endsWith(',')) url = url.substr(0, url.lastIndexOf(','));
 | 
			
		||||
			while (url.endsWith('.') || url.endsWith(',')) {
 | 
			
		||||
				if (url.endsWith('.')) url = url.substr(0, url.lastIndexOf('.'));
 | 
			
		||||
				if (url.endsWith(',')) url = url.substr(0, url.lastIndexOf(','));
 | 
			
		||||
			}
 | 
			
		||||
			return P.makeSuccess(i + url.length, url);
 | 
			
		||||
		}).map(x => createLeaf('url', { url: x }));
 | 
			
		||||
	},
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -804,6 +804,14 @@ describe('MFM', () => {
 | 
			
		|||
				]);
 | 
			
		||||
			});
 | 
			
		||||
 | 
			
		||||
			it('ignore trailing periods', () => {
 | 
			
		||||
				const tokens = parse('https://example.com...');
 | 
			
		||||
				assert.deepStrictEqual(tokens, [
 | 
			
		||||
					leaf('url', { url: 'https://example.com' }),
 | 
			
		||||
					text('...')
 | 
			
		||||
				]);
 | 
			
		||||
			});
 | 
			
		||||
 | 
			
		||||
			it('with comma', () => {
 | 
			
		||||
				const tokens = parse('https://example.com/foo?bar=a,b');
 | 
			
		||||
				assert.deepStrictEqual(tokens, [
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue