Free Storyboard Creator | Comic Strip Maker (2024)

TRY 1 MONTH FOR $1!

    On selecting options from the following tabs will update content below

  • Upload
  • Search Results

LOG IN

  • (Do not upload photos of children under 13, adult or offensive images or copyrighted material)

    Free Storyboard Creator | Comic Strip Maker (3)

    Warning: Do not record copyrighted materials (background music, movie or tv clips, etc.)

      Free Storyboard Creator | Comic Strip Maker (4)


      ©Privacy & Terms

      ', callback: function ($dropdown) { $dropdown.find('button.btn').on('click', function () { SbtInlineEditorHelper.SetVerticalAlignment($(this).data('role')); }) } }) ]); return button.render(); }; function StartInlineEditor($editNode) { try { //random code from https://github.com/summernote/summernote/issues/1828 ClearSelections(); if ($editNode == null || $editNode.length === 0) { return; } if (_vwo_fontPaywall && !MyUserPermissions.EnableAllCellOptions) { var freeFontList = [16, 19, 32, 33, 44] var newFontList = []; SummerNoteSettings.FontNames = SummerNoteSettings.FontNames.sort(function (a, b) { if (a.Title > b.Title) { return 1; } if (a.Title === b.Title) { return 0; } else { return -1; } }) for (var i = 0; i < freeFontList.length; i++) { newFontList.push(SummerNoteSettings.FontNames[freeFontList[i]]); } for (var i = 0; i < SummerNoteSettings.FontNames.length; i++) { if (!freeFontList.includes(i)) { newFontList.push(SummerNoteSettings.FontNames[i]); } } SummerNoteSettings.FontNames = newFontList; } $editNode.summernote({ airMode: false, disableResizeEditor: true, focus: true, toolbarContainer: '#summernote-disconnected-toolbar', toolbar: [ ['row1', ['valign', 'fontname', 'fontsize', 'color', 'height', 'spanishKeyboard', 'undo', 'redo']], ['row2', ['paragraph', 'ul', 'ol', 'listStyles', 'bold', 'italic', 'underline', 'strikethrough', 'subscript', 'superscript', 'clear', 'table', 'hr', 'advanced']], ], /* I understand why this is done, but SummerNote does not understand these objects and I cannot find the code modification in the old fork to reproduce this handling, so I'm just going to use the families instead! */ fontNames: (_vwo_fontPaywall && !MyUserPermissions.EnableAllCellOptions) ? SummerNoteSettings.FontNames.map(function (f) { return f.Family.replace(/'/gi, ''); }).filter(function (v, i, s) { return s.indexOf(v) === i; }) : SummerNoteSettings.FontNames.map(function (f) { return f.Family.replace(/'/gi, ''); }).filter(function (v, i, s) { return s.indexOf(v) === i; }).sort(function (a, b) {return a > b;}), fontSizes: SummerNoteSettings.FontSizes, fontNamesIgnoreCheck: SummerNoteSettings.FontNamesIgnoreList.filter(function (v, i, s) { return s.indexOf(v) === i; }), disableDragAndDrop: true, tooltip: false, tableClassName: '', placeholder: '

      ' + SbtInlineEditorHelper.GetDefaultTextForEditNode($editNode) + '

      ', buttons: { spanishKeyboard: spanishKeyboard, valign: verticalAlignment, advanced: advancedSummerNoteFunctions }, callbacks: { onInit: function () { SbtInlineEditorHelper.SyncEditorStyleOnInit(); }, onImageUpload: function (data) { // ignore }, onChange: function(e) { SbtInlineEditorHelper.SyncContentHeight(e); }, onKeydown: function (e) { SbtInlineEditorHelper.UnHideEditor(e); } }, jsxss: { whiteList: { b: ["style"], big: ["style"], blockquote: ["cite", "style"], br: ["style"], caption: ["style"], center: ["style"], cite: ["style"], code: ["style"], col: ["align", "valign", "span", "width", "style"], colgroup: ["align", "valign", "span", "width", "style"], dd: ["style"], del: ["datetime", "style"], details: ["open", "style"], div: ["style"], dl: ["style"], dt: ["style"], em: ["style"], font: ["color", "size", "face", "style"], footer: ["style"], h1: ["style"], h2: ["style"], h3: ["style"], h4: ["style"], h5: ["style"], h6: ["style"], header: ["style"], hr: ["style"], i: ["style"], ins: ["datetime", "style"], li: ["style"], mark: ["style"], nav: ["style"], ol: ["style"], p: ["style"], pre: ["style"], s: ["style"], section: ["style"], small: ["style"], span: ["style"], /* These two seem to always get pasted out-of-whack (classic example: sup/sub usage in table headers on Wikipedia) sub: ["style"], sup: ["style"], */ strong: ["style"], table: ["width", "border", "align", "valign", "style"], tbody: ["align", "valign", "style"], td: ["width", "rowspan", "colspan", "align", "valign", "style"], tfoot: ["align", "valign", "style"], th: ["width", "rowspan", "colspan", "align", "valign", "style"], thead: ["align", "valign", "style"], tr: ["rowspan", "align", "valign", "style"], tt: ["style"], u: ["style"], ul: ["style"], }, stripIgnoreTag: true, stripIgnoreTagBody: ['script','style','textarea'], allowCommentTag: false, onTag: null, onTagAttr: function (tag, name, value) { var authorizedCss = ['color', 'font-size', 'font-weight', 'text-align', 'text-decoration']; if (name === "style") { return value.split(';').map(function (i) { return i.trim(); }).filter(function (i) { return authorizedCss.indexOf(i.split(':')[0]) > -1; }).join(';'); } // do nothing }, onIgnoreTag: null,/* function (tag, html, options) { switch (tag) { case "blockquote": case "h1": case "h2": case "h3": case "h4": case "h5": case "h6": return html; } },*/ onIgnoreTagAttr: null, escapeHtmlOverride: null, safeAttrValue: null, onAfterFilterXSS: function ($html) { return $html; } } }); // remove modules we do not want enabled. $editNode.summernote("removeModule", "videoDialog"); $editNode.summernote("removeModule", "imagePopover"); $editNode.summernote("removeModule", "imageDialog"); $editNode.summernote("removeModule", "linkPopover"); $editNode.summernote("removeModule", "linkDialog"); $editNode.summernote("removeModule", "autoLink"); // Add classes to advanced features for control var advancedItems = [ $('#summernote-disconnected-toolbar i.note-icon-undo').parent(), $('#summernote-disconnected-toolbar i.note-icon-redo').parent(), $('#summernote-disconnected-toolbar i.note-icon-text-height').parent().parent(), $('#summernote-disconnected-toolbar div.note-btn-group.btn-group.note-color.note-color-back'), $('#summernote-disconnected-toolbar i.note-icon-valign').parent().parent(), $('#summernote-disconnected-toolbar i.note-icon-strikethrough').parent(), $('#summernote-disconnected-toolbar i.note-icon-subscript').parent(), $('#summernote-disconnected-toolbar i.note-icon-superscript').parent(), $('#summernote-disconnected-toolbar i.note-icon-clear').parent(), $('#showSpanishKeyboard').parent(), $('#summernote-disconnected-toolbar i.note-icon-table').parent().parent(), $('#summernote-disconnected-toolbar i.note-icon-minus').parent(), ]; for (var i = 0; i < advancedItems.length; i++) { advancedItems[i].addClass('advanced-snf'); } // And a little trick for the More/Less button we want to float to the right... $('#summernote-disconnected-toolbar span.simple-snf').parent().css('float', 'right'); } catch (e) { Logger.logErrorMessage("SummerNote.Init FAILED!", e); } }

      Unable to save... check your internet connection

      Free Storyboard Creator | Comic Strip Maker (2024)

      References

      Top Articles
      Latest Posts
      Article information

      Author: Patricia Veum II

      Last Updated:

      Views: 5433

      Rating: 4.3 / 5 (64 voted)

      Reviews: 87% of readers found this page helpful

      Author information

      Name: Patricia Veum II

      Birthday: 1994-12-16

      Address: 2064 Little Summit, Goldieton, MS 97651-0862

      Phone: +6873952696715

      Job: Principal Officer

      Hobby: Rafting, Cabaret, Candle making, Jigsaw puzzles, Inline skating, Magic, Graffiti

      Introduction: My name is Patricia Veum II, I am a vast, combative, smiling, famous, inexpensive, zealous, sparkling person who loves writing and wants to share my knowledge and understanding with you.