diff --git a/app/assets/javascripts/mobile/bookmarklet.js b/app/assets/javascripts/mobile/bookmarklet.js
new file mode 100644
index 0000000000000000000000000000000000000000..94822c2efade6b47045c6497ac05df51465e0fa0
--- /dev/null
+++ b/app/assets/javascripts/mobile/bookmarklet.js
@@ -0,0 +1,21 @@
+// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
+
+$(document).ready(function() {
+  function publisherContent(params) {
+    if (params.content) {
+      return params.content;
+    }
+
+    var content = params.title + " - " + params.url;
+    if (params.notes.length > 0) {
+      content += " - " + params.notes;
+    }
+    return content;
+  }
+
+  var content = publisherContent(gon.preloads.bookmarklet);
+  if (content.length > 0) {
+    $("#status_message_text").val(content);
+  }
+});
+// @license-end
diff --git a/app/views/status_messages/bookmarklet.mobile.haml b/app/views/status_messages/bookmarklet.mobile.haml
index e6c6227c2c3d2079ae6364eccceff2130cc8fa13..0dafbc99114b1b30618db0987d1c2cb5f836218c 100644
--- a/app/views/status_messages/bookmarklet.mobile.haml
+++ b/app/views/status_messages/bookmarklet.mobile.haml
@@ -4,18 +4,4 @@
 
 = render :partial => 'publisher/publisher', :locals => { :aspect => :profile, :selected_aspects => @aspects,  :aspect_ids => @aspect_ids }
 
-:javascript
-  var contents = "#{escape_javascript params[:content]}";
-  if(!contents){
-    contents  = "#{escape_javascript params[:title]} - #{escape_javascript params[:url]}";
-    var notes = "#{escape_javascript params[:notes]}";
-    if (notes.length > 0){
-      contents += " - " + notes;
-    }
-  }
-
-  $(document).ready(function() {
-    if (contents.length > 0) {
-      $("#status_message_text").val(contents);
-    }
-  });
+= javascript_include_tag "mobile/bookmarklet"
diff --git a/config/application.rb b/config/application.rb
index ca30da2753ab0791d7ff3863a0e9a161aae74ecf..1e5e33cbfef81ade09899cc19b3fce898de60a42 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -75,6 +75,7 @@ module Diaspora
       jquery-textchange.js
       main.js
       jsxc.js
+      mobile/bookmarklet.js
       mobile/mobile.js
       people.js
       publisher.js