option to supress inline links
							parent
							
								
									994c97da6d
								
							
						
					
					
						commit
						b43206d0c0
					
				|  | @ -31,12 +31,15 @@ app.use(express.urlencoded({ | ||||||
| app.get('/', (req, res) => { | app.get('/', (req, res) => { | ||||||
| 	url = req.query.url; | 	url = req.query.url; | ||||||
| 	title = req.query.title; | 	title = req.query.title; | ||||||
|  | 	links = req.query.links; | ||||||
| 	let inline_title = false; | 	let inline_title = false; | ||||||
| 	if (title) | 	if (title) | ||||||
| 		inline_title = !!JSON.parse(title); | 		inline_title = !!JSON.parse(title); | ||||||
|  | 	if (links) | ||||||
|  | 		links = !JSON.parse(links); | ||||||
| 	if (url && validURL(url)) { | 	if (url && validURL(url)) { | ||||||
| 		send_headers(res); | 		send_headers(res); | ||||||
| 		read_url(url, res, inline_title); | 		read_url(url, res, inline_title, links); | ||||||
| 	} else { | 	} else { | ||||||
| 		res.status(400).send("Please specify a valid url query parameter"); | 		res.status(400).send("Please specify a valid url query parameter"); | ||||||
| 	} | 	} | ||||||
|  | @ -85,16 +88,16 @@ function process_dom(url, document, res, inline_title) { | ||||||
| 	for (let i=0;i<replacement.placeholders.length;i++) { | 	for (let i=0;i<replacement.placeholders.length;i++) { | ||||||
| 		markdown = markdown.replace(replacement.placeholders[i], replacement.tables[i]); | 		markdown = markdown.replace(replacement.placeholders[i], replacement.tables[i]); | ||||||
| 	} | 	} | ||||||
| 	let result = (url) ? common_filters.filter(url, markdown) : markdown; | 	let result = (url) ? common_filters.filter(url, markdown, links) : markdown; | ||||||
| 	if (inline_title && title) { | 	if (inline_title && title) { | ||||||
| 		result = "# " + title.textContent + "\n" + result; | 		result = "# " + title.textContent + "\n" + result; | ||||||
| 	} | 	} | ||||||
| 	return result; | 	return result; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function read_url(url, res, inline_title) { | function read_url(url, res, inline_title, links) { | ||||||
| 	JSDOM.fromURL(url).then((document)=>{ | 	JSDOM.fromURL(url).then((document)=>{ | ||||||
| 		let markdown = process_dom(url, document, res, inline_title); | 		let markdown = process_dom(url, document, res, inline_title, links); | ||||||
| 		res.send(markdown); | 		res.send(markdown); | ||||||
| 	}).catch((error)=> { | 	}).catch((error)=> { | ||||||
| 		res.status(400).send("Sorry, could not fetch and convert that URL"); | 		res.status(400).send("Sorry, could not fetch and convert that URL"); | ||||||
|  |  | ||||||
|  | @ -1 +0,0 @@ | ||||||
| ../acorn/bin/acorn |  | ||||||
										
											Binary file not shown.
										
									
								
							|  | @ -1 +0,0 @@ | ||||||
| ../escodegen/bin/escodegen.js |  | ||||||
										
											Binary file not shown.
										
									
								
							|  | @ -1 +0,0 @@ | ||||||
| ../escodegen/bin/esgenerate.js |  | ||||||
										
											Binary file not shown.
										
									
								
							|  | @ -1 +0,0 @@ | ||||||
| ../esprima/bin/esparse.js |  | ||||||
										
											Binary file not shown.
										
									
								
							|  | @ -1 +0,0 @@ | ||||||
| ../esprima/bin/esvalidate.js |  | ||||||
										
											Binary file not shown.
										
									
								
							|  | @ -1 +0,0 @@ | ||||||
| ../mime/cli.js |  | ||||||
										
											Binary file not shown.
										
									
								
							|  | @ -1 +0,0 @@ | ||||||
| ../acorn/bin/acorn |  | ||||||
										
											Binary file not shown.
										
									
								
							|  | @ -39,7 +39,7 @@ module.exports = { | ||||||
| 		} | 		} | ||||||
| 	],  | 	],  | ||||||
| 
 | 
 | ||||||
| 	filter: function (url, data) { | 	filter: function (url, data, links=true) { | ||||||
| 		let domain=''; | 		let domain=''; | ||||||
| 		let base_address=''; | 		let base_address=''; | ||||||
| 		if (url) { | 		if (url) { | ||||||
|  | @ -73,7 +73,14 @@ module.exports = { | ||||||
|   			} |   			} | ||||||
| 		); | 		); | ||||||
| 
 | 
 | ||||||
|  | 		// removes inline links
 | ||||||
|  | 		if (!links) { | ||||||
|  | 			data = data.replaceAll(/([^!])\[([^\]]+)\]\(http[^\)]+\)/g, | ||||||
|  | 				(match, prefix, title) => prefix+'*'+title+'*' | ||||||
|  | 			); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
| 		return data; | 		return data; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue