(function(){

    if (typeof window.customToolbarElements === 'undefined') { window.customToolbarElements = []; }
    window.customToolbarElements.push({
        identifier: 'youtube-video',
        button: {
            title  : 'YouTube Video',
            label  : '<i class="fa fa-fw fa-youtube"></i>',
        },
        processAction: function(editor) {
            var videoURL = prompt("Enter the YouTube Video URL. E.g. https://www.youtube.com/watch?v=Q1M5f6mjsac");

            if (videoURL) {
                var text = '[plugin:youtube](' + videoURL + ')';

                //Add text to the editor
                var cm      = editor.editor,
                    pos     = cm.getDoc().getCursor(true),
                    posend  = cm.getDoc().getCursor(false);

                for (var i=pos.line; i<(posend.line+1);i++) {
                    cm.replaceRange(text+cm.getLine(i), { line: i, ch: 0 }, { line: i, ch: cm.getLine(i).length });
                }

                cm.setCursor({ line: posend.line, ch: cm.getLine(posend.line).length });
                cm.focus();
            }
        }
    });

})();

@@ -7,152 +7,232 @@
 ion(
+$
 )%7B%0A
-%0A
     
-if (typeof window.customToolbarElements === 'undefined') %7B window.customToolbarElements = %5B%5D; %7D%0A    window.customToolbarElements.push(%7B%0A
+$(function()%7B%0A        $('body').on('grav-editor-ready', function() %7B%0A            var Instance = Grav.default.Forms.Fields.EditorField.Instance;%0A            Instance.addButton(%7B%0A                notices: %7B%0A            
     
@@ -276,18 +276,8 @@
     
-button: %7B%0A
     
@@ -289,18 +289,16 @@
    title
-  
 : 'YouTu
@@ -324,15 +324,21 @@
     
+     
+   
 label
-  
 : '%3C
@@ -386,19 +386,20 @@
     
+ 
-%7D,%0A
+   
         
 proc
@@ -398,42 +398,190 @@
     
-processAction: function(editor) %7B%0A
+modes: %5B'gfm', 'markdown'%5D,%0A                    action: function(%7B codemirror, button %7D) %7B%0A                        button.on('click.editor.notice-info', function() %7B%0A                
     
@@ -681,24 +681,33 @@
 h?v=
-Q1M5f6mjsac%22);%0A%0A
+vQ4qK36UenI%22);%0A%0A         
     
@@ -714,16 +714,23 @@
         
+       
 if (vide
@@ -749,24 +749,40 @@
             
+      
+          
 var text = '
@@ -835,16 +835,32 @@
         
+               
+ 
 //Add te
@@ -896,40 +896,8 @@
     
-var cm      = editor.editor,%0A   
     
@@ -904,24 +904,27 @@
             
+var
  pos     = c
@@ -919,25 +919,33 @@
  pos     = c
-m
+odemirror
 .getDoc().ge
@@ -957,18 +957,23 @@
 or(true)
-,%0A
+;%0A     
         
@@ -984,16 +984,27 @@
         
+       var 
 posend  
@@ -1006,17 +1006,25 @@
 end  = c
-m
+odemirror
 .getDoc(
@@ -1060,16 +1060,32 @@
         
+       
+         
 for (var
@@ -1118,24 +1118,40 @@
 e+1);i++) %7B%0A
+                
             
@@ -1159,17 +1159,25 @@
        c
-m
+odemirror
 .replace
@@ -1188,17 +1188,25 @@
 e(text+c
-m
+odemirror
 .getLine
@@ -1242,25 +1242,33 @@
 ne: i, ch: c
-m
+odemirror
 .getLine(i).
@@ -1298,11 +1298,38 @@
     
+  
-%7D%0A%0A
+              %7D%0A%0A           
     
@@ -1340,18 +1340,31 @@
         
-cm
+     codemirror
 .setCurs
@@ -1392,17 +1392,25 @@
 e, ch: c
-m
+odemirror
 .getLine
@@ -1454,10 +1454,34 @@
     
+     
-cm
+           codemirror
 .foc
@@ -1494,26 +1494,58 @@
             
+      
-%7D%0A
+          %7D%0A                
         %7D%0A  
@@ -1545,20 +1545,95 @@
    %7D
+);
 %0A    
-%7D);%0A%0A%7D)(
+                %7D%0A                %7D%0A            %7D);%0A        %7D);%0A    %7D);%0A%7D)(jQuery
 );%0A

Update button for the new Admin 1.1