]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Removed old, not so maintained and buggy baggy theme remove-baggy 4332/head
authorNicolas Lœuillet <nicolas@loeuillet.org>
Tue, 14 Apr 2020 14:01:14 +0000 (16:01 +0200)
committerNicolas Lœuillet <nicolas@loeuillet.org>
Tue, 14 Apr 2020 14:01:14 +0000 (16:01 +0200)
49 files changed:
app/DoctrineMigrations/Version20200414120227.php [new file with mode: 0644]
app/Resources/static/themes/baggy/css/article.scss [deleted file]
app/Resources/static/themes/baggy/css/guide.scss [deleted file]
app/Resources/static/themes/baggy/css/index.scss [deleted file]
app/Resources/static/themes/baggy/css/layout.scss [deleted file]
app/Resources/static/themes/baggy/css/login.scss [deleted file]
app/Resources/static/themes/baggy/css/main.css [deleted file]
app/Resources/static/themes/baggy/css/media_queries.scss [deleted file]
app/Resources/static/themes/baggy/css/messages.scss [deleted file]
app/Resources/static/themes/baggy/css/pictos.scss [deleted file]
app/Resources/static/themes/baggy/css/print.scss [deleted file]
app/Resources/static/themes/baggy/css/ratatouille.scss [deleted file]
app/Resources/static/themes/baggy/css/save.scss [deleted file]
app/Resources/static/themes/baggy/img/blank.png [deleted file]
app/Resources/static/themes/baggy/img/down.png [deleted file]
app/Resources/static/themes/baggy/img/list.png [deleted file]
app/Resources/static/themes/baggy/img/table.png [deleted file]
app/Resources/static/themes/baggy/img/top.png [deleted file]
app/Resources/static/themes/baggy/index.js [deleted file]
app/Resources/static/themes/baggy/js/autoCompleteTags.js [deleted file]
app/Resources/static/themes/baggy/js/shortcuts/entry.js [deleted file]
app/Resources/static/themes/baggy/js/shortcuts/main.js [deleted file]
app/Resources/static/themes/baggy/js/uiTools.js [deleted file]
app/config/config.yml
app/config/webpack/common.js
src/Wallabag/CoreBundle/Helper/DetectActiveTheme.php
src/Wallabag/CoreBundle/Resources/config/services.yml
src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/index.html.twig [deleted file]
src/Wallabag/CoreBundle/Resources/views/themes/baggy/Config/otp_app.html.twig [deleted file]
src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/edit.html.twig [deleted file]
src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entries.html.twig [deleted file]
src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/entry.html.twig [deleted file]
src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/new.html.twig [deleted file]
src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/new_form.html.twig [deleted file]
src/Wallabag/CoreBundle/Resources/views/themes/baggy/Entry/search_form.html.twig [deleted file]
src/Wallabag/CoreBundle/Resources/views/themes/baggy/Exception/error.html.twig [deleted file]
src/Wallabag/CoreBundle/Resources/views/themes/baggy/Mail/forgotPassword.txt.twig [deleted file]
src/Wallabag/CoreBundle/Resources/views/themes/baggy/README.md [deleted file]
src/Wallabag/CoreBundle/Resources/views/themes/baggy/SiteCredential/edit.html.twig [deleted file]
src/Wallabag/CoreBundle/Resources/views/themes/baggy/SiteCredential/index.html.twig [deleted file]
src/Wallabag/CoreBundle/Resources/views/themes/baggy/SiteCredential/new.html.twig [deleted file]
src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/new_form.html.twig [deleted file]
src/Wallabag/CoreBundle/Resources/views/themes/baggy/Tag/tags.html.twig [deleted file]
src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig [deleted file]
src/Wallabag/CoreBundle/Resources/views/themes/baggy/screenshot.jpg [deleted file]
src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig
tests/Wallabag/CoreBundle/Controller/ConfigControllerTest.php
tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php
tests/Wallabag/UserBundle/EventListener/CreateConfigListenerTest.php

diff --git a/app/DoctrineMigrations/Version20200414120227.php b/app/DoctrineMigrations/Version20200414120227.php
new file mode 100644 (file)
index 0000000..45e4c63
--- /dev/null
@@ -0,0 +1,23 @@
+<?php
+
+namespace Application\Migrations;
+
+use Doctrine\DBAL\Migrations\SkipMigrationException;
+use Doctrine\DBAL\Schema\Schema;
+use Wallabag\CoreBundle\Doctrine\WallabagMigration;
+
+/**
+ * Remove baggy theme
+ */
+final class Version20200414120227 extends WallabagMigration
+{
+    public function up(Schema $schema) : void
+    {
+        $this->addSql('UPDATE ' . $this->getTable('config', true) . ' SET theme = "material" WHERE theme = "baggy";');
+    }
+
+    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 (file)
index d203ce3..0000000
+++ /dev/null
@@ -1,165 +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 (file)
index afb47c4..0000000
+++ /dev/null
@@ -1,263 +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 and (-webkit-min-device-pixel-ratio: 0) {
-  select {
-    -webkit-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;
-  -webkit-transition: all 0.5s ease;
-  -moz-transition: all 0.5s ease;
-  -ms-transition: all 0.5s ease;
-  -o-transition: all 0.5s ease;
-  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 rgba(0, 0, 0, 0.6);
-  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 (file)
index e7a1196..0000000
+++ /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 (file)
index 0293ebe..0000000
+++ /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: rgba(0, 0, 0, 0.6);
-  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 rgba(0, 0, 0, 0.3);
-  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 rgba(0, 0, 0, 1);
-
-    &::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: rgba(0, 0, 0, 0.6);
-      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 (file)
index 312df67..0000000
+++ /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 rgba(0, 0, 0, 0.9);
-    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
deleted file mode 100755 (executable)
index f82c6be..0000000
+++ /dev/null
@@ -1,1353 +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 rgba(0, 0, 0, 0.9);
-  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 (-webkit-min-device-pixel-ratio: 0) {
-  select {
-    -webkit-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;
-  -webkit-transition: all 0.5s ease;
-  -moz-transition: all 0.5s ease;
-  -ms-transition: all 0.5s ease;
-  -o-transition: all 0.5s ease;
-  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 rgba(0, 0, 0, 0.6);
-  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;
-  -webkit-transition: all 0.5s ease;
-  -moz-transition: all 0.5s ease;
-  -ms-transition: all 0.5s ease;
-  -o-transition: all 0.5s ease;
-  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: rgba(0, 0, 0, 0.6);
-  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: rgba(0, 0, 0, 0.6);
-  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 rgba(0, 0, 0, 0.3);
-  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;
-  -webkit-transition: all 0.5s ease;
-  -moz-transition: all 0.5s ease;
-  -ms-transition: all 0.5s ease;
-  -o-transition: all 0.5s ease;
-  transition: all 0.5s ease;
-}
-
-.entry::after {
-  content: "";
-  position: absolute;
-  height: 7px;
-  width: 100%;
-  bottom: 0;
-  left: 0;
-  background-color: #000;
-  -webkit-transition: all 0.5s ease;
-  -moz-transition: all 0.5s ease;
-  -ms-transition: all 0.5s ease;
-  -o-transition: all 0.5s ease;
-  transition: all 0.5s ease;
-}
-
-.entry:hover {
-  box-shadow: 0 3px 10px rgba(0, 0, 0, 1);
-}
-
-.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;
-  -webkit-transition: all 0.5s ease;
-  -moz-transition: all 0.5s ease;
-  -ms-transition: all 0.5s ease;
-  -o-transition: all 0.5s ease;
-  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;
-  -webkit-transition: all 0.5s ease;
-  -moz-transition: all 0.5s ease;
-  -ms-transition: all 0.5s ease;
-  -o-transition: all 0.5s ease;
-  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: rgba(0, 0, 0, 0.5);
-  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;
-  -webkit-font-feature-settings: "liga";
-  -moz-font-feature-settings: "liga=1";
-  -moz-font-feature-settings: "liga";
-  -ms-font-feature-settings: "liga" 1;
-  -o-font-feature-settings: "liga";
-  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;
-}
-
-/* Carrot (http://carrot.org) */
-.icon-image--carrot {
-  background-image: url("../../_global/img/icons/carrot-icon--white.png");
-}
-
-/* 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 h1 {
-  text-align: left;
-}
-
-#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 (executable)
index a08f369..0000000
+++ /dev/null
@@ -1,178 +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 (executable)
index a388419..0000000
+++ /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
deleted file mode 100644 (file)
index b6ebf31..0000000
+++ /dev/null
@@ -1,210 +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;
-  -webkit-font-feature-settings: "liga";
-  -moz-font-feature-settings: "liga=1";
-  -moz-font-feature-settings: "liga";
-  -ms-font-feature-settings: "liga" 1;
-  -o-font-feature-settings: "liga";
-  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;
-}
-
-/* Carrot (http://carrot.org) */
-.icon-image--carrot {
-  background-image: url("../../_global/img/icons/carrot-icon--white.png");
-}
-
-/* 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 (executable)
index a63f62e..0000000
+++ /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 (file)
index a6167f3..0000000
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
-  Ratatouille mini Framework css by Thomas LEBEAU
-  Base on KNACSS => www.KNACSS.com (2013-10) @author: Raphael Goetter, Alsacreations
-  and normalize.css
-*/
-
-* {
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  box-sizing: border-box;
-}
-
-html {
-  font-family: sans-serif; /* 1 */
-  -ms-text-size-adjust: 100%; /* 2 */
-  -webkit-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"] {
-  -webkit-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 and (-webkit-min-device-pixel-ratio: 0) {
-  select {
-    -webkit-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 (file)
index ade77b4..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-/* ==========================================================================
-  "save a link" related styles
-  ========================================================================== */
-
-.popup-form {
-  background: rgba(0, 0, 0, 0.5);
-  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 (executable)
index 63e0984..0000000
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 (file)
index b9d536a..0000000
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 (executable)
index bd5aff5..0000000
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 (executable)
index 859c4cd..0000000
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 (file)
index 954a8c0..0000000
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 (executable)
index 39ad49a..0000000
+++ /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(
-    () => `<a href="${$(this).attr('href')}" class="add-to-wallabag-link-after" title="add to wallabag"></a>`,
-  );
-
-  $('.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 (executable)
index 64fdaa9..0000000
+++ /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 (file)
index c87408b..0000000
+++ /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 (file)
index 43ebf3b..0000000
+++ /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 (file)
index 713c53f..0000000
+++ /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;
index 4eea0531b4d9a77d1789165015c6108113699381..186524ebf07bd02709030a3f4b9276eb3761694e 100644 (file)
@@ -167,7 +167,6 @@ nelmio_cors:
 liip_theme:
     load_controllers: false
     themes:
-        - baggy
         - material
     autodetect_theme: wallabag_core.helper.detect_active_theme
 
index 233497fd7b8ce1eb29cd81d23e63898f0b781181..c7fd12acd52f619882a8d19ffb25519e25485547 100644 (file)
@@ -8,7 +8,6 @@ module.exports = function () {
   return {
     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: {
index 9f90ee3e21d01e38fa77b6b92c36d321bd2346b2..f1d5fdea6e98635ea67a888d4597be9898cf0e52 100644 (file)
@@ -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)) {
+            return $this->defaultTheme;
+        }
+
         return $config->getTheme();
     }
 }
index 3f3d4de7124dacf376063daf59d626c285776e29..bbf2a7a0b6ee350fc1e24dc8981397f84242e85f 100644 (file)
@@ -4,6 +4,7 @@ services:
         arguments:
             - "@security.token_storage"
             - "%wallabag_core.theme%"
+            - "%liip_theme.themes%"
 
     # custom form type
     wallabag_core.form.type.config:
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 (file)
index f719bea..0000000
+++ /dev/null
@@ -1,433 +0,0 @@
-{% extends "WallabagCoreBundle::layout.html.twig" %}
-
-{% block title %}{{ 'config.page_title'|trans }}{% endblock %}
-
-{% block content %}
-    <h2>{{ 'config.tab_menu.settings'|trans }}</h2>
-
-    {{ form_start(form.config) }}
-        {{ form_errors(form.config) }}
-
-        <fieldset class="w500p inline">
-            <div class="row">
-                {{ form_label(form.config.theme) }}
-                {{ form_errors(form.config.theme) }}
-                {{ form_widget(form.config.theme) }}
-            </div>
-            <a href="#" title="{{ 'config.form_settings.help_theme'|trans }}">
-                <i class="material-icons">live_help</i>
-            </a>
-        </fieldset>
-
-        <fieldset class="w500p inline">
-            <div class="row">
-                {{ form_label(form.config.items_per_page) }}
-                {{ form_errors(form.config.items_per_page) }}
-                {{ form_widget(form.config.items_per_page) }}
-            </div>
-            <a href="#" title="{{ 'config.form_settings.help_items_per_page'|trans }}">
-                <i class="material-icons">live_help</i>
-            </a>
-        </fieldset>
-
-        <fieldset class="w500p inline">
-            <div class="row">
-                {{ form_label(form.config.reading_speed) }}
-                {{ form_errors(form.config.reading_speed) }}
-                {{ form_widget(form.config.reading_speed) }}
-                <p>
-                    {{ 'config.form_settings.reading_speed.help_message'|trans }}
-                    <a href="http://www.myreadspeed.com/calculate/">myreadspeed</a>
-                </p>
-            </div>
-            <a href="#" title="{{ 'config.form_settings.help_reading_speed'|trans }}">
-                <i class="material-icons">live_help</i>
-            </a>
-        </fieldset>
-
-        <fieldset class="w500p inline">
-            <div class="row">
-                {{ form_label(form.config.action_mark_as_read) }}
-                {{ form_errors(form.config.action_mark_as_read) }}
-                {{ form_widget(form.config.action_mark_as_read) }}
-            </div>
-        </fieldset>
-
-        <fieldset class="w500p inline">
-            <div class="row">
-                {{ form_label(form.config.language) }}
-                {{ form_errors(form.config.language) }}
-                {{ form_widget(form.config.language) }}
-            </div>
-            <a href="#" title="{{ 'config.form_settings.help_language'|trans }}">
-                <i class="material-icons">live_help</i>
-            </a>
-        </fieldset>
-
-        <fieldset class="w500p inline">
-            <div class="row">
-                {{ form_label(form.config.pocket_consumer_key) }}
-                {{ form_errors(form.config.pocket_consumer_key) }}
-                {{ form_widget(form.config.pocket_consumer_key) }}
-                <p>
-                    &raquo;
-                    <a href="https://getpocket.com/developer/docs/authentication">https://getpocket.com/developer/docs/authentication</a>
-                </p>
-            </div>
-            <a href="#" title="{{ 'config.form_settings.help_pocket_consumer_key'|trans }}">
-                <i class="material-icons">live_help</i>
-            </a>
-        </fieldset>
-
-        <fieldset class="w500p inline">
-            <div class="row">
-                <h3>{{ 'config.form_settings.android_configuration'|trans }}</h3>
-                <a href="wallabag://{{ app.user.username }}@{{ wallabag_url }}">{{ 'config.form_settings.android_instruction' | trans }}</a>
-                <br/>
-                <img id="androidQrcode" />
-                <script>
-                    document.getElementById('androidQrcode').src = jrQrcode.getQrBase64('wallabag://{{ app.user.username }}@{{ wallabag_url }}');
-                </script>
-            </div>
-        </fieldset>
-
-        {{ form_rest(form.config) }}
-    </form>
-
-    <h2>{{ 'config.tab_menu.feed'|trans }}</h2>
-
-        {{ form_start(form.feed) }}
-        {{ form_errors(form.feed) }}
-
-        <div class="row">
-            {{ 'config.form_feed.description'|trans }}
-        </div>
-
-        <fieldset class="w500p inline">
-            <div class="row">
-                <label>{{ 'config.form_feed.token_label'|trans }}</label>
-                {% if feed.token %}
-                    {{ feed.token }}
-                {% else %}
-                    <em>{{ 'config.form_feed.no_token'|trans }}</em>
-                {% endif %}
-
-                {% if feed.token %}
-                    – <a href="{{ path('generate_token') }}">{{ 'config.form_feed.token_reset'|trans }}</a>
-                    – <a href="{{ path('revoke_token') }}">{{ 'config.form_feed.token_revoke'|trans }}</a>
-                {% else %}
-                    – <a href="{{ path('generate_token') }}">{{ 'config.form_feed.token_create'|trans }}</a>
-                {% endif %}
-            </div>
-        </fieldset>
-
-        {% if feed.token %}
-        <fieldset class="w500p inline">
-            <div class="row">
-                <label>{{ 'config.form_feed.feed_links'|trans }}</label>
-                <ul>
-                    <li><a href="{{ path('unread_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.unread'|trans }}</a></li>
-                    <li><a href="{{ path('starred_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.starred'|trans }}</a></li>
-                    <li><a href="{{ path('archive_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.archive'|trans }}</a></li>
-                    <li><a href="{{ path('all_feed', {'username': feed.username, 'token': feed.token}) }}">{{ 'config.form_feed.feed_link.all'|trans }}</a></li>
-                </ul>
-            </div>
-        </fieldset>
-        {% endif %}
-
-        <fieldset class="w500p inline">
-            <div class="row">
-                {{ form_label(form.feed.feed_limit) }}
-                {{ form_errors(form.feed.feed_limit) }}
-                {{ form_widget(form.feed.feed_limit) }}
-            </div>
-        </fieldset>
-
-        {{ form_rest(form.feed) }}
-    </form>
-
-    <h2>{{ 'config.tab_menu.user_info'|trans }}</h2>
-
-    {{ form_start(form.user) }}
-        {{ form_errors(form.user) }}
-        <fieldset class="w500p inline">
-            <div class="row">
-                <label>{{ 'config.form_user.login_label'|trans }}</label>
-                {{ app.user.username }}
-            </div>
-        </fieldset>
-
-        <fieldset class="w500p inline">
-            <div class="row">
-                {{ form_label(form.user.name) }}
-                {{ form_errors(form.user.name) }}
-                {{ form_widget(form.user.name) }}
-            </div>
-        </fieldset>
-
-        <fieldset class="w500p inline">
-            <div class="row">
-                {{ form_label(form.user.email) }}
-                {{ form_errors(form.user.email) }}
-                {{ form_widget(form.user.email) }}
-            </div>
-        </fieldset>
-
-        {{ form_widget(form.user.save) }}
-
-        {% if twofactor_auth %}
-        <h5>{{ 'config.otp.page_title'|trans }}</h5>
-
-        <div class="row">
-            {{ 'config.form_user.two_factor_description'|trans }}
-        </div>
-
-        <table>
-            <thead>
-                <tr>
-                    <th>{{ 'config.form_user.two_factor.table_method'|trans }}</th>
-                    <th>{{ 'config.form_user.two_factor.table_state'|trans }}</th>
-                    <th>{{ 'config.form_user.two_factor.table_action'|trans }}</th>
-                </tr>
-            </thead>
-
-            <tbody>
-                <tr>
-                    <td>{{ 'config.form_user.two_factor.emailTwoFactor_label'|trans }}</td>
-                    <td>{% if app.user.isEmailTwoFactor %}<b>{{ 'config.form_user.two_factor.state_enabled'|trans }}</b>{% else %}{{ 'config.form_user.two_factor.state_disabled'|trans }}{% endif %}</td>
-                    <td><a href="{{ path('config_otp_email') }}" class="waves-effect waves-light btn{% if app.user.isEmailTwoFactor %} disabled{% endif %}">{{ 'config.form_user.two_factor.action_email'|trans }}</a></td>
-                </tr>
-                <tr>
-                    <td>{{ 'config.form_user.two_factor.googleTwoFactor_label'|trans }}</td>
-                    <td>{% if app.user.isGoogleTwoFactor %}<b>{{ 'config.form_user.two_factor.state_enabled'|trans }}</b>{% else %}{{ 'config.form_user.two_factor.state_disabled'|trans }}{% endif %}</td>
-                    <td><a href="{{ path('config_otp_app') }}" class="waves-effect waves-light btn{% if app.user.isGoogleTwoFactor %} disabled{% endif %}">{{ 'config.form_user.two_factor.action_app'|trans }}</a></td>
-                </tr>
-            </tbody>
-        </table>
-
-        {% endif %}
-
-        {{ form_widget(form.user._token) }}
-    </form>
-
-    {% if enabled_users > 1 %}
-        <h2>{{ 'config.form_user.delete.title'|trans }}</h2>
-
-        <p>{{ 'config.form_user.delete.description'|trans }}</p>
-        <a href="{{ path('delete_account') }}" onclick="return confirm('{{ 'config.form_user.delete.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red delete-account">
-            {{ 'config.form_user.delete.button'|trans }}
-        </a>
-    {% endif %}
-
-    <h2>{{ 'config.tab_menu.password'|trans }}</h2>
-
-    {{ form_start(form.pwd) }}
-        {{ form_errors(form.pwd) }}
-
-        <div class="row">
-            {{ 'config.form_password.description'|trans }}
-        </div>
-
-        <fieldset class="w500p inline">
-            <div class="row">
-                {{ form_label(form.pwd.old_password) }}
-                {{ form_errors(form.pwd.old_password) }}
-                {{ form_widget(form.pwd.old_password) }}
-            </div>
-        </fieldset>
-
-        <fieldset class="w500p inline">
-            <div class="row">
-                {{ form_label(form.pwd.new_password.first) }}
-                {{ form_errors(form.pwd.new_password.first) }}
-                {{ form_widget(form.pwd.new_password.first) }}
-            </div>
-        </fieldset>
-
-        <fieldset class="w500p inline">
-            <div class="row">
-                {{ form_label(form.pwd.new_password.second) }}
-                {{ form_errors(form.pwd.new_password.second) }}
-                {{ form_widget(form.pwd.new_password.second) }}
-            </div>
-        </fieldset>
-
-        {{ form_rest(form.pwd) }}
-    </form>
-
-    <h2>{{ 'config.tab_menu.rules'|trans }}</h2>
-
-    <ul>
-        {% for tagging_rule in app.user.config.taggingRules %}
-        <li>
-            {{ 'config.form_rules.if_label'|trans }}
-            « {{ tagging_rule.rule }} »
-            {{ 'config.form_rules.then_tag_as_label'|trans }}
-            « {{ tagging_rule.tags|join(', ') }} »
-            <a href="{{ path('edit_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.edit_rule_label'|trans }}" class="tool mode_edit">✎</a>
-            <a href="{{ path('delete_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.delete_rule_label'|trans }}" class="tool delete icon-trash icon"></a>
-        </li>
-        {% endfor %}
-    </ul>
-
-    {{ form_start(form.new_tagging_rule) }}
-        {{ form_errors(form.new_tagging_rule) }}
-
-        <fieldset class="w500p inline">
-            <div class="row">
-                {{ form_label(form.new_tagging_rule.rule) }}
-                {{ form_errors(form.new_tagging_rule.rule) }}
-                {{ form_widget(form.new_tagging_rule.rule) }}
-            </div>
-        </fieldset>
-
-        <fieldset class="w500p inline">
-            <div class="row">
-                {{ form_label(form.new_tagging_rule.tags) }}
-                {{ form_errors(form.new_tagging_rule.tags) }}
-                {{ form_widget(form.new_tagging_rule.tags) }}
-            </div>
-        </fieldset>
-
-        {{ form_rest(form.new_tagging_rule) }}
-    </form>
-
-    <div class="row">
-        <h3>{{ 'config.form_rules.card.import_tagging_rules'|trans }}</h3>
-        <p>{{ 'config.form_rules.card.import_tagging_rules_detail'|trans }}</p>
-    </div>
-
-    {{ form_start(form.import_tagging_rule) }}
-        {{ form_errors(form.import_tagging_rule) }}
-
-        <fieldset class="w500p inline">
-            <div class="row">
-                {{ form_label(form.import_tagging_rule.file) }}
-                {{ form_errors(form.import_tagging_rule.file) }}
-                {{ form_widget(form.import_tagging_rule.file) }}
-            </div>
-        </fieldset>
-
-        {{ form_rest(form.import_tagging_rule) }}
-    </form>
-
-    {% if app.user.config.taggingRules is not empty %}
-    <div class="row">
-        <h3>{{ 'config.form_rules.card.export_tagging_rules'|trans }}</h3>
-        <p>{{ 'config.form_rules.card.export_tagging_rules_detail'|trans }}</p>
-        <p><a href="{{ path('export_tagging_rule') }}" class="waves-effect waves-light btn">{{ 'config.form_rules.export'|trans }}</a></p>
-    </div>
-    {% endif %}
-
-    <div class="row">
-        <div class="input-field col s12">
-            <h3>{{ 'config.form_rules.faq.title'|trans }}</h3>
-
-            <h4>{{ 'config.form_rules.faq.tagging_rules_definition_title'|trans }}</h4>
-            <p class="help">{{ 'config.form_rules.faq.tagging_rules_definition_description'|trans|raw }}</p>
-
-            <h4>{{ 'config.form_rules.faq.how_to_use_them_title'|trans }}</h4>
-            <p class="help">{{ 'config.form_rules.faq.how_to_use_them_description'|trans|raw }}</p>
-
-            <h4>{{ 'config.form_rules.faq.variables_available_title'|trans }}</h4>
-            <p class="help">
-                {{ 'config.form_rules.faq.variables_available_description'|trans }}
-            </p>
-
-            <table class="bordered">
-                <thead>
-                <tr>
-                    <th>{{ 'config.form_rules.faq.variable_description.label'|trans }}</th>
-                    <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
-                    <th>{{ 'config.form_rules.faq.operator_description.label'|trans }}</th>
-                    <th>{{ 'config.form_rules.faq.meaning'|trans }}</th>
-                </tr>
-                </thead>
-
-                <tbody>
-                <tr>
-                    <td>title</td>
-                    <td>{{ 'config.form_rules.faq.variable_description.title'|trans }}</td>
-                    <td>&lt;=</td>
-                    <td>{{ 'config.form_rules.faq.operator_description.less_than'|trans }}</td>
-                </tr>
-                <tr>
-                    <td>url</td>
-                    <td>{{ 'config.form_rules.faq.variable_description.url'|trans }}</td>
-                    <td>&lt;</td>
-                    <td>{{ 'config.form_rules.faq.operator_description.strictly_less_than'|trans }}</td>
-                </tr>
-                <tr>
-                    <td>isArchived</td>
-                    <td>{{ 'config.form_rules.faq.variable_description.isArchived'|trans }}</td>
-                    <td>&gt;=</td>
-                    <td>{{ 'config.form_rules.faq.operator_description.greater_than'|trans }}</td>
-                </tr>
-                <tr>
-                    <td>isStarred</td>
-                    <td>{{ 'config.form_rules.faq.variable_description.isStarred'|trans }}</td>
-                    <td>&gt;</td>
-                    <td>{{ 'config.form_rules.faq.operator_description.strictly_greater_than'|trans }}</td>
-                </tr>
-                <tr>
-                    <td>content</td>
-                    <td>{{ 'config.form_rules.faq.variable_description.content'|trans }}</td>
-                    <td>=</td>
-                    <td>{{ 'config.form_rules.faq.operator_description.equal_to'|trans }}</td>
-                </tr>
-                <tr>
-                    <td>language</td>
-                    <td>{{ 'config.form_rules.faq.variable_description.language'|trans }}</td>
-                    <td>!=</td>
-                    <td>{{ 'config.form_rules.faq.operator_description.not_equal_to'|trans }}</td>
-                </tr>
-                <tr>
-                    <td>mimetype</td>
-                    <td>{{ 'config.form_rules.faq.variable_description.mimetype'|trans }}</td>
-                    <td>OR</td>
-                    <td>{{ 'config.form_rules.faq.operator_description.or'|trans }}</td>
-                </tr>
-                <tr>
-                    <td>readingTime</td>
-                    <td>{{ 'config.form_rules.faq.variable_description.readingTime'|trans }}</td>
-                    <td>AND</td>
-                    <td>{{ 'config.form_rules.faq.operator_description.and'|trans }}</td>
-                </tr>
-                <tr>
-                    <td>domainName</td>
-                    <td>{{ 'config.form_rules.faq.variable_description.domainName'|trans }}</td>
-                    <td>matches</td>
-                    <td>{{ 'config.form_rules.faq.operator_description.matches'|trans|raw }}</td>
-                </tr>
-                </tbody>
-            </table>
-        </div>
-    </div>
-
-    <h2>{{ 'config.reset.title'|trans }}</h2>
-    <fieldset class="w500p inline">
-        <p>{{ 'config.reset.description'|trans }}</p>
-        <ul>
-            <li>
-                <a href="{{ path('config_reset', { type: 'annotations'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
-                    {{ 'config.reset.annotations'|trans }}
-                </a>
-            </li>
-            <li>
-                <a href="{{ path('config_reset', { type: 'tags'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
-                    {{ 'config.reset.tags'|trans }}
-                </a>
-            </li>
-            <li>
-                <a href="{{ path('config_reset', { type: 'archived'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
-                    {{ 'config.reset.archived'|trans }}
-                </a>
-            </li>
-            <li>
-                <a href="{{ path('config_reset', { type: 'entries'}) }}" onclick="return confirm('{{ 'config.reset.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red">
-                    {{ 'config.reset.entries'|trans }}
-                </a>
-            </li>
-        </ul>
-    </fieldset>
-{% 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 (file)
index 1d3685a..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-{% extends "WallabagCoreBundle::layout.html.twig" %}
-
-{% block title %}{{ 'config.page_title'|trans }} > {{ 'config.otp.page_title'|trans }}{% endblock %}
-
-{% block content %}
-    <h5>{{ 'config.otp.page_title'|trans }}</h5>
-
-    <ol>
-        <li>
-            <p>{{ 'config.otp.app.two_factor_code_description_1'|trans }}</p>
-            <p>{{ 'config.otp.app.two_factor_code_description_2'|trans }}</p>
-
-            <p>
-                <img id="2faQrcode" class="hide-on-med-and-down" />
-                <script>
-                    document.getElementById('2faQrcode').src = jrQrcode.getQrBase64('{{ qr_code }}');
-                </script>
-            </p>
-        </li>
-        <li>
-            <p>{{ 'config.otp.app.two_factor_code_description_3'|trans }}</p>
-
-            <p><strong>{{ backupCodes|join("\n")|nl2br }}</strong></p>
-        </li>
-        <li>
-            <p>{{ 'config.otp.app.two_factor_code_description_4'|trans }}</p>
-
-            {% for flashMessage in app.session.flashbag.get("two_factor") %}
-            <div class="card-panel red darken-1 black-text">
-                {{ flashMessage|trans }}
-            </div>
-            {% endfor %}
-
-            <form class="form" action="{{ path("config_otp_app_check") }}" method="post">
-                <div class="card-content">
-                    <div class="row">
-                        <div class="input-field col s12">
-                            <label for="_auth_code">{{ "auth_code"|trans({}, 'SchebTwoFactorBundle') }}</label>
-                            <input id="_auth_code" type="text" autocomplete="off" name="_auth_code" />
-                        </div>
-                    </div>
-                </div>
-                <div class="card-action">
-                    <a href="{{ path('config_otp_app_cancel') }}" class="waves-effect waves-light grey btn">
-                        {{ 'config.otp.app.cancel'|trans }}
-                    </a>
-                    <button class="btn waves-effect waves-light" type="submit" name="send">
-                        {{ 'config.otp.app.enable'|trans }}
-                        <i class="material-icons right">send</i>
-                    </button>
-                </div>
-            </form>
-        </li>
-    </ol>
-{% 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 (file)
index e974fc6..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-{% extends "WallabagCoreBundle::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 (file)
index 4182628..0000000
+++ /dev/null
@@ -1,219 +0,0 @@
-{% extends "WallabagCoreBundle::layout.html.twig" %}
-
-{% block head %}
-    {{ parent() }}
-    {% if tag is defined and app.user.config.feedToken %}
-        <link rel="alternate" type="application/atom+xml" href="{{ path('tag_feed', {'username': app.user.username, 'token': app.user.config.feedToken, 'slug': tag.slug}) }}" />
-    {% 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 currentRoute = app.request.attributes.get('_route') %}
-    {% if currentRoute == 'homepage' %}
-        {% set currentRoute = 'unread' %}
-    {% endif %}
-    {% set listMode = app.user.config.listMode %}
-    <div class="results">
-        <div class="nb-results">{{ 'entry.list.number_on_the_page'|transchoice(entries.count) }}</div>
-        <div class="pagination">
-            <a href="{{ path('switch_view_mode') }}"><i class="listMode-btn material-icons md-24">{% if listMode == 0 %}list{% else %}view_module{% endif %}</i></a>
-            {% if app.user.config.feedToken %}
-                {% include "@WallabagCore/themes/common/Entry/_feed_link.html.twig" %}
-            {% endif %}
-            {% if currentRoute in ['unread', 'starred', 'archive', 'untagged', 'all'] %}
-                <a href="{{ path('random_entry', { 'type': currentRoute }) }}"><i class="btn-clickable material-icons md-24 js-random-action">casino</i></a>
-            {% endif %}
-            <i class="btn-clickable download-btn material-icons md-24 js-export-action">file_download</i>
-            <i class="btn-clickable filter-btn material-icons md-24 js-filters-action">filter_list</i>
-            {% if entries.getNbPages > 1 %}
-                {{ pagerfanta(entries, 'twitter_bootstrap_translated', {'proximity': 1}) }}
-            {% endif %}
-        </div>
-    </div>
-
-    {% for entry in entries %}
-        <div id="entry-{{ entry.id|e }}" class="{% if listMode == 0 %}entry{% else %}listmode entry{% endif %}">
-            <h2><a href="{{ path('view', { 'id': entry.id }) }}" title="{{ entry.title|e|raw }}">{{ entry.title | striptags | truncate(80, true, '…') | default('entry.default_title'|trans) | raw }}</a></h2>
-
-            {% set readingTime = entry.readingTime / app.user.config.readingSpeed * 200 %}
-            <div class="estimatedTime">
-                    <span class="tool reading-time">
-            {% if readingTime > 0 %}
-                {{ 'entry.list.reading_time_minutes'|trans({'%readingTime%': readingTime|round}) }}
-            {% else %}
-                {{ 'entry.list.reading_time_less_one_minute'|trans|raw }}
-            {% endif %}
-                    </span>
-                    <span class="tool created-at">
-                        <i class="tool icon icon-calendar" title="{{ 'entry.view.created_at'|trans }}">
-                            {{ entry.createdAt|date('Y-m-d') }}
-                        </i>
-                    </span>
-            </div>
-
-            <ul class="tools links">
-                <li><a href="{{ entry.url|e }}" target="_blank" rel="noopener" title="{{ 'entry.list.original_article'|trans }} : {{ entry.title|e }}"><span>{{ entry.domainName|removeWww }}</span></a></li>
-                <li><a title="{{ 'entry.list.toogle_as_read'|trans }}" class="tool icon {% if entry.isArchived == 0 %}archive-off{% else %}archive{% endif %}" href="{{ path('archive_entry', { 'id': entry.id }) }}"><i class="material-icons md-24 vertical-align-middle">check</i><span>{{ 'entry.list.toogle_as_read'|trans }}</span></a></li>
-                <li><a title="{{ 'entry.list.toogle_as_star'|trans }}" class="tool icon {% if entry.isStarred == 0 %}fav-off{% else %}fav{% endif %}" href="{{ path('star_entry', { 'id': entry.id }) }}"><i class="material-icons md-24 vertical-align-middle">star_rate</i><span>{{ 'entry.list.toogle_as_star'|trans }}</span></a></li>
-                <li><a title="{{ 'entry.list.delete'|trans }}" class="tool icon" onclick="return confirm('{{ 'entry.confirm.delete'|trans|escape('js') }}')" href="{{ path('delete_entry', { 'id': entry.id }) }}"><i class="material-icons md-24 vertical-align-middle">delete</i><span>{{ 'entry.list.delete'|trans }}</span></a></li>
-            </ul>
-            {% if (entry.previewPicture is null or listMode == 1) %}
-                <ul class="card-entry-tags">
-                    {% for tag in entry.tags %}
-                        <li><a href="{{ path('tag_entries', {'slug': tag.slug}) }}">{{ tag.label }}</a></li>
-                    {% endfor %}
-                </ul>
-                <p {% if listMode == 1 %}class="hide"{% endif %}>{{ entry.content|striptags|slice(0, 300) }}&hellip;</p>
-            {% else %}
-                <ul class="card-entry-labels">
-                {% for tag in entry.tags | slice(0, 3) %}
-                    <li><a href="{{ path('tag_entries', {'slug': tag.slug}) }}">{{ tag.label }}</a></li>
-                {% endfor %}
-                </ul>
-                <img class="preview" src="{{ entry.previewPicture }}" alt="{{ entry.title|e|raw }}" />
-            {% endif %}
-        </div>
-    {% endfor %}
-
-    {% if entries.getNbPages > 1 %}
-        {{ pagerfanta(entries, 'twitter_bootstrap_translated', {'proximity': 1}) }}
-    {% endif %}
-
-    <!-- Export -->
-    <aside id="download-form">
-    {% set currentTag = null %}
-    {% if tag is defined %}
-        {% set currentTag = tag %}
-    {% endif %}
-    {% set exportSearchTerm = null %}
-    {% if searchTerm is defined %}
-        {% set exportSearchTerm = searchTerm %}
-    {% endif %}
-    {% set previousRoute = app.request.attributes.get('currentRoute') %}
-        <h2>{{ 'entry.list.export_title'|trans }}</h2>
-        <a href="javascript: void(null);" id="download-form-close" class="close-button--popup close-button">&times;</a>
-        <ul>
-            {% if craue_setting('export_epub') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'epub', 'tag' : currentTag, 'search_entry[term]' : exportSearchTerm, 'currentRoute' : previousRoute }) }}">EPUB</a></li>{% endif %}
-            {% if craue_setting('export_mobi') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'mobi', 'tag' : currentTag, 'search_entry[term]' : exportSearchTerm, 'currentRoute' : previousRoute  }) }}">MOBI</a></li>{% endif %}
-            {% if craue_setting('export_pdf') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'pdf', 'tag' : currentTag, 'search_entry[term]' : exportSearchTerm, 'currentRoute' : previousRoute  }) }}">PDF</a></li>{% endif %}
-            {% if craue_setting('export_json') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'json', 'tag' : currentTag, 'search_entry[term]' : exportSearchTerm, 'currentRoute' : previousRoute  }) }}">JSON</a></li>{% endif %}
-            {% if craue_setting('export_csv') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'csv', 'tag' : currentTag, 'search_entry[term]' : exportSearchTerm, 'currentRoute' : previousRoute  }) }}">CSV</a></li>{% endif %}
-            {% if craue_setting('export_txt') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'txt', 'tag' : currentTag, 'search_entry[term]' : exportSearchTerm, 'currentRoute' : previousRoute  }) }}">TXT</a></li>{% endif %}
-            {% if craue_setting('export_xml') %}<li class="bold"><a class="waves-effect" href="{{ path('export_entries', { 'category': currentRoute, 'format': 'xml', 'tag' : currentTag, 'search_entry[term]' : exportSearchTerm, 'currentRoute' : previousRoute  }) }}">XML</a></li>{% endif %}
-        </ul>
-    </aside>
-
-    <!-- Filter -->
-    {% if form is not null %}
-    <div id="filters">
-        <form method="get" action="{{ path('all') }}">
-            <h2>{{ 'entry.filters.title'|trans }}</h2>
-            <a href="javascript: void(null);" id="filter-form-close" class="close-button--popup close-button">&times;</a>
-
-            <div id="filter-status" class="filter-group">
-                {% if currentRoute != 'untagged' and nbEntriesUntagged != 0 %}
-                    <div class="">
-                        <a href="{{ path('untagged') }}">{{ 'tag.list.see_untagged_entries'|trans }} ({{nbEntriesUntagged}})</a>
-                    </div>
-                {% endif %}
-
-                <div class="">
-                    <label>{{ 'entry.filters.status_label'|trans }}</label>
-                </div>
-                <div class="input-field">
-                    {{ form_widget(form.isArchived) }}
-                    {{ form_label(form.isArchived) }}
-                </div>
-
-                <div class="input-field">
-                    {{ form_widget(form.isStarred) }}
-                    {{ form_label(form.isStarred) }}
-                </div>
-
-                <div class="input-field">
-                    {{ form_widget(form.isUnread) }}
-                    {{ form_label(form.isUnread) }}
-                </div>
-
-                <div class="input-field">
-                    {{ form_widget(form.previewPicture) }}
-                    {{ form_label(form.previewPicture) }}
-                </div>
-
-                <div class="input-field">
-                    {{ form_widget(form.isPublic) }}
-                    {{ form_label(form.isPublic) }}
-                </div>
-            </div>
-
-            <div id="filter-language" class="filter-group">
-                {{ form_label(form.language) }}
-                <div class="input-field ">
-                    {{ form_widget(form.language) }}
-                </div>
-            </div>
-
-            <div id="filter-http-status" class="filter-group">
-                {{ form_label(form.httpStatus) }}
-                <div class="input-field ">
-                    {{ form_widget(form.httpStatus) }}
-                </div>
-            </div>
-
-            <div id="filter-reading-time" class="filter-group">
-                <div class="">
-                    {{ form_label(form.readingTime) }}
-                </div>
-                <div class="input-field ">
-                    <label for="entry_filter_readingTime_left_number">{{ 'entry.filters.reading_time.from'|trans }}</label>
-                    {{ form_widget(form.readingTime.left_number, {'type': 'number'}) }}
-                </div>
-                <div class="input-field ">
-                    <label for="entry_filter_readingTime_right_number">{{ 'entry.filters.reading_time.to'|trans }}</label>
-                    {{ form_widget(form.readingTime.right_number, {'type': 'number'}) }}
-                </div>
-            </div>
-
-            <div id="filter-domain-name" class="filter-group">
-                {{ form_label(form.domainName) }}
-                <div class="input-field ">
-                    {{ form_widget(form.domainName, {'type': 'text', 'attr' : {'placeholder': 'website.com'} }) }}
-                </div>
-            </div>
-
-            <div id="filter-creation-date" class="filter-group">
-                <div class="">
-                    {{ form_label(form.createdAt) }}
-                </div>
-                <div class="input-field ">
-                    <label for="entry_filter_createdAt_left_date" class="active">{{ 'entry.filters.created_at.from'|trans }}</label>
-                    {{ form_widget(form.createdAt.left_date, {'type': 'date', 'attr': {'class': 'datepicker', 'data-value': form.createdAt.left_date.vars.value} }) }}
-                </div>
-                <div class="input-field ">
-                    <label for="entry_filter_createdAt_right_date" class="active">{{ 'entry.filters.created_at.to'|trans }}</label>
-                    {{ form_widget(form.createdAt.right_date, {'type': 'date', 'attr': {'class': 'datepicker', 'data-value': form.createdAt.right_date.vars.value} }) }}
-                </div>
-            </div>
-
-            <div id="filter-buttons" class="filter-group">
-                <div class="">
-                    <a href="#!" class="center waves-effect waves-green btn-flat" id="clear_form_filters">{{ 'entry.filters.action.clear'|trans }}</a>
-                </div>
-
-                <button class="btn waves-effect waves-light" type="submit" id="submit-filter" value="filter">{{ 'entry.filters.action.filter'|trans }}</button>
-            </div>
-        </form>
-    </div>
-    {% 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
deleted file mode 100644 (file)
index c2e69a2..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-{% extends "WallabagCoreBundle::layout.html.twig" %}
-
-{% block title %}{{ entry.title|e|default('entry.default_title'|trans)|raw }} ({{ entry.domainName|removeWww }}){% endblock %}
-
-{% block content %}
-    <div id="article">
-        <header class="mbm">
-            <h1><span{% if entry.language is defined and entry.language is not null %} lang="{{ entry.getHTMLLanguage() }}"{% endif %}>{{ entry.title|e|default('entry.default_title'|trans)|raw }}</span> <a href="{{ path('edit', { 'id': entry.id }) }}" class="nostyle" title="{{ 'entry.view.edit_title'|trans }}">✎</a></h1>
-        </header>
-
-        <div id="article_toolbar">
-            <ul class="links">
-                <li class="topPosF"><a href="#top" title="{{ 'entry.view.left_menu.back_to_top'|trans }}" class="tool top icon icon-arrow-up-thick"><span>{{ 'entry.view.left_menu.set_as_read'|trans }}</span></a></li>
-                <li><a href="{{ entry.url|e }}" target="_blank" rel="noopener" title="{{ 'entry.view.original_article'|trans }} : {{ entry.title|e }}" class="tool link icon icon-link original"><span>{{ entry.domainName|removeWww }}</span></a></li>
-                <li><a title="{{ 'entry.view.left_menu.re_fetch_content'|trans }}" class="tool icon icon-reload" href="{{ path('reload_entry', { 'id': entry.id }) }}"><span>{{ 'entry.view.left_menu.re_fetch_content'|trans }}</span></a></li>
-
-                {% set markAsReadLabel = 'entry.view.left_menu.set_as_unread' %}
-                {% if entry.isArchived == 0 %}
-                    {% set markAsReadLabel = 'entry.view.left_menu.set_as_read' %}
-                {% endif %}
-
-                <li><a title="{{ markAsReadLabel|trans }}" class="tool icon icon-check {% if entry.isArchived == 0 %}archive-off{% else %}archive{% endif %} markasread" href="{{ path('archive_entry', { 'id': entry.id }) }}"><span>{{ markAsReadLabel|trans }}</span></a></li>
-                <li><a title="{{ 'entry.view.left_menu.set_as_starred'|trans }}" class="tool icon icon-star {% if entry.isStarred == 0 %}fav-off{% else %}fav{% endif %} favorite" href="{{ path('star_entry', { 'id': entry.id }) }}"><span>{{ 'entry.view.left_menu.set_as_starred'|trans }}</span></a></li>
-                <li><a id="nav-btn-add-tag" class="tool icon icon-price-tags" title="{{ 'entry.view.left_menu.add_a_tag'|trans }}"><span>{{ 'entry.view.left_menu.add_a_tag'|trans }}</span></a></li>
-                <li><a title="{{ 'entry.view.left_menu.delete'|trans }}" onclick="return confirm('{{ 'entry.confirm.delete'|trans|escape('js') }}')" class="tool delete icon icon-trash" href="{{ path('delete_entry', { 'id': entry.id }) }}"><span>{{ 'entry.view.left_menu.delete'|trans }}</span></a></li>
-                {% if craue_setting('share_public') %}
-                    <li><a href="{{ path('share', {'id': entry.id }) }}" target="_blank" class="tool icon icon-eye" title="{{ 'entry.view.left_menu.public_link'|trans }}"><span>{{ 'entry.view.left_menu.public_link'|trans }}</span></a></li>
-                    <li><a href="{{ path('delete_share', {'id': entry.id }) }}" class="tool icon icon-no-eye" title="{{ 'entry.view.left_menu.delete_public_link'|trans }}"><span>{{ 'entry.view.left_menu.delete_public_link'|trans }}</span></a></li>
-                {% endif %}
-                {% if craue_setting('share_twitter') %}<li><a href="https://twitter.com/share?text={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@wallabagapp" target="_blank" rel="noopener" class="tool twitter icon icon-twitter" title="Tweet"><span>Tweet</span></a></li>{% endif %}
-                {% if craue_setting('share_mail') %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&amp;body={{ entry.url|url_encode }}%20via%20@wallabagapp" class="tool email icon icon-mail" title="Email"><span>Email</span></a></li>{% endif %}
-                {% if craue_setting('share_shaarli') %}<li><a href="{{ craue_setting('shaarli_url') }}/index.php?post={{ entry.url|url_encode }}&amp;title={{ entry.title|url_encode }}&amp;tags={{ entry.tags|join(',')|url_encode }}{% if craue_setting('shaarli_share_origin_url') %}&amp;original_url={{ entry.originUrl|url_encode }}{% endif %}" target="_blank" rel="noopener" class="tool icon-image icon-image--shaarli" title="shaarli"><span>shaarli</span></a></li>{% endif %}
-                {% if craue_setting('share_scuttle') %}<li><a href="{{ craue_setting('scuttle_url') }}/bookmarks.php?action=add&amp;address={{ entry.url|url_encode }}&amp;title={{ entry.title|url_encode }}&amp;tags={{ entry.tags|join(',')|url_encode }}" target="_blank" rel="noopener" class="tool icon-image icon-image--scuttle" title="scuttle"><span>scuttle</span></a></li>{% endif %}
-                {% if craue_setting('share_diaspora') %}<li><a href="{{ craue_setting('diaspora_url') }}/bookmarklet?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}&notes=&v=1&noui=1&jump=doclose" target="_blank" rel="noopener" class="tool diaspora icon-image icon-image--diaspora" title="diaspora"><span>diaspora</span></a></li>{% endif %}
-                {% if craue_setting('share_unmark') %}<li><a href="{{ craue_setting('unmark_url') }}/mark/add?url={{ entry.url|url_encode }}&amp;title={{entry.title|url_encode}}&amp;v=6" target="_blank" rel="noopener" class="tool unmark icon-image icon-image--unmark" title="unmark"><span>unmark.it</span></a></li>{% endif %}
-                {% if craue_setting('carrot') %}<li><a href="https://secure.carrot.org/GiveAndGetBack.do?url={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" class="tool carrot icon-image icon-image--carrot" target="_blank" rel="noopener" title="carrot"><span>Carrot</span></a></li>{% endif %}
-                {% if craue_setting('show_printlink') %}<li><a title="{{ 'entry.view.left_menu.print'|trans }}" class="tool icon icon-print" href="javascript: window.print();"><span>{{ 'entry.view.left_menu.print'|trans }}</span></a></li>{% endif %}
-                {% if craue_setting('export_epub') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'epub' }) }}" title="Generate ePub file">EPUB</a></li>{% endif %}
-                {% if craue_setting('export_mobi') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'mobi' }) }}" title="Generate Mobi file">MOBI</a></li>{% endif %}
-                {% if craue_setting('export_pdf') %}<li><a href="{{ path('export_entry', { 'id': entry.id, 'format': 'pdf' }) }}" title="Generate PDF file">PDF</a></li>{% endif %}
-                <li><a href="mailto:siteconfig@wallabag.org?subject=Wrong%20display%20in%20wallabag&amp;body={{ entry.url|url_encode }}" title="{{ 'entry.view.left_menu.problem.label'|trans }}" class="tool bad-display icon icon-delete"><span>{{ 'entry.view.left_menu.problem.label'|trans }}</span></a></li>
-            </ul>
-        </div>
-
-        <div id="article-informations">
-            <i class="tool icon icon-calendar" title="{{ 'entry.view.created_at'|trans }}">
-                {{ entry.createdAt|date('Y-m-d H:i') }}
-            </i>
-
-            {% if entry.publishedAt is not null %}
-                <i class="tool icon icon-pencil2" title="{{ 'entry.view.published_at'|trans }}">
-                    {{ entry.publishedAt|date('Y-m-d H:i') }}
-                </i>
-            {% endif %}
-
-            {% if entry.publishedBy is not empty %}
-                <i class="tool icon icon-users" title="{{ 'entry.view.published_by'|trans }}">
-                    {% for author in entry.publishedBy %}
-                        {{ author }}{% if not loop.last %}, {% endif %}
-                    {% endfor %}
-                </i>
-            {% endif %}
-
-            <i class="tool icon icon-time">
-                {% set readingTime = entry.readingTime / app.user.config.readingSpeed * 200 %}
-                {% if readingTime > 0 %}
-                    {{ 'entry.list.reading_time_minutes_short'|trans({'%readingTime%': readingTime|round}) }}
-                {% else %}
-                    {{ 'entry.list.reading_time_less_one_minute_short'|trans|raw }}
-                {% endif %}
-            </i>
-
-            <span class="tool link"><i class="material-icons">comment</i> {{ 'entry.view.annotations_on_the_entry'|transchoice(entry.annotations | length) }}</span>
-
-            {% if entry.originUrl is not empty %}
-                <i class="material-icons" title="{{ 'entry.view.provided_by'|trans }}">launch</i>
-                <a href="{{ entry.originUrl|e }}" target="_blank" rel="noopener" class="tool">
-                    {{ entry.originUrl|striptags|removeSchemeAndWww|truncate(32) }}
-                </a>
-            {% endif %}
-
-            <aside class="tags">
-                <div class="card-entry-tags">
-                {% for tag in entry.tags %}
-                    <span class="label-outline">
-                        <i class="material-icons">label_outline</i>
-                        <a href="{{ path('tag_entries', {'slug': tag.slug}) }}">{{ tag.label }}</a>
-                        <a href="{{ path('remove_tag', { 'entry': entry.id, 'tag': tag.id }) }}" onclick="return confirm('{{ 'entry.confirm.delete_tag'|trans|escape('js') }}')" class="nostyle">
-                            <i>✘</i>
-                        </a>
-                    </span>
-                {% endfor %}
-                </div>
-                <div class="input-field baggy-add-tag" style="display: none">
-                    {{ render(controller( "WallabagCoreBundle:Tag:addTagForm", { 'id': entry.id } )) }}
-                </div>
-            </aside>
-        </div>
-        <article{% if entry.language is defined and entry.language is not null %} lang="{{ entry.getHTMLLanguage() }}"{% endif %}>
-            {{ entry.content | raw }}
-        </article>
-    </div>
-
-    <script id="annotationroutes" type="application/json">
-    {
-        "prefix": "",
-        "urls": {
-            "create": "{{ path('annotations_post_annotation', { 'entry': entry.id }) }}",
-            "update": "{{ path('annotations_put_annotation', { 'annotation': 'idAnnotation' }) }}",
-            "destroy": "{{ path('annotations_delete_annotation', { 'annotation': 'idAnnotation' }) }}",
-            "search": "{{ path('annotations_get_annotations', { 'entry': entry.id }) }}"
-        },
-        "entryId": "{{ entry.id }}"
-    }
-    </script>
-{% 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 (file)
index 03768a3..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-{% extends "WallabagCoreBundle::layout.html.twig" %}
-
-{% block title %}{{ 'entry.new.page_title'|trans }}{% endblock %}
-
-{% block content %}
-    {{ render(controller( "WallabagCoreBundle:Entry:addEntryForm" )) }}
-{% 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 (file)
index 8c12906..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<form name="entry" method="post" action="{{ path('new_entry')}}">
-    {% if form_errors(form) %}
-        <span class="black-text">{{ form_errors(form) }}</span>
-    {% endif %}
-
-    {% if form_errors(form.url) %}
-        <span class="black-text">{{ form_errors(form.url) }}</span>
-    {% endif %}
-
-    {{ form_label(form.url) }}
-    {{ form_widget(form.url, { 'attr': {'autocomplete': 'off', 'placeholder': 'entry.new.placeholder'} }) }}
-
-    {{ form_rest(form) }}
-</form>
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 (file)
index 20821b6..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<form name="search" method="GET" action="{{ path('search')}}">
-    <h2>{{ 'menu.left.search'|trans }}</h2>
-    <a href="javascript: void(null);" id="search-form-close" class="close-button--popup close-button">&times;</a>
-    {% if form_errors(form) %}
-        <span class="black-text">{{ form_errors(form) }}</span>
-    {% endif %}
-
-    {% if form_errors(form.term) %}
-        <span class="black-text">{{ form_errors(form.term) }}</span>
-    {% endif %}
-
-    <input type="hidden" name="currentRoute" value="{{ currentRoute }}" />
-
-    {{ form_widget(form.term, { 'attr': {'autocomplete': 'off', 'placeholder': 'entry.search.placeholder'} }) }}
-
-    {{ form_rest(form) }}
-</form>
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 (file)
index 9959cc3..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-{% extends "WallabagCoreBundle::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 %}
-<main class="valign-wrapper">
-    <div class="valign row">
-        <div class="card sw">
-            <div class="center"><img src="{{ asset('wallassets/themes/_global/img/logo-w.png') }}" alt="wallabag logo" /></div>
-            <h2>{{ status_code }}: {{ status_text }}</h2>
-            <p>{{ exception.message }}</p>
-        </div>
-    </div>
-</main>
-{% endblock %}
-
-{% block footer %}
-{% 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 (file)
index 631bcb8..0000000
+++ /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 (file)
index 3db0787..0000000
+++ /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 (file)
index 882be43..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-{% extends "WallabagCoreBundle::layout.html.twig" %}
-
-{% block title %}{{ 'site_credential.page_title'|trans }}{% endblock %}
-
-{% block content %}
-
-    <div class="row">
-        <div class="col s12">
-            <div class="card-panel">
-                <div class="row">
-                    <div class="input-field col s12">
-                        <h4>{{ 'site_credential.edit_site_credential'|trans }}</h4>
-
-                        <div id="set6" class="col s12">
-                            {{ form_start(edit_form) }}
-                                {{ form_errors(edit_form) }}
-
-                                <div class="row">
-                                    <div class="input-field col s12">
-                                        {{ form_label(edit_form.host) }}
-                                        {{ form_errors(edit_form.host) }}
-                                        {{ form_widget(edit_form.host) }}
-                                    </div>
-                                </div>
-
-                                <div class="row">
-                                    <div class="input-field col s12">
-                                        {{ form_label(edit_form.username) }}
-                                        {{ form_errors(edit_form.username) }}
-                                        {{ form_widget(edit_form.username) }}
-                                    </div>
-                                </div>
-
-                                <div class="row">
-                                    <div class="input-field col s12">
-                                        {{ form_label(edit_form.password) }}
-                                        {{ form_errors(edit_form.password) }}
-                                        {{ form_widget(edit_form.password) }}
-                                    </div>
-                                </div>
-
-                                <br/>
-
-                                {{ form_widget(edit_form.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
-                                {{ form_widget(edit_form._token) }}
-                            </form>
-                            <p>
-                                {{ form_start(delete_form) }}
-                                    <button onclick="return confirm('{{ 'site_credential.form.delete_confirm'|trans|escape('js') }}')" type="submit" class="btn waves-effect waves-light red">{{ 'site_credential.form.delete'|trans }}</button>
-                                {{ form_end(delete_form) }}
-                            </p>
-                            <p><a class="waves-effect waves-light btn blue-grey" href="{{ path('site_credentials_index') }}">{{ 'site_credential.form.back_to_list'|trans }}</a></p>
-                        </div>
-                    </div>
-                </div>
-            </div>
-        </div>
-    </div>
-
-{% 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 (file)
index 324854a..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-{% extends "WallabagCoreBundle::layout.html.twig" %}
-
-{% block title %}{{ 'site_credential.page_title'|trans }}{% endblock %}
-
-{% block content %}
-
-    <div class="row">
-        <div class="col s12">
-            <div class="card-panel">
-                <div class="row">
-                    <div class="input-field col s12">
-                        <p class="help">{{ 'site_credential.description'|trans|raw }}</p>
-
-                        <table class="bordered">
-                            <thead>
-                                <tr>
-                                    <th>{{ 'site_credential.form.host_label'|trans }}</th>
-                                    <th>{{ 'site_credential.list.actions'|trans }}</th>
-                                </tr>
-                            </thead>
-                            <tbody>
-                            {% for credential in credentials %}
-                                <tr>
-                                    <td>{{ credential.host }}</td>
-                                    <td>
-                                        <a href="{{ path('site_credentials_edit', { 'id': credential.id }) }}">{{ 'site_credential.list.edit_action'|trans }}</a>
-                                    </td>
-                                </tr>
-                            {% endfor %}
-                            </tbody>
-                        </table>
-                        <br />
-                        <p>
-                            <a href="{{ path('site_credentials_new') }}" class="waves-effect waves-light btn">{{ 'site_credential.list.create_new_one'|trans }}</a>
-                        </p>
-                    </div>
-                </div>
-            </div>
-        </div>
-    </div>
-
-{% 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 (file)
index 3c008cd..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-{% extends "WallabagCoreBundle::layout.html.twig" %}
-
-{% block title %}{{ 'site_credential.page_title'|trans }}{% endblock %}
-
-{% block content %}
-
-    <div class="row">
-        <div class="col s12">
-            <div class="card-panel">
-                <div class="row">
-                    <div class="input-field col s12">
-                        <h4>{{ 'site_credential.new_site_credential'|trans }}</h4>
-
-                        <div id="set6" class="col s12">
-                            {{ form_start(form) }}
-                                {{ form_errors(form) }}
-
-                                <div class="row">
-                                    <div class="input-field col s12">
-                                        {{ form_label(form.host) }}
-                                        {{ form_errors(form.host) }}
-                                        {{ form_widget(form.host) }}
-                                    </div>
-                                </div>
-
-                                <div class="row">
-                                    <div class="input-field col s12">
-                                        {{ form_label(form.username) }}
-                                        {{ form_errors(form.username) }}
-                                        {{ form_widget(form.username) }}
-                                    </div>
-                                </div>
-
-                                <div class="row">
-                                    <div class="input-field col s12">
-                                        {{ form_label(form.password) }}
-                                        {{ form_errors(form.password) }}
-                                        {{ form_widget(form.password) }}
-                                    </div>
-                                </div>
-
-                                {{ form_widget(form.save, {'attr': {'class': 'btn waves-effect waves-light'}}) }}
-                                {{ form_rest(form) }}
-                            </form>
-                            <p><a class="waves-effect waves-light btn blue-grey" href="{{ path('site_credentials_index') }}">{{ 'site_credential.form.back_to_list'|trans }}</a></p>
-                        </div>
-                    </div>
-                </div>
-            </div>
-        </div>
-    </div>
-
-{% 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 (file)
index 6e55256..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<form name="tag" method="post" action="{{ path('new_tag', { 'entry': entry.id })}}">
-    {% if form_errors(form) %}
-        <span class="black-text">{{ form_errors(form) }}</span>
-    {% endif %}
-
-    {% if form_errors(form.label) %}
-        <span class="black-text">{{ form_errors(form.label) }}</span>
-    {% endif %}
-
-    {{ form_widget(form.label, { 'attr': {'autocomplete': 'off'} }) }}
-
-    {{ form_rest(form) }}
-</form>
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 (file)
index aa17b84..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-{% extends "WallabagCoreBundle::layout.html.twig" %}
-
-{% block title %}{{ 'tag.page_title'|trans }}{% endblock %}
-
-{% block content %}
-    <div class="results">
-        <div class="nb-results">{{ 'tag.list.number_on_the_page'|transchoice(tags|length) }}</div>
-    </div>
-
-    <ul>
-    {% for tag in tags %}
-        <li id="tag-{{ tag.id|e }}">
-            <a href="{{ path('tag_entries', {'slug': tag.slug}) }}" data-handle="tag-link">{{ tag.label }}&nbsp;({{ tag.nbEntries }})</a>
-
-            {% if renameForms is defined and renameForms[tag.id] is defined %}
-            <form class="card-tag-form hidden" data-handle="tag-rename-form" action="{{ path('tag_rename', {'slug': tag.slug})}}" method="POST">
-                {{ form_widget(renameForms[tag.id].label, {'attr': {'value': tag.label}}) }}
-                {{ form_rest(renameForms[tag.id]) }}
-            </form>
-            <a class="card-tag-rename" data-handler="tag-rename" href="javascript:void(0);">
-                <i class="material-icons">mode_edit</i>
-            </a>
-            {% endif %}
-            {% if app.user.config.feedToken %}
-                <a rel="alternate" type="application/atom+xml" href="{{ path('tag_feed', {'username': app.user.username, 'token': app.user.config.feedToken, 'slug': tag.slug}) }}" class="right">
-                    <i class="material-icons md-24">rss_feed</i>
-                </a>
-            {% endif %}
-        </li>
-    {% endfor %}
-    </ul>
-
-    <div>
-        {% if nbEntriesUntagged == 0 %}
-            {{ 'tag.list.no_untagged_entries'|trans }}
-        {% else %}
-            <a href="{{ path('untagged') }}">{{ 'tag.list.see_untagged_entries'|trans }} ({{nbEntriesUntagged}})</a>
-        {% endif %}
-    </div>
-{% 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 (file)
index 6b1e2bd..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-{% extends "WallabagCoreBundle::base.html.twig" %}
-
-{% block css %}
-    {{ parent() }}
-    {% if not app.debug %}
-        <link rel="stylesheet" href="{{ asset('wallassets/baggy.css') }}">
-    {% endif %}
-{% endblock %}
-
-{% block scripts %}
-    {{ parent() }}
-    <script src="{{ asset('wallassets/baggy' ~ (app.debug ? '.dev' : '') ~ '.js') }}"></script>
-{% endblock %}
-
-{% block header %}
-    <header class="w600p center mbm">
-        <h1 class="logo">
-            {% block logo %}
-                <a title="{{ 'menu.left.back_to_unread'|trans }}" href="{{ path('unread') }}">
-                    <img width="100" height="100" src="{{ asset('wallassets/themes/_global/img/logo-w.png') }}" alt="wallabag logo" />
-                </a>
-            {% endblock %}
-        </h1>
-    </header>
-{% endblock %}
-
-{% block menu %}
-    <button id="menu" class="icon icon-menu desktopHide"><span>Menu</span></button>
-    <ul id="links" class="links">
-        <li class="menu unread"><a href="{{ path('unread') }}">{{ 'menu.left.unread'|trans }}</a></li>
-        <li class="menu starred"><a href="{{ path('starred') }}">{{ 'menu.left.starred'|trans }}</a></li>
-        <li class="menu archive"><a href="{{ path('archive') }}">{{ 'menu.left.archive'|trans }}</a></li>
-        <li class="menu all"><a href="{{ path('all') }}">{{ 'menu.left.all_articles'|trans }}</a></li>
-        <li class="menu tag"><a href="{{ path('tag') }}">{{ 'menu.left.tags'|trans }}</a></li>
-        <li class="menu new"><a href="{{ path('new') }}">{{ 'menu.left.save_link'|trans }}</a></li>
-        <li style="position: relative;"><a href="javascript: void(null);" id="search">{{ 'menu.left.search'|trans }}</a>
-            <div id="search-form" class="messages info popup-form">
-                {{ render(controller("WallabagCoreBundle:Entry:searchForm", {'currentRoute': app.request.attributes.get('_route')})) }}
-            </div>
-        </li>
-        {% if craue_setting('restricted_access') %}
-        <li class="menu site_credentials"><a href="{{ path('site_credentials_index') }}">{{ 'menu.left.site_credentials'|trans }}</a></li>
-        {% endif %}
-        <li class="menu config"><a href="{{ path('config') }}">{{ 'menu.left.config'|trans }}</a></li>
-        {% if is_granted('ROLE_SUPER_ADMIN') %}
-            <li class="menu users"><a href="{{ path('user_index') }}">{{ 'menu.left.users_management'|trans }}</a></li>
-            <li class="menu internal"><a href="{{ path('craue_config_settings_modify') }}">{{ 'menu.left.internal_settings'|trans }}</a></li>
-        {% endif %}
-        <li class="menu import"><a href="{{ path('import') }}">{{ 'menu.left.import'|trans }}</a></li>
-        <li class="menu howto"><a href="{{ path('howto') }}">{{ 'menu.left.howto'|trans }}</a></li>
-        <li class="menu developer"><a href="{{ path('developer') }}">{{ 'menu.left.developer'|trans }}</a></li>
-        <li class="menu about"><a href="{{ path('about') }}">{{ 'footer.wallabag.about'|trans }}</a></li>
-        <li class="menu quickstart"><a href="{{ path('quickstart') }}">{{ 'menu.left.quickstart'|trans }}</a></li>
-        <li class="menu logout"><a class="icon icon-power" href="{{ path('fos_user_security_logout') }}">{{ 'menu.left.logout'|trans }}</a></li>
-    </ul>
-{% endblock %}
-
-{% block messages %}
-    {% for flashMessage in app.session.flashbag.get('notice') %}
-        <div class="messages success">
-            <a href="#" class="closeMessage">×</a>
-            <p>{{ flashMessage|trans }}</p>
-        </div>
-    {% endfor %}
-{% endblock %}
-
-{% block footer %}
-    <footer class="w600p center mt3 mb3 smaller txtright">
-        <p>{{ 'footer.wallabag.powered_by'|trans }} <a href="http://wallabag.org">wallabag</a></p>
-    </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 (executable)
index 19cd24b..0000000
Binary files a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/screenshot.jpg and /dev/null differ
index d8e9694d5ce16be5fd73e06ace424fa171b81c03..212e08a967e527ef5049c9403d5393d7128f516b 100644 (file)
                                         « {{ tagging_rule.rule }} »
                                         {{ 'config.form_rules.then_tag_as_label'|trans }}
                                         « {{ tagging_rule.tags|join(', ') }} »
-                                        <a href="{{ path('edit_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.edit_rule_label'|trans }}">
+                                        <a class="edit-rule" href="{{ path('edit_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.edit_rule_label'|trans }}">
                                             <i class="tool grey-text mode_edit material-icons">mode_edit</i>
                                         </a>
-                                        <a href="{{ path('delete_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.delete_rule_label'|trans }}">
+                                        <a class="delete-rule" href="{{ path('delete_tagging_rule', {id: tagging_rule.id}) }}" title="{{ 'config.form_rules.delete_rule_label'|trans }}">
                                             <i class="tool grey-text delete material-icons">delete</i>
                                         </a>
                                     </li>
index fa93c9c21aaba0341610a12f095b15077c4eeabc..39fa48fea554338d709ec5c41e8c5726c2827d1e 100644 (file)
@@ -49,7 +49,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',
@@ -68,7 +68,6 @@ class ConfigControllerTest extends WallabagCoreTestCase
     public function testChangeReadingSpeed()
     {
         $this->logInAs('admin');
-        $this->useTheme('baggy');
         $client = $this->getClient();
 
         $entry = new Entry($this->getLoggedInUser());
@@ -115,7 +114,7 @@ class ConfigControllerTest extends WallabagCoreTestCase
     {
         return [
             [[
-                'config[theme]' => 'baggy',
+                'config[theme]' => 'material',
                 'config[items_per_page]' => '',
                 'config[language]' => 'en',
             ]],
@@ -435,7 +434,6 @@ class ConfigControllerTest extends WallabagCoreTestCase
     public function testTaggingRuleCreation()
     {
         $this->logInAs('admin');
-        $this->useTheme('baggy');
         $client = $this->getClient();
 
         $crawler = $client->request('GET', '/config');
@@ -457,7 +455,7 @@ class ConfigControllerTest extends WallabagCoreTestCase
 
         $this->assertContains('flashes.config.notice.tagging_rules_updated', $crawler->filter('body')->extract(['_text'])[0]);
 
-        $editLink = $crawler->filter('.mode_edit')->last()->link();
+        $editLink = $crawler->filter('.edit-rule')->last()->link();
 
         $crawler = $client->click($editLink);
         $this->assertSame(302, $client->getResponse()->getStatusCode());
@@ -482,7 +480,7 @@ class ConfigControllerTest extends WallabagCoreTestCase
 
         $this->assertContains('readingTime <= 30', $crawler->filter('body')->extract(['_text'])[0]);
 
-        $deleteLink = $crawler->filter('.delete')->last()->link();
+        $deleteLink = $crawler->filter('.delete-rule')->last()->link();
 
         $crawler = $client->click($deleteLink);
         $this->assertSame(302, $client->getResponse()->getStatusCode());
@@ -966,19 +964,18 @@ class ConfigControllerTest extends WallabagCoreTestCase
     public function testSwitchViewMode()
     {
         $this->logInAs('admin');
-        $this->useTheme('baggy');
         $client = $this->getClient();
 
         $client->request('GET', '/unread/list');
 
-        $this->assertNotContains('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->assertContains('listmode', $client->getResponse()->getContent());
+        $this->assertContains('collection', $client->getResponse()->getContent());
 
         $client->request('GET', '/config/view-mode');
     }
index 8960dd2571cfb809abcd9da8cd1f98fd54120a93..dce74551f606d43dd3c69501ff116a06e50792c6 100644 (file)
@@ -73,20 +73,6 @@ class EntryControllerTest extends WallabagCoreTestCase
         $this->assertContains('entry.list.number_on_the_page', $body[0]);
     }
 
-    public function testGetNew()
-    {
-        $this->logInAs('admin');
-        $this->useTheme('baggy');
-        $client = $this->getClient();
-
-        $crawler = $client->request('GET', '/new');
-
-        $this->assertSame(200, $client->getResponse()->getStatusCode());
-
-        $this->assertCount(1, $crawler->filter('input[type=url]'));
-        $this->assertCount(1, $crawler->filter('form[name=entry]'));
-    }
-
     public function testPostNewViaBookmarklet()
     {
         $this->logInAs('admin');
index 8a8ec3cf6d7f016f447a6299150f6d9f2fbf7d08..9d31fe9298c3966738b294ba923df4e56c2b8883 100644 (file)
@@ -31,7 +31,7 @@ class CreateConfigListenerTest extends TestCase
 
         $this->listener = new CreateConfigListener(
             $this->em,
-            'baggy',
+            'material',
             20,
             50,
             'fr',
@@ -60,7 +60,7 @@ class CreateConfigListenerTest extends TestCase
         );
 
         $config = new Config($user);
-        $config->setTheme('baggy');
+        $config->setTheme('material');
         $config->setItemsPerPage(20);
         $config->setFeedLimit(50);
         $config->setLanguage('fr');