Make permalinks out of co-located images
This commit is contained in:
		
							parent
							
								
									ef543b3d2b
								
							
						
					
					
						commit
						d69ada09d2
					
				| @ -108,7 +108,15 @@ pub fn markdown_to_html(content: &str, context: &RenderContext) -> Result<(Strin | |||||||
|                     highlighter = None; |                     highlighter = None; | ||||||
|                     Event::Html(Owned("</pre>".to_string())) |                     Event::Html(Owned("</pre>".to_string())) | ||||||
|                 }, |                 }, | ||||||
|                 // Need to handle relative links
 |                 Event::Start(Tag::Image(src, title)) => { | ||||||
|  |                     if is_colocated_asset_link(&src) { | ||||||
|  |                         return Event::Start( | ||||||
|  |                             Tag::Image(Owned(format!("{}{}", context.current_page_permalink, src)), title) | ||||||
|  |                         ); | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
|  |                     Event::Start(Tag::Link(src, title)) | ||||||
|  |                 }, | ||||||
|                 Event::Start(Tag::Link(link, title)) => { |                 Event::Start(Tag::Link(link, title)) => { | ||||||
|                     // A few situations here:
 |                     // A few situations here:
 | ||||||
|                     // - it could be a relative link (starting with `./`)
 |                     // - it could be a relative link (starting with `./`)
 | ||||||
|  | |||||||
| @ -492,9 +492,8 @@ fn can_make_valid_relative_link_in_header() { | |||||||
|     ); |     ); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| #[test] | #[test] | ||||||
| fn can_make_permalinks_with_colocated_assets() { | fn can_make_permalinks_with_colocated_assets_for_link() { | ||||||
|     let permalinks_ctx = HashMap::new(); |     let permalinks_ctx = HashMap::new(); | ||||||
|     let config = Config::default(); |     let config = Config::default(); | ||||||
|     let context = RenderContext::new(&GUTENBERG_TERA, &config, "https://vincent.is/about/", &permalinks_ctx, InsertAnchor::None); |     let context = RenderContext::new(&GUTENBERG_TERA, &config, "https://vincent.is/about/", &permalinks_ctx, InsertAnchor::None); | ||||||
| @ -504,3 +503,15 @@ fn can_make_permalinks_with_colocated_assets() { | |||||||
|         "<p><a href=\"https://vincent.is/about/image.jpg\">an image</a></p>\n" |         "<p><a href=\"https://vincent.is/about/image.jpg\">an image</a></p>\n" | ||||||
|     ); |     ); | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | #[test] | ||||||
|  | fn can_make_permalinks_with_colocated_assets_for_image() { | ||||||
|  |     let permalinks_ctx = HashMap::new(); | ||||||
|  |     let config = Config::default(); | ||||||
|  |     let context = RenderContext::new(&GUTENBERG_TERA, &config, "https://vincent.is/about/", &permalinks_ctx, InsertAnchor::None); | ||||||
|  |     let res = render_content("", &context).unwrap(); | ||||||
|  |     assert_eq!( | ||||||
|  |         res.0, | ||||||
|  |         "<p><img src=\"https://vincent.is/about/image.jpg\" alt=\"alt text\" /></p>\n" | ||||||
|  |     ); | ||||||
|  | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user