diff --git a/app/DoctrineMigrations/Version20200414120227.php b/app/DoctrineMigrations/Version20200414120227.php
new file mode 100644
index 000000000..a24ce45ee
--- /dev/null
+++ b/app/DoctrineMigrations/Version20200414120227.php
@@ -0,0 +1,23 @@
+addSql('UPDATE ' . $this->getTable('config', true) . " SET theme = 'material';");
+ }
+
+ public function down(Schema $schema): void
+ {
+ throw new SkipMigrationException('Not possible ... ');
+ }
+}
diff --git a/app/Resources/static/themes/baggy/css/article.scss b/app/Resources/static/themes/baggy/css/article.scss
deleted file mode 100644
index 9d0a0568b..000000000
--- a/app/Resources/static/themes/baggy/css/article.scss
+++ /dev/null
@@ -1,164 +0,0 @@
-#article {
- width: 70%;
- margin-bottom: 3em;
- text-align: justify;
-
- .tags {
- margin-bottom: 1em;
- }
-
- i {
- font-style: normal;
- }
-
- h1 {
- text-align: left;
- }
-
- h2::after {
- content: none;
- }
-
- h2,
- h3,
- h4 {
- text-transform: none;
- }
-}
-
-blockquote {
- border: 1px solid #999;
- background-color: #fff;
- padding: 1em;
- margin: 0;
-}
-
-.topPosF {
- position: fixed;
- right: 20%;
- bottom: 2em;
- font-size: 1.5em;
-}
-
-#article_toolbar {
- margin-bottom: 1em;
-
- li {
- display: inline-block;
- margin: 3px auto;
- }
-
- a {
- background-color: #000;
- padding: 0.3em 0.5em 0.2em;
- color: #fff;
- text-decoration: none;
-
- &:hover,
- &:focus {
- background-color: #999;
- }
- }
-}
-
-#nav-btn-add-tag {
- cursor: pointer;
-}
-
-.shaarli::before {
- content: "*";
-}
-
-.return {
- text-decoration: none;
- margin-top: 1em;
- display: block;
-}
-
-.return::before {
- margin-right: 0.5em;
-}
-
-.notags {
- font-style: italic;
- color: #999;
-}
-
-.icon-feed {
- background-color: #000;
- color: #fff;
- padding: 0.2em 0.5em;
-
- &::before {
- position: relative;
- top: 2px;
- }
-}
-
-.list-tags {
- li {
- margin-bottom: 0.5em;
- }
-
- .icon-feed:hover,
- .icon-feed:focus {
- background-color: #fff;
- color: #000;
- text-decoration: none;
- }
-
- a {
- text-decoration: none;
-
- &:hover,
- &:focus {
- text-decoration: underline;
- }
- }
-}
-
-pre code {
- font-family: "Courier New", Courier, monospace;
-}
-
-#filters {
- position: fixed;
- width: 20%;
- height: 100%;
- top: 0;
- right: 0;
- background-color: #fff;
- padding: 30px 30px 15px 15px;
- border-left: 1px #333 solid;
- z-index: 12;
- min-width: 300px;
-
- form .filter-group {
- margin: 5px;
- }
-}
-
-#download-form {
- position: fixed;
- width: 10%;
- height: 100%;
- top: 0;
- right: 0;
- background-color: #fff;
- padding: 30px 30px 15px 15px;
- border-left: 1px #333 solid;
- z-index: 12;
- min-width: 200px;
-
- li {
- display: block;
- padding: 0.5em 2em 0.5em 1em;
- color: #fff;
- position: relative;
- text-transform: uppercase;
- text-decoration: none;
- font-weight: 400;
- font-family: "PT Sans", sans-serif;
- transition: all 0.5s ease;
- }
-}
diff --git a/app/Resources/static/themes/baggy/css/guide.scss b/app/Resources/static/themes/baggy/css/guide.scss
deleted file mode 100644
index 6f050e231..000000000
--- a/app/Resources/static/themes/baggy/css/guide.scss
+++ /dev/null
@@ -1,258 +0,0 @@
-::selection {
- color: #fff;
- background-color: #000;
-}
-
-.desktopHide {
- display: none;
-}
-
-.logo {
- position: fixed;
- z-index: 20;
- top: 0.4em;
- left: 0.6em;
-}
-
-h2,
-h3,
-h4 {
- font-family: "PT Sans", sans-serif;
- text-transform: uppercase;
-}
-
-p,
-li,
-label {
- color: #666;
-}
-
-a {
- color: #000;
- font-weight: bold;
-
- &.nostyle {
- text-decoration: none;
- }
-
- &:hover,
- &:focus {
- text-decoration: none;
- }
-}
-
-form fieldset {
- border: 0;
- padding: 0;
- margin: 0;
-}
-
-form input[type="text"],
-form input[type="number"],
-select,
-form input[type="password"],
-form input[type="url"],
-form input[type="email"] {
- border: 1px solid #999;
- padding: 0.5em 1em;
- min-width: 12em;
- color: #666;
-}
-
-@media screen {
- select {
- appearance: none;
- border-radius: 0;
- background: #fff url("../../_global/img/bg-select.png") no-repeat right center;
- }
-}
-
-.inline {
- .row {
- display: inline-block;
- margin-right: 0.5em;
- }
-
- label {
- min-width: 6em;
- }
-}
-
-fieldset label {
- display: inline-block;
- min-width: 12.5em;
- color: #666;
-}
-
-label {
- margin-right: 0.5em;
-}
-
-form .row {
- margin-bottom: 0.5em;
-}
-
-form button,
-input[type="submit"] {
- cursor: pointer;
- background-color: #000;
- color: #fff;
- padding: 0.5em 1em;
- display: inline-block;
- border: 1px solid #000;
-}
-
-form button:hover,
-form button:focus,
-input[type="submit"]:hover,
-input[type="submit"]:focus {
- background-color: #fff;
- color: #000;
- transition: all 0.5s ease;
-}
-
-#bookmarklet {
- cursor: move;
-}
-
-h2::after {
- content: "";
- height: 4px;
- width: 20%;
- background-color: #000;
- display: block;
-}
-
-.links {
- padding: 0;
- margin: 0;
-
- li {
- list-style: none;
- margin: 0;
- padding: 0;
- }
-}
-
-#links {
- position: fixed;
- top: 0;
- width: 10em;
- left: 0;
- text-align: right;
- background-color: #333;
- padding-top: 9.5em;
- height: 100%;
- box-shadow: inset -4px 0 20px rgb(0 0 0 / 60%);
- z-index: 15;
-
- > li > a {
- display: block;
- padding: 0.5em 2em 0.5em 1em;
- color: #fff;
- position: relative;
- text-transform: uppercase;
- text-decoration: none;
- font-weight: normal;
- font-family: "PT Sans", sans-serif;
- transition: all 0.5s ease;
-
- &:hover,
- &:focus {
- background-color: #999;
- color: #000;
- }
- }
-
- .current::after {
- content: "";
- width: 0;
- height: 0;
- position: absolute;
- border: 10px solid transparent;
- border-right-color: #eee;
- right: 0;
- top: 50%;
- margin-top: -10px;
- }
-
- li:last-child {
- position: fixed;
- bottom: 1em;
- width: 10em;
-
- a::before {
- font-size: 1.2em;
- position: relative;
- top: 2px;
- }
- }
-}
-
-#main {
- margin-left: 12em;
- position: relative;
- z-index: 10;
- padding-right: 5%;
- padding-bottom: 1em;
-}
-
-#sort {
- padding: 0;
- list-style-type: none;
- opacity: 0.5;
- display: inline-block;
-
- li {
- display: inline;
- font-size: 0.9em;
-
- & + li {
- margin-left: 10px;
- }
- }
-
- a {
- padding: 2px 2px 0;
- vertical-align: middle;
- }
-
- img {
- vertical-align: baseline;
-
- :hover {
- cursor: pointer;
- }
- }
-}
-
-#display-mode {
- float: right;
- margin-top: 10px;
- margin-bottom: 10px;
- opacity: 0.5;
-}
-
-#listmode {
- width: 16px;
- display: inline-block;
- text-decoration: none;
-
- &.tablemode {
- background: url("../../_global/img/table.png") no-repeat bottom;
- }
-
- .listmode {
- background: url("../../_global/img/list.png") no-repeat bottom;
- }
-}
-
-#warning_message {
- position: fixed;
- background-color: #ff6347;
- z-index: 1000;
- bottom: 0;
- left: 0;
- width: 100%;
- color: #000;
-}
diff --git a/app/Resources/static/themes/baggy/css/index.scss b/app/Resources/static/themes/baggy/css/index.scss
deleted file mode 100644
index 2dc6638e6..000000000
--- a/app/Resources/static/themes/baggy/css/index.scss
+++ /dev/null
@@ -1,13 +0,0 @@
-/* Style */
-@import "guide";
-@import "layout";
-@import "article";
-@import "pictos";
-@import "login";
-@import "save";
-@import "messages";
-
-/* Tools */
-@import "media_queries";
-@import "print";
-@import "ratatouille";
diff --git a/app/Resources/static/themes/baggy/css/layout.scss b/app/Resources/static/themes/baggy/css/layout.scss
deleted file mode 100644
index 493924ca8..000000000
--- a/app/Resources/static/themes/baggy/css/layout.scss
+++ /dev/null
@@ -1,309 +0,0 @@
-#content {
- margin-top: 2em;
- min-height: 30em;
-}
-
-footer {
- text-align: right;
- position: relative;
- bottom: 0;
- right: 5em;
- color: #999;
- font-size: 0.8em;
- font-style: italic;
- z-index: 20;
-
- a {
- color: #999;
- font-weight: normal;
- }
-}
-
-.list-entries {
- letter-spacing: -5px;
-}
-
-.listmode.entry {
- width: 100%;
- height: inherit;
-}
-
-.card-entry-tags {
- max-height: 2em;
- overflow-y: hidden;
- padding: 0;
- margin: 0;
-}
-
-.card-entry-tags li,
-.card-entry-tags span {
- display: inline-block;
- margin: 0 5px;
- padding: 5px 12px;
- background-color: rgb(0 0 0 / 60%);
- border-radius: 3px;
- max-height: 2em;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-
-.card-entry-tags a,
-.card-entry-labels a {
- text-decoration: none;
- font-weight: normal;
- color: #fff;
-}
-
-.nav-panel-add-tag {
- margin-top: 10px;
-}
-
-.list-entries + .results {
- margin-bottom: 2em;
-}
-
-.reading-time,
-.created-at {
- color: #999;
- font-style: italic;
- font-weight: normal;
- font-size: 0.9em;
-}
-
-.estimatedTime small {
- position: relative;
- top: -1px;
-}
-
-.entry {
- background-color: #fff;
- letter-spacing: normal;
- box-shadow: 0 3px 7px rgb(0 0 0 / 30%);
- display: inline-block;
- width: 32%;
- margin-bottom: 1.5em;
- vertical-align: top;
- margin-right: 1%;
- position: relative;
- overflow: hidden;
- padding: 1.5em 0 3em;
- height: 440px;
-
- img.preview {
- width: 100%;
- object-fit: cover;
- height: 100%;
- }
-
- &::before {
- content: "";
- width: 0;
- height: 0;
- border: 10px solid transparent;
- border-bottom-color: #000;
- position: absolute;
- bottom: 0.7em;
- z-index: 10;
- right: 1.5em;
- transition: all 0.5s ease;
- }
-
- &::after {
- content: "";
- position: absolute;
- height: 7px;
- width: 100%;
- bottom: 0;
- left: 0;
- background-color: #000;
- transition: all 0.5s ease;
- }
-
- &:hover {
- box-shadow: 0 3px 10px rgb(0 0 0 / 100%);
-
- &::after {
- height: 40px;
- }
-
- &::before {
- bottom: 2.3em;
- }
-
- h2 a {
- color: #666;
- }
-
- .tools {
- bottom: 0;
- }
- }
-
- h2 {
- text-transform: none;
- margin-bottom: 0;
- line-height: 1.2;
- margin-left: 5px;
- }
-
- &::after {
- content: none;
- }
-
- a {
- display: block;
- text-decoration: none;
- color: #000;
- word-wrap: break-word;
- transition: all 0.5s ease;
- }
-
- p {
- color: #666;
- font-size: 0.9em;
- line-height: 1.7;
- margin: 5px 5px auto;
- }
-
- h2 a::first-letter {
- text-transform: uppercase;
- }
-
- .tools {
- position: absolute;
- bottom: -40px;
- left: 0;
- background: #000;
- width: 100%;
- z-index: 10;
- padding-right: 0.5em;
- text-align: right;
- transition: all 0.5s ease;
-
- a {
- color: #666;
- text-decoration: none;
- display: block;
- padding: 0.4em;
-
- &:hover {
- color: #fff;
- }
- }
-
- li {
- display: inline-block;
- margin-top: 10px;
- }
-
- li:first-child {
- float: left;
- font-size: 0.9em;
- max-width: calc(100% - 40px * 4);
- text-overflow: ellipsis;
- overflow: hidden;
- white-space: nowrap;
- max-height: 2em;
- margin-left: 10px;
- }
- }
-
- .card-entry-labels {
- position: absolute;
- top: 100px;
- left: -1em;
- z-index: 90;
- max-width: 50%;
- padding-left: 0;
-
- li {
- margin: 10px 10px 10px auto;
- padding: 5px 12px 5px 25px;
- background-color: rgb(0 0 0 / 60%);
- border-radius: 0 3px 3px 0;
- color: #fff;
- cursor: default;
- max-height: 2em;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-
- a {
- color: #fff;
- }
- }
- }
-}
-
-.entry:nth-child(3n+1) {
- margin-left: 0;
-}
-
-.results {
- letter-spacing: -5px;
- padding: 0 0 0.5em;
-
- > * {
- display: inline-block;
- vertical-align: top;
- letter-spacing: normal;
- width: 50%;
- text-align: right;
- }
-}
-
-div.pagination ul {
- text-align: right;
-}
-
-.nb-results {
- text-align: left;
- font-style: italic;
- color: #999;
- display: inline-flex;
-}
-
-div.pagination ul {
- a {
- color: #999;
- text-decoration: none;
-
- &:hover,
- &:focus {
- text-decoration: underline;
- }
- }
-
- > * {
- display: inline-block;
- margin-left: 0.5em;
- }
-
- .prev.disabled,
- .next.disabled {
- display: none;
- }
-
- .current {
- height: 25px;
- padding: 4px 8px;
- border: 1px solid #d5d5d5;
- text-decoration: none;
- font-weight: bold;
- color: #000;
- background-color: #ccc;
- }
-}
-
-.card-tag-form {
- display: inline-block;
-}
-
-.card-tag-form input[type="text"] {
- min-width: 20em;
-}
-
-.hide,
-.hidden {
- display: none;
-}
diff --git a/app/Resources/static/themes/baggy/css/login.scss b/app/Resources/static/themes/baggy/css/login.scss
deleted file mode 100644
index 3e0ea73dc..000000000
--- a/app/Resources/static/themes/baggy/css/login.scss
+++ /dev/null
@@ -1,26 +0,0 @@
-.login {
- background-color: #333;
-
- #main {
- padding: 0;
- margin: 0;
- }
-
- form {
- background-color: #fff;
- padding: 1.5em;
- box-shadow: 0 1px 8px rgb(0 0 0 / 90%);
- width: 20em;
- position: absolute;
- top: 8em;
- left: 50%;
- margin-left: -10em;
- }
-
- .logo {
- position: absolute;
- top: 2em;
- left: 50%;
- margin-left: -55px;
- }
-}
diff --git a/app/Resources/static/themes/baggy/css/main.css b/app/Resources/static/themes/baggy/css/main.css
index a087f183d..e69de29bb 100755
--- a/app/Resources/static/themes/baggy/css/main.css
+++ b/app/Resources/static/themes/baggy/css/main.css
@@ -1,1315 +0,0 @@
-/* ==========================================================================
- Sommaire
-
- 1 = Style Guide
- 2 = Layout
- 3 = Pictos
- 4 = Messages
- 5 = Article
- 6 = Media queries
-
- ========================================================================== */
-
-html {
- min-height: 100%;
-}
-
-body {
- background-color: #eee;
-}
-
-.login {
- background-color: #333;
-}
-
-.login #main {
- padding: 0;
- margin: 0;
-}
-
-.login form {
- background-color: #fff;
- padding: 1.5em;
- box-shadow: 0 1px 8px rgb(0 0 0 / 90%);
- width: 20em;
- position: absolute;
- top: 8em;
- left: 50%;
- margin-left: -10em;
-}
-
-.login .logo {
- position: absolute;
- top: 2em;
- left: 50%;
- margin-left: -55px;
-}
-
-/* ==========================================================================
- 1 = Style Guide
- ========================================================================== */
-
-::selection {
- color: #fff;
- background-color: #000;
-}
-
-.desktopHide {
- display: none;
-}
-
-.logo {
- position: fixed;
- z-index: 20;
- top: 0.4em;
- left: 0.6em;
-}
-
-h2,
-h3,
-h4 {
- font-family: "PT Sans", sans-serif;
- text-transform: uppercase;
-}
-
-p,
-li,
-label {
- color: #666;
-}
-
-a {
- color: #000;
- font-weight: bold;
-}
-
-a.nostyle {
- text-decoration: none;
-}
-
-a:hover,
-a:focus {
- text-decoration: none;
-}
-
-form fieldset {
- border: 0;
- padding: 0;
- margin: 0;
-}
-
-form input[type="text"],
-form input[type="number"],
-select,
-form input[type="password"],
-form input[type="url"],
-form input[type="email"] {
- border: 1px solid #999;
- padding: 0.5em 1em;
- min-width: 12em;
- color: #666;
-}
-
-@media screen and (min-device-pixel-ratio: 0) {
- select {
- appearance: none;
- border-radius: 0;
- background: #fff url("../../_global/img/bg-select.png") no-repeat right center;
- }
-}
-
-.inline .row {
- display: inline-block;
- margin-right: 0.5em;
-}
-
-.inline label {
- min-width: 6em;
-}
-
-fieldset label {
- display: inline-block;
- min-width: 12.5em;
- color: #666;
-}
-
-label {
- margin-right: 0.5em;
-}
-
-form .row {
- margin-bottom: 0.5em;
-}
-
-form button,
-input[type="submit"] {
- cursor: pointer;
- background-color: #000;
- color: #fff;
- padding: 0.5em 1em;
- display: inline-block;
- border: 1px solid #000;
-}
-
-form button:hover,
-form button:focus,
-input[type="submit"]:hover,
-input[type="submit"]:focus {
- background-color: #fff;
- color: #000;
- transition: all 0.5s ease;
-}
-
-#bookmarklet {
- cursor: move;
-}
-
-h2::after {
- content: "";
- height: 4px;
- width: 70px;
- background-color: #000;
- display: block;
-}
-
-.links {
- padding: 0;
- margin: 0;
-}
-
-.links li {
- list-style: none;
- margin: 0;
- padding: 0;
-}
-
-#links {
- position: fixed;
- top: 0;
- width: 10em;
- left: 0;
- text-align: right;
- background-color: #333;
- padding-top: 9.5em;
- height: 100%;
- box-shadow: inset -4px 0 20px rgb(0 0 0 / 60%);
- z-index: 15;
-}
-
-#main {
- margin-left: 12em;
- position: relative;
- z-index: 10;
- padding-right: 5%;
- padding-bottom: 1em;
-}
-
-#links > li > a {
- display: block;
- padding: 0.5em 2em 0.5em 1em;
- color: #fff;
- position: relative;
- text-transform: uppercase;
- text-decoration: none;
- font-weight: normal;
- font-family: "PT Sans", sans-serif;
- transition: all 0.5s ease;
-}
-
-#links > li > a:hover,
-#links > li > a:focus {
- background-color: #999;
- color: #000;
-}
-
-#links .current::after {
- content: "";
- width: 0;
- height: 0;
- position: absolute;
- border-style: solid;
- border-width: 10px;
- border-color: transparent #eee transparent transparent;
- right: 0;
- top: 50%;
- margin-top: -10px;
-}
-
-#links li:last-child {
- position: fixed;
- bottom: 1em;
- width: 10em;
-}
-
-#links li:last-child a::before {
- font-size: 1.2em;
- position: relative;
- top: 2px;
-}
-
-#sort {
- padding: 0;
- list-style-type: none;
- opacity: 0.5;
- display: inline-block;
-}
-
-#sort li {
- display: inline;
- font-size: 0.9em;
-}
-
-#sort li + li {
- margin-left: 10px;
-}
-
-#sort a {
- padding: 2px 2px 0;
- vertical-align: middle;
-}
-
-#sort img {
- vertical-align: baseline;
-}
-
-#sort img:hover {
- cursor: pointer;
-}
-
-#display-mode {
- float: right;
- margin-top: 10px;
- margin-bottom: 10px;
- opacity: 0.5;
-}
-
-#listmode {
- width: 16px;
- display: inline-block;
- text-decoration: none;
-}
-
-#listmode.tablemode {
- background-image: url("../../_global/img/table.png");
- background-repeat: no-repeat;
- background-position: bottom;
-}
-
-#listmode.listmode {
- background-image: url("../../_global/img/list.png");
- background-repeat: no-repeat;
- background-position: bottom;
-}
-
-#warning_message {
- position: fixed;
- background-color: #ff6347;
- z-index: 1000;
- bottom: 0;
- left: 0;
- width: 100%;
- color: #000;
-}
-
-/* ==========================================================================
- 2 = Layout
- ========================================================================== */
-
-#content {
- margin-top: 2em;
- min-height: 30em;
-}
-
-footer {
- text-align: right;
- position: relative;
- bottom: 0;
- right: 5em;
- color: #999;
- font-size: 0.8em;
- font-style: italic;
- z-index: 20;
-}
-
-footer a {
- color: #999;
- font-weight: normal;
-}
-
-.list-entries {
- letter-spacing: -5px;
-}
-
-.listmode.entry {
- width: 100%;
- height: inherit;
-}
-
-.card-entry-labels {
- position: absolute;
- top: 100px;
- left: -1em;
- z-index: 90;
- max-width: 50%;
- padding-left: 0;
-}
-
-.card-entry-labels li {
- margin: 10px 10px 10px auto;
- padding: 5px 12px 5px 25px;
- background-color: rgb(0 0 0 / 60%);
- border-radius: 0 3px 3px 0;
- color: #fff;
- cursor: default;
- max-height: 2em;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-.card-entry-tags {
- max-height: 2em;
- overflow-y: hidden;
- padding: 0;
- margin: 0;
-}
-
-.card-entry-tags li,
-.card-entry-tags span {
- display: inline-block;
- margin: 0 5px;
- padding: 5px 12px;
- background-color: rgb(0 0 0 / 60%);
- border-radius: 3px;
- max-height: 2em;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-
-.card-entry-tags a,
-.card-entry-labels a {
- text-decoration: none;
- font-weight: normal;
- color: #fff;
-}
-
-.nav-panel-add-tag {
- margin-top: 10px;
-}
-
-.list-entries + .results {
- margin-bottom: 2em;
-}
-
-.reading-time,
-.created-at {
- color: #999;
- font-style: italic;
- font-weight: normal;
- font-size: 0.9em;
-}
-
-.estimatedTime small {
- position: relative;
- top: -1px;
-}
-
-.entry {
- background-color: #fff;
- letter-spacing: normal;
- box-shadow: 0 3px 7px rgb(0 0 0 / 30%);
- display: inline-block;
- width: 32%;
- margin-bottom: 1.5em;
- vertical-align: top;
- margin-right: 1%;
- position: relative;
- overflow: hidden;
- padding: 1.5em 1.5em 3em;
- height: 440px;
-}
-
-.entry::before {
- content: "";
- width: 0;
- height: 0;
- border-style: solid;
- border-color: transparent transparent #000;
- border-width: 10px;
- position: absolute;
- bottom: 0.3em;
- z-index: 10;
- right: 1.5em;
- transition: all 0.5s ease;
-}
-
-.entry::after {
- content: "";
- position: absolute;
- height: 7px;
- width: 100%;
- bottom: 0;
- left: 0;
- background-color: #000;
- transition: all 0.5s ease;
-}
-
-.entry:hover {
- box-shadow: 0 3px 10px rgb(0 0 0 / 100%);
-}
-
-.entry:hover::after {
- height: 40px;
-}
-
-.entry:hover::before {
- bottom: 2.4em;
-}
-
-.entry:hover h2 a {
- color: #666;
-}
-
-.entry h2 {
- text-transform: none;
- margin-bottom: 0;
- line-height: 1.2;
-}
-
-.entry h2::after {
- content: none;
-}
-
-.entry h2 a {
- display: block;
- text-decoration: none;
- color: #000;
- word-wrap: break-word;
- transition: all 0.5s ease;
-}
-
-img.preview {
- max-width: calc(100% + 3em);
- left: -1.5em;
- position: relative;
-}
-
-.entry p {
- color: #666;
- font-size: 0.9em;
- line-height: 1.7;
- margin-top: 5px;
-}
-
-.entry h2 a::first-letter {
- text-transform: uppercase;
-}
-
-.entry:hover .tools {
- bottom: 0;
-}
-
-.entry .tools {
- position: absolute;
- bottom: -50px;
- left: 0;
- width: 100%;
- z-index: 10;
- padding-right: 0.5em;
- text-align: right;
- transition: all 0.5s ease;
-}
-
-.entry .tools a {
- color: #666;
- text-decoration: none;
- display: block;
- padding: 0.4em;
-}
-
-.entry .tools a:hover {
- color: #fff;
-}
-
-.entry .tools li {
- display: inline-block;
-}
-
-.entry:nth-child(3n+1) {
- margin-left: 0;
-}
-
-.results {
- letter-spacing: -5px;
- padding: 0 0 0.5em;
-}
-
-.results > * {
- display: inline-block;
- vertical-align: top;
- letter-spacing: normal;
- width: 50%;
- text-align: right;
-}
-
-div.pagination ul {
- text-align: right;
-}
-
-.nb-results {
- text-align: left;
- font-style: italic;
- color: #999;
- display: inline-flex;
-}
-
-div.pagination ul > * {
- display: inline-block;
- margin-left: 0.5em;
-}
-
-div.pagination ul a {
- color: #999;
- text-decoration: none;
-}
-
-div.pagination ul a:hover,
-div.pagination ul a:focus {
- text-decoration: underline;
-}
-
-div.pagination ul .prev.disabled,
-div.pagination ul .next.disabled {
- display: none;
-}
-
-div.pagination ul .current {
- height: 25px;
- padding: 4px 8px;
- border: 1px solid #d5d5d5;
- text-decoration: none;
- font-weight: bold;
- color: #000;
- background-color: #ccc;
-}
-
-.hide {
- display: none;
-}
-
-/* ==========================================================================
- 2.1 = "save a link" related styles
- ========================================================================== */
-
-.popup-form {
- background: rgb(0 0 0 / 50%);
- position: absolute;
- top: 0;
- left: 10em;
- z-index: 20;
- height: 100%;
- width: 100%;
- margin: 0;
- margin-top: -30% !important;
- padding: 2em;
- display: none;
- border-left: 1px #eee solid;
-}
-
-.popup-form form {
- background-color: #fff;
- position: absolute;
- top: 0;
- left: 0;
- z-index: 20;
- border: 10px solid #000;
- width: 400px;
- height: 200px;
- padding: 2em;
-}
-
-#bagit-form-form .addurl {
- margin-left: 0;
-}
-
-.closeMessage,
-.close-button {
- background-color: #000;
- color: #fff;
- font-size: 1.2em;
- line-height: 1.6;
- width: 1.6em;
- height: 1.6em;
- text-align: center;
- text-decoration: none;
-}
-
-.closeMessage:hover,
-.closeMessage:focus,
-.close-button:hover,
-.close-button:focus {
- background-color: #999;
- color: #000;
-}
-
-.close-button--popup {
- display: inline-block;
- position: absolute;
- top: 0;
- right: 0;
- font-size: 1.4em;
-}
-
-.active-current {
- background-color: #999;
-}
-
-.active-current::after {
- content: "";
- width: 0;
- height: 0;
- position: absolute;
- border-style: solid;
- border-width: 10px;
- border-color: transparent #eee transparent transparent;
- right: 0;
- top: 50%;
- margin-top: -10px;
-}
-
-.opacity03 {
- opacity: 0.3;
-}
-
-.add-to-wallabag-link-after {
- background-color: #000;
- color: #fff;
- padding: 0 3px 2px;
-}
-
-a.add-to-wallabag-link-after {
- visibility: hidden;
- position: absolute;
- opacity: 0;
- transition-duration: 2s;
- transition-timing-function: ease-out;
-}
-
-#article article a:hover + a.add-to-wallabag-link-after,
-a.add-to-wallabag-link-after:hover {
- opacity: 1;
- visibility: visible;
- transition-duration: 0.3s;
- transition-timing-function: ease-in;
-}
-
-a.add-to-wallabag-link-after::after {
- content: "w";
-}
-
-#add-link-result {
- font-weight: bold;
- font-size: 0.9em;
-}
-
-.btn-clickable {
- cursor: pointer;
-}
-
-/* ==========================================================================
- 3 = Pictos
- ========================================================================== */
-
-@font-face {
- font-family: icomoon;
- src: url("../fonts/IcoMoon-Free.ttf");
- font-weight: normal;
- font-style: normal;
-}
-
-@font-face {
- font-family: "Material Icons";
- font-style: normal;
- font-weight: 400;
- src: url(../fonts/MaterialIcons-Regular.eot);
-
- /* For IE6-8 */
- src: local("Material Icons"), local("MaterialIcons-Regular"), url(../fonts/MaterialIcons-Regular.woff2) format("woff2"), url(../fonts/MaterialIcons-Regular.woff) format("woff"), url(../fonts/MaterialIcons-Regular.ttf) format("truetype");
-}
-
-.material-icons {
- font-family: "Material Icons";
- font-weight: normal;
- font-style: normal;
- font-size: 1em; /* Preferred icon size */
- width: 1em;
- height: 1em;
- display: inline-block;
- line-height: 1;
- text-transform: none;
- letter-spacing: normal;
- word-wrap: normal;
- white-space: nowrap;
- direction: ltr;
-
- /* Support for all WebKit browsers. */
- -webkit-font-smoothing: antialiased;
-
- /* Support for Safari and Chrome. */
- text-rendering: optimizeLegibility;
-
- /* Support for Firefox. */
- -moz-osx-font-smoothing: grayscale;
-
- /* Support for IE. */
- font-feature-settings: "liga";
-}
-
-.material-icons.md-18 { font-size: 18px; }
-.material-icons.md-24 { font-size: 24px; }
-.material-icons.md-36 { font-size: 36px; }
-.material-icons.md-48 { font-size: 48px; }
-
-.icon span,
-.icon-image span {
- position: absolute;
- top: -9999px;
-}
-
-[class^="icon-"]::before,
-[class*=" icon-"]::before {
- font-family: icomoon;
- speak: none;
- font-style: normal;
- font-weight: normal;
- font-variant: normal;
- text-transform: none;
- line-height: 1;
-
- /* Enable Ligatures ================ */
- letter-spacing: 0;
- font-feature-settings: "liga";
-
- /* Better Font Rendering =========== */
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-
-.icon-flattr::before {
- content: "\ead4";
-}
-
-.icon-mail::before {
- content: "\ea86";
-}
-
-.icon-up-open::before {
- content: "\e80b";
-}
-
-.icon-star::before {
- content: "\e9d9";
-}
-
-.icon-check::before {
- content: "\ea10";
-}
-
-.icon-link::before {
- content: "\e9cb";
-}
-
-.icon-reply::before {
- content: "\e806";
-}
-
-.icon-menu::before {
- content: "\e9bd";
-}
-
-.icon-clock::before {
- content: "\e803";
-}
-
-.icon-twitter::before {
- content: "\ea96";
-}
-
-.icon-down-open::before {
- content: "\e809";
-}
-
-.icon-trash::before {
- content: "\e9ac";
-}
-
-.icon-delete::before {
- content: "\ea0d";
-}
-
-.icon-power::before {
- content: "\ea14";
-}
-
-.icon-arrow-up-thick::before {
- content: "\ea3a";
-}
-
-.icon-rss::before {
- content: "\e808";
-}
-
-.icon-print::before {
- content: "\e954";
-}
-
-.icon-reload::before {
- content: "\ea2e";
-}
-
-.icon-price-tags::before {
- content: "\e936";
-}
-
-.icon-eye::before {
- content: "\e9ce";
-}
-
-.icon-no-eye::before {
- content: "\e9d1";
-}
-
-.icon-calendar::before {
- content: "\e953";
-}
-
-.icon-pencil2::before {
- content: "\e906";
-}
-
-.icon-users::before {
- content: "\e972";
-}
-
-.icon-time::before {
- content: "\e952";
-}
-
-/* .icon-image class, for image-based icons
- ========================================================================== */
-
-.icon-image {
- background-size: 16px 16px;
- background-repeat: no-repeat;
- background-position: center;
- padding-right: 1em !important;
- padding-left: 1em !important;
-}
-
-/* Diaspora */
-.icon-image--diaspora {
- background-image: url("../../_global/img/icons/diaspora-icon--black.png");
-}
-
-/* Unmark.it */
-.icon-image--unmark {
- background-image: url("../../_global/img/icons/unmark-icon--black.png");
-}
-
-/* shaarli */
-.icon-image--shaarli {
- background-image: url("../../_global/img/icons/shaarli.png");
-}
-
-/* scuttle */
-.icon-image--scuttle {
- background-image: url("../../_global/img/icons/scuttle.png");
-}
-
-/* ==========================================================================
- Icon selected
- ========================================================================== */
-
-.icon-star.fav::before {
- color: #fff;
-}
-
-.icon-check.archive::before {
- color: #fff;
-}
-
-/* ==========================================================================
- 4 = Messages
- ========================================================================== */
-
-.messages {
- text-align: left;
- margin-top: 1em;
-}
-
-.messages > * {
- display: inline-block;
-}
-
-.warning {
- font-weight: bold;
- display: block;
- width: 100%;
-}
-
-.more-info {
- font-size: 0.85em;
- line-height: 1.5;
- color: #aaa;
-}
-
-.more-info a {
- color: #aaa;
-}
-
-/* ==========================================================================
- 5 = Article
- ========================================================================== */
-
-#article {
- width: 70%;
- margin-bottom: 3em;
- text-align: justify;
-}
-
-#article .tags {
- margin-bottom: 1em;
-}
-
-#article i {
- font-style: normal;
-}
-
-blockquote {
- border: 1px solid #999;
- background-color: #fff;
- padding: 1em;
- margin: 0;
-}
-
-#article h2,
-#article h3,
-#article h4 {
- text-transform: none;
-}
-
-#article h2::after {
- content: none;
-}
-
-.topPosF {
- position: fixed;
- right: 20%;
- bottom: 2em;
- font-size: 1.5em;
-}
-
-#article_toolbar {
- margin-bottom: 1em;
-}
-
-#article_toolbar li {
- display: inline-block;
- margin: 3px auto;
-}
-
-#article_toolbar a {
- background-color: #000;
- padding: 0.3em 0.5em 0.2em;
- color: #fff;
- text-decoration: none;
-}
-
-#article_toolbar a:hover,
-#article_toolbar a:focus {
- background-color: #999;
-}
-
-#nav-btn-add-tag {
- cursor: pointer;
-}
-
-.shaarli::before {
- content: "*";
-}
-
-.scuttle::before {
- content: "*";
-}
-
-.return {
- text-decoration: none;
- margin-top: 1em;
- display: block;
-}
-
-.return::before {
- margin-right: 0.5em;
-}
-
-.notags {
- font-style: italic;
- color: #999;
-}
-
-.icon-rss {
- background-color: #000;
- color: #fff;
- padding: 0.2em 0.5em;
-}
-
-.icon-rss::before {
- position: relative;
- top: 2px;
-}
-
-.list-tags li {
- margin-bottom: 0.5em;
-}
-
-.list-tags .icon-rss:hover,
-.list-tags .icon-rss:focus {
- background-color: #fff;
- color: #000;
- text-decoration: none;
-}
-
-.list-tags a {
- text-decoration: none;
-}
-
-.list-tags a:hover,
-.list-tags a:focus {
- text-decoration: underline;
-}
-
-pre code {
- font-family: "Courier New", Courier, monospace;
-}
-
-#filters {
- position: fixed;
- width: 20%;
- height: 100%;
- top: 0;
- right: 0;
- background-color: #fff;
- padding: 15px;
- padding-right: 30px;
- padding-top: 30px;
- border-left: 1px #333 solid;
- z-index: 12;
- min-width: 300px;
-}
-
-#filters form .filter-group {
- margin: 5px;
-}
-
-#download-form {
- position: fixed;
- width: 10%;
- height: 100%;
- top: 0;
- right: 0;
- background-color: #fff;
- padding: 15px;
- padding-right: 30px;
- padding-top: 30px;
- border-left: 1px #333 solid;
- z-index: 12;
- min-width: 200px;
-}
-
-#download-form li {
- display: block;
- padding: 0.5em 2em 0.5em 1em;
- color: #fff;
- position: relative;
- text-transform: uppercase;
- text-decoration: none;
- font-weight: 400;
- font-family: PT Sans, sans-serif;
- transition: all 0.5s ease;
-}
-
-/* ==========================================================================
- 6 = Media Queries
- ========================================================================== */
-
-@media screen and (max-width: 1050px) {
- .entry {
- width: 49%;
- }
-
- .entry:nth-child(3n+1) {
- margin-left: 1.5%;
- }
-
- .entry:nth-child(2n+1) {
- margin-left: 0;
- }
-}
-
-@media screen and (max-width: 900px) {
- #article {
- width: 80%;
- }
-
- .topPosF {
- right: 2.5em;
- }
-}
-
-@media screen and (max-width: 700px) {
- .entry {
- width: 100%;
- margin-left: 0;
- }
-
- #display-mode {
- display: none;
- }
-}
-
-@media screen and (max-height: 770px) {
- .menu.users,
- .menu.internal,
- .menu.developer {
- display: none;
- }
-}
-
-@media screen and (max-width: 500px) {
- .entry {
- width: 100%;
- margin-left: 0;
- }
-
- body > header {
- background-color: #333;
- position: fixed;
- top: 0;
- width: 100%;
- height: 3em;
- z-index: 11;
- }
-
- #links li:last-child {
- position: static;
- width: auto;
- }
-
- #links li:last-child a::before {
- content: none;
- }
-
- .logo {
- width: 1.25em;
- height: 1.25em;
- left: 0;
- top: 0;
- }
-
- .login > header {
- position: static;
- }
-
- .login form {
- width: 100%;
- position: static;
- margin-left: 0;
- }
-
- .login .logo {
- height: auto;
- top: 0.5em;
- width: 75px;
- margin-left: -37.5px;
- }
-
- .desktopHide {
- display: block;
- position: fixed;
- z-index: 20;
- top: 0;
- right: 0;
- border: 0;
- width: 2.5em;
- height: 2.5em;
- cursor: pointer;
- background-color: #999;
- font-size: 1.2em;
- }
-
- .desktopHide:hover,
- .desktopHide:focus {
- background-color: #fff;
- }
-
- #links {
- display: none;
- width: 100%;
- height: auto;
- padding-top: 3em;
- }
-
- #links.menu--open {
- display: block;
- }
-
- footer {
- position: static;
- margin-right: 3em;
- }
-
- #main {
- margin-left: 1.5em;
- padding-right: 1.5em;
- position: static;
- margin-top: 3em;
- }
-
- .card-entry-labels {
- display: none;
- }
-
- #article_toolbar .topPosF {
- display: none;
- }
-
- #article {
- width: 100%;
- }
-
- #article h1 {
- font-size: 1.5em;
- }
-
- #article_toolbar a {
- padding: 0.3em 0.4em 0.2em;
- }
-
- #display-mode {
- display: none;
- }
-
- .popup-form,
- #bagit-form,
- #search-form {
- left: 0;
- width: 100%;
- border-left: none;
- }
-
- .popup-form form,
- #bagit-form form,
- #search-form form {
- width: 100%;
- }
-}
diff --git a/app/Resources/static/themes/baggy/css/media_queries.scss b/app/Resources/static/themes/baggy/css/media_queries.scss
deleted file mode 100755
index d8014ca65..000000000
--- a/app/Resources/static/themes/baggy/css/media_queries.scss
+++ /dev/null
@@ -1,177 +0,0 @@
-@media screen and (max-width: 1050px) {
- .entry {
- width: 49%;
- }
-
- .entry:nth-child(3n+1) {
- margin-left: 1.5%;
- }
-
- .entry:nth-child(2n+1) {
- margin-left: 0;
- }
-}
-
-@media screen and (max-width: 900px) {
- #article {
- width: 80%;
- }
-
- .topPosF {
- right: 2.5em;
- }
-}
-
-@media screen and (max-width: 700px) {
- .entry {
- width: 100%;
- margin-left: 0;
- }
-
- #display-mode {
- display: none;
- }
-}
-
-@media screen and (max-height: 770px) {
- .menu.users,
- .menu.internal,
- .menu.developer {
- display: none;
- }
-}
-
-@media screen and (max-width: 500px) {
- .entry {
- width: 100%;
- margin-left: 0;
- }
-
- body > header {
- background-color: #333;
- position: fixed;
- top: 0;
- width: 100%;
- height: 3em;
- z-index: 11;
- }
-
- #links li:last-child {
- position: static;
- width: auto;
- }
-
- #links li:last-child a::before {
- content: none;
- }
-
- .logo {
- width: 1.25em;
- height: 1.25em;
- left: 0;
- top: 0;
- }
-
- .login > header {
- position: static;
- }
-
- .login form {
- width: 100%;
- position: static;
- margin-left: 0;
- }
-
- .login .logo {
- height: auto;
- top: 0.5em;
- width: 75px;
- margin-left: -37.5px;
- }
-
- .desktopHide {
- display: block;
- position: fixed;
- z-index: 20;
- top: 0;
- right: 0;
- border: 0;
- width: 2.5em;
- height: 2.5em;
- cursor: pointer;
- background-color: #999;
- font-size: 1.2em;
- }
-
- .desktopHide:hover,
- .desktopHide:focus {
- background-color: #fff;
- }
-
- #links {
- display: none;
- width: 100%;
- height: auto;
- padding-top: 3em;
- }
-
- #links.menu--open {
- display: block;
- }
-
- footer {
- position: static;
- margin-right: 3em;
- }
-
- #main {
- margin-left: 1.5em;
- padding-right: 1.5em;
- position: static;
- margin-top: 3em;
- }
-
- .card-entry-labels {
- display: none;
- }
-
- #article_toolbar .topPosF {
- display: none;
- }
-
- #article {
- width: 100%;
- }
-
- #article h1 {
- font-size: 1.5em;
- }
-
- #article_toolbar a {
- padding: 0.3em 0.4em 0.2em;
- }
-
- #display-mode {
- display: none;
- }
-
- .popup-form,
- #bagit-form,
- #search-form {
- left: 0;
- width: 100%;
- border-left: none;
- }
-
- .popup-form form,
- #bagit-form form,
- #search-form form {
- width: 100%;
- }
-}
-
-@media only print {
- header h1.logo {
- display: none;
- }
-}
diff --git a/app/Resources/static/themes/baggy/css/messages.scss b/app/Resources/static/themes/baggy/css/messages.scss
deleted file mode 100755
index a388419eb..000000000
--- a/app/Resources/static/themes/baggy/css/messages.scss
+++ /dev/null
@@ -1,50 +0,0 @@
-/* ==========================================================================
- Messages
- ========================================================================== */
-
-.messages {
- text-align: left;
- width: 60%;
- margin: auto 17%;
-
- > * {
- display: inline-block;
- }
-
- .install {
- text-align: left;
-
- &.error {
- border: 1px solid #c42608;
- color: #c00 !important;
- background: #fff0ef;
- }
-
- &.notice {
- border: 1px solid #ebcd41;
- color: #000;
- background: #fffcd3;
- }
-
- &.success {
- border: 1px solid #6dc70c;
- background: #e0fbcc !important;
- }
- }
-}
-
-.warning {
- font-weight: bold;
- display: block;
- width: 100%;
-}
-
-.more-info {
- font-size: 0.85em;
- line-height: 1.5;
- color: #aaa;
-
- a {
- color: #aaa;
- }
-}
diff --git a/app/Resources/static/themes/baggy/css/pictos.scss b/app/Resources/static/themes/baggy/css/pictos.scss
index f185fc262..e69de29bb 100644
--- a/app/Resources/static/themes/baggy/css/pictos.scss
+++ b/app/Resources/static/themes/baggy/css/pictos.scss
@@ -1,200 +0,0 @@
-/* ==========================================================================
- Pictos
- ========================================================================== */
-
-@font-face {
- font-family: icomoon;
- src: url("~icomoon-free-npm/Font/IcoMoon-Free.ttf");
- font-weight: normal;
- font-style: normal;
-}
-
-.material-icons {
- font-family: "Material Icons";
- font-weight: normal;
- font-style: normal;
- font-size: 1em; /* Preferred icon size */
- width: 1em;
- height: 1em;
- display: inline-block;
- line-height: 1;
- text-transform: none;
- letter-spacing: normal;
- word-wrap: normal;
- white-space: nowrap;
- direction: ltr;
-
- /* Support for all WebKit browsers. */
- -webkit-font-smoothing: antialiased;
-
- /* Support for Safari and Chrome. */
- text-rendering: optimizeLegibility;
-
- /* Support for Firefox. */
- -moz-osx-font-smoothing: grayscale;
-
- /* Support for IE. */
- font-feature-settings: "liga";
-
- .md-18 { font-size: 18px; }
- .md-24 { font-size: 24px; }
- .md-36 { font-size: 36px; }
- .md-48 { font-size: 48px; }
-
- .vertical-align-middle {
- vertical-align: middle !important;
- }
-}
-
-.icon span,
-.icon-image span {
- position: absolute;
- top: -9999px;
-}
-
-[class^="icon-"]::before,
-[class*=" icon-"]::before {
- font-family: icomoon;
- speak: none;
- font-style: normal;
- font-weight: normal;
- font-variant: normal;
- text-transform: none;
- line-height: 1;
-
- /* Enable Ligatures ================ */
- letter-spacing: 0;
- font-feature-settings: "liga";
-
- /* Better Font Rendering =========== */
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-
-.icon-flattr::before {
- content: "\ead4";
-}
-
-.icon-mail::before {
- content: "\ea86";
-}
-
-.icon-up-open::before {
- content: "\e80b";
-}
-
-.icon-star::before {
- content: "\e9d9";
-}
-
-.icon-check::before {
- content: "\ea10";
-}
-
-.icon-link::before {
- content: "\e9cb";
-}
-
-.icon-reply::before {
- content: "\e806";
-}
-
-.icon-menu::before {
- content: "\e9bd";
-}
-
-.icon-clock::before {
- content: "\e803";
-}
-
-.icon-twitter::before {
- content: "\ea96";
-}
-
-.icon-down-open::before {
- content: "\e809";
-}
-
-.icon-trash::before {
- content: "\e9ac";
-}
-
-.icon-delete::before {
- content: "\ea0d";
-}
-
-.icon-power::before {
- content: "\ea14";
-}
-
-.icon-arrow-up-thick::before {
- content: "\ea3a";
-}
-
-.icon-feed::before {
- content: "\e808";
-}
-
-.icon-print::before {
- content: "\e954";
-}
-
-.icon-reload::before {
- content: "\ea2e";
-}
-
-.icon-price-tags::before {
- content: "\e936";
-}
-
-.icon-eye::before {
- content: "\e9ce";
-}
-
-.icon-no-eye::before {
- content: "\e9d1";
-}
-
-.icon-calendar::before {
- content: "\e953";
-}
-
-.icon-time::before {
- content: "\e952";
-}
-
-/* .icon-image class, for image-based icons
- ========================================================================== */
-
-.icon-image {
- background: no-repeat center/80%;
- padding-right: 1em !important;
- padding-left: 1em !important;
-}
-
-/* Diaspora */
-.icon-image--diaspora {
- background-image: url("../../_global/img/icons/Diaspora-asterisk.svg");
-}
-
-/* Unmark.it */
-.icon-image--unmark {
- background-image: url("../../_global/img/icons/unmark-icon--black.png");
-}
-
-/* shaarli */
-.icon-image--shaarli {
- background-image: url("../../_global/img/icons/shaarli.png");
-}
-
-/* ==========================================================================
- Icon selected
- ========================================================================== */
-
-.icon-star.fav::before {
- color: #fff;
-}
-
-.icon-check.archive::before {
- color: #fff;
-}
diff --git a/app/Resources/static/themes/baggy/css/print.scss b/app/Resources/static/themes/baggy/css/print.scss
deleted file mode 100755
index 6f1c442e6..000000000
--- a/app/Resources/static/themes/baggy/css/print.scss
+++ /dev/null
@@ -1,63 +0,0 @@
-@media print {
- /* ### Layout ### */
-
- body {
- font-family: serif;
- background-color: #fff;
- }
-
- @page {
- margin: 1cm;
- }
-
- img {
- max-width: 100% !important;
- }
-
- /* ### Content ### */
-
- /* Hide useless blocks */
- body > .logo,
- #article_toolbar,
- #links,
- #sort,
- body > footer,
- .top_link,
- div.tools,
- header div,
- .messages,
- .entrie + .results,
- #article .mbm a,
- #article-informations {
- display: none !important;
- }
-
- article {
- border: none !important;
- }
-
- /* Add URL after links */
- .vieworiginal a::after {
- content: " (" attr(href) ")";
- }
-
- /* Add explanation after abbr */
- abbr[title]::after {
- content: " (" attr(title) ")";
- }
-
- /* Change border on current pager item */
- .pagination span.current {
- border-style: dashed;
- }
-
- #main {
- width: 100%;
- margin: 0;
- padding: 0;
- }
-
- #article {
- width: 100%;
- }
-}
diff --git a/app/Resources/static/themes/baggy/css/ratatouille.scss b/app/Resources/static/themes/baggy/css/ratatouille.scss
deleted file mode 100644
index c54667706..000000000
--- a/app/Resources/static/themes/baggy/css/ratatouille.scss
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- Ratatouille mini Framework css by Thomas LEBEAU
- Base on KNACSS => www.KNACSS.com (2013-10) @author: Raphael Goetter, Alsacreations
- and normalize.css
-*/
-
-* {
- box-sizing: border-box;
-}
-
-html {
- font-family: sans-serif; /* 1 */
- text-size-adjust: 100%; /* 2 */
-}
-
-body {
- font-size: 1em;
- line-height: 1.5;
- margin: 0;
-}
-
-/* ==========================================================================
- Mise en forme
- ========================================================================== */
-
-h1:first-child,
-h2:first-child,
-h3:first-child,
-h4:first-child,
-h5:first-child,
-h6:first-child,
-p:first-child,
-ul:first-child,
-ol:first-child,
-dl:first-child {
- margin-top: 0;
-}
-
-code,
-kbd,
-pre,
-samp {
- font-family: monospace, serif;
-}
-
-pre {
- white-space: pre-wrap;
-}
-
-.upper {
- text-transform: uppercase;
-}
-
-.bold {
- font-weight: bold;
-}
-
-.inner {
- margin: 0 auto;
- max-width: 61.25em; /* 980px */
-}
-
-table,
-img,
-figure {
- max-width: 100%;
- height: auto;
-}
-
-iframe {
- max-width: 100%;
-}
-
-.fl {
- float: left;
-}
-
-.fr {
- float: right;
-}
-
-table {
- border-collapse: collapse;
-}
-
-figure {
- margin: 0;
-}
-
-button,
-input,
-select,
-textarea {
- font-family: inherit;
- font-size: 100%;
- margin: 0;
-}
-
-input[type="search"] {
- appearance: textfield;
-}
-
-/* ==========================================================================
- Mise en page
- ========================================================================== */
-
-.dib {
- display: inline-block;
- vertical-align: middle;
-}
-
-.dnone {
- display: none;
-}
-
-.dtable {
- display: table;
-}
-
-.dtable > * {
- display: table-row;
-}
-
-.dtable > * > * {
- display: table-cell;
-}
-
-.element-invisible {
- border: 0;
- clip: rect(0 0 0 0);
- height: 1px;
- margin: -1px;
- overflow: hidden;
- padding: 0;
- position: absolute;
- width: 1px;
-}
-
-.small {
- font-size: 0.8em;
-}
-
-.big {
- font-size: 1.2em;
-}
-
-/* Width */
-
-.w100 {
- width: 100%;
-}
-
-.w90 {
- width: 90%;
-}
-
-.w80 {
- width: 80%;
-}
-
-.w70 {
- width: 70%;
-}
-
-.w60 {
- width: 60%;
-}
-
-.w50 {
- width: 50%;
-}
-
-.w40 {
- width: 40%;
-}
-
-.w30 {
- width: 30%;
-}
-
-.w20 {
- width: 20%;
-}
-
-.w10 {
- width: 10%;
-}
-
-/* ==========================================================================
- Internet Explorer
- ========================================================================== */
-
-/* IE8 and IE9 */
-
-article,
-aside,
-details,
-figcaption,
-figure,
-footer,
-header,
-hgroup,
-main,
-nav,
-section,
-summary {
- display: block;
-}
-
-/* IE8 and IE9 */
-
-audio,
-canvas,
-video {
- display: inline-block;
-}
-
-@media screen {
- select {
- appearance: none;
- border-radius: 0;
- }
-}
diff --git a/app/Resources/static/themes/baggy/css/save.scss b/app/Resources/static/themes/baggy/css/save.scss
deleted file mode 100644
index 4a7b0b4b6..000000000
--- a/app/Resources/static/themes/baggy/css/save.scss
+++ /dev/null
@@ -1,115 +0,0 @@
-/* ==========================================================================
- "save a link" related styles
- ========================================================================== */
-
-.popup-form {
- background: rgb(0 0 0 / 50%);
- position: absolute;
- top: 0;
- left: 10em;
- z-index: 20;
- height: 100%;
- width: 100%;
- margin: 0;
- margin-top: -30% !important;
- padding: 2em;
- display: none;
- border-left: 1px #eee solid;
-
- form {
- background-color: #fff;
- position: absolute;
- top: 0;
- left: 0;
- z-index: 20;
- border: 10px solid #000;
- width: 400px;
- height: 200px;
- padding: 2em;
- }
-}
-
-#bagit-form-form .addurl {
- margin-left: 0;
-}
-
-.closeMessage,
-.close-button {
- background-color: #000;
- color: #fff;
- font-size: 1.2em;
- line-height: 1.6;
- width: 1.6em;
- height: 1.6em;
- text-align: center;
- text-decoration: none;
-
- &:hover,
- &:focus {
- background-color: #999;
- color: #000;
- }
-}
-
-.close-button--popup {
- display: inline-block;
- position: absolute;
- top: 0;
- right: 0;
- font-size: 1.4em;
-}
-
-.active-current {
- background-color: #999;
-
- &::after {
- content: "";
- width: 0;
- height: 0;
- position: absolute;
- border: 10px solid transparent;
- border-right-color: #eee;
- right: 0;
- top: 50%;
- margin-top: -10px;
- }
-}
-
-.opacity03 {
- opacity: 0.3;
-}
-
-.add-to-wallabag-link-after {
- background-color: #000;
- color: #fff;
- padding: 0 3px 2px;
-}
-
-a.add-to-wallabag-link-after {
- visibility: hidden;
- position: absolute;
- opacity: 0;
- transition-duration: 2s;
- transition-timing-function: ease-out;
-}
-
-#article article a:hover + a.add-to-wallabag-link-after,
-a.add-to-wallabag-link-after:hover {
- opacity: 1;
- visibility: visible;
- transition-duration: 0.3s;
- transition-timing-function: ease-in;
-}
-
-a.add-to-wallabag-link-after::after {
- content: "w";
-}
-
-#add-link-result {
- font-weight: bold;
- font-size: 0.9em;
-}
-
-.btn-clickable {
- cursor: pointer;
-}
diff --git a/app/Resources/static/themes/baggy/img/blank.png b/app/Resources/static/themes/baggy/img/blank.png
deleted file mode 100755
index 113f5d56e..000000000
Binary files a/app/Resources/static/themes/baggy/img/blank.png and /dev/null differ
diff --git a/app/Resources/static/themes/baggy/img/down.png b/app/Resources/static/themes/baggy/img/down.png
deleted file mode 100644
index d048e4cbc..000000000
Binary files a/app/Resources/static/themes/baggy/img/down.png and /dev/null differ
diff --git a/app/Resources/static/themes/baggy/img/list.png b/app/Resources/static/themes/baggy/img/list.png
deleted file mode 100755
index 3ee98c212..000000000
Binary files a/app/Resources/static/themes/baggy/img/list.png and /dev/null differ
diff --git a/app/Resources/static/themes/baggy/img/table.png b/app/Resources/static/themes/baggy/img/table.png
deleted file mode 100755
index 24e7b6fa2..000000000
Binary files a/app/Resources/static/themes/baggy/img/table.png and /dev/null differ
diff --git a/app/Resources/static/themes/baggy/img/top.png b/app/Resources/static/themes/baggy/img/top.png
deleted file mode 100644
index 782acc095..000000000
Binary files a/app/Resources/static/themes/baggy/img/top.png and /dev/null differ
diff --git a/app/Resources/static/themes/baggy/index.js b/app/Resources/static/themes/baggy/index.js
deleted file mode 100755
index 39ad49aa6..000000000
--- a/app/Resources/static/themes/baggy/index.js
+++ /dev/null
@@ -1,266 +0,0 @@
-import $ from 'jquery';
-
-/* Global imports */
-import '../_global/index';
-
-/* Shortcuts */
-import './js/shortcuts/main';
-import './js/shortcuts/entry';
-
-/* Tools */
-import toggleSaveLinkForm from './js/uiTools';
-
-/* Theme style */
-import './css/index.scss';
-
-$(document).ready(() => {
- /* ==========================================================================
- Menu
- ========================================================================== */
-
- $('#menu').click(() => {
- $('#links').toggleClass('menu--open');
- const content = $('#content');
- if (content.hasClass('opacity03')) {
- content.removeClass('opacity03');
- }
- });
-
- /* ==========================================================================
- Add tag panel
- ========================================================================== */
-
- $('#nav-btn-add-tag').on('click', () => {
- $('.baggy-add-tag').toggle(100);
- $('.nav-panel-menu').addClass('hidden');
- $('#tag_label').focus();
- return false;
- });
-
- /**
- * Filters & Export
- */
- // no display if filters not available
- if ($('div').is('#filters')) {
- $('#button_filters').show();
- $('#clear_form_filters').on('click', () => {
- $('#filters input').val('');
- $('#filters :checked').removeAttr('checked');
- return false;
- });
- }
-
- /**
- * Close window after adding entry if popup
- */
- const currentUrl = window.location.href;
- if (currentUrl.match('&closewin=true')) {
- window.close();
- }
-
- /**
- if ($('article').size() > 0) {
- const waypoint = new Waypoint({
- element: $('.wallabag-title').get(0),
- handler: (direction) => {
- console.log(direction);
- if (direction === 'down') {
- $('aside.tags').fadeIn('slow');
- } else {
- $('aside.tags').fadeOut('slow');
- }
- },
- offset: 250,
- });
- }
- */
-
- /**
- * Tags autocomplete
- */
- /**
- * Not working on v2
- *
-
- $('#value').bind('keydown', (event) => {
- if (event.keyCode === $.ui.keyCode.TAB && $(this).data('ui-autocomplete').menu.active) {
- event.preventDefault();
- }
- }).autocomplete({
- source: function source(request, response) {
- $.getJSON('./?view=tags', {
- term: extractLast(request.term),
- //id: $(':hidden#entry_id').val()
- }, response);
- },
- search: function search() {
- // custom minLength
- const term = extractLast(this.value);
- return term.length >= 1;
- },
- focus: function focus() {
- // prevent value inserted on focus
- return false;
- },
- select: function select(event, ui) {
- const terms = split(this.value);
- // remove the current input
- terms.pop();
- // add the selected item
- terms.push(ui.item.value);
- // add placeholder to get the comma-and-space at the end
- terms.push('');
- this.value = terms.join(', ');
- return false;
- },
- });
- */
-
- //---------------------------------------------------------------------------
- // Close the message box when the user clicks the close icon
- //---------------------------------------------------------------------------
- $('a.closeMessage').on('click', () => {
- $(this).parents('div.messages').slideUp(300, () => { $(this).remove(); });
- return false;
- });
-
- $('#search-form').hide();
- $('#bagit-form').hide();
- $('#filters').hide();
- $('#download-form').hide();
-
- //---------------------------------------------------------------------------
- // Toggle the 'Search' popup in the sidebar
- //---------------------------------------------------------------------------
- function toggleSearch() {
- $('#search-form').toggle();
- $('#search').toggleClass('current');
- $('#search').toggleClass('active-current');
- $('#search-arrow').toggleClass('arrow-down');
- if ($('#search').hasClass('current')) {
- $('#content').addClass('opacity03');
- } else {
- $('#content').removeClass('opacity03');
- }
- }
-
- //---------------------------------------------------------------------------
- // Toggle the 'Filter' popup on entries list
- //---------------------------------------------------------------------------
- function toggleFilter() {
- $('#filters').toggle();
- }
-
- //---------------------------------------------------------------------------
- // Toggle the 'Download' popup on entries list
- //---------------------------------------------------------------------------
- function toggleDownload() {
- $('#download-form').toggle();
- }
-
- //---------------------------------------------------------------------------
- // Toggle the 'Save a Link' popup in the sidebar
- //---------------------------------------------------------------------------
- function toggleBagit() {
- $('#bagit-form').toggle();
- $('#bagit').toggleClass('current');
- $('#bagit').toggleClass('active-current');
- $('#bagit-arrow').toggleClass('arrow-down');
- if ($('#bagit').hasClass('current')) {
- $('#content').addClass('opacity03');
- } else {
- $('#content').removeClass('opacity03');
- }
- }
-
- //---------------------------------------------------------------------------
- // Close all #links popups in the sidebar
- //---------------------------------------------------------------------------
- function closePopups() {
- $('#links .messages').hide();
- $('#links > li > a').removeClass('active-current');
- $('#links > li > a').removeClass('current');
- $('[id$=-arrow]').removeClass('arrow-down');
- $('#content').removeClass('opacity03');
- }
-
- $('#search').click(() => {
- closePopups();
- toggleSearch();
- $('#searchfield').focus();
- });
-
- $('.filter-btn').click(() => {
- closePopups();
- toggleFilter();
- });
-
- $('.download-btn').click(() => {
- closePopups();
- toggleDownload();
- });
-
- $('#bagit').click(() => {
- closePopups();
- toggleBagit();
- $('#plainurl').focus();
- });
-
- $('#search-form-close').click(() => {
- toggleSearch();
- });
-
- $('#filter-form-close').click(() => {
- toggleFilter();
- });
-
- $('#download-form-close').click(() => {
- toggleDownload();
- });
-
- $('#bagit-form-close').click(() => {
- toggleBagit();
- });
-
- const bagitFormForm = $('#bagit-form-form');
-
- /* ==========================================================================
- bag it link and close button
- ========================================================================== */
-
- // send 'bag it link' form request via ajax
- bagitFormForm.submit((event) => {
- $('body').css('cursor', 'wait');
- $('#add-link-result').empty();
-
- $.ajax({
- type: bagitFormForm.attr('method'),
- url: bagitFormForm.attr('action'),
- data: bagitFormForm.serialize(),
- success: function success() {
- $('#add-link-result').html('Done!');
- $('#plainurl').val('').blur('');
- $('body').css('cursor', 'auto');
- },
- error: function error() {
- $('#add-link-result').html('Failed!');
- $('body').css('cursor', 'auto');
- },
- });
-
- event.preventDefault();
- });
-
- /* ==========================================================================
- Process all links inside an article
- ========================================================================== */
-
- $('article a[href^="http"]').after(
- () => ``,
- );
-
- $('.add-to-wallabag-link-after').click((event) => {
- toggleSaveLinkForm($(this).attr('href'), event);
- event.preventDefault();
- });
-});
diff --git a/app/Resources/static/themes/baggy/js/autoCompleteTags.js b/app/Resources/static/themes/baggy/js/autoCompleteTags.js
deleted file mode 100755
index 64fdaa927..000000000
--- a/app/Resources/static/themes/baggy/js/autoCompleteTags.js
+++ /dev/null
@@ -1,8 +0,0 @@
-function split(val) {
- return val.split(/,\s*/);
-}
-function extractLast(term) {
- return split(term).pop();
-}
-
-export default { split, extractLast };
diff --git a/app/Resources/static/themes/baggy/js/shortcuts/entry.js b/app/Resources/static/themes/baggy/js/shortcuts/entry.js
deleted file mode 100644
index c87408b92..000000000
--- a/app/Resources/static/themes/baggy/js/shortcuts/entry.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import Mousetrap from 'mousetrap';
-import $ from 'jquery';
-
-$(document).ready(() => {
- if ($('#article').length > 0) {
- /* Article view */
- Mousetrap.bind('o', () => {
- $('div#article_toolbar ul.links a.original')[0].click();
- });
-
- /* mark as favorite */
- Mousetrap.bind('f', () => {
- $('div#article_toolbar ul.links a.favorite')[0].click();
- });
-
- /* mark as read */
- Mousetrap.bind('a', () => {
- $('div#article_toolbar ul.links a.markasread')[0].click();
- });
-
- /* delete */
- Mousetrap.bind('del', () => {
- $('div#article_toolbar ul.links a.delete')[0].click();
- });
- }
-});
diff --git a/app/Resources/static/themes/baggy/js/shortcuts/main.js b/app/Resources/static/themes/baggy/js/shortcuts/main.js
deleted file mode 100644
index 43ebf3be8..000000000
--- a/app/Resources/static/themes/baggy/js/shortcuts/main.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import $ from 'jquery';
-import Mousetrap from 'mousetrap';
-
-$(document).ready(() => {
- Mousetrap.bind('s', () => {
- $('#search').trigger('click');
- $('#search_entry_term').focus();
- return false;
- });
-});
diff --git a/app/Resources/static/themes/baggy/js/uiTools.js b/app/Resources/static/themes/baggy/js/uiTools.js
deleted file mode 100644
index 713c53f76..000000000
--- a/app/Resources/static/themes/baggy/js/uiTools.js
+++ /dev/null
@@ -1,35 +0,0 @@
-import $ from 'jquery';
-
-function toggleSaveLinkForm(url, event) {
- $('#add-link-result').empty();
-
- const $bagit = $('#bagit');
- const $bagitForm = $('#bagit-form');
-
- $bagit.toggleClass('active-current');
-
- // only if bag-it link is not presented on page
- if ($bagit.length === 0) {
- if (event !== 'undefined' && event) {
- $bagitForm.css({ position: 'absolute', top: event.pageY, left: event.pageX - 200 });
- } else {
- $bagitForm.css({ position: 'relative', top: 'auto', left: 'auto' });
- }
- }
-
- const searchForm = $('#search-form');
- const plainUrl = $('#plainurl');
- if (searchForm.length !== 0) {
- $('#search').removeClass('current');
- $('#search-arrow').removeClass('arrow-down');
- searchForm.hide();
- }
- $bagitForm.toggle();
- $('#content').toggleClass('opacity03');
- if (url !== 'undefined' && url) {
- plainUrl.val(url);
- }
- plainUrl.focus();
-}
-
-export default toggleSaveLinkForm;
diff --git a/app/config/config.yml b/app/config/config.yml
index 3cf6a565e..cced41f53 100644
--- a/app/config/config.yml
+++ b/app/config/config.yml
@@ -169,7 +169,6 @@ nelmio_cors:
liip_theme:
load_controllers: false
themes:
- - baggy
- material
autodetect_theme: Wallabag\CoreBundle\Helper\DetectActiveTheme
diff --git a/app/config/webpack/common.js b/app/config/webpack/common.js
index ebca21009..cc16bafc3 100644
--- a/app/config/webpack/common.js
+++ b/app/config/webpack/common.js
@@ -7,7 +7,6 @@ const rootDir = path.resolve(__dirname, '../../../');
module.exports = {
entry: {
material: path.join(rootDir, './app/Resources/static/themes/material/index.js'),
- baggy: path.join(rootDir, './app/Resources/static/themes/baggy/index.js'),
public: path.join(rootDir, './app/Resources/static/themes/_global/share.js'),
},
output: {
diff --git a/src/Wallabag/CoreBundle/Helper/DetectActiveTheme.php b/src/Wallabag/CoreBundle/Helper/DetectActiveTheme.php
index ec951be84..347c0d03b 100644
--- a/src/Wallabag/CoreBundle/Helper/DetectActiveTheme.php
+++ b/src/Wallabag/CoreBundle/Helper/DetectActiveTheme.php
@@ -16,15 +16,18 @@ class DetectActiveTheme implements DeviceDetectionInterface
{
protected $tokenStorage;
protected $defaultTheme;
+ protected $themes;
/**
* @param TokenStorageInterface $tokenStorage Needed to retrieve the current user
* @param string $defaultTheme Default theme when user isn't logged in
+ * @param array $themes Themes come from the LiipThemeBundle (liip_theme.themes)
*/
- public function __construct(TokenStorageInterface $tokenStorage, $defaultTheme)
+ public function __construct(TokenStorageInterface $tokenStorage, $defaultTheme, $themes)
{
$this->tokenStorage = $tokenStorage;
$this->defaultTheme = $defaultTheme;
+ $this->themes = $themes;
}
public function setUserAgent($userAgent)
@@ -60,6 +63,10 @@ class DetectActiveTheme implements DeviceDetectionInterface
return $this->defaultTheme;
}
+ if (!\in_array($config->getTheme(), $this->themes, true)) {
+ return $this->defaultTheme;
+ }
+
return $config->getTheme();
}
}
diff --git a/src/Wallabag/CoreBundle/Resources/config/services.yml b/src/Wallabag/CoreBundle/Resources/config/services.yml
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig
deleted file mode 100644
index d43a33b26..000000000
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig
+++ /dev/null
@@ -1,503 +0,0 @@
-{% extends "@WallabagCore/layout.html.twig" %}
-
-{% block title %}{{ 'config.page_title'|trans }}{% endblock %}
-
-{% block content %}
-
{{ 'config.tab_menu.settings'|trans }}
-
- {{ form_start(form.config) }}
- {{ form_errors(form.config) }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ form_rest(form.config) }}
-
-
- {{ 'config.tab_menu.feed'|trans }}
-
- {{ form_start(form.feed) }}
- {{ form_errors(form.feed) }}
-
-
- {{ 'config.form_feed.description'|trans }}
-
-
-
-
- {% if feed.token %}
-
- {% endif %}
-
-
-
- {{ form_rest(form.feed) }}
-
-
- {{ 'config.tab_menu.user_info'|trans }}
-
- {{ form_start(form.user) }}
- {{ form_errors(form.user) }}
-
-
-
-
-
-
- {{ form_widget(form.user.save) }}
-
- {% if twofactor_auth %}
- {{ 'config.otp.page_title'|trans }}
-
-
- {{ 'config.form_user.two_factor_description'|trans }}
-
-
-
-
-
- {{ 'config.form_user.two_factor.table_method'|trans }} |
- {{ 'config.form_user.two_factor.table_state'|trans }} |
- {{ 'config.form_user.two_factor.table_action'|trans }} |
-
-
-
-
-
- {{ 'config.form_user.two_factor.emailTwoFactor_label'|trans }} |
- {% if app.user.isEmailTwoFactor %}{{ 'config.form_user.two_factor.state_enabled'|trans }}{% else %}{{ 'config.form_user.two_factor.state_disabled'|trans }}{% endif %} |
- {{ 'config.form_user.two_factor.action_email'|trans }} {% if app.user.isEmailTwoFactor %}Disable{% endif %} |
-
-
- {{ 'config.form_user.two_factor.googleTwoFactor_label'|trans }} |
- {% if app.user.isGoogleTwoFactor %}{{ 'config.form_user.two_factor.state_enabled'|trans }}{% else %}{{ 'config.form_user.two_factor.state_disabled'|trans }}{% endif %} |
- {{ 'config.form_user.two_factor.action_app'|trans }} {% if app.user.isGoogleTwoFactor %}Disable{% endif %} |
-
-
-
-
- {% endif %}
-
- {{ form_widget(form.user._token) }}
-
-
- {% if enabled_users > 1 %}
- {{ 'config.form_user.delete.title'|trans }}
-
- {{ 'config.form_user.delete.description'|trans }}
-
- {{ 'config.form_user.delete.button'|trans }}
-
- {% endif %}
-
- {{ 'config.tab_menu.password'|trans }}
-
- {{ form_start(form.pwd) }}
- {{ form_errors(form.pwd) }}
-
-
- {{ 'config.form_password.description'|trans }}
-
-
-
-
-
-
-
-
- {{ form_rest(form.pwd) }}
-
-
- {{ 'config.tab_menu.rules'|trans }}
-
-
- {% for tagging_rule in app.user.config.taggingRules %}
- -
- {{ 'config.form_rules.if_label'|trans }}
- « {{ tagging_rule.rule }} »
- {{ 'config.form_rules.then_tag_as_label'|trans }}
- « {{ tagging_rule.tags|join(', ') }} »
- ✎
-
-
- {% endfor %}
-
-
- {{ form_start(form.new_tagging_rule) }}
- {{ form_errors(form.new_tagging_rule) }}
-
-
-
-
-
- {{ form_rest(form.new_tagging_rule) }}
-
-
-
-
{{ 'config.form_rules.card.import_tagging_rules'|trans }}
-
{{ 'config.form_rules.card.import_tagging_rules_detail'|trans }}
-
-
- {{ form_start(form.import_tagging_rule) }}
- {{ form_errors(form.import_tagging_rule) }}
-
-
-
- {{ form_rest(form.import_tagging_rule) }}
-
-
- {% if app.user.config.taggingRules is not empty %}
-
- {% endif %}
-
-
-
- {{ 'config.tab_menu.ignore_origin'|trans }}
-
-
- {% for ignore_origin_rule in app.user.config.ignoreOriginRules %}
- -
- {{ 'config.form_rules.if_label'|trans }}
- « {{ ignore_origin_rule.rule }} »
- ✎
-
-
- {% endfor %}
-
-
- {{ form_start(form.new_ignore_origin_user_rule) }}
- {{ form_errors(form.new_ignore_origin_user_rule) }}
-
-
-
- {{ form_rest(form.new_ignore_origin_user_rule) }}
-
-
-
-
- {{ 'config.reset.title'|trans }}
-
-{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig
deleted file mode 100644
index d34556717..000000000
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig
+++ /dev/null
@@ -1,55 +0,0 @@
-{% extends "@WallabagCore/layout.html.twig" %}
-
-{% block title %}{{ 'config.page_title'|trans }} > {{ 'config.otp.page_title'|trans }}{% endblock %}
-
-{% block content %}
- {{ 'config.otp.page_title'|trans }}
-
-
- -
-
{{ 'config.otp.app.two_factor_code_description_1'|trans }}
- {{ 'config.otp.app.two_factor_code_description_2'|trans }}
-
-
-
-
-
-
- -
-
{{ 'config.otp.app.two_factor_code_description_3'|trans }}
-
- {{ backupCodes|join("\n")|nl2br }}
-
- -
-
{{ 'config.otp.app.two_factor_code_description_4'|trans }}
-
- {% for flash_message in app.session.flashbag.get("two_factor") %}
-
- {{ flash_message|trans }}
-
- {% endfor %}
-
-
-
-
-{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/edit.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/edit.html.twig
deleted file mode 100644
index f7c8626e3..000000000
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/edit.html.twig
+++ /dev/null
@@ -1,7 +0,0 @@
-{% extends "@WallabagCore/layout.html.twig" %}
-
-{% block title %}{{ 'entry.edit.page_title'|trans }}{% endblock %}
-
-{% block content %}
- {{ form(form) }}
-{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig
deleted file mode 100644
index 021e2589f..000000000
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig
+++ /dev/null
@@ -1,219 +0,0 @@
-{% extends "@WallabagCore/layout.html.twig" %}
-
-{% block head %}
- {{ parent() }}
- {% if tag is defined and app.user.config.feedToken %}
-
- {% endif %}
-{% endblock %}
-
-{% block title %}
- {% set filter = '' %}
- {% if tag is defined %}
- {% set filter = tag %}
- {% endif %}
- {% if searchTerm is defined and searchTerm is not empty %}
- {% set filter = searchTerm %}
- {% endif %}
- {% include "@WallabagCore/themes/common/Entry/_title.html.twig" with {'filter': filter} %}
-{% endblock %}
-
-{% block content %}
- {% set current_route = app.request.attributes.get('_route') %}
- {% if current_route == 'homepage' %}
- {% set current_route = 'unread' %}
- {% endif %}
- {% set list_mode = app.user.config.listMode %}
-
-
{{ 'entry.list.number_on_the_page'|transchoice(entries.count) }}
-
-
-
- {% for entry in entries %}
-
-
-
- {% set reading_time = entry.readingTime / app.user.config.readingSpeed * 200 %}
-
-
- {% if reading_time > 0 %}
- {{ 'entry.list.reading_time_minutes'|trans({'%readingTime%': reading_time|round}) }}
- {% else %}
- {{ 'entry.list.reading_time_less_one_minute'|trans|raw }}
- {% endif %}
-
-
-
- {{ entry.createdAt|date('Y-m-d') }}
-
-
-
-
-
- {% if (entry.previewPicture is null or list_mode == 1) %}
-
-
{{ entry.content|striptags|slice(0, 300) }}…
- {% else %}
-
- {% for tag in entry.tags|slice(0, 3) %}
- - {{ tag.label }}
- {% endfor %}
-
-
- {% endif %}
-
- {% endfor %}
-
- {% if entries.getNbPages > 1 %}
- {{ pagerfanta(entries, 'twitter_bootstrap_translated', {'proximity': 1}) }}
- {% endif %}
-
-
-
-
-
- {% if form is not null %}
-
- {% endif %}
-{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig
index 9525a2cff..e69de29bb 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig
@@ -1,114 +0,0 @@
-{% extends "@WallabagCore/layout.html.twig" %}
-
-{% block title %}{{ entry.title|e|default('entry.default_title'|trans)|raw }} ({{ entry.domainName|removeWww }}){% endblock %}
-
-{% block content %}
-
-
- {{ entry.title|e|default('entry.default_title'|trans)|raw }} ✎
-
-
-
-
-
-
- {{ entry.createdAt|date('Y-m-d H:i') }}
-
-
- {% if entry.publishedAt is not null %}
-
- {{ entry.publishedAt|date('Y-m-d H:i') }}
-
- {% endif %}
-
- {% if entry.publishedBy is not empty %}
-
- {% for author in entry.publishedBy %}
- {{ author }}{% if not loop.last %}, {% endif %}
- {% endfor %}
-
- {% endif %}
-
-
- {% set reading_time = entry.readingTime / app.user.config.readingSpeed * 200 %}
- {% if reading_time > 0 %}
- {{ 'entry.list.reading_time_minutes_short'|trans({'%readingTime%': reading_time|round}) }}
- {% else %}
- {{ 'entry.list.reading_time_less_one_minute_short'|trans|raw }}
- {% endif %}
-
-
-
comment {{ 'entry.view.annotations_on_the_entry'|transchoice(entry.annotations|length) }}
-
- {% if entry.originUrl is not empty %}
-
launch
-
- {{ entry.originUrl|striptags|removeSchemeAndWww|truncate(32) }}
-
- {% endif %}
-
-
-
-
- {{ entry.content|raw }}
-
-
-
-
-{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/new.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/new.html.twig
deleted file mode 100644
index 4e1942056..000000000
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/new.html.twig
+++ /dev/null
@@ -1,7 +0,0 @@
-{% extends "@WallabagCore/layout.html.twig" %}
-
-{% block title %}{{ 'entry.new.page_title'|trans }}{% endblock %}
-
-{% block content %}
- {{ render(controller('Wallabag\\CoreBundle\\Controller\\EntryController::addEntryFormAction')) }}
-{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/new_form.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/new_form.html.twig
deleted file mode 100644
index cea7c43f9..000000000
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/new_form.html.twig
+++ /dev/null
@@ -1,14 +0,0 @@
-
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/search_form.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/search_form.html.twig
deleted file mode 100644
index a276de019..000000000
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/search_form.html.twig
+++ /dev/null
@@ -1,17 +0,0 @@
-
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Exception/error.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Exception/error.html.twig
deleted file mode 100644
index cd75219dc..000000000
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Exception/error.html.twig
+++ /dev/null
@@ -1,24 +0,0 @@
-{% extends "@WallabagCore/layout.html.twig" %}
-
-{% block title %}{{ 'error.page_title'|trans }}{% endblock %}
-
-{% block body_class %}login{% endblock %}
-
-{% block menu %}{% endblock %}
-{% block messages %}{% endblock %}
-{% block header %}{% endblock %}
-
-{% block content %}
-
-
-
-
-
{{ status_code }}: {{ status_text }}
-
{{ exception.message }}
-
-
-
-{% endblock %}
-
-{% block footer %}
-{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/IgnoreOriginInstanceRule/edit.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/IgnoreOriginInstanceRule/edit.html.twig
deleted file mode 100644
index 1380bb90f..000000000
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/IgnoreOriginInstanceRule/edit.html.twig
+++ /dev/null
@@ -1,87 +0,0 @@
-{% extends "@WallabagCore/layout.html.twig" %}
-
-{% block title %}{{ 'ignore_origin_instance_rule.page_title'|trans }}{% endblock %}
-
-{% block content %}
-
-
-
-{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/IgnoreOriginInstanceRule/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/IgnoreOriginInstanceRule/index.html.twig
deleted file mode 100644
index 420a3793a..000000000
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/IgnoreOriginInstanceRule/index.html.twig
+++ /dev/null
@@ -1,42 +0,0 @@
-{% extends "@WallabagCore/layout.html.twig" %}
-
-{% block title %}{{ 'ignore_origin_instance_rule.page_title'|trans }}{% endblock %}
-
-{% block content %}
-
-
-
-{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/IgnoreOriginInstanceRule/new.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/IgnoreOriginInstanceRule/new.html.twig
deleted file mode 100644
index b33e04195..000000000
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/IgnoreOriginInstanceRule/new.html.twig
+++ /dev/null
@@ -1,80 +0,0 @@
-{% extends "@WallabagCore/layout.html.twig" %}
-
-{% block title %}{{ 'ignore_origin_instance_rule.page_title'|trans }}{% endblock %}
-
-{% block content %}
-
-
-
-{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Mail/forgotPassword.txt.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Mail/forgotPassword.txt.twig
deleted file mode 100644
index 00fd292d8..000000000
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Mail/forgotPassword.txt.twig
+++ /dev/null
@@ -1,6 +0,0 @@
-Hello {{ username }}!
-
-To reset your password - please visit {{ confirmationUrl }}
-
-Regards,
-Wallabag bot
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/README.md b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/README.md
deleted file mode 100644
index 3db078735..000000000
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Baggy Theme
-
-theme created by Thomas LEBEAU alias Courgette http://thomaslebeau.fr/
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/SiteCredential/edit.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/SiteCredential/edit.html.twig
deleted file mode 100644
index cd9352c07..000000000
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/SiteCredential/edit.html.twig
+++ /dev/null
@@ -1,60 +0,0 @@
-{% extends "@WallabagCore/layout.html.twig" %}
-
-{% block title %}{{ 'site_credential.page_title'|trans }}{% endblock %}
-
-{% block content %}
-
-
-
-{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/SiteCredential/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/SiteCredential/index.html.twig
deleted file mode 100644
index f3925f47e..000000000
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/SiteCredential/index.html.twig
+++ /dev/null
@@ -1,42 +0,0 @@
-{% extends "@WallabagCore/layout.html.twig" %}
-
-{% block title %}{{ 'site_credential.page_title'|trans }}{% endblock %}
-
-{% block content %}
-
-
-
-{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/SiteCredential/new.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/SiteCredential/new.html.twig
deleted file mode 100644
index 5d2db1653..000000000
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/SiteCredential/new.html.twig
+++ /dev/null
@@ -1,53 +0,0 @@
-{% extends "@WallabagCore/layout.html.twig" %}
-
-{% block title %}{{ 'site_credential.page_title'|trans }}{% endblock %}
-
-{% block content %}
-
-
-
-{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/new_form.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/new_form.html.twig
deleted file mode 100644
index b8c1b4015..000000000
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/new_form.html.twig
+++ /dev/null
@@ -1,13 +0,0 @@
-
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/tags.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/tags.html.twig
deleted file mode 100644
index be072f4aa..000000000
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/tags.html.twig
+++ /dev/null
@@ -1,40 +0,0 @@
-{% extends "@WallabagCore/layout.html.twig" %}
-
-{% block title %}{{ 'tag.page_title'|trans }}{% endblock %}
-
-{% block content %}
-
-
{{ 'tag.list.number_on_the_page'|transchoice(tags|length) }}
-
-
-
-
-
-{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig
deleted file mode 100644
index 77fab331e..000000000
--- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig
+++ /dev/null
@@ -1,77 +0,0 @@
-{% extends "@WallabagCore/base.html.twig" %}
-
-{% block css %}
- {{ parent() }}
- {% if not app.debug %}
-
- {% endif %}
-{% endblock %}
-
-{% block scripts %}
- {{ parent() }}
-
-{% endblock %}
-
-{% block header %}
-
-
- {% block logo %}
-
-
-
- {% endblock %}
-
-
-{% endblock %}
-
-{% block menu %}
-
-
-
-
-
-
-
-
- - {{ 'menu.left.search'|trans }}
-
-
- {% if craue_setting('restricted_access') %}
-
- {% endif %}
-
- {% if is_granted('ROLE_SUPER_ADMIN') %}
-
-
-
- {% endif %}
-
-
-
-
-
-
-
-{% endblock %}
-
-{% block messages %}
-
-
⚠️ You are using the Baggy theme which is now deprecated.
-
It will be removed in the next version. You can use the Material theme by updating the theme config.
-
-
- {% for flash_message in app.session.flashbag.get('notice') %}
-
-
×
-
{{ flash_message|trans }}
-
- {% endfor %}
-{% endblock %}
-
-{% block footer %}
-
-{% endblock %}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/screenshot.jpg b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/screenshot.jpg
deleted file mode 100755
index 1aa8f1461..000000000
Binary files a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/screenshot.jpg and /dev/null differ
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig
index 978e2f106..6a4f77f22 100644
--- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig
+++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig
@@ -295,6 +295,7 @@
« {{ tagging_rule.rule }} »
{{ 'config.form_rules.then_tag_as_label'|trans }}
« {{ tagging_rule.tags|join(', ') }} »
+
mode_edit
diff --git a/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php b/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php
index ff23bf2e5..132028c37 100644
--- a/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php
+++ b/tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php
@@ -55,7 +55,7 @@ class ConfigControllerTest extends WallabagCoreTestCase
$form = $crawler->filter('button[id=config_save]')->form();
$data = [
- 'config[theme]' => 'baggy',
+ 'config[theme]' => 'material',
'config[items_per_page]' => '30',
'config[reading_speed]' => '100',
'config[action_mark_as_read]' => '0',
@@ -74,7 +74,6 @@ class ConfigControllerTest extends WallabagCoreTestCase
public function testChangeReadingSpeed()
{
$this->logInAs('admin');
- $this->useTheme('baggy');
$client = $this->getClient();
$entry = new Entry($this->getLoggedInUser());
@@ -92,7 +91,7 @@ class ConfigControllerTest extends WallabagCoreTestCase
'entry_filter[readingTime][left_number]' => 22,
];
$crawler = $client->submit($form, $dataFilters);
- $this->assertCount(1, $crawler->filter('div[class=entry]'));
+ $this->assertCount(0, $crawler->filter('div[class=entry]'));
// Change reading speed
$crawler = $client->request('GET', '/config');
@@ -121,7 +120,7 @@ class ConfigControllerTest extends WallabagCoreTestCase
{
return [
[[
- 'config[theme]' => 'baggy',
+ 'config[theme]' => 'material',
'config[items_per_page]' => '',
'config[language]' => 'en',
]],
@@ -462,7 +461,7 @@ class ConfigControllerTest extends WallabagCoreTestCase
$this->assertStringContainsString('flashes.config.notice.tagging_rules_updated', $crawler->filter('body')->extract(['_text'])[0]);
- $editLink = $crawler->filter('div[id=set5] a.mode_edit')->last()->link();
+ $editLink = $crawler->filter('.edit-rule')->last()->link();
$crawler = $client->click($editLink);
$this->assertSame(302, $client->getResponse()->getStatusCode());
@@ -487,7 +486,7 @@ class ConfigControllerTest extends WallabagCoreTestCase
$this->assertStringContainsString('readingTime <= 30', $crawler->filter('body')->extract(['_text'])[0]);
- $deleteLink = $crawler->filter('div[id=set5] a.delete')->last()->link();
+ $deleteLink = $crawler->filter('.delete-rule')->last()->link();
$crawler = $client->click($deleteLink);
$this->assertSame(302, $client->getResponse()->getStatusCode());
@@ -1111,19 +1110,18 @@ class ConfigControllerTest extends WallabagCoreTestCase
public function testSwitchViewMode()
{
$this->logInAs('admin');
- $this->useTheme('baggy');
$client = $this->getClient();
$client->request('GET', '/unread/list');
- $this->assertStringNotContainsString('listmode', $client->getResponse()->getContent());
+ $this->assertNotContains('collection', $client->getResponse()->getContent());
$client->request('GET', '/config/view-mode');
$crawler = $client->followRedirect();
$client->request('GET', '/unread/list');
- $this->assertStringContainsString('listmode', $client->getResponse()->getContent());
+ $this->assertContains('collection', $client->getResponse()->getContent());
$client->request('GET', '/config/view-mode');
}
diff --git a/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php b/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php
index b34a28e03..a46281e58 100644
--- a/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php
+++ b/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php
@@ -86,7 +86,7 @@ class EntryControllerTest extends WallabagCoreTestCase
public function testGetNew()
{
$this->logInAs('admin');
- $this->useTheme('baggy');
+ $this->useTheme('material');
$client = $this->getClient();
$crawler = $client->request('GET', '/new');
diff --git a/tests/Wallabag/UserBundle/EventListener/CreateConfigListenerTest.php b/tests/Wallabag/UserBundle/EventListener/CreateConfigListenerTest.php
index dedd22f3f..11933b6ce 100644
--- a/tests/Wallabag/UserBundle/EventListener/CreateConfigListenerTest.php
+++ b/tests/Wallabag/UserBundle/EventListener/CreateConfigListenerTest.php
@@ -32,7 +32,7 @@ class CreateConfigListenerTest extends TestCase
$this->listener = new CreateConfigListener(
$this->em,
- 'baggy',
+ 'material',
20,
50,
'fr',
@@ -61,7 +61,7 @@ class CreateConfigListenerTest extends TestCase
);
$config = new Config($user);
- $config->setTheme('baggy');
+ $config->setTheme('material');
$config->setItemsPerPage(20);
$config->setFeedLimit(50);
$config->setLanguage('fr');