bootstrap-markdown-editor-rails 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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,""+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,""):o.insertSnippet(p,""):"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: []
|