rainlab / blogvideo-plugin Goto Github PK
View Code? Open in Web Editor NEWExtends the RainLab Blog plugin with the responsive video embedding features.
License: MIT License
Extends the RainLab Blog plugin with the responsive video embedding features.
License: MIT License
We use this plugin for several client blogs, and it looks like the markdown editor widget in OctoberCMS 2 changed to js rendering only. This is breaking compatibility with this plugin, are there any plans to update it to work with OctoberCMS 2?
I haven't seen anything addressing this, so hopefully someone here can help. I have a fresh install of OctoberCMS on a PHP/MySQL server. I am modifying the Vanilla theme with the RainLab.Blog extension. So far, everything worked well, except when I try to embed video. Regardless of the plugin I try to use, the blog post will not save with embedded video content.
When I try to save the post, I get a pop-up with the following code:
<!DOCTYPE html>
<html lang="en" class="no-js gecko mac">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, user-scalable=0, minimal-ui">
<meta name="robots" content="noindex">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="app-timezone" content="UTC">
<meta name="backend-base-path" content="//backend">
<meta name="backend-timezone" content="UTC">
<meta name="backend-locale" content="en">
<meta name="csrf-token" content="vxUfVCK1CpBKsjnEjWTYm0HKMX83FC7OXPWIQFkT">
<link rel="icon" type="image/png" href="http://blackbirdbrigade.com/modules/backend/assets/images/favicon.png">
<title data-title-template="%s | OctoberCMS">
Edit Blog post | OctoberCMS</title>
<link href="http://blackbirdbrigade.com/modules/system/assets/ui/storm.css?v447" rel="stylesheet">
<link href="http://blackbirdbrigade.com/modules/backend/assets/css/october.css?v447" rel="stylesheet">
<script data-cfasync="false" src="http://blackbirdbrigade.com/modules/backend/assets/js/vendor/jquery.min.js?v447"></script>
<script data-cfasync="false" src="http://blackbirdbrigade.com/modules/backend/assets/js/vendor/jquery-migrate.min.js?v447"></script>
<script data-cfasync="false" src="http://blackbirdbrigade.com/modules/system/assets/js/framework.js?v447"></script>
<script data-cfasync="false" src="http://blackbirdbrigade.com/modules/system/assets/ui/storm-min.js?v447"></script>
<script data-cfasync="false" src="http://blackbirdbrigade.com/modules/backend/assets/js/october-min.js?v447"></script>
<script data-cfasync="false" src="http://blackbirdbrigade.com/modules/system/assets/js/lang/lang.en.js?v447"></script>
<script data-cfasync="false" src="http://blackbirdbrigade.com/modules/backend/assets/js/october.flyout.js"></script>
<script data-cfasync="false" src="http://blackbirdbrigade.com/modules/backend/assets/js/october.tabformexpandcontrols.js"></script>
<link rel="stylesheet" href="http://blackbirdbrigade.com/plugins/rainlab/blogvideo/assets/css/blog-video.css">
<link rel="stylesheet" href="http://blackbirdbrigade.com/modules/backend/formwidgets/fileupload/assets/css/fileupload.css?v447">
<link rel="stylesheet" href="http://blackbirdbrigade.com/modules/backend/widgets/mediamanager/assets/css/mediamanager.css?v447">
<link rel="stylesheet" href="http://blackbirdbrigade.com/plugins/rainlab/blog/assets/css/rainlab.blog-preview.css">
<link rel="stylesheet" href="http://blackbirdbrigade.com/modules/backend/formwidgets/markdowneditor/assets/css/markdowneditor.css?v447">
<script src="http://blackbirdbrigade.com/plugins/rainlab/blogvideo/assets/js/blog-video.js"></script>
<script src="http://blackbirdbrigade.com/modules/backend/widgets/form/assets/js/october.form.js?v447"></script>
<script src="http://blackbirdbrigade.com/modules/backend/formwidgets/fileupload/assets/js/fileupload.js?v447"></script>
<script src="http://blackbirdbrigade.com/modules/backend/widgets/mediamanager/assets/js/mediamanager-browser-min.js?v447"></script>
<script src="http://blackbirdbrigade.com/plugins/rainlab/blog/assets/js/post-form.js"></script>
<script src="http://blackbirdbrigade.com/modules/backend/formwidgets/markdowneditor/assets/js/markdowneditor.js?v447"></script>
<script src="http://blackbirdbrigade.com/modules/backend/formwidgets/codeeditor/assets/js/build-min.js?v447"></script>
</head>
<body class="compact-container">
<div id="layout-canvas">
<div class="layout">
<!-- Main Menu -->
<div class="layout-row min-size">
<nav class="navbar control-toolbar navbar-mode-inline" id="layout-mainmenu" role="navigation">
<div class="toolbar-item toolbar-primary">
<div data-control="toolbar" data-use-native-drag="true">
<a class="menu-toggle" href="javascript:;">
<span class="menu-toggle-icon">
<i class="icon-bars"></i>
</span>
<span class="menu-toggle-title">
Blog </span>
</a>
<ul class="nav mainmenu-nav">
<li class=" svg-icon-container svg-active-effects">
<a href="http://blackbirdbrigade.com/backend/backend">
<span class="nav-icon">
<img class="svg-icon" src="http://blackbirdbrigade.com/modules/backend/assets/images/dashboard-icon.svg">
<i class="svg-replace icon-dashboard"></i>
</span>
<span class="nav-label">
Dashboard </span>
</a>
</li>
<li class=" svg-icon-container svg-active-effects">
<a href="http://blackbirdbrigade.com/backend/cms">
<span class="nav-icon">
<img class="svg-icon" src="http://blackbirdbrigade.com/modules/cms/assets/images/cms-icon.svg">
<i class="svg-replace icon-magic"></i>
</span>
<span class="nav-label">
CMS </span>
</a>
</li>
<li class=" svg-icon-container svg-active-effects">
<a href="http://blackbirdbrigade.com/backend/backend/media">
<span class="nav-icon">
<img class="svg-icon" src="http://blackbirdbrigade.com/modules/backend/assets/images/media-icon.svg">
<i class="svg-replace icon-folder"></i>
</span>
<span class="nav-label">
Media </span>
</a>
</li>
<li class="active svg-icon-container svg-active-effects">
<a href="http://blackbirdbrigade.com/backend/rainlab/blog/posts">
<span class="nav-icon">
<img class="svg-icon" src="http://blackbirdbrigade.com/plugins/rainlab/blog/assets/images/blog-icon.svg">
<i class="svg-replace icon-pencil"></i>
</span>
<span class="nav-label">
Blog </span>
</a>
</li>
<li class=" svg-icon-container svg-active-effects">
<a href="http://blackbirdbrigade.com/backend/rainlab/user/users">
<span class="nav-icon">
<img class="svg-icon" src="http://blackbirdbrigade.com/plugins/rainlab/user/assets/images/user-icon.svg">
<i class="svg-replace icon-user"></i>
</span>
<span class="nav-label">
Users </span>
</a>
</li>
<li class=" svg-icon-container svg-active-effects">
<a href="http://blackbirdbrigade.com/backend/system/settings">
<span class="nav-icon">
<img class="svg-icon" src="http://blackbirdbrigade.com/modules/system/assets/images/cog-icon.svg">
<i class="svg-replace icon-cog"></i>
</span>
<span class="nav-label">
Settings </span>
</a>
</li>
</ul>
</div>
</div>
<div class="toolbar-item" data-calculate-width>
<ul class="mainmenu-toolbar">
<li class="mainmenu-preview with-tooltip">
<a
href="http://blackbirdbrigade.com"
target="_blank"
title="Preview the website">
<i class="icon-crosshairs"></i>
</a>
</li>
<li class="mainmenu-account with-tooltip">
<a
href="javascript:;" onclick="$.oc.layout.toggleAccountMenu(this)"
title="Signed in as Stacey Schaller">
<img src="//www.gravatar.com/avatar/f19e94d4ef14b2213c240789151c6692?s=90&d=mm" class="account-avatar" />
</a>
<div class="mainmenu-accountmenu">
<ul>
<li>
<a href="http://blackbirdbrigade.com/backend/backend/users/myaccount">
My account </a>
</li>
<li>
<a href="http://blackbirdbrigade.com/backend/backend/preferences">
Back-end preferences </a>
</li>
<li class="divider"></li>
<li>
<a href="http://blackbirdbrigade.com/backend/backend/auth/signout">
Sign out </a>
</li>
</ul>
</div>
</li>
</ul>
</div>
</nav>
</div>
<div class="layout-row">
<div class="layout flyout-container"
>
<!-- Side Navigation -->
<div class="layout-cell layout-sidenav-container">
<div class="layout-relative">
<nav
id="layout-sidenav"
class="layout-sidenav bg-p"
data-active-class="active"
data-control="sidenav">
<ul class="nav">
<li
class=""
>
<a href="http://blackbirdbrigade.com/backend/rainlab/blog/posts/create">
<span class="nav-icon">
<i class=" icon-plus"></i>
</span>
<span class="nav-label">
New post </span>
</a>
<span
class="counter empty"
data-menu-id="blog/new_post"
>
</span>
</li>
<li
class="active"
>
<a href="http://blackbirdbrigade.com/backend/rainlab/blog/posts">
<span class="nav-icon">
<i class=" icon-copy"></i>
</span>
<span class="nav-label">
Posts </span>
</a>
<span
class="counter empty"
data-menu-id="blog/posts"
>
</span>
</li>
<li
class=""
>
<a href="http://blackbirdbrigade.com/backend/rainlab/blog/categories">
<span class="nav-icon">
<i class=" icon-list-ul"></i>
</span>
<span class="nav-label">
Categories </span>
</a>
<span
class="counter empty"
data-menu-id="blog/categories"
>
</span>
</li>
</ul>
</nav>
</div>
</div>
<!-- Side panel -->
<!-- Content Body -->
<div class="layout-cell layout-container" id="layout-body">
<div class="layout-relative">
<div class="layout">
<!-- Content -->
<div class="layout-row">
<div class="layout fancy-layout">
<form method="POST" action="http://blackbirdbrigade.com/backend/rainlab/blog/posts/update/2" accept-charset="UTF-8" class="layout" data-change-monitor="true" data-window-close-confirm="The post is not saved." id="post-form"><input name="_session_key" type="hidden" value="C3mcUD04lblfyUSeRq3DbCBztDLc24v32SfSJHZ1"><input name="_token" type="hidden" value="vxUfVCK1CpBKsjnEjWTYm0HKMX83FC7OXPWIQFkT"> <div
data-control="formwidget"
data-refresh-handler="form::onRefresh"
class="form-widget form-elements layout"
role="form"
id="Form">
<!-- Outside Tabs -->
<div class="layout-row min-size">
<div
id="Form-outsideTabs"
class="form-tabless-fields ">
<div
class="form-group text-field span-left is-required "
data-field-name="title"
id="Form-field-Post-title-group"><label for="Form-field-Post-title">
Title </label>
<!-- Text -->
<input
type="text"
name="Post[title]"
id="Form-field-Post-title"
value="Busting the Myth of the American Revolution"
placeholder="New post title"
class="form-control"
autocomplete="off"
maxlength="255" /></div> <div
class="form-group text-field span-right is-required "
data-field-name="slug"
id="Form-field-Post-slug-group"><label for="Form-field-Post-slug">
Slug </label>
<!-- Text -->
<input
type="text"
name="Post[slug]"
id="Form-field-Post-slug"
value="busting-myth-american-revolution"
placeholder="new-post-slug"
class="form-control"
autocomplete="off"
maxlength="255" data-input-preset="[name="Post[title]"]" data-input-preset-type="slug" data-input-preset-closest-parent="form" /></div> <div
class="form-group partial-field span-full collapse-visible"
data-field-name="toolbar"
id="Form-field-Post-toolbar-group"><div class="form-buttons loading-indicator-container">
<!-- Save -->
<a
href="javascript:;"
class="btn btn-primary oc-icon-check save"
data-request="onSave"
data-load-indicator="Saving..."
data-request-before-update="$el.trigger('unchange.oc.changeMonitor')"
data-request-data="redirect:0" data-hotkey="ctrl+s, cmd+s">
Save </a>
<!-- Save and Close -->
<a
href="javascript:;"
class="btn btn-primary oc-icon-check save"
data-request-before-update="$el.trigger('unchange.oc.changeMonitor')"
data-request="onSave"
data-load-indicator="Saving...">
Save and close </a>
<!-- Preview -->
<a
href="http://blackbirdbrigade.com"
target="_blank"
class="btn btn-primary oc-icon-crosshairs hide"
data-control="preview-button">
Preview :name </a>
<!-- Delete -->
<button
type="button"
class="btn btn-default empty oc-icon-trash-o"
data-request="onDelete"
data-request-confirm="Delete this post?"
data-control="delete-button"></button>
</div></div> </div>
</div>
<!-- Secondary Tabs -->
<div class="layout-row">
<div
id="Form-secondaryTabs"
class="control-tabs secondary-tabs layout "
data-control="tab"
data-slidable>
<div class="layout-row min-size">
<ul class="nav nav-tabs">
<li class="active">
<a href="#secondarytab-1">Edit</a>
</li>
<li class="">
<a href="#secondarytab-2">Categories</a>
</li>
<li class="">
<a href="#secondarytab-3">Manage</a>
</li>
</ul>
</div>
<div class="tab-content layout-row">
<div
class="tab-pane active layout-cell"
id="secondarytab-1">
<div
class="form-group widget-field span-full is-required layout-relative field-slim blog-post-preview"
data-field-name="content"
id="Form-field-Post-content-group"><!-- Widget -->
<div
id="BlogMarkdown-formContent-content"
class="field-markdowneditor size-large layout-relative stretch"
data-control="markdowneditor"
data-refresh-handler="formContent::onRefresh"
data-view-mode="split"
data-vendor-path="http://blackbirdbrigade.com/modules/backend/formwidgets/codeeditor/assets/vendor/ace">
<div class="control-toolbar editor-toolbar"></div>
<div class="editor-write layout-cell">
<textarea name="Post[content]" id="BlogMarkdown-formContent-textarea-content">![1](video)
</textarea>
</div>
<div class="editor-preview layout-cell"></div>
</div></div> </div>
<div
class="tab-pane layout-cell"
id="secondarytab-2">
<div
class="form-group widget-field span-full "
data-field-name="categories"
id="Form-field-Post-categories-group"><p class="help-block before-field">Select categories the blog post belongs to</p>
<!-- Widget -->
<div class="relation-widget" id="Relation-formCategories-categories">
<!-- Checkbox List -->
<div class="field-checkboxlist ">
<input
type="hidden"
name="Post[categories]"
value="0" />
<div class="checkbox custom-checkbox">
<input
type="checkbox"
id="checkbox_Form-field-Post-categories_1"
name="Post[categories][]"
value="3"
>
<label for="checkbox_Form-field-Post-categories_1">
A Deeper Look </label>
</div>
<div class="checkbox custom-checkbox">
<input
type="checkbox"
id="checkbox_Form-field-Post-categories_2"
name="Post[categories][]"
value="2"
checked="checked">
<label for="checkbox_Form-field-Post-categories_2">
Five Minutes for Freedom </label>
</div>
<div class="checkbox custom-checkbox">
<input
type="checkbox"
id="checkbox_Form-field-Post-categories_3"
name="Post[categories][]"
value="1"
>
<label for="checkbox_Form-field-Post-categories_3">
Uncategorized </label>
</div>
</div>
</div></div> </div>
<div
class="tab-pane layout-cell"
id="secondarytab-3">
<div
class="form-group checkbox-field span-left "
data-field-name="published"
id="Form-field-Post-published-group"><!-- Checkbox -->
<div class="checkbox custom-checkbox" tabindex="0">
<input
type="hidden"
name="Post[published]"
value="0"
>
<input
type="checkbox"
id="Form-field-Post-published"
name="Post[published]"
value="1"
>
<label for="Form-field-Post-published">
Published </label>
</div></div> <div
class="form-group widget-field span-left checkbox-align"
data-field-name="published_at"
id="Form-field-Post-published_at-group"><label for="Form-field-Post-published_at">
Published on </label>
<!-- Widget -->
<div
id="DatePicker-formPublishedAt-published_at"
class="field-datepicker"
data-control="datepicker"
data-show-week-number=""
>
<div class="row">
<div class="col-md-6">
<!-- Date -->
<div class="input-with-icon right-align">
<i class="icon icon-calendar-o"></i>
<input
type="text"
id="DatePicker-formPublishedAt-date-published_at"
class="form-control align-right"
autocomplete="off"
data-trigger="[name="Post[published]"]" data-trigger-action="enable" data-trigger-condition="checked" data-trigger-closest-parent="form, div[data-control="formwidget"]" data-datepicker />
</div>
</div>
<div class="col-md-6">
<!-- Time -->
<div class="input-with-icon right-align">
<i class="icon icon-clock-o"></i>
<input
type="text"
id="DatePicker-formPublishedAt-time-published_at"
class="form-control align-right"
autocomplete="off"
data-trigger="[name="Post[published]"]" data-trigger-action="enable" data-trigger-condition="checked" data-trigger-closest-parent="form, div[data-control="formwidget"]" data-timepicker />
</div>
</div>
</div>
<!-- Data locker -->
<input
type="hidden"
name="Post[published_at]"
id="Form-field-Post-published_at"
value=""
data-datetime-value
/>
</div></div> <div
class="form-group textarea-field span-full "
data-field-name="excerpt"
id="Form-field-Post-excerpt-group"><label for="Form-field-Post-excerpt">
Excerpt </label>
<!-- Textarea -->
<textarea
name="Post[excerpt]"
id="Form-field-Post-excerpt"
autocomplete="off"
class="form-control field-textarea size-small"
placeholder=""
></textarea></div> <div
class="form-group widget-field span-full "
data-field-name="featured_images"
id="Form-field-Post-featured_images-group"><label for="Form-field-Post-featured_images">
Featured Images </label>
<!-- Widget -->
<div
id="FileUpload-formFeaturedImages-featured_images"
class="field-fileupload style-image-multi is-sortable is-multi "
data-control="fileupload"
data-template="#FileUpload-formFeaturedImages-template-featured_images"
data-error-template="#FileUpload-formFeaturedImages-errorTemplate-featured_images"
data-sort-handler="formFeaturedImages::onSortAttachments"
data-unique-id="FileUpload-formFeaturedImages-featured_images"
data-config-handler="formFeaturedImages::onLoadAttachmentConfig" data-file-types=".jpg,.jpeg,.bmp,.png,.webp,.gif">
<!-- Upload Button -->
<a href="javascript:;" class="upload-button">
<span class="upload-button-icon oc-icon-upload"></span>
</a>
<!-- Existing files -->
<div class="upload-files-container">
</div>
</div>
<!-- Template for new files -->
<script type="text/template" id="FileUpload-formFeaturedImages-template-featured_images">
<div class="upload-object dz-preview dz-file-preview">
<div class="icon-container image">
<img data-dz-thumbnail alt="" />
</div>
<div class="info">
<h4 class="filename">
<span data-dz-name></span>
<a
href="javascript:;"
class="upload-remove-button"
data-request="formFeaturedImages::onRemoveAttachment"
data-request-confirm="Are you sure?"
><i class="icon-times"></i></a>
</h4>
<p class="size" data-dz-size></p>
</div>
<div class="meta">
<a href="javascript:;" class="drag-handle"><i class="icon-bars"></i></a>
<div class="progress-bar"><span class="upload-progress" data-dz-uploadprogress></span></div>
<div class="error-message"><span data-dz-errormessage></span></div>
</div>
</div>
</script>
<!-- Error template -->
<script type="text/template" id="FileUpload-formFeaturedImages-errorTemplate-featured_images">
<div class="popover-head">
<h3>Upload error</h3>
<p>{{errorMsg}}</p>
<button type="button" class="close" data-dismiss="popover" aria-hidden="true">×</button>
</div>
<div class="popover-body">
<button class="btn btn-secondary" data-remove-file>Remove file</button>
</div>
</script></div> </div>
</div>
</div>
</div>
</div>
</form> </div> </div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Flash Messages -->
<div id="layout-flash-messages"></div>
</body>
</html>
It's showing that there is an upload error, but it doesn't show the error message, and I can't see what it is trying to upload (in fact, there shouldn't be an upload). I just get the raw HTML.
Has anyone else run into this? Any ideas of how to fix it? I've already checked permissions on the upload folder. Any other possibilities?
I never really understood what we should insert in the post to insert a video; the doc says this ![1](video)
but what does this mean concretely? any real examples, please?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.