lady_josephine 0.0.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/MIT-LICENSE +20 -0
- data/Rakefile +32 -0
- data/app/assets/fonts/lady_josephine/icons/icons.eot +0 -0
- data/app/assets/fonts/lady_josephine/icons/icons.svg +215 -0
- data/app/assets/fonts/lady_josephine/icons/icons.ttf +0 -0
- data/app/assets/fonts/lady_josephine/icons/icons.woff +0 -0
- data/app/assets/javascripts/lady_josephine/blocks/facebook.js +25 -0
- data/app/assets/javascripts/lady_josephine/blocks/instagram.js +22 -0
- data/app/assets/javascripts/lady_josephine/blocks/soundcloud.js +24 -0
- data/app/assets/javascripts/lady_josephine/blocks/twitter.js +25 -0
- data/app/assets/javascripts/lady_josephine/blocks/vimeo.js +55 -0
- data/app/assets/javascripts/lady_josephine/blocks/youtube.js +64 -0
- data/app/assets/javascripts/lady_josephine/editor.js +40 -0
- data/app/assets/javascripts/lady_josephine/lady_josephine.js +4 -0
- data/app/assets/javascripts/lady_josephine/lady_josephine_view.js +6 -0
- data/app/assets/stylesheets/lady_josephine/content.sass +33 -0
- data/app/assets/stylesheets/lady_josephine/icons.sass +175 -0
- data/app/assets/stylesheets/lady_josephine/lady_josephine.sass +6 -0
- data/app/assets/stylesheets/lady_josephine/sir_trevor.sass +619 -0
- data/app/assets/stylesheets/lady_josephine/vars.sass +36 -0
- data/app/controllers/lady_josephine/application_controller.rb +4 -0
- data/app/controllers/lady_josephine/editor_controller.rb +40 -0
- data/app/controllers/lady_josephine/images_controller.rb +26 -0
- data/app/helpers/lady_josephine/helper.rb +25 -0
- data/app/helpers/lady_josephine/sir_trevor_helper.rb +172 -0
- data/app/models/lady_josephine/concerns/model.rb +29 -0
- data/app/models/lady_josephine/concerns/pingable.rb +28 -0
- data/app/models/lady_josephine/concerns/server_uuid.rb +24 -0
- data/app/models/lady_josephine/concerns/sir_trevor_images.rb +38 -0
- data/app/models/lady_josephine/image.rb +41 -0
- data/app/uploader/lady_josephine/base_uploader.rb +47 -0
- data/app/uploader/lady_josephine/image_uploader.rb +149 -0
- data/app/views/lady_josephine/blocks/_audio_block.haml +2 -0
- data/app/views/lady_josephine/blocks/_definition_block.haml +4 -0
- data/app/views/lady_josephine/blocks/_divider_block.haml +2 -0
- data/app/views/lady_josephine/blocks/_extended_image_block.haml +63 -0
- data/app/views/lady_josephine/blocks/_extended_quote_block.haml +5 -0
- data/app/views/lady_josephine/blocks/_extended_tweet_block.haml +2 -0
- data/app/views/lady_josephine/blocks/_facebook_post_block.haml +2 -0
- data/app/views/lady_josephine/blocks/_heading_block.haml +2 -0
- data/app/views/lady_josephine/blocks/_html_block.haml +1 -0
- data/app/views/lady_josephine/blocks/_instagram_block.haml +2 -0
- data/app/views/lady_josephine/blocks/_list_block.haml +3 -0
- data/app/views/lady_josephine/blocks/_quote_block.haml +5 -0
- data/app/views/lady_josephine/blocks/_text_block.html.haml +2 -0
- data/app/views/lady_josephine/blocks/_video_block.haml +9 -0
- data/config/routes.rb +9 -0
- data/db/migrate/20160222151500_lady_josephine_image.rb +18 -0
- data/lib/generators/lady_josephine_migration/USAGE +9 -0
- data/lib/generators/lady_josephine_migration/lady_josephine_migration_generator.rb +17 -0
- data/lib/generators/lady_josephine_migration/templates/migration.rb +9 -0
- data/lib/lady_josephine.rb +18 -0
- data/lib/lady_josephine/engine.rb +18 -0
- data/lib/lady_josephine/redcarpet/custom_markdown_formatter.rb +63 -0
- data/lib/lady_josephine/renderer/sir_trevor_renderer.rb +16 -0
- data/lib/lady_josephine/version.rb +3 -0
- data/lib/lady_josephine/whitelist.rb +26 -0
- data/lib/tasks/lady_josephine_tasks.rake +4 -0
- data/spec/controllers/lady_josephine/editor_controller_spec.rb +58 -0
- data/spec/dummy/README.rdoc +28 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/javascripts/application.js +13 -0
- data/spec/dummy/app/assets/stylesheets/application.css +15 -0
- data/spec/dummy/app/controllers/application_controller.rb +5 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/bin/setup +29 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +26 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +41 -0
- data/spec/dummy/config/environments/production.rb +79 -0
- data/spec/dummy/config/environments/test.rb +42 -0
- data/spec/dummy/config/initializers/assets.rb +11 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +4 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +23 -0
- data/spec/dummy/config/routes.rb +4 -0
- data/spec/dummy/config/secrets.yml +22 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/schema.rb +16 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/bla +0 -0
- data/spec/dummy/public/404.html +67 -0
- data/spec/dummy/public/422.html +67 -0
- data/spec/dummy/public/500.html +66 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/spec_helper.rb +17 -0
- data/vendor/assets/components/Eventable/README.md +12 -0
- data/vendor/assets/components/Eventable/bower.json +10 -0
- data/vendor/assets/components/Eventable/component.json +11 -0
- data/vendor/assets/components/Eventable/eventable.js +207 -0
- data/vendor/assets/components/Eventable/package.json +15 -0
- data/vendor/assets/components/jquery-autosize/bower.json +30 -0
- data/vendor/assets/components/jquery-autosize/demo.html +36 -0
- data/vendor/assets/components/jquery-autosize/jquery.autosize.js +273 -0
- data/vendor/assets/components/jquery-autosize/jquery.autosize.min.js +6 -0
- data/vendor/assets/components/jquery-autosize/package.json +32 -0
- data/vendor/assets/components/jquery-autosize/readme.md +216 -0
- data/vendor/assets/components/jquery/AUTHORS.txt +163 -0
- data/vendor/assets/components/jquery/CONTRIBUTING.md +216 -0
- data/vendor/assets/components/jquery/Gruntfile.js +496 -0
- data/vendor/assets/components/jquery/MIT-LICENSE.txt +21 -0
- data/vendor/assets/components/jquery/README.md +415 -0
- data/vendor/assets/components/jquery/build/release-notes.js +59 -0
- data/vendor/assets/components/jquery/build/release.js +246 -0
- data/vendor/assets/components/jquery/component.json +13 -0
- data/vendor/assets/components/jquery/composer.json +35 -0
- data/vendor/assets/components/jquery/jquery-migrate.js +496 -0
- data/vendor/assets/components/jquery/jquery-migrate.min.js +3 -0
- data/vendor/assets/components/jquery/jquery.js +9597 -0
- data/vendor/assets/components/jquery/jquery.min.js +5 -0
- data/vendor/assets/components/jquery/jquery.min.map +1 -0
- data/vendor/assets/components/jquery/package.json +39 -0
- data/vendor/assets/components/jquery/speed/benchmark.js +15 -0
- data/vendor/assets/components/jquery/speed/benchmarker.css +65 -0
- data/vendor/assets/components/jquery/speed/benchmarker.js +181 -0
- data/vendor/assets/components/jquery/speed/closest.html +39 -0
- data/vendor/assets/components/jquery/speed/css.html +82 -0
- data/vendor/assets/components/jquery/speed/event.html +58 -0
- data/vendor/assets/components/jquery/speed/filter.html +183 -0
- data/vendor/assets/components/jquery/speed/find.html +179 -0
- data/vendor/assets/components/jquery/speed/index.html +72 -0
- data/vendor/assets/components/jquery/speed/jquery-basis.js +6238 -0
- data/vendor/assets/components/jquery/speed/slice.vs.concat.html +47 -0
- data/vendor/assets/components/jquery/src/ajax.js +851 -0
- data/vendor/assets/components/jquery/src/ajax/jsonp.js +80 -0
- data/vendor/assets/components/jquery/src/ajax/script.js +86 -0
- data/vendor/assets/components/jquery/src/ajax/xhr.js +207 -0
- data/vendor/assets/components/jquery/src/attributes.js +661 -0
- data/vendor/assets/components/jquery/src/callbacks.js +196 -0
- data/vendor/assets/components/jquery/src/core.js +949 -0
- data/vendor/assets/components/jquery/src/css.js +679 -0
- data/vendor/assets/components/jquery/src/data.js +340 -0
- data/vendor/assets/components/jquery/src/deferred.js +141 -0
- data/vendor/assets/components/jquery/src/deprecated.js +4 -0
- data/vendor/assets/components/jquery/src/dimensions.js +41 -0
- data/vendor/assets/components/jquery/src/effects.js +730 -0
- data/vendor/assets/components/jquery/src/event-alias.js +15 -0
- data/vendor/assets/components/jquery/src/event.js +991 -0
- data/vendor/assets/components/jquery/src/exports.js +18 -0
- data/vendor/assets/components/jquery/src/intro.js +20 -0
- data/vendor/assets/components/jquery/src/manipulation.js +796 -0
- data/vendor/assets/components/jquery/src/offset.js +169 -0
- data/vendor/assets/components/jquery/src/outro.js +2 -0
- data/vendor/assets/components/jquery/src/queue.js +147 -0
- data/vendor/assets/components/jquery/src/serialize.js +99 -0
- data/vendor/assets/components/jquery/src/sizzle-jquery.js +9 -0
- data/vendor/assets/components/jquery/src/support.js +241 -0
- data/vendor/assets/components/jquery/src/traversing.js +275 -0
- data/vendor/assets/components/jquery/test/csp.php +16 -0
- data/vendor/assets/components/jquery/test/data/1x1.jpg +0 -0
- data/vendor/assets/components/jquery/test/data/ajax/unreleasedXHR.html +25 -0
- data/vendor/assets/components/jquery/test/data/atom+xml.php +4 -0
- data/vendor/assets/components/jquery/test/data/badcall.js +1 -0
- data/vendor/assets/components/jquery/test/data/badjson.js +1 -0
- data/vendor/assets/components/jquery/test/data/cleanScript.html +10 -0
- data/vendor/assets/components/jquery/test/data/core/cc_on.html +22 -0
- data/vendor/assets/components/jquery/test/data/dashboard.xml +11 -0
- data/vendor/assets/components/jquery/test/data/dimensions/documentLarge.html +17 -0
- data/vendor/assets/components/jquery/test/data/dimensions/documentSmall.html +21 -0
- data/vendor/assets/components/jquery/test/data/echoData.php +1 -0
- data/vendor/assets/components/jquery/test/data/echoQuery.php +1 -0
- data/vendor/assets/components/jquery/test/data/errorWithText.php +5 -0
- data/vendor/assets/components/jquery/test/data/etag.php +21 -0
- data/vendor/assets/components/jquery/test/data/evalScript.php +1 -0
- data/vendor/assets/components/jquery/test/data/event/longLoadScript.php +4 -0
- data/vendor/assets/components/jquery/test/data/event/promiseReady.html +17 -0
- data/vendor/assets/components/jquery/test/data/event/syncReady.html +23 -0
- data/vendor/assets/components/jquery/test/data/headers.php +18 -0
- data/vendor/assets/components/jquery/test/data/if_modified_since.php +20 -0
- data/vendor/assets/components/jquery/test/data/iframe.html +8 -0
- data/vendor/assets/components/jquery/test/data/jquery-1.8.2.ajax_xhr.min.js +2 -0
- data/vendor/assets/components/jquery/test/data/json.php +13 -0
- data/vendor/assets/components/jquery/test/data/json_obj.js +1 -0
- data/vendor/assets/components/jquery/test/data/jsonp.php +14 -0
- data/vendor/assets/components/jquery/test/data/manipulation/iframe-denied.html +36 -0
- data/vendor/assets/components/jquery/test/data/name.html +1 -0
- data/vendor/assets/components/jquery/test/data/name.php +24 -0
- data/vendor/assets/components/jquery/test/data/nocontent.php +5 -0
- data/vendor/assets/components/jquery/test/data/offset/absolute.html +41 -0
- data/vendor/assets/components/jquery/test/data/offset/body.html +26 -0
- data/vendor/assets/components/jquery/test/data/offset/fixed.html +34 -0
- data/vendor/assets/components/jquery/test/data/offset/relative.html +31 -0
- data/vendor/assets/components/jquery/test/data/offset/scroll.html +39 -0
- data/vendor/assets/components/jquery/test/data/offset/static.html +31 -0
- data/vendor/assets/components/jquery/test/data/offset/table.html +43 -0
- data/vendor/assets/components/jquery/test/data/params_html.php +12 -0
- data/vendor/assets/components/jquery/test/data/readywaitasset.js +1 -0
- data/vendor/assets/components/jquery/test/data/readywaitloader.js +25 -0
- data/vendor/assets/components/jquery/test/data/script.php +11 -0
- data/vendor/assets/components/jquery/test/data/selector/html5_selector.html +114 -0
- data/vendor/assets/components/jquery/test/data/selector/sizzle_cache.html +21 -0
- data/vendor/assets/components/jquery/test/data/statusText.php +5 -0
- data/vendor/assets/components/jquery/test/data/support/bodyBackground.html +28 -0
- data/vendor/assets/components/jquery/test/data/support/shrinkWrapBlocks.html +23 -0
- data/vendor/assets/components/jquery/test/data/support/testElementCrash.html +17 -0
- data/vendor/assets/components/jquery/test/data/test.html +7 -0
- data/vendor/assets/components/jquery/test/data/test.js +3 -0
- data/vendor/assets/components/jquery/test/data/test.php +7 -0
- data/vendor/assets/components/jquery/test/data/test2.html +5 -0
- data/vendor/assets/components/jquery/test/data/test3.html +3 -0
- data/vendor/assets/components/jquery/test/data/testinit.js +269 -0
- data/vendor/assets/components/jquery/test/data/testrunner.js +368 -0
- data/vendor/assets/components/jquery/test/data/testsuite.css +155 -0
- data/vendor/assets/components/jquery/test/data/text.php +12 -0
- data/vendor/assets/components/jquery/test/data/ua.txt +272 -0
- data/vendor/assets/components/jquery/test/data/with_fries.xml +25 -0
- data/vendor/assets/components/jquery/test/data/with_fries_over_jsonp.php +7 -0
- data/vendor/assets/components/jquery/test/delegatetest.html +228 -0
- data/vendor/assets/components/jquery/test/hovertest.html +158 -0
- data/vendor/assets/components/jquery/test/index.html +330 -0
- data/vendor/assets/components/jquery/test/localfile.html +75 -0
- data/vendor/assets/components/jquery/test/networkerror.html +84 -0
- data/vendor/assets/components/jquery/test/polluted.php +110 -0
- data/vendor/assets/components/jquery/test/readywait.html +70 -0
- data/vendor/assets/components/jquery/test/unit/ajax.js +1971 -0
- data/vendor/assets/components/jquery/test/unit/attributes.js +1332 -0
- data/vendor/assets/components/jquery/test/unit/callbacks.js +326 -0
- data/vendor/assets/components/jquery/test/unit/core.js +1332 -0
- data/vendor/assets/components/jquery/test/unit/css.js +1036 -0
- data/vendor/assets/components/jquery/test/unit/data.js +636 -0
- data/vendor/assets/components/jquery/test/unit/deferred.js +440 -0
- data/vendor/assets/components/jquery/test/unit/deprecated.js +1 -0
- data/vendor/assets/components/jquery/test/unit/dimensions.js +461 -0
- data/vendor/assets/components/jquery/test/unit/effects.js +2050 -0
- data/vendor/assets/components/jquery/test/unit/event.js +2690 -0
- data/vendor/assets/components/jquery/test/unit/exports.js +7 -0
- data/vendor/assets/components/jquery/test/unit/manipulation.js +2242 -0
- data/vendor/assets/components/jquery/test/unit/offset.js +549 -0
- data/vendor/assets/components/jquery/test/unit/queue.js +316 -0
- data/vendor/assets/components/jquery/test/unit/selector.js +185 -0
- data/vendor/assets/components/jquery/test/unit/serialize.js +146 -0
- data/vendor/assets/components/jquery/test/unit/support.js +384 -0
- data/vendor/assets/components/jquery/test/unit/traversing.js +667 -0
- data/vendor/assets/components/jquery/test/xhtml.php +5 -0
- data/vendor/assets/components/sir-trevor-js/CHANGELOG.md +44 -0
- data/vendor/assets/components/sir-trevor-js/Gemfile +3 -0
- data/vendor/assets/components/sir-trevor-js/Gemfile.lock +10 -0
- data/vendor/assets/components/sir-trevor-js/Gruntfile.js +109 -0
- data/vendor/assets/components/sir-trevor-js/MIT-LICENCE +20 -0
- data/vendor/assets/components/sir-trevor-js/Readme.md +84 -0
- data/vendor/assets/components/sir-trevor-js/bower.json +21 -0
- data/vendor/assets/components/sir-trevor-js/component.json +42 -0
- data/vendor/assets/components/sir-trevor-js/contributing.md +74 -0
- data/vendor/assets/components/sir-trevor-js/examples-component/component.json +14 -0
- data/vendor/assets/components/sir-trevor-js/examples-component/index.html +33 -0
- data/vendor/assets/components/sir-trevor-js/examples-component/index.js +29 -0
- data/vendor/assets/components/sir-trevor-js/examples-component/javascript/example_block.js +203 -0
- data/vendor/assets/components/sir-trevor-js/examples-component/javascript/limit_chars.js +46 -0
- data/vendor/assets/components/sir-trevor-js/examples-component/sir-trevor.gif +0 -0
- data/vendor/assets/components/sir-trevor-js/locales/cn.js +51 -0
- data/vendor/assets/components/sir-trevor-js/locales/de.js +51 -0
- data/vendor/assets/components/sir-trevor-js/locales/es.js +51 -0
- data/vendor/assets/components/sir-trevor-js/locales/fi.js +51 -0
- data/vendor/assets/components/sir-trevor-js/locales/fr.js +51 -0
- data/vendor/assets/components/sir-trevor-js/locales/pt.js +52 -0
- data/vendor/assets/components/sir-trevor-js/package.json +23 -0
- data/vendor/assets/components/sir-trevor-js/sir-trevor-icons.css +6 -0
- data/vendor/assets/components/sir-trevor-js/sir-trevor.css +393 -0
- data/vendor/assets/components/sir-trevor-js/sir-trevor.css.map +7 -0
- data/vendor/assets/components/sir-trevor-js/sir-trevor.js +5481 -0
- data/vendor/assets/components/sir-trevor-js/sir-trevor.min.js +13 -0
- data/vendor/assets/components/underscore/CNAME +1 -0
- data/vendor/assets/components/underscore/CONTRIBUTING.md +9 -0
- data/vendor/assets/components/underscore/LICENSE +22 -0
- data/vendor/assets/components/underscore/README.md +19 -0
- data/vendor/assets/components/underscore/Rakefile +10 -0
- data/vendor/assets/components/underscore/docs/docco.css +192 -0
- data/vendor/assets/components/underscore/docs/favicon.ico +0 -0
- data/vendor/assets/components/underscore/docs/images/background.png +0 -0
- data/vendor/assets/components/underscore/docs/images/underscore.png +0 -0
- data/vendor/assets/components/underscore/docs/underscore.html +823 -0
- data/vendor/assets/components/underscore/favicon.ico +0 -0
- data/vendor/assets/components/underscore/index.html +2467 -0
- data/vendor/assets/components/underscore/index.js +1 -0
- data/vendor/assets/components/underscore/package.json +16 -0
- data/vendor/assets/components/underscore/test/arrays.js +200 -0
- data/vendor/assets/components/underscore/test/chaining.js +59 -0
- data/vendor/assets/components/underscore/test/collections.js +453 -0
- data/vendor/assets/components/underscore/test/functions.js +265 -0
- data/vendor/assets/components/underscore/test/index.html +44 -0
- data/vendor/assets/components/underscore/test/objects.js +570 -0
- data/vendor/assets/components/underscore/test/speed.js +75 -0
- data/vendor/assets/components/underscore/test/utility.js +266 -0
- data/vendor/assets/components/underscore/test/vendor/jquery.js +9404 -0
- data/vendor/assets/components/underscore/test/vendor/jslitmus.js +670 -0
- data/vendor/assets/components/underscore/test/vendor/qunit.css +235 -0
- data/vendor/assets/components/underscore/test/vendor/qunit.js +1977 -0
- data/vendor/assets/components/underscore/test/vendor/runner.js +98 -0
- data/vendor/assets/components/underscore/underscore-min.js +1 -0
- data/vendor/assets/components/underscore/underscore.js +1226 -0
- metadata +473 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
var SirTrevor = require("sir-trevor-js")
|
|
2
|
+
, $ = require("jquery");
|
|
3
|
+
|
|
4
|
+
SirTrevor.DEBUG = true;
|
|
5
|
+
SirTrevor.LANGUAGE = "en";
|
|
6
|
+
|
|
7
|
+
SirTrevor.setBlockOptions("Text", {
|
|
8
|
+
onBlockRender: function() {
|
|
9
|
+
console.log("Text block rendered");
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
window.editor = new SirTrevor.Editor({
|
|
14
|
+
el: $('.sir-trevor'),
|
|
15
|
+
blockTypes: [
|
|
16
|
+
"Heading",
|
|
17
|
+
"Text",
|
|
18
|
+
"List",
|
|
19
|
+
"Quote",
|
|
20
|
+
"Image",
|
|
21
|
+
"Video",
|
|
22
|
+
"Tweet"
|
|
23
|
+
]
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
$('form').bind('submit', function(){
|
|
27
|
+
return false;
|
|
28
|
+
});
|
|
29
|
+
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/*
|
|
2
|
+
An example of a SirTrevor.Block
|
|
3
|
+
--
|
|
4
|
+
Author: C J Bell @ madebymany
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
SirTrevor.Blocks.Example = (function(){
|
|
8
|
+
|
|
9
|
+
return SirTrevor.Block.extend({
|
|
10
|
+
|
|
11
|
+
// String; Names the block
|
|
12
|
+
// Note – please use underscores when naming
|
|
13
|
+
// Eg example_block should be ExampleBlock
|
|
14
|
+
type: 'example',
|
|
15
|
+
|
|
16
|
+
// Function; the title displayed in the toolbar
|
|
17
|
+
// Can return a translated string (if required)
|
|
18
|
+
title: function() {
|
|
19
|
+
// return i18n.t('blocks:example:title');
|
|
20
|
+
return "Example";
|
|
21
|
+
},
|
|
22
|
+
|
|
23
|
+
// Boolean; show this blockType of the toolbar
|
|
24
|
+
toolbarEnabled: true,
|
|
25
|
+
|
|
26
|
+
// Block Mixins
|
|
27
|
+
// Allow different UI components / methods to be mixed into the block
|
|
28
|
+
|
|
29
|
+
// Enable drop functionality on the block
|
|
30
|
+
droppable: false,
|
|
31
|
+
|
|
32
|
+
// Enable paste functionality (to paste URLS etc)
|
|
33
|
+
pastable: false,
|
|
34
|
+
|
|
35
|
+
// Enable an upload button to be added
|
|
36
|
+
// Mixins Ajaxable automatically
|
|
37
|
+
// Exposes an uploader method
|
|
38
|
+
// Usage: this.uploader(file, success, failure)
|
|
39
|
+
uploadable: false,
|
|
40
|
+
|
|
41
|
+
// Enable queued remote fetching
|
|
42
|
+
// Exposes a small wrapper around the $.ajax method
|
|
43
|
+
// Usage: this.fetch(ajaxOptions, success, failure)
|
|
44
|
+
fetchable: false,
|
|
45
|
+
|
|
46
|
+
// Add an ajax queue to the block
|
|
47
|
+
// Added to uploadable & fetchable automatically
|
|
48
|
+
ajaxable: false,
|
|
49
|
+
|
|
50
|
+
// Overwritable mixin options:
|
|
51
|
+
// --
|
|
52
|
+
drop_options: {
|
|
53
|
+
// String; (can use underscore template tags)
|
|
54
|
+
// Defines the HTML for the dropzone template
|
|
55
|
+
html: "<div class='st-block__dropzone'></div>",
|
|
56
|
+
// Boolean;
|
|
57
|
+
// On re-order, should we re-render this item.
|
|
58
|
+
// Useful for when re-ordering iframes (like Twitter)
|
|
59
|
+
re_render_on_reorder: false
|
|
60
|
+
},
|
|
61
|
+
|
|
62
|
+
paste_options: {
|
|
63
|
+
// String; (can use underscore template tags)
|
|
64
|
+
// Defines the HTML for the paste template
|
|
65
|
+
html: "<input type=\"text\" class=\"st-paste-block\">"
|
|
66
|
+
},
|
|
67
|
+
|
|
68
|
+
upload_options: {
|
|
69
|
+
// String; (can use underscore template tags)
|
|
70
|
+
// Defines the HTML for the upload template
|
|
71
|
+
html: "<input type=\"file\" type=\"st-file-upload\">"
|
|
72
|
+
},
|
|
73
|
+
|
|
74
|
+
formattable: true,
|
|
75
|
+
|
|
76
|
+
// String or Function; The HTML for the inner portion of the editor block
|
|
77
|
+
// In this example, the editorHTML is an editable input div (like we use for a TextBlock)
|
|
78
|
+
|
|
79
|
+
// Classes:
|
|
80
|
+
// st-required – indicates this input must be present to pass validation
|
|
81
|
+
// st-text-block – gives the block the ability to use the formatting controls
|
|
82
|
+
|
|
83
|
+
editorHTML: function() {
|
|
84
|
+
return "<div class='st-text-block' contenteditable='true'></div>";
|
|
85
|
+
},
|
|
86
|
+
|
|
87
|
+
// Element shorthands
|
|
88
|
+
// --
|
|
89
|
+
// this.$el
|
|
90
|
+
// this.el
|
|
91
|
+
// this.$inner (the inner container for the block)
|
|
92
|
+
// this.$editor (contains all the UI inputs for the block)
|
|
93
|
+
// this.$inputs (contains all the UI inputs for blocks that are uploadable / droppable / pastable)
|
|
94
|
+
// this.getTextBlock() (shorthand for this.$el.find('.st-text-block'))
|
|
95
|
+
// this.$(selector) (shorthand for this.$el.find(selector))
|
|
96
|
+
|
|
97
|
+
// Validations
|
|
98
|
+
// --
|
|
99
|
+
// Required fields (with .st-required class) always get validted
|
|
100
|
+
// Called using the validateField method
|
|
101
|
+
// Set a data-st-name="Field Name" on your required inputs to use it in the validation fail message
|
|
102
|
+
|
|
103
|
+
// Array; defines custom validator methods to call
|
|
104
|
+
validations: ['myCustomValidator'],
|
|
105
|
+
|
|
106
|
+
// Example custom validator
|
|
107
|
+
myCustomValidator: function() {
|
|
108
|
+
var field = this.$('.a-field');
|
|
109
|
+
|
|
110
|
+
if (field.val() === 'herp derp') {
|
|
111
|
+
this.setError(field, "A validation fail message");
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
|
|
115
|
+
// Function; Executed on render of the block if some data is provided.
|
|
116
|
+
// LoadData gives us a means to convert JSON data into the editor dom
|
|
117
|
+
// In this example we convert the text from markdown to HTML and show it inside the element
|
|
118
|
+
loadData: function(data){
|
|
119
|
+
this.getTextBlock().html(SirTrevor.toHTML(data.text, this.type));
|
|
120
|
+
},
|
|
121
|
+
|
|
122
|
+
// Function; Executed on save of the block, once the block is validated
|
|
123
|
+
// toData expects a way for the block to be transformed from inputs into structured data
|
|
124
|
+
// The default toData function provides a pretty comprehensive way of turning data into JSON
|
|
125
|
+
// In this example we take the text data and save it to the data object on the block
|
|
126
|
+
toData: function(){
|
|
127
|
+
var dataObj = {};
|
|
128
|
+
|
|
129
|
+
var content = this.getTextBlock().html();
|
|
130
|
+
if (content.length > 0) {
|
|
131
|
+
dataObj.text = SirTrevor.toMarkdown(content, this.type);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
this.setData(dataObj);
|
|
135
|
+
},
|
|
136
|
+
|
|
137
|
+
// Function; Returns true or false whether there is data in the block
|
|
138
|
+
isEmpty: function() {
|
|
139
|
+
return _.isEmpty(this.saveAndGetData()); // Default implementation
|
|
140
|
+
},
|
|
141
|
+
|
|
142
|
+
// Other data functions
|
|
143
|
+
// --
|
|
144
|
+
// getData – returns the data in the store
|
|
145
|
+
// save - Invokes the toData method
|
|
146
|
+
// saveAndReturnData - Saves and returns the entire store
|
|
147
|
+
// saveAndGetData - Save and only return the data part of the store
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
// Function; Hook executed at the end of the block rendering method.
|
|
151
|
+
// Useful for initialising extra pieces of UI or binding extra events.
|
|
152
|
+
// In this example we add an extra button, just because.
|
|
153
|
+
onBlockRender: function() {
|
|
154
|
+
this.$editor.append($('<button>', {
|
|
155
|
+
click: function() {
|
|
156
|
+
alert('Yo dawg, you clicked my button');
|
|
157
|
+
}
|
|
158
|
+
}));
|
|
159
|
+
},
|
|
160
|
+
|
|
161
|
+
// Function; Optional hook method executed before the rendering of a block
|
|
162
|
+
// Beware, $el and any shorthand element variables won't be setup here.
|
|
163
|
+
beforeBlockRender: function() {},
|
|
164
|
+
|
|
165
|
+
// Function; Executed once content has been dropped onto the dropzone of this block
|
|
166
|
+
// Only required if you have enabled dropping and have provided a dropzone for this block
|
|
167
|
+
// Always is passed the ev.transferData object from the drop
|
|
168
|
+
// Please see the image block (https://github.com/madebymany/sir-trevor-js/blob/master/src/blocks/image.js) for an example
|
|
169
|
+
onDrop: function(transferData) {},
|
|
170
|
+
|
|
171
|
+
// Function; executed once content has been pasted into a pastable block
|
|
172
|
+
// See the tweet block as an example (https://github.com/madebymany/sir-trevor-js/blob/master/src/blocks/tweet.js)
|
|
173
|
+
onContentPasted: function(event) {},
|
|
174
|
+
|
|
175
|
+
// Block level messages
|
|
176
|
+
// --
|
|
177
|
+
// addMessage(msg, additionalClass)
|
|
178
|
+
// Adds a new message onto the block
|
|
179
|
+
|
|
180
|
+
// resetMessages()
|
|
181
|
+
// Clears all existing messages
|
|
182
|
+
|
|
183
|
+
// Helper methods
|
|
184
|
+
// --
|
|
185
|
+
// loading()
|
|
186
|
+
// ready()
|
|
187
|
+
// hasTextBlock()
|
|
188
|
+
// remove()
|
|
189
|
+
|
|
190
|
+
// Function; Any extra markdown parsing can be defined in here.
|
|
191
|
+
// Returns; String (Required)
|
|
192
|
+
toMarkdown: function(markdown) {
|
|
193
|
+
return markdown.replace(/^(.+)$/mg,"> $1");
|
|
194
|
+
},
|
|
195
|
+
|
|
196
|
+
// Function; Any extra HTML parsing can be defined in here.
|
|
197
|
+
// Returns; String (Required)
|
|
198
|
+
toHTML: function(html) {
|
|
199
|
+
return html;
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
})();
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/* Soft character limits on inputs and textareas */
|
|
2
|
+
|
|
3
|
+
(function($){
|
|
4
|
+
|
|
5
|
+
$.fn.limit_chars = function() {
|
|
6
|
+
|
|
7
|
+
if (this.length===0) return;
|
|
8
|
+
|
|
9
|
+
// Remove browser maxlength, add soft limit
|
|
10
|
+
if(this.attr('maxlength')) {
|
|
11
|
+
this.attr('data-maxlength',this.attr('maxlength'));
|
|
12
|
+
this.removeAttr('maxlength');
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
if(this.parents('.extended_input').length === 0) {
|
|
16
|
+
|
|
17
|
+
count = (this.chars()<this.attr('data-maxlength')) ? this.chars() : '<em>'+this.chars()+'</em>';
|
|
18
|
+
|
|
19
|
+
// Build UI
|
|
20
|
+
this.wrap($('<div>',{
|
|
21
|
+
"class": "extended_input"
|
|
22
|
+
})).after($('<span>', {
|
|
23
|
+
"class": "count",
|
|
24
|
+
html: count+' of '+this.attr('data-maxlength')
|
|
25
|
+
}));
|
|
26
|
+
|
|
27
|
+
// Attach event
|
|
28
|
+
this.bind('keydown keyup paste',function(ev){
|
|
29
|
+
count = ($(this).chars()<$(this).attr('data-maxlength')) ? $(this).chars() : '<em>'+$(this).chars()+'</em>';
|
|
30
|
+
$(this).parent().find('.count').html(count+' of '+$(this).attr('data-maxlength'));
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
$.fn.chars = function() {
|
|
38
|
+
count = (this.attr('contenteditable')!==undefined) ? this.text().length : this.val().length;
|
|
39
|
+
return count;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
$.fn.too_long = function() {
|
|
43
|
+
return this.chars() > this.attr('data-maxlength');
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
})(jQuery);
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
SirTrevor.Locales.cn = {
|
|
2
|
+
general: {
|
|
3
|
+
'delete': '删除',
|
|
4
|
+
'drop': '把目标__block__拖拽到这里',
|
|
5
|
+
'paste': '或者粘贴一个URL',
|
|
6
|
+
'upload': '...或者点击上传',
|
|
7
|
+
'close': '关闭',
|
|
8
|
+
'position': '位置',
|
|
9
|
+
'wait': '处理中,请稍候...',
|
|
10
|
+
'link': '请填写要插入的链接'
|
|
11
|
+
},
|
|
12
|
+
errors: {
|
|
13
|
+
'title': "发生了以下的错误:",
|
|
14
|
+
'validation_fail': "__type__ 模块不是有效模块",
|
|
15
|
+
'block_empty': "__name__ 不能为空",
|
|
16
|
+
'type_missing': "你必须至少有一个 __type__ 类型的模块",
|
|
17
|
+
'required_type_empty': "一个必须不为空的模块 __type__ 目前为空",
|
|
18
|
+
'load_fail': "载入文档内容失败"
|
|
19
|
+
},
|
|
20
|
+
blocks: {
|
|
21
|
+
text: {
|
|
22
|
+
'title': "文字"
|
|
23
|
+
},
|
|
24
|
+
list: {
|
|
25
|
+
'title': "列表"
|
|
26
|
+
},
|
|
27
|
+
quote: {
|
|
28
|
+
'title': "引用",
|
|
29
|
+
'credit_field': "出处"
|
|
30
|
+
},
|
|
31
|
+
image: {
|
|
32
|
+
'title': "图片",
|
|
33
|
+
'upload_error': "载入图片失败"
|
|
34
|
+
},
|
|
35
|
+
video: {
|
|
36
|
+
'title': "视频"
|
|
37
|
+
},
|
|
38
|
+
tweet: {
|
|
39
|
+
'title': "Tweet",
|
|
40
|
+
'fetch_error': "获取tweet失败"
|
|
41
|
+
},
|
|
42
|
+
embedly: {
|
|
43
|
+
'title': "内嵌内容",
|
|
44
|
+
'fetch_error': "内嵌内容载入失败",
|
|
45
|
+
'key_missing': "嵌入内容的API没有合法的Key"
|
|
46
|
+
},
|
|
47
|
+
heading: {
|
|
48
|
+
'title': '标题'
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
SirTrevor.Locales.de = {
|
|
2
|
+
general: {
|
|
3
|
+
'delete': 'Löschen?',
|
|
4
|
+
'drop': '__block__ hier ablegen',
|
|
5
|
+
'paste': 'Oder Adresse hier einfügen',
|
|
6
|
+
'upload': '...oder Datei auswählen',
|
|
7
|
+
'close': 'Schließen',
|
|
8
|
+
'position': 'Position',
|
|
9
|
+
'wait': 'Bitte warten...',
|
|
10
|
+
'link': 'Link eintragen'
|
|
11
|
+
},
|
|
12
|
+
errors: {
|
|
13
|
+
'title': "Die folgenden Fehler sind aufgetreten:",
|
|
14
|
+
'validation_fail': "Block __type__ ist ungültig",
|
|
15
|
+
'block_empty': "__name__ darf nicht leer sein",
|
|
16
|
+
'type_missing': "Blöcke mit Typ __type__ sind hier nicht zulässig",
|
|
17
|
+
'required_type_empty': "Angeforderter Block-Typ __type__ ist leer",
|
|
18
|
+
'load_fail': "Es wurde ein Problem beim Laden des Dokumentinhalts festgestellt"
|
|
19
|
+
},
|
|
20
|
+
blocks: {
|
|
21
|
+
text: {
|
|
22
|
+
'title': "Text"
|
|
23
|
+
},
|
|
24
|
+
list: {
|
|
25
|
+
'title': "Liste (unsortiert)"
|
|
26
|
+
},
|
|
27
|
+
quote: {
|
|
28
|
+
'title': "Zitat",
|
|
29
|
+
'credit_field': "Quelle"
|
|
30
|
+
},
|
|
31
|
+
image: {
|
|
32
|
+
'title': "Bild",
|
|
33
|
+
'upload_error': "There was a problem with your upload"
|
|
34
|
+
},
|
|
35
|
+
video: {
|
|
36
|
+
'title': "Video"
|
|
37
|
+
},
|
|
38
|
+
tweet: {
|
|
39
|
+
'title': "Tweet",
|
|
40
|
+
'fetch_error': "Es wurde ein Problem beim Laden des Tweets festgestellt"
|
|
41
|
+
},
|
|
42
|
+
embedly: {
|
|
43
|
+
'title': "Embedly",
|
|
44
|
+
'fetch_error': "There was a problem fetching your embed",
|
|
45
|
+
'key_missing': "An Embedly API key must be present"
|
|
46
|
+
},
|
|
47
|
+
heading: {
|
|
48
|
+
'title': 'Heading'
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
SirTrevor.Locales.es = {
|
|
2
|
+
general: {
|
|
3
|
+
'delete': '¿Eliminar?',
|
|
4
|
+
'drop': 'Arrastrar __block__ ici',
|
|
5
|
+
'paste': 'O copie el enlace aquí',
|
|
6
|
+
'upload': '...o seleccione un fichero',
|
|
7
|
+
'close': 'cerrar',
|
|
8
|
+
'position': 'Posición',
|
|
9
|
+
'wait': 'Por favor, espere...',
|
|
10
|
+
'link': 'Introduce un link'
|
|
11
|
+
},
|
|
12
|
+
errors: {
|
|
13
|
+
'title': "Aparecerá el siguiente error :",
|
|
14
|
+
'validation_fail': "Bloque __type__ inválido",
|
|
15
|
+
'block_empty': "__name__ no debe estar vacío",
|
|
16
|
+
'type_missing': "Debe tene un tipo de bloque __type__",
|
|
17
|
+
'required_type_empty': "Un bloque obligatorio de tipo __type__ está vacío",
|
|
18
|
+
'load_fail': "Hay un problema con la carga de datos"
|
|
19
|
+
},
|
|
20
|
+
blocks: {
|
|
21
|
+
text: {
|
|
22
|
+
'title': "Texto"
|
|
23
|
+
},
|
|
24
|
+
list: {
|
|
25
|
+
'title': "Lista"
|
|
26
|
+
},
|
|
27
|
+
quote: {
|
|
28
|
+
'title': "Cita",
|
|
29
|
+
'credit_field': "Autor"
|
|
30
|
+
},
|
|
31
|
+
image: {
|
|
32
|
+
'title': "Imagen",
|
|
33
|
+
'upload_error': "Hay un problema con la subida"
|
|
34
|
+
},
|
|
35
|
+
video: {
|
|
36
|
+
'title': "Vídeo"
|
|
37
|
+
},
|
|
38
|
+
tweet: {
|
|
39
|
+
'title': "Tweet",
|
|
40
|
+
'fetch_error': "Se produjo un problema al recuperar su tweet"
|
|
41
|
+
},
|
|
42
|
+
embedly: {
|
|
43
|
+
'title': "Embebido",
|
|
44
|
+
'fetch_error': "Se produjo un problema al recuperar su video",
|
|
45
|
+
'key_missing': "Debe tener asociada una clave API"
|
|
46
|
+
},
|
|
47
|
+
heading: {
|
|
48
|
+
'title': 'Título'
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
SirTrevor.Locales.fi = {
|
|
2
|
+
general: {
|
|
3
|
+
'delete': 'Poista?',
|
|
4
|
+
'drop': 'Raahaa __block__ tähän',
|
|
5
|
+
'paste': 'Tai lisää osoite tähän',
|
|
6
|
+
'upload': '...tai valitse tiedosto',
|
|
7
|
+
'close': 'sulje',
|
|
8
|
+
'position': 'Sijainti',
|
|
9
|
+
'wait': 'Odota hetki...',
|
|
10
|
+
'link': 'Kirjoita osoite'
|
|
11
|
+
},
|
|
12
|
+
errors: {
|
|
13
|
+
'title': "Seuraavat virheet:",
|
|
14
|
+
'validation_fail': "__type__-lohko on epäkelpo",
|
|
15
|
+
'block_empty': "__name__ ei saa olla tyhjä",
|
|
16
|
+
'type_missing': "__type__ on pakollinen lohko",
|
|
17
|
+
'required_type_empty': "Pakollinen __type__-lohko on tyhjä",
|
|
18
|
+
'load_fail': "Sisällön lataamisessa on ongelma"
|
|
19
|
+
},
|
|
20
|
+
blocks: {
|
|
21
|
+
text: {
|
|
22
|
+
'title': "Teksti"
|
|
23
|
+
},
|
|
24
|
+
list: {
|
|
25
|
+
'title': "Lista"
|
|
26
|
+
},
|
|
27
|
+
quote: {
|
|
28
|
+
'title': "Lainaus",
|
|
29
|
+
'credit_field': "Lähde"
|
|
30
|
+
},
|
|
31
|
+
image: {
|
|
32
|
+
'title': "Kuva",
|
|
33
|
+
'upload_error': "Tiedoston lataamisessa oli ongelma"
|
|
34
|
+
},
|
|
35
|
+
video: {
|
|
36
|
+
'title': "Video"
|
|
37
|
+
},
|
|
38
|
+
tweet: {
|
|
39
|
+
'title': "Tweet",
|
|
40
|
+
'fetch_error': "Viestin hakemisessa oli ongelma"
|
|
41
|
+
},
|
|
42
|
+
embedly: {
|
|
43
|
+
'title': "Embedly",
|
|
44
|
+
'fetch_error': "Sisällön hakemisessa oli ongelma",
|
|
45
|
+
'key_missing': "Embedly vaatii API-avaimen"
|
|
46
|
+
},
|
|
47
|
+
heading: {
|
|
48
|
+
'title': 'Otsikko'
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|