lib: don't prepend mailto to url in autolink Event
better to provide the original url, the event is already tagged as email also avoids a string allocation
This commit is contained in:
		
					parent
					
						
							
								62e73100a6
							
						
					
				
			
			
				commit
				
					
						05a4992d99
					
				
			
		
					 2 changed files with 8 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -25,6 +25,7 @@
 | 
			
		|||
use crate::Alignment;
 | 
			
		||||
use crate::Container;
 | 
			
		||||
use crate::Event;
 | 
			
		||||
use crate::LinkType;
 | 
			
		||||
use crate::ListKind;
 | 
			
		||||
use crate::OrderedListNumbering::*;
 | 
			
		||||
use crate::Render;
 | 
			
		||||
| 
						 | 
				
			
			@ -161,11 +162,14 @@ impl<'s, I: Iterator<Item = Event<'s>>, W: std::fmt::Write> Writer<'s, I, W> {
 | 
			
		|||
                        Container::DescriptionTerm => self.out.write_str("<dt")?,
 | 
			
		||||
                        Container::CodeBlock { .. } => self.out.write_str("<pre")?,
 | 
			
		||||
                        Container::Span | Container::Math { .. } => self.out.write_str("<span")?,
 | 
			
		||||
                        Container::Link(dst, ..) => {
 | 
			
		||||
                        Container::Link(dst, ty) => {
 | 
			
		||||
                            if dst.is_empty() {
 | 
			
		||||
                                self.out.write_str("<a")?;
 | 
			
		||||
                            } else {
 | 
			
		||||
                                self.out.write_str(r#"<a href=""#)?;
 | 
			
		||||
                                if matches!(ty, LinkType::Email) {
 | 
			
		||||
                                    self.out.write_str("mailto:")?;
 | 
			
		||||
                                }
 | 
			
		||||
                                self.write_attr(dst)?;
 | 
			
		||||
                                self.out.write_char('"')?;
 | 
			
		||||
                            }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -746,10 +746,10 @@ impl<'s> Parser<'s> {
 | 
			
		|||
                        }
 | 
			
		||||
                        inline::Container::Autolink => {
 | 
			
		||||
                            let url = self.inlines.src(inline.span);
 | 
			
		||||
                            let (url, ty) = if url.contains('@') {
 | 
			
		||||
                                (format!("mailto:{}", url).into(), LinkType::Email)
 | 
			
		||||
                            let ty = if url.contains('@') {
 | 
			
		||||
                                LinkType::Email
 | 
			
		||||
                            } else {
 | 
			
		||||
                                (url, LinkType::AutoLink)
 | 
			
		||||
                                LinkType::AutoLink
 | 
			
		||||
                            };
 | 
			
		||||
                            Container::Link(url, ty)
 | 
			
		||||
                        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue