bootstrap-markdown-editor-rails 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +31 -0
- data/lib/bootstrap-markdown-editor-rails.rb +1 -0
- data/lib/bootstrap_markdown_editor/rails.rb +2 -0
- data/lib/bootstrap_markdown_editor/rails/engine.rb +6 -0
- data/lib/bootstrap_markdown_editor/rails/version.rb +5 -0
- data/vendor/assets/javascripts/bootstrap-markdown-editor.js +7 -0
- data/vendor/assets/stylesheets/bootstrap-markdown-editor.css +7 -0
- metadata +65 -0
checksums.yaml
ADDED
@@ -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
|
data/README.md
ADDED
@@ -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,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: []
|