Skip to content

Commit

Permalink
Merge branch 'develop' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
Alex-D committed Jan 29, 2025
2 parents 454357e + abd4e00 commit 813eadb
Show file tree
Hide file tree
Showing 15 changed files with 1,021 additions and 24 deletions.
2 changes: 2 additions & 0 deletions docs/demos/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,10 @@ <h1 class="documentation-title">
<li><a href="./plugins/resizimg.html">Resizimg</a></li>
<li><a href="./plugins/ruby.html">Ruby</a></li>
<li><a href="./plugins/specialchars.html">Special chars</a></li>
<li><a href="./plugins/speechrecognition.html">Speech recognition</a></li>
<li><a href="./plugins/table.html">Table</a></li>
<li><a href="./plugins/template.html">Template</a></li>
<li><a href="./plugins/tenor.html">Tenor</a></li>
<li><a href="./plugins/upload.html">Upload</a></li>
</ul>
</li>
Expand Down
87 changes: 87 additions & 0 deletions docs/demos/plugins/speechrecognition.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Speech recognition plugin | Trumbowyg</title>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:300,400' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="../../css/main.css">
</head>
<body class="documentation-body">
<div class="main main-demo-inner">
<section class="wrapper section">
<h2 class="section-title">Speech recognition plugin</h2>

<div class="feature">
<h3>Basic usage</h3>
<p>
This plugins allow you to enter text via speech recognition in Trumbowyg. Suddenly it does not work with Firefox which has not implemented the Web Speech API yet.
</p>

<a href="../../documentation/plugins/#plugin-speechrecognition" class="button button-demo">Read speech recognition plugin documentation</a>

<div id="editor"></div>

<h4>The code</h4>
<pre><code class="js-code-to-eval javascript">
$('#editor')
.trumbowyg({
btns: [
['speechrecognition']
]
});
</code></pre>
</div>

<div class="feature">
<h3>Language setting</h3>

<div id="editor-settings-lang"></div>

<h4>The code</h4>
<pre><code class="js-code-to-eval javascript">
$('#editor-settings-lang')
.trumbowyg({
btns: [
['speechrecognition']
],
plugins: {
speechrecognition: {
lang: 'de-DE'
}
}
});
</code></pre>
</div>

<div class="feature">
<h3>Setup</h3>

<h4>In head tag</h4>
<pre><code class="html loading-head">
</code></pre>
<h4>At the end of body</h4>
<pre><code class="html loading-body">
&lt;!-- Import jQuery -->
&lt;script src="//ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">&lt;/script>
&lt;script>window.jQuery || document.write('&lt;script src="js/vendor/jquery-3.3.1.min.js">&lt;\/script>')&lt;/script>
</code></pre>
</div>
</section>
</div>


<!-- Import jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="../../js/vendor/jquery-3.3.1.min.js"><\/script>')</script>

<!-- DO NOT COPY THESE LINES IN YOUR PROJECT, THEY ARE THERE JUST FOR THE EXAMPLE PAGE PURPOSE -->
<script src="../js/loader.js"></script>
<script>
loadStyle('dist/ui/trumbowyg.min.css');
loadScript('dist/trumbowyg.min.js', 'Import Trumbowyg');
loadScript('dist/plugins/speechrecognition/trumbowyg.speechrecognition.min.js', 'Import all plugins you want AFTER importing jQuery and Trumbowyg');
</script>
<script src="../js/runExampleCode.js"></script>
<script src="../js/highlight.js"></script>
</body>
</html>
78 changes: 78 additions & 0 deletions docs/demos/plugins/tenor.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Tenor plugin | Trumbowyg</title>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:300,400' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="../../css/main.css">
</head>
<body class="documentation-body">
<div class="main main-demo-inner">
<section class="wrapper section">
<h2 class="section-title">Tenor plugin</h2>

<div class="feature">
<h3>Basic usage</h3>
<p>
User can insert some GIFs from Tenor in Trumbowyg.
</p>

<a href="../../documentation/plugins/#plugin-tenor" class="button button-demo">Read Tenor plugin documentation</a>

<div id="editor">
<h2>Insert some GIFs</h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Possimus, aliquam, minima fugiat placeat provident
optio nam reiciendis eius beatae quibusdam!
</p>
</div>

<h4>The code</h4>
<pre><code class="js-code-to-eval javascript">
$('#editor')
.trumbowyg({
btns: [
['tenor']
],
plugins: {
tenor: {
apiKey: 'AIzaSyDSkXpGdEiI0OrQO9xZKbvTAvekZhmXW3c'
}
}
});
</code></pre>
</div>

<div class="feature">
<h3>Setup</h3>

<h4>In head tag</h4>
<pre><code class="html loading-head">
</code></pre>
<h4>At the end of body</h4>
<pre><code class="html loading-body">
&lt;!-- Import jQuery -->
&lt;script src="//ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">&lt;/script>
&lt;script>window.jQuery || document.write('&lt;script src="js/vendor/jquery-3.3.1.min.js">&lt;\/script>')&lt;/script>
</code></pre>
</div>
</section>
</div>


<!-- Import jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="../../js/vendor/jquery-3.3.1.min.js"><\/script>')</script>

<!-- DO NOT COPY THESE LINES IN YOUR PROJECT, THEY ARE THERE JUST FOR THE EXAMPLE PAGE PURPOSE -->
<script src="../js/loader.js"></script>
<script>
loadStyle('dist/ui/trumbowyg.min.css');
loadStyle('dist/plugins/tenor/ui/trumbowyg.tenor.min.css', 'Import Tenor plugin specific stylesheet');
loadScript('dist/trumbowyg.min.js', 'Import Trumbowyg');
loadScript('dist/plugins/tenor/trumbowyg.tenor.min.js', 'Import all plugins you want AFTER importing jQuery and Trumbowyg');
</script>
<script src="../js/runExampleCode.js"></script>
<script src="../js/highlight.js"></script>
</body>
</html>
168 changes: 168 additions & 0 deletions docs/documentation/plugins/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,10 @@ <h1 class="documentation-title">
<li><a href="#plugin-resizimg">Resizimg</a></li>
<li><a href="#plugin-ruby">Ruby</a></li>
<li><a href="#plugin-specialchars">Special Chars</a></li>
<li><a href="#plugin-speechrecognition">Speech recognition</a></li>
<li><a href="#plugin-table">Table</a></li>
<li><a href="#plugin-template">Template</a></li>
<li><a href="#plugin-tenor">Tenor</a></li>
<li><a href="#plugin-upload">Upload</a></li>
</ul>
</li>
Expand Down Expand Up @@ -529,6 +531,12 @@ <h4>Options</h4>
<br>
<strong>Default</strong>: <code>300</code>
</dd>
<dt><strong><code>limit</code></strong> <code class="type">number</code></dt>
<dd>
Number of images shown in result list.
<br>
<strong>Default</strong>: <code>50</code>
</dd>
<dt><strong><code>noResultGifUrl</code></strong> <code class="type">string</code></dt>
<dd>
The image URL shown when there is no result.
Expand Down Expand Up @@ -1196,6 +1204,65 @@ <h4>Options</h4>
</code></pre>
</div>

<div class="feature">
<h3 id="plugin-speechrecognition">Speech recogintion</h3>

<p>
Speech recognition plugin allows you to add text via speech.
</p>

<p>
<a href="../../demos/#plugins-speechrecognition" class="button button-demo">Try speech recognition live demo!</a>
<a href="https://github.com/Alex-D/Trumbowyg/tree/develop/plugins/speechrecognition/trumbowyg.speechrecognition.js" class="button button-demo">
View speech recognition plugin code on GitHub
</a>
</p>

<h4>How to use it?</h4>
<pre><code class="html">
&lt;!-- Import Trumbowyg speech recognition at the end of &lt;body>... -->
&lt;script src="trumbowyg/dist/plugins/speechrecognition/trumbowyg.speechrecognition.min.js">&lt;/script>
</code></pre>
<p>
Then you can use the new button definition <code>speechrecognition</code>.
</p>

<pre><code class="javascript">
$('#my-editor').trumbowyg({
btns: [
['speechrecognition']
]
});
</code></pre>

<h4>Options</h4>
<dl>
<dt><strong><code>lang</code></strong> <code class="type">string</code></dt>
<dd>
Language code which language should be detected.
<br>
<strong>Default</strong>: en_GB
</dd>
</dl>

<p>
Example with options:
</p>
<pre><code class="javascript">
$('#my-editor)
.trumbowyg({
btns: [
['speechrecognition']
],
plugins: {
speechrecognition: {
lang: 'de-DE'
}
}
});
</code></pre>
</div>

<div class="feature">
<h3 id="plugin-table">Table</h3>

Expand Down Expand Up @@ -1531,6 +1598,107 @@ <h4>How to use it?</h4>
</code></pre>
</div>

<div class="feature">
<h3 id="plugin-tenor">Tenor</h3>

<p>
User can search and pick gif to insert from Tenor
</p>

<p>
<a href="../../demos/#plugins-tenor" class="button button-demo">Try Tenor plugin live demo!</a>
<a href="https://github.com/Alex-D/Trumbowyg/tree/develop/plugins/giphy/trumbowyg.tenor.js" class="button button-demo">
View Tenor plugin code on GitHub
</a>
</p>

<h4>How to use it?</h4>
<pre><code class="html">
&lt;!-- Import Trumbowyg Tenor style in &lt;head>... -->
&lt;link rel="stylesheet" href="trumbowyg/dist/plugins/giphy/ui/trumbowyg.tenor.min.css">
</code></pre>
<pre><code class="html">
&lt;!-- Import Trumbowyg Giphy JS at the end of &lt;body>... -->
&lt;script src="trumbowyg/dist/plugins/giphy/trumbowyg.tenor.min.js">&lt;/script>
</code></pre>
<p>
Then, you need to <a href="https://developers.google.com/tenor/guides/quickstart#setup">create a Tenor App to get an API Key</a>.
</p>
<p>
Use the new button definition <code>tenor</code> and your newly created Tenor API Key:
</p>
<pre><code class="javascript">
$('#my-editor').trumbowyg({
btns: [
['tenor']
],
plugins: {
tenor: {
apiKey: 'yourVeryOwnApiKey'
}
}
});
</code></pre>


<h4>Options</h4>
<dl>
<dt><strong><code>apiKey</code></strong> <code class="type">string</code> <strong>(required)</strong></dt>
<dd>
Tenor API Key of your application.
<a href="https://developers.google.com/tenor/guides/quickstart#setup">Create a Tenor App to get an API Key</a>.
</dd>
<dt><strong><code>contentFilter</code></strong> <code class="type">string</code></dt>
<dd>
Specify the content safety filter level.
<br>
The accepted values are <code>off</code>, <code>low</code>, <code>medium</code>, and <code>high</code>.
<br>
<strong>Default</strong>: <code>all</code>
</dd>
<dt><strong><code>locale</code></strong> <code class="type">string</code></dt>
<dd>
Specify the default language to interpret the search string (xx_YY).
<br>
xx is the language's <a href="https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes">ISO 639-1</a> language code, while the optional _YY value is the two-letter <a href="https://en.wikipedia.org/wiki/ISO_3166-1#Codes">3166-1</a> country code.
<br>
<strong>Default</strong>: <code>en_US</code>
</dd>
<dt><strong><code>throttleDelay</code></strong> <code class="type">number</code> (in milliseconds)</dt>
<dd>
It's the delay between each Tenor API requests while user is typing his query.
<br>
<strong>Default</strong>: <code>300</code>
</dd>
<dt><strong><code>noResultGifUrl</code></strong> <code class="type">string</code></dt>
<dd>
The image URL shown when there is no result.
<br>
<strong>Default</strong>: <a href="https://media1.tenor.com/m/KOZLvzU0o4kAAAAC/no-results.gif" rel="noreferrer noopener"><code>https://media1.tenor.com/m/KOZLvzU0o4kAAAAC/no-results.gif</code></a>
</dd>
</dl>

<p>
Example with options:
</p>
<pre><code class="javascript">
$('#my-editor').trumbowyg({
btns: [
['tenor']
],
plugins: {
giphy: {
apiKey: 'yourVeryOwnApiKey',
locale: 'en_US',
contentFilter: "off",
throttleDelay: 500,
noResultGifUrl: 'https://media1.tenor.com/m/KOZLvzU0o4kAAAAC/no-results.gif'
}
}
});
</code></pre>
</div>

<div class="feature">
<h3 id="plugin-upload">Upload</h3>

Expand Down
8 changes: 8 additions & 0 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -687,6 +687,14 @@ <h3 class="section-subtitle">Extends Trumbowyg</h3>
Special chars
</a>
</li>
<li>
<a href="./documentation/plugins/#plugin-speechrecognition">
<svg>
<use xlink:href="#trumbowyg-speechrecognition"></use>
</svg>
Speech recognition
</a>
</li>
<li>
<a href="./documentation/plugins/#plugin-table">
<svg>
Expand Down
2 changes: 1 addition & 1 deletion gulpfile.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ const pluginsStyles = function () {

const pluginsSassDist = gulp.series(pluginsStyles, function pluginsSassDist() {
return gulp.src(paths.pluginsStyles)
.pipe(gulpHeader(banner, {pkg: pkg, description: 'Default stylesheet for Trumbowyg editor plugin'}))
.pipe(gulpHeader(banner, {pkg: pkg, description: 'Trumbowyg plugin stylesheet'}))
.pipe(gulp.dest('dist/plugins'));
});

Expand Down
Loading

0 comments on commit 813eadb

Please sign in to comment.