summaryrefslogtreecommitdiffstats
path: root/template/admin/rsrc
diff options
context:
space:
mode:
authorThomas Lange <code@nerdmind.de>2017-02-24 21:27:59 +0100
committerThomas Lange <code@nerdmind.de>2017-02-24 21:27:59 +0100
commit52b077a48c743ba4d08ac00520a0bf1ef6deef5f (patch)
treeb4205c194167e0e03e273957cdd0aab3be9fdf01 /template/admin/rsrc
downloadblog-52b077a48c743ba4d08ac00520a0bf1ef6deef5f.tar.gz
blog-52b077a48c743ba4d08ac00520a0bf1ef6deef5f.tar.xz
blog-52b077a48c743ba4d08ac00520a0bf1ef6deef5f.zip
Initial commit.v1.0
Diffstat (limited to 'template/admin/rsrc')
-rw-r--r--template/admin/rsrc/background.pngbin0 -> 1245 bytes
-rw-r--r--template/admin/rsrc/font/font-awesome.woff2bin0 -> 77160 bytes
-rw-r--r--template/admin/rsrc/font/kadwa-n-400.woff2bin0 -> 18108 bytes
-rw-r--r--template/admin/rsrc/font/ruda-n-400.woff2bin0 -> 9120 bytes
-rw-r--r--template/admin/rsrc/font/ruda-n-700.woff2bin0 -> 9116 bytes
-rw-r--r--template/admin/rsrc/icon-public-domain.svg1
-rw-r--r--template/admin/rsrc/main.css275
-rw-r--r--template/admin/rsrc/main.js94
8 files changed, 370 insertions, 0 deletions
diff --git a/template/admin/rsrc/background.png b/template/admin/rsrc/background.png
new file mode 100644
index 0000000..f018e81
--- /dev/null
+++ b/template/admin/rsrc/background.png
Binary files differ
diff --git a/template/admin/rsrc/font/font-awesome.woff2 b/template/admin/rsrc/font/font-awesome.woff2
new file mode 100644
index 0000000..4d13fc6
--- /dev/null
+++ b/template/admin/rsrc/font/font-awesome.woff2
Binary files differ
diff --git a/template/admin/rsrc/font/kadwa-n-400.woff2 b/template/admin/rsrc/font/kadwa-n-400.woff2
new file mode 100644
index 0000000..1566426
--- /dev/null
+++ b/template/admin/rsrc/font/kadwa-n-400.woff2
Binary files differ
diff --git a/template/admin/rsrc/font/ruda-n-400.woff2 b/template/admin/rsrc/font/ruda-n-400.woff2
new file mode 100644
index 0000000..6435a0d
--- /dev/null
+++ b/template/admin/rsrc/font/ruda-n-400.woff2
Binary files differ
diff --git a/template/admin/rsrc/font/ruda-n-700.woff2 b/template/admin/rsrc/font/ruda-n-700.woff2
new file mode 100644
index 0000000..0066431
--- /dev/null
+++ b/template/admin/rsrc/font/ruda-n-700.woff2
Binary files differ
diff --git a/template/admin/rsrc/icon-public-domain.svg b/template/admin/rsrc/icon-public-domain.svg
new file mode 100644
index 0000000..e0f0b0f
--- /dev/null
+++ b/template/admin/rsrc/icon-public-domain.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 53.869999 53.509998" version="1" width="53.87" height="53.51"><rect rx="2" width="50.745" y="1.563" x="1.563" height="50.385" fill="#b3b3b3" fill-rule="evenodd" stroke="#333" stroke-width="3.125" stroke-linejoin="round"/><g transform="translate(-3.116 -3.554)" fill-rule="evenodd" stroke="#333" stroke-linecap="round" stroke-linejoin="round"><path d="M25.96 22.992c-2.403 1.28-3.964 3.706-4.993 6.316h18.198c-.944-2.547-2.39-4.947-4.593-6.316-2.478-.108-5.595 0-8.612 0z" fill="#7f7f7f" stroke-width="1.87471319"/><circle transform="matrix(.6206 0 0 .6206 17.702 3.554)" cx="19.524" cy="22.301" r="12.326" fill="#bfbfbf" stroke-width="3.021"/></g><path d="M12.76 27.584c-.84 0-1.513.674-1.513 1.512v18.116h31.72V29.096c0-.838-.674-1.512-1.51-1.512H12.758z" fill="#999" fill-rule="evenodd" stroke="#333" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M18.55 29.705l-9.617-13.27 5.385-2.694" fill="none" stroke="#333" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/><circle cx="13.934" cy="13.741" r="2.308" fill="#7f7f7f" fill-rule="evenodd" stroke="#333" stroke-width="1.25"/><rect rx="2.267" height="4.616" width="36.929" y="24.705" x="8.548" fill="#4c4c4c" fill-rule="evenodd" stroke="#333" stroke-width="2.5" stroke-linejoin="round"/><path d="M18.29 45.03c2.917-1.836 6.143-2.33 7.4-2.043.14-1.242 2.07-3.303 5.54-5.486-4.107 1.048-4.96 1.32-6.74 3.745-3.04.3-3.913 1.192-6.2 3.785zM25.543 36.904c2.02-1.27 4.253-1.612 5.122-1.415.098-.86 1.434-2.287 3.835-3.797-2.842.724-3.433.912-4.664 2.59-2.105.208-2.71.826-4.293 2.62z" fill="#4c4c4c" fill-rule="evenodd" stroke="#333" stroke-width=".625" stroke-linecap="round" stroke-linejoin="round"/></svg> \ No newline at end of file
diff --git a/template/admin/rsrc/main.css b/template/admin/rsrc/main.css
new file mode 100644
index 0000000..2466b31
--- /dev/null
+++ b/template/admin/rsrc/main.css
@@ -0,0 +1,275 @@
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Selection
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+::-moz-selection{background:#BBB;color:#000;}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Hyperlinks
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+a{color:#0060A0;text-decoration:none;}a:focus{background:#CCC;}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Paragraphs
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+h1+p,h2+p,h3+p,h4+p,h5+p,h6+p{margin-top:0;}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Icons
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+h1 .fa, h2 .fa, h3 .fa, h4 .fa, h5 .fa, h6 .fa{margin-right:0.25rem;}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Headings
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+h1 > a{float:right;font-size:0.7rem;font-weight:normal;}
+h1,h2,h3,h4,h5,h6{margin:0;text-transform:uppercase;}
+h1{font-size:0.80rem;}h2{font-size:0.70rem;}
+h3{font-size:0.65rem;}h4{font-size:0.60rem;}
+h5{font-size:0.55rem;}h6{font-size:0.50rem;}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Document
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+html,body{margin:0;padding:0;}
+main{padding:1rem;}
+html{font-size:1.25rem;color:#333;background:url(background.png) fixed center #CCC;-webkit-hyphens:auto;hyphens:auto;}
+body{font-family:Ruda,sans-serif;font-size:0.7rem;line-height:1.2rem;}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Main content
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#main-content{background:#FFF;border:0.05rem solid #AAA;border-top:none;}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Width
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#main-content,.header-content{max-width:50rem;margin:0 auto;}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Header
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#main-header{font-size:0.6rem;}
+#header-text,#header-desc{text-shadow: 0 -1px #4E718F, 1px 0 #4E718F, 0 1px #4E718F, -1px 0 #4E718F;}
+#header-text{font-size:0.8rem;font-weight:700;text-transform:uppercase;}
+#header-desc{font-size:0.6rem;font-weight:700;line-height:1rem;}
+#header-desc span{color:#CCC;}
+#header-logo{display:block;max-height:5rem;float:left;margin-right:0.5rem;}
+.header-line{padding:0.5rem 1rem;overflow:hidden;}
+.header-line:first-child{background:#5E819F;}
+.header-line:last-child{background:#EEE;border:0.05rem solid #AAA;border-left:none;border-right:none;padding:0.25rem 1rem;}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Main Navigation
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#main-navi ul{list-style:none;margin:0;padding:0;float:left;}
+#main-navi li{display:inline;}
+#main-navi ul+ul{float:right;}
+#main-navi li .fa{margin-right:0.25rem;}
+#main-navi a{padding:0.1rem 0.3rem;background:#DDD;border:0.05rem solid #AAA;color:inherit;text-decoration:none;text-align:center;display:inline-block;}
+#main-navi a:hover, #main-navi a:focus{text-decoration:none;background:#CCC;}
+#main-navi a:focus{background:#CCC;}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Footer
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#main-footer{font-size:0.6rem;background:#EEE;border-top:0.05rem solid #AAA;padding:0.75rem;text-align:center;}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Content containers
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.content{border:0.05rem solid #AAA;margin-bottom:1rem;clear:both;}
+.content{background:#FFF;border:0.05rem solid #AAA;}
+
+.content > header{padding:0.5rem 1rem;}
+
+.content > header,
+.content > footer{background:#EEE;overflow:hidden;}
+
+.content > article{padding:1rem;}
+.content > header{border-bottom:0.05rem solid #AAA;}
+.content > footer{border-top:0.05rem solid #AAA;}
+.content > footer > ul{margin:0;padding:0;list-style:none;}
+.content > footer > ul > li{display:inline-block;float:left;}
+.content > footer > ul > li:last-child{float:right;}
+.content > footer > ul > li > a{color:inherit;display:inline-block;padding:0.25rem 2rem;}
+.content > footer > ul > li > a:hover,
+.content > footer > ul > li > a:active{background:#DDD;}
+
+.content h2 > span{float:right;}
+
+.item-list{margin:0;padding:0;list-style:none;}
+.item-list > li{display:block;}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Site Navigation
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#site-navi{clear:both;display:flex;box-sizing:border-box;justify-content:space-between;}
+#site-navi > div{display:flex;align-items:center;border:0.05rem solid #AAA;background:#EEE;}
+#site-navi > div > a{display:block;}
+#site-navi > section{display:flex;overflow:hidden;align-items:center;}
+#site-navi > section > div{border:0.05rem solid #AAA;background:#EEE;}
+
+#site-navi .disabled{pointer-events:none;color:#AAA;}
+#site-navi .active a{background:#CCC !important;font-weight:600;pointer-events: none;}
+
+#site-navi ol{list-style:none;margin:0;padding:0;}
+#site-navi li{float:left;display:inline-block;}
+#site-navi li+li{border-left:0.05rem solid #AAA;}
+#site-navi a{padding:0 0.5rem;text-decoration:none;color:inherit;display:inline-block;}
+#site-navi a:hover,#site-navi a:focus{background:#CCC;}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Elements
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+pre{margin-bottom:1rem;overflow:auto;-moz-tab-size:4;tab-size:4;}
+code,pre{font-family:monospace;color:#B03060;}
+p{margin-top:0;}
+img{border:none;max-width:100%;}
+.red{color:#B03060;}
+.blue{color:#40779A;}
+.green{color:#008B45;}
+.right{float:right;}
+#database-result{color:inherit;}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Table elements
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+table{width:100%;margin:0 0 1rem;}td{vertical-align:middle;}
+table,td{border-spacing:0;border-collapse:collapse;padding:0.5rem;border:0.05rem solid #000;}
+thead,tr:nth-child(even){background:#EEE;}
+thead > tr, th{font-weight:700;font-style:italic;}
+thead > tr > td, th > td{text-align:center;}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Brackets
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.brackets a,a.brackets{text-decoration:none;}
+.brackets:after{content:"]"}
+.brackets:before{content:"["}
+a.brackets:before,a.brackets:after{color:#222;}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Form flex-box
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+form{border:0.05rem solid #AAA;}
+
+.flex{display:flex;width:100%;justify-content:center;overflow:hidden;box-sizing:border-box;}
+.flex + section{border-top:0.05rem solid #AAA;}
+.flex > section {display:flex;box-sizing:padding-box;width:100%;}
+.flex > section > div{display:flex;align-items:center;padding:0.5rem;box-sizing:border-box;}
+.flex > section > div + div{border-left:0.05rem solid #AAA;}
+.flex.flex-responsive > section{width:50%;}
+
+.form-icon-flex{background:#DDD;width:10%;justify-content:center;}
+.form-label-flex{background:#DDD;width:30%;border-left:none !important;}
+.form-field-flex{width:60%;}
+
+.fa + label{margin-left:0.25rem;}
+.background{background:#DDD;}
+.flex-padding{padding:0.5rem;}
+.flex-direction-column{flex-direction:column;}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Form buttons
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.button-list {margin:0;padding:0;list-style:none;}
+.button-list > li{display:inline-block;background:#EEE;padding:0.5rem;border:0.05rem solid #AAA;cursor:pointer;}
+.button-list.emoticons > li {padding:0.25rem 0.5rem;}
+.button-list > li:hover,
+.button-list > li:active{background:#CCC;}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Form elements
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+input,select,textarea{width:100%;box-sizing:padding-box;background:#EEE;color:#404040;font-family:inherit;font-size:0.7rem;padding:0.25rem;border:0.05rem solid #AAA;}
+textarea{font-family:Kadwa,sans-serif;box-sizing:border-box;display:inline-block;resize:vertical;min-height:15rem;line-height:1.4rem;padding:0.75rem;}
+input[type="submit"]{text-transform:uppercase;}
+input:disabled{background:#DDD;color:#888;}
+input:disabled:hover{cursor:not-allowed;}
+label{text-transform:uppercase;font-weight:normal;}
+label:after{content:":";}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* FontAwesome Main
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.fa{display:inline-block;font:normal normal normal 14px/1 "FontAwesome";font-size:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* FontAwesome Icons
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.fa-rss:before{content:"\f09e"}
+.fa-bug:before{content:"\f188"}
+.fa-key:before{content:"\f084"}
+.fa-link:before{content:"\f0c1"}
+.fa-bold:before{content:"\f032"}
+.fa-code:before{content:"\f121"}
+.fa-bars:before{content:"\f0c9"}
+.fa-user:before{content:"\f007"}
+.fa-home:before{content:"\f015"}
+.fa-plus:before{content:"\f067"}
+.fa-italic:before{content:"\f033"}
+.fa-header:before{content:"\f1dc"}
+.fa-search:before{content:"\f002"}
+.fa-trash-o:before{content:"\f014"}
+.fa-sign-in:before{content:"\f090"}
+.fa-clock-o:before{content:"\f017"}
+.fa-list-ul:before{content:"\f0ca"}
+.fa-list-ol:before{content:"\f0cb"}
+.fa-smile-o:before{content:"\f118"}
+.fa-database:before{content:"\f1c0"}
+.fa-sign-out:before{content:"\f08b"}
+.fa-dashboard:before{content:"\f0e4"}
+.fa-picture-o:before{content:"\f03e"}
+.fa-envelope-o:before{content:"\f003"}
+.fa-eyedropper:before{content:"\f1fb"}
+.fa-rss-square:before{content:"\f143"}
+.fa-arrow-left:before{content:"\f060"}
+.fa-quote-right:before{content:"\f10e"}
+.fa-user-secret:before{content:"\f21b"}
+.fa-file-text-o:before{content:"\f0f6"}
+.fa-newspaper-o:before{content:"\f1ea"}
+.fa-arrow-right:before{content:"\f061"}
+.fa-external-link:before{content:"\f08e"}
+.fa-pencil-square-o:before{content:"\f044"}
+.fa-question-circle:before{content:"\f059"}
+.fa-pencil-square-o:before{content:"\f044"}
+.fa-exclamation-triangle:before{content:"\f071"}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Responsive Level #1
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+@media only screen and (max-width:50rem) {
+ html{font-size:1.125rem;/*18px*/background-image:none !important;}
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Responsive Level #2
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+@media only screen and (max-width:37.5rem) {
+ .flex.flex-responsive{display:block;width:auto;}
+ .flex.flex-responsive > section {width:100%;}
+ .flex.flex-responsive > section + section{border-top:0.05rem solid #AAA;}
+
+ #main-navi{font-size:1rem;}
+ #main-navi li span{display:none;}
+ #main-navi li .fa{margin-right:0;}
+ #main-navi a{padding:0.5rem;}
+
+ .flex-emoticons{display:none !important;}
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Font "Font Awesome" [4.7.0]: SIL Open Font License (OFL)
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+@font-face{font-family:"FontAwesome";font-weight:400;src:url("font/font-awesome.woff2") format("woff2");}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Font "Kadwa": SIL Open Font License (OFL)
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+@font-face{font-family:Kadwa;font-weight:400;src:url("font/kadwa-n-400.woff2") format("woff2");}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/* Font "Ruda": SIL Open Font License (OFL)
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+@font-face{font-family:Ruda;font-weight:400;src:url("font/ruda-n-400.woff2") format("woff2");}
+@font-face{font-family:Ruda;font-weight:700;src:url("font/ruda-n-700.woff2") format("woff2");} \ No newline at end of file
diff --git a/template/admin/rsrc/main.js b/template/admin/rsrc/main.js
new file mode 100644
index 0000000..3d5546f
--- /dev/null
+++ b/template/admin/rsrc/main.js
@@ -0,0 +1,94 @@
+//==============================================================================
+// Markdown tags to replace
+//==============================================================================
+var markdownTags = {
+ "bold": ["**", "**"],
+ "italic": ["*", "*"],
+ "header": ["## ", "\n"],
+ "link": ["[", "](href)"],
+ "image": ["![", "](href)"],
+ "code": ["\n~~~\n", "\n~~~\n"],
+ "quote": ["\n> ", ""],
+ "list_ul": ["* ", ""],
+ "list_ol": ["1. ", ""]
+};
+
+//==============================================================================
+// Set caret position in editor
+//==============================================================================
+function setCaretPosition(position) {
+ window.setTimeout(function() {
+ document.getElementById("content-editor").focus();
+ document.getElementById("content-editor").setSelectionRange(position, position);
+ }, 50);
+
+}
+
+//==============================================================================
+// Insert markdown around text in editor
+//==============================================================================
+function markdownReplace(tagname) {
+ var element = document.activeElement;
+
+ if(element.nodeName === 'TEXTAREA') {
+ var selectionStart = element.selectionStart;
+ var selectionEnd = element.selectionEnd;
+
+ var selectedText = element.value.substring(selectionStart, selectionEnd);
+
+ var content = element.value;
+ element.value = content.slice(0, selectionStart) + markdownTags[tagname][0] + selectedText + markdownTags[tagname][1] + content.slice(selectionEnd);
+
+ setCaretPosition(selectionStart + markdownTags[tagname][0].length + selectedText.length + markdownTags[tagname][1].length);
+ }
+}
+
+//==============================================================================
+// Insert emoticon after cursor in editor
+//==============================================================================
+function emoticonReplace(emoticon) {
+ var element = document.activeElement;
+
+ if(element.nodeName === 'TEXTAREA') {
+ var selectionStart = element.selectionStart;
+ var selectionEnd = element.selectionEnd;
+
+ var content = element.value;
+ element.value = content.slice(0, selectionStart) + emoticon + content.slice(selectionEnd);
+
+ setCaretPosition(selectionStart + emoticon.length);
+ }
+}
+
+//==============================================================================
+// Keep server-side session active if the user is writing a long text
+//==============================================================================
+addEventListener("DOMContentLoaded", function() {
+ setInterval(function() {
+ var Request = new XMLHttpRequest();
+ Request.open("HEAD", "", true);
+ Request.send();
+ }, 300000);
+}, false);
+
+//==============================================================================
+// Insert tab indent into editor if <tab> is pressed
+//==============================================================================
+addEventListener("DOMContentLoaded", function() {
+ if(document.getElementById("content-editor")) {
+ var element = document.getElementById("content-editor");
+ element.addEventListener('keydown', function(e) {
+ if(e.keyCode === 9 && !e.ctrlKey && !e.shiftKey) {
+ var selectionStart = element.selectionStart;
+ var selectionEnd = element.selectionEnd;
+
+ var content = element.value;
+
+ element.value = content.substring(0, selectionStart) + "\t" + content.substring(selectionEnd);
+
+ setCaretPosition(selectionStart + 1);
+ e.preventDefault();
+ }
+ }, false);
+ }
+}, false); \ No newline at end of file