From 572f137b5d78a284013d8da4e33dc09d16eda7a5 Mon Sep 17 00:00:00 2001 From: Nokita Kaze Date: Tue, 25 Nov 2014 16:02:39 +0300 Subject: [PATCH] =?UTF-8?q?*=20=D0=9F=D0=B0=D1=80=D1=81=D0=B5=D1=80=20?= =?UTF-8?q?=D0=B0=D1=83=D0=B4=D0=B8=D0=BE-=D1=81=D1=81=D1=8B=D0=BB=D0=BE?= =?UTF-8?q?=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- chrome_point_plus/_locales/en/messages.json | 7 ++- chrome_point_plus/_locales/ru/messages.json | 5 +- chrome_point_plus/js/point-plus.js | 58 ++++++++++++++++++++- chrome_point_plus/options.html | 12 +++++ 4 files changed, 78 insertions(+), 4 deletions(-) diff --git a/chrome_point_plus/_locales/en/messages.json b/chrome_point_plus/_locales/en/messages.json index 6c19b2c..2b13006 100644 --- a/chrome_point_plus/_locales/en/messages.json +++ b/chrome_point_plus/_locales/en/messages.json @@ -56,6 +56,9 @@ "option_images_load_booru": { "message": "Load pictures from Booru, Tumblr and some other sites" }, + "option_audios_parse_links": { + "message": "Parse audio links and create audio instead" + }, "option_videos_parse_links": { "message": "Parse video links and create video instead" }, @@ -66,7 +69,7 @@ "message": "Parse all links" }, "option_videos_parse_leave_links": { - "message": "Don't delete link itself" + "message": "Leave original link" }, "option_embedding_soundcloud": { "message": "Soundcloud ▼" @@ -138,7 +141,7 @@ "message": "@ before username" }, "option_other_hightlight_post_comments": { - "message": "Hightlight post with new comments (using @NokitaKaze server)" + "message": "Highlight post with new comments" }, "option_other_show_recommendation_count": { "message": "Show recommendation count and unique commentators count (using @NokitaKaze server)" diff --git a/chrome_point_plus/_locales/ru/messages.json b/chrome_point_plus/_locales/ru/messages.json index 18b16f8..8ea3d9b 100644 --- a/chrome_point_plus/_locales/ru/messages.json +++ b/chrome_point_plus/_locales/ru/messages.json @@ -56,6 +56,9 @@ "option_images_load_booru": { "message": "Загружать картинки с Booru, Tumblr и других сайтов" }, + "option_audios_parse_links": { + "message": "Превращать ссылки на аудио в аудио" + }, "option_videos_parse_links": { "message": "Превращать ссылки на видео в видео" }, @@ -138,7 +141,7 @@ "message": "Пёс перед юзернеймом" }, "option_other_hightlight_post_comments": { - "message": "Подсвечивать посты с новыми комментариями (используя сервер @NokitaKaze)" + "message": "Подсвечивать посты с новыми комментариями" }, "option_other_show_recommendation_count": { "message": "Показывать количество рекомендаций и уникальных комментаторов в посте (используя сервер @NokitaKaze)" diff --git a/chrome_point_plus/js/point-plus.js b/chrome_point_plus/js/point-plus.js index 40992bb..3e2c7cf 100644 --- a/chrome_point_plus/js/point-plus.js +++ b/chrome_point_plus/js/point-plus.js @@ -38,6 +38,7 @@ $(document).ready(function() { if (options.option_images_load_booru.value == true) { load_all_booru_images(); } + // Parse webm-links and create video instead if (options.option_videos_parse_links.value == true) { if (options.option_videos_parse_links_type.value == "all") { @@ -47,6 +48,11 @@ $(document).ready(function() { } } + // Parse audio links + if (options.option_audios_parse_links.value == true) { + parse_all_audios(); + } + // Soundcloud if (options.option_embedding_soundcloud.value == true) { // Injecting JS API @@ -680,6 +686,7 @@ function parse_webm() { }); } +// Видео function parse_all_videos() { $('.post-content a').each(function(num, obj) { if ($(obj).hasClass('booru_pic')) { @@ -692,7 +699,7 @@ function parse_all_videos() { if (n = href.match(new RegExp('\\.(webm|avi|mp4|mpg|mpeg)(\\?.+)?$', 'i'))) { var player = document.createElement('video'); var mime = video_extension_to_mime(n[1]); - $(player).html('').attr('controls', 'controls').css({ + $(player).html('').attr('controls', 'controls').css({ 'display': 'block', 'max-width': '95%' }).addClass('parsed-webm-link'); @@ -717,6 +724,50 @@ function video_extension_to_mime(extension) { } +// Аудио +function parse_all_audios(){ + $('.post-content a').each(function(num, obj) { + if ($(obj).hasClass('booru_pic')) { + return; + } + + var href = obj.href; + var n = null; + + if (n = href.match(new RegExp('^https?:\\/\\/([a-z0-9.-]+)/[a-z0-9/.%-]+\\.(mp3|ogg|wav)(\\?.+)?$', 'i'))) { + var domain = n[1]; + // Проверяем откуда мы грузимся + if (domain.match(new RegExp('\\.vk\\.me$', 'i'))){ + // Так то ж Контакт! + if (!n[3].match('extra\\=', 'i')){ + return; + } + } + + var player = document.createElement('audio'); + var mime = audio_extension_to_mime(n[2]); + $(player).html('').attr('controls', 'controls').css({ + 'display': 'block', + 'max-width': '350px' + }).addClass('parsed-audio-link'); + + obj.parentElement.insertBefore(player, obj); + + if (current_options.option_audios_parse_leave_links.value == false) { + $(obj).hide(); + } + } + }); +} + +function audio_extension_to_mime(extension) { + switch (extension) { + case 'mp3': return 'audio/mpeg'; + case 'ogg': return 'audio/ogg; codecs=vorbis'; + case 'wav': return 'audio/vnd.wave'; + } +} + // Плашки у постов function set_posts_count_label() { var ids = []; @@ -799,6 +850,7 @@ function parse_pleercom_links_ajax() { if (n = href.match(new RegExp('^https?:\\/\\/pleer\\.com\\/tracks\\/([0-9a-z]+)', 'i'))) { var player_div = document.createElement('div'); $(player_div).addClass('embeded_audio').addClass('embeded_audio_' + n[1]); + $(obj).addClass('pleercom_original_link_'+n[1]); obj.parentElement.insertBefore(player_div, obj); create_pleercom_ajax(n[1]); } @@ -823,6 +875,10 @@ function create_pleercom_ajax(id) { 'preload': 'auto' }); $('.embeded_audio_' + this.settings.pleer_id)[0].appendChild(player); + + if (current_options.option_embedding_pleercom_orig_link.value == false){ + $('.pleercom_original_link_'+this.settings.pleer_id).hide(); + } }, 'error': function() { console.log('Can not get pleer.com url'); diff --git a/chrome_point_plus/options.html b/chrome_point_plus/options.html index e21907d..d7e045c 100644 --- a/chrome_point_plus/options.html +++ b/chrome_point_plus/options.html @@ -62,6 +62,14 @@ +
+ + +
+ +
+
+
@@ -76,6 +84,10 @@
+ +
+ +