bootstrap-markdown-editor-rails 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 853afbe251ed7cb0d5a70901f4abde0f766ddc1e
4
+ data.tar.gz: 6e758a5dab4887311d185e34af6c958c367291ab
5
+ SHA512:
6
+ metadata.gz: d91614c65fbeddf16752dc64e3ea2cc3a5ef173fdc18f1d8df4be073361589851a351188966de46ee94458d7570199a3301bf378e899e7bf3a175871722c2b85
7
+ data.tar.gz: ba95ae9aebe79e97db93671b363813b926a99abe913d1d384e1cca310ff65a148dbf85a3989e739695d5eafee9b0f15490ecbb633c53284b75d599fd226df39a
@@ -0,0 +1,31 @@
1
+ # BootstrapMarkdownEditor Rails
2
+
3
+ A Ruby gem version of [bootstrap-markdown-editor](https://github.com/inacho/bootstrap-markdown-editor) for the Rails asset pipeline.
4
+
5
+ ## Installation
6
+
7
+ Add to your `Gemfile`:
8
+
9
+ ``` ruby
10
+ gem 'ace-rails-ap'
11
+ gem 'bootstrap-markdown-editor-rails'
12
+ ```
13
+
14
+ You’ll also need Bootstrap 3, jQuery.
15
+
16
+ ## Usage
17
+
18
+ Require the CSS with Sprockets:
19
+
20
+ ``` css
21
+ /*= require bootstrap-markdown-editor */
22
+ ```
23
+
24
+ Sprockets require the JS too:
25
+
26
+ ``` javascript
27
+ //= require ace-rails-ap
28
+ //= require bootstrap-markdown-editor
29
+ ```
30
+
31
+ Enjoy!
@@ -0,0 +1 @@
1
+ require 'bootstrap_markdown_editor/rails'
@@ -0,0 +1,2 @@
1
+ require 'bootstrap_markdown_editor/rails/engine'
2
+ require 'bootstrap_markdown_editor/rails/version'
@@ -0,0 +1,6 @@
1
+ module BootstrapMarkdownEditor
2
+ module Rails
3
+ class Engine < ::Rails::Engine
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ module BootstrapMarkdownEditor
2
+ module Rails
3
+ VERSION = "1.2.1"
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * Bootstrap Markdown Editor v1.2.1 (https://github.com/inacho/bootstrap-markdown-editor)
3
+ * Copyright 2015 Ignacio de Tomás <nacho@inacho.es>
4
+ * Licensed under MIT (https://github.com/inacho/bootstrap-markdown-editor/blob/master/LICENSE)
5
+ */
6
+
7
+ !function(a){"use strict";function b(b,c,d,e,f){f.show();var g=new FormData,h=0;for(h=0;h<c.length;h++)g.append("file"+h,c[h]);a.ajax({url:b,type:"POST",contentType:!1,data:g,processData:!1,cache:!1,dataType:"json"}).done(function(a){var b="";a.length>1&&(b="\n");for(var c=0;c<a.length;c++)e.insertSnippet(d,"![]("+a[c]+")"+b)}).always(function(){f.hide()})}function c(b){var c,d=a(window).height(),e=b.offset().top;d>e&&(c=d-e,b.css("height",c+"px"))}function d(a,b){a.commands.addCommand({name:"bold",bindKey:{win:"Ctrl-B",mac:"Command-B"},exec:function(a){var c=a.session.getTextRange(a.getSelectionRange());""===c?b.insertSnippet(a,"**${1:text}**"):b.insertSnippet(a,"**"+c+"**")},readOnly:!1}),a.commands.addCommand({name:"italic",bindKey:{win:"Ctrl-I",mac:"Command-I"},exec:function(a){var c=a.session.getTextRange(a.getSelectionRange());""===c?b.insertSnippet(a,"*${1:text}*"):b.insertSnippet(a,"*"+c+"*")},readOnly:!1}),a.commands.addCommand({name:"link",bindKey:{win:"Ctrl-K",mac:"Command-K"},exec:function(a){var c=a.session.getTextRange(a.getSelectionRange());""===c?b.insertSnippet(a,"[${1:text}](http://$2)"):b.insertSnippet(a,"["+c+"](http://$1)")},readOnly:!1})}function e(a,b){0===a.getCursorPosition().column?(a.navigateLineStart(),a.insert(b+" ")):(a.navigateLineStart(),a.insert(b+" "),a.navigateLineEnd())}function f(b,c){var d="";return d+='<div class="md-loading"><span class="md-icon-container"><span class="md-icon"></span></span></div>',d+='<div class="md-toolbar">',d+='<div class="btn-toolbar">',d+='<div class="btn-group">',d+='<button type="button" data-mdtooltip="tooltip" title="'+c.label.btnHeader1+'" class="md-btn btn btn-sm btn-default" data-btn="h1">H1</button>',d+='<button type="button" data-mdtooltip="tooltip" title="'+c.label.btnHeader2+'" class="md-btn btn btn-sm btn-default" data-btn="h2">H2</button>',d+='<button type="button" data-mdtooltip="tooltip" title="'+c.label.btnHeader3+'" class="md-btn btn btn-sm btn-default" data-btn="h3">H3</button>',d+="</div>",d+='<div class="btn-group">',d+='<button type="button" data-mdtooltip="tooltip" title="'+c.label.btnBold+'" class="md-btn btn btn-sm btn-default" data-btn="bold"><span class="glyphicon glyphicon-bold"></span></button>',d+='<button type="button" data-mdtooltip="tooltip" title="'+c.label.btnItalic+'" class="md-btn btn btn-sm btn-default" data-btn="italic"><span class="glyphicon glyphicon-italic"></span></button>',d+="</div>",d+='<div class="btn-group">',d+='<button type="button" data-mdtooltip="tooltip" title="'+c.label.btnList+'" class="md-btn btn btn-sm btn-default" data-btn="ul"><span class="glyphicon glyphicon glyphicon-list"></span></button>',d+='<button type="button" data-mdtooltip="tooltip" title="'+c.label.btnOrderedList+'" class="md-btn btn btn-sm btn-default" data-btn="ol"><span class="glyphicon glyphicon-th-list"></span></button>',d+="</div>",d+='<div class="btn-group">',d+='<button type="button" data-mdtooltip="tooltip" title="'+c.label.btnLink+'" class="md-btn btn btn-sm btn-default" data-btn="link"><span class="glyphicon glyphicon-link"></span></button>',d+='<button type="button" data-mdtooltip="tooltip" title="'+c.label.btnImage+'" class="md-btn btn btn-sm btn-default" data-btn="image"><span class="glyphicon glyphicon-picture"></span></button>',c.imageUpload===!0&&(d+='<div data-mdtooltip="tooltip" title="'+c.label.btnUpload+'" class="btn btn-sm btn-default md-btn-file"><span class="glyphicon glyphicon-upload"></span><input class="md-input-upload" type="file" multiple accept=".jpg,.jpeg,.png,.gif"></div>'),d+="</div>",c.fullscreen===!0&&(d+='<div class="btn-group pull-right">',d+='<button type="button" class="md-btn btn btn-sm btn-default" data-btn="fullscreen"><span class="glyphicon glyphicon-fullscreen"></span> '+c.label.btnFullscreen+"</button>",d+="</div>"),c.preview===!0&&(d+='<div class="btn-group pull-right">',d+='<button type="button" class="md-btn btn btn-sm btn-default btn-edit active" data-btn="edit"><span class="glyphicon glyphicon-pencil"></span> '+c.label.btnEdit+"</button>",d+='<button type="button" class="md-btn btn btn-sm btn-default btn-preview" data-btn="preview"><span class="glyphicon glyphicon-eye-open"></span> '+c.label.btnPreview+"</button>",d+="</div>"),d+="</div>",d+="</div>",d+='<div class="md-editor">'+a("<div>").text(a.trim(b)).html()+"</div>",d+='<div class="md-preview" style="display:none"></div>'}var g={init:function(g){var h=a.extend(!0,{},a.fn.markdownEditor.defaults,g),i=this,j=!1,k=!1;i.addClass("md-container").html(f(this.text(),h)),"function"==typeof a().tooltip&&i.find('[data-mdtooltip="tooltip"]').tooltip({container:"body"});var l=i.find(".md-editor"),m=i.find(".md-preview"),n=i.find(".md-loading");i.css({width:h.width}),l.css({width:h.width,height:h.height,fontSize:h.fontSize}),m.css({width:h.width,height:h.height});var o,p=ace.edit(l[0]);return p.setTheme("ace/theme/"+h.theme),p.getSession().setMode("ace/mode/markdown"),p.getSession().setUseWrapMode(!0),p.setHighlightActiveLine(!1),p.setShowPrintMargin(!1),p.renderer.setShowGutter(!1),ace.config.loadModule("ace/ext/language_tools",function(){o=ace.require("ace/snippets").snippetManager,d(p,o)}),h.imageUpload&&(i.find(".md-input-upload").on("change",function(){var c=a(this).get(0).files;c.length&&b(h.uploadPath,a(this).get(0).files,p,o,n)}),i.on("dragenter",function(a){a.stopPropagation(),a.preventDefault()}),i.on("dragover",function(a){a.stopPropagation(),a.preventDefault()}),i.on("drop",function(a){a.preventDefault();var c=a.originalEvent.dataTransfer.files;b(h.uploadPath,c,p,o,n)})),h.fullscreen===!0&&a(window).resize(function(){k===!0&&c(j===!1?l:m)}),i.find(".md-btn").click(function(){var b=a(this).data("btn"),d=p.session.getTextRange(p.getSelectionRange());"h1"===b?e(p,"#"):"h2"===b?e(p,"##"):"h3"===b?e(p,"###"):"ul"===b?e(p,"*"):"ol"===b?e(p,"1."):"bold"===b?p.execCommand("bold"):"italic"===b?p.execCommand("italic"):"link"===b?p.execCommand("link"):"image"===b?""===d?o.insertSnippet(p,"![${1:text}](http://$2)"):o.insertSnippet(p,"!["+d+"](http://$1)"):"edit"===b?(j=!1,m.hide(),l.show(),i.find(".btn-edit").addClass("active"),i.find(".btn-preview").removeClass("active"),k===!0&&c(l)):"preview"===b?(j=!0,m.html('<p style="text-align:center; font-size:16px">'+h.label.loading+"...</p>"),h.onPreview(p.getSession().getValue(),function(a){m.html(a)}),l.hide(),m.show(),i.find(".btn-preview").addClass("active"),i.find(".btn-edit").removeClass("active"),k===!0&&c(m)):"fullscreen"===b&&(k===!0?(k=!1,a("body, html").removeClass("md-body-fullscreen"),i.removeClass("md-fullscreen"),l.css("height",h.height),m.css("height",h.height)):(k=!0,a("body, html").addClass("md-body-fullscreen"),i.addClass("md-fullscreen"),c(j===!1?l:m)),p.resize()),p.focus()}),this},content:function(){var a=ace.edit(this.find(".md-editor")[0]);return a.getSession().getValue()},setContent:function(a){var b=ace.edit(this.find(".md-editor")[0]);b.setValue(a)}};a.fn.markdownEditor=function(b){return g[b]?g[b].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof b&&b?void a.error("Method "+b+" does not exist on jQuery.markdownEditor"):g.init.apply(this,arguments)},a.fn.markdownEditor.defaults={width:"100%",height:"400px",fontSize:"14px",theme:"tomorrow",fullscreen:!0,imageUpload:!1,uploadPath:"",preview:!1,onPreview:function(a,b){b(a)},label:{btnHeader1:"Header 1",btnHeader2:"Header 2",btnHeader3:"Header 3",btnBold:"Bold",btnItalic:"Italic",btnList:"Unordered list",btnOrderedList:"Ordered list",btnLink:"Link",btnImage:"Insert image",btnUpload:"Upload image",btnEdit:"Edit",btnPreview:"Preview",btnFullscreen:"Fullscreen",loading:"Loading"}}}(jQuery);
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * Bootstrap Markdown Editor v1.2.1 (https://github.com/inacho/bootstrap-markdown-editor)
3
+ * Copyright 2015 Ignacio de Tomás <nacho@inacho.es>
4
+ * Licensed under MIT (https://github.com/inacho/bootstrap-markdown-editor/blob/master/LICENSE)
5
+ */
6
+
7
+ .md-container{position:relative}.md-loading{display:none;filter:alpha(opacity=80);opacity:.8;position:absolute;top:0;bottom:0;left:0;right:0;background:#fff;z-index:9999}.md-icon-container{display:table;width:100%;height:100%}.md-icon{height:100%;display:table-cell;vertical-align:middle;text-align:center}.md-icon:before{content:"\e031";font-family:"Glyphicons Halflings";font-size:80px;line-height:1;-animation:spin 1s infinite linear;-ms-animation:spin 1s infinite linear;-webkit-animation:spinw 1s infinite linear;-moz-animation:spinm 1s infinite linear}body.md-body-fullscreen,html.md-body-fullscreen{overflow:hidden;height:100%;width:100%;margin:0;padding:0}.md-toolbar{padding:10px;background:#f7f7f7;border:1px solid #d8d8d8;border-bottom:none;border-top-left-radius:4px;border-top-right-radius:4px}.md-toolbar button{font-weight:bold}.md-toolbar button:focus,.md-toolbar button:active{outline:none !important}.md-btn-file{position:relative;overflow:hidden}.md-btn-file input[type=file]{position:absolute;top:0;right:0;min-width:100%;min-height:100%;font-size:100px;text-align:right;filter:alpha(opacity=0);opacity:0;outline:none;background:white;cursor:inherit;display:block}.md-editor,.md-preview{border:1px solid #d8d8d8;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.md-preview{overflow-y:scroll;padding:10px}.md-fullscreen{position:absolute;margin:0 !important;top:0;bottom:0;left:0;right:0;width:100% !important;background:#fff;z-index:9999}.md-fullscreen .md-toolbar{border:none}.md-fullscreen .md-editor,.md-fullscreen .md-preview{border:none;width:100% !important}@keyframes spin{from{transform:scale(1) rotate(0deg)}to{transform:scale(1) rotate(360deg)}}@-webkit-keyframes spinw{from{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(360deg)}}@-moz-keyframes spinm{from{-moz-transform:rotate(0deg)}to{-moz-transform:rotate(360deg)}}
metadata ADDED
@@ -0,0 +1,65 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bootstrap-markdown-editor-rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.1
5
+ platform: ruby
6
+ authors:
7
+ - Kohei Iwasaki
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-09-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: railties
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">"
25
+ - !ruby/object:Gem::Version
26
+ version: '3.1'
27
+ description: BootstrapMarkdownEditor for the Rails asset pipeline
28
+ email:
29
+ - iwark02@gmail.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - README.md
35
+ - lib/bootstrap-markdown-editor-rails.rb
36
+ - lib/bootstrap_markdown_editor/rails.rb
37
+ - lib/bootstrap_markdown_editor/rails/engine.rb
38
+ - lib/bootstrap_markdown_editor/rails/version.rb
39
+ - vendor/assets/javascripts/bootstrap-markdown-editor.js
40
+ - vendor/assets/stylesheets/bootstrap-markdown-editor.css
41
+ homepage: http://github.com/Iwark/bootstrap-markdown-editor-rails
42
+ licenses:
43
+ - MIT
44
+ metadata: {}
45
+ post_install_message:
46
+ rdoc_options: []
47
+ require_paths:
48
+ - lib
49
+ required_ruby_version: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ required_rubygems_version: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ version: '0'
59
+ requirements: []
60
+ rubyforge_project:
61
+ rubygems_version: 2.4.5
62
+ signing_key:
63
+ specification_version: 4
64
+ summary: This gem makes BootstrapMarkdownEditor available in the Rails asset pipeline.
65
+ test_files: []