diff --git a/cache/lastCache.txt b/cache/lastCache.txt
index edb630e..14c6c84 100644
--- a/cache/lastCache.txt
+++ b/cache/lastCache.txt
@@ -1 +1 @@
-1548495240
\ No newline at end of file
+1550398193
\ No newline at end of file
diff --git a/content/00-Welcome/02-Write-Content.md b/content/00-Welcome/01-Write-Content.md
similarity index 100%
rename from content/00-Welcome/02-Write-Content.md
rename to content/00-Welcome/01-Write-Content.md
diff --git a/content/00-Welcome/03-Get-Help.md b/content/00-Welcome/02-Get-Help.md
similarity index 100%
rename from content/00-Welcome/03-Get-Help.md
rename to content/00-Welcome/02-Get-Help.md
diff --git a/content/00-Welcome/04-markdown-test.md b/content/00-Welcome/03-Markdown-Test.md
similarity index 100%
rename from content/00-Welcome/04-markdown-test.md
rename to content/00-Welcome/03-Markdown-Test.md
diff --git a/media/live/5c4ccd43e5ac8-live.png b/media/live/5c4ccd43e5ac8-live.png
new file mode 100644
index 0000000..2fc9519
Binary files /dev/null and b/media/live/5c4ccd43e5ac8-live.png differ
diff --git a/media/live/5c4ccd43e5ac8-mlibrary.png b/media/live/5c4ccd43e5ac8-mlibrary.png
new file mode 100644
index 0000000..44d48c1
Binary files /dev/null and b/media/live/5c4ccd43e5ac8-mlibrary.png differ
diff --git a/media/original/5c4ccd43e5ac8-original.png b/media/original/5c4ccd43e5ac8-original.png
new file mode 100644
index 0000000..e57df89
Binary files /dev/null and b/media/original/5c4ccd43e5ac8-original.png differ
diff --git a/system/Controllers/ContentController.php b/system/Controllers/ContentController.php
index 670df05..0a06495 100644
--- a/system/Controllers/ContentController.php
+++ b/system/Controllers/ContentController.php
@@ -92,8 +92,10 @@ abstract class ContentController
$vResult = $validate->editorInput($this->params);
if(is_array($vResult))
- {
+ {
+ $message = reset($vResult);
$this->errors = ['errors' => $vResult];
+ if(isset($message[0])){ $this->errors['errors']['message'] = $message[0]; }
return false;
}
return true;
@@ -106,7 +108,9 @@ abstract class ContentController
if(is_array($vResult))
{
+ $message = reset($vResult);
$this->errors = ['errors' => $vResult];
+ if(isset($message[0])){ $this->errors['errors']['message'] = $message[0]; }
return false;
}
return true;
@@ -119,7 +123,9 @@ abstract class ContentController
if(is_array($vResult))
{
+ $message = reset($vResult);
$this->errors = ['errors' => $vResult];
+ if(isset($message[0])){ $this->errors['errors']['message'] = $message[0]; }
return false;
}
return true;
@@ -132,7 +138,9 @@ abstract class ContentController
if(is_array($vResult))
{
+ $message = reset($vResult);
$this->errors = ['errors' => $vResult];
+ if(isset($message[0])){ $this->errors['errors']['message'] = $message[0]; }
return false;
}
return true;
diff --git a/system/Controllers/SettingsController.php b/system/Controllers/SettingsController.php
index 4401a97..2f86e07 100644
--- a/system/Controllers/SettingsController.php
+++ b/system/Controllers/SettingsController.php
@@ -114,7 +114,7 @@ class SettingsController extends Controller
if(isset($themeSettings['forms']['fields']))
{
- $fields = $fieldsModel->getFields($userSettings, 'themes', $themeName, $themeSettings);
+ $fields = $fieldsModel->getFields($userSettings, 'themes', $themeName, $themeSettings);
/* overwrite original theme form definitions with enhanced form objects */
$themedata[$themeName]['forms']['fields'] = $fields;
@@ -193,7 +193,7 @@ class SettingsController extends Controller
$fields = $fieldsModel->getFields($userSettings, 'plugins', $pluginName, $pluginOriginalSettings);
/* overwrite original plugin form definitions with enhanced form objects */
- $plugins[$pluginName]['forms']['fields'] = $fields;
+ $plugins[$pluginName]['forms']['fields'] = $fields;
}
}
diff --git a/system/Models/Fields.php b/system/Models/Fields.php
index d5bf8c9..d144ca3 100644
--- a/system/Models/Fields.php
+++ b/system/Models/Fields.php
@@ -13,7 +13,7 @@ class Fields
# formtype are backend forms or public forms, only relevant for plugins for now
$formType = $formType ? $formType : 'forms';
-
+
# iterate through all fields of the objectSetting (theme or plugin)
foreach($objectSettings[$formType]['fields'] as $fieldName => $fieldConfigurations)
{
diff --git a/system/Models/Validation.php b/system/Models/Validation.php
index 70d7aaa..4a1f4d8 100644
--- a/system/Models/Validation.php
+++ b/system/Models/Validation.php
@@ -285,7 +285,7 @@ class Validation
$v->rule('required', ['folder_id', 'item_name', 'type', 'url']);
$v->rule('regex', 'folder_id', '/^[0-9.]+$/i');
$v->rule('noSpecialChars', 'item_name');
- $v->rule('lengthBetween', 'item_name', 1, 20);
+ $v->rule('lengthBetween', 'item_name', 1, 40);
$v->rule('in', 'type', ['file', 'folder']);
if($v->validate())
diff --git a/system/Models/Write.php b/system/Models/Write.php
index 62079af..d76abf8 100644
--- a/system/Models/Write.php
+++ b/system/Models/Write.php
@@ -24,7 +24,7 @@ class Write
}
else
{
- throw new \Exception("The folder '{$folder}' is missing and we could not create it. Please create the folder manually on your server.");
+# throw new \Exception("The folder '{$folder}' is missing and we could not create it. Please create the folder manually on your server.");
return false;
}
}
@@ -35,7 +35,7 @@ class Write
}
else
{
- throw new \Exception("Please make the folder '{$folder}' writable.");
+# throw new \Exception("Please make the folder '{$folder}' writable.");
return false;
}
return true;
diff --git a/system/author/auth/welcome.twig b/system/author/auth/welcome.twig
index 81c40c7..c0b78c7 100644
--- a/system/author/auth/welcome.twig
+++ b/system/author/auth/welcome.twig
@@ -11,7 +11,7 @@
Hurra!
Your account has been created and you are logged in now.
Next step: Visit the author panel and setup your new website. You can configure the system, choose themes and add plugins.
- New: We recently added many format options like images, youtube videos, list and codeblocks to the visual content editor.
+ New:Markdown is cool but editing tables is a nightmare. But not with Typemill, because we added a visual table editor recently. Try it!
Get help: If you have any questions, please consult the docs or open a new issue on github.
Configure your website
diff --git a/system/author/css/style.css b/system/author/css/style.css
index 23c2e5a..7066746 100644
--- a/system/author/css/style.css
+++ b/system/author/css/style.css
@@ -1567,11 +1567,54 @@ button.format-item:hover{
font-weight: 700;
}
.blox tbody{}
-.blox tr{}
-.blox tr:nth-child(odd){ }
+.blox th{ padding: 10px 0;}
+.blox tr,.blox-editor tr{}
+.blox tr:nth-child{ }
.blox tr:nth-child(even){ background-color:#f9f8f6; }
.blox td{ padding: 5px;}
-.blox th{ padding: 10px 0;}
+
+.blox-editor table{
+ display: inline-table;
+ width: 100%;
+ border-collapse: collapse;
+ margin-bottom: 20px;
+}
+.blox-editor thead{}
+.blox-editor tbody{}
+.blox-editor tr{}
+.blox-editor th{ border: 1px solid #ccc; padding: 5px; }
+.blox-editor td{ border: 1px solid #ccc; padding: 5px; }
+.blox-editor td.noteditable, .blox-editor th.noteditable{
+ border: 1px solid #ccc;
+ text-align:center;
+ color: #ccc;
+ background: #f9f8f6;
+ font-weight: 300;
+ padding: 0;
+}
+.blox-editor .columnaction, .blox-editor .rowaction{
+ position: absolute;
+ background: #fff;
+ width: 150px;
+ font-size: 0.9em;
+ color: #000;
+ text-align: left;
+ box-shadow: 0 0 2px #000;
+ margin: 5px;
+ z-index:999999;
+}
+.blox-editor .rowaction{
+ margin-left: 53px;
+ margin-top: -3px;
+}
+.blox-editor .actionline{
+ padding: 5px 10px;
+ cursor: pointer;
+}
+.blox-editor .actionline:hover{
+ background: #70c1b3;
+ color: #fff;
+}
.blox dl{
border-top: 1px solid #e0474c;
border-bottom: 1px solid #e0474c;
diff --git a/system/author/editor/editor-blox.twig b/system/author/editor/editor-blox.twig
index e1f6559..69f0738 100644
--- a/system/author/editor/editor-blox.twig
+++ b/system/author/editor/editor-blox.twig
@@ -33,10 +33,10 @@
+
-
+
diff --git a/system/author/js/vue-blox.js b/system/author/js/vue-blox.js
index 579eeba..8dcbd9f 100644
--- a/system/author/js/vue-blox.js
+++ b/system/author/js/vue-blox.js
@@ -162,7 +162,7 @@ const contentComponent = Vue.component('content-block', {
}
},
saveBlock: function()
- {
+ {
if(this.compmarkdown == undefined || this.compmarkdown.replace(/(\r\n|\n|\r|\s)/gm,"") == '')
{
this.switchToPreviewMode();
@@ -203,17 +203,17 @@ const contentComponent = Vue.component('content-block', {
if(httpStatus == 400)
{
self.activatePage();
- publishController.errors.message = "Sorry, something went wrong. Maybe you are logged out? Please login and try again.";
+ publishController.errors.message = "Looks like you are logged out. Please login and try again.";
}
- if(response)
+ else if(response)
{
self.activatePage();
-
+
var result = JSON.parse(response);
-
+
if(result.errors)
{
- publishController.errors.message = result.errors.markdown[0];
+ publishController.errors.message = result.errors.message;
}
else
{
@@ -227,7 +227,8 @@ const contentComponent = Vue.component('content-block', {
self.$root.$data.blockMarkdown = '';
self.$root.$data.blockType = 'markdown-component';
self.getData();
- document.querySelectorAll('textarea')[0].style.height = "70px";
+ var textbox = document.querySelectorAll('textarea')[0];
+ if(textbox){ textbox.style.height = "70px"; }
}
else
{
@@ -241,6 +242,11 @@ const contentComponent = Vue.component('content-block', {
}
}
}
+ else if(httpStatus != 200)
+ {
+ self.activatePage();
+ publishController.errors.message = "Sorry, something went wrong. Please refresh the page and try again.";
+ }
}, method, url, params);
}
},
@@ -430,6 +436,28 @@ const ulistComponent = Vue.component('ulist-component', {
{
this.compmarkdown = '* ';
}
+ else
+ {
+ var lines = this.compmarkdown.split("\n");
+ var length = lines.length
+ var md = '';
+
+ for(i = 0; i < length; i++)
+ {
+ var clean = lines[i];
+ clean = clean.replace(/^- /, '* ');
+ clean = clean.replace(/^\+ /, '* ');
+ if(i == length-1)
+ {
+ md += clean;
+ }
+ else
+ {
+ md += clean + '\n';
+ }
+ }
+ this.compmarkdown = md;
+ }
this.$nextTick(function () {
autosize(document.querySelectorAll('textarea'));
});
@@ -487,6 +515,219 @@ const headlineComponent = Vue.component('headline-component', {
},
})
+const tableComponent = Vue.component('table-component', {
+ props: ['compmarkdown', 'disabled'],
+ data: function(){
+ return {
+ table: [
+ ['0', '1', '2'],
+ ['1', 'Head', 'Head'],
+ ['2', 'cell', 'cell'],
+ ['3', 'cell', 'cell'],
+ ],
+ editable: 'editable',
+ noteditable: 'noteditable',
+ cellcontent: '',
+ columnbar: false,
+ rowbar: false,
+ tablekey: 1,
+ }
+ },
+ template: '' +
+ '
' +
+ '
' +
+ '' +
+ '' +
+ '' +
+ '' +
+ '' +
+ '{{value}} ' +
+ '' +
+ ' add right column ' +
+ ' add left column ' +
+ ' delete column ' +
+ ' ' +
+ ' | ' +
+ '' +
+ '' +
+ ' add row above ' +
+ ' add row below ' +
+ ' delete row ' +
+ ' ' +
+ '{{value}} | ' +
+ '' +
+ '' +
+ ' add row above ' +
+ ' add row below ' +
+ ' delete row ' +
+ ' ' +
+ '{{ value }} | ' +
+ '
' +
+ '' +
+ '
' +
+ '
',
+ mounted: function(){
+ this.$refs.markdown.focus();
+ if(this.compmarkdown)
+ {
+ var table = [];
+ var lines = this.compmarkdown.split("\n");
+ var length = lines.length
+ var c = 1;
+
+ for(i = 0; i < length; i++)
+ {
+ if(i == 1){ continue }
+
+ var line = lines[i].trim();
+ var row = line.split("|").map(function(cell){
+ return cell.trim();
+ });
+ if(row[0] == ''){ row.shift() }
+ if(row[row.length-1] == ''){ row.pop() }
+ if(i == 0)
+ {
+ var rlength = row.length;
+ var row0 = [];
+ for(y = 0; y <= rlength; y++) { row0.push(y) }
+ table.push(row0);
+ }
+ row.splice(0,0,c);
+ c++;
+ table.push(row);
+ }
+ this.table = table;
+ }
+ },
+ methods: {
+ updatedata: function(event,col,row)
+ {
+ this.table[row][col] = event.target.innerText;
+ this.markdowntable();
+ },
+ switchcolumnbar(value)
+ {
+ this.rowbar = false;
+ (this.columnbar == value || value == 0) ? this.columnbar = false : this.columnbar = value;
+ },
+ switchrowbar(value)
+ {
+ this.columnbar = false;
+ (this.rowbar == value || value == 0 || value == 1 )? this.rowbar = false : this.rowbar = value;
+ },
+ addaboverow: function(index)
+ {
+ var row = [];
+ var cols = this.table[0].length;
+ for(var i = 0; i < cols; i++){ row.push("new"); }
+ this.table.splice(index,0,row);
+ this.reindexrows();
+ },
+ addbelowrow: function(index)
+ {
+ var row = [];
+ var cols = this.table[0].length;
+ for(var i = 0; i < cols; i++){ row.push("new"); }
+ this.table.splice(index+1,0,row);
+ this.reindexrows();
+ },
+ deleterow: function(index)
+ {
+ this.table.splice(index,1);
+ this.reindexrows();
+ },
+ addrightcolumn: function(index)
+ {
+ var tableLength = this.table.length;
+ for (var i = 0; i < tableLength; i++)
+ {
+ this.table[i].splice(index+1,0,"new");
+ }
+ this.reindexcolumns();
+ },
+ addleftcolumn: function(index)
+ {
+ var tableLength = this.table.length;
+ for (var i = 0; i < tableLength; i++)
+ {
+ this.table[i].splice(index,0,"new");
+ }
+ this.reindexcolumns();
+ },
+ deletecolumn: function(index)
+ {
+ var tableLength = this.table.length;
+ for (var i = 0; i < tableLength; i++)
+ {
+ this.table[i].splice(index,1);
+ }
+ this.reindexcolumns();
+ },
+ reindexrows: function()
+ {
+ var tableRows = this.table.length;
+ for (var i = 0; i < tableRows; i++)
+ {
+ Vue.set(this.table[i], 0, i);
+ }
+ this.tablekey +=1;
+ this.markdowntable();
+ },
+ reindexcolumns: function()
+ {
+ var tableColumns = this.table[0].length;
+ for (var i = 0; i < tableColumns; i++)
+ {
+ Vue.set(this.table[0], i, i);
+ }
+ this.tablekey +=1;
+ this.markdowntable();
+ },
+ markdowntable: function()
+ {
+ var markdown = '';
+ var separator = '\n|';
+ var rows = this.table.length;
+ var cols = this.table[0].length;
+
+ for(var i = 0; i < cols; i++)
+ {
+ if(i == 0){ continue; }
+ separator += '---|';
+ }
+
+ for(var i = 0; i < rows; i++)
+ {
+ var row = this.table[i];
+
+ if(i == 0){ continue; }
+
+ for(var y = 0; y < cols; y++)
+ {
+ if(y == 0){ continue; }
+
+ var value = row[y].trim();
+
+ if(y == 1)
+ {
+ markdown += '\n| ' + value + ' | ';
+ }
+ else
+ {
+ markdown += value + ' | ';
+ }
+ }
+ if(i == 1) { markdown = markdown + separator; }
+ }
+ this.$emit('updatedMarkdown', markdown);
+ },
+ updatemarkdown: function(event)
+ {
+ /* generate markdown here ??? */
+ this.$emit('updatedMarkdown', event.target.value);
+ },
+ },
+})
const videoComponent = Vue.component('video-component', {
props: ['compmarkdown', 'disabled', 'load'],
@@ -792,6 +1033,7 @@ let editor = new Vue({
'quote-component': quoteComponent,
'ulist-component': ulistComponent,
'olist-component': olistComponent,
+ 'table-component': tableComponent,
},
data: {
root: document.getElementById("main").dataset.url,
@@ -877,6 +1119,12 @@ let editor = new Vue({
{
if(block.match(/^\d+\./)){ return "olist-component" }
+ var lines = block.split("\n");
+ if(lines.length > 2 && lines[0].indexOf('|') != -1 && /[\-\|: ]{3,}$/.test(lines[1]))
+ {
+ return "table-component";
+ }
+
var firstChar = block[0];
var secondChar = block[1];
var thirdChar = block[2];
@@ -898,10 +1146,10 @@ let editor = new Vue({
if(secondChar == "`" && thirdChar == "`") { return "code-component" } else { return "markdown-component" }
break;
case "*":
+ case "-":
+ case "+":
if(secondChar == " "){ return "ulist-component" } else { return "markdown-component" }
break;
- case Number.isInteger(firstChar):
- if(secondChar == "." ){ return "olist-component" } else { return "markdown-component" }
default:
return 'markdown-component';
}
diff --git a/system/author/js/vue-editor.js b/system/author/js/vue-editor.js
index d897951..13ef10b 100644
--- a/system/author/js/vue-editor.js
+++ b/system/author/js/vue-editor.js
@@ -2,7 +2,10 @@ let editor = new Vue({
delimiters: ['${', '}'],
el: '#editor',
data: {
- errors: false,
+ errors: {
+ title: false,
+ content: false,
+ },
form: {
title: document.getElementById("title").value,
content: document.getElementById("content").value,
diff --git a/system/author/js/vue-navi.js b/system/author/js/vue-navi.js
index 21e4e72..aeac981 100644
--- a/system/author/js/vue-navi.js
+++ b/system/author/js/vue-navi.js
@@ -114,9 +114,9 @@ const navcomponent = Vue.component('navigation', {
{
publishController.errors.message = false;
- if(this.$root.$data.format.test(this.newItem) || !this.newItem || this.newItem.length > 20)
- {
- publishController.errors.message = 'Special Characters are not allowed. Length between 1 and 20.';
+ if(this.$root.$data.format.test(this.newItem) || !this.newItem || this.newItem.length > 40)
+ {
+ publishController.errors.message = 'Special Characters are not allowed. Length between 1 and 40.';
return;
}
diff --git a/system/author/js/vue-publishcontroller.js b/system/author/js/vue-publishcontroller.js
index c9609c0..3af66b8 100644
--- a/system/author/js/vue-publishcontroller.js
+++ b/system/author/js/vue-publishcontroller.js
@@ -11,8 +11,6 @@ let publishController = new Vue({
csrf_value: document.getElementById("csrf_value").value,
},
errors:{
- title: false,
- content: false,
message: false,
},
modalWindow: false,
@@ -30,7 +28,8 @@ let publishController = new Vue({
methods: {
publishDraft: function(e){
var self = this;
- self.errors = {title: false, content: false, message: false};
+ self.errors.message = false;
+ editor.errors = {title: false, content: false};
self.publishResult = "load";
self.publishDisabled = "disabled";
@@ -52,7 +51,7 @@ let publishController = new Vue({
self.publishResult = "fail";
self.errors.message = "You are probably logged out. Please backup your changes, login and then try again."
}
- if(response)
+ else if(response)
{
var result = JSON.parse(response);
@@ -60,13 +59,10 @@ let publishController = new Vue({
{
self.publishDisabled = false;
self.publishResult = "fail";
- self.errors.message = result.errors.content[0];
- /*
- if(result.errors.title){ self.errors.title = result.errors.title[0] };
- if(result.errors.content){ self.errors.content = result.errors.content[0] };
+ if(result.errors.title){ editor.errors.title = result.errors.title[0] };
+ if(result.errors.content){ editor.errors.content = result.errors.content[0] };
if(result.errors.message){ self.errors.message = result.errors.message };
- */
}
else
{
@@ -76,12 +72,19 @@ let publishController = new Vue({
self.publishLabel = "online";
}
}
- }, method, url, this.form );
+ else if(httpStatus != 200)
+ {
+ self.publishDisabled = false;
+ self.publishResult = "fail";
+ self.errors.message = "Something went wrong, please refresh the page and try again."
+ }
+ }, method, url, this.form );
},
saveDraft: function(e){
var self = this;
- self.errors = {title: false, content: false, message: false};
+ self.errors.message = false;
+ editor.errors = {title: false, content: false};
self.draftDisabled = "disabled";
self.draftResult = "load";
@@ -100,7 +103,7 @@ let publishController = new Vue({
self.publishResult = "fail";
self.errors.message = "You are probably logged out. Please backup your changes, login and then try again."
}
- if(response)
+ else if(response)
{
var result = JSON.parse(response);
@@ -108,18 +111,22 @@ let publishController = new Vue({
{
self.draftDisabled = false;
self.draftResult = 'fail';
- self.errors.message = result.errors.content[0];
- /*
- if(result.errors.title){ self.errors.title = result.errors.title[0] };
- if(result.errors.content){ self.errors.message = result.errors.content[0] };
- if(result.errors.message){ self.errors.message = result.errors.message };
- */
+
+ if(result.errors.title){ editor.errors.title = result.errors.title[0]; };
+ if(result.errors.content){ editor.errors.content = result.errors.content[0] };
+ if(result.errors.message){ self.errors.message = result.errors.message; };
}
else
{
self.draftResult = 'success';
}
}
+ else if(httpStatus != 200)
+ {
+ self.publishDisabled = false;
+ self.publishResult = "fail";
+ self.errors.message = "Something went wrong, please refresh the page and try again."
+ }
}, method, url, this.form );
},
depublishArticle: function(e){
@@ -131,7 +138,8 @@ let publishController = new Vue({
}
var self = this;
- self.errors = {title: false, content: false, message: false};
+ self.errors.message = false;
+ editor.errors = {title: false, content: false};
self.publishStatus = "disabled";
@@ -140,7 +148,19 @@ let publishController = new Vue({
sendJson(function(response, httpStatus)
{
- if(response)
+ if(httpStatus == 400)
+ {
+ self.publishDisabled = false;
+ self.publishResult = "fail";
+ self.errors.message = "You are probably logged out. Please backup your changes, login and then try again."
+ }
+ else if(httpStatus != 200)
+ {
+ self.publishDisabled = false;
+ self.publishResult = "fail";
+ self.errors.message = "Something went wrong, please refresh the page and try again."
+ }
+ else if(response)
{
var result = JSON.parse(response);
@@ -160,7 +180,8 @@ let publishController = new Vue({
},
deleteArticle: function(e){
var self = this;
- self.errors = {title: false, content: false, message: false};
+ self.errors.message = false;
+ editor.errors = {title: false, content: false};
self.deleteDisabled = "disabled";
self.deleteResult = "load";
@@ -170,7 +191,19 @@ let publishController = new Vue({
sendJson(function(response, httpStatus)
{
- if(response)
+ if(httpStatus == 400)
+ {
+ self.publishDisabled = false;
+ self.publishResult = "fail";
+ self.errors.message = "You are probably logged out. Please backup your changes, login and then try again."
+ }
+ else if(httpStatus != 200)
+ {
+ self.publishDisabled = false;
+ self.publishResult = "fail";
+ self.errors.message = "Something went wrong, please refresh the page and try again."
+ }
+ else if(response)
{
var result = JSON.parse(response);
diff --git a/system/author/settings/plugins.twig b/system/author/settings/plugins.twig
index 1593edf..14b32a5 100644
--- a/system/author/settings/plugins.twig
+++ b/system/author/settings/plugins.twig
@@ -43,7 +43,20 @@
{% for field in plugin.forms.fields %}
- {% include '/partials/fields.twig' with {'itemName' : pluginName, 'object' : 'plugins' } %}
+ {% if field.type == 'fieldset' %}
+
+
+
+ {% else %}
+
+ {% include '/partials/fields.twig' with {'itemName' : pluginName, 'object' : 'plugins' } %}
+
+ {% endif %}
{% endfor %}
diff --git a/themes/typemill/css/fontello/config.json b/themes/typemill/css/fontello/config.json
index 2a997c2..76466b7 100644
--- a/themes/typemill/css/fontello/config.json
+++ b/themes/typemill/css/fontello/config.json
@@ -13,16 +13,22 @@
"src": "fontawesome"
},
{
- "uid": "e9107949dd6c9e8ab2b29ae07156e38c",
- "css": "linkedin",
- "code": 61665,
- "src": "fontawesome"
+ "uid": "91426c82d94428a33353e495418435e3",
+ "css": "share",
+ "code": 59393,
+ "src": "entypo"
},
{
- "uid": "11ebb30e17efcd988a228ade5d3e8c74",
- "css": "xing",
- "code": 61800,
- "src": "fontawesome"
+ "uid": "884cfc3e6e2d456dd2a2ca0dbb9e6337",
+ "css": "left-open-big",
+ "code": 59394,
+ "src": "entypo"
+ },
+ {
+ "uid": "004882ab2d5c418c5b2060e80596279b",
+ "css": "right-open-big",
+ "code": 59395,
+ "src": "entypo"
},
{
"uid": "627abcdb627cb1789e009c08e2678ef9",
@@ -30,12 +36,6 @@
"code": 61593,
"src": "fontawesome"
},
- {
- "uid": "9d3e9faf68fd4e12def853f0d4e1173b",
- "css": "whatsapp",
- "code": 62002,
- "src": "fontawesome"
- },
{
"uid": "8e04c98c8f5ca0a035776e3001ad2638",
"css": "facebook",
@@ -43,22 +43,34 @@
"src": "fontawesome"
},
{
- "uid": "884cfc3e6e2d456dd2a2ca0dbb9e6337",
- "css": "left-open-big",
- "code": 59393,
- "src": "entypo"
+ "uid": "11ebb30e17efcd988a228ade5d3e8c74",
+ "css": "xing",
+ "code": 61800,
+ "src": "fontawesome"
},
{
- "uid": "004882ab2d5c418c5b2060e80596279b",
- "css": "right-open-big",
- "code": 59394,
- "src": "entypo"
+ "uid": "e9107949dd6c9e8ab2b29ae07156e38c",
+ "css": "linkedin",
+ "code": 61665,
+ "src": "fontawesome"
},
{
- "uid": "91426c82d94428a33353e495418435e3",
- "css": "share-1",
- "code": 59395,
- "src": "entypo"
+ "uid": "9d3e9faf68fd4e12def853f0d4e1173b",
+ "css": "whatsapp",
+ "code": 62002,
+ "src": "fontawesome"
+ },
+ {
+ "uid": "9a76bc135eac17d2c8b8ad4a5774fc87",
+ "css": "download",
+ "code": 59396,
+ "src": "fontawesome"
+ },
+ {
+ "uid": "0f6a2573a7b6df911ed199bb63717e27",
+ "css": "github-circled",
+ "code": 61595,
+ "src": "fontawesome"
}
]
}
\ No newline at end of file
diff --git a/themes/typemill/css/fontello/css/fontello-codes.css b/themes/typemill/css/fontello/css/fontello-codes.css
index 072add3..fe90412 100644
--- a/themes/typemill/css/fontello/css/fontello-codes.css
+++ b/themes/typemill/css/fontello/css/fontello-codes.css
@@ -1,10 +1,12 @@
.icon-mail:before { content: '\e800'; } /* '' */
-.icon-left-open-big:before { content: '\e801'; } /* '' */
-.icon-right-open-big:before { content: '\e802'; } /* '' */
-.icon-share-1:before { content: '\e803'; } /* '' */
+.icon-share:before { content: '\e801'; } /* '' */
+.icon-left-open-big:before { content: '\e802'; } /* '' */
+.icon-right-open-big:before { content: '\e803'; } /* '' */
+.icon-download:before { content: '\e804'; } /* '' */
.icon-twitter:before { content: '\f099'; } /* '' */
.icon-facebook:before { content: '\f09a'; } /* '' */
+.icon-github-circled:before { content: '\f09b'; } /* '' */
.icon-linkedin:before { content: '\f0e1'; } /* '' */
.icon-xing:before { content: '\f168'; } /* '' */
.icon-whatsapp:before { content: '\f232'; } /* '' */
\ No newline at end of file
diff --git a/themes/typemill/css/fontello/css/fontello-embedded.css b/themes/typemill/css/fontello/css/fontello-embedded.css
index 7517e9e..07ff687 100644
--- a/themes/typemill/css/fontello/css/fontello-embedded.css
+++ b/themes/typemill/css/fontello/css/fontello-embedded.css
@@ -1,15 +1,15 @@
@font-face {
font-family: 'fontello';
- src: url('../font/fontello.eot?39099312');
- src: url('../font/fontello.eot?39099312#iefix') format('embedded-opentype'),
- url('../font/fontello.svg?39099312#fontello') format('svg');
+ src: url('../font/fontello.eot?14513121');
+ src: url('../font/fontello.eot?14513121#iefix') format('embedded-opentype'),
+ url('../font/fontello.svg?14513121#fontello') format('svg');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'fontello';
- src: url('data:application/octet-stream;base64,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') format('woff'),
- url('data:application/octet-stream;base64,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PistsFYssgAAQCstsFcssgABQCstsFgssgEAQCstsFkssgEBQCstsFossgAAQystsFsssgABQystsFwssgEAQystsF0ssgEBQystsF4ssgAAPystsF8ssgABPystsGAssgEAPystsGEssgEBPystsGIssDcrLrErARQrLbBjLLA3K7A7Ky2wZCywNyuwPCstsGUssAAWsDcrsD0rLbBmLLA4Ky6xKwEUKy2wZyywOCuwOystsGgssDgrsDwrLbBpLLA4K7A9Ky2waiywOSsusSsBFCstsGsssDkrsDsrLbBsLLA5K7A8Ky2wbSywOSuwPSstsG4ssDorLrErARQrLbBvLLA6K7A7Ky2wcCywOiuwPCstsHEssDorsD0rLbByLLMJBAIDRVghGyMhWUIrsAhlsAMkUHiwARUwLQBLuADIUlixAQGOWbABuQgACABjcLEABUKyAAEAKrEABUKzCgIBCCqxAAVCsw4AAQgqsQAGQroCwAABAAkqsQAHQroAQAABAAkqsQMARLEkAYhRWLBAiFixA2REsSYBiFFYugiAAAEEQIhjVFixAwBEWVlZWbMMAgEMKrgB/4WwBI2xAgBEAAA=') format('truetype');
+ src: url('data:application/octet-stream;base64,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') format('woff'),
+ url('data:application/octet-stream;base64,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') format('truetype');
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
@@ -17,7 +17,7 @@
@media screen and (-webkit-min-device-pixel-ratio:0) {
@font-face {
font-family: 'fontello';
- src: url('../font/fontello.svg?39099312#fontello') format('svg');
+ src: url('../font/fontello.svg?14513121#fontello') format('svg');
}
}
*/
@@ -53,11 +53,13 @@
/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}
.icon-mail:before { content: '\e800'; } /* '' */
-.icon-left-open-big:before { content: '\e801'; } /* '' */
-.icon-right-open-big:before { content: '\e802'; } /* '' */
-.icon-share-1:before { content: '\e803'; } /* '' */
+.icon-share:before { content: '\e801'; } /* '' */
+.icon-left-open-big:before { content: '\e802'; } /* '' */
+.icon-right-open-big:before { content: '\e803'; } /* '' */
+.icon-download:before { content: '\e804'; } /* '' */
.icon-twitter:before { content: '\f099'; } /* '' */
.icon-facebook:before { content: '\f09a'; } /* '' */
+.icon-github-circled:before { content: '\f09b'; } /* '' */
.icon-linkedin:before { content: '\f0e1'; } /* '' */
.icon-xing:before { content: '\f168'; } /* '' */
.icon-whatsapp:before { content: '\f232'; } /* '' */
\ No newline at end of file
diff --git a/themes/typemill/css/fontello/css/fontello-ie7-codes.css b/themes/typemill/css/fontello/css/fontello-ie7-codes.css
index f92a81e..5f1fa08 100644
--- a/themes/typemill/css/fontello/css/fontello-ie7-codes.css
+++ b/themes/typemill/css/fontello/css/fontello-ie7-codes.css
@@ -1,10 +1,12 @@
.icon-mail { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
-.icon-left-open-big { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
-.icon-right-open-big { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
-.icon-share-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.icon-share { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.icon-left-open-big { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.icon-right-open-big { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.icon-download { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.icon-twitter { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.icon-facebook { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.icon-github-circled { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.icon-linkedin { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.icon-xing { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.icon-whatsapp { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
\ No newline at end of file
diff --git a/themes/typemill/css/fontello/css/fontello-ie7.css b/themes/typemill/css/fontello/css/fontello-ie7.css
index 340f9b7..4b02752 100644
--- a/themes/typemill/css/fontello/css/fontello-ie7.css
+++ b/themes/typemill/css/fontello/css/fontello-ie7.css
@@ -11,11 +11,13 @@
}
.icon-mail { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
-.icon-left-open-big { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
-.icon-right-open-big { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
-.icon-share-1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.icon-share { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.icon-left-open-big { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.icon-right-open-big { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.icon-download { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.icon-twitter { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.icon-facebook { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
+.icon-github-circled { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.icon-linkedin { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.icon-xing { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
.icon-whatsapp { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
\ No newline at end of file
diff --git a/themes/typemill/css/fontello/css/fontello.css b/themes/typemill/css/fontello/css/fontello.css
index eff9080..08ef35f 100644
--- a/themes/typemill/css/fontello/css/fontello.css
+++ b/themes/typemill/css/fontello/css/fontello.css
@@ -1,11 +1,11 @@
@font-face {
font-family: 'fontello';
- src: url('../font/fontello.eot?45966989');
- src: url('../font/fontello.eot?45966989#iefix') format('embedded-opentype'),
- url('../font/fontello.woff2?45966989') format('woff2'),
- url('../font/fontello.woff?45966989') format('woff'),
- url('../font/fontello.ttf?45966989') format('truetype'),
- url('../font/fontello.svg?45966989#fontello') format('svg');
+ src: url('../font/fontello.eot?8743082');
+ src: url('../font/fontello.eot?8743082#iefix') format('embedded-opentype'),
+ url('../font/fontello.woff2?8743082') format('woff2'),
+ url('../font/fontello.woff?8743082') format('woff'),
+ url('../font/fontello.ttf?8743082') format('truetype'),
+ url('../font/fontello.svg?8743082#fontello') format('svg');
font-weight: normal;
font-style: normal;
}
@@ -15,7 +15,7 @@
@media screen and (-webkit-min-device-pixel-ratio:0) {
@font-face {
font-family: 'fontello';
- src: url('../font/fontello.svg?45966989#fontello') format('svg');
+ src: url('../font/fontello.svg?8743082#fontello') format('svg');
}
}
*/
@@ -56,11 +56,13 @@
}
.icon-mail:before { content: '\e800'; } /* '' */
-.icon-left-open-big:before { content: '\e801'; } /* '' */
-.icon-right-open-big:before { content: '\e802'; } /* '' */
-.icon-share-1:before { content: '\e803'; } /* '' */
+.icon-share:before { content: '\e801'; } /* '' */
+.icon-left-open-big:before { content: '\e802'; } /* '' */
+.icon-right-open-big:before { content: '\e803'; } /* '' */
+.icon-download:before { content: '\e804'; } /* '' */
.icon-twitter:before { content: '\f099'; } /* '' */
.icon-facebook:before { content: '\f09a'; } /* '' */
+.icon-github-circled:before { content: '\f09b'; } /* '' */
.icon-linkedin:before { content: '\f0e1'; } /* '' */
.icon-xing:before { content: '\f168'; } /* '' */
.icon-whatsapp:before { content: '\f232'; } /* '' */
\ No newline at end of file
diff --git a/themes/typemill/css/fontello/demo.html b/themes/typemill/css/fontello/demo.html
index 8e10709..dc959a8 100644
--- a/themes/typemill/css/fontello/demo.html
+++ b/themes/typemill/css/fontello/demo.html
@@ -229,11 +229,11 @@ body {
}
@font-face {
font-family: 'fontello';
- src: url('./font/fontello.eot?98470540');
- src: url('./font/fontello.eot?98470540#iefix') format('embedded-opentype'),
- url('./font/fontello.woff?98470540') format('woff'),
- url('./font/fontello.ttf?98470540') format('truetype'),
- url('./font/fontello.svg?98470540#fontello') format('svg');
+ src: url('./font/fontello.eot?27459207');
+ src: url('./font/fontello.eot?27459207#iefix') format('embedded-opentype'),
+ url('./font/fontello.woff?27459207') format('woff'),
+ url('./font/fontello.ttf?27459207') format('truetype'),
+ url('./font/fontello.svg?27459207#fontello') format('svg');
font-weight: normal;
font-style: normal;
}
@@ -299,17 +299,19 @@ body {
icon-mail0xe800
-
icon-left-open-big0xe801
-
icon-right-open-big0xe802
-
icon-share-10xe803
+
icon-share0xe801
+
icon-left-open-big0xe802
+
icon-right-open-big0xe803
+
icon-download0xe804
icon-twitter0xf099
icon-facebook0xf09a
-
icon-linkedin0xf0e1
-
icon-xing0xf168
+
icon-github-circled0xf09b
+
icon-linkedin0xf0e1
+
icon-xing0xf168
icon-whatsapp0xf232
diff --git a/themes/typemill/css/fontello/font/fontello.eot b/themes/typemill/css/fontello/font/fontello.eot
index 18edf84..b2f5118 100644
Binary files a/themes/typemill/css/fontello/font/fontello.eot and b/themes/typemill/css/fontello/font/fontello.eot differ
diff --git a/themes/typemill/css/fontello/font/fontello.svg b/themes/typemill/css/fontello/font/fontello.svg
index 80087a8..6dfdc59 100644
--- a/themes/typemill/css/fontello/font/fontello.svg
+++ b/themes/typemill/css/fontello/font/fontello.svg
@@ -1,23 +1,27 @@