Minor changes

This commit is contained in:
dignajar 2015-07-28 23:30:41 -03:00
parent d91c610e9a
commit 08bfdc8b09
210 changed files with 7584 additions and 8 deletions

View File

@ -6,12 +6,12 @@
<label>
<?php $Language->p('Title') ?>
<input id="jstitle" name="title" type="text" class="width-70" value="<?php echo $_Page->title() ?>">
<input id="jstitle" name="title" type="text" class="width-80" value="<?php echo $_Page->title() ?>">
</label>
<label>
<?php $Language->p('Content') ?> <span class="forms-desc"><?php $Language->p('HTML and Markdown code supported') ?></span>
<textarea name="content" rows="10" class="width-70"><?php echo $_Page->contentRaw(true, false) ?></textarea>
<textarea id="jscontent" name="content" rows="15" class="width-80"><?php echo $_Page->contentRaw(true, false) ?></textarea>
</label>
<?php

View File

@ -6,12 +6,12 @@
<label>
<?php $Language->p('Title') ?>
<input id="jstitle" name="title" type="text" class="width-70" value="<?php echo $_Post->title() ?>">
<input id="jstitle" name="title" type="text" class="width-80" value="<?php echo $_Post->title() ?>">
</label>
<label>
<?php $Language->p('Content') ?> <span class="forms-desc"><?php $Language->p('HTML and Markdown code supported') ?></span>
<textarea id="jscontent" name="content" rows="10" class="width-70"><?php echo $_Post->contentRaw(true, false) ?></textarea>
<textarea id="jscontent" name="content" rows="15" class="width-80"><?php echo $_Post->contentRaw(true, false) ?></textarea>
</label>
<?php

View File

@ -4,12 +4,12 @@
<label>
<?php $Language->p('Title') ?>
<input id="jstitle" name="title" type="text" class="width-70">
<input id="jstitle" name="title" type="text" class="width-80">
</label>
<label>
<?php $Language->p('Content') ?> <span class="forms-desc"><?php $Language->p('HTML and Markdown code supported') ?></span>
<textarea id="jscontent" name="content" rows="10" class="width-70"></textarea>
<textarea id="jscontent" name="content" rows="15" class="width-80"></textarea>
</label>
<?php

View File

@ -4,12 +4,12 @@
<label>
<?php $Language->p('Title') ?>
<input id="jstitle" name="title" type="text" class="width-70">
<input id="jstitle" name="title" type="text" class="width-80">
</label>
<label>
<?php $Language->p('Content') ?> <span class="forms-desc"><?php $Language->p('HTML and Markdown code supported') ?></span>
<textarea id="jscontent" name="content" rows="10" class="width-70"></textarea>
<textarea id="jscontent" name="content" rows="15" class="width-80"></textarea>
</label>
<?php

View File

@ -143,6 +143,7 @@ define('HTML_PATH_THEME_JS', HTML_PATH_THEME.'js/');
define('HTML_PATH_ADMIN_THEME', HTML_PATH_ROOT.'admin/themes/'.$Site->adminTheme().'/');
define('HTML_PATH_ADMIN_ROOT', HTML_PATH_ROOT.'admin/');
define('HTML_PATH_UPLOADS', HTML_PATH_ROOT.'content/uploads/');
define('HTML_PATH_PLUGINS', HTML_PATH_ROOT.'plugins/');
// Objects with dependency
$Language = new dbLanguage( $Site->locale() );

View File

@ -166,6 +166,16 @@ class dbSite extends dbJSON
return $this->db['locale'];
}
// Returns the current language in short format.
public function shortLanguage()
{
$locale = $this->locale();
$explode = explode('_', $locale);
$short = array_shift($explode);
return $short;
}
// Returns the current homepage.
public function homepage()
{

View File

@ -0,0 +1,3 @@
{
"directory": "bower_components/"
}

View File

@ -0,0 +1,6 @@
# Auto detect text files and perform LF normalization
* text=auto
# SCSS and JS files must always use LF for tools to work
*.js eol=lf
*.scss eol=lf

View File

@ -0,0 +1,19 @@
# Others
~$*
/.sass-cache
/uploaded-files
/node_modules
/bower_components
/dist
/src/ui/sass/_sprite*
/plugins/**/ui/sass/_sprite*
# Windows image file caches
Thumbs.db
# Folder config file
Desktop.ini
# Mac crap
.DS_Store

View File

@ -0,0 +1,15 @@
{
"expr": true,
"noarg": true,
"onevar": true,
"quotmark": "simple",
"undef": true,
"unused": true,
"browser": true,
"node": true,
"globals": {
"jQuery": false
}
}

View File

@ -0,0 +1,38 @@
# Contributors
Trumbowyg is the result of many people who made translations or the code better.
- Alex-D
- lizardK
- VeeeneX
- Danny Hiemstra
- Nicolás Moncada
- Jan Svoboda
- Manfred62
- Nikola Trifunovic
- Vlad Radulescu
- foo9
- g2010a
- Adam Balogh
- Andreas Kohn
- Andrey Kogut
- Antoine Leblanc
- Christian
- Delvallée
- JoongSeob Vito Kim
- MIRK0
- Moisés Márquez
- Nathan Rosquist
- Paweł Abramowicz
- Ramiro Varandas Jr
- Rezha Julio
- Vinzgore
- Wisse Jelgersma
- abomokhahmed
- akai
- basteyy
- brentanalexander
- munzur
- teppokoivula
- udidoron
- Олег Ильин

View File

@ -0,0 +1,166 @@
var gulp = require('gulp'),
del = require('del'),
vinylPaths = require('vinyl-paths'),
$ = require('gulp-load-plugins')(),
spritesmith = require('gulp.spritesmith');
var paths = {
scripts: ['src/trumbowyg.js'],
langs: ['src/langs/**.js', '!src/langs/en.js'],
plugins: ['plugins/*/**.js', '!plugins/*/Gulpfile.js'],
sprites: {
'icons-white': 'src/ui/images/icons-white/**.png',
'icons-white-2x': 'src/ui/images/icons-white-2x/**.png',
'icons-black': 'src/ui/images/icons-black/**.png',
'icons-black-2x': 'src/ui/images/icons-black-2x/**.png'
},
mainStyle: 'src/ui/sass/trumbowyg.scss',
styles: {
sass: 'src/ui/sass'
}
};
var pkg = require('./package.json');
var banner = ['/**',
' * <%= pkg.title %> v<%= pkg.version %> - <%= pkg.description %>',
' * <%= description %>',
' * ------------------------',
' * @link <%= pkg.homepage %>',
' * @license <%= pkg.license %>',
' * @author <%= pkg.author.name %>',
' * Twitter : @AlexandreDemode',
' * Website : <%= pkg.author.url.replace("http://", "") %>',
' */',
'\n'].join('\n');
var bannerLight = ['/** <%= pkg.title %> v<%= pkg.version %> - <%= pkg.description %>',
' - <%= pkg.homepage.replace("http://", "") %>',
' - License <%= pkg.license %>',
' - Author : <%= pkg.author.name %>',
' / <%= pkg.author.url.replace("http://", "") %>',
' */',
'\n'].join('');
gulp.task('clean', function(){
return gulp.src(['dist/*', 'src/ui/sass/_sprite*.scss'])
.pipe(vinylPaths(del));
});
gulp.task('test', ['test-scripts', 'test-langs', 'test-plugins']);
gulp.task('test-scripts', function(){
return gulp.src(paths.scripts)
.pipe($.jshint())
.pipe($.jshint.reporter('jshint-stylish'));
});
gulp.task('test-langs', function(){
return gulp.src(paths.langs)
.pipe($.jshint())
.pipe($.jshint.reporter('jshint-stylish'));
});
gulp.task('test-plugins', function(){
return gulp.src(paths.plugins)
.pipe($.jshint())
.pipe($.jshint.reporter('jshint-stylish'));
});
gulp.task('scripts', ['test-scripts'], function(){
return gulp.src(paths.scripts)
.pipe($.header(banner, { pkg: pkg, description: 'Trumbowyg core file' }))
.pipe($.newer('dist/trumbowyg.js'))
.pipe($.concat('trumbowyg.js', { newLine: '\r\n\r\n' }))
.pipe(gulp.dest('dist/'))
.pipe($.size({ title: 'trumbowyg.js' }))
.pipe($.rename({ suffix: ".min" }))
.pipe($.uglify())
.pipe($.header(bannerLight, { pkg: pkg }))
.pipe(gulp.dest('dist/'))
.pipe($.size({ title: 'trumbowyg.min.js' }))
});
gulp.task('langs', ['test-langs'], function(){
return gulp.src(paths.langs)
.pipe($.rename({ suffix: ".min" }))
.pipe($.uglify({
preserveComments: 'all'
}))
.pipe(gulp.dest('dist/langs/'))
});
gulp.task('plugins', ['test-plugins'], function(){
return gulp.src(paths.plugins)
.pipe(gulp.dest('dist/plugins/'))
.pipe($.rename({ suffix: ".min" }))
.pipe($.uglify())
.pipe(gulp.dest('dist/plugins/'))
});
gulp.task('sprites', function(){
return makeSprite('white') && makeSprite('white', '-2x') && makeSprite('black') && makeSprite('black', '-2x');
});
function makeSprite(color, resolution){
var suffix = '-' + color + ((resolution) ? resolution : '');
var sprite = gulp.src(paths.sprites['icons' + suffix])
.pipe(spritesmith({
imgName: 'icons' + suffix + '.png',
cssName: '_sprite' + suffix + '.scss',
cssTemplate: function(params){
var output = '', e;
for(var i in params.items){
e = params.items[i];
output += '$' + e.name + suffix + ': ' + e.px.offset_x + ' ' + e.px.offset_y + ';\n';
}
if(params.items.length > 0){
output += '\n\n';
output += '$sprite-height' + suffix + ': ' + params.items[0].px.total_height + ';\n';
output += '$sprite-width' + suffix + ': ' + params.items[0].px.total_width + ';\n';
output += '$icons' + suffix + ': "./images/icons' + suffix + '.png";';
}
return output;
}
}));
sprite.img.pipe(gulp.dest('dist/ui/images/'));
sprite.css.pipe(gulp.dest(paths.styles.sass));
return sprite.css;
}
gulp.task("styles", ["sprites"], function(){
return gulp.src(paths.mainStyle)
.pipe($.sass({
sass: paths.styles.sass
}))
.pipe($.autoprefixer(["last 1 version", "> 1%", "ff >= 20", "ie >= 8", "opera >= 12", "Android >= 2.2"], { cascade: true }))
.pipe($.header(banner, { pkg: pkg, description: "Default stylesheet for Trumbowyg editor" }))
.pipe(gulp.dest("dist/ui/"))
.pipe($.size({ title: "trumbowyg.css" }))
.pipe($.rename({ suffix: ".min" })) // génère une version minimifié
.pipe($.minifyCss())
.pipe($.header(bannerLight, { pkg: pkg }))
.pipe(gulp.dest("dist/ui/"))
.pipe($.size({ title: "trumbowyg.min.css" }));
});
gulp.task('watch', function(){
gulp.watch(paths.scripts, ['scripts']);
gulp.watch(paths.langs, ['langs']);
gulp.watch(paths.plugins, ['plugins']);
gulp.watch(paths.mainStyle, ['styles']);
gulp.watch(['dist/**', 'dist/*/**'], function(file){
$.livereload.changed(file);
});
$.livereload.listen();
});
gulp.task('build', ['scripts', 'langs', 'plugins', 'styles']);
gulp.task('default', ['build', 'watch']);

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2012-2014 Alexandre Demode (Alex-D)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -0,0 +1,34 @@
# Trumbowyg WYSIWYG Editor
Trumbowyg is a simple and lightweight WYSIWYG editor, is only 15kB for faster page loading.
[![Trumbowyg logo](banner.png)](http://alex-d.github.io/Trumbowyg/)
Visit presentation page : http://alex-d.github.io/Trumbowyg/
# Documentation
All you need to know about Trumbowyg is here : http://alex-d.github.io/Trumbowyg/documentation.html (or [on the home](http://alex-d.github.io/Trumbowyg/))
# Contribute
You can contribute to Trumbowyg with translations in languages you know.
Thanks to `node` and `gulp`, you can improve core script, style or icons easily.
## Getting Started
- Clone the repository
- `cd Trumbowyg` to go into the project's root directory
- `npm install` to install development dependencies
- `npm install -g bower gulp` to install bower and gulp command if you don't have them already
- `bower install` to install Trumbowyg dependencies (ie: jQuery)
- `gulp build` to build the project
`gulp` command launch default Gulp task watcher and rebuild on the fly.
# License
This project is under MIT license. See [LICENSE](LICENSE) file for details.

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@ -0,0 +1,36 @@
{
"name": "trumbowyg",
"version": "2.0.0-beta.4",
"homepage": "https://github.com/Alex-D/Trumbowyg",
"authors": [
{
"name": "Alexandre Demode (Alex-D)",
"email": "contact@alex-d.fr",
"homepage": "http://alex-d.fr"
}
],
"description": "A lightweight WYSIWYG editor",
"main": "dist/trumbowyg.js",
"keywords": [
"editor",
"wysiwyg",
"javascript",
"richtext"
],
"license": "MIT",
"ignore": [
"**/.*",
"bower_components",
"node_modules",
"plugins",
"!dist/plugins",
"test",
"tests",
"src",
"Gulpfile.js",
"package.json"
],
"dependencies": {
"jquery": ">=1.7"
}
}

View File

@ -0,0 +1,14 @@
html,
body {
margin: 0;
padding: 0;
background-color: #F2F2F2;
font-family: "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
}
header {
text-align: center;
}
#main {
max-width: 960px;
margin: 0 auto;
}

View File

@ -0,0 +1,41 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Trumbowyg by Alex-D</title>
<link rel="stylesheet" href="css/main.css">
<link rel="stylesheet" href="../dist/ui/trumbowyg.css">
</head>
<body>
<div id="main" role="main">
<header>
<h1>Default usage of Trumbowyg</h1>
<p>
No plugin, no options. Just naked Trumbowyg.
</p>
</header>
<div id="editor">
<h2>This editor is the default build of Trumbowyg.</h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Possimus, aliquam, minima fugiat placeat provident optio nam reiciendis eius beatae quibusdam!
</p>
<p>
The text is derived from Cicero's De Finibus Bonorum et Malorum (On the Ends of Goods and Evils, or alternatively [About] The Purposes of Good and Evil ). The original passage began: Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit (Translation: &quot;Neither is there anyone who loves grief itself since it is grief and thus wants to obtain it&quot;).
</p>
</div>
<h2>The code</h2>
<code><pre>
$('#editor').trumbowyg();
</pre></code>
</div>
<script src="../bower_components/jquery/dist/jquery.min.js"></script>
<script src="../dist/trumbowyg.js"></script>
<script>
/** Default editor configuration **/
$('#editor').trumbowyg();
</script>
</body>
</html>

View File

@ -0,0 +1,108 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>base64 plugin | Trumbowyg by Alex-D</title>
<link rel="stylesheet" href="../css/main.css">
<link rel="stylesheet" href="../../dist/ui/trumbowyg.css">
</head>
<body>
<div id="main" role="main">
<header>
<h1>Base64 plugin for Trumbowyg</h1>
<p>
You can insert an image in <em>base64</em> in src attribute of <code>img</code> tag.
</p>
</header>
<div id="editor">
<h2>Insert your base64 image!</h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Possimus, aliquam, minima fugiat placeat provident optio nam reiciendis eius beatae quibusdam!
</p>
<p>
The text is derived from Cicero's De Finibus Bonorum et Malorum (On the Ends of Goods and Evils, or alternatively [About] The Purposes of Good and Evil ). The original passage began: Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit (Translation: &quot;Neither is there anyone who loves grief itself since it is grief and thus wants to obtain it&quot;).
</p>
</div>
<h2>The code</h2>
<code><pre>
$('#editor')
.trumbowyg({
btnsAdd: ['base64']
});
</pre></code>
<hr>
<div id="editor-dropdown">
<h2>Insert your base64 image through image dropdown!</h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Possimus, aliquam, minima fugiat placeat provident optio nam reiciendis eius beatae quibusdam!
</p>
<p>
The text is derived from Cicero's De Finibus Bonorum et Malorum (On the Ends of Goods and Evils, or alternatively [About] The Purposes of Good and Evil ). The original passage began: Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit (Translation: &quot;Neither is there anyone who loves grief itself since it is grief and thus wants to obtain it&quot;).
</p>
</div>
<h2>The code</h2>
<code><pre>
$('#editor-dropdown')
.trumbowyg({
btnsDef: {
// Create a new dropdown
image: {
dropdown: ['insertImage', 'base64'],
ico: 'insertImage'
}
},
// Redefine the button pane
btns: ['viewHTML',
'|', 'formatting',
'|', 'btnGrp-semantic',
'|', 'link',
'|', 'image',
'|', 'btnGrp-justify',
'|', 'btnGrp-lists',
'|', 'horizontalRule']
});
</pre></code>
</div>
<script src="../../bower_components/jquery/dist/jquery.min.js"></script>
<script src="../../dist/trumbowyg.js"></script>
<script src="../../dist/plugins/base64/trumbowyg.base64.js"></script>
<script>
$('#editor')
.trumbowyg({
btnsAdd: ['base64']
});
$('#editor-dropdown')
.trumbowyg({
btnsDef: {
// Create a new dropdown
image: {
dropdown: ['insertImage', 'base64'],
ico: 'insertImage'
}
},
// Redefine the button pane
btns: ['viewHTML',
'|', 'formatting',
'|', 'btnGrp-semantic',
'|', 'link',
'|', 'image',
'|', 'btnGrp-justify',
'|', 'btnGrp-lists',
'|', 'horizontalRule']
});
</script>
</body>
</html>

View File

@ -0,0 +1,49 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Colors plugin | Trumbowyg by Alex-D</title>
<link rel="stylesheet" href="../css/main.css">
<link rel="stylesheet" href="../../dist/ui/trumbowyg.css">
<link rel="stylesheet" href="../../dist/plugins/colors/ui/trumbowyg.colors.css">
</head>
<body>
<div id="main" role="main">
<header>
<h1>Colors plugin for Trumbowyg</h1>
<p>
This plugin allow you to add a foreground and/or background color picker.
</p>
</header>
<div id="editor">
<h2>You can color me!</h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Possimus, aliquam, minima fugiat placeat provident optio nam reiciendis eius beatae quibusdam!
</p>
<p>
The text is derived from Cicero's De Finibus Bonorum et Malorum (On the Ends of Goods and Evils, or alternatively [About] The Purposes of Good and Evil ). The original passage began: Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit (Translation: &quot;Neither is there anyone who loves grief itself since it is grief and thus wants to obtain it&quot;).
</p>
</div>
<h2>The code</h2>
<code><pre>
$('#editor')
.trumbowyg({
// You can only add one of foreColor/backColor
btnsAdd: ['foreColor', 'backColor']
});
</pre></code>
</div>
<script src="../../bower_components/jquery/dist/jquery.min.js"></script>
<script src="../../dist/trumbowyg.js"></script>
<script src="../../dist/plugins/colors/trumbowyg.colors.js"></script>
<script>
$('#editor')
.trumbowyg({
btnsAdd: ['foreColor', 'backColor']
});
</script>
</body>
</html>

View File

@ -0,0 +1,111 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>upload plugin | Trumbowyg by Alex-D</title>
<link rel="stylesheet" href="../css/main.css">
<link rel="stylesheet" href="../../dist/ui/trumbowyg.css">
</head>
<body>
<div id="main" role="main">
<header>
<h1>Upload plugin for Trumbowyg</h1>
<p>
You can insert an image by upload.
</p>
<p>
<strong>Note:</strong> this demo does not works without a PHP server, but you can take a look at the files to understand how to use this plugin and how to implement the back-end to match with the plugin.
</p>
</header>
<div id="editor">
<h2>Insert your uploaded image!</h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Possimus, aliquam, minima fugiat placeat provident optio nam reiciendis eius beatae quibusdam!
</p>
<p>
The text is derived from Cicero's De Finibus Bonorum et Malorum (On the Ends of Goods and Evils, or alternatively [About] The Purposes of Good and Evil ). The original passage began: Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit (Translation: &quot;Neither is there anyone who loves grief itself since it is grief and thus wants to obtain it&quot;).
</p>
</div>
<h2>The code</h2>
<code><pre>
$('#editor')
.trumbowyg({
btnsAdd: ['upload']
});
</pre></code>
<hr>
<div id="editor-dropdown">
<h2>Insert your uploaded image through image dropdown!</h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Possimus, aliquam, minima fugiat placeat provident optio nam reiciendis eius beatae quibusdam!
</p>
<p>
The text is derived from Cicero's De Finibus Bonorum et Malorum (On the Ends of Goods and Evils, or alternatively [About] The Purposes of Good and Evil ). The original passage began: Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit (Translation: &quot;Neither is there anyone who loves grief itself since it is grief and thus wants to obtain it&quot;).
</p>
</div>
<h2>The code</h2>
<code><pre>
$('#editor-dropdown')
.trumbowyg({
btnsDef: {
// Create a new dropdown
image: {
dropdown: ['insertImage', 'upload'],
ico: 'insertImage'
}
},
// Redefine the button pane
btns: ['viewHTML',
'|', 'formatting',
'|', 'btnGrp-semantic',
'|', 'link',
'|', 'image',
'|', 'btnGrp-justify',
'|', 'btnGrp-lists',
'|', 'horizontalRule']
});
</pre></code>
</div>
<script src="../../bower_components/jquery/dist/jquery.min.js"></script>
<script src="../../dist/trumbowyg.js"></script>
<script src="../../dist/plugins/upload/trumbowyg.upload.js"></script>
<script>
$('#editor')
.trumbowyg({
btnsAdd: ['upload']
});
$('#editor-dropdown')
.trumbowyg({
btnsDef: {
// Create a new dropdown
image: {
dropdown: ['insertImage', 'upload'],
ico: 'insertImage'
}
},
// Redefine the button pane
btns: ['viewHTML',
'|', 'formatting',
'|', 'btnGrp-semantic',
'|', 'link',
'|', 'image',
'|', 'btnGrp-justify',
'|', 'btnGrp-lists',
'|', 'horizontalRule']
});
</script>
</body>
</html>

View File

@ -0,0 +1,287 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Trumbowyg by Alex-D</title>
<link rel="stylesheet" href="examples/css/main.css">
<link rel="stylesheet" href="dist/ui/trumbowyg.css">
<link rel="stylesheet" href="dist/plugins/colors/ui/trumbowyg.colors.css">
</head>
<body>
<div id="main" role="main">
<header>
<h1>Examples of use Trumbowyg</h1>
<p>
Close an editor on clic on "Close" in top right corner. <br>
To reopen an editor, double-click on his text.
</p>
</header>
<form action="#">
<div id="default-editor">
<h2>This editor is the default build of Trumbowyg.</h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Possimus, aliquam, minima fugiat placeat provident optio nam reiciendis eius beatae quibusdam!
</p>
<p>
The text is derived from Cicero's De Finibus Bonorum et Malorum (On the Ends of Goods and Evils, or alternatively [About] The Purposes of Good and Evil ). The original passage began: Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit (Translation: &quot;Neither is there anyone who loves grief itself since it is grief and thus wants to obtain it&quot;).
</p>
<code><pre>
$('#default-editor').trumbowyg();
</pre></code>
</div>
<div id="simple-editor">
<h2>This is a minimalist demo of Trumbowyg.</h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Possimus, aliquam, minima fugiat placeat provident optio nam reiciendis eius beatae quibusdam!
</p>
<code><pre>
$('#simple-editor').trumbowyg({
btns: [jQuery.trumbowyg.btnsGrps.semantic]
});
</pre></code>
</div>
<div id="customized-buttonpane">
<h2>This is a demo of Trumbowyg with a customized button pane</h2>
<p>
The text is derived from Cicero's De Finibus Bonorum et Malorum (On the Ends of Goods and Evils, or alternatively [About] The Purposes of Good and Evil ). The original passage began: Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit (Translation: &quot;Neither is there anyone who loves grief itself since it is grief and thus wants to obtain it&quot;).
</p>
<p style="text-align: center;">
<img src="http://alex-d.github.io/Trumbowyg/img/logo-tbw.png" alt="Trumbowyg logo">
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dignissimos, minima, asperiores libero architecto sequi fugit dolore sunt in officiis facere ut quaerat ullam laudantium delectus aliquam tenetur alias! Ea, nisi, est earum temporibus dolores quas qui repellendus aliquid voluptatibus tempore facilis eligendi omnis reiciendis nihil ullam quo dolorem nam deleniti. Fugit dignissimos dolorum dolore voluptate repudiandae recusandae debitis. Neque, adipisci, maiores magni aliquam molestiae ex natus minus quod tempora nemo debitis eum laboriosam voluptatum ut architecto animi nobis vero quis dolore eaque! Corporis, dolore, illum, autem in eum ea doloribus ut consequuntur modi et ullam adipisci blanditiis corrupti ab voluptate.
</p>
<p>
It is not known exactly when the text acquired its current standard form; it may have been as late as the 1960s. The passage was discovered by Richard McClintock, a Latin scholar who is the publications director at Hampden-Sydney College in Virginia, by searching for citings of the rarely used word 'consectetur' in classical literature.
</p>
<code><pre>
/*
* Add your own groups of button
*/
$.trumbowyg.btnsGrps.test = ['bold', 'link'];
/* Add new words for customs btnsDef just below */
$.extend(true, $.trumbowyg.langs, {
fr: {
align: 'Alignement',
image: 'Image'
}
});
$('#customized-buttonpane').trumbowyg({
lang: 'fr',
closable: true,
fixedBtnPane: true,
btnsDef: {
// Customizables dropdowns
align: {
dropdown: ['justifyLeft', 'justifyCenter', 'justifyRight', 'justifyFull'],
ico: 'justifyLeft'
},
image: {
dropdown: ['insertImage', 'upload', 'base64'],
ico: 'insertImage'
}
},
btns: ['viewHTML',
'|', 'formatting',
'|', 'btnGrp-test',
'|', 'align',
'|', 'btnGrp-lists',
'|', 'image']
});
</pre></code>
</div>
<textarea id="form-content" cols="30" rows="10" required>
<h1>This editor is create from a textarea</h1>
<p>
Even though using &quot;lorem ipsum&quot; often arouses curiosity due to its resemblance to classical Latin, it is not intended to have meaning. Where text is visible in a document, people tend to focus on the textual content rather than upon overall presentation, so publishers use lorem ipsum when displaying a typeface or design in order to direct the focus to presentation. &quot;Lorem ipsum&quot; also approximates a typical distribution of spaces in English. <br>
The most common lorem ipsum text reads as follows: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
<code><pre>
$('#form-content').trumbowyg({
lang: 'fr',
closable: true,
mobile: true,
fixedBtnPane: true,
fixedFullWidth: true,
semantic: true,
resetCss: true,
autoAjustHeight: true,
autogrow: true
});
</pre></code>
</textarea>
<div id="dynamic-iframe-example"></div>
<textarea id="placeholder-editor" cols="30" rows="10" placeholder="This is a placeholder..." required></textarea>
<button type="submit">Submit</button>
</form>
</div>
<script src="bower_components/jquery/dist/jquery.min.js"></script>
<script src="dist/trumbowyg.js"></script>
<script src="dist/langs/fr.min.js"></script>
<script src="dist/plugins/upload/trumbowyg.upload.js"></script>
<script src="dist/plugins/base64/trumbowyg.base64.js"></script>
<script src="dist/plugins/colors/trumbowyg.colors.js"></script>
<script>
/** Default editor configuration **/
$('#default-editor')
.trumbowyg()
.on('dblclick', function(){
$(this).trumbowyg();
})
.on('tbwfocus tbwblur tbwchange tbwresize tbwpaste tbwclose', function(e){
console.log(e.type);
});
/** Default editor configuration **/
$('#simple-editor')
.trumbowyg({
btns: ['btnGrp-semantic']
})
.on('dblclick', function(){
$(this).trumbowyg();
});
/********************************************************
* Customized button pane + buttons groups + dropdowns
* Use upload and base64 plugins
*******************************************************/
/*
* Add your own groups of button
*/
$.trumbowyg.btnsGrps.test = ['bold', 'link'];
/* Add new words for customs btnsDef just below */
$.extend(true, $.trumbowyg.langs, {
fr: {
align: 'Alignement',
image: 'Image'
}
});
var customizedButtonPaneTbwOptions = {
lang: 'fr',
closable: true,
fixedBtnPane: true,
btnsDef: {
// Customizables dropdowns
align: {
dropdown: ['justifyLeft', 'justifyCenter', 'justifyRight', 'justifyFull'],
ico: 'justifyLeft'
},
image: {
dropdown: ['insertImage', 'upload', 'base64'],
ico: 'insertImage'
}
},
btns: ['viewHTML',
'|', 'formatting',
'|', 'btnGrp-test',
'|', 'align',
'|', 'btnGrp-lists',
'|', 'image',
'|', 'foreColor', 'backColor']
};
$('#customized-buttonpane')
.trumbowyg(customizedButtonPaneTbwOptions)
.on('dblclick', function(){
$(this).trumbowyg(customizedButtonPaneTbwOptions);
});
/** Simple customization with current options **/
var formTbwOptions = {
lang: 'fr',
closable: true,
mobile: true,
fixedBtnPane: true,
fixedFullWidth: true,
semantic: true,
resetCss: true,
removeformatPasted: true,
autogrow: true,
btnsDef: {
strong: {
func: 'bold',
key: 'G'
}
}
};
$('#form-content')
.trumbowyg(formTbwOptions)
.on('dblclick', function(){
$(this).trumbowyg(formTbwOptions);
});
/** Dynamic Iframe **/
// Create the iframe element.
var $iframe = $('<iframe/>').css({
width: '100%',
height: 400,
border: 0
});
$('#dynamic-iframe-example').append($iframe);
// Get the document of the iframe.
var $editor = $('<div>', {
id: 'editor'
}).html(
'<h2>This is within an iframe</h2> <p>Soc'
+ 'tempor pulvinar ac ultricies, placerat in, elementum,'
+ 'adipiscing pid, mid augue pulvinar eros nisi! In magn'
+ 'magnis. Porttitor platea turpis nisi. Pulvinar massa,'
+ ' habitasse <strong>a nunc rhoncus adipiscing</strong></p>'),
optionTbwIframe = {
closable: true,
fullscreenable: false
};
setTimeout(function(){
var contextIframe = $iframe.contents()[0];
// Set the style on the head of the iframe.
$('head', contextIframe).append($('<link>', {
href: 'dist/ui/trumbowyg.css',
rel: 'stylesheet'
}));
// Set the content to be editable.
$('body', contextIframe).append($editor);
$editor
.trumbowyg(optionTbwIframe)
.on('dblclick', function(){
$(this).trumbowyg(optionTbwIframe);
});
}, 500);
/** Editor with placeholder **/
$('#placeholder-editor')
.trumbowyg()
.on('dblclick', function(){
$(this).trumbowyg();
})
.on('tbwfocus', function(){
console.log('focus event fired');
})
.on('tbwblur', function(){
console.log('blur event fired');
});
</script>
</body>
</html>

View File

@ -0,0 +1,47 @@
{
"name": "trumbowyg",
"title": "Trumbowyg",
"description": "A lightweight WYSIWYG editor",
"version": "2.0.0-beta.4",
"main": "dist/trumbowyg.js",
"homepage": "http://alex-d.github.io/Trumbowyg",
"author": {
"name": "Alexandre Demode (Alex-D)",
"email": "contact@alex-d.fr",
"url": "http://alex-d.fr"
},
"repository": {
"type": "git",
"url": "https://github.com/Alex-D/Trumbowyg.git"
},
"bugs": {
"url": "https://github.com/Alex-D/Trumbowyg/issues"
},
"license": "MIT",
"devDependencies": {
"bower": "^1.3.9",
"del": "^1.1.1",
"gulp": "^3.8.5",
"gulp-autoprefixer": "0.0.8",
"gulp-concat": "~2.3.4",
"gulp-header": "^1.2.2",
"gulp-imagemin": "~1.0.0",
"gulp-jshint": "~1.8.4",
"gulp-livereload": "~2.1.0",
"gulp-load-plugins": "~0.5.3",
"gulp-minify-css": "~0.3.7",
"gulp-newer": "~0.3.0",
"gulp-rename": "~1.2.0",
"gulp-sass": "~0.7.3",
"gulp-size": "~1.0.0",
"gulp-uglify": "~0.3.1",
"gulp.spritesmith": "~1.1.1",
"jshint-stylish": "~0.4.0",
"vinyl-paths": "^1.0.0"
},
"scripts": {
"build": "npm install && gulp build",
"start": "gulp",
"test": "gulp test"
}
}

View File

@ -0,0 +1,81 @@
/* ===========================================================
* trumbowyg.base64.js v1.0
* Base64 plugin for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Cyril Biencourt (lizardK)
*/
(function($){
'use strict';
$.extend(true, $.trumbowyg, {
langs: {
en: {
base64: "Image as base64",
file: "File",
errFileReaderNotSupported: "FileReader is not supported by your browser."
},
fr: {
base64: "Image en base64",
file: "Fichier"
},
cs: {
base64: "Vložit obrázek",
file: "Soubor"
}
},
opts: {
btnsDef: {
base64: {
isSupported: function(){
if(typeof FileReader === "undefined"){
if (window.console !== undefined) {
console.err('[Trumbowyg - Plugin base64] FileReader is not supported by your browser.');
}
return false;
}
return true;
},
func: function(params, tbw){
var file;
tbw.openModalInsert(
// Title
tbw.lang.base64,
// Fields
{
file: {
type: 'file',
required: true
},
alt: {
label: 'description'
}
},
// Callback
function(values){
var fReader = new FileReader();
fReader.onloadend = function(){
tbw.execCmd('insertImage', fReader.result);
$(['img[src="', fReader.result, '"]:not([alt])'].join(''), tbw.$box).attr('alt', values.alt);
tbw.closeModal();
};
fReader.readAsDataURL(file);
}
);
$('input[type=file]').on('change', function(e){
file = e.target.files[0];
});
},
ico: 'insertImage'
}
}
}
});
})(jQuery);

View File

@ -0,0 +1,107 @@
var gulp = require('gulp'),
del = require('del'),
vinylPaths = require('vinyl-paths'),
$ = require('gulp-load-plugins')(),
spritesmith = require('gulp.spritesmith');
var paths = {
sprites: {
'icons-white': 'ui/images/icons-white/**.png',
'icons-white-2x': 'ui/images/icons-white-2x/**.png',
'icons-black': 'ui/images/icons-black/**.png',
'icons-black-2x': 'ui/images/icons-black-2x/**.png'
},
mainStyle: 'ui/sass/trumbowyg.colors.scss',
styles: {
sass: 'ui/sass',
includePaths: ['ui/sass', '../../src/ui/sass/mixins']
}
};
var pkg = require('../../package.json');
var banner = ['/**',
' * <%= pkg.title %> v<%= pkg.version %> - <%= pkg.description %>',
' * <%= description %>',
' * ------------------------',
' * @link <%= pkg.homepage %>',
' * @license <%= pkg.license %>',
' * @author <%= pkg.author.name %>',
' * Twitter : @AlexandreDemode',
' * Website : <%= pkg.author.url.replace("http://", "") %>',
' */',
'\n'].join('\n');
var bannerLight = ['/** <%= pkg.title %> v<%= pkg.version %> - <%= pkg.description %>',
' - <%= pkg.homepage.replace("http://", "") %>',
' - License <%= pkg.license %>',
' - Author : <%= pkg.author.name %>',
' / <%= pkg.author.url.replace("http://", "") %>',
' */',
'\n'].join('');
gulp.task('clean', function(){
return gulp.src(['ui/sass/_sprite*.scss'])
.pipe(vinylPaths(del));
});
gulp.task('sprites', function(){
return makeSprite('white') && makeSprite('white', '-2x') && makeSprite('black') && makeSprite('black', '-2x');
});
function makeSprite(color, resolution){
var suffix = '-' + color + ((resolution) ? resolution : '');
var sprite = gulp.src(paths.sprites['icons' + suffix])
.pipe(spritesmith({
imgName: 'icons' + suffix + '.png',
cssName: '_sprite' + suffix + '.scss',
cssTemplate: function(params){
var output = '', e;
for(var i in params.items){
e = params.items[i];
output += '$' + e.name + suffix + ': ' + e.px.offset_x + ' ' + e.px.offset_y + ';\n';
}
if(params.items.length > 0){
output += '\n\n';
output += '$sprite-height' + suffix + ': ' + params.items[0].px.total_height + ';\n';
output += '$sprite-width' + suffix + ': ' + params.items[0].px.total_width + ';\n';
output += '$icons' + suffix + ': "./images/icons' + suffix + '.png";';
}
return output;
}
}));
sprite.img.pipe(gulp.dest('../../dist/plugins/colors/ui/images/'));
sprite.css.pipe(gulp.dest(paths.styles.sass));
return sprite.css;
}
gulp.task("styles", ["sprites"], function(){
return gulp.src(paths.mainStyle)
.pipe($.sass({
sass: paths.styles.sass,
includePaths: paths.styles.includePaths
}))
.pipe($.autoprefixer(["last 1 version", "> 1%", "ff >= 20", "ie >= 8", "opera >= 12", "Android >= 2.2"], { cascade: true }))
.pipe($.header(banner, { pkg: pkg, description: "Colors plugin stylesheet for Trumbowyg editor" }))
.pipe(gulp.dest("../../dist/plugins/colors/ui/"))
.pipe($.size({ title: "trumbowyg.colors.css" }))
.pipe($.rename({ suffix: ".min" })) // génère une version minimifié
.pipe($.minifyCss())
.pipe($.header(bannerLight, { pkg: pkg }))
.pipe(gulp.dest("../../dist/plugins/colors/ui/"))
.pipe($.size({ title: "trumbowyg.colors.min.css" }));
});
gulp.task('watch', function(){
gulp.watch(paths.mainStyle, ['styles']);
});
gulp.task('build', ['sprites', 'styles']);
gulp.task('default', ['build', 'watch']);

View File

@ -0,0 +1,83 @@
/* ===========================================================
* trumbowyg.colors.js v1.0
* Colors picker plugin for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Alexandre Demode (Alex-D)
* Twitter : @AlexandreDemode
* Website : alex-d.fr
*/
(function($){
'use strict';
$.extend(true, $.trumbowyg, {
langs: {
cs: {
foreColor: "Barva textu",
backColor: "Barva pozadí"
},
en: {
foreColor: "Text color",
backColor: "Background color"
},
fr: {
foreColor: "Couleur du texte",
backColor: "Couleur de fond"
},
sk: {
foreColor: "Farba textu",
backColor: "Farba pozadia"
}
}
});
// Create btnsDef entry
$.extend(true, $.trumbowyg, {
opts: {
btnsDef: {}
}
});
// Set default colors
if(!$.trumbowyg.opts.colors)
$.trumbowyg.opts.colors = ['ffffff', '000000', 'eeece1', '1f497d', '4f81bd', 'c0504d', '9bbb59', '8064a2', '4bacc6', 'f79646', 'ffff00', 'f2f2f2', '7f7f7f', 'ddd9c3', 'c6d9f0', 'dbe5f1', 'f2dcdb', 'ebf1dd', 'e5e0ec', 'dbeef3', 'fdeada', 'fff2ca', 'd8d8d8', '595959', 'c4bd97', '8db3e2', 'b8cce4', 'e5b9b7', 'd7e3bc', 'ccc1d9', 'b7dde8', 'fbd5b5', 'ffe694', 'bfbfbf', '3f3f3f', '938953', '548dd4', '95b3d7', 'd99694', 'c3d69b', 'b2a2c7', 'b7dde8', 'fac08f', 'f2c314', 'a5a5a5', '262626', '494429', '17365d', '366092', '953734', '76923c', '5f497a', '92cddc', 'e36c09', 'c09100', '7f7f7f', '0c0c0c', '1d1b10', '0f243e', '244061', '632423', '4f6128', '3f3151', '31859b', '974806', '7f6000'];
// Add all colors in two dropdowns
$.extend(true, $.trumbowyg, {
opts: {
btnsDef: {
foreColor: {
dropdown: buildDropdown('foreColor')
},
backColor: {
dropdown: buildDropdown('backColor')
}
}
}
});
function buildDropdown(func){
var dropdown = [];
$.each($.trumbowyg.opts.colors, function(i, color){
var btn = '_' + func + color;
$.trumbowyg.opts.btnsDef[btn] = {
func: func,
param: '#' + color,
style: 'background-color: #' + color + ';'
};
dropdown.push(btn);
});
var btn = '_' + func + 'transparent';
$.trumbowyg.opts.btnsDef[btn] = {
func: func,
param: 'transparent',
style: 'background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAG0lEQVQIW2NkQAAfEJMRmwBYhoGBYQtMBYoAADziAp0jtJTgAAAAAElFTkSuQmCC);'
};
dropdown.push(btn);
return dropdown;
}
})(jQuery);

Binary file not shown.

After

Width:  |  Height:  |  Size: 633 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,94 @@
@import "sprite-black";
@import "sprite-black-2x";
@import "sprite-white";
@import "sprite-white-2x";
@import "sprite-pos";
.foreColor-trumbowyg-dropdown,
.backColor-trumbowyg-dropdown {
width: 276px;
padding: 7px 5px;
button {
display: block;
position: relative;
float: left;
text-indent: -9999px;
height: 20px;
width: 20px;
border: 1px solid #333;
padding: 0;
margin: 2px;
&:hover,
&:focus {
&::after {
content: " ";
display: block;
height: 27px;
width: 27px;
background: inherit;
position: absolute;
top: -5px;
left: -5px;
border: 1px solid #FFF;
box-shadow: #000 0 0 2px;
z-index: 10;
}
}
}
}
/*
* Buttons icons
*/
.trumbowyg-button-pane li button {
&.trumbowyg-foreColor-button,
&.trumbowyg-backColor-button {
background-image: url($icons-black);
}
&.trumbowyg-foreColor-button { @include sprite-pos($forecolor-black); }
&.trumbowyg-backColor-button { @include sprite-pos($backcolor-black); }
}
.trumbowyg-black {
.trumbowyg-button-pane li button {
&.trumbowyg-foreColor-button,
&.trumbowyg-backColor-button {
background-image: url($icons-white);
}
&.trumbowyg-foreColor-button { @include sprite-pos($forecolor-white); }
&.trumbowyg-backColor-button { @include sprite-pos($backcolor-white); }
}
}
@media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (min--moz-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 4/3), only screen and (min-device-pixel-ratio: 1.3), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx){
.trumbowyg-button-pane li button {
&.trumbowyg-foreColor-button,
&.trumbowyg-backColor-button {
background-image: url($icons-black-2x) !important;
background-size: round($sprite-width-black-2x / 2) round($sprite-height-black-2x / 2) !important;
}
&.trumbowyg-foreColor-button { @include sprite-pos($forecolor-black-2x, true); }
&.trumbowyg-backColor-button { @include sprite-pos($backcolor-black-2x, true); }
}
.trumbowyg-black {
.trumbowyg-button-pane li button {
&.trumbowyg-foreColor-button,
&.trumbowyg-backColor-button {
background-image: url($icons-white-2x) !important;
}
&.trumbowyg-foreColor-button { @include sprite-pos($forecolor-white-2x, true); }
&.trumbowyg-backColor-button { @include sprite-pos($backcolor-white-2x, true); }
}
}
}

View File

@ -0,0 +1,157 @@
/* ===========================================================
* trumbowyg.upload.js v1.0
* Upload plugin for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Alexandre Demode (Alex-D)
* Twitter : @AlexandreDemode
* Website : alex-d.fr
*/
(function($){
'use strict';
addXhrProgressEvent();
$.extend(true, $.trumbowyg, {
langs: {
en: {
upload: "Upload",
file: "File",
uploadError: "Error"
},
sk: {
upload: "Nahrať",
file: "Súbor",
uploadError: "Chyba"
},
fr: {
upload: "Envoi",
file: "Fichier",
uploadError: "Erreur"
},
cs: {
upload: "Nahrát obrázek",
file: "Soubor",
uploadError: "Chyba"
}
},
upload: {
serverPath: './src/plugins/upload/trumbowyg.upload.php'
},
opts: {
btnsDef: {
upload: {
func: function(params, tbw){
var file,
pfx = tbw.o.prefix;
var $modal = tbw.openModalInsert(
// Title
tbw.lang.upload,
// Fields
{
file: {
type: 'file',
required: true
},
alt: {
label: 'description'
}
},
// Callback
function(){
var data = new FormData();
data.append('fileToUpload', file);
if($('.' + pfx +'progress', $modal).length === 0)
$('.' + pfx + 'modal-title', $modal)
.after(
$('<div/>', {
'class': pfx +'progress'
})
.append(
$('<div/>', {
'class': pfx +'progress-bar'
})
)
);
$.ajax({
url: $.trumbowyg.upload.serverPath,
type: 'POST',
data: data,
cache: false,
dataType: 'json',
processData: false,
contentType: false,
progressUpload: function(e){
$('.' + pfx + 'progress-bar').stop().animate({
width: Math.round(e.loaded * 100 / e.total) + '%'
}, 200);
},
success: function(data){
if(data.message == "uploadSuccess") {
tbw.execCmd('insertImage', data.file);
setTimeout(function(){
tbw.closeModal();
}, 250);
} else {
tbw.addErrorOnModalField(
$('input[type=file]', $modal),
tbw.lang[data.message]
);
}
},
error: function(){
tbw.addErrorOnModalField(
$('input[type=file]', $modal),
tbw.lang.uploadError
);
}
});
}
);
$('input[type=file]').on('change', function(e){
try {
// If multiple files allowed, we just get the first.
file = e.target.files[0];
} catch (err) {
// In IE8, multiple files not allowed
file = e.target.value;
}
});
},
ico: 'insertImage'
}
}
}
});
function addXhrProgressEvent(){
if (!$.trumbowyg && !$.trumbowyg.addedXhrProgressEvent) { // Avoid adding progress event multiple times
var originalXhr = $.ajaxSettings.xhr;
$.ajaxSetup({
xhr: function() {
var req = originalXhr(),
that = this;
if(req && typeof req.upload == "object" && that.progressUpload !== undefined)
req.upload.addEventListener("progress", function(e){
that.progressUpload(e);
}, false);
return req;
}
});
$.trumbowyg.addedXhrProgressEvent = true;
}
}
})(jQuery);

View File

@ -0,0 +1,49 @@
<?php
/* ===========================================================
* trumbowyg.upload.php
* Upload plugin for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Alexandre Demode (Alex-D)
* Twitter : @AlexandreDemode
* Website : alex-d.fr
* ===========================================================
* /!\ This file was make just for tests. Do not use it in
* production because it is not secure.
*/
/**
* Upload directory
*/
define("UPLOADDIR", "./uploaded-files/");
// Detect if it is an AJAX request
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
$file = array_shift($_FILES);
if(move_uploaded_file($file['tmp_name'], UPLOADDIR . basename($file['name']))) {
$file = dirname($_SERVER['PHP_SELF']) . str_replace('./', '/', UPLOADDIR) . $file['name'];
$data = array(
'message' => 'uploadSuccess',
'file' => $file,
);
} else {
$error = true;
$data = array(
'message' => 'uploadError',
);
}
} else {
$data = array(
'message' => 'uploadNotAjax',
'formData' => $_POST
);
}
echo json_encode($data);

View File

@ -0,0 +1,45 @@
/* ===========================================================
* ar.js
* Arabic translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Abo Mokh ahmed (abomokhahmed)
* Github : https://github.com/abomokhahmed
*/
jQuery.trumbowyg.langs.ar = {
_dir:"rtl",
viewHTML:"إعرض-HTML",
formatting:"تصميم",
p:"فقرة",
blockquote:"اقتباس",
code:"كود",
header:"رئيسي",
bold:"عريض",
italic:"مائل",
strikethrough:"مشطوب",
underline:"خطّ سفلي",
strong:"بارز",
em:"تغميق",
del:"حذف",
unorderedList:"قائمة غير مرتّبة",
orderedList:"قائمة مرتّبة",
insertImage:"إدخال صورة",
insertVideo:"إدخال فيديو",
link:"رابط",
createLink:"انشاء رابط",
unlink:"حذف رابط",
justifyLeft:"تصحيح للشمال",
justifyCenter:"تصحيح للمركز",
justifyRight:"تصحيح لليمين",
justifyFull:"تصحيح لكلا الإتّجاهين",
horizontalRule:"إدخال خطّ أفقي",
fullscreen:"شاشة واسعة",
close:"إغلاق",
submit:"أرسل",
reset:"تهيئة من حديد",
required:"إلزامي",
description:"وصف",
title:"عنوان",
text:"نصّ"
};

View File

@ -0,0 +1,57 @@
/* ===========================================================
* ca.js
* Catalan translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Àlfons Sánchez (alsanan)
* Twitter : @alsanan
* Website : about.me/alsanan
* Github : https://github.com/alsanan
*/
jQuery.trumbowyg.langs.ca = {
viewHTML: "Veure HTML",
formatting: "Formatar",
p: "Paragraf",
blockquote: "Citació",
code: "Codi",
header: "Títol",
bold: "Negreta",
italic: "Itàlica",
strikethrough: "Suprimir",
underline: "Subratllat",
strong: "Forta",
em: "Èmfasi",
del: "Apagar",
unorderedList: "Lista desordenada",
orderedList: "Lista ordenada",
insertImage: "Inserir imatge",
insertVideo: "Inserir vídeo",
link: "Enllaç",
createLink: "Crear un enllaç",
unlink: "Eliminar enllaç",
justifyLeft: "Alinear a esquerra",
justifyCenter: "Centrar",
justifyRight: "Alinear a dreta",
justifyFull: "Justificar",
horizontalRule: "Inserir separador horitzontal",
fullscreen: "Pantalla completa",
close: "Tancar",
submit: "Enviar",
reset: "Reiniciar",
required: "Obligatori",
description: "Descripció",
title: "Títol",
text: "Text"
};

View File

@ -0,0 +1,54 @@
/* ===========================================================
* cs.js
* Czech translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Jan Svoboda (https://github.com/svoboda-jan)
*/
jQuery.trumbowyg.langs.cs = {
viewHTML: "Zobrazit HTML",
formatting: "Formátování",
p: "Odstavec",
blockquote: "Citace",
code: "Kód",
header: "Nadpis",
bold: "Tučné",
italic: "Kurzíva",
strikethrough: "Přeškrtnuté",
underline: "Podtržené",
strong: "Tučné",
em: "Zvýraznit",
del: "Smazat",
unorderedList: "Netříděný seznam",
orderedList: "Tříděný seznam",
insertImage: "Vložit obrázek",
insertVideo: "Vložit video",
link: "Odkaz",
createLink: "Vložit odkaz",
unlink: "Smazat odkaz",
justifyLeft: "Zarovnat doleva",
justifyCenter: "Zarovnat na střed",
justifyRight: "Zarovnat doprava",
justifyFull: "Zarovnat do bloku",
horizontalRule: "Vložit vodorovnou čáru",
fullscreen: "Režim celé obrazovky",
close: "Zavřít",
submit: "Potvrdit",
reset: "Zrušit",
required: "Povinné",
description: "Popis",
title: "Nadpis",
text: "Text"
};

View File

@ -0,0 +1,55 @@
/* ===========================================================
* da.js
* Danish translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Christian Pedersen
* Github : https://github.com/chripede
*/
jQuery.trumbowyg.langs.da = {
viewHTML: "Vis HTML",
formatting: "Formatter",
p: "Afsnit",
blockquote: "Citat",
code: "Kode",
header: "Overskrift",
bold: "Fed",
italic: "Kursiv",
strikethrough: "Gennemstreg",
underline: "Understreg",
strong: "Vigtig",
em: "Fremhæv",
del: "Slettet",
unorderedList: "Uordnet liste",
orderedList: "Ordnet liste",
insertImage: "Indsæt billede",
insertVideo: "Indsæt video",
link: "Link",
createLink: "Indsæt link",
unlink: "Fjern link",
justifyLeft: "Venstrestil",
justifyCenter: "Centrer",
justifyRight: "Højrestil",
justifyFull: "Lige margener",
horizontalRule: "Horisontal linie",
fullscreen: "Fuld skærm",
close: "Luk",
submit: "Bekræft",
reset: "Annuller",
required: "Påkrævet",
description: "Beskrivelse",
title: "Titel",
text: "Tekst"
};

View File

@ -0,0 +1,55 @@
/* ===========================================================
* de.js
* German translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Manfred Timm
* Github : https://github.com/Manfred62
*/
jQuery.trumbowyg.langs.de = {
viewHTML: "HTML anzeigen",
formatting: "Formatieren",
p: "Absatz",
blockquote: "Zitat",
code: "Code",
header: "Überschrift",
bold: "Fett",
italic: "Kursiv",
strikethrough: "Durchgestrichen",
underline: "Unterstrichen",
strong: "Wichtig",
em: "Betont",
del: "Gelöscht",
unorderedList: "Ungeordnete Liste",
orderedList: "Geordnete Liste",
insertImage: "Bild einfügen",
insertVideo: "Video einfügen",
link: "Link",
createLink: "Link einfügen",
unlink: "Link entfernen",
justifyLeft: "Links ausrichten",
justifyCenter: "Zentrieren",
justifyRight: "Rechts ausrichten",
justifyFull: "Blocksatz",
horizontalRule: "Horizontale Linie einfügen",
fullscreen: "Vollbild",
close: "Schliessen",
submit: "Bestätigen",
reset: "Rücksetzen",
required: "Erforderlich",
description: "Beschreibung",
title: "Titel",
text: "Text"
};

View File

@ -0,0 +1,14 @@
/* ===========================================================
* en.js
* English translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Alexandre Demode (Alex-D)
* Twitter : @AlexandreDemode
* Website : alex-d.fr
*/
/**
* English is the default languange of Trumbowyg,
* you don't need to include any file :)
*/

View File

@ -0,0 +1,55 @@
/* ===========================================================
* es.js
* Spanish translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Moisés Márquez
* Email : moises.marquez.g@gmail.com
*/
jQuery.trumbowyg.langs.es = {
viewHTML: "Ver HTML",
formatting: "Formato",
p: "Párrafo",
blockquote: "Cita",
code: "Código",
header: "Título",
bold: "Negrita",
italic: "Cursiva",
strikethrough: "Tachado",
underline: "Subrayado",
strong: "Negrita",
em: "Énfasis",
del: "Borrar",
unorderedList: "Lista Desordenada",
orderedList: "Lista Ordenada",
insertImage: "Insertar una imagen",
insertVideo: "Insertar un vídeo",
link: "Enlace",
createLink: "Insertar un enlace",
unlink: "Suprimir un enlace",
justifyLeft: "Izquierda",
justifyCenter: "Centrar",
justifyRight: "Derecha",
justifyFull: "Justificado",
horizontalRule: "Insertar separador horizontal",
fullscreen: "Pantalla completa",
close: "Cerrar",
submit: "Enviar",
reset: "Cancelar",
required: "Obligatorio",
description: "Descripción",
title: "Título",
text: "Texto"
};

View File

@ -0,0 +1,55 @@
/* ===========================================================
* es_ar.js
* Spanish (Argentina) translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Félix Vera
* Email : felix.vera@gmail.com
*/
jQuery.trumbowyg.langs.es_ar = {
viewHTML: "Ver HTML",
formatting: "Formato",
p: "Párrafo",
blockquote: "Cita",
code: "Código",
header: "Título",
bold: "Negrita",
italic: "Itálica",
strikethrough: "Tachado",
underline: "Subrayado",
strong: "Fuere",
em: "Énfasis",
del: "Borrar",
unorderedList: "Lista Desordenada",
orderedList: "Lista Ordenada",
insertImage: "Insertar una imagen",
insertVideo: "Insertar un video",
link: "Vínculo",
createLink: "Insertar un vínculo",
unlink: "Suprimir un vínculo",
justifyLeft: "Alinear a la Izquierda",
justifyCenter: "Centrar",
justifyRight: "Alinear a la Derecha",
justifyFull: "Justificado",
horizontalRule: "Insertar separado Horizontal",
fullscreen: "Pantalla Completa",
close: "Cerrar",
submit: "Enviar",
reset: "Cancelar",
required: "Obligatorio",
description: "Descripción",
title: "Título",
text: "Texto"
};

View File

@ -0,0 +1,56 @@
/* ===========================================================
* fa.js
* Persian translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Kiarash Soleimanzadeh
* Github : https://github.com/kiyarash
* Email : kiarash.s@hotmail.com
*/
jQuery.trumbowyg.langs.fa = {
viewHTML: "نمایش کد اچ تی ام ال",
formatting: "قالب بندی",
p: "پاراگراف",
blockquote: "نقل قول",
code: "کد",
header: "سر تیتر",
bold: "ضخیم",
italic: "مورب",
strikethrough: "میان خط دار",
underline: "زیر خط دار",
strong: "برجسته",
em: "مورب",
del: "حذف شده",
unorderedList: "لیست نامرتب",
orderedList: "لیست مرتب",
insertImage: "درج تصویر",
insertVideo: "درج ویدئو",
link: "لینک",
createLink: "درج لینک",
unlink: "حذف لینک",
justifyLeft: "تراز به چپ",
justifyCenter: "تراز به وسط",
justifyRight: "تراز به راست",
justifyFull: "تراز به چپ و راست",
horizontalRule: "درج خط افقی",
fullscreen: "تمام صفحه",
close: "بستن",
submit: "تائید",
reset: "انصراف",
required: "اجباری",
description: "توضیحات",
title: "عنوان",
text: "متن"
};

View File

@ -0,0 +1,55 @@
/* ===========================================================
* fi.js
* Finnish translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Teppo Koivula (teppokoivula)
* Github : https://github.com/teppokoivula
*/
jQuery.trumbowyg.langs.fi = {
viewHTML: "Näytä HTML",
formatting: "Muotoilu",
p: "Kappale",
blockquote: "Lainaus",
code: "Koodi",
header: "Otsikko",
bold: "Lihavointi",
italic: "Kursivointi",
strikethrough: "Yliviivaus",
underline: "Allevivaus",
strong: "Vahvennus",
em: "Painotus",
del: "Poistettu",
unorderedList: "Numeroimaton lista",
orderedList: "Numeroitu lista",
insertImage: "Lisää kuva",
insertVideo: "Lisää video",
link: "Linkki",
createLink: "Luo linkki",
unlink: "Poista linkki",
justifyLeft: "Asemoi vasemmalle",
justifyCenter: "Keskitä",
justifyRight: "Asemoi oikealle",
justifyFull: "Tasaa",
horizontalRule: "Vaakaviiva",
fullscreen: "Kokoruutu",
close: "Sulje",
submit: "Lähetä",
reset: "Palauta",
required: "Pakollinen",
description: "Kuvaus",
title: "Otsikko",
text: "Teksti"
};

View File

@ -0,0 +1,56 @@
/* ===========================================================
* fr.js
* French translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Alexandre Demode (Alex-D)
* Twitter : @AlexandreDemode
* Website : alex-d.fr
*/
jQuery.trumbowyg.langs.fr = {
viewHTML: "Voir le HTML",
formatting: "Format",
p: "Paragraphe",
blockquote: "Citation",
code: "Code",
header: "Titre",
bold: "Gras",
italic: "Italique",
strikethrough: "Rayé",
underline: "Souligné",
strong: "Fort",
em: "Emphase",
del: "Supprimé",
unorderedList: "Liste à puces",
orderedList: "Liste ordonnée",
insertImage: "Insérer une image",
insertVideo: "Insérer une video",
link: "Lien",
createLink: "Insérer un lien",
unlink: "Supprimer le lien",
justifyLeft: "Aligner à gauche",
justifyCenter: "Centrer",
justifyRight: "Aligner à droite",
justifyFull: "Justifier",
horizontalRule: "Insérer un séparateur horizontal",
fullscreen: "Plein écran",
close: "Fermer",
submit: "Valider",
reset: "Annuler",
required: "Obligatoire",
description: "Description",
title: "Titre",
text: "Texte"
};

View File

@ -0,0 +1,57 @@
/* ===========================================================
* he.js
* Hebrew translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Udi Doron (udidoron)
* Github : https://github.com/udidoron
*/
jQuery.trumbowyg.langs.he = {
_dir: "rtl",
viewHTML: "צפה ב-HTML",
formatting: "פורמט",
p: "פסקה",
blockquote: "ציטוט",
code: "קוד",
header: "ראשית",
bold: "מודגש",
italic: "נטוי",
strikethrough: "קו חוצה",
underline: "קו תחתון",
strong: "בולט",
em: "הדגשה",
del: "נמחק",
unorderedList: "רשימה ללא סדר",
orderedList: "רשימה מסודרת",
insertImage: "הכנס תמונה",
insertVideo: "הכנס סרטון",
link: "קישור",
createLink: "צור קישור",
unlink: "הסר קישור",
justifyLeft: "ישר לשמאל",
justifyCenter: "מרכז",
justifyRight: "ישר לימין",
justifyFull: "ישר לשני הצדדים",
horizontalRule: "הכנס קו אופקי",
fullscreen: "מסך מלא",
close: "סגור",
submit: "שלח",
reset: "אתחל מחדש",
required: "נחוץ",
description: "תיאור",
title: "כותרת",
text: "טקסט"
};

View File

@ -0,0 +1,57 @@
/* ===========================================================
* id.js
* Indonesian translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Rezha Julio (kimiamania)
* Twitter : @kimiamania
* Website : http://rezhajulio.web.id
* Github : https://github.com/kimiamania
*/
jQuery.trumbowyg.langs.id = {
viewHTML: "Lihat HTML",
formatting: "Penyusunan",
p: "Paragraf",
blockquote: "Kutipan",
code: "Kode",
header: "Kepala",
bold: "Tebal",
italic: "Miring",
strikethrough: "Coret",
underline: "Garis bawah",
strong: "Tebal",
em: "Miring",
del: "Dicoret",
unorderedList: "Daftar tak teratur",
orderedList: "Daftar teratur",
insertImage: "Sisipkan gambar",
insertVideo: "Sisipkan video",
link: "Tautan",
createLink: "Sisipkan Tautan",
unlink: "Singkirkan tautan",
justifyLeft: "Rata kiri",
justifyCenter: "Rata Tengah",
justifyRight: "Rata kanan",
justifyFull: "Rata kiri dan kanan",
horizontalRule: "Sisipkan garis mendatar",
fullscreen: "Layar penuh",
close: "Tutup",
submit: "Setuju",
reset: "Batal",
required: "Diperlukan",
description: "Deskripsi",
title: "Judul",
text: "Teks"
};

View File

@ -0,0 +1,54 @@
/* ===========================================================
* it.js
* Italian translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Mirko Buffoni
*/
jQuery.trumbowyg.langs.it = {
viewHTML: "Mostra HTML",
formatting: "Formattazione",
p: "Paragrafo",
blockquote: "Citazione",
code: "Codice",
header: "Intestazione",
bold: "Grassetto",
italic: "Italico",
strikethrough: "Barrato",
underline: "Sottolineato",
strong: "Rafforza",
em: "Enfatizza",
del: "Cancella",
unorderedList: "Elenco puntato",
orderedList: "Elenco numerato",
insertImage: "Inserisci immagine",
insertVideo: "Inserisci video",
link: "Collegamento",
createLink: "Crea un collegamento",
unlink: "Elimina collegamento",
justifyLeft: "Allinea a sinistra",
justifyCenter: "Centra",
justifyRight: "Allinea a destra",
justifyFull: "Giustifica",
horizontalRule: "Inserisci un separatore orizzontale",
fullscreen: "Schermo intero",
close: "Chiudi",
submit: "Invia",
reset: "Annulla",
required: "Obbligatorio",
description: "Descrizione",
title: "Titolo",
text: "Testo"
};

View File

@ -0,0 +1,56 @@
/* ===========================================================
* ja.js
* Japanese translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Kouta Fukuhara (foo9)
* Twitter : @foo9
* Website : https://github.com/foo9
*/
jQuery.trumbowyg.langs.ja = {
viewHTML: "HTML表示",
formatting: "フォーマット",
p: "段落",
blockquote: "引用",
code: "コード",
header: "見出し",
bold: "太字",
italic: "斜体",
strikethrough: "取り消し線",
underline: "下線",
strong: "太字",
em: "斜体",
del: "取り消し線",
unorderedList: "順序なしリスト",
orderedList: "順序ありリスト",
insertImage: "画像の挿入",
insertVideo: "動画の挿入",
link: "リンク",
createLink: "リンクの作成",
unlink: "リンクの削除",
justifyLeft: "左揃え",
justifyCenter: "中央揃え",
justifyRight: "右揃え",
justifyFull: "両端揃え",
horizontalRule: "横罫線",
fullscreen: "全画面表示",
close: "閉じる",
submit: "送信",
reset: "キャンセル",
required: "必須",
description: "説明",
title: "タイトル",
text: "テキスト"
};

View File

@ -0,0 +1,56 @@
/* ===========================================================
* ko.js
* Korean translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : JoongSeob Vito Kim (dorajistyle)
* Blog : http://dorajistyle.pe.kr
* Github : https://github.com/dorajistyle
*/
jQuery.trumbowyg.langs.ko = {
viewHTML: "HTML로 보기",
formatting: "양식",
p: "문단",
blockquote: "인용부호",
code: "코드",
header: "머릿말",
bold: "진하게",
italic: "기울임",
strikethrough: "취소선",
underline: "밑줄",
strong: "굵게",
em: "강조",
del: "취소",
unorderedList: "순차 목록",
orderedList: "비순차 목록",
insertImage: "이미지 넣기",
insertVideo: "비디오 넣기",
link: "링크",
createLink: "링크 넣기",
unlink: "링크 없애기",
justifyLeft: "왼쪽 정렬",
justifyCenter: "가운데 정렬",
justifyRight: "오른쪽 정렬",
justifyFull: "혼합 정렬",
horizontalRule: "가로줄 넣기",
fullscreen: "전체 화면",
close: "닫기",
submit: "전송",
reset: "초기화",
required: "꼭 입력해야 합니다.",
description: "설명",
title: "제목",
text: "본문 내용"
};

View File

@ -0,0 +1,56 @@
/* ===========================================================
* nl.js
* Dutch translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Danny Hiemstra
* Github : https://github.com/dhiemstra
*/
jQuery.trumbowyg.langs.nl = {
viewHTML: "HTML bekijken",
formatting: "Opmaak",
p: "Paragraaf",
blockquote: "Citaat",
code: "Code",
header: "Kop",
bold: "Vet",
italic: "Cursief",
strikethrough: "Doorhalen",
underline: "Onderlijnen",
strong: "Sterk",
em: "Nadruk",
del: "Verwijderd",
unorderedList: "Ongenummerde lijst",
orderedList: "Genummerde lijst",
insertImage: "Afbeelding invoegen",
insertVideo: "Video invoegen",
link: "Link",
createLink: "Link maken",
unlink: "Link verwijderen",
justifyLeft: "Links uitlijnen",
justifyCenter: "Centreren",
justifyRight: "Rechts uitlijnen",
justifyFull: "Uitvullen",
horizontalRule: "Horizontale lijn",
removeFormat: "Opmaak verwijderen",
fullscreen: "Volledig scherm",
close: "Sluiten",
submit: "Verzenden",
reset: "Herstellen",
required: "Verplicht",
description: "Omschrijving",
title: "Titel",
text: "Tekst"
};

View File

@ -0,0 +1,55 @@
/* ===========================================================
* pl.js
* Polish translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Paweł Abramowicz
* Github : https://github.com/pawelabrams
*/
jQuery.trumbowyg.langs.pl = {
viewHTML: "Pokaż HTML",
formatting: "Format",
p: "Akapit",
blockquote: "Cytat",
code: "Kod",
header: "Nagłówek",
bold: "Pogrubienie",
italic: "Pochylenie",
strikethrough: "Przekreślenie",
underline: "Podkreślenie",
strong: "Wytłuszczenie",
em: "Uwydatnienie",
del: "Usunięte",
unorderedList: "Lista nieuporządkowana",
orderedList: "Lista uporządkowana",
insertImage: "Wstaw obraz",
insertVideo: "Wstaw film",
link: "Link",
createLink: "Wstaw link",
unlink: "Usuń link",
justifyLeft: "Wyrównaj do lewej",
justifyCenter: "Wyśrodkuj",
justifyRight: "Wyrównaj do prawej",
justifyFull: "Wyjustuj",
horizontalRule: "Odkreśl linią",
fullscreen: "Pełny ekran",
close: "Zamknij",
submit: "Zastosuj",
reset: "Przywróć",
required: "Wymagane",
description: "Opis",
title: "Tytuł",
text: "Tekst"
};

View File

@ -0,0 +1,57 @@
/* ===========================================================
* pt.js
* Portuguese translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Ramiro Varandas Jr (ramirovjr)
* Twitter : @ramirovjnr
* Website : about.me/ramirovjnr
* Github : https://github.com/ramirovjr
*/
jQuery.trumbowyg.langs.pt = {
viewHTML: "Ver HTML",
formatting: "Formatar",
p: "Paragráfo",
blockquote: "Citação",
code: "Código",
header: "Título",
bold: "Negrito",
italic: "Itálico",
strikethrough: "Suprimir",
underline: "Sublinhado",
strong: "Forte",
em: "Ênfase",
del: "Apagar",
unorderedList: "Lista não ordenada",
orderedList: "Liste ordenada",
insertImage: "Inserir imagem",
insertVideo: "Inserir vídeo",
link: "Link",
createLink: "Criar um link",
unlink: "Remover link",
justifyLeft: "Alinhar a esquerda",
justifyCenter: "Centralizar",
justifyRight: "Alinhar a direita",
justifyFull: "Justificar",
horizontalRule: "Inserir separador horizontal",
fullscreen: "Tela cheia",
close: "Fechar",
submit: "Enviar",
reset: "Limpar",
required: "Obrigatório",
description: "Descrição",
title: "Título",
text: "Texto"
};

View File

@ -0,0 +1,59 @@
/* ===========================================================
* ro.js
* Romanian translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Vladut Radulescu (pacMakaveli)
*
* Email: pacMakaveli90@gmail.com
* Twitter : @pacMakaveli90
* Website : creative-studio51.co.uk
* Github : https://github.com/pacMakaveli
*/
jQuery.trumbowyg.langs.pt = {
viewHTML: "Vizualizare HTML",
formatting: "Format",
p: "Paragraf",
blockquote: "Citație",
code: "Cod",
header: "Titlu",
bold: "Bold",
italic: "Italic",
strikethrough: "Tăiat",
underline: "Subliniat",
strong: "Puternic",
em: "Accentuat",
del: "Sterge",
unorderedList: "Lista dezordonată",
orderedList: "Liste ordonată",
insertImage: "Adăugare Imagine",
insertVideo: "Adăugare Video",
link: "Link",
createLink: "Crează link",
unlink: "Remover link",
justifyLeft: "Aliniază stânga",
justifyCenter: "Aliniază centru",
justifyRight: "Aliniază dreapta",
justifyFull: "Justificare",
horizontalRule: "Linie orizontală",
fullscreen: "Tot ecranul",
close: "Închide",
submit: "Procesează",
reset: "Resetează",
required: "Obligatoriu",
description: "Descriere",
title: "Titlu",
text: "Text"
};

View File

@ -0,0 +1,44 @@
/* ===========================================================
* rs.js
* Serbian (Cyrlic) translation for Trumbowyg
* https://www.github.com/johonunu
* ===========================================================
* Author : Nikola Trifunovic (https://www.github.com/johonunu)
*/
jQuery.trumbowyg.langs.rs = {
viewHTML: "Погледај HTML кóд",
formatting: "Форматирање",
p: "Параграф",
blockquote: "Цитат",
code: "Кóд",
header: "Наслов",
bold: "Подебљано",
italic: "Курзив",
strikethrough: "Прецртано",
underline: "Подвучено",
strong: "Подебљано",
em: "Истакнуто",
del: "Обрисано",
unorderedList: "Ненабројива листа",
orderedList: "Набројива листа",
insertImage: "Унеси слику",
insertVideo: "Унеси видео",
link: "Линк",
createLink: "Унеси линк",
unlink: "Уклони линк",
justifyLeft: "Лево равнање",
justifyCenter: "Централно равнање",
justifyRight: "Десно равнање",
justifyFull: "Обострано равнање",
horizontalRule: "Хоризонтална линија",
fullscreen: "Режим читавог екрана",
close: "Затвори",
submit: "Унеси",
reset: "Откажи",
required: "Обавезно поље",
invalidUrl: "URL",
description: "Опис",
title: "Наслов",
text: "Текст"
};

View File

@ -0,0 +1,44 @@
/* ===========================================================
* rs_latin.js
* Serbian (Latin) translation for Trumbowyg
* https://www.github.com/johonunu
* ===========================================================
* Author : Nikola Trifunovic (https://www.github.com/johonunu)
*/
jQuery.trumbowyg.langs.rs_latin = {
viewHTML: "Poglеdaj HTML kód",
formatting: "Formatiranjе",
p: "Paragraf",
blockquote: "Citat",
code: "Kód",
header: "Naslov",
bold: "Podеbljano",
italic: "Kurziv",
strikethrough: "Prеcrtano",
underline: "Podvučеno",
strong: "Podеbljano",
em: "Istaknuto",
del: "Obrisano",
unorderedList: "Nеnabrojiva lista",
orderedList: "Nabrojiva lista",
insertImage: "Unеsi sliku",
insertVideo: "Unеsi vidеo",
link: "Link",
createLink: "Unеsi link",
unlink: "Ukloni link",
justifyLeft: "Lеvo ravnanjе",
justifyCenter: "Cеntralno ravnanjе",
justifyRight: "Dеsno ravnanjе",
justifyFull: "Obostrano ravnanjе",
horizontalRule: "Horizontalna linija",
fullscreen: "Rеžim čitavog еkrana",
close: "Zatvori",
submit: "Unеsi",
reset: "Otkaži",
required: "Obavеzno poljе",
invalidUrl: "URL",
description: "Opis",
title: "Naslov",
text: "Tеkst"
};

View File

@ -0,0 +1,54 @@
/* ===========================================================
* ru.js
* Russion translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Yuri Lya
*/
jQuery.trumbowyg.langs.ru = {
viewHTML: "Посмотреть HTML",
formatting: "Форматирование",
p: "Обычный",
blockquote: "Цитата",
code: "Код",
header: "Заголовок",
bold: "Полужирный",
italic: "Курсив",
strikethrough: "Зачеркнутый",
underline: "Подчеркнутый",
strong: "Полужирный",
em: "Курсив",
del: "Зачеркнутый",
unorderedList: "Обычный список",
orderedList: "Нумерованный список",
insertImage: "Вставить изображение",
insertVideo: "Вставить видео",
link: "Ссылка",
createLink: "Вставить ссылку",
unlink: "Удалить ссылку",
justifyLeft: "По левому краю",
justifyCenter: "По центру",
justifyRight: "По правому краю",
justifyFull: "По ширине",
horizontalRule: "Горизонтальная линия",
fullscreen: "Во весь экран",
close: "Закрыть",
submit: "Вставить",
reset: "Отменить",
required: "Обязательное",
description: "Описание",
title: "Подсказка",
text: "Текст"
};

View File

@ -0,0 +1,54 @@
/* ===========================================================
* sk.js
* Slovak translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : VeeeneX (https://github.com/VeeeneX)
*/
jQuery.trumbowyg.langs.sk = {
viewHTML: "Zobraziť HTML",
formatting: "Formátovanie",
p: "Paragraf",
blockquote: "Citácia",
code: "Kód",
header: "Nadpis",
bold: "Tučné",
italic: "Kurzíva",
strikethrough: "Preškrtnuté",
underline: "Podčiarknuté",
strong: "Tučné",
em: "Zvýrazniť",
del: "Zmazať",
unorderedList: "Netriedený zoznam",
orderedList: "Triedený zoznam",
insertImage: "Vložiť obrázok",
insertVideo: "Vložiť video",
link: "Odkaz",
createLink: "Vložiť odkaz",
unlink: "Zmazať odkaz",
justifyLeft: "Zarovnať doľava",
justifyCenter: "Zarovnať na stred",
justifyRight: "Zarovnať doprava",
justifyFull: "Zarovnať do bloku",
horizontalRule: "Vložit vodorovnú čiaru",
fullscreen: "Režim celej obrazovky",
close: "Zavrieť",
submit: "Potvrdiť",
reset: "Zrušiť",
required: "Povinné",
description: "Popis",
title: "Nadpis",
text: "Text"
};

View File

@ -0,0 +1,56 @@
/* ===========================================================
* tr.js
* Turkish translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Emrah Bilbay (munzur)
* Github : https://github.com/munzur
* Website: http://kafe.in/
*/
jQuery.trumbowyg.langs.tr = {
viewHTML: "HTML Kodu",
formatting: "Biçimlendirme",
p: "Paragraf",
blockquote: "Alıntı",
code: "Kod",
header: "Başlık",
bold: "Kalın",
italic: "İtalik",
strikethrough: "Orta çizgi",
underline: "Alt çigzi",
strong: "Koyu",
em: "Vurgulu",
del: "Üstü çizilmiş",
unorderedList: "Numarasız liste",
orderedList: "Numaralı liste",
insertImage: "Resim yerleştir",
insertVideo: "Video yerleştir",
link: "Link",
createLink: "Link yerleştir",
unlink: "Linki sil",
justifyLeft: "Sola hizala",
justifyCenter: "Ortaya hizala",
justifyRight: "Sağa hizala",
justifyFull: "Yasla",
horizontalRule: "Yatay çizgi ekle",
fullscreen: "Tam ekran",
close: "Kapat",
submit: "Onayla",
reset: "Sıfırla",
required: "Gerekli",
description: "Açıklama",
title: "Başlık",
text: "Metin"
};

View File

@ -0,0 +1,56 @@
/* ===========================================================
* zh_cn.js
* Simplified Chinese translation for Trumbowyg
* http://alex-d.github.com/Trumbowyg
* ===========================================================
* Author : Liu Kai (akai)
* Twitter : @akai404
* Github : https://github.com/akai
*/
jQuery.trumbowyg.langs.zh_cn = {
viewHTML: "源代码",
formatting: "格式",
p: "段落",
blockquote: "引用",
code: "代码",
header: "标题",
bold: "加粗",
italic: "斜体",
strikethrough: "删除线",
underline: "下划线",
strong: "加粗",
em: "斜体",
del: "删除线",
unorderedList: "无序列表",
orderedList: "有序列表",
insertImage: "插入图片",
insertVideo: "插入视频",
link: "超链接",
createLink: "插入链接",
unlink: "取消链接",
justifyLeft: "居左对齐",
justifyCenter: "居中对齐",
justifyRight: "居右对齐",
justifyFull: "两端对齐",
horizontalRule: "插入分隔线",
fullscreen: "全屏",
close: "关闭",
submit: "确定",
reset: "取消",
required: "必需的",
description: "描述",
title: "标题",
text: "文字"
};

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 679 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 861 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 699 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 658 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 885 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 558 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 550 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 672 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 906 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 912 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 650 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 475 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 613 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 609 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 498 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 681 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 B

Some files were not shown because too many files have changed in this diff Show More