melanie ha revisionato questo gist 8 months ago. Vai alla revisione
Nessuna modifica
melanie ha revisionato questo gist 11 months ago. Vai alla revisione
Nessuna modifica
melanie ha revisionato questo gist 11 months ago. Vai alla revisione
1 file changed, 27 insertions
tapestry-attachment-extraction.js(file creato)
| @@ -0,0 +1,27 @@ | |||
| 1 | + | /* | |
| 2 | + | Attachment Extracting | |
| 3 | + | for Iconfactory's Tapestry plugins | |
| 4 | + | ||
| 5 | + | Grabs urls from a string, like `content_html` in a JSON Feed, and makes them attachments. | |
| 6 | + | ||
| 7 | + | Made to be used in your Tapestry plugins like so: | |
| 8 | + | ||
| 9 | + | ```js | |
| 10 | + | const myItem = Item.createWithUriDate(url, date); | |
| 11 | + | myItem.attachments = extractAttachments(content_html, [rest?.external_url, rest?.image]) | |
| 12 | + | ``` | |
| 13 | + | */ | |
| 14 | + | ||
| 15 | + | const URL_REGEX = | |
| 16 | + | /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/g; | |
| 17 | + | const MEDIA_EXT = ["png", "tif", "tiff", "jpeg", "jpg", "gif", "bmp", "bmpf", "ico", "cur", "xbm", "aac", "aiff", "aifc", "avi", "ac3", "mp4", "m2v", "ts", "mpg", "mp2", "mp3", "au", "3gp", "3g2"]; | |
| 18 | + | ||
| 19 | + | function extractAttachments(from = "", exclude = []) { | |
| 20 | + | return (from.match(URL_REGEX) || []) | |
| 21 | + | .filter((url) => !exclude.includes(url)) | |
| 22 | + | .map((url) => | |
| 23 | + | MEDIA_EXT.some((ext) => url.includes(`.${ext}`)) | |
| 24 | + | ? MediaAttachment.createWithUrl(url) | |
| 25 | + | : LinkAttachment.createWithUrl(url) | |
| 26 | + | ); | |
| 27 | + | } | |
    
    
                            
                            Più nuovi
    
    
    Più vecchi