mirror of https://gitlab.com/curben/blog
				
				
				
			fix(assets): proxy to gitlab pages
- statically image-resizing is down * https://github.com/staticallyio/statically/issues/98 - may self-host https://github.com/staticallyio/image-resizing * requires CF Images subscription
This commit is contained in:
		
							parent
							
								
									2008cd202d
								
							
						
					
					
						commit
						2f22f1dfdf
					
				|  | @ -8,6 +8,8 @@ | ||||||
| *  Usage:  | *  Usage:  | ||||||
| */ | */ | ||||||
| 
 | 
 | ||||||
|  | const { join } = require('path').posix | ||||||
|  | 
 | ||||||
| hexo.extend.filter.register('marked:renderer', (renderer) => { | hexo.extend.filter.register('marked:renderer', (renderer) => { | ||||||
|   renderer.image = (href, title, alt) => { |   renderer.image = (href, title, alt) => { | ||||||
|     if (!alt) alt = '' |     if (!alt) alt = '' | ||||||
|  | @ -16,24 +18,17 @@ hexo.extend.filter.register('marked:renderer', (renderer) => { | ||||||
|     if (href.endsWith('.svg')) return `<img class="svg" src="${href}" alt="${alt}" title="${title}">` |     if (href.endsWith('.svg')) return `<img class="svg" src="${href}" alt="${alt}" title="${title}">` | ||||||
| 
 | 
 | ||||||
|     // embed external image
 |     // embed external image
 | ||||||
|     if (!href.startsWith('20')) return `<img src="${href}" alt="${alt}" title="${title}">` |     if (!href.startsWith('20') && !href.startsWith('/20')) return `<img src="${href}" alt="${alt}" title="${title}">` | ||||||
| 
 | 
 | ||||||
|     // Statically doesn't support WebP and GIF
 |     const fLink = (path, width) => { | ||||||
|     if (href.endsWith('.webp')) { |       const query = new URLSearchParams('f=auto') | ||||||
|       const gif = href.replace(/\.webp$/, '.gif') |       if (typeof width === 'number') query.set('width', width) | ||||||
|       return `<a href="/files/${gif}"><picture>` + |       const url = new URL('http://example.com/' + join('img', path) + '?' + query) | ||||||
|         `<source srcset="/files/${href}" type="image/webp">` + | 
 | ||||||
|         `<img src="/files/${gif}" title="${title}" alt="${alt}" loading="lazy"></picture></a>` |       return url.pathname + url.search | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     const fLink = (str, width) => { |     return `<a href="${join('http://curben.gitlab.io/blog', href)}">` + | ||||||
|       if (typeof width === 'number') width = ',w=' + width.toString() |  | ||||||
|       else width = '' |  | ||||||
| 
 |  | ||||||
|       return '/img/gitlab.com/f=auto' + width + '/curben/blog/-/raw/site/' + str |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     return `<a href="${fLink(href)}">` + |  | ||||||
|       `<img srcset="${fLink(href, 320)} 320w,` + |       `<img srcset="${fLink(href, 320)} 320w,` + | ||||||
|       `${fLink(href, 468)} 468w,` + |       `${fLink(href, 468)} 468w,` + | ||||||
|       `${fLink(href, 768)} 768w,` + |       `${fLink(href, 768)} 768w,` + | ||||||
|  |  | ||||||
|  | @ -1,6 +1,6 @@ | ||||||
| # Reverse proxy to cdn | # Reverse proxy to cdn | ||||||
| /img/* https://cdn.statically.io/img/:splat 200 | /img/* https://curben.gitlab.io/blog/:splat 200 | ||||||
|  | /files/* https://curben.gitlab.io/blog/:splat 200 | ||||||
| # https://statically.discourse.group/t/mobile-version-not-working-on-screenshot/225 | # https://statically.discourse.group/t/mobile-version-not-working-on-screenshot/225 | ||||||
| # /screenshot/* https://cdn.statically.io/screenshot/device=mobile/curben.netlify.app/:splat 200 | # /screenshot/* https://cdn.statically.io/screenshot/device=mobile/curben.netlify.app/:splat 200 | ||||||
| /screenshot/* https://cdn.statically.io/screenshot/curben.netlify.app/:splat 200 | /screenshot/* https://cdn.statically.io/screenshot/curben.netlify.app/:splat 200 | ||||||
| /files/* https://gitlab.com/curben/blog/-/raw/site/:splat 200 |  | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue