";
// 1. Set localized string 2. Set blogtitle
echo "" .
- $BLOGLANG['Blogs on'] . $config["blog"]["title"] .
+ $BLOGLANG['Blogs on'] . " " . $config["blog"]["title"] .
":
";
// iterating through the blogs/ directory
foreach ($blogs as $navblog) {
diff --git a/package.json b/package.json
index 60f926b..9f99af3 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "rangitaki",
- "version": "1.4.2",
+ "version": "1.4.4",
"description": "A simple PHP blogging engine without any database dependencies",
"main": "index.php",
"scripts": {
diff --git a/rcc/feed/index.php b/rcc/feed/index.php
index f98b79b..ed7e56a 100644
--- a/rcc/feed/index.php
+++ b/rcc/feed/index.php
@@ -6,13 +6,13 @@
* @package Rcc
* @author Marcel Kapfer (mmk2410)
* @license MIT License
- * @link https://github.com/mmk2410/rangitaki
+ * @link https://gitlab.com/mmk2410/rangitaki
*
* Feed Generator
*
* The MIT License
*
- * Copyright 2015 mmk2410.
+ * Copyright 2015 - 2016 (c) mmk2410.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -36,27 +36,35 @@
date_default_timezone_set('UTC');
require "../../vendor/autoload.php";
-require_once "../../config.php";
+require "../../res/php/Config.php";
require_once "../../res/php/ArticleGenerator.php";
-use PicoFeed\Syndication\Atom;
+use PicoFeed\Syndication\AtomFeedBuilder;
+use PicoFeed\Syndication\AtomItemBuilder;
+use \mmk2410\rbe\config\Config as Config;
+
+$config = new Config('../../config.yaml', '../../vendor/autoload.php');
+$settings = $config->getConfig();
+
+include '../ssl.php';
session_start();
if ($_SESSION['login']) {
-
$art_dir = "./../../articles/" . $_GET['blog'] . "/";
$feed_path = "./../../feed/" . $_GET['blog'] . ".atom";
- $writer = new Atom();
+ if ($_GET['blog'] == "main") {
+ $blogtitle = $settings['blog']['title'];
+ } else {
+ $blogtitl = $settings['blog']['title'] . " - " . ucwords($_GET['blog']);
+ }
- $writer->title = $blogtitle;
- $writer->site_url = $blogurl;
- $writer->feed_url = $blogurl . "/feed/" . $_GET['blog'] . ".atom";
- $writer->author = array(
- 'name' => $blogauthor,
- 'url' => $blogurl,
- 'email' => ''
- );
+ $feedBuilder = AtomFeedBuilder::create()
+ ->withTitle($blogtitle)
+ ->withAuthor($settings['blog']['author'])
+ ->withFeedUrl($settings['blog']['url'] . "/feed/" . $_GET['blog'] . ".atom")
+ ->withSiteUrl($settings['blog']['url'])
+ ->withDate(new DateTime(date(DATE_ATOM)));
$articles = scandir($art_dir, 1);
@@ -71,25 +79,45 @@ if ($_SESSION['login']) {
$text = Parsedown::instance()
->setBreaksEnabled(true)// with linebreaks
->text($file);
- $writer->items[] = array(
- 'title' => ArticleGenerator::getTitle($art_dir, $article),
- 'updated' => strtotime(
- ArticleGenerator::getDate($art_dir . $article)
- ),
- 'url' => $blogurl . "./?article=" .
- substr($article, 0, strlen($article) - 3),
- 'summary'=> ArticleGenerator::getSummary(
- $art_dir, $article
- ),
- 'content' => $text
- );
+ if (new DateTime(date(DATE_ATOM, strtotime($datestring))) != null) {
+ $date = new DateTime(
+ date(
+ DATE_ATOM,
+ strtotime($datestring)
+ )
+ );
+ } else {
+ $date = new DateTime(date(DATE_ATOM));
+ }
+ $date = new DateTime(date(DATE_ATOM));
+ $feedBuilder
+ ->withItem(AtomItemBuilder::create($feedBuilder)
+ ->withTitle(
+ ArticleGenerator::getTitle($art_dir, $article)
+ )
+ ->withUrl(
+ $settings['blog']['url'] . "./?article=" . substr($article, 0, strlen($article) - 3)
+ )
+ ->withAuthor(
+ ArticleGenerator::getAuthor($art_dir, $article)
+ )
+ ->withPublishedDate(
+ parseDate(ArticleGenerator::getDate($art_dir, $article))
+ )
+ ->withUpdatedDate(
+ parseDate(ArticleGenerator::getDate($art_dir, $article))
+ )
+ ->withSummary(
+ ArticleGenerator::getSummary($art_dir, $article)
+ )
+ ->withContent($text));
$amount += 1;
}
}
}
- $feed = $writer->execute();
+ $feed = $feedBuilder->build();
$file = fopen($feed_path, "w");
@@ -102,4 +130,19 @@ if ($_SESSION['login']) {
echo "0";
}
-?>
+
+function parseDate($datestring)
+{
+ $datetime = new DateTime(date(DATE_ATOM));
+ try {
+ $datetime = new DateTime(
+ date(
+ DATE_ATOM,
+ strtotime($datestring)
+ )
+ );
+ } catch (Exception $e) {
+ $datetime = new DateTime(date(DATE_ATOM));
+ }
+ return $datetime;
+}
diff --git a/rcc/ssl.php b/rcc/ssl.php
index 0923208..9c2f971 100644
--- a/rcc/ssl.php
+++ b/rcc/ssl.php
@@ -3,7 +3,7 @@
// License: MIT License
// SSL Verification
-if ($settings["rcc"]["debug"] != "on") {
+if (isset($settings["rcc"]["debug"]) && $settings["rcc"]["debug"] != "on") {
if (empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != "on") {
header('HTTP/1.1 400 Bad Request');
exit();
diff --git a/res/js/app.js b/res/js/app.js
index ca6efa6..b471cad 100644
--- a/res/js/app.js
+++ b/res/js/app.js
@@ -1 +1 @@
-(function(){var n,t,a,e,r;e=function(){var e,i;return e=!1,$(".fabmenu").click(function(){return e?(a(),e=!1):(t(),e=!0)}),i=!1,$(".nav-img, .overlay, .nav-close").click(function(){return i?(n(),i=!1):(r(),i=!0)}),$(document).keyup(function(t){return i&&27===t.which?(n(),i=!1):i||77!==t.which?void 0:(r(),i=!0)}),$(".articletext a").attr("target","_blank")},$(document).ready(e),t=function(){return $(".subfab").fadeIn(125),$(".fab-img").fadeOut(60,function(){return $(".fab-img").attr("src","./res/img/close.svg"),$(".fab-img").fadeIn(60)})},a=function(){return $(".subfab").fadeOut(125),$(".fab-img").fadeOut(60,function(){return $(".fab-img").attr("src","./res/img/share.svg"),$(".fab-img").fadeIn(60)})},r=function(){return $(".nav").animate({left:"0px"},125),$(".overlay").show(),$(".overlay").animate({opacity:"0.4"},125)},n=function(){return $(".nav").animate({left:"-301px"},125),$(".overlay").animate({opacity:"0.0"},125,function(){return $(".overlay").hide})}}).call(this);
\ No newline at end of file
+(function(){var n,t,a,e,r;e=function(){var e,i;return e=!1,$(".fabmenu").click(function(){return e?(a(),e=!1):(t(),e=!0)}),i=!1,$(".nav-img, .overlay, .nav-close").click(function(){return i?(n(),i=!1):(r(),i=!0)}),$(document).keyup(function(t){return i&&27===t.which?(n(),i=!1):i||77!==t.which?void 0:(r(),i=!0)}),$(".articletext a").attr("target","_blank")},$(document).ready(e),t=function(){return $(".subfab").fadeIn(125),$(".fab-img").fadeOut(60,function(){return $(".fab-img").attr("src","./res/img/close.svg"),$(".fab-img").fadeIn(60)})},a=function(){return $(".subfab").fadeOut(125),$(".fab-img").fadeOut(60,function(){return $(".fab-img").attr("src","./res/img/share.svg"),$(".fab-img").fadeIn(60)})},r=function(){return $(".nav").animate({left:"0px"},125),$(".overlay").show(),$(".overlay").animate({opacity:"0.4"},125)},n=function(){return $(".nav").animate({left:"-301px"},125),$(".overlay").animate({opacity:"0.0"},125,function(){return $(".overlay").css({display:"none"})})}}).call(this);
\ No newline at end of file
diff --git a/src/coffee/app.coffee b/src/coffee/app.coffee
index e596e34..0cdc234 100644
--- a/src/coffee/app.coffee
+++ b/src/coffee/app.coffee
@@ -84,4 +84,4 @@ openNav = () ->
closeNav = () ->
$('.nav').animate {"left": "-301px"}, 125
$('.overlay').animate {"opacity": "0.0"}, 125, ->
- $('.overlay').hide
+ $('.overlay').css {"display": "none"}
diff --git a/src/sass-themes/nextDESIGN.sass b/src/sass-themes/nextDESIGN.sass
new file mode 100644
index 0000000..b568dd6
--- /dev/null
+++ b/src/sass-themes/nextDESIGN.sass
@@ -0,0 +1,194 @@
+/*
+ *The MIT License
+ *
+ *Copyright 2015 mmk2410.
+ *
+ *Permission is hereby granted, free of charge, to any person obtaining a copy
+ *of this software and associated documentation files (the "Software"), to deal
+ *in the Software without restriction, including without limitation the rights
+ *to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ *copies of the Software, and to permit persons to whom the Software is
+ *furnished to do so, subject to the following conditions:
+ *
+ *The above copyright notice and this permission notice shall be included in
+ *all copies or substantial portions of the Software.
+ *
+ *THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ *IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ *FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ *AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ *LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ *OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ *THE SOFTWARE.
+/*
+ * Created on : Jun 18, 2015, 6:39:37 PM
+ * Author : mmk2410
+
+$font: "Fira Sans", sans-serif
+
+$background: #f0f0f0
+$text-color: #383838
+$primary-color: #4CAF50
+$header-shadow: rgba(62, 62, 62, 0.45)
+$white: #FFFFFF
+$fadeout-color: rgba(30, 87, 153, 0)
+$border: #e0e0e0
+$active-color: #e2e2e2
+$fab-shadow: rgba(62, 62, 62, 0.3)
+$footer-background: #2D2D2D
+
+body
+ font-family: $font
+ background: $background
+ color: $text-color
+ margin: 130px 0 0
+
+::selection, ::-moz-selection
+ color: $background
+ background-color: $primary-color
+
+.header
+ height: 55px
+ background-color: $primary-color
+ position: fixed
+ box-shadow: 2px 0 2px 2px $header-shadow
+
+.title
+ line-height: 55px
+ color: $white
+ position: absolute
+ left: 0
+ margin-left: calc(20% + 24px)
+ > a
+ color: $white
+ text-decoration: none
+
+.fadeout
+ height: 55px
+ background: -moz-linear-gradient(left, $fadeout-color 0%, $primary-color 100%)
+ background: -webkit-linear-gradient(left, $fadeout-color 0%, $primary-color 100%)
+ background: -o-linear-gradient(left, $fadeout-color 0%, $primary-color 100%)
+ background: -ms-linear-gradient(left, $fadeout-color 0%, $primary-color 100%)
+ background: linear-gradient(to right, $fadeout-color 0%, $primary-color 100%)
+
+.nav-img
+ padding: 14px 19px
+
+.nav
+ background-color: $white
+ border-right: 1px solid $border
+
+.nav-item, .nav-item-static
+ color: $text-color
+
+.nav-item
+ font-weight: 600
+ &:hover
+ color: $primary-color
+ &:active
+ background-color: $active-color
+
+.divider
+ border-bottom: 1px solid $border
+
+.card
+ background: none
+ border-radius: 0
+ box-shadow: none
+ margin: 0 20% 100px
+ width: auto
+ a
+ color: $primary-color
+ text-decoration: none
+ border-bottom: 1px solid transparent
+ transition: border-bottom-color 150ms ease-in-out 100ms
+ &:hover
+ border-bottom-color: #4CAF50
+
+.headline
+ font-size: 30px
+ line-height: 50px
+ color: #383838 !important
+ text-decoration: none
+ border-bottom: none !important
+ &:hover
+ color: #4CAF50 !important
+
+.date
+ font-size: 13px
+
+.articletext
+ margin-top: 30px
+ font-size: 16px
+ line-height: 30px
+
+.author, .tag
+ font-size: 13px
+
+.fab
+ background-color: $primary-color
+ box-shadow: 0 1px 1.5px 1.5px $fab-shadow
+
+.subfab
+ background-color: $white
+ box-shadow: 0 1px 1.5px 1.5px $fab-shadow
+
+.button
+ color: $primary-color
+ border-bottom: 1px solid transparent
+ margin: 0
+ min-width: 0
+ padding: 0
+ line-height: 16px
+ height: 16px
+ transition-property: border-bottom-color
+ transition-delay: 50ms
+ transition-duration: 125ms
+ transition-timing-function: ease
+ -moz-transition-property: border-bottom-color
+ -moz-transition-delay: 50ms
+ -moz-transition-duration: 125ms
+ -moz-transition-timing-function: ease
+ -webkit-transition-property: border-bottom-color
+ -webkit-transition-delay: 50ms
+ -webkit-transition-duration: 125ms
+ -webkit-transition-timing-function: ease
+ &:hover
+ border-bottom-color: $primary-color
+
+.pag_prev
+ float: left
+
+.button:last-child
+ float: none
+
+.footer
+ text-align: center
+ height: 60px
+ background-color: $footer-background
+ line-height: 60px
+ width: 100%
+ color: $white
+ a
+ color: $white
+ text-decoration: none
+ border-bottom: 1px solid transparent
+ &:hover
+ border-bottom-color: $white
+
+.hljs
+ background: none
+
+@media screen and (min-width: 1440px)
+ .title
+ margin-left: calc(20% - 40px)
+ .nav
+ padding-top: 55px
+
+@media screen and (max-width: 800px)
+ body
+ margin-top: 80px
+ .title
+ margin-left: 20%
+ .card
+ margin: 0 5% 100px
\ No newline at end of file
diff --git a/themes/nextDESIGN.css b/themes/nextDESIGN.css
new file mode 100644
index 0000000..ee57971
--- /dev/null
+++ b/themes/nextDESIGN.css
@@ -0,0 +1,207 @@
+body {
+ font-family: "Fira Sans", sans-serif;
+ background: #f0f0f0;
+ color: #383838;
+ margin: 130px 0 0
+}
+
+::selection, ::-moz-selection {
+ color: #f0f0f0;
+ background-color: #4CAF50
+}
+
+.header {
+ height: 55px;
+ background-color: #4CAF50;
+ position: fixed;
+ box-shadow: 2px 0 2px 2px rgba(62, 62, 62, 0.45)
+}
+
+.title {
+ line-height: 55px;
+ color: #fff;
+ position: absolute;
+ left: 0;
+ margin-left: calc(20% + 24px)
+}
+
+.title > a {
+ color: #fff;
+ text-decoration: none
+}
+
+.fadeout {
+ height: 55px;
+ background: -moz-linear-gradient(left, rgba(30, 87, 153, 0) 0%, #4CAF50 100%);
+ background: -webkit-linear-gradient(left, rgba(30, 87, 153, 0) 0%, #4CAF50 100%);
+ background: -o-linear-gradient(left, rgba(30, 87, 153, 0) 0%, #4CAF50 100%);
+ background: -ms-linear-gradient(left, rgba(30, 87, 153, 0) 0%, #4CAF50 100%);
+ background: linear-gradient(to right, rgba(30, 87, 153, 0) 0%, #4CAF50 100%)
+}
+
+.nav-img {
+ padding: 14px 19px
+}
+
+.nav {
+ background-color: #fff;
+ border-right: 1px solid #e0e0e0
+}
+
+.nav-item, .nav-item-static {
+ color: #383838
+}
+
+.nav-item {
+ font-weight: 600
+}
+
+.nav-item:hover {
+ color: #4CAF50
+}
+
+.nav-item:active {
+ background-color: #e2e2e2
+}
+
+.divider {
+ border-bottom: 1px solid #e0e0e0
+}
+
+.card {
+ background: none;
+ border-radius: 0;
+ box-shadow: none;
+ margin: 0 20% 100px;
+ width: auto
+}
+
+.card a {
+ color: #4CAF50;
+ text-decoration: none;
+ border-bottom: 1px solid transparent;
+ transition: border-bottom-color 150ms ease-in-out 100ms
+}
+
+.card a:hover {
+ border-bottom-color: #4CAF50
+}
+
+.headline {
+ font-size: 30px;
+ line-height: 50px;
+ color: #383838 !important;
+ text-decoration: none;
+ border-bottom: none !important
+}
+
+.headline:hover {
+ color: #4CAF50 !important
+}
+
+.date {
+ font-size: 13px
+}
+
+.articletext {
+ margin-top: 30px;
+ font-size: 16px;
+ line-height: 30px
+}
+
+.author, .tag {
+ font-size: 13px
+}
+
+.fab {
+ background-color: #4CAF50;
+ box-shadow: 0 1px 1.5px 1.5px rgba(62, 62, 62, 0.3)
+}
+
+.subfab {
+ background-color: #fff;
+ box-shadow: 0 1px 1.5px 1.5px rgba(62, 62, 62, 0.3)
+}
+
+.button {
+ color: #4CAF50;
+ border-bottom: 1px solid transparent;
+ margin: 0;
+ min-width: 0;
+ padding: 0;
+ line-height: 16px;
+ height: 16px;
+ transition-property: border-bottom-color;
+ transition-delay: 50ms;
+ transition-duration: 125ms;
+ transition-timing-function: ease;
+ -moz-transition-property: border-bottom-color;
+ -moz-transition-delay: 50ms;
+ -moz-transition-duration: 125ms;
+ -moz-transition-timing-function: ease;
+ -webkit-transition-property: border-bottom-color;
+ -webkit-transition-delay: 50ms;
+ -webkit-transition-duration: 125ms;
+ -webkit-transition-timing-function: ease
+}
+
+.button:hover {
+ border-bottom-color: #4CAF50
+}
+
+.pag_prev {
+ float: left
+}
+
+.button:last-child {
+ float: none
+}
+
+.footer {
+ text-align: center;
+ height: 60px;
+ background-color: #2D2D2D;
+ line-height: 60px;
+ width: 100%;
+ color: #fff
+}
+
+.footer a {
+ color: #fff;
+ text-decoration: none;
+ border-bottom: 1px solid transparent
+}
+
+.footer a:hover {
+ border-bottom-color: #fff
+}
+
+.hljs {
+ background: none
+}
+
+@media screen and (min-width: 1440px) {
+ .title {
+ margin-left: calc(20% - 40px)
+ }
+
+ .nav {
+ padding-top: 55px
+ }
+}
+
+@media screen and (max-width: 800px) {
+ body {
+ margin-top: 80px
+ }
+
+ .title {
+ margin-left: 20%
+ }
+
+ .card {
+ margin: 0 5% 100px
+ }
+}
+
+/*# sourceMappingURL=nextDESIGN.css.map */
diff --git a/themes/nextDESIGN.css.map b/themes/nextDESIGN.css.map
new file mode 100644
index 0000000..2a0deda
--- /dev/null
+++ b/themes/nextDESIGN.css.map
@@ -0,0 +1,12 @@
+{
+ "version": 3,
+ "file": "nextDESIGN.css",
+ "sources": [
+ "nextDESIGN.sass"
+ ],
+ "sourcesContent": [
+ "/*\n *The MIT License\n *\n *Copyright 2015 mmk2410.\n *\n *Permission is hereby granted, free of charge, to any person obtaining a copy\n *of this software and associated documentation files (the \"Software\"), to deal\n *in the Software without restriction, including without limitation the rights\n *to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n *copies of the Software, and to permit persons to whom the Software is\n *furnished to do so, subject to the following conditions:\n *\n *The above copyright notice and this permission notice shall be included in\n *all copies or substantial portions of the Software.\n *\n *THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n *IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n *FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n *AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n *LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n *OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n *THE SOFTWARE. */\n/*\n * Created on : Jun 18, 2015, 6:39:37 PM\n * Author : mmk2410 */\n\n$font: \"Fira Sans\", sans-serif;\n\n$background: #f0f0f0;\n$text-color: #383838;\n$primary-color: #4CAF50;\n$header-shadow: rgba(62, 62, 62, 0.45);\n$white: #FFFFFF;\n$fadeout-color: rgba(30, 87, 153, 0);\n$border: #e0e0e0;\n$active-color: #e2e2e2;\n$fab-shadow: rgba(62, 62, 62, 0.3);\n$footer-background: #2D2D2D;\n\nbody {\n font-family: $font;\n background: $background;\n color: $text-color;\n margin: 130px 0 0; }\n\n::selection, ::-moz-selection {\n color: $background;\n background-color: $primary-color; }\n\n.header {\n height: 55px;\n background-color: $primary-color;\n position: fixed;\n box-shadow: 2px 0 2px 2px $header-shadow; }\n\n.title {\n line-height: 55px;\n color: $white;\n position: absolute;\n left: 0;\n margin-left: calc(20% + 24px);\n > a {\n color: $white;\n text-decoration: none; } }\n\n.fadeout {\n height: 55px;\n background: -moz-linear-gradient(left, $fadeout-color 0%, $primary-color 100%);\n background: -webkit-linear-gradient(left, $fadeout-color 0%, $primary-color 100%);\n background: -o-linear-gradient(left, $fadeout-color 0%, $primary-color 100%);\n background: -ms-linear-gradient(left, $fadeout-color 0%, $primary-color 100%);\n background: linear-gradient(to right, $fadeout-color 0%, $primary-color 100%); }\n\n.nav-img {\n padding: 14px 19px; }\n\n.nav {\n background-color: $white;\n border-right: 1px solid $border; }\n\n.nav-item, .nav-item-static {\n color: $text-color; }\n\n.nav-item {\n font-weight: 600;\n &:hover {\n color: $primary-color; }\n &:active {\n background-color: $active-color; } }\n\n.divider {\n border-bottom: 1px solid $border; }\n\n.card {\n background: none;\n border-radius: 0;\n box-shadow: none;\n margin: 0 20% 100px;\n width: auto;\n a {\n color: $primary-color;\n text-decoration: none;\n border-bottom: 1px solid transparent;\n transition: border-bottom-color 150ms ease-in-out 100ms;\n &:hover {\n border-bottom-color: #4CAF50; } } }\n\n.headline {\n font-size: 30px;\n line-height: 50px;\n color: #383838 !important;\n text-decoration: none;\n border-bottom: none !important;\n &:hover {\n color: #4CAF50 !important; } }\n\n.date {\n font-size: 13px; }\n\n.articletext {\n margin-top: 30px;\n font-size: 16px;\n line-height: 30px; }\n\n.author, .tag {\n font-size: 13px; }\n\n.fab {\n background-color: $primary-color;\n box-shadow: 0 1px 1.5px 1.5px $fab-shadow; }\n\n.subfab {\n background-color: $white;\n box-shadow: 0 1px 1.5px 1.5px $fab-shadow; }\n\n.button {\n color: $primary-color;\n border-bottom: 1px solid transparent;\n margin: 0;\n min-width: 0;\n padding: 0;\n line-height: 16px;\n height: 16px;\n transition-property: border-bottom-color;\n transition-delay: 50ms;\n transition-duration: 125ms;\n transition-timing-function: ease;\n -moz-transition-property: border-bottom-color;\n -moz-transition-delay: 50ms;\n -moz-transition-duration: 125ms;\n -moz-transition-timing-function: ease;\n -webkit-transition-property: border-bottom-color;\n -webkit-transition-delay: 50ms;\n -webkit-transition-duration: 125ms;\n -webkit-transition-timing-function: ease;\n &:hover {\n border-bottom-color: $primary-color; } }\n\n.pag_prev {\n float: left; }\n\n.button:last-child {\n float: none; }\n\n.footer {\n text-align: center;\n height: 60px;\n background-color: $footer-background;\n line-height: 60px;\n width: 100%;\n color: $white;\n a {\n color: $white;\n text-decoration: none;\n border-bottom: 1px solid transparent;\n &:hover {\n border-bottom-color: $white; } } }\n\n.hljs {\n background: none; }\n\n@media screen and (min-width: 1440px) {\n .title {\n margin-left: calc(20% - 40px); }\n .nav {\n padding-top: 55px; } }\n\n@media screen and (max-width: 800px) {\n body {\n margin-top: 80px; }\n .title {\n margin-left: 20%; }\n .card {\n margin: 0 5% 100px; } }\n"
+ ],
+ "mappings": "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",
+ "names": []
+}
\ No newline at end of file
diff --git a/update-scripts/1-4-2_1-4-3.sh b/update-scripts/1-4-2_1-4-3.sh
new file mode 100755
index 0000000..47542d5
--- /dev/null
+++ b/update-scripts/1-4-2_1-4-3.sh
@@ -0,0 +1,78 @@
+#!/bin/bash
+# Update script for Rangitaki from version 1.4.2 to 1.4.3
+# Also works from 1.4.0 to 1.4.3
+
+version="1.4.3"
+new="./rbe-new"
+
+echo -n "Downloading version $version from GitLab... "
+git clone -q https://gitlab.com/mmk2410/rangitaki.git "$new"
+
+if [[ $1 == "--debug" ]]; then
+ cd $new
+ git checkout -q master
+ cd ../
+fi
+echo "done"
+
+echo -n "Updating ressources... "
+rm -rf ./res/
+mv $new/res/ ./
+echo "done"
+
+echo -n "Updating source files... "
+rm ./src/coffee/app.coffee
+mv $new/src/coffee/app.coffee ./src/coffee/
+mv $new/src/sass-themes/nextDESIGN.sass ./src/sass-themes/
+echo "done"
+
+echo -n "Updating RCC... "
+rm -rf ./rcc
+mv $new/rcc ./
+rm ./rcc/password.php
+echo "done"
+
+echo -n "Updating core... "
+rm ./index.php
+mv $new/index.php ./
+echo "done"
+
+echo -n "Updating binaries... "
+rm -rf ./bin
+mv $new/bin/ ./
+echo "done"
+
+echo -n "Updating themes... "
+rm ./themes/material-light.css*
+rm ./themes/material-dark.css*
+rm ./themes/background-img.css*
+mv $new/themes/* ./themes/
+echo "done"
+
+echo -n "Updating npm... "
+mv $new/package.json ./
+echo "done"
+
+echo -n "Updating Changelog... "
+
+if [ -f ./CHANGELOG.txt ]; then
+ rm CHANGELOG.txt
+fi
+
+mv $new/CHANGELOG.md ./
+echo "done"
+
+echo -n "Cleaning up... "
+if [[ $1 != "--debug" ]]; then
+ echo -n "Cleaning up... "
+ rm -rf $new
+ echo "done"
+fi
+
+if [ -d "./update-scripts" ]; then
+ echo -n "Remove obsolete update scripts folder... "
+ rm -rf "./update-scripts"
+ echo "done"
+fi
+
+echo "Your Rangitaki installation is updated to version $version"
diff --git a/update-scripts/1-4-3_1-4-4.sh b/update-scripts/1-4-3_1-4-4.sh
new file mode 100755
index 0000000..1573ae3
--- /dev/null
+++ b/update-scripts/1-4-3_1-4-4.sh
@@ -0,0 +1,51 @@
+#!/bin/bash
+# Update script for Rangitaki from version 1.4.3 to 1.4.4
+
+version="1.4.4"
+new="./rbe-new"
+
+echo -n "Downloading version $version from GitLab... "
+git clone -q https://gitlab.com/mmk2410/rangitaki.git "$new"
+
+if [[ $1 == "--debug" ]]; then
+ cd $new
+ git checkout -q master
+ cd ../
+fi
+echo "done"
+
+echo -n "Updating RCC... "
+mv ./rcc/password.php ./password.php
+rm -rf ./rcc/
+mv $new/rcc ./
+rm ./rcc/password.php
+mv ./password.php ./rcc/password.php
+echo "done"
+
+echo -n "Updating npm... "
+mv $new/package.json ./
+echo "done"
+
+echo -n "Updating Changelog... "
+
+if [ -f ./CHANGELOG.txt ]; then
+ rm CHANGELOG.txt
+fi
+
+mv $new/CHANGELOG.md ./
+echo "done"
+
+echo -n "Cleaning up... "
+if [[ $1 != "--debug" ]]; then
+ echo -n "Cleaning up... "
+ rm -rf $new
+ echo "done"
+fi
+
+if [ -d "./update-scripts" ]; then
+ echo -n "Remove obsolete update scripts folder... "
+ rm -rf "./update-scripts"
+ echo "done"
+fi
+
+echo "Your Rangitaki installation is updated to version $version"